A new small computer that won't limit you tomorrow * New Cromemco System One shown with our high-capability terminal and printer. M&m Expandability 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 14Vb" 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 rjj Cromemco 280 BERNARDO AVE., MOUNTAIN VIEW, CA 94040 • (415) 964-7400 Tomorrow's computers today Circle 108 on Inquiry card. Management Information Display Ultrasonic heart sector scan Process Control Get the professional color display that has basic/fortran simplicity LOW-PRICED, TOO Here's a color display that has everything: professional-level resolution, enormous color range, easy software, NTSC conformance, and low price. Basically, this new Cromemco Model SDI* is a two-board interface that plugs into any Cromemco computer. The SDI then maps computer display memory content onto a convenient color monitor to give high-quality, high- resolution displays (756 H x 482 V pixels). When we say the SDI results in a high- quality professional display, we mean you can't get higher resolution than this system offers in an NTSC-conforming display. The resolution surpasses that of a color TV picture. BASIC/FORTRAN programming Besides its high resolution and low price, the new SDI lets you control with optional Cromemco software packages that use simple BASIC- and FORTRAN- like commands. Pick any of 16 colors (from a 4096-color palette) with instructions like DEFCLR (c, R, G, B). Or obtain a circle of specified size, location, and color with XCIRC (x, y, r, c). •U.S. Pat. No. 4121283 Model SOI High-Resolution Color Graphics Interface HIGH RESOLUTION The SDI's high resolution gives a professional-quality display that strictly meets NTSC requirements. You get 756 pixels on every visible line of the NTSC standard display of 482 image lines. Ver- tical line spacing is 1 pixel. To achieve the high-quality display, a separate output signal is produced for each of the three component colors (red, green, blue). This yields a sharper image than is possible using an NTSC-composite video signal and color TV set. Full image quality is readily realized with our high- quality RGB Monitor or any conventional red/green/blue monitor common in TV work. z-za ■ MM fafpRM Model SDI plugs into Z-2H 11-megabyte hard disk computer or any Cromemco computer DISPLAY MEMORY Along with the SDI we also offer an optional fast and novel two-port memory that gives independent high-speed access to the computer memory. The two-port memory stores one full display, permit- ting fast computer operation even during display. CONTACT YOUR REP NOW The Model SDI has been used in scien- tific work, engineering, business, TV, color graphics, and other areas. It's a good example of how Cromemco keeps computers in the field up to date, since it turns any Cromemco computer into an up-to-date color display computer. The SDI has still more features that you should be informed about. So contact your Cromemco representative now and see all that the SDI will do for you. Q Cromemco Incorporated 280 BERNARDO AVE., MOUNTAIN VIEW, CA 94040 • (415)964-7400 Tomorrow's computers today Circle 109 on Inquiry card. In The Queue Volume 6, Number 10 October ! 98 1 Features ZO The IBM Personal Computer: First Impressions by Phil Lemmons / The computer giant embraces software compatibility and support for in- dependent peripheral manufacturers. 3b Build an Intelligent EPROM Programmer by Steve Ciarcia I Wilh a Z8-BASIC Microcomputer, you can easily put together a versatile programmer for 27 1 6 EPROMs. 5U Ultra-Low-Cost Network for Personal Computers by Ken Clements and Dave Daugherty / The age of communication for personal com- puters has arrived; don't be left behind. #U The Atari Tutorial, Part 2: Graphics Indirection by Chris Crawford / Graphics indirection lets you quickly change the colors used in the video display and redefine the Atari character set. J (L Local-Area Networks, Possibilities for Personal Computers by Dr Harry J Saal / The "one person, one computer" concept is improved with communications. 1 1 *T Prepare Your Program for Publication by C A Johnson / A checklist of professional touches that can make software sell. 126 Software Protection In the United Kingdom by Martin Hayman / A London conference confronts the problem of software piracy. I 4v Network Tools, Ideas for Intelligent Network Software by Peter B Reintjes / A set of general modules provides a basis for networking. 176 A Simple Implementation of Multitasking by Wendell Brown / A little SLEEP can go a long way. 195 Tree Searching, Part 2: Heuristic Techniques by Gregg Williams / Admissible algorithms allow you to find an optimal solution without an ex- haustive search of the state-space tree. 214 Drawing with UCSD Pascal and the Hlplot Plotter by Dr James Stork / Some UCSD plotting routines that can be linked to any Pascal program. 2 SO Evaluate Your Home's Energy Efficiency, Conserve Energy with Your Computer by Kimball Beasley / Use your computer to lower those budget-breaking heat bills. 264 Bridging the 10-Percent Gap by Paul T Brady / Software problems can hold back a small-business data-processing explosion. Zo4 Graphics Fundamentals by Kathleen Bresnahan Sandifur/A company logo is the vehicle for understanding windows and scaling. 400 Build a Versatile Keyboard Interface for the S-100 by David R Richards / A device that lets you communicate with your microcomputer 4w # PERT Organization by W Douglas Maurer / A mathematical method used by computer programmers to determine the relative importance of the tasks under their supervision. 413 Should the DO Loop Become an Assembly-Language Con- struct? by Glenn L Williams / innovative instructions can forestall the "software 430 Multiple Regression for the TRS-80 by Douglas William Madron / On converting the mathematics of linear regression into a general-purpose BASIC program, 448 Bits and Bytes In Pascal, and Other Binary Wonders by David Casseres / Put UCSD Pascal through its paces to ease programming and have fun. 45B Apple Analog-to-Dlgltal Conversion In 27 Microseconds by Michael A Seeds / Build this high-speed. 1 0-bit analog-to-digital converter for your Apple for less than S 100. 462 PS— A FORTH-LIke Threaded Language, Part I by Vafo G Motalygo / PS allows assembly-language code and high-level code to be mixed. Reviews 86 Atari's Telelink I by Glen Flint 378 Integral Data's Paper Tiger 460 by Eliakim Willner 383 The Mauro Proac Plotter by Mark Dahmke 385 The Radio Shack FORTRAN Package by Tim Daneliuk Nucleus 6 10 122, 302 304 306 316 324 332 332, 342 356, 366, 372 471 526 527 528 Editorial Letters 278, 334, 354, 467System Notes: List Pager; Discover the Machine Beneath the Machine, A Z80 Monitor Pro- gram; A Closer Look at the TRS-80 Color Computer; Two Short Graphics Programs for the OSI C-IP; Recursive Pro- cedures for the 6502 Microprocessor Software Received Books Received BYTELINES Ask BYTE Event Queue Clubs and Newsletters 375 BYTE's Bits Book Reviews: Four Roads to Understanding Radio Shack's TRS-80 376, 419 Programming Quickies: Memory Manipulator. Eliminate Hex-a-Phobia; A Fast, Ancient Method for Multiplication; Apple Pascal Cross-Reference 391, 394 Technical Forums: Use a Relative Subroutine Call for Relocatable Z80 Programs: The Variable-Duty-Cycle Algorithm; Dynamic Simulation in BASIC Languages Forum: BASIC, Pascal, or Tiny-c? A Simple Benchmarking Comparison What's New? Unclassified Ads Reader Service BOMB, BOMB Results BITE Page 36 Page 70 Page 264 Page 400 October 1981 © BYTE Publications Inc 3 fffilH 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 Dahmke. Philip Lemmons, Consulting Editors; Jon Swanson, Draftsman Copy Editors Beverly Cronin. Chief; Faith Hanson; Warren Williamson; Anthony J Lockwood; Ann Graves; Jane Harrigan; David R Anderson Assistants Faith Ferry; Debe Wheeler; Karen A Cilley; Susan Ferber Production Nancy Estle, Director; Christine Destrempes, Asst Director; Jonathan M Graves. Creative Consultant; Wai Chiu Li; Patrice Scribner; Karen Labaugh: Damian Henriques; Jan Muller; Sherry McCarthy. Chief Typographer; Debi Fredericks. Donna Sweeney: Valerie Horn Advertising Thomas Harvey. Director; Marion Carlson; Rob Hannings; Marilyn Williams: Deborah Porter; Vicki Reynolds; Barbara Hoy; 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; Carol Baniecki, Asst. Controller's Office Daniel Rodrigues, Controller; Mary E Fluhr. Acct. & DIP Mgr; Karen Burgess; Jeanne Cilley; Mary Beth Ireland; Linda Fluhr Traffic N Scott Gagnon; Michael Bacon; Cynthia Damato Receptionist Joanne Colburn Publishers Virginia Londoner; Gordon R Williamson; John E Hayes, Associate Publisher; Cheryl A Hurd. Publisher's Assistant; 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 Local-area networks are a means of sharing information and resources among many personal computers located within a relatively short distance of each other. As Robert Tinney's cover illustrates, each station in the network is linked physically to the others, but each also can operate independently. The local networks themselves need not operate in a void; gateways can link them with other networks thousands of miles away. To expand on this month's theme, we present an assortment of articles, in- cluding "Local-Area Networks: Possibilities for Personal Computers," "Ultra- Low-Cost Network for Personal Computers," and "Network Tools— Ideas for Intelligent Network Software." In addition, Steve Ciarcia helps you "Build an Intelligent EPROM Program- mer," and Martin Hayman discusses "Software Protection in the United Kingdom." We have "The Atari Tutorial, Part 2: Graphics Indirection," and C A Johnson advises on how to "Prepare Your Program for Publication." Of course, you can also enjoy our regular features and much more. 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. Controlled circulation postage paid at Waseca. Minnesota 56093 - USPS Publication No. 528890 (ISSN 0360-5280). Canadian second class registration number 932 i . Subscriptions are S 1 9 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. S 55 for three years. S43 for one year air delivery to Europe. S35 surface delivery elsewhere. Air delivery to selected areas at additional rates upon request. 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 © 1 98 1 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 01970. 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 WC1R 4EJ England. Subscription WATS Line: (800J 258-5485 Office hours: Mon-Thur 8:30 AM - 4:30 PM, Friday 8:30 AM - Noon, Eastern Time NATIONAL ADVERTISING SALES REPRESENTATIVES: NORTHEAST 161 7| 444-3946 Hajar Associates 280 Hillside Ave Needham Heights MA 02194 NORTHWEST (415) 964-0706 Hajar Associates lOOOEIwellCt, Suite 227 Palo Alto CA 94303 MIDWEST (312) 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 521 Fifth Ave New York NY 10017 SOUTHEAST (305) 886-7210 Hajar Associates 1220 Prairie Lane Apopka FL 32703 October 1981 © BYTE Publications Inc ". . .stands well above other S-100 graphics dis- plays in its price and per- formance range." " . . . better monochromatic . . . display . BYTE, Product Review ELECTRONIC DESIGN, 1981 Technology Forecast MICROANCELO HIGH RESOLUTION GRAPHICS SINGLE BOARD COMPUTER 512x480 resolution black and white and vivid color displays RS- 170 com- posite or direct drive output Local or external sync generation \ | - 4MhzZ80 microprocessor ■I Y V 60 hertz real- ■ ' time clock 8 level interrupt tie-in IEEE S100 bus compatible ,:■■ " -- ... m " .... I Ml «««iiiiiiiiiiiiiiiiiiiiiiffi;ii,S^i( - t . '■"„>„ ■•.-, , . Light pen interface Time multi- plexed refresh 4K resident Screenware™ Pak I operating system 32KRAM isolated from host address space High speed communications over parallel bus ports Screenware™ Pak I A 4K byte operating system resident in PROM on MicroAngelo™. Pak I emulates an 85 character by 40 line graphics terminal and provides over 40 graphics commands. Provisions exist for user defined character sets and directly callable user extensions to Screenware™ Pak I. Screenware™ Pak II An optional software superset of Pak I which adds circle generation, polygon flood, program- mable split screen for separate graphics and ter- minal I/O, relative coordinates, faster vector and character plotting, a macro facility, full UCSD Pascal compatibility, and more. And now. ..COLOR!! The new MicroAngelo™ Palette board treats from 2 to 8 MicroAngelos as "bit planes" at a full 512 x 480 resolution. Up to 256 colors may be chosen from 16.8 million through the program- mable color lookup table. Overlays, bit plane precedence, fade-in, fade-out, gray levels, blink- ing bit plane, and a highly visual color editor are standard. SCION Circle 328 on inquiry card. 12310 Pinecrest Road • Reston, VA 22091 • (703)476-6100 • TWX: 710-833-0684 Circle 122 on inquiry card. TM PLAN80 A powerful tool for planning and analysis I Version 2.0 featuring Graphic Analysis -4 + ^ PLAN80 is a modeling system for desktop computers. . . Easy to use yet capable of handling most timesharing applications. With any familiar word processor you can create models in terms that make it easy to review as- sumptions and methods with others. Anyone can create budg- ets, project sales, analyze cash flow or build a system of inter- related plans. PLAN80 has the power of big computer modeling systems and lets you • Produce both tables and graphs from same data • Change assumptions and recalculate results in seconds • Prepare reports exactly to your specifications • Consolidate any part of one model into another • Create models having up to 4,000 cells • Compute depreciation, inter- nal rate of return, or step functions using table lookup. PLAN80 requires 56K, CP/M and a Z80 or 8080 micro. Also availa- ble for CP/M-86. Price is $295. Manual alone-$30. SOFTWARE SOFW/IRE DIGIL4L/WRKETING DIGML/I44RKETING 2670 Cherry Lane • Walnut Creek • CA 94596 (415) 938-2880 Telex 171852 (DIGMKTG WNCK) CP/M & CP/M-86 trademarks Digital Research Editorial Local Networks Are Buzzing by Chris Morgan, Editor in Chief Buzzwords are a way of life in the computer industry, and the latest buzz- word (or, to be more correct, buzz-phrase) among computer cognoscenti is the local network. Networks in one form or another have been with us for some time. IBM's SNA network and the X25 public network from ISO (International Standards Organization), used by Tymenet and Telenet, are systems designed to transmit huge amounts of data over long distances. But recently a whole new industry has sprung up to serve personal computer owners who want to send electronic mail or share the other resources of a local network. This month we present several articles about local networks, including one written by Harry J Saal, President of Nestar Systems Inc, called "Local-Area Networks: Possibilities for Personal Computers." It's an excellent overview of local networks, their history, and the current state of the art. Much of the im- petus behind the blossoming local-network field comes from Ethernet, Xerox's high-end local network system that can transmit up to 10 megabits per second (Mbps) of information between users. You may have seen the recent television advertisements for the Ethernet system. Although Ethernet works well for large-scale systems employing minicom- puters or mainframes, it's a case of overkill for microcomputers, which have inherent speed limitations. Two local network schemes, both patterned in one way or another after Ethernet, now exist to serve the microcomputer market. One such network, made by Nestar, is described in detail by Dr. Saal. The other is a relative newcomer — Corvus's Omninet. Comparing Two Systems While the Nestar system, officially called the Cluster/One Model A, is designed exclusively for use with Apple II computers, the Omninet system allows users to mix and match such computers as the Apple II, Radio Shack's TRS-80, the Onyx, and computers using the LSI-11 processor and the S-100 bus. The data-transfer rate of the Omninet system is 1 Mbps, compared with Nestar's 240 kbps. Although Omninet is technically four times faster than the Nestar system, the numbers can be misleading because the actual amount of time spent transmitting or receiving data to and from the network usually represents only a fraction of the total computing time. Recent tests by Xerox of the Ethernet system bear out these results. Of more importance to the average user is the network's reliability and how easy it is to use. The Nestar system has been around for more than two years and has earned high marks for reliability and sophistication. It's particularly well suited to classroom use, and I have seen the system at work in many schools around the country. The Omninet system is just beginning to appear on the market, and we plan to review it in detail in a future issue of BYTE. Aside from its ability to handle a variety of computers, Omninet also offers the attraction of low price. The hardware cards for the Apple II, TRS-80, and October 1981 © BYTE Publications Inc New! Z Controller and Z Drives . . . Expect more from Percom. You won't be disappointed. Percom's double-density Z Controller for the H-89 is now available. Check its many outstanding features. And keep in mind its from Percom, a company that introduced its first disk system in 1977. • Controls up to four single- or double-headed mini-disk drives. • Handles 35-, 40-, 77- and 80-track drives, and other standard track densities. • Formatted data storage capacity of 80-track dis- kettes is over 368 Kbytes. Forty-track diskettes store over 184 Kbytes. Capacities for other track densities are proportional. A Z system with four double-headed, 80-track drives provides almost 3 megabytes of on-line data. • The Z Controller co-resides with your H-89 disk drive controller. Your software can select either, and you don't have to move drives around when switching be- tween systems. • The Z Controller includes Percom's proven dig- ital data separator circuit and a dependable write-precompensation circuit. Expect reliable disk operation for a long, long time under 'Z' control. • The Percom Z Controller is priced at only $249.95, com- plete with HDOS-compatible disk drivers on diskette, internal inter- connecting cable and comprehensive users manual. System requirements — H-89 Computer with 24 Kbytes memo- ry (min). Replacement ROM Kit H-88-7 and HDOS 2.0. Add-On Z Drives for H-89, H-8 Computers • Forty- and eighty-track densities in either 1- or 2-drive modules. • All drives are rated for single- and double^densiry operation. With a Z Controller, an 80-track drive can store over 364 Kbytes (for- matted, one-side), a 40-track drive can store over 184 Kbytes. • Some models permit "flippy" storage, letting you flip a diskette and store files on the second side. *Z drives are fully tested, includ- ing a 48-hour operating burn-in to prevent shipment of drives with latent defects. • Assembled and tested one-drive units from only $399, two-drive units from only $795. System requirements - H-89 or H-8 computer with 16-Kbyte RAM, Heath first-drive floppy disk system, HDOS and drives inter- connecting cable. (Two-drive interconnecting cable optionally available from Percom) PRICES AND SPECIFICATIONS SUBJECT TO CHANGE WITHOUT NOTICE. Watch for announcement of 'Z' CP/M. PEfiCDM PERCOM DATA COMPANY, INC. 211 N. KIRBY GARLAND, TEXAS 75042 (214) 272-3421 Toll-Free Order Number: 1-800-527-1592 S 1981 PERCOM DATA COMPANY. Inc. PERCOM. ZFD 40 and ZFD-80 are trademarks of Percom Data Company. CP/M is a trademark ol Digital Research Corporation. Yes ... I'd like to know more about Percom Z drives and the Z Controller. Rush me free literature. Send to PERCOM DATA COMPANY, Inc., Dept. 26 -B02 211 N. Kirby St. Garland TX 75042 city phone number MAIL TODAY! PROFESSIONAL PASCAL Pascal/ 4o0 SYMBOLIC DEBUGGER This fourth generation version of our reliable, Z-80 native code compiler adds the two features professionals ask for: ♦ SWAT™— an interactive symbolic Pascal debugger that allows easy error detection. ♦ Overlays— that allow larger programs to run in limited memory. A compiler for Professional programmers Pascal/Z is a true Pascal. It closely follows the Jensen and Wirth standard with a minimum of extensions designed to aid the serious program developer in producing extremely compact, bug-free code that runs FAST. Pascal/Z generates Z-80 native code that is ROMable and Re-entrant. Permits separate compilation, direct file access, external routines and includes a relocating macro assembler and Microsoft compatible linker. And code written for Pascal/Z is fully compatible with I'PAS 8000, our new native code Pascal compiler for Z-8000, to guarantee graceful migration to 16 bit operation. Get "The FACTS about Pascal" Confused about which Pascal to buy? Pseudo-code . . . Native code . . . M, MT or Z? Compare the unbiased benchmarks ^ in our new booklet. Don't buy a Pascal compiler until you've read it. *•> 'J* m Call us for a free copy: 800-847-2088 (outside NYS) or 607-257-0190 And ask your local full-service computer dealer about our Pascal/Z demo package. Micros for bigger ideas. Ithaca Intersystems Inc. 1650 Hanshaw Rd • Ithaca, NY 14850 • TWX 510 255-4346 U.K. Distributor: Ithaca Intersystems (U.K.) Ltd. Coleridge Road London N8 8ED Phone: 01-341 2447 Telex: 299568 Editorial. S-100-type computers cost less than $500 each, meaning that two interested networkers could assemble a minimal two-node network for less than $1000. The only addi- tional cost is for the twisted-pair wiring used to connect the two computers. No central control computer is needed to run the network. Data is transmitted on the Omninet in blocks of ASCII characters using software tools called pipes, reminiscent of the pipes used in the UNIX operating system but operating in a different manner. In this way, machines having incompatible operating systems (such as CP/M and UCSD Pascal) can communicate, albeit with some limitations. Comparing Nestar and Omninet is like comparing the proverbial apples and oranges (pun intended). Omninet is attractive for entry-level users, and it's the only choice if you want to combine various brands of computers. Although rumor has it that Nestar is expressing an in- terest in other brands of computers besides Apple, the company has made no official statement on the subject. Nestar has its own advantages, including its excellent track record. The file server used in the Nestar system is actually an Apple II computer, which can act as a spare if needed in the system. Also, Nestar offers extensive and well-documented software. The Nestar system requires 16-conductor ribbon cable for computer interconnection, compared with twisted-pair wire for the Omninet — a cost saving for the Omninet user. Corvus is actively promoting Omninet as an industry standard for microcomputers. Onyx already has bought an Omninet license, and the Japanese are reportedly in- terested in the network. (I recently saw a very interesting hobbyist-designed local network system at the offices of ASCII magazine in Japan. We hope to tell you about that in a future issue.) Siggraph '81 As I write this, the '81 conference of Siggraph (the ACM's special interest group for computer graphics) is in full swing in Dallas, and it's a winner all the way. Ken Livingston (who, with Mark Dahmke, reviewed Siggraph '80 for us last year) is on hand again, and his full report will appear later this year in BYTE. Without trying to steal Ken's thunder, I must say that never before have I seen such exciting portents for the future of computer graphics as I've seen in the last few days at this con- ference. The demonstrations of the latest computer animation left all previous efforts in their wake. The roster of attendees includes just about everyone doing meaningful work in the computer graphics field. I wish continued success to Siggraph, and I hope many of our readers can attend Siggraph '82, to be held in Boston next summer. For more information, write to Elaine Sonderegger, Siggraph '82 General Chairman, at POB 353, Derby CT 06418. ■ Circle 185 on inquiry card. The ultimate single user machine The PDS-80™ with Cache BIOS™ is a professional system designed for the most rigorous single user CP/M* environments ... in business, software development, scientific, educational and industrial research . . . where speed and program space are critical factors. SymBIOSis quadruples speed No matter what high-level language you use . . . Cobol, Basic, Fortran, PL/1, or Pascal . . . PDS-80 offers more speed, power and reliability than any other floppy based CP/M system currently on the market. The InterSystems Cache BIOS fully exploits the advanced DMA and interrupt features of our reliable Series II hardware to buffer whole tracks in extended memory so most operations run two to four times faster than on other floppy based systems . . . actually equals the speed of many small hard disk systems. And Cache BIOS also provides many sophisticated system test and protection features to assure reliable operation. An advanced CP/M application system PDS-80 has all you need for commercial systems integration and applications software development . . . including a choice of the industry's only integral 8 bit front panel. Best of all, PDS-80 allows the systems integrator or applications developer addressing a vertical market to develop on the same components he configures for resale. The highly expandable modular design with 20slot S-100 mainframe allows almost unlimited options to suit any end use environment . . . including a choice of tabletop or rackmount design. InterSystems will work with you at whatever level is appropriate to configure the target system you need . . . right up to fully assembled and tested systems with floppy and Winchester disk drives. Full software support In addition to InterSystems' Cache BIOS and the CP/M operating system, models of PDS-80 can include L J Pascal/Z, our highly acclaimed Z-80® native code Pascal compiler, and InterPak 80™, a special set of utilities including a powerful screen editor and versatile spelling editor to assist in the rapid editing, proofing and documentation of your code. These powerful programming aids are also available as standalone products. It's upgradeable! Both hardware and software are designed to provide for upgrade to 16 bit operation. Programs written for Pascal/Z are fully compatible with I-Pas 8000™, our Z-8000® native code compiler, and all PDS-80 systems are upgradeable to our 16 bit multi-user DPS-8000. We build micros for bigger ideas. Your big ideas. We're dedicated to providing the computer professional . . . Systems Integrators, commercial program developers, scientific and industrial programmers . . . with professional hardware and software tools. And we support our customers to the fullest, with complete, professional documentation, application engineering consultation, and prompt, responsive service both from the factory and through factory- authorized service centers. Call us toll free: 800-847-2088 for complete information on any of our 8 or 16 bit systems and software products Distributor Inquiries Invited ODDfeD&^feDDu^ \r Ithaca Intersystems Inc Circle 185 on Inquiry card. i Intersystems I Micros for bigger ideas. Ithaca Intersystems Inc. • 1650 Hanshaw Road • Ithaca, NY 14850 • Phone (607) 257-0190 • TWX: 510 255 4346 U.K. Distributor Ithaca Intersystems (U.K.)Ltd. Coleridge Road London N8 8ED Phone: 01-341 2447 Telex: 299568 "Z-HU and Z-8000 are registered trademarks ol'Zilog, Inc. "Trademarks of Ithaca Intersystems Inc. 'Registered trademark of Digital Research Letters Clearing Waveforms I enjoyed reading Robin Moore's article "Mountain Computer's MusicSystem" (July 1981 BYTE, page 60). There may be some confusion, however, about the way the Casheab synthesizer handles wave- form storage. With the Casheab syn- thesizer, waveforms are stored on the syn- thesizer cards and not in the host memory. This was done for three reasons: • The Casheab synthesizer uses 1024 words by 12 bits for each of its 16 waveforms. This requires 25 K bytes of memory, which would be a considerable chunk of memory space if the waveforms were stored in the host's memory space. • When the waveforms are stored in the host's memory, processor time is going to be required to transfer them to the syn- thesizer. The MusicSystem uses DMA (direct memory access), which is probably the most efficient way to make the trans- fer. However, this effectively slows the Apple's processor from 1 MHz to 500 kHz. • It is much easier to add more channels to a system by adding another synthesizer card set when the waveform tables are not in the host memory. Ceasar Castro Casheab 5737 Avenida Sanchez San Diego CA 92124 Unsung Marketer While I thoroughly enjoyed the recent article entitled "The Japanese Computer Invasion," I would like to go on the record to correct some misleading information that appeared in the section regarding Hitachi on page 212, beginning with the third paragraph. (See the August 1981 BYTE.) Mr Miastkowski is correct in stating that there is no Hitachi marketing organization in the US (for large-scale computers, that is, a qualification that should have been included) nor any movement toward developing one. How- ever, to call this a "major problem" totally ignores Hitachi's satisfaction with the job being done by National Advanced Sys- tems (NAS). "Lack of a US organization" has not "hurt" sales of the AS/9000. In- deed, NAS has doubled the sales rate of its predecessor and is progressing very well in AS/9000 penetration. Mr Miastkowski also states that Hitachi introduced the AS/9000. This is incorrect. NAS introduced the AS/9000, its redesign of the Hitachi M200H. It is also incorrect to characterize NAS as a company "with (merely) a large amount of small-computer experience." In the 303X class and upward, NAS has 276 systems installed, hardly a lack of ex- perience. If one includes MVS-class machines (which are generally considered not to be "small" systems), the number goes to about 600! And, in the "H" class, the subject of the paragraph, we have more experience than either IBM or Am- dahl (i.e., we're shipping and they aren't)! Lastly, Miastkowski refers to the "strange bug" which occurred at Lockheed Dialog and implies that service is a major problem. This is absolutely untrue. Specifically, a problem arose in the chan- nel check logic in which the software was unable to recover from a channel check. Investigation revealed that, while the AS/9000 channel interfaces were designed to published IBM specification docu- ments, IBM had subsequently changed (in this case, loosened) the parameters governing the timing of the counting of parallel bits. We immediately applied an EC retiming the parameters and retro- fitted all other AS/9000s. The incident, in fact, illustrated the expertise of our engineers in solving a problem we did not even create and in solving it in record time. David Goldsmith Director — Sales Support National Advanced Systems 800 E Middlefield Rd, Mountain View CA 94043 On Old Ad Age As a mechanical engineer, I have had BYTE save my neck by letting me know what to expect from the "Silicon Wonders" before other engineers. But I would like to share some observations about BYTE that I have made over the last five years. BYTE has evolved from a magazine of "hobbyists" into a leading and respected technical journal. As such, the reader is assumed to have sufficient technical ex- pertise to read and assimilate the infor- mation presented. To my knowledge, this assumption has turned off a number of potential subscribers. It shouldn't be too difficult to publish a yearly "Beginner's In- tro" issue of BYTE which could be in- cluded with every new subscription. It could educate and entice new subscribers, while the "old-timers" shouldn't object too strenuously to a yearly review of basics (who knows, it might even help). It would definitely help overcome the shock to a neophyte who wants to learn about the nitty-gritty of computers and picks up a BYTE only to be deluged with "comput- erese" and articles that go over his or her head in the first paragraph. A good portion of each BYTE is devoted to advertisement. I am not com- plaining. In fact, I have learned almost as much about computers from the ads as from the articles. But I currently have about 30 inches of bookshelf devoted to BYTE and, if the advertisements could be removed, that could be cut down to 20 inches or less! An advertisement that's a year or more old is of little value to me, but articles that age are very valuable to me. What I suggest is to bind the articles in one group that can be removed for filing. They could be preceded by the "prestige" ads and followed by the bulk ads. I doubt that this change in format would reduce the effect of advertising in BYTE since most of BYTE readers that I know either read every ad in each issue or ignore them. It would reduce the space re- quired to archive back issues consider- ably. (I'd like to see this idea catch on because I currently have over 15 feet of bookshelf dedicated to my technical jour- nals and it's growing daily!) Lew Merrick 19217-28th Ave W Lynnwood WA 98036 Our "potential subscribers" who are turned off by our technical level sliould take a look at our new sister publication, Popular Computing. . . . MH Legal Arguments As an attorney, computer enthusiast, and coauthor of a recently published booklet entitled "The Copyright Kit — How to Copyright Your Computer Soft- ware," I feel I must clarify two points raised by Stephen Becker in his article 10 October 1981 © BYTE Publications Inc A Busload from SSM. / / / 7 1 ' ' H\ 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 65 K 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. -80 CP We spent over a year de- 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 MWRITE signal, firmware vector jump, and an output port to control 8 extended ad- dress lines (allowing use of more than 65K of memory). Jumper options generate the new IEEE 696.1 signals. New SSM Products. Please call for all the latest details on our newest products: • MB 64 64Kb static RAM memory. • 105 two parallel, two serial input/output ports, with com- plete RS-232 protocol. • 108 multiple RS-232 serial I/Os. „080 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. MWRITE, 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. SSM Microcomputer Products, Inc. 2190 Paragon Drive, San Jose, CA 95131, (408) 946-7400 Telex: 1' 71, TWX: 910-338-2077 Circle 348 on inquiry card. Reddy Chirra improves his vision with an Apple* Reddy is an optical engineer who s used to working for big companies and using big mainframes. But when he started his own consulting business, he soon learned how costly mainframe time can be. So he bought himself a 48K Apple II Personal Computer And, like thousands of other engineers and scientists, quickly learned the pleasures of cutting down on shared time own tamper-proof data base. His Apple can handle formulas with up to 80 vari- ables and test parameters on 250 different optical glasses. He can even use BASIC, FORTRAN, Pascal and Assembly languages. And Apple s HI-RES graphics come in handy for design, Reddy looked at other microcomputers, but chose Apple for its in-depth documentation, reliability and expandability. You can get up to 64K RAM in an Apple II. Up to 128K RAM in our new Apple III, And there s a whole family of compatible peripherals, including an IEEE-488 bus for laboratory instrument control. Visit your authorized Apple dealer to find out how far an Apple can go with scientific/ technical applications. It'll change the way you see things. The personal computer^^KipplCZ 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 no. 28 for more information or Circle no. 425 for special OEM information Letters. "Legal Protection for Computer Hard- ware and Software." (See the May 1981 BYTE, page 140.) Mr Becker tells us that he does not recommend that his clients copyright (i.e., register) their software until an infringe- ment suit is contemplated. My advice would be just the opposite. Section 412 of the 1976 Copyright Act specifically disallows statutory damages and attorneys' fees for any infringement of copyright commenced after first publi- cation of the computer program if it was not registered within three months after the first publication of the work. This means that by not registering a computer program within three months of publica- tion, you lose possibly important dam- ages for infringement. For $10 (the cost of registration), I feel a computer program should be registered at the earliest possible moment. Mr Becker also states that two copies of a computer program must be filed with the Copyright Office along with form TX for registration. In fact, the Rules and Regulations of the Copyright Office (Sec- tion 202.20 (c) (2) (vii) Code of Federal Regulations) provide that for a computer program published only in the form of machine-readable copies (such as mag- netic tape, disk, punch card, or the like) from which the work cannot ordinarily be perceived except with the aid of a ma- chine, the deposit need only consist of one copy of the first and last 25 pages of the program printout together with the page where the copyright notice appears. I hope these corrections, in part, clarify for BYTE readers a complex area of the law. Noel D Adler 14 Longacre Ct Port Jefferson NY 11777 Stephen Becker Replies / stand by my advice. Mr Adler's state- ment that "Section 412 of the 1976 Copy- right Act specifically disallows statutory damages and attorneys' fees for any in- fringement ..." tells only part of the story. In fact, the 1976 Copyright Act specifically provides for statutory in- fringement occurring after registration, ■whether or not registration occurs within three months after first publication of the work. Ideally, each program should be regis- tered as soon as possible. Copyright regi- stration of a program is neither as com- plex nor expensive as patenting. It can, however, be burdensome to register each program, particularly if you are develop- ing a substantial amount of new software. Each registration requires, besides the $10 registration fee and attorney's fees (if one is retained), deposit of a copy of the first and last 25 pages of the program printout together with the page where the copy- right notice appears if the program is pub- lished only in machine-readable form, as Mr Adler notes; otherwise, two complete copies of the program must be deposited. As a practical matter, however, the software supplier will probably become aware of any infringement fairly soon after it occurs. The infringer will be liable for statutory damages and attorneys' fees for all infringements following registra- tion. If the registration occurs within three months from the first publication date, the infringer will be liable even during the three-month intervening time period. Even before registration, the courts have the discretion to allow recovery of the in- fringer's profits to the software developer and may even require that royalties be paid. BYTE's Guide Praised My wife and I wish to thank BYTE for including Mister McGiddies Creations Ltd in "The BYTE Guide: NCC Chicago." (See the April 1981 BYTE, page 64.) It is nice to be recognized for all the work we have done to promote the best in Bluegrass music in Chicago, while serving high- quality food at a good price. McGiddies is now computerized by a 48 K-byte Radio Shack TRS-80 Model I with multiple disk drives, Scripsit, and the Paper Tiger 460 printer. Without a publication like BYTE, the information that I would need to learn how to use a computer in small business would not be available. I can actually say the computer has put some fun back into paperwork, and, of course, the games are always fun. Thank you, BYTE. Keep up the good work. Hal and Sharon Berger President and Vice President Mister McGiddies Creations Ltd 2423 N Lincoln Ave Chicago IL 60614 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- 1592 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)8487122 COMPUTER INFORMATION EXCHANGE San Luis Rey (714)757-4849 COMPUTER SERVICE CENTER Hollywood (213)8513434 DESMAR ELECTRONICS Santa Clara (408) 9882208 HOBBYWORLD Northridge (213)886 9200 WHOLESALE TECHNOLOGY SantaAna (714)9791700 COLORADO MICROCOMPUTER APPLICATIONS Denver (303)922-6410 DISTRICT OF COLUMBIA THE PROGRAM STORE Washington (202)337 4691 FLORIDA EN-TRON.INC. Largo 1813)586-5012 MICROCOMPUTER CONSULTANTS Ormond Beach (9041673-5787 MICROSYSTEMS SOFTWARE. INC. Hollywood (305) 983-3390 GEORGIA DAVIS SYSTEMS. INC. Atlanta (4041634-2300 HAWAII COMPUTER CENTER Honolulu (808) 488 2 1 7 1 IDAHO OFFICE MAGIC COMPUTERS Boise (208)376-1613 ILLINOIS GARCIA & ASSOCIATES Chicago (312)782-9750 KANSAS BESCO ELECTRONICS Shawnee (913)268-7633 CARDENS, INC. Hutchinson (316)669-8261 MASSACHUSETTS OMNITEK Tewksbury 1617)8514580 MARYLAND DAMASCUS RADIO SHACK Damascus (301)253-2101 MICHIGAN ALTERNATE SOURCE Lansing (517)487-3358 MINNESOTA THECODEROOM EdenPrairie (612)934-1826 MISSOURI LEMBERGERCO Vienna (314)422-3353 SOFTWARE CENTER Florissant (314)838-7755 NEW HAMPSHIRE HARDSIDE Millord (800)258 1790 NEW JERSEY CHANNEL 1 RADIO SHACK Medlord (609)654 7454 NEW MEXICO AUTEL ELECTRONICS Albuquerque (5051255-6451 NEVADA PCS COMPUTER Las Vegas (702)870-4138 NEW YORK H&ECOMPUTRONICS Spring Valley (914)425-1535 80 MICRO COMPUTER SERVICES Cohoes (518)235-9007 MICRO 80 SYSTEMS Brooklyn (212)748-3236 STONYCLOVE NewYorkCity (212)391-8337 OHIO FELDMAN ENTERPRISES Akron (216)724-5583 JERRY'S COMPUTER Cleveland (2161641-6719 MPS Wadsworth (216)336-2771 PENNSYLVANIA ADVANCED MECHANIZATION Ivyland (215)672-9000 COMPUTER ANALYSTS New Brighton 1412)846 9323 TENNESSEE COMPUTER WORLD, INC. Nashville (615) 255-8330 MARKETING COMMUNICATIONS Memphis (901)794-8677 TEXAS ACCESS UNLIMITED Richardson (800)527-3475 (214)690-0206 (713)488-8022 (214)484-2976 (915)577-2931 (801)298-6809 (414)281-7004 COMPUTEX Webster QUALITY SOFTWARE Dallas TEXAS COMPUTER SYSTEMS Brady UTAH MICRO MNEMONICS Sunset WISCONSIN BYTE SHOP MILWAUKEE Greenfield FOREIGN DEALERS AUSTRALIA DICK SMITH ELECTRONICS P.O. Box321 North Tyde NSW2113 CANADA VALERIOTE AND ASSOC. Guelph Ontario (519)824-7041 DVR ELECTRONICS Surrey B.C (604)576 1045 MEXICO CIBERMATIC. S.A. Mexico (905) 592-3433 COMPUTADORAS Y ASESORAMIENTO Rio Panvco 14 Mexico 5 D.F. DOMINICAN REPUBLIC RADIOSHACK SantoDomingo (809)5659121 14 October 1981 © BYTE Publications Inc Introducing the Z Line . . . Now! Percom Drives for Heath Computers. Percom's now making add-on drives for your H-89 and H-8. Complete drive systems will be available soon. If your immediate need is for add-on storage, check the features of our fully compatible Z drives. If you plan to add a complete disk system, watch for the imminent announcement of our double- density Z Controller. Given a choice, we think you'll choose from the Percom Z line. Add-On Z Drives • Available in 40- and 80-track densities, in 1- and 2-drive color-compatible modules. • All drives are rated for single- and double-density oper- ation. • Some models accommodate flippy storage, allowing you to flip a diskette and store files on the second side. • Fully tested both electrically and mechanically. Plus, all Z drives receive a 48-hour operating burn-in to uncover latent defects. Look for the signed quality assurance slip. • Low prices: Fully assembled and tested, one-drive units start at only $399, two-drive units from only $795. Z DRIVES FROM PERCOM: THE BEST ONES FOR YOUR ALL-IN-ONE Mode] Number Tracks one side Formatted Strg. Cap. SD DD ZFD-40" ZFD-80'" ZFD-100'" 40 80 40 102K 205K 102K 180K 364K 180K Low price, fast step time Max. stg. , fast step time Flip-side diskette storage SYSTEM REQUIREMENTS: H-89 or H-8 computer with 16 Kbytes of RAM, Heath first-drive floppy disk system, Heath disk-operating system and drives in- terconnecting cable. (Two-drive interconnecting cable optionally available from Percom). ZFD-80 drives include a program patch on diskette to modify HDOS for 80-track operation. PRICES AND SPECIFICATIONS SUBJECT TO CHANGE WITHOUT NOTICE. Available Soon! Percom's Low-Cost Double-Density Z Controller. PERCOM DATA COMPANY. INC. 211 N. KIRBY GARLANO. TEXAS 75042 (214) 272-3421 Toll-Free Order Number: 1-800-527-1592 c 1981 PERCOM DATA COMPANY. Inc PERCOM. ZFD-40. ZFD-80 and ZFD-100 are trademarks ol Percom Data Company. Yes ... I'd like to know more about Percom Z drives and the Z Controller. Rush me free literature. Send to PERCOM DATA COMPANY, Inc., Dept. 26 211 N. Kirby St. Garland TX 75042 city phone number MAIL TODAY! TWELVE STRONG HEATH/ZENITH YOUR Pick a strong partner A computer purchase is the beginning of a long term partnership between you and the people you buy from. Your ongoing need for software and accessories re- quires a partner who will stand by you with a growing line of products. And nowhere will you find a more com- plete line of hardware, software and accessories than at your Heathkit Electronic Center. Here are twelve strong reasons to make Heath/Zenith your partner. 1. The All-in-One Computer The heart of the Heath/Zenith line is the stand-alone 89 Computer. It's a complete system with built-in 5 1 A-inch floppy disk drive, professional keyboard and keypad, smart video terminal, two Z80 microprocessors, and two RS-232C serial I/O ports. It comes with 16K RAM, expandable to 64K. 2. Peripherals These include the popular Heath/Zenith 19 Smart Video Terminal, loaded with professional features. And the 14 Line Printer, priced as low as $495. Other printer brands are on display, including high- speed, typewriter-^ quality printers. 3. Software Word processing, includes reliable, easy-to-use Zenith ElectronicTyping and powerful, full-featured WORDSTAR. Small Business Programs, feature General Ledger and Inventory Control. HUG, Heath Users' Group, offers members a library of over 500 low-cost programs for home, work or play. 4. Programming Languages For your own custom programs, Microsoft languages are available in BASIC (compiler and interpreter), FORTRAN and COBOL. 5. Operating Systems Three versatile systems give you the capability to per- form your specific tasks. CPIM by Digital Research makes your system com- patible with thousands of popular CP/M programs. UCSD P-System with Pascal is a complete program development and execution environment. HDOS, Heath Disk Operating System gives you a sophisticated, flexible environment for program construction, storage and editing. 6. Utility Software Expand the performance range of your computer with a broad selection of utility tools, including the best of Digital Research and the complete line of innovative Softstuff products. 7. Disk Systems The 8- inch Heath I Zenith 47 Dual Disk System adds over 2 megabytes of storage to your 89 Computer. Diskettes are standard IBM 3740 format, double-sided, double-density. The 5Vt-inch 87 Dual Disk System adds 200K bytes of storage to your 89. Both disk systems feature read/write protec- tion and easy plug-in adaptability. 8. 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 A course on Computer Concepts for Small Business gives you the understanding to eval- uate the ways a computer can benefit your business. Personal Computing is a complete introduction to the fundamentals forthe novice. Every Heathkit/ Zenith course is pro- fessionally designed for easy, step-by- step learning. All Heath /Zenith Computer Products are available completely assembled and tested for commercial use. Or in easy to-build, money-saving kits REASONS TO MAKE COMPUTER PARTNER 9. Expansion Options Communicate with the outside world through a Three- port EIA RS-232C Serial Interface. Expand RAM to 64K with easy-to-install expansion chips. Accessories Your Heathkit Electronic Center has the latest in modems, black-and-white and color video monitors, computer furniture and a full line of supplies, accessories, books and parts. 11. Service No one stands by you like Heath/Zenith We help you get your system up and running smoothly. Service is avail- able from trained technicians, over the phone or at one of 56 Heathkit Electronic Centers. 12. Value Your money buys you more because Heath/Zenith prices are among the industry's most competitive. Make your own comparison and find out how much you can save. Complete, integrated computer hardware and soft- ware, designed to serve you and to grow with you - that's what to look for in a strong partner. And with Heath/Zenith you get it all under one roof. All at your Heathkit Electronic Center Pick the store nearest you from the list at right. And stop in today for a demon- stration of the Heath/Zenith 89 Computer System. 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-827, Benton Harbor, Ml 49022. 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. Bascom Ave. 408-377-8920 ELCERRIT0.CA 6000 Potrero Ave. 415-236-8870 LA MESA, CA 8363 Center Dr 714-461-0110 LOS ANGELES, CA 2309 S. Flower St. 213-749-0261 POMONA, CA 1555 N.Orange Grove Ave. 714-623-3543 REDWOOD CITY. CA 2001 Middlefield 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 AVON.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 DOWNERS GROVE, 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 R0CKVILLE.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 BRIDGETON.MO 3794McKelveyRd. 314-291-1850 OMAHA, NE 9207 Maple St. 402-391-2071 ASBURYPARK.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 FRAZER, PA 630 Lancaster Pike (Rt. 30) 215-647-5555 PHILADELPHIA, PA 6318 Roosevelt Blvd. 215-288-0180 PITTSBURGH, PA 3482 Wm.Penn Hwy. 412-824-3564 WARWICK, Rl 558 Greenwich Ave. 401-738-5150 DALLAS, TX 2715 Ross Ave. 214-826-4053 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 MILWAUKEE, Wl 5215 W. Fond du Lac 414-873-8250 • Units of Veritechnology Electronics Corporation in the U.S. Prices and specifications subject to change without notice. HEATH/ZENITH Your strong partner Letters. Comments on VIC I recently evaluated the specifications of various personal microcomputers now on the market, so I noticed a couple of errors in Gregg Williams's comparison of Com- modore's new VIC 20 to other microcom- puters. (See 'The Commodore VIC 20 Microcomputer," May 1981 BYTE, page 46.) Mr Williams stated that the VIC is the only machine in which "the background color can change independently of the character color." This is untrue. If the Atari is used in graphics mode 1 or 17, its normal text display is reduced to 24 rows by 20 columns (similar to the VIC's 23 rows by 22 columns) and the background color becomes separately adjustable to any of 16 colors. Mr Williams also incor- rectly stated that the Atari's normal text display is "16 rows by 32 columns"; ac- tually it is 24 rows by 40 columns, which means it can display 25% more text than any of the other computers he surveyed. It also can be expanded to a full 32 K bytes of memory by installing one of the new 32 K-byte "RamCram" boards made by Axlon (Sunnyvale, California). On the whole, BYTE should make more of an effort in the future to standardize comparison tables. For example, the cost of each system with a fully extended BASIC in ROM (read-only memory) and Data communications can open up a whole new world to you and your computer. A world ot the future. Now. A world full of information resources, time-sharing computer systems, and electronic "bulletin boards." All you need for admission to this world is y our CP/M- based computer, a modem, and the proper software. That's where we come in. We have the proper software. CROSSTALK," our smart terminal & file 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 syslems, 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 to learn, yet provides a powerful tool for exchanging files, capturing data, and controlling modem parameters. • Concurrent printer and video allows you to print data while viewing it on the CRT • Fully error-checked file transfers using 16 bit CRC protocol. Protocol transfers allow exchanging files which are larger than the systems memory. • Built in "DIR" command. • Data capture allows saving received data onto your disk. • Auto-dial, redial. and auto-answer (if supported by modem). Available for the following modems: Hayes 80-103a Hayes Srnartmodem" Hayes Micromodem 100'" PMMI Communications MM-103 Hayes Micromodem II" for the Apple II" Any RS-232 modem, including 1200 baud modems REMOTE • Allows remote use of your computer from a remote terminal location. • May be called as a subroutine Irom BASIC, PASCAL, or any other program to allow answering under program control • Provides nulls if needed for printing terminals • Uses less than 1 k of 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. H" Microstuf, Inc. Box 33337 Decatur, Georgia30033 (404) 491-3787 (voice) (404) 939-1520 (demo system) DEALER INQUIRIES WELCOME. 16 K of programmable memory could be given. The graphics capabilities should be compared in some way to show the trade- off between high-resolution and multi- color capabilities, such as the maximum resolution available if you want the abili- ty to display four colors simultaneously with individual color control over each pixel. I would be interested to know how the VIC with the Super Expander Car- tridge would compare with the other machines reviewed according to this criterion. If the advertised 176 by 176 pixels are individually assignable to any of four (or more) colors, then the graphics capabilities of the VIC 20 would lie be- tween those of the Apple (280 by 192) and the Atari (160 by 96), being approximate- ly equivalent to the Radio Shack Color Computer (128 by 192). Finally, Mr Williams mentioned that the VIC 20 uses the 6502A microprocessor instead of the 6502. What's the difference? Also, is it possible to replace the 6502 with a 6502A7 George Fergus 1810 Hemlock PI #204 Schaumburg IL 60195 Gregg Williams Replies Mr Fergus's two points about the Atari are correct — my apologies for the errors. His comments on the fairness of the com- parison chart point up the difficulty of comparing several microcomputers fully. Anyone buying a microcomputer should learn everything he or she can about the different brands (just as Mr Fergus did). Such an evaluation was beyond the scope of the article 1 wrote, so I chose represen- tative configurations of the different microcomputers. The only difference between the 6502 and the 6502A is the higher system-clock frequency of 2 MHz for the 6502A. How- ever, a 6502A microprocessor would offer no improvement in an existing microcom- puter system without similarly upgrading the access time of the memory and in- creasing the speed of the system clock (which may have harmful side effects). APL Pals I read Gregg Williams's article "Three Versions of APL" with great interest. (See the April 1981 BYTE, page 188.) His con- clusion that Vanguard APL/V80 is the fullest and fastest implementation is one that we agreed with two years ago when 18 October 1981 © BYTE Publications tac Circle 239 on inquiry card. Circle 250 on inquiry card. Mountain Computer CPS Multifunction Card TM The Only Interface Card You Need! Connecting a Parallel Printer? Epson® Centronics® IDS Paper Tiger® CPS handles all these printers and others with on-board intelligence 10 provide paging and other features found on no other card. Connecting a Serial Printer? Diablo®- Qume®NEC - Tl 800 Series® < IPS handles these printers and others with standard RS-2'52 interface providing selection of baud rates, handshakes, paging, and more. Connecting a Modem or Terminal? Hayes Sniartniodein? Novation CAT®M & R Pennywhistle®CPS handles these and others with full half duplex operation, baud rate selection, and 'even a transparent terminal mode whirh includes a dual mode feature that permits printing of text to parallel printers while 'on-line' eliminating the need for .special terminal software— and rn&re. Connecting with the Time? The on-board calendar 'clock provides real time and date information including day. of week, 'day, month, year, hours, minutes, and seconds for any application requiring a lime stamp — battery backed-up for over two years! Connecting with The Source? I'sed with a modem, GPS provides the connection to informa- tion utilities, such as The Source? Dow Jones, and olhers. Additionally, CPS provides the connection to big-time electronic mail with programs such as Micro Courierand Mic ro Telegrarrr? and other data transfer programs. Connect with Easy Use! CPS has no switches to set! All functions on the card are set from a user program. Menu driven screens set up your choice of all functions on CPS and store them on-board in CMOS RAM— battery backed-up (including the clock) for over two years! To change parameters, run the set-up program again — or use special commands from your keyboard. Furthermore, 'most existing software programs are immediately usable with CPS. Phantom Slot Capability permits assignment of CPS' functions to your software's pre-defined slots. Connect with Your Apple®Dealer Drop by your Apple dealer and see how the CPSMultiFunciion Card provides the most comprehensive capabilities for RS-232C serial interface, parallel output, and real-time calendar/clock of any card available today^-ci// on one card— at one low price — competitive with any one of the' three or. more single function cards that it replaces, * Mountain Computer ' INCORPORATE D 300 El Pueblo Road, Scotts Valley, CA'95066 (408) 438-6650 TWX: 910 598-4504 Ki-gistcrcd trademarks Letters. we made our own evaluation. Since then, we have modified and en- hanced Vanguard APL extensively. MicroAPL's own APL 4.0 release is now packed with goodies for the APL enthu- siast. These include fast auxiliary proces- sors for text search, character-set transla- tion, laboratory instrument input/output; MicroTASK utility for project develop- ment, documentation, and screen handl- ing; MicroFILE software for four different types of file access; MicroPLOT drivers for Tektronix, Hewlett-Packard, Qume, Diablo, and A-J plotters; MicroLINK workspaces for online timesharing links and CP/M file interchange; and Micro- SPAN, a complete computer-aided in- struction package for APL neophytes. I hope BYTE will include us in its next language review. There are some exciting projects in the pipeline for 16-bit APL sys- tems. APL is very popular in Europe, so in the meantime, we hope European readers will feel free to contact us if they're in- terested in further details. Robert Bittlestone MicroAPL Ltd 19 Catherine PI Victoria, London, SW1E 6DX, England Roots Fair and Square Steve Abie's statement that any 10-digil calculator that accurately yields (V2) 2 = 2 "... is either doing "funny arithmetic" or else is not telling you everything it knows" aroused my curiosi- ty. (See "Letters," April 1981 BYTE, page 16.) My rather ancient Texas Instruments SR-51A does, in fact, yield (V2) 2 = 2. So I wondered if it was performing "funny arithmetic" or was hiding information from me. The SR-51A does calculate V2 to 13-digit accuracy as does HP-41C, then displays the result rounded to 10 digits. The difference is that the SR-51A does not then proceed to forget the additional three digits. These are still retained in the register and are used in any subsequent operations. The V2 operation produces a displayed result of 1.414213562, but the internal memory has 1.414213562373. Squaring correctly produces a rounded result of 2. The other functions also produce 13-digit accuracy rounded to 10 digits for the display. In the words of Mr Abel, my SR-51A "is not telling me everything it knows." But, why should the accuracy of the machine be limited to the size of the display7 Because it does not forget the extra three digits it calculated, the out- dated, middle-line SR-51A performs with greater accuracy than the new, top-line, very expensive HP-41C. In addition, my SR-51A, with a little trickery, will tell me "everything it knows." Entering -Jl yields a display of 1.414213562. First, I multiply this by 100, which produces 141.4213562; then I sub- tract 141, producing a display of 0.4213562373. There are the three extra digits. For it, the displayed result is 3.141592654. Multiply this by 100, then subtract 314, and the result 0.159265359 is displayed. This would be accurate for the 14-digit value of tt = 3.1415926535897 rounded to 13 digits. The trailing is sup- pressed in the LED (light-emitting-diode) display to conserve the batteries. It is also possible to enter 13 digits with an appropriate trick. To enter 1.414213562373, first enter 3.73 EE-10, then add 1.414213562. This will result in the register containing 1.414213562373, and squaring this will produce the rounded answer of 2. Apparently, this accuracy cannot be achieved with "the world's fanciest calculator." James E Kitchen Director Chapman College Residence Education Center General Delivery Beale AFB CA 95903 Talking DVMs In Steve Ciarcia's "Build a Low-Cost Speech-Synthesizer Interface" (June 1981 BYTE, page 46), he describes an encounter with a disbelieving clerk "at a local elec- tronics store" after asking if they carried "any DVMs (digital volt ohmmeters) that talked." Steve implies that today none ex- ist, but someday they will be very com- mon. Well, at least one does exist. I recently came across a reference to a "talking DVM" in the March 1981 journal of Chemical Education (page 231). It's available from Sabtronics International Inc, 13426 Floyd Cr, Dallas TX 75243 (product number DMM 2010A). Charles J Spillner 4054 Shona Ct San Jose CA 95124 The Franklin Institute Research Labora- tory also has a talking voltmeter avail- able. Contact the company at Benjamin Franklin Pky, Philadelphia PA 19103, (215) 448-1340. . . . GET THE LATEST SOFTWARE PRODUCTS NOW... ...CHECK OUT OUR 2020 RANGE 2020 2020 2020 2020 2020 THE FIRST IN A SERIES OF 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. • ALL THE STANDARD FEATURES YOU WOULD EXPECT FROM AN ADVANCED WORD PROCESSOR SUCH AS MARGINS. IABS. PAG INAT ION. GLOBAL SEARCH AND REPLACE. PROPORTIONAL SPACING ETC • EASY TO FOLLOW FIRST TIME USER DOCUMENTATION • SPELLING C AODITIONA • COMMUNICA I IONS MODULE ALLOWS THE SYSTEM 10 ACT FRAME OR LINK UP TO ANOTHER WP2070 SYSTEM LT IN AS STANDARD NO 2.2. IT OFFERS MORE FACILITIES THAN L SET (IT COLOUR I li I UNCTION KEY I HI'S SUPPLIED AS STANDARD • SUPPORTS UACKGROUriO PRINTING WHILST WORKING ON OTHER DOCUMENTS ■ HAS ITS OWN FILING SYSTEM WITH DOCUMENT NAMES UP TO 17 CHARACTERS LONG OTHER IN SERIES INCLUDE: FP202Q F INANCIAL PLANNER CM2020 CONF IGURABLE MANAGER SPECIFY B" OR S'.i" S/SS/DZ89 WHEN ORDERING. SYSTEM REQUIRES MINIMUM OF 2 DISKS AND 4 *CP/M REGISTERED TM DIGITAL RESEARCH WP2020 REGISTERED TM GRAFFCOM PRICE: £320.00 CALL US TODAY FOR IMMEDIATE SHIPMENT j DEALER ENQUIRIES WELCOME I^S-. -ffi esappeBM GRAFFCOM SYSTEMS GROUP 102 PORTLAND ROAD LONDON Wl 1 ALX TEL. 01 -727-5561 2020 20 October 1981 © BYTE Publications Inc Circle 160 on inquiry card. mm ■.■iiMSO&x^' 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. Box 2570, 1208 Kent Avenue West Lafayette, Indiana 47906 (317)463-2502 Telex: 27-6143 Sculpture by Joann Chaney BUILD YOUR OWN 68000 SYSTEM THE EASY WAY FULLY ASSEMBLED BOARDS PROVIDE COMPLETE 68000 CAPABILITY. AND ALL BOARDS CAN BE INTEGRATED INTO YOUR OWN SYSTEM. ,TM MC68000 MULTIBUS BASED MICROCOMPUTER This board provides a full speed MC68000 as the CPU for your Multibus™ based system. 256 kilobytes of on-board RAM permit the MC68000 to execute code at full speed (8-MHz clock with no wait states). The board is compatible with the proposed IEEE P796 bus at a compliance level of D16M20I16V02L Edge connectors for a logic analyzer are provided to ease debugging. Bus timeout protection, simple memory protection and interrupt type selection are also provided. MAIN PERIPHERAL BOARD ■Up to32K Bytes of PROM ■Triple Interval Timer ■Two Programmable USARTS ■Polynomial Generator and Checker ■Three Parallel Interface Chips ■Keyboard Interface ■Baud Rate Generator for USARTS ■ Priority Interrupt Controller VIDEO BOARD ■32K Bytes of RAM ■Programmable Video Controller ■Programmable DMA Controller ■PROM Character Sets— Up to 256 Characters ■Enhancements: Reverse Video, Understrike, Intensify, Blink, Suppress ■Interrupt Level Options An I/O board with up to 5 serial I/O ports is also available; other Multibus™ compatible boards will be available in the near future. Multibus is a trademark of Intel Corporation. For further information, write or call: TSD Display Products, Inc. 35 Orville Drive, Bohemia, New York 11716. Tel. 516-589-6800 TTSDl: Letters. BDS C Update Thank you, BYTE, for the "prinfi" technical note and the larger article on BDS C, by Chris Kern. (See "Printf for the C Function Library," May 1981 BYTE page 430, and "The BDS C Compiler," June 1981 BYTE, page 356.) Unfortunate- ly, the items have fallen victim to some time-warp distortion, and several points regarding the package were out of date. In the printf article, reference is made to a clumsy method of passing formal para- meters to C functions in which the para- meters are copied into absolute locations in memory by the caller and accessed from there by the subordinate function. The parameter-passing mechanism of BDS C has been totally revamped since those days. Currently, all parameters are passed on the stack, and all local (auto- matic) variables also reside on the stack. Also, a printf that is functionally equiva- lent to Chris Kern's is now a standard part of the package. The June review was completely accu- rate in all technical details, except for the statement that "it's a shame the BDS com- piler doesn't go one step further and pro- vide redirected input and output. . . ." Actually, the current version of BDS C does include a special-function library for performing both directed I/O (input/out- put) and pipes in the standard UNIX-like manner. This is a recent addition to the package, and it has the advantage of not wasting any memory if it isn't used, be- cause it's merely a simple set of library functions (written in C, of course). BDS C users may be interested to know that the compiler has recently been run under the MARC operating system (a UNIX-like system) and that the combined package will be available soon from Vortex Technology. MARC furthers BD Software's tradition of translating the "best" of UNIX onto 8080- and Z80-based systems. BDS C finally has an operating system it can appreciate, rather than battle. Leor Zolman BD Software 33 Lothrop St Brighton MA 02135 22 October 1981 © BYTE Publications lnc Circle 372 on inquiry card. Circle 338 on inquiry card. Stop playing games and get organized. You spent up to $2,500 on computer hardware to make your personal life easier You didn't spend it just for fun. Now there's GUARDIAN — the first microcomputer software program that can truly organize your life with ultimate ease and speed. GUARDIAN is the only program that lets you make a single one-line data entry to remind you ... for the rest of your life . . . of birthdays, oil changes, appointments and any other recurring events. Once an item and its frequency of recurrence is entered, you'll never have to worry about remembering again. Each morning you flip a switch, enter your personal code, and get an instant readout of everything you need to accomplish that day. Plainly speaking, there's no need for special codes or computer language with GUARDIAN . . .you talk to it, and it talks right back in plain English. GUARDIAN even tells you how to enter data and correct errors with step-by-step on-line instruction through its built-in video display manual. The printed manual that comes with GUARDIAN is also complete and easy-to-understand. Years Ahead GUARDIAN lets you organize everything you need to do today for years to come. The single-line entries are easy to make, and can even be set to flag you several days in advance of the event. Advance To Go GUARDIAN is programmed to automatically advance and schedule appointments, PTA meetings, vacation schedules, tax deadlines and other activities indefinitely, until you ■T | cancel the entry GUARDIAN'S r% internal calendar adjusts itself \J from year to year Protects Your Interests GUARDIAN is as easy to use as pencil and paper but its memory can't be lost or erased by accident. System failure and operator error are protected by automatic file closure. Password protection keeps your files confidential. GUARDIAN'S disk has the storage capacity to organize up to 2,000 separate events for 200 people at the same time. I Yes ... I want to put GUARDIAN to work for me, to receive I maximum efficiency and ease in organizing my personal life I with my microcomputer 1 NAME The GUARDIAN program is recommended for use with any soft disk drive system with 48k memory or more, and operates on any CP/M*-based system or the TRS 80** (Model I, II or III). Programs are available on standard 5Va- or 8-inch disk, with storage sleeve. $119.95. GUARDIAN is available directly from Time Management Software, and is not sold through any store, catalog or' other source. To order GUARDIAN call one of our toll-free numbers or return the order blank below. Call now toll free to order (Ask for operator 601 ) 1 -800 - 824 - 7888 (nationwide, except California, Alaska and Hawaii) 1-800-852-7777 (in California) 1 -800-824-79 1 9 (in Alaska and Hawaii) ,',"■ i vcMTf»m MM THIS ADDRESS . CITY. _STATE _ _2IP_ have enclosed S 1 1 9.95 to avoid delays and handling charges. □ Check □ Money Order Price includes tax, handling and shipping lexcepi COD. Orders^ □ COD. (If delivery address is different than above, please specify) Please specify one: D 514-inch disk D 8-inch disk 10A1 Please specify one: dCP/M* Operating System DTRSDOS** Operating System TIME r MANAGEMENT l23 E B,oaaway I SOFTWARE" P.O. Box 727 Cushing, Oklahoma 74023 • Registered Trademark of Digital Research. Inc. "" Registered Trademark of Tandy Corp Circle 295 on inquiry card. Did you know that with the new UCSD P-SYSTEM VERSIONIV you can write programs In and run them on ALTOS, APPLE, COMMO- DORE, CROMEMCO, DEC, INTERTEC, PHILIPS, OHIO SCIENTIFIC, RADIO SHACK, TERAK, TEXAS INSTRU- MENTS, VECTOR GRAPHIC, ZENITH, and many more... without change) (Think about that next time you want a larger market) We support systems software and applica- tions ready-to-run on APPLE, DEC LSI-lit, RADIO SHACK MODEL ll§ and AL- TOS. PCD SYSTEMS P. 0. Box 143 Pen/? Yan, NY 14527 315-536-3734 jtm Digital Equipment §tm of Tandy Corp. *tmu. of California Letters. Points on Printers In connection with the review "The Ep- son MX-80 and MX-70 Printers" (see the May 1981 BYTE, page 22), the following specific comments may be of interest: • The MX-80 offers four rather than three character densities. The fourth is the double-width reduced character. It is pro- duced by an SO (shift-out) code when an SI (shift-in) code is in effect. The resulting density is 3.25 characters per cm (8Vi per inch). • A fourth character style can be obtained by transmitting codes for both boldface and emphasized. The result is a character heavier in both horizontal and vertical lines. • Line spacings of less than y 6 of an inch on the MX-80 are overridden when graphic characters are present. In our ex- perience, even a single graphic character in a line will cause the line feed to default to y 6 of an inch. (This phenomenon is not covered in the user's manual.) • The annoying buzzer on the MX-80 can be turned off by use of internal switch 1-6. • The MX-70 (even though its character matrix is 5 by 7) produces a graphic matrix of 480 by 8 pixels per line. As for the Apple II interface, which does not transmit the high bit and, hence, the graphic characters, the peculiarity lies in the Epson-designed interface, rather than the Apple's memory. Our company produces and distributes an interface for the Apple II and the Epson printers that transmits all bits and all characters. We also produce a firmware printer-support card for the Apple II. In conjunction with our interface, this card will (in addition to many other functions) produce a low-re- solution graphic dump on the MX-80 us- ing the graphic characters and a high-reso- lution graphic dump on the MX-70, which is printed as eight graphic lines on each pass. Aninon Katz President Inverted — A Inc 401 Forrest Hill Ln Grand Prairie TX 75051 I have just purchased the MX-70 ver- sion of Epson's printer, and I would like to make two comments on the May 1981 BYTE article. First, the MX-70 can print with eight points, not seven, which means that with special software it is possible to print lowercase descenders by utilizing the graphics mode. Second, the Epson interface card for the Apple II computer has a link option for the most-significant bit that must be changed to allow this bit to get to the printer. The graphics mode requires a true 16-bit (2-byte) argument to instruct the printer as to how many bytes are to be in- terpreted as points on the print head. Also, a complete byte is required to define which print hammer is to strike. Before I discovered this, I had some weird effects every time I tried the graphics mode. I think the graphics mode is the most significant part of the MX-70 because it allows a large number of extra features to be defined by the user: • special-character sets • proportional spaces between characters • proportional spaces between words • overstrike, and • underlining Bruce Piggott 725 Flower City Pk Rochester NY 14615 Changing Names Gary Stotts's Apple Name-Address pro- gram is so useful that I made a modifica- tion for my own purpose. (See the April 1981 BYTE, page 32.) Although there is a way to change the address and telephone number of a person listed on the file, there is no way of changing a person's name. There may be reason to change the per- son's name: marriage, for example. I have added a few lines to the program to do just that. (See listing 1). Gino J Piazza 49 Browndale PI Port Chester NY 10573 Listing 1 1172 PRINT : PRINT "OLD: ";N$(I) 1175 PRINT : INPUT "NEW: ";N$(I) 1177 IF LEN(N$(I)) < 1 THEN 1175 ■ Credit Due We inadvertently omitted the credit line for the photographer responsible for the photographs in "A Look at NCC '81" (September 1981 BYTE). We apologize to Richard Faverty. October 1981 © BYTE Publications tac Announcing the WKAT 68000 Microcomputer System 150* ■ i M Standard Equipment 68000 Processor 256KB RAM 10 MB Winchester 5 1 /4" Floppy Disk Backup 2 RS-232 C Serial Interfaces Parallel Printer Port WICAT Operating System Multibus'" Choice of One Language WICATsyster Hardware Options Battery Backup Communications: Auto Answer and Auto Dial 1200 Baud Graphics CRT Videodisc Interface Call or write WICAT Systems for additional information. Language Support PASCAL C FORTRAN BASIC APL COBOL ADA LISP Assembler Software Options UNIX'7V7 CPM Emulator P.O. Box 539 1875 South State Street Orem, Utah 84057 801/224-6400 Circle 409 on inquiry card. UNIX is a trademark of Bell Labs. Multibus is a trademark of INTEL The IBM Personal Computer First Impressions Phil Lemmons 89 Remsen St Brooklyn NY 11201 IBM (International Business Machines Corporation) has at last introduced the keenly anticipated IBM Per- sonal Computer. Based on Intel Corporation's 8088 microprocessor, the new machine is slated to appear in stores this month, with various hardware options, at Photo 1: The new IBM Personal Computer is based on the Intel 8088 microprocessor and will be supported by software from well-known, independent sources. Shown here are the System Unit with two built-in 5-inch floppy-disk drives, the black-and- white video monitor, the adjustable keyboard, and an Epson MX-80 printer bearing the IBM label, all of which sells for $4385. prices ranging from $1565 to more than $5000. Color graphics are built in, and up to 256 K bytes of user memory may be installed. The hardware is impressive, but even more striking are two decisions made by IBM: to use outside software sup- pliers already established in the microcomputer industry, and to provide information and assistance to indepen- dent, small-scale software writers and manufacturers of peripheral devices. The list of software sources includes Microsoft, Digital Research, Personal Software, Peachtree Software, Softech Microsystems, and Information Unlimited Soft- ware. For hardware configurations including floppy-disk See us at Comdex '81 in Las Vegas. Booth §774. TVP e «0" P° s ^ « e 'Registered Trademark ol Digital Rii TURBODOSis a prod Soltware 2000. i 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). Ab 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. ■HHHMMnHMHHMMHnHHHHMHHHHM| 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 are all 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. 2835 East Platte Avenue Colorado Springs, Colorado 80909 n Colorado Call: (303) 634-1541 lairsi Circle 49 on Inquiry card. The 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 single-user computer with dual 8" double density diskette drives. drives, IBM will sell three different disk operating sys- tems: CP/M-86 from Digital Research, the UCSD p-Sys- tem from Softech Microsystems, and IBM Personal Com- puter DOS, developed by Microsoft in imitation of CP/M. IBM isn't trying to force the world to choose be- tween the IBM DOS and other popular operating sys- tems. The published documentation of IBM Personal Computer DOS will include the source-code listing of the BIOS (basic input/output system), and of the diagnostic programs executed automatically when the computer is turned on. The hardware uses an interconnection scheme different from the industry-standard S-100 bus, but IBM doesn't want to exclude anyone from developing plug-compati- ble printed-circuit boards for installation in any of the va- cant expansion slots inside the chassis. In fact, the com- pany plans to publish a hardware manual with drawings and industry -standard specifications. IBM's attitude toward support for independent hardware and software efforts was summarized by Don Estridge, Director of Entry Systems Business for the IBM Personal Computer. "IBM will provide information for the existing cottage in- dustry to design boards," Estridge said. "We're open to any software proposals." General System Characteristics The entry-level version of the IBM Personal Computer consists of the System Unit, which contains the 8088 microprocessor, a 40 K-byte built-in ROM (read-only memory) containing the extended version of Microsoft BASIC, a built-in speaker that can be programmed to play music, a power-on automatic self-test of system components, 16 K bytes of user memory in the form of semiconductor RAM (random-access read/write mem- ory), a combination video-monitor and printer adapter, and empty space for two 5-inch floppy-disk drives. In this minimal configuration, the system uses an audio-cas- sette recorder for mass storage and an ordinary television set as a video monitor. Not including the cassette recorder and monitor, the minimal system will sell for $1565. With a single 5-inch, 160 K-byte floppy-disk drive and 64 K bytes of user RAM, the price increases to $3005. An expanded business system with powerful color graphics, two floppy-disk drives, and an IBM-labeled Epson MX-80 dot-matrix printer costs $4500. In addition to the 40 K-byte ROM, the system has a 16 K-byte RAM buffer for graphics op- erations. None of the user memory is required by the sys- tem software. DATAFACE GRQ SERIES INTERFACE TURNS YOUR ELECTRONIC TYPEWRITER INTO A PRINTER/TYPEWRITER TheDatafaceGRQ-11 Inter- face expandsyourOlympiaES Series electronic typewriter into a letter press quality printer for your personal or busi- ness computer. And, you still have a fully featured electronic typewriter — two machines in one. The GRQ Series Interface features: 1. Standard EIA RS-233-C Serial Interface and Parallel (Centronics compatible). 2. Standard asynchronous ASC11 code, 7 bit data; 1 start bit; accommodates 1 or 2 stop bits automatically; accom- modates odd, even or absence of parity bit. 3. Fifty thru 9600 Baud data rate options. 4. Two K buffer; supports X-on, X-off protocol as well as RTS signals. 28 October 1981 © BYTE Publications inc 5. Circuit board is installed in- side typewriter back panel along side logic board. The connection between boards accomplished by 40 pin jumper cable using existing socket. No soldering required. Power is provided to the GRQ thru two pins of the 40 lead cable. Installation in 10 minutes. End user, Dealer, Distributor and OEM inquiries are wel- come. For additional details, specifications and computer compatibility contact: DflTFIFflCE inc. 2372 A WALSH AVE., SANTA CLARA, CA 95050 (408) 727-6704 Circle 111 on inquiry card. THE DAWN OF A NEW AGE The 2nd Generation is here! MEASUREMENT systems & controls proudly introduces its new and exciting "2nd Generation" family of S-100* compatible products. Each has been specifically designed for use with multi-user and network operating systems such as MP/M, CP/NET, and OASIS. Every product is fully tested and burned- in, comes with a 1 year guarantee, and offers you features not currently available from any other source. Z80 PROCESSOR BOARD — The most powerful CPU board available today. Outstanding features include 4MHz operation, high-speed serial and parallel I/O utilizing DMA or programmed control, eight vectored priority interrupts, and a real time clock. MULTI-USER SERIAL I/O BOARD — For use in expanded systems requiring up to eight additional serial I/O ports. Features include: 16 maskable * AH products meet the new IEEE standards. Systems a Division of MEASUREMENT systems &>. controls incorporated Circle 216 on inquiry card. vectored priority interrupts, RS-232C interfaces with full handshake, asynchronous or synchronous operation with asynchronous baud rates to 19,200. Available in four or eight channel versions. DOUBLE DENSITY FLOPPY DISK CONTROLLER BOARD- controls up to four 5 1 /4- inch or 8-inch disk drives using IBM soft sectored formats. It features 1K of on-board buffering, DMA controlled data transfers and the per- ^ formance character- istics of the superior NEC 765 chip. 64K BANK SELECTABLE MEMORY BOARD — Features include I/O port addressing for bank select with 256 switch selectable I/O ports for the memory bank addressing. The memory is configured as four totally independent 16K software-selectable banks, with each bank addressable on any 16K boundary. "Attractive Dealer & OEM Prices" ~ See your nearest computer dealer, or contact us for the complete story on The 2nd Generation. 1601 Orangewood Ave., Orange, CA 92668 TWX/TELEX: 910 593 1350 SYSTEMGRP ORGE Plug-in circuit cards of user RAM are available in three denominations: 16 K bytes ($90), 32 K bytes ($325), and 64 K bytes ($540). The user can increase the memory capacity to 256 K bytes using the available IBM boards and slots. (Outside companies could make a single mem- ory board containing 256 K bytes of RAM, or expansion boards that contain even more.) All user memory is 9-bit, with one bit devoted to parity check. An edge connector on the back of the System Unit looks as if it is longing for a hard-disk drive, but IBM is mum on that possibility. The 8088 processor communicates with memory and peripheral devices through an 8-bit data bus, but it con- ducts its internal affairs using the 16-bit instruction set of Intel's 8086 microprocessor. In the IBM Personal Com- puter, the 8088 operates at 4.77 MHz, with a cycle time for main storage of 410 nanoseconds; for access, the cycle time is 250 nanoseconds. Together, the System Unit, keyboard, and a monitor make a very smart, full-feature terminal. A six-foot coiled cable connects the separate keyboard to the Sys- tem Unit. You can adjust the keyboard's tilt toward you when it rests on a desktop, or you can hold it in your lap. The system supports both uppercase and lowercase char- acters, and all 83 keys have automatic repeat. Ten keys on the right side are for a numeric keypad and cursor controls, and ten special-function keys can be used for editing. The keyboard provides access to 256 characters, including all the ASCII (American Standard Code for In- formation Interchange) characters and many other char- acters useful for producing virtually any sort of graphics display. IBM sells an HVz-inch green-phosphor video monitor for $345. The monitor displays 25 lines of 80 characters each. You can adjust brightness and contrast or use soft- H 1 1 =, *=•■ t^^r^yr=;J; 1 A A MAJOR BREAKTHROUGH! C3 □ 20 MByt The SYSTEM 2800, designed for business, industrial and educational applications, Is now available with a 20 MByte Winchester Hard Disk and a 20 MByte Tape Drive for disk backup. Created to be innovative and com- petitive, the SYSTEM 2800 utilizes our existing line of field-proven and dependable "2nd Generation" S-100 Memory, Z80 Processors, Disk Con- trollers and Serial I/O boards. As a family of expandable micro- computers Intended for single and multi-user applications based on CP/M\ MP/M* and OASIS* \ the SYSTEM 2800 contains many big sys- tem features. Outstanding character- istics such as FAST operation make it a clear market leader. In fact, the SYSTEM 2800 Is one of the fastest Z80-ba8ed systems recently bench- marked by Interface Age magazine. "CP/M and MPIM ace Registered ■ademark of Phase On Other featues include the capabili- ty to BOOT from any drive Including the hard disk, and extensive error recovery. The error recovery prompts the user with detailed error messages and prevents system lock up, all too common to many other systems. Designed for easy service, the SYSTEM 2800 comes with two 8-inch drives: a choice of single or double sided, double density floppies with up to 2.52 MBytes of formatted storage; 10 or 20 MByte Winchester hard disk; and 20 MByte tape drive for disk backup. These enhanced features result in a lighly reliable, quality built, state-of- th Tape Backup the-art microcomputer that gives you the cost/performance edge you need to be a leader in your field. Dealers, OEM's and System In- tegrators share many common needs. Not the least of these is dependable products. That's why we back our SYSTEM 2800 with our established reputation for high quality, superior support, prompt and courteous ser- vice, an inclusive one-year warranty and comprehensive dealer support program. Take the next logical step. See your nearest computer dealer, or contaci us for the complete story on our S-100 family of board products and en- hanced systems. Systems .'•ot MEASUREi oraied 1601 Orangewood Avenue Orange, Calif. 92668 (714) 633-4460 92 1350 SYSTEMGRP Group I "died >od Avenue ; (714)633-4460 ) SYSTEMGRP ORQE ware to activate underlining, high-intensity blinking characters, and reverse video. With a color monitor, the IBM Personal Computer will support 16 foreground and eight background colors. In the medium-resolution graphics mode, screen resolution is 320 pixels (picture elements) across by 200 down. In the high-resolution graphics mode, resolution is 640 by 200 pixels. Text and graphics can be mixed, allowing you to label items in a graphics display. One Centronics-compatible parallel printer port and one RS-232C serial I/O (input/output) port are standard. An asynchronous communications adapter ($150) en- ables you to connect a modem to the serial port. IBM is even offering a Game Control Adapter ($55) that permits connection of user-supplied joysticks and paddles to the IBM Personal Computer. Sales and Service IBM's sales and service strategies show the computer giant's determination to develop quickly into a major force in the microcomputer market. Beginning this month, the company is marketing the Personal Computer nationwide in four ways: • through Computerland retail stores • through Sears, Roebuck and Company's new business- machine stores (IBM will train the Sears sales personnel) • through a special sales unit in the IBM Data Processing Division (for high-volume sales) • through IBM Product Centers, which will make provi- sions for installment purchases Only four Product Centers exist now, but IBM has selected many more cities around the country as sites for future centers. "In the course of the next two years," said C B Rogers, Jr, IBM vice president and group executive of the General Business Group, "we expect to be fairly well represented." IBM will offer a 5 percent discount on sales of 20 to 49 units, 10 percent on sales of 49 to 150 units, and 15 per- cent on sales of 151 units or more. Educational institu- tions will also receive discounts. _At a Glance. Product Name The IBM Personal Computer Manufacturer International Business Machines Corporation Information Systems Division Entry Systems Business POB 1328 Boca Raton FL 33432 When Available October 1981 Where Available Sears, Roebuck and Company's business-machines stores Computerland stores IBM Product Centers IBM Data Processing Division (volume sales) Components System Unit Size: width 20 inches, depth 16 inches, height 5.5 inches; weight (without disk drives) 21 pounds, (with two disk drives) 28 pounds Electrical needs: 120 VAC Processor: Intel 8088 Cycle Time: main storage, 410 nanoseconds; access, 250 nanoseconds Memory: 40 K bytes of built-in ROM (read-only memory), 16 K bytes of user RAM (random-access read/ write memory); expandable to 256 K bytes Standard: keyboard for data and text entry; audio-cassette recorder connector; five expansion slots for memory, display, printer, communications, and game adapters; built-in speaker for music program- ming; power-on automatic self-test of system com- ponents; BASIC-language interpreter; 16 K bytes of user RAM (all user RAM is 9-bit parity memory) Keyboard: 83 keys for data and text entry, 10 keys for numeric entry and cursor control, 10 special func- tion keys, and ASCII characters and special graphics characters (total 256 characters); automatic repeat on all keys; adjustable typing angle; detachable six-foot coil cable Disk drives: up to two 5-inch floppy-disk drives, 160 K bytes each Operating Systems IBM Personal Computer DOS (Microsoft) CP/M-86 (Digital Research) UCSD p-System (Softech Microsystems) Software Available for IBM Personal Computer DOS BASIC interpreter (Microsoft) standard; extended BASIC inter- preter (Microsoft) $40; Pascal compiler (Microsoft) $300; VisiCalc (Personal Software) $200; Easywriter (Information Unlimited Soft- ware) $175; General Ledger, Accounts Receivable, Accounts Payable (Peachtree Software) $595 each; asynchronous com- munications support $40; Adventure (Microsoft) $30 Hardware Prices System Unit, 16 K-byte RAM, keyboard $1265 System Unit, 48 K-byte RAM, keyboard single floppy-disk drive, disk-drive adapter 2235 Monochrome video display 345 Combination monochrome-display adapter and printer adapter 335 Color-graphics-monitor adapter 300 16 K-byte memory-expansion kit 90 32 K-byte memory-expansion kit 325 64 K-byte memory-expansion kit 540 Disk-drive adapter 220 Disk drive (5-inch floppy disks) 570 Asynchronous communications adapter 150 Game-control adapter 55 Keyboard 270 32 October 1981 © BYTE Publications Ire The guy on the left J ^esn't stand a chance. uy on the left has two file folders, a news maga- transmission couplers mean you need never work without oonHu/ir^h tho nanahilitioe ni tho OQRHRMF 1 Thot'c nnnri honanco • I The guy on the left has two file folders, a news maga zine, and a sandwich The guy on the right has the OSBORNE 1 ®, a fully functional computer system in a portable package the size of a briefcase. Also in the case are the equivalent of over 1600 typed pages, stored on floppy diskettes. The owner of the OSBORNE 1 is going to get more work done — and better work done — in less time, and with less effort. Unfold it, plug it in, and go to work like you've never worked before. . . . Go to work with WORDSTAR® word processing, so your correspondence, reports, and memos take less time to produce, and say more of what you wanted to say. And with MAILMERGE® — the mailing system that turns out personalized mass mailings in the time you'd spend on a rough draft. Go to work with SUPERCALC®, the electronic spreadsheet package that handles complex projections, financial planning, statistics, and "what if" questions in- stantly. For the more technically minded, SUPERCALC will process scientific data and calculate results. Go to work with powerful BASIC language tools — the CBASIC-2® business BASIC, or the Microsoft BASIC® interpreter. That's standard equipment. Options include about a thousand different software packages from a host of vendors designed to run on the CP/M® computer system. Go to work at the office, at home, or in the field. Or anywhere. Optional battery packs and telephone Circle 284 on inquiry card. transmission couplers mean you need never work without the capabilities of the OSBORNE 1 . That's good, because you won't want to work again without it. All for $1795. It's inevitable. The OSBORNE 1 is the productivity machine that's changing the way people work. Put simply, the machine delivers a significant productivity edge — day in and day out — to virtually anyone who deals with words or num- bers. Or both. Since the entire system is only $1795, it won't be too long before the guy on the left has an OSBORNE 1 of his own. The same probably goes for the person reading this ad. In fact, we think it's inevitable. The OSBORNE 1 includes a Z80A«'CPU,64K bytes of RAM memory, two 100 kilobyte floppy disk drives, a business keyboard, built-in monitor, IEEE 488 and RS232 inter- faces for printers and other things that get connected to computers, plus CP/M, CBASIC-2, Microsoft BASIC, WORDSTAR, and SUPERCALC. The system is available from com puter retailers nationally. $1795. It's inevitable. COMPUTER CORPORATION 26500 Corporate Avenue Hayward, California 94545 Phone (415) 887-8080 TWX (910) 383-2021 BYTE October 1981 33 IBM's service plans should meet or exceed those offered by other microcomputer manufacturers. For a start, IBM offers a 90-day warranty. Owners can extend warranties to a full year for between 7 and 9 percent of the purchase price of various system components, or buy annual ser- vice contracts for 10 to 15 percent of the purchase price of components. For example, an extended warranty for the System Unit costs $88; a maintenance contract for the System Unit costs $112. For the System Unit, disk drive, and disk-drive adapter, an extended warranty costs $154, and a maintenance contract costs $196. Service will be available at Sears, Computerland, and from the IBM Product Centers, regardless of where you bought the computer. Service contracts with the IBM Product Centers call for exchange of major system com- ponents. IBM will send a replacement keyboard, printer, or System Unit by courier within 48 hours of the owner's call. Three Ways to Generate Software Recognizing the advantage that an existing broad soft- ware base gives to CP/M-compatibie, Radio Shack, and Apple computers, IBM plans to meet the problem head- on with a three-part strategy. First, when the Personal Computer reaches stores this month, it will be accompanied by a software offer includ- ing some application programs ready to run with IBM DOS. Here's a quick look at what IBM is offering: • IBM Personal Computer DOS. This CP/M look-alike from Microsoft offers the familiar "A > " prompt charac- ter along with features for copying files and disks, com- paring files and disks, initializing disks, displaying a directory, renaming files, and other housekeeping chores. Although it has a debugger and a line editor, IBM DOS does not yet have an assembler. It seems safe to speculate that Microsoft is hard at work on that. • a cassette-level enhanced Microsoft BASIC interpreter that supports input/output instructions, use of the key- board, display, light pen, and printer, and many editing and mathematical functions. • a disk-level Microsoft BASIC that provides extensions including more powerful graphics, date and time-of-day functions, and communication capabilities; the enhanced graphics include such features as point, circle, and get/put display, and increased light-pen support for de- sign work ($40) • a Pascal compiler, also from Microsoft ($300) • VisiCalc, the electronic-worksheet program from Per- sonal Software • Easywriter, the word-processing program from Infor- mation Unlimited Software ($175) • an asynchronous communications program ($40) (This is written in BASIC and is menu-driven; the menu in- cludes an option for the Dow Jones Information Services, another for The Source, and another for teletypewriter- like communications. IBM soon will also offer a full subset of Model 3270 emulation capabilities so that the Personal Computer can appear to larger IBM systems as an IBM 3270 terminal.) • general-ledger, accounts-payable, and accounts-receiv- able packages, from Peachtree Software, but with color and other enhancements for ease of use ($595 each) • Adventure, the fantasy-simulation game, from Micro- soft ($30) The second part of IBM's software-development strategy is to offer Digital Research's CP/M-86 operating system and Softech Microsystem's UCSD p-System (which includes UCSD Pascal). Purchasers of these oper- ating systems will have access to many third-party pro- grams as they become available. IBM says it expects the availability of these operating systems to provide the op- portunity for many current applications to be transferred to the IBM Personal Computer with minimal modifica- tions. This approach will enable owners of the IBM Per- sonal Computer to use a tremendous amount of software originally written for other common machines. Users can have everything that IBM offers without giving up soft- ware for the other two operating systems. The third part of the IBM software strategy is to establish its own Personal Computer Software Publishing Department. The new department will solicit software from outside authors, both professional and amateur. IBM will send software-submission information packets to anyone who writes to IBM Personal Computer Soft- ware Submissions, Dept 765, Armonk NY 10504. IBM will also encourage its employees to write software for the personal computer (on the employees' own time). Authors will receive quarterly royalties based on actual sales. A Shaking Out? For those of us who dislike giants, the IBM Personal Computer comes as a shock. I expected that the giant would stumble by overestimating or underestimating the capabilities the public wants and stubbornly insisting on incompatibility with the rest of the microcomputer world. But IBM didn't stumble at all; instead, the giant jumped leagues in front of the competition. Although the IBM Personal Computer has not (as of this writing) reached store shelves, it already seems to hold a firm position in the field. Its prices seem to compare favorably with available 16-bit S-100 systems. Furthermore, the cost of an IBM Personal Computer configured for word processing is not much more than that of an Apple II Plus, an Intertec Superbrain, or most other 8-bit machines fully equipped for word processing. A superior machine from the start, the IBM Personal Computer should grow in capability as outside vendors begin pro- ducing peripheral devices and add-on hardware for special applications. In fact, the only disappointment about the IBM Per- sonal Computer is its dull name. One rumor claimed that IBM referred to this computer internally as the Acorn. To me, it looks more like a Mighty Oak.B 34 October 1981 © BYTE Publications Inc STRUCTURED SYSTEMS FINANCIAL SOFTWARE. LESS IS CHEATING YOUR OWN Penny wise and software foolish. One of fhe best ways to cheat your business is to waste a whole lot of time on solutions that don't work, or that can't grow with your business. And frankly, we get phone calls every day from computer users who've tried to get by on "bargain" software, and found that "bar- gain" software is the most expensive kind a business can own. Here's a fact: if you have a real need for a computer in any of these areas: General Ledger Accounts Receivable Accounts Payable Order Entry Inventory Control Payroll, any business software less than Structured Systems Financial Software is cheating your business. You'll cheat yourself out of lots of time. Time spent with systems which aren't designed for high volume use. You'll cheat yourself out of reliable audit controls and reliable error prevention features. Out of the training you invest in a system you outgrow when you need to add more disk storage, more customers, more data. You'll be cheating yourself out of a soft- ware bargain in the truest sense of the word — the greatest value for your dollar. CP/M® microcomputer systems can do the job of minicomputers. Structured Systems software makes that po- tential a reality. Right now, hundreds of businesses are profiting from the financial controls and operating efficiency of f SSG financial software So can yours. r Take it easy on yourself. But sentence your computer to hard labor. Please send more information on your O General Ledger D Accounts Payable Name soul „*>&& s C, A14[T> A13Qj> A12[T> DS[2T> R/W (2fl> AS[2g> All[W> A10[F> A9[Y> A8[T> A7/D7(j> A6/D6|T> A5/D5[6> A4/D4[T> A3/D3(T> A2/D2[n> Al/Dl[l0> A0/DO|T> Figure 4a: Schematic diagram of the buffer-memory section of the intelligent EPROM programmer. This circuit expands the read/write memory capacity of the Z8-BASIC Microcomputer, and it may be used independently of the EPROM-programming inter- face. 42 October 1981 © BYTE Publications Inc fi i i &Q &&&&&&&& TS 3 .00 U u I Si £ £ .S £ » a £ g *> a. P § °- 5 £ g"E UJ 3 *, -a K H-, §0 ° •3 s S B ~ oj • s s ** -c o s @B THEN @2=128 :GOTO 130 3070 GOSUB 1300 3080 GOTO 3050 5000 REM ENTER TERMINAL EXERCISOR PROGRAM HERE 5010 GOTO 130 October 1981 © BYTE Publications Inc 47 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. Text continued from page 45: capability to an otherwise simple project. Next Month: // you've wanted to use a switching-type power supply in your projects but didn't know how to go about it, you will have an opportuni- ty to find out as I explore this topic in November. ■ References 1. Ciarcia, Steve. "Add Nonvolatile Memory to Your Computer," December 1979 BYTE, page 36. Reprinted in Ciarcia's Cir- cuit Cellar, Volume II. Peterborough NH: BYTE Books, 1981, page 129. 2. Ciarcia, Steve. "Build a Z8-Based Control Computer with BASIC, Part 1," July 1981 BYTE, page 38. 3. Ciarcia, Steve. "Build a Z8-Based Control Computer with BASIC, Part 2," August 1981 BYTE, page 50. 4. Ciarcia, Steve. "Program Your Next EROM in BASIC," March 1978 BYTE, page 84. Reprinted in Ciarcia 's Circuit Cellar, Volume I. Peterborough NH: BYTE Books, 1979, page 39. 5. Component Data Catalog. Santa Clara CA: Intel Corporation, 1980. 6. Condra, David L. "Interfacing the S-100 Bus With the Intel 8255," October 1979 BYTE, page 124. 7. Gable, G H. "Zapper: A Computer-Driven EROM Programmer," December 1978 BYTE, page 100. 8. Greene, Robert, George Perlegos, Phillip Salsbury, and William Morgan. "The Big- gest Erasable PROM Yet Puts 16,384 Bits on a Chip," Electronics, March 3, 1977, page 108. 9. Greene, Robert, and Frank Louie. "EPROM Doubles Bit Density Without Ad- ding a Pin," Electronics, August 16, 1979, page 126. 10. Lewin, Douglas. Theory and Design of Digital Computer Systems, second edi- tion. New York: Halsted Press, a Division of John Wiley, 1980. 1 1.Smith, Roger L. "More Information on PROMs," May 1976 BYTE, page 28. Editor's Note: Steve often refers to previous Circuit Cellar articles as reference material for the articles he presents each month. These ar- ticles are available in reprint books from BYTE Books, 70 Main St, Peterborough NH 03458. Ciarcia's Circuit Cellar covers articles appear- ing in BYTE from September 1977 through November 1978. Ciarcia's Circuit Cellar, Volume II presents articles from December 1978 through June 1980. To receive a complete list of Ciarcia Circuit Cellar kits available from the MicroMint, circle 100 on the inquiry card. Circle 322 on inquiry card. New from HIPL0T M 6-pen plotting for as little as $1480*. And you can retrofit your present single pen HIPL0T for only $395. The new HIPL0T DMP Series 6-pen option makes high perfor- mance multi-pen plotting affor- dable. It's available on the DMP-2, 3 or 4 models in the HIPL0T family so you can enjoy the ad- vantages of multi-colored plots on surfaces of 8Vi" X 11" (DIN A4) or 11" X 17" (DIN A3). Of course, you also get the standard HIPL0T range of capabilities such as intelligence, controls, interfaces and resolutions. There's a model for virtually every plotting application. line which made low-cost, high performance digital plotting a reality. Big Performance in a Small Plotter Since it's introduction, the HIPL0T DMP Series has been rec- ognized as the innovative plotter TM Trademark of Houston Instrument. U.S. Suggested retail prices. Centronics' registered trademark ol Centronics Data Computer Corp. Now, with our new 6-pen option, there's an exciting new dimension in the DMP Series' ver- satility. Imagine standard models with RS-232-C and parallel inter- faces, intelligent models with RS-232-C or Centronics® compa- tible interfaces, a choice of con- trols, resolutions, and pen speeds. Add to this the ability to plot with 6-pens on paper, vellum or Mylar (ideal for overhead projectors) and you have the ultimate plotter price/performance combination — the perfect choice for the user or OEM. Circle 169 for literature Circle 170 to have representative call Easily Retrofitted to Existing HIPL0T Models If you already have a single pen DMP-2, 3 or 4, don't despair. For as little as $395* you can upgrade these models with our 6-pen conversion kit. It's simple to do . . . and the complete change can be made by the user in only six minutes. So why wait? Let us send you complete information on this breakthrough in affordable, multi- pen plotting. Contact Houston Instrument, One Houston Square, Austin, Texas 78753. (512) 837-2820. For rush literature requests, outside Texas, call toll free 1-800-531-5205. For technical information ask for operator §5. In Europe contact Houston Instrument, Rochesterlaan 6, 8240 Gistel, Belgium. Phone 059/27-74-45. houston instrument GRAPHICS DIVISION OF BAUSCH&LOMB Ultra-Low-Cost Network for Personal Computers Ken Clements and Dave Daugherty Pacific Polytechnical Corp POB 2780 Santa Cruz CA 95063 Ten years ago, computer "hackers" listened with glee to predictions that technological advances would soon allow them to buy their very own computers. Indeed, the seers predicted, the computers of the future would fit into a spare bedroom or basement and wouldn't even require air conditioning. The word went out: start saving $100,000 to be ready when that great time came. The time came with a vengeance. Today you can hardly take twenty paces around a technical organiza- tion, school, or office without bump- ing into or being addressed by yet another computer. One of the sad outcomes of this ex- ponential growth was creation of the computer junkie, the unfortunate soul who went out and bought each of the newest computers he or she could afford. The junkie ended up with a basement full of equipment and a computer habit that could be satisfied only by more spending. Just when the future was looking grim for these computer junkies, salvation took form and appeared on college campuses. Perhaps the best explanation came from a recruiter from the giant Xmumblex Corp, who took a young graduate aside and whispered, "I have just one word for you: networks." The big-computer companies and an army of computer scientists ap- parently will be going network crazy for the next ten years. This develop- ment thrills the computer junkies because it provides more computer "stuff" to get excited about. And, the junkies calculate, if they could get their own personal networks going, ULCNET TWO-CONDUCTOR CABLE Jr •2K V v V D, I r RECEIVED TRANSMITTED SIGNAL DATA DATA GROUND RECEIVED TRANSMITTED SIGNAL DATA DATA GROUND RS-232 DB25P CONNECTOR RS-232 DB25P CONNECTOR Figure 1: Simplest version of ULCNET. The addition of a diode, cable, and terminating resistors converts RS-232 ports into a basic network for personal computers. they might be able to string together all the "coldware" collecting dust in their basements. What stops most people from going ahead with their own networks is complexity, both in terms of cost and technical considerations. A typical coaxial network "box" may be as dif- ficult to build and interface as was the computer you wanted to network. This stumbling block is particularly large for the computer junkie who owns no two pieces of hardware that are the same. He must come up with a new interface for each one. But almost all those pieces of hard- ware have at least one RS-232 serial port. RS-232 was designed to provide point-to-point communication, and it requires some central manager "box" to produce a network. But with as lit- tle as one diode per port, two resistors for the ends, and a — 12-volt (V) source, you can turn RS-232 into ULCNET, the Ultra-Low-Cost Net- work. Simple Technique The primary technique for this transformation is shown in figure 1. It is amazingly simple: just connect a diode in series with the transmit line, then connect the receive line and the diode to your cable. At the ends of the cable you will need resistors to "pull down" the line to — 12 V and to help soak up reflections. Serial com- munications via RS-232 are usually not too fast, so the type of cable and exact terminations are not critical. SO October 1981 © BYTE Publications Inc Please call (213) 883-8594. Our Epson prices are so low, we're not allowed to print them. $ 1 30 95 30 00 60 70 SERIAL INTERFACE (2K BUFFER) SERIAL CABLE Male to Male DOT RESOLUTION GRAPHICS REPLACEMENT RIBBON REPLACEMENT PRINT HEAD (Quiel type) EPSON SERVICE MANUAL EPSON MX-80 SCALL EPSON INTERFACES & OPTIONS 80 cps/9x9 matrix/Lower case with trs-so model i. hi cable true deSCenders/Bl-direCtional & TRS-80 MODEL I Keyboard Interface Logic seeking/Adjustable tractor/ ™S?rf^eTcable 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'/2 inch carriage for print- ing 132 columns with standard 10 cpi font or 232 columns in the com- pressed character font. The MX-100 is complete with Dot Resolution Graphics 31245 La Baya Drive, Westlake Village, California 91362 Circle 13 on inquiry card. 149 30 90 13 40 40 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, of 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 for standard UPS shipping and handling on orders under 50 pounds, delivered in the continental U.S. Call us for shipping charges on items thai weigh more than 50 oounds. Foreign, FP0 and AP0 orders please add 15% for shipping. California res- idents add 6% sales lax. BYTE October 1981 51 ULCNET SHIELDED, TWISTED-PAIR CABLE RED WIRE .--SHIELD RED WIRE OOOOCK A 1N4933 V & 1N4933 RECEIVED DATA TRANSMITTED DATA SIGNAL GROUND RECEIVED DATA TRANSMITTED DATA RS-232 DB25P CONNECTOR RS-232 DB25P CONNECTOR i L controller to add disk storage to the Color Computer. The Disk Operating System — an en- hanced version of the Color Computer's Extended Color BASIC language — is completely contained in the Program Pak, so you get a full 156K-bytes of on-line storage. Easy to Use. The 16K TRS-80 Color Computer lets you create sophisticated color diagrams, business charts and even simple animation — using just a few simple one-line commands! This gives experienced program- mers incredible power, yet makes it easy for beginners, too. We take you from the ground up with over 500 pages of easy-to-read documentation. Instant Fun and Games. And just for fun, you can plug in any of our game cartridges. Battle starships in outer space, conquer dinosaurs from a prehistoric world, or just brush up on your chess. Fully expandable. Your TRS-80 Color Computer Disk System can expand with up to four drives for over 626,000 characters of storage! And the additional drives are only $399 each. Add up to 16K more mem- ory, a printer and other accessories anytime. Radio Shack's TRS-80 — The Best-Supported Microcomputer in the World! The TRS-80 line of computers is backed with a wide selection of accessories, soft- ware, and service. We can even show ^ you how to get up-to-the-minute news, current stock market reports and even electronic mail using your TRS-80! It's all available today at ovet 8000 Radio Shack stores and dealers, and at 185 Computer Centers nationwide. U198 16K-1 Disk System (TV not included) Stop by your neatest Radio Shack and see what's teally new in personal com- puters. Or write: Radio Shack, De- partment 82-A-123, 1300 One Tandy Center, Fort Worth, Texas 76102 Radio ShaeM The biggest name in little computers A DIVISION OF TANDY CORPORATION Retail prices may vary at individual stotes aod'dealers SOT TO ADDRESS FROM ADDRESS MESSAGE NUMBER BYTE COUNT MESSAGE 1 D DATA CHECKSUM Figure 6: Proposed message format. Various fields are included in each message to help the network software ensure reliability of the system. accepts requests for registration, deregistration, and name queries. Special generic addresses also can be set aside for special purposes. For instance, the nameserver could be assigned a generic address to be used by all nameserver-related messages, making it unnecessary to know which node the nameserver is actually on. Another generic address could be set aside to represent a broadcast message — one that all nodes on the network would want to receive. A typical use of a broadcast message is sending a company-wide memo to all employees on the network. The generic address eliminates the need to address the same memo to each per- son on the net. Special types of nodes such as mass-storage nodes or printers can have their own addresses. For exam- ple, the address M might be reserved for the printer node. If there is only one printer on your net, M would mean that printer. If there is more than one printer on the net, an addi- tional field called the logical printer number could be used to specify the printer for which the message is destined. Message Formats A message is a predetermined se- quence of fields by which two nodes communicate. A message normally consists of several parts: the header, the body, and some kind of error- checking mechanism, such as checksum, at the end. The structure allows for much variation. The basic component for constructing a message usually is a byte. A field is defined as one or more fcA^^L^ Speech synthesis using 1*5^"^ the Votrax SC-01 with the •TM ads ttOTiHEiALKE^! • 64 PHONEMES AND 4 INFLECTIONS PROVIDE AN UNLIMITED VOCABULARY THAT IS USER PROGRAMMABLE • PROGRAMMABLE OSCILLATOR FOR PITCH CONTROL GIVES YOU MORE NATURAL SPEECH OR MULTIPLE VOICES • EXTENDED DEVICE OPTION • UP TO TWO WAIT STATES • EASILY PROGRAMMED IN BASIC! Write or call for complete details Ackerman Digital Systems, Inc. •votrax is 110 No. York Rd., Suite 208 of tr F a e d d e eTaT k Elmhurst, IL 60126 Screw Works (312)530-8992 bytes that designate a particular sec- tion of a message. Typical fields in a message are shown in figure 6 and ex- plained below. • SOT: start of transmission. This byte is useful for informing all receivers that the beginning of a message is now on the net and that the next byte will be the address byte. Obviously, the byte must not be con- fused with bytes in the middle of a message. • To Address: the address of the in- tended receiver. • From Address: the address of the node that transmitted the message. As will be shown later, this field is important for sending acknowledg ments back to the transmitter. • Message Number: a unique number that distinguishes one message from the next. The usefulness of this field will be illustrated in the sections of this article dealing with duplicate messages. • Bytecount: tells a receiver how many bytes to expect in the message body. It can be used as a receive loop counter, to be decremented each time a byte is received. When the counter equals zero, the user knows the checksum byte will follow im- mediately. • Message ID: distinguishes three types of messages within a network system. The data message contains the essential information to be transmitted from one node to another. The message acknowledg- ment acknowledges a data message, and the third type of message, ACKACK, acknowledges a message acknowledgment . • Data: zero or more bytes of infor- mation that follow the Message ID. • Checksum: the error-checking byte, computed as the n-bit sum of all the bytes in the message (except the SOT byte and the checksum itself). The transmitter sums up all the bytes in its transmitted message and "ships out" the lower n bits of that sum as the last byte of the message. Meanwhile, the receiver does the analogous operation on the message it receives. If all the characters were received correctly, the receiver's lower n-bit sum should match the transmitter's checksum. 58 October 1981 © BYTE Publications Inc Circle 5 on inquiry card. V"* e World's First « * MacroComputer — _ 11 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. DataMagic 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 16 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 361 on inquiry card. 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! System/48* 5075 S. LOOP EAST, HOUSTON, TX. 77033 (713) 738-2300 TWX. 910-881-3639 V COPYRIGHT TEI, INC. 1981 * REG TM OF TEI. INC. 1981 Circle 130 on inquiry card. 68000 y? on the S-100 Bus? YES, AVAILABLE NOW FROM DUAL SYSTEMS! D 8 mHz 68000 microprocessor. □ 16-megabyte direct addressing. □ 32-bit internal arithmetic. □ Minicomputer type instructions including MULTIPLY. D FULL IEEE-696 S-100 compliance. Runs with all 4 mHz S-100 boards and automatically runs faster when accessing Dual Systems memory boards, for FULL SPEED OPERATION OF THE 68000. □ Powerful vectored interrupts. 7 Vectored interrupts, including NMI, as well as alternate mode having up to 256 interrupts. □ On board monitor ROM for immediate use. □ Connector for future addition of memory management unit for multi-user operating systems. D Built to the highest industrial standards with 200 hour burn-in. system reJiability/system integrity DUAL SYSTEMS CONTROL CORPORATION 1825 Eastshore Hwy., Berkeley 94710 (415) 549-3854 ■ TWX 910 366-2035 CPU/68000 CPU board $1195 32K-byte 8/16-bit NONVOLATILE RAM board, for secure storage of programs you are developing. Allows FULL SPEED CPU operation. CMEM-32K, per 32K-bytes . . $895 32K-byte 8/16-bit EPROM board, EPROM-32K $395 Serial I/O board, SIO-2 $285 All of the above with cabinet, power supply and backplane $3685 OEM and Dealer pricing is available. Sales representatives in most metropolitan areas. Layering the Tasks The network software can be broken up into three separate layers for implementation (see figure 7). These layers are the basic transmitter and receiver subroutines, the pro- tocol layer, and the application pro- gram. Breaking up the network soft- ware in this manner is useful because it allows the implementer to concen- trate on a subset of network functions without having to give much con- sideration to the rest of the functions. As an added benefit, the layered structure limits the software modifi- cations needed in order to bring up networking capability for particular network tasks and particular machines. As an example, let's say network software is to be brought up on two of the same type of microcomputers, each having a different serial inter- face. Subroutines in the transmit- ter/receiver layer that specifically deal with the serial interface are the only parts of the network software that need changing. On the other end, a printer-application program and a disk-write program should be able to use the same protocol layer and transmitter/receiver layer. The Transmitter A buffer and a byte count are the necessary parameters this routine needs from the protocol layer. The transmitter should neither know nor care what type of message is in the buffer. First, the transmitter will need to know if anyone else is currently us- ing the network. In an interrupt en- vironment, this can be determined by a flag set when a character is received and reset when a carrier-detect inter- rupt occurs. If the flag is reset, therefore, it shows that the network is not in use. If the transmitter is to be im- plemented without the aid of inter- rupts, it will be necessary to wait the length of time needed to receive one character (based on the data-transfer rate). If no characters are received in this time, it is assumed no one is in the middle of transmission. Once it has been determined the network is not busy, the transmitter must send out the SOT field. A APPLICAT iGM PROGRAM PROTOCOL LAYER TRANSMITTER-RECEIVER ROUTINES Figure 7: Network protocol is based on the layer concept. Applications programs deal at a high level by letting the under- ; /i/t/i'fs (/u the dirty work potential "race" problem resulting in a collision could occur at this point, since two transmitters could con- ceivably start this transmission simultaneously. Because the network is set up so that transmitters receive what they transmit, the received character should always be compared to the haracter that was just transmitted, ll the two characters do not match a collision has occurred. Later, we will decide how to recover from such a collision. Assuming the transmitter received what it transmitted, it continues to ..■ml tun bytes until all, including 1 1 it- checksum, have been sent. II the ii msmitter is interrupt-driven, it m.i\ want to set a flag to inform the pro- tocol layer that transmission was suc- essful. For a transmitter running without interrupts, this information could be returned as a parameter to the routine that called the transmit- ter. The Receiver A receiver activated by interrupts will be able to synchronize with the beginning of a message by the carrier- : if( I inti'i i up! th.it oc( ins .ittei tin end of any message. Receivers without interrupts or latched carrier- detect pulses must repeatedly wait until a whole character time has gone by without receiving anything. The next field to be received should be the SOT field. II it is not, it will be necessary to go back to the previous step until an SOT is detected. Once the SOT is detected, the next field should be the Destination Ad- dress. When this field is received, it should be compared with the receiver's own address to determine whether the message is intended for this receiver. If your network sup- ports broadcast messages, all 60 October 1981 © BYTE Publications Inc HE GR4PHIC DIFFERENCE BETWEEN ATARI COMPUTERS AND ALL OTHERS. KM LaJ v~. ^ STATF.5 ftHO CAPITAL 3 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 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. Circle 35 on inquiry card. Computers for people. fyj A Warner Communications Company )1981 Atari, Inc. Circle 131 on inquiry card. The Ultimate IEEE S-100 Memory Would... □ BE NONVOLATILE holding data for up to eight years with the power off. □ RUN AT 6 MHZ without wait states. □ RUN IN 8 OR 16-BIT systems with 8 or 16-bit wide data paths. □ HAVE EXTENDED 24-BIT ADDRESSING and bank select. □ HAVE DYNAMICALLY MOVABLE WRITE PROTECT AREAS to prevent accidental erasure or programs and critical data. □ GENERATE POWER-FAIL interrupts for orderly system shutdown & power failure recovery. ...Available Now from Dual Systems The Dual Systems CMEM memory boards combine high- speed CMOS memories with new 5-10 year lithium batteries to give you the nonvolatility of an EPROM board while retaining the instant writability of a high-speed read/write RAM. These industrial grade boards are ruggedly built and are burned-in for 200 hours. □ CMEM-32K, 32K-bytes . . . $895 □ CMEM-16K, 16K-bytes.... $795 □ CMEM-8K, 8K-bytes $6 l )S OEM and Dealer pricing is available. Sales representatives in most metropolitan areas nr? system reliability/system integrity DUAL SYSTEMS CONTROL CORPORATION 1825 Eastshore Hwy., Berkeley 94710 (415) 549-3854 • TWX 910 366-2035 receivers must check to see if the message is a broadcast message. Ad- ditionally, printer and disk storage nodes must also check to see if the destination address is their generic address. If no address match exists, the receiver should go back to hunt- ing for an SOT field (unless this receiver is a gossip monger). If the message is addressed to a par- ticular receiver, the address and all subsequent bytes should be received and summed together for comparison with the checksum byte at the end of the message. If your particular net- work uses parity, the message should also be checked for each character received. The receiver should not care what type of message was received; it should simply inform the protocol layer of receipt. With an interrupt- driven receiver, a flag can be set at completion to inform the protocol layer. Additional information, such as whether any errors occurred dur- ing the message, could also be com- municated to the protocol layer via common memory. If the receiver is not interrupt-driven, this information can be passed back as parameters to the protocol layer. The Protocol Layer For the following discussion, source will be defined as the node that transmitted the original message, and destination as the node to which the message was addressed. When computer A sends a message to computer B, there is no guarantee that computer B will receive it. Many things could go wrong. There might be a loose connection somewhere. Computer B might not be running, or it might not be listening to the net. Computer C could start transmitting at the same time as computer A. Protocol schemes detect and cor- rect such situations. Protocol is basically a conversation between a source and a destination, trying to en- sure that what the source transmitted was actually received by the destina- tion. The simplest protocol is one in which the source sends a message to a specific destination and assumes the message arrived. If your network is in good working order and you know that a particular destination is run- ning properly, this protocol will be sufficient most of the time. You prob- ably would want to use this protocol, for example, when you are sending messages to your friend Carol, who is using computer B. If she is there, she will probably send a message back, thereby acknowledging that she received your message. You'd also use this protocol for broadcast messages, to prevent the net from get- ting jammed by everyone trying to send acknowledgments at the same time. When you are doing things on your net, such as writing a file to a disk, assuming the file got there is not enough. You need some real acknowledgment that the file got to the disk. If no acknowledgment comes back from the destination, or if the destination returns to the source an acknowledgment stating that the disk is full, the source will have to take some error-recovery measures. These are discussed later. What happens if the destination receives a correct message and sends back an acknowledgment that is not received by the source? In this case, the source thinks its original message did not get through, but it actually did. To avoid this situation, an acknowledgment of an acknowledg- ment received (ACKACK) can be added to the protocol. If after sending an acknowledgment, the destination does not receive the ACKACK, it will have to take some kind of error- recovery action. What happens if the source receives the acknowledgment and sends the ACKACK, but the destination does not receive the ACKACK7 Somebody has got to have the last word, and there can be no guarantee that a message and all its associated pro- tocol are transmitted and received successfully. Especially on a low- speed network, the criterion for deciding how much protocol to use is "as little as possible for a particular application." An intelligent system might provide all three types of pro- tocol (ie: message, message-ACK, and message-ACK-ACKACK) and allow the application program to decide which one to use. 62 October 1981 © BYTE Publications Inc Meet fheTiger with, ogger Dite. Introducing the remarkable 132-column Paper Tiger™ 560. The first full-width matrix printer to give you fully formed characters for a low $1394.* The new 560 features a staggered nine- wire ballistic type print head that overlaps dots in both horizontal and vertical planes. It bi-directionally prints up to 150 dense, text quality characters per second. The 560 also features a reliable cartridge ribbon that lasts up to four times as long presents a breakthrough in matriK printim ering the user excellent print quality wit: ce of a matrin printer. Employing a uniq red column" head manufactured by Integr creates high quality printouts by overla columns, parallel and serial interfaces, self- diagnostics, and more. All inside the most compact printer of its kind. Need more stripes? Dotplot,™ our high- resolution raster graphics package, is stan- dard on every 560. For data processing, word processing and small business applications, this is your Tiger. The business-sized Paper Tiger™ 560. It's a Tiger you can count on. Call TOLL FREE 800-258-1386 (In New Hampshire, Alaska and Hawaii, call 603-673-9100.) Or write: Integral Data Systems, Inc., Milford, NH 03055. Paper Tiger 560 Print Sample as spool and cassette ribbons, separate heavy-duty stepper motors to drive the print head and advance the paper, plus true tractor feed. And famous Paper Tiger performance comes with every new 560. Like fixed or proportionately spaced text, programmable tabbing and business forms control, auto- matic text justification, print formats to 220 pciper Tiger 560 |£) Jlntegral Data Systems, Inc. Circle 180 on inquiry card. 'Suggested U.S. retail price. BYTE October 1981 63 Circle 132 on inquiry card. Toughest Boards in Town... IEEE 696/S-100 NON-STOP CLOCK Keeps time with power off. Our industrial clock utilizes a new lithium battery for 3-9 years use. Easiest clock to program you'll ever see. Runs in all S-100 systems. □ Year, date, hrs, mins, sees, msecs. □ Uses new LSI CMOS chip. □ Vectored interrupts. □ CLK-24 S250 A/D CONVERTER IEEE696/S-100 AIM-12 industrial standard module designed for industrial analog-to-digital use. □ Runs in all S-100 systems. □ 32-channel, 16-differential □ 12-bit resolution/accuracy. □ 25-microsecond conversions. □ Instrumentation amplifier. □ BASIC program provided. D AIM-12, S695 or S785 w/1-1000 gain transducer amplifier. D/A CONVERTER AOM-12 IEEE696/S-100 industrial level digital-to-analog (D/A) converter. □ 12-bit ± 1/2 L.S.B. accuracy over full 0-70°C temperature range. □ Outputs 0-10, + 5, or ± 10 volts. □ Short circuit protection, all outputs. □ Switch-programmable for multiple boards. □ AOM-12, S575 VIC 4-20 Standard output for industrial control 4-20 mA D/A converter. Used in conjunction with the D/A board. VIC4-20, S445. DUAL 77 Data Acquisition and Control System- Built to industrial standards; designed for severe environments. BASIC language makes programming easy. Access to hundreds of sensors. Expandability to meet your increased needs. Nonvolatile memory. Power interruption recovery with automatic restart. DUAL 77 is economical; S5985 &up. system reliability/system integrity DUAL SYSTEMS CONTROL CORPORATION 1825 Eastshore Hwy., Berkeley 94710 (415) 549-3854 ■ TWX 910 366-2035 Error Recovery What should be done when a message was sent and no acknowledgment came back? Or when an acknowledgment was sent but no ACKACK came back? Both these cases call for a timing mechanism. A source that transmit- ted something and is expecting a reply from the destination must wait a cer- tain amount of time for that reply to come back. If the reply does not come back within that time, it will be assumed an error condition exists. How long should this time be? There is no way to guarantee that a destination really did receive the message and will transmit an acknowledgment within the time the source has set. The waiting time, then, should be more than long enough to cover any reasonable situa- tion. Once the source has waited a set amount of time without receiving a reply, a reasonable action would be to retransmit the original message at least once more, and again wait the specified amount of time for a reply. The same strategy could be used by the destination when it sends acknowledgments and waits for an ACKACK. If you are doing your net- work without the aid of a hardware timer, you will need a time-counting subroutine that continually checks to see if a reply was received, and decrements the counter. If the counter reaches before a reply is received, then a timeout error exists. If your software has access to a hardware timer, you can use it to set an inter- rupt. If no reply is received after repeated attempts to transmit a message, there is nothing to do but give up and report the problem to the program that initiated the network call. This retransmission scheme in- troduces another problem. Suppose the source sends a message that is received by the destination, but the destination sends back an acknowledgment that is never received by the source. After timing out, therefore, the source retransmits the original message, and the destina- tion receives it a second time. The Message Number field, along with the From Address field, can be used to correct such situations. All receivers should keep a list of the last n messages received. The list need contain only the message number and the From Address. When a new message is received, the list should be examined for a match. If a duplicate is detected, the message should be "dumped," but the ap- propriate response should be sent back to the transmitter of the duplicate message. If the duplicate was an original message, an acknowledgment should be sent back, or if the duplicate message was an acnowledgment, an ACKACK should be sent back. Collisions are another issue. Assuming that all transmitters check the state of the network before start- ing transmission, collisions can hap- pen only when two or more transmit- ters start their transmissions within one character time of each other. When collisions happen, all transmit- ters involved should immediately stop transmitting and allow the net- work to return to the "not busy" con- dition. Now some kind of mechanism is needed to tell colliding transmitters when they can start transmitting again. If they all wait an equal amount of time, they will collide again. Therefore, they must all wait different lengths of time. One way to ensure this setup is to establish a priority order based on node address. If a node with the ad- dress of 1 collides with a node with the address of 3, then node 1 will wait one unit of time before attempting retransmission, while node 3 will wait three units of time. One problem with this scheme is that under heavy load conditions where collisions are more frequent, nodes with high address numbers may never be able to get a message through because they must wait so long after each collision. A fairer scheme would be one in which each node has a random- number generator guaranteed to create a unique sequence of random numbers. All nodes would then have 64 October 1981 © BYTE Publications Inc 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 NCORPOR AT ED 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 IB, 1982. Allow 30 days for delivery. Limit one per person/ address !_L002 equal priority in retransmissions after collisions. A Typical Application Program As an example of a typical applica- tion program, let's consider a request to a filing system on a hard-disk node. The "save" request would first want to send to the filing system a message containing the file name and the number of sectors to be saved. The request probably would ask the protocol layer to expect an acknowledgment and allow the pro- tocol layer to take care of retransmis- sions if necessary. Along with the acknowledgment would come infor- mation from the filing system in- dicating whether or not the request can be accommodated. If it cannot be accommodated, the request program must report the failure to its caller. If the request can be accom- modated, the save request program must break up the file to be saved into convenient blocks (probably a disk sector). When errors occur during transmission, it is more economical to retransmit small blocks than large ones. In either case, the save request should send an ACKACK to the filing system to say it agrees to what the fil- ing system considers the state of the request. Once the file has been partitioned into blocks, the save request should hand them in sequence to its protocol layer for transmission to the filing system. The request should ask its protocol layer to expect an acknowledgment for each block transmitted. Each block should have a unique number that can be checked by the filing system against block numbers already received. In this manner, duplicate blocks can be dumped. By the value of the last block number, both parties know when the file transfer is completed. If im- plementation is done in a straightfor- ward manner, the last block number should equal the corresponding field in the original request message. The save request should ask the protocol layer to send an ACKACK to the filing system when it submits the last block for transfer. Upon receipt of this ACKACK, the filing system can be sure it will not be get- ting a retransmission of the last block, and it can close the file and forget about the request. When extended conversations are taking place between two nodes on the net (as in the previous file transfer examples), the network can be made to appear constantly busy by never allowing more than a character time to elapse between messages. In this way, no other user on the network can interfere with the conversation. If the data rate is controlled by software on the two conversing nodes, you might consider increasing the rate after the initial conversa- tional link has been established. The rate could be increased beyond what's normally acceptable to every node on the network, but it must be changed back after the conversation is com- pleted. While the process is going on, every other node on the network should recognize it as a network-error condition. Because the nodes have not seen a transition from a busy net to a nonbusy net, they will not be looking for an SOT field anyway. This scheme can get a little tricky when attempting to end a conversa- tion, especially if the last acknowledgment or ACKACK did not get through but the data rate on one node has already been reduced to its former value. Multitasking Environments Networking in multitasking en- vironments raises many issues that cannot be considered here, but a few obvious ones should be pointed out. The protocol layer probably should be set up as a process by in- troducing another parameter to in- dicate whether the application pro- gram will "go to sleep" waiting for a reply or acknowledgment. The pro- tocol layer would then have to give the application program a "wake up" by indicating whether the message got through to the receiving process. Since messages could in this way be addressed to one of several processes on a node, the address fields for To and From addresses would need to be extended to include a Process ID number. The software design presented in this article reflects only one of many possibilities. For more information, or for software if you don't want to write your own, contact Cheshire Software, POB 2780, Santa Cruz CA 95063. Now that you have a taste of what networking is all about, you can ex- periment and enjoy implementing your own ULCNET.H AMS ADVANCED MICRO SYSTEMS • 26188 ADAMOR ROAD • CALABASAS, CA 91302 MORROW DESIGNS products at low low pricesi Tel.: (213) 880-4670 OFFER EXPIRES Oct 31. 1981 "HARD DISK SUBSYSTEMS ADDITIONAL HARD DISK M-26 DISCUS M26 M-20 DISCUS M20 M-10 DISCUS M10 $3397.00 S3553.00 $276000 A-26 DISCUS M26 A-20 DISCUS M20 A- 10 DISCUS M10 $3037.00 $3193.00 $2400.00 FLOPPY DISK SUBSYSTEMS F-1118 DISCUS I F-1218 DISCUS 2D F-2218 DISCUS 2 + 2 TWO DRIVE SUBSYSTEMS $ 816.00 $ 888.00 $1105 00 F-1128 DISCUS I F-1228 DISCUS 2D F-2228 DISCUS 2 + 2 $1389.00 $1450.00 S 1896.00 DISK CONTROLLERS (A & T) DJ-M26 M26 HARD DISK $720.00 DJ-M20 M20 HARD DISK S720.O0 DJ-M10 M10 HARD DISK $720.00 DJ-2208 DOUBLE DENSITY FLOPPY $349.00 DJ-1 108 SINGLE DENSITY FLOPPY $219.00 STATIC MEMORY (A & T) 16K SUPERAM 16K MEMORY MASTER 24K MEMORY MASTER 32K SUPERAM 65K STATIC RAM S248.00 S284 00 S378.00 $450 00 $870.00 'DECISION I BASIC UNIT $1342.00 NOTE: 1 The disk subsystems include Digital Research CP/M 2.2 and Microsoft Basic V5.2 I/O CONTROLLERS (A & T) I.E.E.E. S-100 BUS (A&T) SB-241 1 SWITCHBOARD I/O SB-241 1-4K 4K RAM OPTION MB-3200 MULT I/O BOARD $219.00 $ 60.00 $309 00 WB-0800 8 SLOT MOTHER BRD. WB-1200 12 SLOT MOTHER BRD WB-2000 20 SLOT MOTHER BRD. 2 If you own a MITS controller and disc drive, we have the interface to run them with our new subsystems, $1 09.00 and a reformatter for your Pertec drives and software $129.00 to translate your Mits files to your new operating $173.00 system. All shipments FOB Calabasas — 90 days warranty on all products Prices. Terms, Specifications subject to change without notice. 66 October 1981 © BYTE Publications Inc Circle 9 on inquiry card. Annoum The Table Top Computer That Can't Be Topped. The 5000 SX with: Capacity; 5.5 MB Winchester Plus Two 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 so you can 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 CRT and Printer that turn on with the main power switch. Plus, convenient up front reset switch, incoming power line filter and much more. Software: Operating Systems: CPM, MPM, TurboDOS Languages: BASIC, FORTRAN, COBOL Application Packages: FMS-80, WORDSTAR, 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 nearoy IMS International dealer, call us today at (714) 978-6966. Or write: NTERNAnONAL We Build Computers As If Your Business Depended On Them. 2800 Lockheed Way, Carson City, NV 89701 Telex: 910-395-6051 CIVm&MP/m,™ or Digital Research -TurboDOS, TM of Software 2000 •FMS-80.TM of DJR Associates • WOKDSTAR,™ of MICROPRO -ACCOUNTING PLUS, TM of SYSTEMS PLUS Circle 426 on inquiry card. New Software from ■<3 MicroCraft Systems, m c 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. Circle 412 on Inquiry card. Telephone (313) 996-1297 8086 Software • VEDIT full screen editor for CP/M-86. • Contact us for availability of VEDIT for SCP 86-D0S 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 413 on Inquiry card. CompuView 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 31 01 , 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 12K 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. Unlike 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 $ 1 30 VEDIT for CP/M-86: Disk and manual . (NEW) $ 1 85 Manual: Price refunded with software purchase $15 VISA or MASTERCARD Welcomed CP/M and MP/M are registered trademarks of Digital Research, Inc. Apple II is a registered trademark of 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 I 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 98 on inquiry card. The Atari Tutorial Part 2: Graphics Indirection Chris Crawford Atari Inc 1265 Borregas Ave POB 427 Sunnyvale CA 94086 Indirection is a powerful concept in computing, but a difficult one for the beginning programmer to appreciate. In 6502 assembly language, there are three levels of indirection in referring to numbers. The first and most direct level is the immediate addressing mode, in which the number itself is directly stated: LDA #$F4 The second level of indirection is reached when the program refers to a memory location that holds the number: LDA $0602 The third and highest level of indirec- tion is attained when the program refers to a pair of memory locations that together contain the address of the memory location holding the number. In the 6502, this indirection is complicated by the addition of an index: LDA ($D0),Y Indirection provides a greater degree of generality and power to the programmer. Instead of trucking out the same old numbers every time something needs to be done, the pro- grammer can simply point to them. By changing the pointer, the behavior of the program can be changed. In- direction is an important capability. Graphics indirection is built into the Atari Personal Computer system in two ways: with color registers and character sets. Programmers using this computer after programming other systems often think in terms of direct colors. A color register is a more complex beast than a color. A color specifies a permanent value. A color register is indirect; it holds any color value. The difference between the two is analogous to the difference between a box-end wrench and a socket wrench. The box-end wrench comes in one size only, but a socket wrench holds almost any size socket. A socket wrench is more flexible, but takes a little more skill to use proper- ly. Similarly, a color register is more flexible than a color, but takes more skill to use effectively. Color-Register Indirection The Atari 400/800 has nine color registers; four are for player-missile graphics and will be discussed in a later article in this series. The remain- ing five are not always used. Depend- ing on the graphics mode used, as few as two registers, or as many as five, will show up on the screen. In BASIC mode 0, only one and one-half registers are used because the hue value of the characters is ignored. Characters take the same hue as playfield register 2, but take their luminance from register 1. The color registers are in CTIA (one of the Atari custom integrated circuits) at hexa- decimal addresses D016 through D01A. They are "shadowed" (ie: copied) from certain RAM (random access read/write memory) locations in the Atari OS (operating system) in- to CTIA during the vertical blank in- terrupt of the video display. Table 1 gives color-register shadow and hard- ware addresses. For most purposes, the user con- trols the color registers by writing to the shadow locations. There are only two cases in which the programmer writes directly to the CTIA addresses. The first and most common is the display-list interrupt, which will be covered in a later article in this series. The second case arises when the user disables the OS vertical-blank inter- rupt routines, which move the shadow values from the OS into CTIA. Colors are encoded in a color register by a simple formula. The up- per nybble gives the hue value, which is identical to the second parameter of the BASIC SETCOLOR command. Table 9.3 of the Atari BASIC 70 October 1981 © BYTE Publications Inc Circle 408 on inquiry card. with CRTFORM 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- oriented 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 CP'M, UCSD, Apple Pascal. RT-1 1 . and RSX-1 1 M 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. PROGRAMS THAT WRITE PROGRAMS STATCOM CORI RATION 5766 1 1AI i .i II II ! , : il ii I I Al II STIN II - A: . 71 ■ - '. I 'I « )Nh 511 l/451-O CRTFohm and Statcom are trademarks ol Statcom Corporation ' Registered trademarks as lollow: CP M - Digital Research; UCSD U.C. San Diego: Apple - Apple Inc RT-11. RSX I1M- DEC Reference Manual lists hue values. The lower nybble in the color register gives the luminance value of the col- or. It is the same as the third parameter in the BASIC SETCOLOR command. The lowest-order bit of this nybble is not significant. Thus, there are eight luminances for each hue. This gives a total of 128 colors from which to choose (eight lumi- nances times sixteen hues). In this series of articles, the term color de- notes a hue-luminance combination. Once a color is encoded into a col- or register, it is mapped onto the screen by referring to the color register that holds it. In map-display modes that support four color registers, the screen data specify which color register is to be mapped onto the screen. Since there are four color registers, it takes only 2 bits to' encode one pixel. Thus, each screen- data byte holds data for four pixels. The value in each pair of bits specifies which color register provides the col- or for that pixel. In color-text display modes (BASIC'S graphics modes 1 and 2), the selection of color registers is made by the top 2 bits of the character code. This leaves only 6 bits for defin- ing the character, which is why these two modes have only 64 characters available. Color-register indirection gives the programmer four special capabilities. First, the programmer can choose from 128 different colors for displays. Second, the programmer can ma- nipulate the color registers in real time to produce pretty effects. The simplest version of this is demon- strated by the following BASIC line: FOR 1 = TO 254 STEP 2:POKE 712,I:NEXT I This line cycles the border color through all possible colors. The effect is quite pleasing and certainly grabs attention. The fundamental technique can be extended in a variety of ways. A special variation of this is to create Image Controlled Hardware Operating System Shadow Label Hexadecimal Address Label Hexadecimal Address player COLPM0 D012 PCOLR0 2C0 player 1 COLPM1 D013 PCOLR1 2C1 player 2 COLPM2 D014 PCOLR2 2C2 player 3 COLPM3 D015 PCOLR3 2C3 playfield COLPF0 D016 COLOR0 2C4 playfield 1 COLPF1 D017 COLOR 1 2C5 playfield 2 COLPF2 D018 COLOR2 2C6 playfield 3 COLPF3 D019 COLOR3 2C7 background COLBK D01A COLOR4 2C8 Table 1: Names and addresses of color registers used by the Atari 400/800. "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 ^ELL GUARD ,° B S rS a. •*. O b] I'Ht'tllllU'SS Documentation Ease of Use Error Handling ODD? a a d sr a □ a & a a a w System Requirements • CP/M (1.4 or later) • 32 K bytes of memory • One or two disk drives Price: $295 : MINI mil =:J!!j-. - 1 **'" .;||l : l!ife=P JIP INNOVATIVE SOFTWARE APPLICATIONS 260 Sher.dan Avenue , Suile 300 Polo Alto. CA 94306 P O Box 2797 Menlo Pork, CA 94025 (415) 326-0805 72 October 1981 © BYTE Publications Inc Circle 178 on inquiry card. 2 L h e N £ — co S 0) 21 (/) a 3 -o o EC'S < r DC UJ d N Q. m o Ogil 1/5 0) a £•* — » co " ] In a. < . " 8 * I— o -c OC oj "- O" CO 5 CC H o UJ £•§ c/> -■■= a a, < O °! o •*- m -c — = SO Q. U o co —1 CO ■ 3 < *- '" CO O > 3 5 >V CO i_ 05 g S 6 ° g . > s £ s r °5 a) 0- ° =i §< I— in •- c H S 5 S 0S?5 » CO a, "CO uj " 2 a ••ex: « n c LU - 0) IH LL S OS 10 2 5 s O D CCO CD CO < O j= m - m CC - j? S 5 — in i; c i _ 8 « §-8 |* to ■ - ZJ t P J3O1 : CC ah ro UJ ai Fog O < 5 31 >6'Sg! to v; So o o < -g _. CO o D)-Q CO >• ■6 ° c a> _ O , ai -c «J a) 4= co ii ^ r • • 3 *s5.p uj-oq; o Q DC co « 2 o_ C > eft a) H o o to a e e a, g S J E o> 1 a S So a«i Q. C "2 E o o o o > , ^ o ~ S * " CO o 1 1 •o o 5 o°-£ TZ £ 'S ^ CO ■E»^c °r.l ? OS t JO- u 8l? §3s ill p - ° ~ J c s •" I — ° "P ex 2 < Sou" OS -J2 2 = i_ o -c 13. m o QC c\j Q - it»o -E hi ■"•§ Q. 0- 2 Q n2 < « , ■ O in ■£ **■ W d) \- v> 88| Sis oj ^ 10 = E n O, — CL ISO TO (B UJ > s ° "jet 2 cd "• W 0) 1-" - 3 > S o uj - Ol CO u CO ^ o N _-o- J= Q. J! = o E c o - <" CO S N N £ 33 O CZ O 0) "D Lri o ^ en -c ■d co Q) * ..§ ._ s^ ^J [L 2 ^ — o 01 CD i sil "BE P __ o uj Eg -- CD CD n G- •" Q w £ — D CC w UJ to b S II 'C 5o,? a 03 ffl u 3 S a^ S 9 "5 co e ■£ ■g s s M 5.J2 j S CC UJ CC (J ^ CC (- .9 us o> (A co co > o ai : o. cu na8 5 cm ! . CO : ,> E E o O -a "I rj— .5 Q- £ H O DD £ O ro o w "O S u> -c C> . « CD ._ to c a .. 3 O O 0) o HI OJ -Q -o C/) o >- J= m 8 — CO Q Q) aj E 2 £ o CD S P _ in je ■§ •* = •§ Q- 2 Q- ir (/) _ o CO Z. u S 3s 93i P hi Q co aj »- q. > S g> co cp gflll So - a 5 co "o j 5 a IT 3 CO n O o ai - CO CO a 5 XI tn O m CO j O ir U) u CC O S o 5 O CL o o «J P o O tn ■= 01 Q. 05, c co .2 g o 5£ 2 Z J £ simple cyclic animation by drawing a figure in four colors, and then cycling the colors through the color registers, rather than redrawing the figure. The program in listing 1 illustrates the idea. The third application of color regis- ters is to logically key colors to situa- tions. For example, a paged-menu system can be made more under- standable by changing the back- ground color or the border color for each page in the menu. Perhaps the screen could flash red when an illegal key is pressed. The use of the color characters available in BASIC graphics modes 1 and 2 can greatly extend the impact of textual material. An account sum could be shown in red if the account is in the red, or black if the account is in the black. Words or phrases of import can be emphasized in special colors. The use of colors in map modes (no text) can also improve the utility of such graphics. A single graphics image (a monster, a boat, or whatever) could be presented in several different col- ors to represent several versions of the same thing. It costs a great deal of RAM to store an image, but it costs very little to change the color of an existing image. For example, it is much easier to show three different boats by presenting one boat shape in three different colors than three dif- ferent boat shapes. The fourth and most important ap- plication of color registers is used with display-list interrupts. A single Listing 1: A short graphics program demonstrating the illusion of movement by changing color-register assignments. 10 GRAPHICS 23 20 FOR X = TO 39 30 FOR 1 = TO 3 40 COLOR I 50 PLOT 4*X + 1,0 60 DRA WTO 4*X + 1,95 70 NEXT I 80 NEXTX 90 A = PEEK(712) 100 POKE 712,PEEK(710) 110 POKE710,PEEK(709) 120 POKE 709,PEEK(708) 130 POKE 708,A 140 GOTO 90 color register can be used to put up to 128 colors onto a single screen. This important capability will be discussed in part 4 of this series. Character Sets Graphics indirection is also pro- vided through the redefinable character set. A standard character set is provided in ROM (read-only memory), but there is no reason why this particular character set must be used. The user can create and display any character set desired. There are three steps necessary to use a rede- fined character set. First, the pro- grammer must define the character set. This is the most time-consuming step. Each character is displayed on the screen on an 8 by 8 grid, which is encoded in memory as an 8-byte table. Table 2 depicts the encoding ar- rangement. A full character set has 128 charac- ters in it, each with a normal and in- verse video incarnation. Such a character set needs 1024 bytes of space and must start on a 1 K-byte boundary. Character sets for BASIC modes 1 and 2 have only 64 distinct characters. These require only 512 bytes and must start on a Vz K-byte boundary. The first 8 bytes define the zeroth character, the next 8 bytes define the first character, and so on. Each group of 8 bytes is termed a character definition; the index that designates such a group (FIRST char- acter, FIFTH character, etc) is called the character name. Obviously, defining a new character set is a big job. Fortunately, there are software packages to make this job easier. Once the character set is defined and placed into RAM, the second step is to tell ANTIC (another custom in- tegrated circuit on the Atari 400/800) where it can find the character set. This is done by poking the page number of the beginning of the character table into hexadecimal loca- tion D409 (decimal 54281). The OS shadow location, the location nor- mally used, is called CHBAS and resides at hexadecimal 2F4 (decimal 756). The third step in using character sets is to print the character wanted onto the screen. This can be done directly from BASIC with simple PRINTs or by writing numbers directly into the screen memory. A special capability of the system not supported in BASIC is the four- color, character-set option. BASIC graphics modes 1 and 2 support five colors, but each character in these modes is really a two-color character; each one has a foreground color and a background color. The foreground color can be any of four single colors, but only one color at a time can be shown within a single character. This can be a serious hindrance when using character graphics. There are two other text modes designed especially for character graphics, ANTIC modes 4 and 5. Each character in these modes is only four pixels wide, but each pixel can have four colors (counting back- ground). The characters are defined like BASIC graphics mode charac- ters, except that each pixel is twice as wide and has 2 bits assigned to it to CHARACTER IMAGE BINARY REPRESENTATION HEXADECIMAL REPRESENTATION : 1 :<: : : . : : x : : : [y- 10 Table 2: Internal representation of a character in memory. One character needs 8 bytes to represent it. Although the standard character set is in ROM, the pointer to the beginning of the character set can be changed to point to other memory loca- tions, allowing the user to create a modified or completely new character set. 74 October 1981 © BYTE Publications Inc ^enjoy the problem-solving power of APL language on your Apple computer Solve engineering, scientific, or business problems easily-write finished applications software in a fraction of the time you'd take to write similar programs in BASIC, FORTRAN, or COBOL. . . and do it all with your Apple® right at your desk. Test your language against APL To compare APL/V80's clear concise code with the language you're now using to solve problems, take this short programming test. Here are three common problems, showing the APL/V80 solution for each. Program your best effort for each problem in the language you use now. Now compare the number of lines and keystrokes needed to achieve a solution in your language to the APL solution. Keep in mind the APL/V80 solution shown contains not only the computation commands, but also every instruction needed to input required data, as well as all the commands to print out the results. Problem 1: Write a program to input a list of values (List then print all the values in list A in ascending order. 'A"), sort the list from lowest to highest values, APL/V80 solution: ALU+U1 Solution in your present language: (Hint: Usually this takes two loops and 15 to 20 statements.) Problem 2: Write a program to input a list of values (List "X") and compute the standard deviation for the list values. APL/V80 solution: Solution in your present language: ( (+/u-(+/;o*ff)*2)*ff"<-"i+pX-«-D)*.5 (Hint: This takes at least one loop and about 16 statements.) Problem 3: Write a program which will compress adjacent spaces to a single space, with possible multiple occurences, in a string of characters called TEXT. APL/V80 solution: Solution in your present language: (1 , ("l + DA-l + T*' '=TEXT)/TEXI-i-a ? APL is the most concise, powerful programming language available to develop computer solutions for scientific and business problems. Developed in the early 1960's, APL has been used to program large mainframe computers for years. Because APL has so many functions and operators built in, only very large computers could run APL programs until 1977. In 1977, we at Vanguard changed that by introducing APL/V80™ , a version of APL for Z80- based microcomputers. We've revised and extended this software now to run on your Apple*. APL/V80™ for Apples is easy to learn, quick to write. It's a language proven easier to program in than BASIC, COBOL, FORTRAN, or even PASCAL. Because APL can apply a function to a whole array of data, when you store a list of values in an array, a single symbol in APL/V80 can do the work of an entire "DO" or "FOR" loop in other languages. This is programming power! Concise code saves thinking time Compactness is part of the reason you can solve your problems so much more quickly using APL/V80 than by using other languages. With far fewer lines of code required, APL/V80 lets you developfunctional software, and debug it, in about one-fifth the time you'd need to program your problem in other lan- guages. With APL/V80, you can truly focus your attention on problem-solving, rather than having to worry so much about the details of coding a program to compute your solution. Finished programs easier to understand Because APL/V80 programs are so much shorter than programs doing equivalent work in other lan- guages, APL/V80 programs are easier to read and understand, and they require less documentation. When you look at the APL/V80 solutions shown in the box with our language comparison test, don't let the unusual symbols worry you. They may be unfamiliar to you now, but so were the commands in your present language until you learned them. . . and APL is far easier to learn. APL/V80 uses the common mathematical practice of using a single symbol to represent a function, but there are so many functions built into APL there aren't enough common symbols to represent them all. So APL uses additional symbols to represent those functions which go beyond thefamiliarmathematical operations. After you learn any language, you use as many ab- breviations as you can to save time. APL/V80 lets you use "abbreviations" from your first efforts, saving memory space both in your head and in your Apple. Solve your problems faster Whether you're an engineer, scientist, educator, or businessman, now you can solve problems faster than ever using your Apple computer. With APL/V80 from Vanguard Systems Corporation, you can search for solutions in a fraction the time you thought piiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiHiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiniiiiiiiiii 1 Contact your local Apple dealer for a demonstration of APL/V80 and get your copy today. If you don't f have a local dealer, use this coupon to order direct from us now: Please rush the items ordered below. j I understand all items are normally in stock and available for immediate shipment: □ Software PLUS Z-80 SoftCard PLUS RamCard possible. APL/V80 makes your programs easier to understand, easier to write, easier to explain to others, and easier to modify. A whole new world of convenience APL/V80 is more than a language. . .it's a whole new world of convenience for you and your Apple. Included with our APL interpreter are 6 new auxiliary processors to make your life easier. The Utility Processor provides 6502 memory access and 6502 processor calls so you can use routines stored in Apple system ROMs and 6502-dependent peripherals. An Input Stack Processor lets you stack input com- mands for later execution. Our Communications Processor, when combined with an appropriate modem, lets your Apple communicate with another computer. The Graphics Processor gives you full access to Apple's high resolution graphics. An APL File Pro- cessor gives you an indexed file system. Our CP/M** Input File Processor lets you read any CP/M and useit with APL/V80. Hardware required APL/V80 for the Apple requires the following hardware for proper use: a 48k Apple II or Apple II+, one disk drive, a Z-80 SoftCard***, and either the Language Card***, or RamCard***, or other compatible 16k memory extension card. To learn more, act now No matter how you use your Apple to solve prob- lems, APL/V80™ can help you solve them faster, with fewer errors. If you'd like to know more, send us the coupon below. In the English language, we can hardly begin to tell you in just one page all the ways APL/V80 can help. Ah, if only we could write this in APL/V80 itself. But send us the coupon, and we'll happily send you additional information (in English). Note: Specifications subj ectto changewithout notice. *Apple design, Apple II, Apple II+, & Language Card are trademarks of Apple Computer, Inc. **CP/M is a trademark of Digital Research ***SoftCard and RamCard are trademarks of Microsoft □ More information about APL/V80 for Apple □ APL/V80™ User's Manual - Enclosed is $30. □ Complete APL/V80 - Apple Software Package Enclosed is $500. Please send me an end- user license, object code disk, documentation manual, and special APL character generator. □ Software PLUS RamCard ■ Enclosed is $675. D Software PLUS Z-80 SoftCard - Enclosed is $850 □ □ Enclosed is $995 Complete Hardware ■ Software system - APL/ V80 ■ Apple Software PLUS Apple 11+ 48k computer with APL character generation card already installed PLUS Apple Disk Drive, PLUS NEC 12" video screen PLUS SoftCard PLUS RamCard. Enclosed is $3195. As above with second Disk Drive - Enclosed is $3695. Enclosed is my check for $ OR Charge to; □ MasterCharge □ Visa Ship to: Name Address City. Card I Signature. exp. date .State. Phone. _Zip. VanquarcI Systems! ^^^ ' 6901 Blanco Road : ■ /\|ll\ San Antonio, Texas 78216 ^^Vrl%L^« (512)340-1978: iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii Circle 382 on Inquiry card. BYTE October 1981 75 Check the Osborne Books You INTRODUCTORY BOOKS Business System Buyer's Guide by Adam Osborne and Steven Cook Purchasing a computer for any business 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 □ An Introduction to Microcomputers Volume 0: The Beginner's Book by Adam Osborne Here's the book to start with if you know nothing about micro- computers but wish to learn. Pro- vides the concepts you'll need to understand this technology. #26-8. $4.95 □ An Introduction to Microcomputers Volume I: Basic Concepts by Adam Osborne The world's best selling textbook on microcomputers uses con- cepts that are common to all microprocessor systems. Shows what a microcomputer can do, and how it does what it does. This edition is the most com- prehensive and up-to-date in- troduction to microprocessor systems available anywhere. #34-9. $12.99 □ Running Wild-The Next Industrial Revolution by Adam Osborne An insider's look at the micro- electronics revolution. Will the coming years prove to be a dream or a nightmare? Running Wild tells the story. #28-4, $3.95 d GUIDES Apple 1 1™ User's Guide by Lon Poole, Martin McNiff and Steven Cook Complements your Apple II owners manual. Our guide will tell you more about your Apple II or Apple II plus computer than any other single source. This guide is a complete BASIC programming tool. It covers all the special features 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 as- sembly language subroutines for your Commodore system. It's a BASIC tutorial and covers many recent CBM products. #55-1, $15.00 □ tfc 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 popular micro- computers. #63-2, $15.99 D Some Common BASIC Programs by Lon Poole and Mary Borchers 76 well designed and brilliantly documented programs that solve a variety of problems in statistics, finance, and math. Generalized BASIC Edition #06-3, $14.99 □ PET7CBM™ Edition #40-3, $14.99 D tit TRS-80™ Level II Edition #54-3, $14.99 a Atari™ Edition #53-5, $14.99 D All 76 programs ready to run on: PET/CBM™ floppy disk #33-0. $22.50 D PET/CBM "cassette #25-X, $15.00 O TRS-80™ Level II cassette #32-2, $15.00 D Practical BASIC Programs Here are 40 useful and fully doc- umented programs designed to run on most microcomputers. Especially useful in small busi- ness and household applications. (Generalized BASIC) #38-1, $15.99 D 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 D CB ASIC "Users Guide by Adam Osborne, Gordon Eubanks and Martin McNiff Co-authored by Gordon Eu- banks, the creator of CBASIC, this is more than a self-teaching textbook, it is the definitive ref- erence of the CBASIC language. #61-6, $15.00 D Want $T BUSINESS BOOKS by Lon Poole and co-authors Osborne's three business sys- tems are renowned for excel- lence in design and documenta- tion. Our books explain in de- tail how to use the programs. They contain complete program listings, supporting technical documentation, and specific in- formation on changing and installing the programs. Payroll with Cost Accounting #22-5, $20. 00 □ Accounts Payable and Accounts Receivable #23-3, $20.00 D General Ledger #24-1, $20.00 □ ASSEMBLY LANGUAGE PROGRAM 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. 68000 #62-4, $16.99 D 6809 #35-7. $16.99 D 6502 #27-6, $16.99 □ Z80 #21-7, $16.99 D Z8000 #36-5, $19.99 D 6800 #12-8. $15.99 □ 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 features. #29-2, $16.99 □ . INTERFACE Interfacing to S-100 (IEEE 696) Microcomputers by Sol Libes and Mark Garetz Describes the S-100 Bus with unmatched precision. Covers mechanical and electrical design, logical and electrical relation- ships, bus interconnections, and much more. #37-3. $15.00 □ Circle 285 on inquiry card. PET and the IEEE 488 Bus (GPIB) by E. Fisher and C.W. Jensen Provides chapters on all aspects of the General Purpose Interface Bus. Includes lines, signals, specifications, and much more. #31-4. $15.99 □ Microprocessors for Measurement and Control by D.M. Auslander and P. Sagues Learn to design mechanical and process equipment using micro- processor based "real-time" com- puter systems. This book allows readers (even those unfamiliar with machine or assembly lan- guage) to initiate projects. #57-8, $15.99 D MICRO- ELECTRONIC REFERENCES Osborne 4 & 8 Bit Microprocessor Handbook by Adam Osborne and Gerry Kane The one source for complete, objective and accurate informa- tion on 4 and 8 bit microproces- sors. This book describes virtu- ally every 4 and 8 bit micropro- cessor on the market today and allows you to evaluate any de- vice or combination of devices. #42-X, $19.95 D Osborne 16-Bit Microprocessor Handbook by Gerry Kane and Adam Osborne A total reference book on virtually every 16-Bit micropro- cessor, this book permits objec- tive evaluation and comparison of these new devices. #43-8, $19.95 □ An Introduction to Microcomputers: Volume 3 - Some Real Support Devices by Gerry Kane and Adam Osborne Available with or without 3-ring binder or updates. Each device is described in detail, including an analysis of the best uses for that device. Book - #18-7, $15.00 a Binder - #19-5. $6.99 □ Six Updates - #98. $25.00 D HANDBOOKS 68000 Microprocessor Handbook by Gerry Kane This handbook offers more in- formation about the 68000 than the manufacturer's data sheets. #41-1, $6.99 D CRT Controller Handbook by Gerry Kane Describes five devices in the same thorough detail you'll find in Volume 3. Contains 13 tables and 149 separate illustrations. #45-4, $6.99 D 8089 I/O Processor Handbook by Adam Osborne A complete presentation of the 8089. The 8289 Bus Arbiter is also described with the same careful attention to design and application. #39-X. $6.99 □ ORDER FORM Book Title, Book #, Price Osborne/McGraw-Hill Dept. B20 630 Bancroft Way, Berkeley, CA 94710 Name Call Toll Free: 800-227-2895 in California (415) 548-2805 M Address City/State/Zip Plus: □ ,75/item 4th class □ $1.50/item UPS □ $2.50/item Air Mail (California residents add applicable tax.) Total amount enclosed $ or charge my D Visa Card #_ □ $10.00/item Overseas D Mastercharge Exp. Date Circle 309 on inquiry card. You can save buying wholesale with our buying service. As your agent we will buy computer equipment on the wholesale market for you. Our fee is one fourth of what we save you off list price. Access to over 500 manufacturers. Minimum fee of $100. Call for present wholesale market conditions. • • ■■ V ^Nl Examples of total prices paid by our clients (including our fee) are: COMPUTERS AlphaMicrolOMEG $12,046 Altos 8000-02 2,810 Altos8000-10 6,395 Altos 8000-15 4,600 Archive Model 1 4,798 Calif.Comp.64K1 MEG 4,414 Compustar Model 30 3,820 Cromemco System 3 5,990 Ithaca System 2A 2,790 NECPC8001A 1,010 North Star HRZ2DD64K 2,875 NorthStarHRZ2QD64K 3,150 Televldeo System 1 2,949 CRT'S ADDS View Point 555 Televideo910 575 Televideo920C 720 Televideo950C 945 DISC DRIVE Morrow M-26 3,850 PRINTERS Anadex9500/9501 1,260 C. Itoh Starwriter 1 25CPS Serial 1 ,450 C.ltohStarwriter125CPSPar. 1,400 C. Itoh Starwriter 1 40CPS Serial 1 ,600 Centronics 737 710 Diablo630/RO 1,945 Malibu165 1,895 NEC 5510 2,375 Qume5/45RO 2,465 Tl 810 Basic 1,302 s Ja Prices subject to chang 3 w thoot notice. 15% cancellat On ee. f ^W We are buying agents f or overseas 1 computer dealers. Exp ort services I available. International Telex 470851 M The Purchasing Agent 1635 School Street, Suite 101 Moraga, CA 94556 (415) 376-90, 20 specify the color register used. Unlike ANTIC modes 6 and 7 (BASIC modes 1 and 2), color-register selection is not made by the character-name byte, but instead by the defined character set. Each byte in the character table is broken into four bit pairs, each of which selects the color for a pixel. (This is why there are only four horizontal pixels per character.) The highest bit (D7) of the character-name byte modifies the color register used. Color-register selection is made ac- cording to table 3. Using these text modes, multicol- ored graphics characters can be put onto the screen. Another interesting ANTIC char- acter mode is the lowercase- descenders mode (ANTIC mode 3). This mode displays ten scan lines per mode line, but since characters use only 8 bytes vertically, the lower two scan lines are normally left empty. If a character in the last quarter of the character set is displayed, the top two scan lines of the character will be left empty. The data that should have been displayed there will be shown on the bottom two lines (see figure 1)- This allows the user to create lower- case characters with descenders. Modified Character Sets Many interesting and useful ap- plication possibilities spring from character-set indirection. The ob- vious application is the modified font. A different font can give a pro- gram a unique appearance. It is possi- ble to have Greek, Cyrillic, or other special character sets. Going one step further, graphics fonts can be created. The Energy Czar computer program Bit Pair In Character Definition Color Register Selected D7 = D7 = 1 00 01 10 11 Table 3: Use of color 4 and 5. See the text registers in for details. COLBAK COLBAK PF0 PF0 PF1 PF1 PF2 PF3 character definition during ANTIC graphics modes Photo 1: A bar chart made using character graphics. Even though each character is eight pixels wide, the horizontal bars can be any number of pixels wide by using redefined characters representing bars of varying width. Circle 379 on inquiry card. > BPOADEN YOUR HORIZONS JF 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 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. ( T/M .mil MI'/M arc trademarks ol 1 hfiiM Research! Inc. on IMl IM .md Micro l:N( ;! ISI I arc trademarks of I JVi-.ON uveon The Future in Software. UVEON Computer Systems. Inc. 899 Logan Street Denver, Colorado 80203 SEE* ■:;:•' SEE "C 00' PLEASE ENTER YOUR ORDERS NOW Photo 2: Tu>o uiews o/ a war-game map made totally from character graphics. The map is several times larger than the video display, and a player can use a joystick to view different parts of the map. Even though character-sized graphics are used, the scrolling appears to be smooth due to some advanced Atari display techniques. (sold by Atari) uses a redefined character set for bar graphs. A character occupies eight pixels. This means that bar charts implemented with standard characters have a resolution of eight pixels, a rather poor resolution. Energy Czar uses a special character set in which some of the less useful text symbols (amper- sands, pound signs, etc) have been replaced with special bar-chart characters. One character is a one- pixel bar, another is a two-pixel bar, and so on to the full eight-pixel bar. The program can thus draw detailed 80 October 1981 © BYTE Publications Inc bar charts with resolution of a single pixel. Photo 1 shows a typical display from this program. The mix of text with map graphics is only apparent; the entire display is constructed with characters. In many applications, character sets can be created that show special images. For example, by defining a terrain graphics character set with river characters, forest characters, mountain characters, and so forth, it is possible to make a terrain map of any country. With imagination, a ter- rain map of a different planet can just <0 U 0_ ^ 00 Circle 254 on inquiry card. If what you need is more of you. . . Pascal/MT+® With our exclusive SpeedProgramming ™ Package Do you ever wish that you had more good people like yourself when you really have to produce? Pascal/MT+" and the SpeedProgramming '" Package makes you feel like you have an army of workers who know just what lo do. With oil of the tools we provide you for editing, checking, compiling, debugging and documenting your programs you are able lo produce working programs in an amazingly short time, With Pascal/MT+<" and SpeedProgramming *" you will never feel short-handed again! Pascal/MT+» is a total programming system including our native machine code compiler, linker, Pascal-level debugger, disassembler, run-time subroutine library and the exclusive SpeedProgramming '" Package. Used by thousands of companies worldwide, our customers have told us that the Pascal/MT+2 system, with its built-in mini-assembler and language extensions, all but eliminates the need for any assembly language programming. The efficient machine code produced by the ISO Standard Pascal/MT+^ compiler combined with our extensions to the Pascal language for bit/byte manipulation. I/O port handling, business arithmetic, hardware floating point support along with our exclusive interrupt procedures allow construction of programs ranging from ROM based controllers and operating systems to extensive data base applications. The Pascal/MT+ System: Compiler: Generates ROMable Native Code • Complete ISO Standard (superset of Jensen & Wirth) • Powerful Extensions Include: • Modular Compilation • Direct production of binary relocatable modules • Dynamic strings • Chaining • Powerful Overlay system • Address and Size returning functions • Bit manipulation (test, set, clear, shifts) • Byte manipulation (high, low, swap) • Imbedded assembly language • Easy linkage to external assembly language • Full NEW and DISPOSE procedures • Direct access to I/O ports • Fast floating point, both software and AMD 9511 • Accurate 18 digit BCD (fixed point, 14,4) • Include files • Hex literal numbers • And more. .. Linker • Combines relocatable modules into executable files • Can generate Hex format for use with PROM programming Interactive Symbolic Debugger • Variable display • High-level breakpoints by procedure/function name • Tracing/single step by Pascal statement • Procedure/function entry and exit trace available FOR: 8080/8085/Z80/8086/68000 Disassembler • Combines a relocatable module with its listing file to produce interleaved Pascal and approximate assembly language code. The SpeedProgramming Package™ The SpeedProgramming Package is an integrated set of tools which allows you to create Pascal/MT+ 1 ' programs, check them for correct syntax and undefined identifiers, format them to display flow of control, and do this all within the editing environment before you ever invoke the compiler. Programmers like SpeedProgramming because it frees them from the lime consuming chore of repeated compilations to correct simple syntactic and typing errors. Managers find that SpeedProgramming improves productivity, thereby reducing development costs. SpeedProgramming combined with our field tested Pascal/MT+ package gives you a comfortable, powerful .interactive programming environment in which to create your professional quality software. Your products demand production quality tools. Order Pascal/MT+* with SpeedProgramming today! Screen Editor • User configurable • Standard random cursor movement, file access, search and replace, insert, delete, exchange, etc. • Structured language editing features such as automatic indent, line adjustment, reading from and writing to a file, block text insertion and duplication. • Requires; 24 X 80 CRT (or larger), ASCII Keyboard (7 bit data), random cursor addressing. Interactive Syntax Scanner • finds syntax errors in text being edited • Enters SPEED, puts cursor at error, prints error text Variable Checker • Catches undefined and mis-spelled variables before the compiler is invoked On-Line Reformatter • Beautify programs in seconds • Clearly show structure and program flow Source Code Management Tools • Automatic Modification Log and Backup utility program PRICING Prices and Specifications subject to change without notice Available Now. • 8080/8085/Z80 Price $475 56K Mm CP/M-80 Compiler requires 1 50K bytes disk storage SpeedProgramming Package^ requires 110K bytes disk storage 8086/8088 Requires 128K CP/M-86, MP/M-86 or 86-DOS SYSTEM (116K user area) Compiler. Linker, utilities alone Price $600 Compiler, etc , with SpeedProgramming Package Price $800 Coming soon; b8000 Price (to be announced) Initially cross compiler Resident compiler lo follow Available on 8" (3740) single density Contact distributors for other formats. OEM INQUIRIES INVITED /MT Micro SYSTEMS \ 1562 Kings Cross Drive Cardiff. California 92007 (714) 755-1366 Circle 255 on inquiry card. Circle 266 on inquiry card. If you have anything to do with small computers, you should be reading the Carl Helmers persons, computer LETTER every month! You won't want to miss a single issue of the new Personal Computer Letter... a monthly publication of comprehen- sive studies on issues affecting design, implementation, and applications of small computer systems. The Personal Computer Letter is a journal compiled and edited by Carl Helmers, co-founder and first editor of Byte Magazine Here is valuable information in professionally prepared format about small com- puters, software, peripherals, trends in the industry, and new ideas. We accept no advertising and the information provided is available nowhere else. Written for executives, decision-makers, market strategists, product designers and authors in the small computer field, each 12 to 16-page issue contains analysis and design studies by many of the personal computer industry's foremost experts. For example, the current issue covers: A Voice In The Wilderness: Some first reactions to experiments with voice-aided inter- active programs. Subscribe today. Mail the coupon with your check for $200 for the next 12 monthly issues. Sample issues at $25 per copy, applicable to a full year's subscription. — ... NORTH AMERICAN TECHNOLOGY, INC. Strand Building 174 Concord St., Peterborough, NH 03458 (603) 924-6048 □ Enclosed is my $200 check or money order for the next 12 issues of the Personal Computer Letter. □ Enclosed is my $25 check or money order for a sample issue, applicable to subscription price. NAME ! ADDRESS CITY STATE ZIP 82 October 1981 © BYTE Publications Inc I I I I as easily be done. When doing this, it is best to define five to eight characters for each terrain type. Each variation of a single type should be positioned slightly differently in the character pixel. By mixing the dif- ferent characters together, it is possi- ble to avoid the monotonous look characteristic of primitive character graphics. Most people won't realize that the resulting map uses character graphics until they study the map closely. Photo 2 shows two views of a terrain map created with character- set graphics. You could create an electronics character set with transistor charac- ters, diode characters, wire charac- ters, and so forth to produce an elec- tronics schematics program. Or you could create an architectural character set with doorway charac- ters, wall characters, corner charac- ters, and so on to make an architec- tural blueprint program. Characters can be turned upside down by POKEing a 4 into decimal location 755. One possible applica- tion of this feature might be for displaying playing cards (as in a blackjack game). The upper half of the card can be shown right-side up; with a display-list interrupt, the characters can be turned upside down for the lower half of the card. This feature might also be useful in displaying images with mirror reflec- tions (reflection pools, lakes, etc). Even more exciting possibilities spring to mind when it is realized that it is practical to change character sets while the program is running. A character set costs either 512 bytes or 1024 bytes; in either case, it is inex- pensive to keep multiple character sets in memory and flip between them during program execution. There are three time regimes for such character- set multiplexing; human slow (more than 1 second), human fast (1/60 sec- ond to 1 second), and machine fast (faster than 1/60 second). Human-slow character-set multi- plexing is useful for change of scenery work. For example, a space-travel program might use one graphics I 1 v.v a CHARACTER AS DISPLAYED IN ANTIC MODE 3 THESE TWO ROWS ARE KEPT BLANK THESE SIX ROWS ARE COPIED FROM THE BOTTOM SIX ROWS OF THE STORED IMAGE THESE TWO ROWS ARE COPIED FROM THE TOP TWO ROWS OF THE STORED IMAGE CHARACTER IN FIRST THREE-QUARTERS OF CHARACTER SET CHARACTER IN LAST QUARTER OF CHARACTER SET Figure 1: Lowercase descenders in ANTIC mode 3. Using the method shown here, the Atari 400/800 can display characters in an 8 by 10 matrix, even though their internal representation is an 8 by 8 matrix. SuperSoffc Optimizing The SuperSoft "C" compiler supports'most of version 7 Unix standard "C". Several special and widely desired features are supported, including: 1 Macro expansions via the #define statement. - Include files using the #inc- lude statement. Inline assembly code is supported with the #asm and iendasm. 1 The object code may be ROMed. • Programs may be ORGed for any location. •> Completely 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 translator and the optimizer. The intermediate 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 any that exist for 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 ervd of file. Fopen includes fcreat. Also included with the compiler are numerous sample programs and a complete library of useful functions. forCP/M Compile time options Include listing file, console output, syntax checking and others. Requires: 48K CP/M, (more recommended) "C" compiler: $200.00 Manual only: $ 20.00 Z8000 cross-compiler: : kvuv (CP/M to Z8000 code, requires Z8000 assembler) Source code for in-house use only: $5,000.00 CP/M formats: 8"' soft sectored, 5" Nor- ttistar, 5" Micropohs Mod II, Vector MZ, Superbrain DD/QD. Apple II + All Orders and General. Information: 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 ■ character set for one planet, another set for space, and a third set for another planet. As the traveler changes locations, the program changes the character set to give ex- otic new scenery. An adventure-type program might change character sets as the player changes locales. Human-fast character-set multi- plexing is primarily of value for animation. This can be done in two ways: changing characters within a single character set, and changing whole character sets. The Space In- vaders game on the Atari 400/800 uses the former technique. The in- vaders are actually characters. By rapidly changing the characters, the programmer was able to animate them. This was easy because there are only six different monsters, each with four different incarnations. High- speed cyclic animation of an entire screen is possible by setting up a number of character sets, drawing the screen image, and then cycling through the character sets. If each character has a slightly different in- carnation in each of the character sets, that character will go through an animated sequence as the character sets are changed. In this way, a screen full of objects could be made to cyclically move with a simple loop. Once the character-set data are in place and the screen has been drawn, the code to animate the screen would be this simple: 1000 FOR 1 = 1 TO 10 1010 POKE 756,CHARBASE(I) 1020 NEXT I 1030 GOTO 1000 Computer-fast character-set ani- mation is used to put multiple charac- ter sets onto a single screen. This makes use of the display-list interrupt capability of the computer. This topic will be addressed further in a later ar- ticle in this series. The use of character sets for graphics and animation has many ad- vantages and some limitations. The biggest advantage is that it costs little RAM to produce detailed displays. A graphics display using BASIC mode 2 characters (such as the ones in photo 2) can give as much detail and one more color than a BASIC mode 7 display. Yet, the character image will cost 200 bytes, while the map image will cost 4000 bytes. The RAM cost for multiple character sets is only 512 bytes per set, so it is inexpensive to have multiple character sets. Screen manipulations with character graph- ics are much faster because you have less data to manipulate. However, character graphics are not as flexible as map graphics. You cannot put anything you want anywhere on the screen. This limitation precludes the use of character graphics in some ap- plications. However, many graphics applications remain for which the program need display only a limited number of predefined shapes in fixed locations. In these cases, character graphics provide great utility. ■ This article appears in slightly different form in De Re Atari, published by Atari, Inc, and is reproduced with its express permission. 3 ALTERNATIVE INTERFACES FORTHETRS-80 COMM-80 ■■ Featured in May/June 80 BYTE •RS-232-C port (50-19.2K baud) software/hardware selectable •Centronics printer port 8-bit •connects to keyboard or E. I. •chain up to 16 units •use with E.I. for 2nd printer •includes terminal software •only $179.95 complete ALL INTERFACES ARE RADIO SHACK HARDWARE AND SOFTWARE COM- PATIBLE AND CARRY A 60 DAY WARRANTEE INCLUDING PARTS AND LABOR ALL UNITS INCLUDE USER'S MANUAL. POWER SUPPLY & AUXILIARY TRS-BUS CONNECTOR FOR FUTURE EXPANSION DISK-80 Featured in March 81 BYTE • disk controller(4drives) • hardware data separator • includes 16Kof RAM provision foradditional 16K • buffered TRS-bus connector • real-time clock • printer port (optional) ASSEMBLED & TESTED with 16Kof RAM $329.95 Centronics Printer Port add $ 50.00 with32K RAM add. . . $ 50.00 DISK-80 pc board $ 48.00 Printer/Power Supply pc board $ 16.00 Complete Kit with 16K RAM and Printer Port . $275.00 Dealer inquiries invited. IkS RO r. Ii ill. miili -,! I.tmlv DUD CHATTERBOX "■ """" ■" Featured in Aug. '80 BYTE •300 baud originate modem •Centronics printer port 8-bit •RS-232-C port (50-19.2K baud) •connects to keyboard or E. I. • received data automatically routed to printer ports • includes terminal software •only $279.95 complete Call 1-800-645-3479. in N.Y. 1-516-374-6793 or write: The MicroMint Inc. 917 Midway Woodmere, NY 11598 84 October 1981 © BYTE Publications Inc Circle 248 on inquiry card. ©UNI FUP/FLOPPY"DISK with twice the byte OMNI is pleased to bring you a reversible 5V4" mini diskette.. .the FLIP/FLOPPY DISK. Now you can record on both sides tor twice the storage capacity of a single sided disk. And you'll be able to do it far more economically, too! Each OMNI FLIP/FLOPPY DISK incorporates all of the quality features you'd expect from the very best single sided disk. er/« Cf^ • Two recording surfaces • Two sets of WRITE ENABLE notches • Two index holes • Reinforced HUB RINGS • Certified error-free operation at more than twice the error threshold of disk drives • Over 12 million rated passes without disk related errors or significant wear, for extra long life operation • Available in Soft or Hard sector • Compatible with most 5^" disk drives including APPLE, TRS-80, PET, OHIO SCIENTIFIC, ZENITH, NORTH STAR, and many more. OMNI Resources 4 Oak Pond Avenue • Millbury, MA 01527 • 617-799-0197 Call TOLL-FREE: In Mass. 1-800-252-8770 Nationwide 1-800-343-7620 INTRODUCTORY OFFER Order the OMNI FLIP/FLOPPY DISK at this special introductory price: Five Pack.. .$21 .00 Equivalent to ten single-sided disks. Ten Pack.. ..$40.00 Equivalent to twenty single-sided disks. Circle 277 on inquiry card. Please send me the following OMNI FLIP/FLOPPY DISK(s) Five Pack(s) @ $21 .00 each = $ Ten Pack(s) @ $40.00 each = $ Library Case(s) @ $3.00 each = $ Shipping and handling $ TOTAL $ Name. 1.50 Address . City D Check made payable to OMNI RESOURCES □ Mastercard Account Number □ VISA/BankAmericard Account Number Credit Card Expiration Date / Copyright© 1981 by OMNI Resources □ COD. State. .Zip. Phone Number L ) Authorized Signature . Massachusetts residents add 5% sales tax Money back guarantee if not completely satisfied Software Review Atari's Telelink I Glen Flint 14219 Pierce PI #41 Omaha NE 68144 Telelink I is a program cartridge for the Atari 400 or 800 personal-computer system that lets you access data bases, electronic mail, and other services offered by in- formation utilities such as The Source and CompuServe. You must have the Atari 850 interface module and an Atari 830 modem, or the equivalent, to use Telelink I. One of Atari's printers, Atari 820, Atari 822, or Atari 825, may be used. Telelink I comes with a well-prepared five-page manual explaining the use of the cartridge. Following a general introduction, the manual explains how to hook up the modem, telephone, and printers. It also describes some of the options for controlling the printers, the width of the screen, and the word or the character mode (which will be explained later). There are lists of what will be transmitted by each of the keys on the keyboard. Some Name Language Telelink I 6502 assembly language Type Computer Communications utility Atari 400 or 800 computer with an Atari 850 interface Manufacturer module and an Atari 830 Atari Inc modem (or equivalent) 1346 Bordeaux Dr Sunnyvale CA 94086 Documentation (800) 538-8547; in California 5 pages, 8V2 by 11 inches (800) 672-1404 Audience Price Individuals wishing to use $19.95 information utilities and timesharing networks Format Computer program cartridge (read-only memory) special control-character combinations send ASCII (American Standard Code for Information Interchange) characters not available on the Atari 400 and 800 key- boards. (For example, a Control-[ sends a { .) A list of de- finitions of several data-communications terms is also in- cluded. Finally, the manual lists the ASCII character set with the decimal and hexadecimal values of each charac- ter. The meanings of the ASCII control characters are also given. An offer to sign up with CompuServe and receive one hour of free time on Micronet is included when you buy Telelink I. Micronet has several services that may be of interest to the Atari user: one is the monthly Atari newsletter. Another service is a CB (citizen's band) radio simulator. Users can enter the CB simulator and talk with computer users across the country. Control Features Pressing Control-8 changes the width of the screen from 38 characters to 40 characters. Control-0 toggles be- tween word mode and character mode. The character mode splits words at the edge of the screen; the word mode, which moves a word to the next line rather than splitting it, improves the readability of the text on the screen. This is also known as word wrap. Atari's printers can be used with Telelink I to provide hard copy of a terminal session. Telelink I reserves a 1.5 K-byte buffer for the printer. This buffer can be printed automatically or under direct user control with the Select key. In the automatic mode, 1 K bytes of data are collected in the buffer, then an ASCII XOFF is trans- mitted to the sender. (XOFF is an ASCII control character meaning "stop sending data.") At this point, Telelink I stops looking for data from the modem and begins print- ing the information stored in the buffer. When the buffer 86 October 1981 © BYTE Publications Inc > c "And in conclusion, FU only use my exceptional powers for the good of mankind!' "That's a vow all we Vector 3005s make. And it's not one we make lightly. "After all, being the only product on the market with a Vector 3 terminal, a 5%" floppy, and a 5J4" Winchester rigid disk drive that provides 5 megabytes of storage is quite a responsibility. It used to take 20 floppies to give you that kind of capacity. "Our powers don't stop there, however. Each 3005 also comes with a 32-bit error-correcting code — the first time sophisticated IBM-style technology has been available on a small business system. This lets us detect and correct errors, and almost completely eliminates data loss on disks due to dirt, wear, or damage. "All this makes us pretty awesome, all right. But there's more. When coupled with Vector's MEMORITE III and EXECUPLAN software packages, we give you a 30,000 word dictionary, the ability to create your own phrase library, a teaching manual right on the screen, pass word security, plus a host of other word processing capabili- ties as well as financial planning, forecasting and basic accounting. "And we're reliable. Our powers won't diminish, Durabili- ties won't fade, and dedication to mankind won't weaken. "For more information and your nearest dealer, call Vector at 800-423-5857. In California, call 800-382-3367. Or write to them at 31364 Via Colinas, Westlake Village, CA 91362. "Thank you all for coming today. And I hope we'll have the chance to do business together in the future!' VECTOR GRAPHIC INC. COMPUTERS FOR THE ADVANCEMENT OF SOCIETY. Circle 384 on Inquiry card. ALTOS BUSINESS C % l-xo PROVEN VALUE O DELIVERY K ' SPM !'' ST€MS PRODUCED IN THE HEART OF SILICON VALLEY, CALIFORNIA U.S.A. \'\-'] !?*?■ 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, S-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. 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 17 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! Packed with fresh ideas for business Wordstar is a trademark of MicroPro International Corp. Microplan is a trademark of Chang Laboratories, Inc. © 1981 Altos Computer Systems COMPUTER SYSTEMS 2360 Bering Drive San Jose, California 95131 800-538-7872 (In Calif. 800-662-6265) Buy with Confidence from the best GREAT PRICES, GREAT SERVICE, GUARANTEED k k COMPUTERS, PRINTERS, TERMINALS ^20 Apple Computers Disk drives, accessories software, graphics tablets. CALL FOR BEST PRICES HEWLETT PACKARD Whether you want their great computer or a wide selection of computer calculators-we have them Call us for great prices: Altos, Atari, NEC, Zenith and other computers MONITORS BMC & NEC Green Screen NOW IN STOCK IBUBeflT (DBS 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 HAVETHEGRAPHIC PACKAGE FOR MX 80. call. SILENTYPE PRINTER ONLY $284.00 SOFTWARE Amazing Mountain Hardware CPS Multi-function card ALL IN ONE: Parallel/Serlal/Clock/Calen Visicalc 3.3 $175/Reg. BPI GL/INV/AR/etc 299/Reg. Tax Preparer by Howardsoft . . . 79/Reg. Real Estate Analyzer.Howardsoft 125/Reg. Creative Financing, Howardsoft 125/Reg. ASCII Express II by SDS 55/Reg. Z-TERM (CPM) (16 sector) .... 85/Reg. TRS 80 & ATARI SOFTWARE TOO MICROSOFT 16K « Ramcard S155 M99 399 99 150 150 65 100 PLOTTERS Bausch&Lomb plotters for your computer by Houston Instruments... CALL! \o &-2Ztffl- O* 6* A 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 is empty, Telelink I transmits an XON to the sender. (XON is an ASCII control character meaning "start send- ing data.") Once the buffer has been filled, this process is repeated. All this is automatic and is handy for copying information to the printer when no user interaction is re- quired. In the nonautomatic mode, data is received until 1 K bytes of data have been stored in the buffer. At this point, the keyboard begins to make a clicking noise, sig- naling that the buffer is nearly full. The user must do whatever is required by the communications protocol currently in use to stop the transmission of data. (Due to the serial data transmission on the Atari 400 and 800 pe- ripheral bus, the Atari 850 interface module cannot share the bus with any other peripheral device, including the printer.) To print data, the Atari 850 must not be at- tempting to transmit or receive data. Telelink I causes the Atari 850 interface to cease monitoring the communica- tion link for incoming data while printing the contents of the buffer. If the transfer of data is not stopped, the data that was received during printing will be lost. Once the transfer has been stopped, the Select key may be pressed, and the contents of the buffer will be printed. When the contents of the buffer have been printed, the user should send the character(s) required to resume transmission of data. Another buffer will be filled and can be printed by repeating the procedure. The options provide means to configure Telelink I to your needs. Pressing System Reset will set all of the op- tions back to their default values. Although the auto- matic printer feature would be convenient, the two net- works I tried, CompuServe (through Tymnet) and HDR Systems Inc (in Omaha, Nebraska), didn't respond to the XON and XOFF control characters. The nonautomatic mode will have to be used in cases where the host com- puter does not recognize XON and XOFF. When an option is changed, the change is printed on the screen. Perhaps it would have been more helpful to reserve one line of the screen to show all the status infor- mation continuously. This would make it easy to deter- mine exactly what mode the printer is in at any time. Another helpful feature Atari could have added is the ability to select local echo of keyboard input, rather than depending on the host computer to send back each char- acter it receives. Conclusions • The Telelink I cartridge provides an easy way to turn your Atari 400 or 800 computer into a terminal for dial- ing into information utilities and timesharing networks such as The Source and CompuServe. • The printer-control features make the cartridge valuable for an Atari system with a printer. The ability to get a hard copy of a terminal session is a definite plus. • For an Atari system without a printer, the decision may be harder. A simple program to emulate a terminal using GET and PUT (in Atari BASIC) was given in the Febru- ary 1981 Compute. The word mode is a nice feature and probably makes the cartridge worth the extra expense. ■ 90 October 1981 © BYTE Publications Inc Circle 264 on inquiry card. Circle 61 on inquiry card. ■■■.;. Reliability, price, and a performance kicker that leaves other S-bit systems far behind: Real time hardware vectored interrupts and the OASIS :.■■'.' ■ ■ '■ ■ . ■ . - ■ ... : ' ■.■■■■ :■.:■,: multi-user OS for an economical system that rivals 16-bit performance. CP/M is included oppy disk and hard disk subsystems, term printers, board-level Bi it - ; . e bra Local- Area Networks Possibilities for Personal Computers Dr Harry J Saal Nestar Systems Inc 2585 E Bayshore Rd Palo Alto CA 94303 Today's technical press is filled with announcements of "local-area network" products and "personal computers." New technologies from billion-dollar corporations are being rivaled by products from small firms, in a field no more than a few years old. This article provides an overview of local-area networks and how they relate to personal computers. Defining local-area network is every bit as difficult as defining per- sonal computer. Features, prices, and technology are distributed across a broad spectrum. Thus, we will try to describe the distinguishing character- istics of a local-area network — how to know one when you see one — and discuss some related system designs that are not local networks, but ad- dress many of the same requirements. Personal Computers and the Group The revolution in computer systems began with dramatic ad- vances in silicon technology that greatly reduced the cost of the "com- puting" part of a computer system. Before this, CPU (central processing unit) cycles were a valuable and scarce resource; whole industries grew up developing hardware and software techniques to squeeze out the last bits of efficiency from big mainframes. Learned papers on how to salvage another two percent of processing time dominated computer conferences. People gathered in com- puter centers (hospital-like en- vironments with air conditioning, raised white floors, and observation galleries). Then, suddenly, all that changed. The cost of the CPU is no longer the dominant concern. Instead, elec- tromechanical devices such as disks, printers, terminals, and cables generally cost more than the entire central processor. As the prices of these peripheral components drop, the time people spend using the systems becomes more important. We need rapid access to information; we need to review alternatives "on- line" to make decisions quickly. Our computer systems must respond to our needs and schedules, not the other way around. The personal computer is dedicated to providing this environment. It is ready for work when we want to use it. It is typically dedicated to one per- son (or task) and not shared with other people. Although timesharing systems attempted to give the user the illusion of a dedicated computer, they failed because inevitably the load presented by numerous users slowed them down. A personal computer, on the other hand, responds equally well at any time of day. We no longer need to worry about the "wasted cycles" if we simply leave it on our desks just blinking its cursor. The hallmark of the personal computer is this "one person, one computer" approach. While having to share a central processor may not be justified for many of today's computing needs, information sharing is as important as ever. Once two or more people begin to work cooperatively, they need to communicate and exchange information, whether the impetus be the joint development of a large pro- gram, several people checking on in- formation in a common data base, or the implementation of an electronic mail system. Sharing of larger and more reliable peripheral devices is equally impor- tant in all but the smallest computer applications. We can't all have our own letter-quality printer in our office, though we may need access to one. Large libraries of programs or extensive data bases require larger disks than those normally connected to personal computers. Their cost (and reliability) is much higher than 92 October 1981 © BYTE Publications Inc SuperSoft's Gallery of CP/M Masterworks Programming Languages "C" FORTH FORTRAN IV RATFOR BASIC 'TINY' PASCAL Disk/Manual Only $200/20 $200/25 $250/25 $100/NA $200/25 $ 85/10 System Maintenance Diagnostics II Diagnostics 1 DISK DOCTOR $100/15 $ 75/15 $100/15 Utilities Utility Pack #1 Utility Pack #2 $ 60/NA $ 60/NA Text Processing TFS Super-M-List $ 85/15 $ 75/10 Software Security Encode/Decode II Encode/Decode I $100/20 $ 50/20 Intercommunications TERM TERM II $150/15 $200/15 Entertainment ANALIZA NEMESIS Dungeon Master (For use with Nemesis) $ 35/NA $ 40/NA $ 35/NA Miscellaneous Z8000 Cross-Assembler "C" Cross-Compiler (Z8000 Target) $500/25 $500/25 s ******* tnfiitlltiit * * * * A ^ TERM A Complete Networking/Intercommunications Package TERM allows the CP/M user to communicate with other CP/M based systems or with remote timesharing computers. TERM supports file transfers between both timesharing systems and between CP/M systems. TERM equals or exceeds comparable programs in power and flexibility, but costs less, delivers more and source code is provided on discette! With TERM you can send and receive ASCII, HEX and COM files. You also have a conversational mode, and a timesharing terminal emulator. Below is a partial list of features: • Engage/disengage printer • terminal emulator • auto error checking with re-try • conversational mode • send files • receive files requires 32K CP/M and a minimal knowledge of assembly language programming. TERM is supplied with source and user manual: $150.00 Manual only: $15.00 VWW J TERM f ' TTTT ' e fl Many programs include SuperSoft's online "HELP" system! S 3 fig M „»„«„<,..«,.« „»..i,.»« ,»,,».. w„n,.f^^4-^, SUPERDISKS FOR SALE! SuperSoft Has Great Prices on Blank Discettes SuperSoft sought out and found a discette that met our high standards In the software distribution business we needed a discette that was reliable, sturdy, durable, and inexpensive We wanted no data errors on any discette that we shipped. • Guaranteed • Data density in excess of 3200 b.p.i. • Approved by Shugart, Persci, Qume, Remex, others • Operating temperature: 50-1 20 degrees Fahrenheit Discette type | price per box Single Sided Single Density: Soft sectored IBM compatible 8" $30 00 10 hard sectors 5%": $30.00 16 hard sectors 5!^": $30.00 Single Sided Double Density: Soft sectored IBM compatible 8" $35 00 10 hard sector 5%": $35 00 16 hard sector 5//': $35 00 "Add $15.00 for Double Sided Discettes Illinois residents add 5% Add $1 00 shipping per box All SUPERDISKS are sold only in lots ol 10 Each comes w paid or C O D Generally we ship from stock with arrival All orders must be pre- it 8-10 days l »i«l ' «l« t " » m»t"l»i' * i"i i H i H»i " t " i » For complete information on these and all other SuperSoft products, please write for our free catalogue. All software can be supplied on the following media: CP/M formats ... 8" sft sectored, 5" Northstar, 5" Micropolis Mod II, Vector MZ, Superbrain DD/QD, Apple 11 + 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 DIGITAL RESEARCH SSS FORTRAN is the copyright ot Small Systems Services, Urbana, Illinois 24 hour express service available! SuperSoft First in Softwore Technology Prices swo/ecf lo change wimoul nonce 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 S> 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 + '. 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 Vertical Data Systems Inc. 1215 Meyerside Dr., Unit 2A, ^F7WW Mississauga, Ontario, VVV Canada L5T1H3 (416)671-1752 Dealer inquiries invited the stripped-down "consumer" var- iety offered by most personal com- puters. Multiuser Systems Personal computer networks preserve the independence of each computer work station while offering the possibility of sharing information and devices among the individuals on the network. Networks are useful in almost all situations where several people need to work together and share information, but still want the attractive features of the dedicated personal computer. Of course, we can satisfy the multiuser requirements in a more traditional way, too. A number of companies offer shared multiuser systems based on a single micropro- cessor. Digital Research's MP/M system permits up to sixteen users to share a common microprocessor and its peripherals. MP/M is a derivative of the popular CP/M operating system that permits applications writ- ten for that environment to function for multiple users. Onyx's C8000 is a multiuser system based on the Zilog Z8000 microprocessor running the Western Electric UNIX operating system. Multiuser systems are fundamen- tally similar to timesharing systems of the past. Users may be happy with the performance as long as the demands on the single processor are low, but they share one of the great weaknesses of central computer sys- tems in that if the processor should fail, everyone loses his work and has to wait until the system is repaired or restarted. And because of the sta- tistical nature of the sharing of the processor, things we take for granted in personal computers, such as real- time graphics and instantaneous response to keystrokes, are sacrificed. Networks, Networks, Networks Until five years ago, a computer- communications network generally meant a connection of a large number of terminals, geographically dis- tributed throughout a company or across the country, to one or more central computers. Anyone using The Source or Com- puServe (Micronet) uses such a net- work. The terminal is connected by telephone to a nearby communica- tions processor, which takes the fairly low-speed information (30 to 120 characters per second) going to or from your home and merges it with the data of other local users. These communications processors are con- nected together by much higher speed lines from city to city. The data are put into groups, called packets, with routing information and error-detect- ing fields appended, and sent from site to site until the packets arrive at a processor connected to a large time- sharing system. (Western Union's Telex and TWX services are other ex- amples of international low-speed networks.) These networks process information at speeds appropriate for humans typing or reading data from a screen. Loading a 16 K-byte program or operating system takes over nine minutes at 300 bps (bits per second); the same load would take under one second from a local floppy disk. Some networks are used to connect computers rather than terminals. They run at much higher speeds and transmit large files, documents, and electronic mail between systems. But even these nets don't have the band- width required to allow modern storage devices to operate at full speed, and are not acceptable for the interactive transmission of program and data files in real time. Device Sharing There are a number of systems on the market that permit each user to have his own dedicated computer and share disks or printers, but which are not truly computer networks. Several recent products permit numerous in- dependent microprocessor boards and separate memory to be installed in one chassis. One of these boards is generally reserved for shared access to one central disk subsystem or printer. A terminal is attached to each processor, so each user on the system actually has a dedicated micro- processor. Such a system is quite attractive, but certain inherent disadvantages still remain. The chassis is large, needs a big power supply and large 94 October 1981 © BYTE Publications Inc Circle 262 on inquiry card. Easy on your eyes and your budget ■ •*w. OfSICNfO FOR TfVT aun HT ^m^| |^_ .^fl-flti* HI 1 ▼ i This high quality professional computer monitor provides sharp, clear display of up to 80 characters by 25 lines of text, making it ideal for word processing as well as standard business applications. Lightweight industrial grade construction gives maximum portability with reliable operation. Color monitor also available for Apple;"' Atari 5 and other popular computers. See your authorized NEC America Dealer. 80 character display makes it ideal for word processing and scientific applications. NEC H Apple rs a registered trade Atari is a registered traded urk of Apple Computer, Inc irk of Aran Inc NEC America, Inc. 1401 Estes Avenue Elk Grove Village, IL 60007 cooling capacity, and if any module fails, the entire system, generally, is down. There is no way to add more stations while the system is running, and the terminals can't be located very far from the main processor unit. Each processor must com- municate with the others through the common-service processor. They cannot directly exchange informa- tion, nor can they have their own private disks, printers, modems, and the like. Another product for multiuser, independent-processor sharing of a disk is the disk multiplexer (the Cor- vus Constellation is an example). A disk multiplexer can be likened to a very fast rotary switch that cycles around looking to see if any of the computers connected to it wish to do a disk access. When it finds a request, it reads or writes the particular disk sector and then goes on to the next station. The disk multiplexer ap- proach is quite simple and can be an inexpensive solution for many ap- plications. However, due to the very low level of the requests that are typically presented to the multiplexer (eg: read a sector and write a sector) it is generally limited in dealing with the more sophisticated problems that arise in multiuser interactions. A more sophisticated interface with a powerful software base is needed for complex applications. Like the multiprocessor systems previously described, there is no way for separate stations to communicate directly. They must send their infor- mation to the multiplexer, where it goes to disk, or may be temporarily buffered in memory. If the central disk or multiplexer fails, all work comes to a halt. Networks Without Software One of the central themes of a com- puter network is communications. A large number of companies now offer computer networks that provide the ability to transmit data from station to station, but do not address the questions of the necessary operating system, programming language, and applications software needed to make use of these networks. Basically, these units are peripherals with low- level drivers that permit data ex- change. While they are suitable for those installations that have the necessary system-programming talent to design, modify, and implement the changes needed to take advantage of this facility, we will be focusing on in- tegrated computer-network systems. Very few vendors are willing to step up to the complex software tasks in- herent in blending these technologies into a coherent system design. Both Digital Research and 3COM provide software without a network. Digital Research's CP/NET system permits up to sixteen stations on a host. These stations share the data and devices on that central host. CP/NET is written without any par- ticular network communication devices in mind. Each hardware ven- dor may select a particular technol- ogy and protocol to connect the work stations to the host. But although CP/NET provides a frame- work for multiuser software based on the familiar CP/M environment, due to the lack of support for applications in the languages and systems running under CP/NET, many companies have chosen to develop their own variant of CP/M with their own shar- ing protocols. 3COM's UNET is a package writ- ten for the UNIX environment. It is a software implementation of a govern- ment-standard intercomputer proto- col, called TCP; it, too, leaves open the question of how the computers are actually connected, and applica- tion programs must explicitly deal with the network in a nontransparent fashion. Attributes of a Local Network A local-area network can be described as a communications net- work that covers a limited geographi- cal area. Just what "limited" means varies substantially, from 0.1 km (ap- proximately 328 feet) to 10 km (ap- proximately 6.2 miles). Data rates on APPLESCOPE Interface for the Apple II Computer The APPLESCOPE system combines two high speed analog to digital converters and a digital control board with the high resolution graphics capabilities of the Apple II computer to create a digital storage oscilloscope. Signal trace parameters are entered through the keyboard to operational software provided in PROM on the Dl control board. • DC to 3.5 Mhz sample rate with 1 024 byte buffer memory • Pretngger Viewing up to 1020 Samples • Programmable Scale Select • Continuous and Single Sweep Modes • Single or Dual Channel Trace • Greater that or less than trigger threshold detection Price for the two board Applescope system S595 •Dealer Inquiries Invited DIGITAL STORAGE OSCILLOSCOPE INTERFACES For further information contact: Circle 316 on inquiry card. RC Electronics Inc. 7265 Tuolumne Street Goleta, CA931 1 7 (805) 968-6614 Combine an Apple II or S100 based computer system with our interface circuit boards to create a digital storage oscillo- scope at a fraction of the cost of other storage scopes. The S100 interface pro- vides an additional 1 024 bytes of buffer memory in place of the PROM. The user must supply the graphics display and driving software. Price of the single board is $495. TheSCOPEDRIVERisan advanced software pack- age for the Applescope system. It provides ex- panded waveform man- ipulation and digital signal conditioning. The SCOPEDRIVER is avail- able on 5 'A" floppy disks for S49. 96 October 1981 © BYTE Publications Inc Start talking business with your Apple COBOL is the most effective business language, Apple II is the most friendly business computer. CIS COBOL with FORMS-2 brings together the best features of COBOL and Apple to enable you to deliver the most effective, user-friendly applications. Business Programmers: Take the COBOL expertise you have acquired on big business mainframes, and use it on Apple II to create friendly applications that will talk directly to your users - where it suits them best, on their own desks. CIS COBOL's dynamic module loading gives you big application capability and the FORMS-2 source generator lets you build and modify conversational programs from visual screen formats, creating much of the code automatically. Application vendors: CIS COBOL with FORMS-2 steps up the pace for your development of the high quality professional application packages needed today. And creating them in COBOL makes them more maintainable. Over half the Apple II 's now being sold are going to business or professional users so demand for quality applications is growing fast, creating big business opportunities for you, Stability proven by the US Government. CIS COBOL has been tested and approved for two consecutive years by the US General Services Administration as conforming to the ANSI 74 COBOL Standard. Apple II under CP/M is included in CIS COBOL's 1981 GSA Certificate of Validation (at Low-Intermediate Federal Standard plus Indexed l-O and Level 2 Inter-Program Communication), Get your hands on CIS COBOL at your Apple dealer. Talk business with him now! Micro Focus Inc., 1601 Civic Center Drive Santa Clara, CA 95050, Phone: (408) 248-3982, MICRO FOCUS CIS COBOL with FORMS-2 for use on the Apple II with CP/M is an Apple Distributed Product, CIS COBOLand FORMS-2 are trademarks of Micro Focus, CP/M is a trademark of Digital Research, Apple II Is a trademark of Apple Computer, Circle 225 on inquiry card. Save $ 2500°° Are you faced with having to spend $3000 and up for a letter-quality printer? Mediamix offers an alternative. For only $500 the Mediamix ETI lets you connect IBM Electronic Typewriter Models 50, 60, or 75 to any computer. Why invest in two separate machines? Your office typewriter can do both jobs yielding better type quality, a consistent corporate image and renowned IBM service. The ETI Z is no simple black box, either. It is a sophisticated micro- computer with 2000 charac- ters of memory, over 39 special commands and the option of doing typesetting on the IBM Model 50. Write or Call MCDIHMIX P.O. Box 67B57 Los Angeles, California 90067 (213)475-9949 Dealer Inquiries Invited a local network also vary over orders of magnitude, from 100 K bps to 10 M bps, and higher. But these bound- aries are far from sufficient to characterize the meaning of "local network" today. Compared to terminal-like devices, a local network generally has an inex- pensive communications medium and high data rates. Every node on the network can communicate with every other node, and the network requires no central node or processor. Messages are "broadcast" over the communications medium, with a destination address included. Only the intended receiver is expected to respond, although other stations have the capability of "listening in." Thus, a high level of security, such as found in point-to-point networks, is not present unless cryptographic tech- niques are used. Local networks are meant to be highly reliable, so that any failing station will simply be unavailable, without interrupting the communications between the remain- ing stations. Similarly, it is possible to add new stations without disrupt- ing the ongoing communications flow. Due to the limited-distance nature of local networks, another standard feature is the ability to connect multi- ple networks. This internetwork link, called a gateway, may be a high- speed link for networks that are close to each other, or it may depend on a more conventional telecommunica- tions network for reliably transmit- ting data from city to city, or around the world. Because of the multiplicity of emerging network technology, and the variety of communications pro- tocols in use, gateways must be pro- vided to permit stations on one type of network to exchange information with others on a different type or speed of network. Both electrical and software protocols must be converted when passing data through these gateways. Origins of Local-Area Networks Local-area networks evolved from the large-scale telecommunications networks developed in the 1960s. As universities and research labs began to install computers, the need arose to permit the flow of information among them. The underlying com- munications protocols (packet transmission) came from the long- distance networks. The communica- tions media (twisted pair or coaxial cable) were developed to support very high speed direct coupling be- tween computers. One experiment significantly af- fected the nature of modern local- area networks: the University of Hawaii wanted to connect terminals all over the Hawaiian islands to a local computer and communications processor, and from there to other networks. They developed a system called ALOHA, a packet radio-trans- mission system. No wires were used to connect each station to the others, so techniques such as polling could not be used. The scheme was elegant, and operated in a manner very similar to the way that telephone party lines work. Each station would first listen to see if anyone else was transmitting (in radio jargon, this was called "car- rier sense"). If not, the station would transmit its message, including error- detection bits. As long as the total fraction of available transmission time used was low, everyone got a turn — eventually. If two stations found the channel clear and started transmitting simultaneously, the two packets would collide. This collision would scramble the information, but the error-detection logic would throw away the bad data. If the stations didn't receive an acknowledgment by a certain time, they would simply send the packet again. Studies of this scheme quickly revealed a number of problems, one of the more serious being that as the number of messages grew, many col- lided, and only a small fraction of the true communications bandwidth was used for valid data. Far more serious was the fact that if enough stations tried to transmit, less and less data got through, and the result was con- tinuous collisions! The Ethernet Network Numerous refinements to the basic 98 October 1981 © BYTE Publications Inc C #Pascal Efficiency^-rortability Flexibility»otrong Typing Now you don't have to compromise! Whitesmiths Ltd. now offers portable language development systems for four families of computers. Approximately one thousand installations use our software. We support complete versions of both C and Pascal, as compilers and cross- compilers. You get C automatically when you license Pascal, and you get native support with each cross-compiler. Test the software on your VAX before burning PROMs for your 68000 or 8080. Whitesmiths Ltd. offers a variety of licensing arrangements, the simplest being a binary license for use on a single CPU. The full source code is avail- able with internal documentation. Maintenance, training and sublicensing rights may also be obtained. Call or write for more information. Source Operating Systems 8080 /Z80 Target IV LSI-11 /PDP-11 lachines VAX-11 M68000 8080/Z80 CP/M C: $750 Pascal: $950 * * * LSI-11/ PDP-11: Idris, Unix, R711, RSX-ll/M, RSTS/E, IAS C: $1350 Pascal: $1550 C: $750 Pascal: $950 # C: $1350 Pascal: $1550 VAX-11 Unix/V32 VMS C: $1350 Pascal: $1550 # C: $750 Pascal: $950 C: $1350 Pascal: $1550 M68000 VERSAdos * * # C: $750 Pascal: $950 ^■^■■■■■■■■■■■^ Idris is a trademark of Whitesmiths, Ltd. ■ Unix is a trademark of Bell Laboratories M CP/M is a trademark of Digital Research Company ■ VMS, RSX-1 1 /M, RSTS/E, LSI- 1 1, VAX, are trademarks of Digital Equipment Corporation ■ VERSAdos is a trademark of Motorola Corporation Protect .your software * SpeciaI ° rder \\r Tt investment ♦ 1 y 1 Whitesmiths, Ltd RO. Box 1132 Ansonia Station New York, N.Y. 10023 (212) 799-1200 Telex 645 592 Distributors: Australia Japan United Kingdom Fawnray Pty Ltd. Advance Industries Real Time Systems Hurstville, NSW Chiyoda-ku, Tokyo Newcastle upon Tyne 02 570 6100 03-258-0839 0632 733131 Sfarwrifer 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 ^^— ^ IF * . ATARI Q7QQ MAKES ^ f O W IT, WE ^ SELL IT Atari 400 8K Computer 419 Atari 800 1 6K Computer 789 Atari 410 Program Recorder 69 Atari 81 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 Available for immediate shipment Full 96-character ASCII with descenders Adjustable tractor-type pin feed • Interfaces — 'Standard — Centronics-style 8-bit Optional — PS232, IEEE488 Parallel Duffer Size — one line TO ORDER: Phone orders invited using Visa, Mastercard or bank wire transfers. Visa and MC service charge of 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% ($700 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 1 (714) 579-0330 • MAIL TO: 1251 broadway, el cajon, ca. 92021 f f~~ niv of ("TV "^ COMPUTER WE WILL MEET OR BEAT ANY ADVERTISED PRICES ON MOST ITEMS IF MERCHANDISE IN STOCK 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 25 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 88 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 Z-80 SOFTCARD by Microsoft 319 MEMBER CHAMBER OF COMMERCE ALOHA scheme were developed, but the most significant were developed at the Xerox Palo Alto Research Center as part of an experimental project, called Ethernet, started in the mid 1970s. (It was once thought that a universal medium called "lumin- iferous ether" was the carrier of elec- tromagnetic waves. Xerox decided to build its "ether" out of coaxial cable.) The Ethernet scheme could detect a collision in progress by reading back the state of the cable as data were be- ing transmitted. Thus, a station could sense when another station was send- ing data and stop transmitting, in- stead of continuing until the end of its packet. (To guarantee that all such stations recognized the collision, a burst of noise was sent prior to quit- ting.) A randomized delay function was added so that each station would wait a different amount of time, in- stead of beginning to transmit im- mediately after a previous transmis- sion was complete. This avoided causing a collision each time two or more stations had something to send. The delays would get progressively longer as the channel became busier. a) c) Using these modifications, an Ethernet-style local network could use essentially all the bandwidth of the communication medium. Even as stations began sending ten times as much information as the channel could handle, things no longer came to a halt. The Ethernet algorithms were designed to be simple. Every station on the network manages its use in- dependently, so there is no need for a master to control access. Simplicity was important to ensure minimal building costs and reliability. Other schemes are considerably more com- plex, which makes them either dif- ficult or expensive to include in each node's interface. Network Topology Most early local networks used a star topology (see figure 1): a central node was connected via a radial cable to each of the other stations. Unfortunately, this system suffers from the consequences of a central failure. The entire system goes down if the center fails. But there are still many reasons to use a star network. E__I Figure Is Popular network topologies. The star network (la) is the most common of the early network types (such as the telephone system), and relies on the central node for control of operations. The ring network (lb) circulates all messages in one direction, and may employ tokens to specify which node may transmit; a failure of any node may interrupt network operation. Bus configuration (lc), as used on the Ethernet and by cable television, allows nodes to be added or removed without impairing the network. Telephone exchanges are organized as star networks, and many companies already have PBXs (private-branch exchanges). By using the PBX as a local-area network for data as well as voice communication, companies can take advantage of the already existing wiring: this is most suitable for low- data-rate information, such as video terminals. A ring (or loop) topology connects its stations in a closed network. Messages circulate in one direction, often being amplified and repeated at each node they pass through. Again, a station failure can interrupt the en- tire message flow, but in some cases two alternate parallel loops are pro- vided for reasons of reliability. Rings often use a form of control strategy called a token. A token is a special message that gives the receiving sta- tion permission to transmit. When a free token comes by a station that wants to transmit, the token is re- moved and replaced by the message. Generally, the same station removes this message when it comes around again and reinserts the token. Rings are most popular in process- control applications (eg: controlling equipment in manufacturing en- vironments). When dealing with the equipment being controlled, it is im- portant to be able to guarantee the worst-case maximum time necessary to send a message to some station, say to close a valve. Token systems can provide a solution to this prob- lem. The random nature of the Ethernet scheme might prevent a sta- tion from sending a critical message in time. (Actually this is a bit misleading. Ethernet can be used to build token-like control that requires stations to avoid sending a message just because they see the net is free; they have to wait to receive the con- trol token first.) Much of the ring approach has been developed in England, par- ticularly at Cambridge University, where numerous computers and ter- minals have been interconnected using a simple but high-speed inter- face. Several British companies are now developing commercial versions of the Cambridge Ring interface unit. 102 October 1981 © BYTE Publications Inc >E >ALANTII The next generation of business software WHAT'S IN A NAME? We've chonged the name of our producl line. Originally, we called our products "Phoenix" because we saw the phoenix as an appropriate symbol of quality. Unfortunately, a lot of other companies chose Phoenix as well, and there was some concern that the market place would become confused. Our new name, PALANTIR™ (pronounced pa/'anteer), is not a new name ~", It comes from J. R.R. Tolkien's The ji umu unuiuci ^ alack crystal ball, a "seeing stone", used to see things at a distance. Whatever the name on the package, ihe software in the package hasn't changed. It is still the highest quality business software you can buy for your microcomputer. WORD PROCESSING We know word processing. A year-and-a-half ago ihe owners of Designer Software'" wrote a well-known word processor for another company. In the last 1 8 months we've learned about other features you want in a word processing package. PALANTIR™ Word Processing reflects our experience. It is more powerful than other word processing packages you can buy and can compete, feature for feature, with ex pensive dedicated word processors. Many people have remarked that the user's manual we wiote earlier was the best ever for microcomputer software. Even so, we felt that we could have made it more accessible to the non- technical user. With PALANTIR" .',7' ,V- r'*' 7 *. Word Processing wo have a separate Training Manual wilh beginning, intermediate and advanced levels. By allowing you to work at your own level, we have made the learning process easier and less intimidating. ACCOUNTING Alt five PALANTIR" general accounting packages (General Ledger, Ac- counts Receivable and Payable, Payroll and Inventory) were designed by CPA's based on similar packages from mini and mainframe computers. The programs are COBOL wilh an integral assembly-language data base. They are integrated to allow automated posting to the General Ledger. An internal screen handler permits full-screen data entry for speed and ease of use. Although we made cosmetic enhancements prior to distribution, the basic programs have been user-tested for ot least eighteen months. PALANTIR™ Accounting also includes a growing number of specific application packages. We have completed or scheduled for completion Fixed Assets, Tenant Processing, Mail Management, Financial Projec- tions and Time/Billing. Each package stands alone, but many also work in conjunction with other PALANTIR™ packages. For example, Mail Management will work very well by itself, but we also designed it to fit in easily wilh the merging capabilities of Word Processing. With all PALANTIR™ Accounting we have given special attention to documentation. Not being content to describe which buttons to push, we grams and how each package helps to automate your office. Designer Software HOUSTON l( you want to know what PALANTIR" Word Processing and accounting can do (or your business, call, write, telex or use The Source to request more information. 3400 Montrose Blvd • Suite 718 • Houston, Texas 77006 (713)520-8221 • Telex 790510 • Source TCU671 Circle 117 on inquiry card. Circle 75 on Inquiry card. ((((GO)) CQMPUD1AL, INC. "ZsA&JzinJc .jfc/weert .Jec/wfi/oq*/* &' ■ seajt/e. " Cherry Hill Industrial Center 2 Keystone Avenue/ Cherry Hill, N.J. 08003 TELEPHONE (609) 424-4700 • (215) 629-1289 The Leading Intertec Dealer In The Northeast Dealer and OEM Inquires Invited Special Discounts on SUPERBRAINS SUPRBRAIN Intelligent Video Terminal Systems 350K or 700K of Disk Storage w/64K Double Density, ListJp495" W/64K Quad Density, List.$3995- CompuStar™ MAINFRAME PERFORMANCE AT MICROCOMPUTER PRICES MULTI TASKING - MULTI USER No networking degridation experienced as with single CPU systems. A business system priced comparable totheTRS 80. mt&MmmS&mk Government and International Inquiries Invited PRINTERS Nee Spinwriter Data South Microline MODEMS Racal-Vadic SOFTWARE FOR SUPERBRAIN AND COMPUSTAR Accounts Payable Payroll Accounts Receivable Word Processing Many Others FAST RELIABLE Hardware Service On Our Premises Or In Our Area For Information Or To order call (609) 424-4700 Bus topology is quite simple, being merely a long length of cable that runs past each station. Stations are connected to it at the nearest point, and can be added or removed without affecting any other station. A station can be added in two ways: the bus can be split, temporarily disrupting communications, and a new station inserted, or, more commonly, taps (devices developed by the cable TV industry that literally pierce the cable from the outside, making contact to the inner conductor and the outer shield) can be installed while stations are transmitting. Even temporary shorts will only garble some packets, and they will be retransmitted once the short is removed. The Ethernet uses this form of interconnection. What Frequency, What Wire? Another significant parameter in the description of a local-area net- work is the particular medium used to send the information between sta- tions. Local networks have used twisted pair, multiconductor flat cable, coaxial cable, optical fibers, and even infrared light transmitted through the atmosphere. Within each of these categories, numerous choices abound in the frequency used for transmission and the details of the modulation technique. The most fundamental split in technology revolves around frequen- cies used on coaxial cable. You can think of coaxial cable as a simple wire. If someone wants to send infor- mation, the wire can be left at V or raised to some nonzero voltage. Another station can detect the changes in voltage and decode the in- formation. This is generally referred to as baseband transmission, since the frequency spectrum generated starts at Hz (direct current) and goes up from there. Television transmission is sent at very high frequencies (typically 50 MHz to 100 MHz). A central carrier- frequency is modulated up and down to transmit the information. At these frequencies, the cable has far less at- tenuation than in the baseband region, so a transmitter can broadcast over miles of cable instead of being limited to several thousand feet. And the blossoming cable-TV industry can provide the necessary devices at a very low cost due to the large volumes they are expected to produce for standard television reception. RF (radio-frequency)-modulated systems can also provide much higher band- widths than baseband, so the cable can, in principle, be shared along with voice- and video-transmission systems. RF systems (also known as broad- band), while very attractive, do re- quire a central retransmitter to re- ceive the data sent from each station and rebroadcast it, much amplified, at a different frequency that each sta- tion is expected to listen on. The re- quired unit is expensive, even for the smallest system, and if that unit fails, the network is unavailable until the retransmitter is back in service. Local-Area Network Standards Numerous local-area network products have already been an- nounced, and new entries are made daily. In almost every case, the manufacturers have developed their own hardware and software pro- tocols. These, naturally, are incom- patible with everyone else's! The exception to the above incom- patibility is the Ethernet specification released in November 1980 by DEC (Digital Equipment Corporation), In- tel, and Xerox Corporation. Based on years of actual experience with an ex- perimental version of Ethernet com- munications, the "tri-company stan- dard" was provided, with every detail of the electrical and low-level com- munications protocols defined. These companies are trying to encourage the adoption of this scheme among computer and peripheral manufac- turers; indeed, many large and small companies have publicly an- nounced their adoption of the DIX Ethernet system, and are busy design- ing and building products. The DIX Ethernet system uses a baseband-transmission scheme, with a 10 Mbps data rate. It provides for the use of a large number of stations and packet formats, with 48 bits allocated for a unique world-wide 104 October 1981 © BYTE Publications Inc No business is too OKira 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? 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 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 ^jd NorthStar& Circle 268 on inquiry card. station address that is not duplicated anywhere, and it has a large (32-bit) checksum on each packet to detect errors. This scheme pushes the technological requirements by oper- ating at such high speeds and using the particular packet format and checksums adopted. Without spe- cially designed VLSI (very large scale integration) devices to handle the net- work interface, it is expensive to build an Ethernet interface. For exam- ple, Intel has announced a Multibus Ethernet interface (the iSBC-550) that costs about $4000. To that you must add several hundred dollars for an analog interface (the transceiver unit) to connect between the interface board and the physical cable. It is ex- pected that volume production of the needed components will begin within the next two years and prices will drop dramatically. One means of lowering the effec- tive cost is to share the Ethernet inter- face among several stations. A number of companies (such as Xerox, and Ungermann-Bass) offer a microcomputer-based Ethernet inter- face with four to eight ports for con- necting terminals or other microcom- puters. The effective cost per station can be reduced to between $500 and $1000 for a fully loaded system. Standards Organizations While product activity continues, several committees are attempting to develop an industry-wide standard for local-area networks. The IEEE (In- stitute of Electrical and Electronics Engineers) Computer Society Local- Network Committee (Project 802) has been meeting for over a year to try to establish a viable standard, and the standard is still in a state of flux. Fierce battles have been raging among the committee members representing different local-network interests. The IEEE standard has been evolving in a manner that attempts to accom- modate many diverse application areas and functional requirements. The framework for defining a com- munications network is based on a highly layered series of protocols developed by the ISO (International Standards Organization), called the OSI (Open System Interconnection) protocols. The OSI architecture defines seven layers of commun- ications. Layer 7, the Application layer, pro- vides for the identification of users and services, and is responsible for in- itiation and reliability of data transfers, as well as general network access, flow control and recovery. Utility programs may perform net- work file-transfers, terminal-to- network support, etc. Layer 6, the Presentation layer, is primarily responsible for making data available to the Application layer in a meaningful fashion. The Presentation layer takes care of protocol conver- sion, data unpacking, translation, or encryption. Layer 5, the Session layer, is used to set up and break communications paths across the network and manage the exchange of data. It is responsible for multiplexing and demultiplexing ■liliiif NINTH ■IIMNi 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 • SPECIAL! BUY 10 and GET ONE FREE! OFF!! OR MORE ! YOUR PRINTER ■ACK SIZE RETAIL LIST' RADIO SHACK LPIII, LPV RADIO SHACK LPII, LPIV CENTRONICS. MOOS 700 to 703 CENTRONICS 100, 101A, 102, 103, 300, 301, 306, 308, 330, 358,398,500,501,503,508, 588, 620, 820. CENTRONICS 704-705 IBM -"SILVER DOLLAR" Sys. 34, Sys. 32 MDLA, Series IMDL4974, 5256, 3287, 3770, 3771-3774,4974,5100,6103, 51 10. 5228, 5256. S32DMDLA IBM - HARMONICA Vi". SERIES I. MOD 4973/11. 3200. 3289, MOD 2. TELETYPE MOD 33, 28, 35, 37, 38, 88. DIABLO HYTYPE II (M/S BLK) HI YIELD. FITS 70 PRINTERS! QUME (FITS 80 PRINTER MODS) WANGM/S. 5541W, WC5681, WD, 6581W, 2281W DEC 'A x 40YD. DEC '/> x 60YD. NEC SPINWRITER one/pk 3/pk 3/pk 3/pk 1/pk 5/pk 3/pk 10/pk 1/pk 3/pk 1/pk 3/pk 3/pk 4/pk 13.95/cart 18.95/3 pk 18.95/3 pk 26.33/3 pk 16.95 ea 5.80 oi 9.42 ea 2.40 aa 9.31 ea 18.00/3 pk 6.85 ea 17.77/3 pk 20.12/3 pk 23.40/3 cart YOUR WHOLESALE PRICE 8.95/Reload rib. only (8. 95 ea) 11.95/3 pk (3.98 ea) 11.95/3 pk (3.98 ea) 17.55/3 pk /5.S5 ea) 13.95/Giant Cart 14.90/5 pk 20.85/3 pk 13.90/10 pk 6.87 ea 13.95/3 pk 5.95 ea 12.95/3 pk 14.25/3 pk 23.60/4 pk lb. reload (13.95 ea) (2.98 ea) (6.95 ea) (1.39 ea) (6.87 ea) (4.65 ea) (5.95 ea) (4.32 ea) (4. 75 ea) 15.90 ea) SIZE .500" x 45' .563" x 45' .563" x 45' 1" x 108' 5/16"x210' 9/16" x 30' 1/2" x 108' 1/2" x 36' 5/16" x 'High Yield" 1/4" x 310' 5/16" x 393' 1/2" x 120' 1/2" x 180' 1/2" » 51' COMMENTS Nylon Incl Instr Nylon Jit Blk Nylon Jit Blk Nylon Jot Blk 5 mil High Speed Giant Cert Nylon Jet Blk Nylon Jet Blk Nylon Jet Blk 300,000 plus imp. Multisttike Film Moltistrike Film Double Spools Double Spools Nylon/Ex Lng Lite R-T3 C-700 C-700 C-100 C-7045 R-300 C-350 R-450 C-511 C-525 C-550 R-600 R-644 R-400 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, ADD $5 HANDLING. "APPROX. RETAIL. PRICE VARIES. ANCIE LABORATORIES 9204 Biltvnom Blvd. ColtBi Piife. M0 20740 301-345-6000 (With. DC. Locil) 301-792-2000 (Bilio MD Loeilj 800-638-0987 (Nilioiul) ADDRESS. CITY ANCIE Laboratories 9204 Baltimore Blvd. College Park, MD 20740 301-345-6000 (Wash. DC. Local) 301 -792-2060 (Ballo. M D Local) 800-638-0987 (National) D Check Enclosed D C.O.D. □ VISA □ MASTER CHARGE ACCT. # EXP. DATE MIN. ORDER $20 PRICES SUBJECTTO CHANGE 106 October 1981 © BYTE Publications Inc Circle 22 on Inquiry card. you fiaveht heard Not anymore. Get to know the company that's been quietly making changes in the business computer marketplace. With a very impres- sive reputation for service, fair prices, and technical know-how. Whether you need a network of office systems installed locally or a single diskette rush-shipped to Zurich, all orders receive immediate attention. • Cromemco's extensive line of micro- computers, accessories and peripherals fully stocked. • DEC systems configured and integrated. • Color Graphics. • Complete selection of software packages plus customizing. Los Angeles Headquarters: 2001 So. Barrington Los Angeles, CA 90025 -[213) 477-B751 Berkeley: 2855 Telegraph Ave. Berkeley, CA 94705 • (415) B49-0177 Newport Beach: 4141 Mac Arthur Blvd. Newport Beach, CA 92BB0 -(714) B51-B700 Canada: B71 5 Eighth St. North East Calgary, Alberta T2E7H7 -[403)275-5871 France: 55 Rue de Rivoli • 75001 Paris, France Tel. 236-94-95 AIVIERICAN COMPUTERS S, ENGINEERS Maxi-performance on Minis and Micros. Circle 428 on inquiry card. messages, managing the sequencing and priority of these messages, and providing the needed buffers. Layer 4, the Transport layer, pro- vides another level of connections between network entities. This layer manages the connections and segments messages into smaller pieces that the network can support. It may also be involved in error and flow control, as well as additional multiplexing activities. Layer 3, the Network layer, is the level that actually determines how to get a message from one network to another (since many paths may exist). The Network level may use several intermediate hops to get information to its ultimate destination and, thus, needs to know how to route packets through the network. It, too, may be involved in sequencing and error- and flow-control activities. Layer 2, the Data-Link layer, is where the actual packet formats are established, along with the particular access control mechanism used to regulate use of the physical network. Data is encapsulated in packets that contain physical addressing informa- tion, error-detecting checksums, etc. Layer 1, the Physical layer, defines the electrical and mechanical inter- faces to the network. The Physical layer specifies the particular signaling means (baseband vs RF, for instance), the modulation technique adopted, station-identification addresses, etc. The current activity of the IEEE 802 committee is focused on specifying Layers 1 and 2, the Link and Physical levels. Similarly, the DEC/Intel/ Xerox Ethernet specification addresses only these two levels of protocol. It appears that the 802 Committee is converging on a standard that offers many alternatives within one framework. Even the issue of data rate (specified by Ethernet as 10 M bps) appears to be an optional value (such as 1, 5, 10, or 20 M bps). The error detection used may be either a 16- or 32-bit CRC (cyclic redundancy check) code, and the access method may be either a token-like scheme or 1 NETWORK A USER 1 I USER ACCESSES FILES ON FILE SERVER FILE SERVER I FILE SERVER PRINT SERVER ACCESSES FILES ON FILE SERVER FOR USER 2 USER 2 USER 2 REQUESTS PRINT SERVICE FROM PRINT SERVER PRINT SERVER I INTERNET SERVER ACCESSES FILES ON FILE SERVER ON BEHALF OF USER ON ANOTHER NETWORK I INTERNET SERVER 1 USER 3 ACCESSES FILES ON ANOTHER NETWORK USING INTERNET SERVER 1 ■ NETWORK B Figure 2: The server/client relationship on local networks. Perhaps the most significant advance in communications is that, under this scheme, the computer system is fully distributed; there is no master node, so each node can call on others when resources are needed. Some nodes are dedicated to special functions, such as controlling hard-disk mass-storage devices, or printing. a CSMA/CD (carrier-sense, multiple access with collision detect) scheme resembling (but not identical to) the Ethernet system. While the 802 Com- mittee deliberates, manufacturers continue to develop their own systems. It is possible that some may modify their products once standards activities are resolved. Recently, attention has been given to the higher levels of protocols. The National Bureau of Standards is pro- posing a series of Transport and higher-level protocols. It is unfor- tunate that the work on the higher- level protocols does not precede the lowest-level issues. The advantage of layered protocols is that the underly- ing levels can be changed in ways transparent to the higher levels, while the converse is not true, but the stan- dards activities are not moving in that direction. Servers and Clients The most significant contribution in the local-area network field is not the communications aspect, but the development of a whole new way of building computer systems. The fundamental organization described by Xerox assumes a fully distributed control mechanism (see figure 2). There is no master-slave relationship among stations; they all com- municate and cooperate with one another. Any number of stations (called servers) on a local network may provide services to other stations (called clients). Typical server func- tions are: mass-storage file system, printer support, time-of-day clock, translation of symbolic names into physical addresses, data-base management support, gateways to other networks or computers, and other specialized hardware support. Servers may also be clients of other servers on the network. For instance, the printer server may be a client of the file-system server in the course of serving its own clients. Servers are distinguished on the network merely by the software they run and any special hardware they contain. A station that is willing to listen to requests from other stations (using a higher-level protocol they 108 October 1981 © BYTE Publications Inc tS, Incorporated /WCLLWUU/ ansiaunceA/ 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. Setting standards of excellence for data base software. . .worldwide. Micro Onto Hnse Systems, inc. Box 248 Lafayette, Indiana 47902 31 7-448-1 61 6/TWX 810-342-1881 Dealer/distributor/OEM inquiries invited. 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. 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! O 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 (Please print) Title . Company Address _ City _ Phone (State) (Zip) MAIL TO: Micro Data Base Systems, Inc. P.O. Box 248-B Lafayette, IN 47902 Circle 224 on inquiry card. agree on) can perform a server func- tion. In order to maintain a high level of reliability, the logical functions of the servers are usually implemented using separate physical computers. One could merge all of the above services into one larger computer, but in do- ing so would end up with something resembling a conventional central computer system. Putting It All Together Clearly, the local-area network field is too broad to cover in great depth. Most of the attention has focused on nonpersonal computer systems, such as large mainframes or terminals. We will describe the Nestar Cluster/One Model A system. The Cluster/One Model A is a local-area network system based on the Ethernet principles, but its implementation has been optimized for the connection of low-cost Apple II personal computers. The system was first announced in January 1980 and has been used around the world for almost two years. It includes in- tegrated software and hardware features needed to provide a com- prehensive data-processing and data- communications facility, and the system permits either independent operation of individual stations, with a full complement of local periph- erals, or a share in the larger, more reliable peripherals via the local net- work. The work station in question costs between $1000 and $2000, so cost constraints differ from those ap- plied to networking work stations in the $10,000 to $20,000 price range. Nestar chose to implement many net- work functions via simple program- mable hardware, and assigned many functions to software. Another deci- sion influenced by these cost factors involves network speed. The speed of the Cluster/One was decided by the reasonable cost for a personal com- puter network interface and the band- width requirements needed for the work typically done by these per- sonal computer work stations. The Model A network operates at 240 kbps— almost a thousand times faster than a 300-bps telephone link, and 40 times slower than the Xerox Ethernet system. This was the fastest rate that could be supported by network-interface software running on the 6502 host processor of the Apple II computer and still allow data checksums to be performed on the message packets. The choice of the network medium was also influenced by the basic cost goal. Rather than taking 8-bit data from the Apple memory and then serializing and deserializing it, it was decided to transmit the data in an 8-bit-wide parallel fashion, which not only reduced the interface cost, but increased the inter-bit transition time. This has the effect of permitting essentially arbitrary interconnection topology for the Nestar network, something not found in any other system. The Nestar network is not restricted to a linear-bus topology, but can be wired as suits the par- ticular installation requirements. Network Design The overall system design resembles the Ethernet scheme. No single critical component must func- tion for network communication to take place. All station-to-station communication is direct, with a carrier-sense algorithm executing in the ROM- (read-only memory) based protocols in each station interface. The interface is passive, so stations may be added or removed from the network during operation. Stations not in use may be turned off until needed. In the Model A network, the carrier-detect function is im- plemented using a dedicated control line, which indicates the bus is busy. Stations do not transmit until they see that this line is available. The elec- tronics of the bus interface permit reading of data just written. How- ever, it is not necessary to perform full collision detection. At the start of a packet transmission the address of the station attempting to send is first put on the bus, and then read back. If two stations do this simultaneously, at least one will not read back its own address and will detect a conflict. Even this is rare, since each station has a random waiting algorithm that avoids most collisions that would occur at the end of a previous transmission. Once this initial colli- sion detection has been passed, the carrier signal has been established and further collision detection is not necessary. The rest of the packet is sent, like ALOHA, without collision detection. After the initial check, later collisions can result only from erroneous stations, and not under normal conditions. Each packet of data contains initial header information, followed by up to 256 bytes of data and a 16-bit checksum. Once the packet is trans- mitted, the receiving station immedi- ately acknowledges the receipt of the packet (if the checksum matches the data) or else requests a retransmis- sion. This error-control algorithm is completely contained in the ROM- based protocols on the Nestar inter- face, and permits higher levels of soft- ware to work with reliable and cor- rectly sequenced data. The ROM pro- tocols are also responsible for taking messages longer than the 256-byte packet size and splitting them into multiple packets, each with its own checksum. Thus the four lowest layers of the OSI protocols are sup- plied as part of the logic on board the Nestar network interface. The Model A network also includes a variety of network servers and the software needed to make their use literally transparent to current ap- plications. The Nestar Network File Server runs on an Apple II microcom- puter interfaced to the network. It can support a variety of devices, ranging from two 8-inch double-sided floppy disks, to 66 megabytes of hard-disk storage. Larger capacity is available by using more than one file server. The network software allows multiple file servers on one local net- work, thus giving essentially unlimited online storage capacity. The data on these reliable, sealed Winchester disks can be "backed up" using Nestar's compact cartridge-tape streamer drive. A single cartridge can write and check over 20 megabytes of data in twelve minutes. The Network File Server can also 110 October 1981 © BYTE Publications Inc The Landlord TM Apartment Management Software Keeping track of apartment availabilities, rent payments, security deposits, leases, and other administrative functions consumes a great deal of time and attention for apartment owners and managers. You and your staff probably spend countless hours dealing with the paperwork necessary to manage your property, With the Landlord™ apartment management software and an Apple II* computer, file cabinets full of paperwork and the frustrations of cumbersome bookkeeping procedures can be eliminated, The clerical work for your apartments can be accomplished with greater accuracy in a fraction of the time you presently spend. The Landlord™ will keep up-to-date files on apartments and residents as well as detailed records of property income and expenses, You'll be able to enter, change, or delete information by following the simple English instructions that appear on the screen of the Apple II*. The Landlord™ will automatically organize and store your data and make it available for your review at any time. With the Landlord™, your resident manager can instantly determine where apartment vacancies exist and when additional units will become available for rental. The Landlord™ also keeps track of resident payments, letting "Apple II is a registered trademark of Apple Computer, Inc. The Landlord is a trademark of MIN Microcomputer Software. Inc. you see at a glance who is behind on rent or other payments, Property and tax analysis reports are printed automatically each month and allow you to monitor the profitability of your apartments, The Landlord™ apartment management software and the necessary Apple II* equipment are available for less than the cost of a new sub-compact car. If you own or manage an apartment property with no more than 400 units, visit your nearest computer dealer for a demonstration. BY1081 Please return this coupon for more information about the Landlord™ and the name of the dealer nearest you. Name Company Address _ City/State Zip. MIN MICROCOMPUTER SOFTWARE, 5835-A Peachtree Corners East Norcross.Ga. 30092 INC •1 I I I I I I I I I I I I I I Circle 245 on inquiry card. BYTE October 1981 111 contain a real-time clock/ calendar, which stations can interrogate. This facility is used to timestamp the crea- tion, access, modification, and backup times of network files. Files are organized with a tree-structured system similar to a UNIX directory; they can be password-protected in a variety of ways to ensure that only authorized users can create, modify, or otherwise access network data. The software provided makes the use of this data straightforward from any Apple II work station on the net- work. All of Apple's current operat- ing systems (DOS 3.2, DOS 3.3, Pascal 1.0, and Pascal 1.1) can be directly loaded over the network. Modifications are made during this process so that stations can logically connect to virtual disks on the net- work shared disks (either from key- board commands or from programs). These disks need not have the same capacity as 5-inch floppy disks, but may be much larger or smaller. Each storage area is allocated the ap- propriate size for the application; users may be executing programs in any set of languages or operating systems at the same time. Network Applications The Cluster/One network has been used in a variety of applications that include general office-automation en- vironments, engineering and software development sites, educational and entertainment uses, and special turn- key applications, such as travel- agency and real-estate systems. To support this variety of uses, Nestar provides a number of general- purpose computing products. Other servers, such as print servers support- ing a multiplicity of printers, are available. Communications servers support internetwork activity. Ap- plication programs for general data- base access, interoffice electronic mail, and teleconferencing, have been developed by Nestar, either in-house or in conjunction with the suppliers of popular packages for the Apple II. The collection of hardware and soft- ware capabilities makes this network attractive for a wide range of applica- tion areas. What's Next? There seems to be little doubt that the current interest in local-area net- works and personal computer work stations will continue to grow over the next few years. As stations become more powerful and sophisti- cated in both systems software and applications programming, they will replace an even larger fraction of con- ventional minicomputer systems. As manufacturers provide fully in- tegrated VLSI components designed for very high performance networks, they will be incorporated into the per- sonal computer local-area network interfaces. Whether or not the stan- dards activities will stem the pro- liferation of de facto standards re- mains to be seen. The emergence of networks of personal computers has opened up a whole new set of challenges for programmers in developing real-time, multiuser, in- teractive systems. ■ ^— — 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 (Fleks Hou) ' TRS-80 is a Registered Trademark of Tandy Corp ED McMANUS In stock TRS-80 Model II and III No Tax on Out of Texas Shipments! o 10% 15% OR MORE We Specialize In Overseas Shipments Telex 77-4132 (Fleks Hou) 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 112 October 1981 © BYTE Publications Inc Circle 212 on inquiry card. Circle 342 on inquiry card. MicroMed™ and MicroDent™ make your practice perfect!" 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. 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. Finger-tip 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 ca sh fl ow. 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 Fgjrnulator'" system it takes just minutes. 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! > 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 1 Cumulative totals by doctor • Profitability analysis reports ' Mailing list maintenance 1 Can be linked to word-processing ' Appointment recall with reminders < Maintains hospital and lab codes 1 Keeps track of referring doctor codes Demo disk and manual set $ 75! Dealerships are available to established computer vendors on a territorial basis. '"MicroMed. MicroDent. and Formulator are trademarks of SoftwareHows^ •CP/M is a registered trademark ol Digital Research Copyright "1981. SoftwareHows P.O. Box 36275, Los Angeles, CA 90036 (213) 731-0876 . TWX: 910-321-2378 Prepare Your Program for Publication C A Johnson 3619 Sugarhill Dr San Antonio TX 78230 "When I get my personal computer, I'm going to make it pay for itself. I have some ideas for programs that everyone will want to buy." Such dreams are shared by many prospective microcomputer buyers, some armed with a college programming course, others with ex- perience writing programs for business. What these aspiring software authors usually don't know is how to prepare a program with the best possible chances of being accepted, published, and marketed. As a result, they enter the highly competitive software market with a disadvantage that may even guarantee failure. But programmers' pipe dreams can have happy end- ings. If you want to write software for publication, con- sider these steps toward success. Look at the Market The first step in writing a marketable program is to conduct your own market analysis before choosing your subject. If the market is already cluttered with programs similar to the one you're considering, yours won't stand a chance unless it includes a special feature that will grab the attention of potential buyers. Games and simulations have enjoyed great popularity since the beginning of the microcomputer age, and they probably always will. But the universe can hold only so many versions of Star Trek, and any microcomputer used for game playing already has at least one. The game is still fun, but the market has worn thin. Star Trek is only one example of a game that has been programmed to death. Dozens of versions of Nim, Slot Machine, Guess the Number, Dice, and many other games are stacked knee-deep in the marketplace at give- away prices. Chess might be an exception because of its perennial appeal, but a new chess program won't attract attention without a record of strong tournament play. New versions of old games assail software publishers like so many attackers on the video screen. But publishers can make unlimited use of the ultimate weapon: the rejection slip. Finding a Subject Adventure games and sword-and-sorcery games are the most popular simulations now. They bring the excite- ment of storytelling and role playing into computer enter- tainment. Games that spring from your own imagination hold more promise than rehashes. Literary classics can also in- spire games. Stories like Gulliver's Travels and The Voyages of Sinbad contain excellent dramatic situations that can serve as the basis for games with wide appeal. So do 1984, Animal Farm, and many romantic classics. Don't overlook game and puzzle books; they often con- tain the seeds of intriguing situations. When you choose a game situation, make sure it challenges the player. To offer a challenge, the game must encompass a complex and variable winning strategy for the player. If the winning strategy is fixed, the player will soon discover it, and the game will cease to be fun. Although you can create difficult games by arranging for a high-probability random function to "kill" the player, such games are more frustrating than challenging. The player shouldn't get "killed" in the middle of the game unless he uses faulty strategy or makes some other mistake. If the player plays with care and uses an in- telligent strategy, he should win. Lively graphics add appeal and enjoyment to both simulations and games. Try to dream up striking visual effects that advance the story line of your program. Use Your Own Interests Your best and most marketable program may well spring from your own interests and experiences. If you 114 October 1981 © BYTE Publications lnc Finding the best software on the market can take you weeks. Reading this ad takes 317 seconds and gives you the same results! The Westico Software Review Committee is easy to recognize. It's their red- rimmed eyes. You get that way checking through an endless parade ot 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 Job Cost Control This system can track and control costsof jobs in progress and monitor job profitability. It detects cost over- runs and allows for corrective action. It can control the job's Accounts Receivable and provide information on employee perform- ance for use in profit-sharing plans. Features: • Automatically apportions firm overhead expenses to jobs in progress • Provides early detection of potential budget overruns* Mon- itors profitability of jobs in progress • Helps identify most profitable services • Monitors employee per- formance across all jobs • Tracks job-related costs and reimbursable expenses, Reports include: • Job status report • Job update register • Performance report • Office income report • Employee hour summary • Job accounts receivable register System & documentation — $595 Documentation alone — $20 Inventory Control for Manufacturers This system includes standard in- ventory control functions such as maintaining and reporting on the status of the inventory stock as well as maintaining records of all trans- actions made against part num- bers in stock. In addition, it supports multi-level bills of materials (BOM's), the creation of multiple part number transactions for jobs based on those BOM's, the tracking of jobs through work-in-progress, the generation of material require- ments reports based on manufac- turing schedules. Reports include: • Full inventory listing with valuation • Inventory listing by category • Costing bill of materials • Material requirements report • Assembly listing • Job issue listing • Job status report • Part number usage report System & documentation — $995 Documentation alone — $20 Send for FREE catalog. 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 for a 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. _,s 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. jrchase of software. Dealer Inquiries invited Copyright © 1981 Westico. Inc. WESTICO The Software Express Service 25 Van Zant Street • Norwalk, Connecticut 06855 (203) 8536880 • Telex 643-788 golf, bowl, or play tennis, perhaps you could write a pro- gram for computing players' handicaps or for scheduling and managing tournaments. Tournament directors would be a natural market. Depending on your interests, , you could consider writing programs that manage stock portfolios, catalog stamp collections, or make an inventory of personal property. Other possibilities are programs that record progress in training activities or dieting and then display the data graphically. Hobbies and club activities such as scouting offer dozens of possibilities. If you have trouble coming up with a good program idea, get some friends together for a brainstorming ses- sion. To stimulate everyone's imagination, choose a field in which you feel reasonably competent, then describe in general terms some program that's been thoroughly ex- ploited. Think of a few variations on that program. The most important thing to remember about brain- storming is never to reject or belittle a suggestion, no matter how trivial or ridiculous it may seem. Don't risk turning off anyone's imagination. Once the session gets rolling, it will have its own momentum. Write down every suggestion, or better still, tape record the session. One brainstorming session with a few intelligent people will yield enough material to keep you busy writing code for years. Remember the Hardware When choosing the subject of your program, another thing to keep in mind is the capacity of the computer on which the program will run. The most popular computers obviously offer the biggest market. If at all possible, scale the program for a popular machine. Once you've selected your subject, you can start writing the program. It's important to write readable code. Readability not only makes the program easier for you to debug, it also endears you to customers who need to adapt the program to their particular systems or tastes. Not So Fast! When the program is finished, debugged, and running perfectly, stop! Don't send it to a publisher yet. Now is the time to add those finishing touches that make the dif- ference between a good program and one that is really commercial and marketable. Study your program with a critical eye. Ask yourself, "Does my program contain all the instructions the user will need?" Make sure the instructions are thorough, clear, correct, and free of misspellings and grammatical errors. Then ask, "Does my program lead the user through it? Is it conversational and personal?" A game, for example, doesn't pit just any anonymous soul against the villain. BAR COOE FOR YOUR SMALL COMPUTER. r / / /// / //////* 1 1: mm w/////////k WW////M. W/f/W/l '////////// V//W/U. '>"mw/7 t W///////// Wffffft r/wa W/fi m m w, New in-depth report tells you how-at savings of up to $40,000 "Contemporary Applications of Optical Bar Code Technology" is a new, compre- hensive 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 publication of software in printed form, Walter Banks and Carl Helmers, this report is the only complete presentation of materials 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, understandable language is all you need to know about bar code history, software engineering requirements, complete machine inde- pendent Pascal software in source listing form. There is software to generate and read all major formats from Code 39 to HP-41C, and UPC to the new NATI text software pub- lication format You get information 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 purchase price of the report includes license for the commercial modification and use of all software contained therein. For detailed information, send for our brochure. There is no cost or obligation. Mail the coupon today. taa Q> NORTH AMERICAN TECHNOLOGY, INC. Strand Building 174 Concord SL, Peterborough, NH 03458 (603) 924-6048 Please send me your FREE brochure on "Contemporary Applications of Optical Bar Code Technology." NAME ADDRESS CITY STATE ZIP 116 October 1981 © BYTE Publications lnc Circle 267 on inquiry card. The finest Data Base *MGINB0CI° Arable Yes Yes Yes Upper / Lower case Note 3 Note 3 Yes Note 3 Note 3 Built in RS-232< driver Note 3 Note 3 Yes Note 3 Note 3 Built-in TRS-232 driver Note 3 Note 3 Yes Note 3 Note 3 Programmer' S interface Note 9 Note 9 Yes No Note 9 Sample DATA disk No No Yes No No Documentation (» of pages) ■ T'\: ■:'■ U~l 120 38 29 NOTE I- Filt li.li NOTE 2 S*qu*r».al NOTE 3 Uitr mull NOTE 4- Ho.d copy NOTE 5- Four fund NOTE 6 Swn* oi nc NOTE 7 A.o.labli NOTE B l20cWoc NOTE 9 Ooto tttvti NOTE 10 132 choroc NOTE 11 Uitropnoi t proqrom (or $99.95 rndrng ordu). The jury is in and the verdict is . . . "outstanding!" Reviews from all of you who purchased MAXI MANAGER (not to mention raves by many top microcomputing magazines) have heralded it as the definitive data base managing system. We knew that business owners and hobbyists demanded the finest data base managing system available. To all of you who praised us for MAXI MANAGER, we extend our thanks. And to those of you who have yet to try MAXI MANAGER, we invite you to experience this incredible system today. But don't take our word for it (or our jury's). Judge for yourself. JUST CHECK SOME OF THESE FEATURES Supports six different relational search techniques. Comes with programmer's interface. Over 120 pages of documentation. Supports up to 20 user defined fields of 40 characters each. Record length up to 800 characters. Files can be up to four disks in length. Compatable 35, 40, 77 & 80 track drives with proper operating system. N Has calculated equation fields. Complete report generator. Works hand in hand with any word processor. MODEL 1 version requires TRSDOS 2.3 and is compatable with NEWDOS 2.1 & NEWDOS 80 MODEL 3 version comes on TDOS, a special version of the DOSPLUS operating system. Requires 48K of RAM and one disk drive minimum. Model Order Circle 12 on inquiry card. BYTE October 1981 117 The player who faces all the dangers your program holds has a name. Your program should ask the user's name and call him by it frequently. Now ask, "How does my program treat the user?" Cute messages are okay if used sparingly and in good taste, but never be condescending or insulting to the user. Remem- ber that the user bought your program to perform some task or to have a good time. If he enters a response that isn't in the accepted input range, don't tell him he's an idiot. Tell him what the accepted input range is. There is nothing so discouraging as running a program and finding yourself facing a prompt without knowing what kind of input is expected, or seeing attackers swarming across the screen when you don't know how you're supposed to defend yourself. If the program doesn't make clear at all times what input it expects, then you owe the user the courtesy of a way to ask for help. Remember that the user is also your customer. If you treat him with respect, he'll consider buying your next program. These finishing touches are just as important to the program as the most intricate code. Don't Forget Testing Is the program ready to go to the publisher now? No, not until it's been tested. Bring in a friend and give him the program to load and run. Don't give him any help. Watch every detail as he works his way through the pro- gram. Make notes both for changes in the program and /i*td 'fact Httowfe tyw T>ieU 't 'iVcwe, A CtUice, Now you can have another one of those little extras that makes you feel good about your computer.. ...a complete packet of the most attractive stock forms on the market. From the people whose only business is the small computer user. */& /4(twttat£ve "tf ^ s %& EPSON MX-80 Now in stock! The MX-80 dot matrix printer. Unequalled Epson reliability. Has all the features of the MX-70 plus more power and extra functions. C-ITOH STARWRITEE: LETTER QUALITY PRINTING FOR UNDER S2000!/This daisywheel printer gives high quality at a low price. 25 cps. Parallel and serial inter- laces available. NEC SPINWRITER FROM THE FIRST NAME IN LETTER QUALITY PRINTERS/Compumart oilers beautiful print quality with NEC Spinwriter Terminals. We carry all models Irom RO THRU KSR WITH NUMERIC KEYPAD-5510-5530. All versions give unsurpassed hard copy output! 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. Spinwriter 5520 CENTRONICS PRINTERS 3 SERIAL MODEL 737 The closest thing to letter quality print lor 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 ol the RO. <%> 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. SANYO MONITORS AT LOW COM- PUMART PRICES/Sanyo's new line of CRT data display monitors are designed lor the display ol alpha- numeric or graphic data. 9"SANYOB/W $169. 12" SANYO B/W 12" SANYO W/ GREEN SCREEN 13" SANYO COLOR MICRO The original and most com plete catalog of micro-com- puters, acces- sories and peripherals. Sanyo 13" Color Monitor 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. Visit our giant ANN ARBOR STORE 1250 North Main Street Ann Arbor. Michigan FREE CATALOGS DEC PDP/ LSI -IT Systems configured and integrated with other manufac- turers compat- ibles. The first , best DEC based systems catalog. foitbem! Send & w HP-41C CALCULATORS MEMORY MODULES for storing programs of up to 2000 lines ol 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 tor Application Pacs and peripherals. + CARD READER + CARD READER + PRINTER QUAD RAMS equivalent to tour Memory Modules all packed into one. MATROX PRODUCTS/Compumart stocks the complete line. DEC LSl-11/Compumart now offers the entire product line. CALL FOR PRICES AND DELIVERY NOVATION CAT ACOUSTIC MODEM Answer Originate. NEW! D-CAT Direct Connect Modem from Novation. Giltronix 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. DYSAN DISKETTES/Single side, single density. Hard or Soft Sector $5. ea. MEMOREX 3401 , s/51/4"disks $3.25. /with hub ring lor Apple $3.50. MEMORY INTEGRATED CIRCUITS/ Call lor quantity discounts when ordering over 50 units. MOTOROLA 4116 (200 Nano- second Plastic) $4.50 *5P ^ V RM EXPANSION ACCESSORIES FOR AIM- CALL SPECS AND PRICES APPLE in IS IN STOCK/Apple Hi 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 Visicalc/ Dow Jones News & Quotes/ Apple Fortrom/ Apple Writer/Pascal Language System/ Controller Business System PERSONAL SOFTWARE/Visidex/ VisiTrend/VisiPlot/VisiTerm MUSE/Super Text Apple Soltware MOUNTAIN COMPUTER/ Expansion accessories for 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 Multitunction 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 8; Parallel. Apple Inlerface/ABT's Numeric Key Plan/California Microcomputer Keyboard *** X VIC 20 PERSONAL COMPUTER FROM COMMODORE $299. SEE US AT THE NORTHEAST COMPUTER SHOW, OCTOBER 15-18, 1981, BOOTH #608 IMPORTANT ORDERING INFORMATION CALL, BOO 343-5504, in Massachusetts: (617) 491-2700, phones open from 830 a.m. to 700 pm. Mon-Frt WOO a.m. to 400 p.m. Sat. PCs, Accepted from Dun 8c Bradslree! rated companies— shipment contingent upon receipts ol signed purchase order. SALE PRICES Valid lor month ol magazine date onty— all pnces sub- ject lo change without notice. Our Ann Arbor retail store is open UOO a m. to 7O0 p.m. Tues-Fn. lOOO a.m. to 500 pm. on Saturdays. $1895 $4695 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 soitcard (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)/C 1 ock for Apple. FROM MICROSOFT: 16K RAM Board/FORTRAN. FROM COMPUTER STATION: Hi-Res Dump for 460 Printer. OUR APPLE INVENTORY IS COM- PLETE. WE'VE GOT IT ALL- CRISP LETTER QUALITY OUTPUT UNSURPASSED EASE OF OPERATION This Compumart/Commodore system includes a COMMODORE 8032 32K CPU, a 4040 DUAL DISK, a C-ITOH PRINTER and x/face and WORD PRO 4 PLUS (all cables in- cluded). List S5685. EDUCATORS : COM MODORE HAS EXTENDED ITS 3 FOR 2 DEAL A COMPLETE SYSTEM: includes a DUAL DISK DRIVE /TRACTOR PRINTER and an 80 COLUMN 32K CPU. No interfaces needed. Cables included. List S3985. COMPUMART $3635. SAVE $200 ON COMMODORE ACCESSORIES WITH PURCHASE OF A 32K PET-SAVE $100 WITH A I6KPET. CHOOSE FROM: Visicalc/Word Pro 4/Wordcraft 80/ Ozz the Informa tion Wizzard/ Dow Jones Portfolio Mgmt System/ Assembler Development Package. $3250 This Basic 16k BYTE system (expandable to 32k) includes: CRT DISPLAY, THERMAL PRINTER, MAGNETIC TAPE CARTRIDGE, 6 ROM CAPACITY VIA ROM DRAWER, 4 IO PORTS. COMMUNI- CATION-HPIB.RS232 PLUS YOUR CHOICE OF 4 SOFTWARE PACS OR TWO OF OUR "BEST SELLERS"-(VISICALC, GRAPHICS PRESENTATION, INFORMATION MANAGEMENT) HP-83 SYSTEM This Basic System from Hewlett- Packard includes HP-83/ROM DRAWER/MASS STORAGE ROM/ 51/4" SINGLE MASTER FLEXIBLE DISK DRIVE/HP-IB INTERFACE MODULE/2 METER HP-IB CABLE. COMPLETE SYSTEM $4249. ty $795 FROM ROCKWELL Our AIM Starter System for Educa- tional 8: Laboratory use includes 4K AIM/BASIC 8c 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. Rockwell International Authorized Dealer Accept No Less Jappta computer Authorized Dealer Accept No Less s 'lw% HEWLETT PACKARD Authorized Dealer Accept No Less Qcommodore Authorized Dealer Accept No Less c Systems 800-343-5504 IN MASS CALL 617-491-2700 COMPUMART 65 Bent Street, Dept 1 1 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 1971. 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 lor 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 tor 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 llOO am. to 400 p.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 76 on inquiry card. System Notes List Pager Allan Lovett, 20024 N 18th Dr, Phoenix AZ 85027 List Pager, shown in listing 1, is a simple program for the Apple II or Apple II Plus computer. The program prints out listings, one page at a time, with a title on the first page and a number on each of the following pages. It will not split statements between pages but will instead automatically produce line feeds to move to the next page. You can choose either a full 80-column format or 60 columns with margins on each side. List Pager is writ- ten in Applesoft BASIC, is set up for a Centronics 730 printer, and requires one floppy-disk drive. To use List Pager, the program to be listed must first be captured as a text file. This can be done using a program such as Capture, which is found on page 76 of the Apple DOS manual. When List Pager is run, it will ask for the 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 title of the program, the name of the text file, and if an offset (60-column format) for hole punching is desired. After this information is entered, it will print the listing. This program greatly improves the readability of a listing over that of continuously printed listings, which always seem to have an important line written on the per- forations between pages. ■ Listing 1: The List Pager program printed in a 60-column for- mat with 10-column margins. The. List Pager can also list pro- grams in full 80-column format. List Pager places a title on the first page of a listing and numbers on subsequent pages. The program is written in Applesoft floating-point BASIC for the Apple II or II Plus computer with one disk drive and a Cen- tronics 730 printer. TOO D* ■ CHR* (4>:T* ■ CHR* (1): ONERR GOTO 390 110 RO « 0!LM = 1 120 HOME ! HTAB (15)t PRINT "LIST PAGER"! PRINT ! PRINT 130 INPUT 'TITLE IS ? " > TITLE* J PRINT I PRINT 110 PC ■ 2 150 INPUT "TEXT FILE IS ? "!TF*! PRINT 1(40 LW = 80 170 PRINT "OFFSET FOR HOLE PUNCH ? "i! GET AN*! PRINT T*!AN* 180 IF AN* » "Y" THEN LW ■ AOJLM = 10 190 HOME ! PRINT D*!"PR*1" ZOO PRINT CHR* <9);"80N" 210 OS = ((80 - LEN (TITLE*)) / 2> I HTAB (OS)! PRINT TITLE* ! PRINT CHR* (10): PRINT CHR* (10) 220 PRINT D*;"0PEN "!TF* 230 PRINT D*;"READ "!TF* 240 PL = 4 250 PRINT CHR* (9>!"80N" 260 LN* = " " !L1* = "■ 270 GET A*! IF LEN (LN*) < 210 THEN LN* = LN* + A*! GOTO 2 80 275 IF LEN (LN*) » 240 THEN LI* = LI* + A* 2B0 IF LN* ■ CHR* (13) THEN GOTO 260 290 IF A* = CHR* (13) THEN GOTO 310 30 GOTO 27 310 PRINT t*; :le = 1 320 LH " LEN (LN*) + LEN (L1*>:l.E = 1! FOR I - 1 TO .10! IF LH > (LW * I) THEN LE » I + 1 : NEXT I 330 FOR I « 1 TO LE! IF I * LW < 241 THEN L*(I) ■ MID* (LN *r ( (I - 1) x LW + 1 ) ,LW) 335 IF I I LH > 240 THEN L*(I) « MID* (Lit, (((I - 1) * LW + 1 ) - 240) .LW) 339 NEXT I 340 PL ■ PL + LE 350 IF PL > 60 THEN PL = PL - LE! FOR I = 1 TO 64 - PL! PRI NT CHR* (10)! NEXT ! RO = 1! GOTO 380 340 FOR I = 1 TO LE: HTAB (CM)! PRINT L*(I>! NEXT 370 GOTO 250 380 PRINT CHR* (10)! PRINT TAB( 60 )i "PAGE ";pG!PG ■ PG + 1! PRINT CHR* (10)! PRINT CHR* <10>!PL = 4: IF RO = 1 THEN LE » LE! FOR I = 1 TO LE: HTAB (LM)! PRINT L*CI>: NEXT iPL = PL + LE! GOTO 250 390 PRINT T* 400 PRINT D*! "CLOSE" 410 FOR I = 1 TO 67 - PL) PRINT CHR* (10)! NEXT 420 PRINT D*;"PR*0"I HOME ! END 122 October 1981 © BYTE Publications Inc Circle 69 on inquiry card. COmWTCR UJflRSHOUSS CALL TOLL FREE ATARI Special 32K 800 800 w/32K, reco raiders, joysticks Above W/48K. System rder. star 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. Microbe 84 Qantex Serial Parallel Texas Instruments 810 Basic 810 Loaded S930 S990 S744 Call S440 S575 S120 S70 S140 S75 S150 $490 S410 S155 S155 S349 S235 S1380 $1325 $1825 $1710 $1275 S2295 S2100 $2485 $2740 $2985 $2885 Call Call Call $50 Call $2662 $2995 $375 $535 $790 $1115 $1150 $1125 $1250 $1450 1800-528-1054 A ATARI Novation data systems NorthSta^ ^^/ TECHNOLOGY, INC. ^^ AClGVlCiCO 3M Texas Instruments EPSON fllBT CaUfomia epson America, inc. ■■ H Computer OKIDATA *SI Systems VIDEO TERMINALS Adds Viewpoint Call Soroc iq 120 Call iq 130 Call IQ 135 Call iq 140 Call Televideo 910 C $589 912 c $694 920 C $744 950 C $935 Zenith Z-19 S769 DISKETTS Scotch 5V 0. 10. 16 Sector (Qty 100) $250 8 0, 32 Sector (Qty 100) $260 COMPUTERS Altos ACS 8000-15 Call ACS 8000-2 w/CPM Call Northstar Horizon II 64K DD S2875 Horizon II64K QD $3150 Zenith Z-89 48Kw/CPM $2200 MONITORS Panasonic 9" B&W S150 Sanyo 9" B&W $150 12' Green $240 CALIFORNIA COMPUTER SYSTEMS 64K Dynamic Memory. . $500 16K Static Memory $255 Floppy DiskCont $285 Serial Asynch Board. . $110 Prices & availability subject to change without notice Personal checks will delay shipping two weeks CDmPUTER 2222 E. Indian School Rd. • Phoenix, Arizona 85016 Order Line: 1-800-528-1054 JQPCLIQIJCC Other Information: 602-954-6109 "^^^^■™^™"^^™^™ 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. If you can beat these prices, you must have a brother-in-law in the business. 16 K RAM 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'/4" 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 24.95 29.95 INTEGRATED COMPUTER SYSTEMS ITHACA INTERSYSTEMS ALTOS ZENITH Z89 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 SCALL EPSON GRAPHICS ROM 90.00 IDS-445G PAPER TIGER 779.00 IDS-460G PAPER TIGER 945.00 IDS-560G PAPER TIGER 1195.00 1NF0SCRIBE500 9X9. 150CPS 1495.00 MALIBU 200 DUAL MODE 2995.00 NEC SPINWRITER 3510 SERIAL RO 2099.00 NEC SPINWRITER 3530 PARALLEL RO 2099.00 NEC SPINWRITER 7710 SERIAL RO 2595.00 NEC SPINWRITER 7730 PARALLEL RO 2595.00 NEC SPINWRITER 7700 D SELLUM OPTION . 2795.00 NEC SPINWRITER 3500 SELLUM OPTION .... 2295.00 OKIDATA MICROLINE 80 399.00 OKIDATA MICROLINE 82A 599.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 DC. 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 219.00 ABT APPLE KEYPAD 119.00 MICROSOFT Z-80 SOFTCARD 299.00 MICROSOFT RAMCARD 170.00 ANDROMEDA 16K CARD 170.00 VIDEX 80 X 24 VIDEO CARD 299.00 VIOEX KEYBOARD ENHANCER 99.00 M&RSUPERTERM80X24VIDEO 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 169.00 SSM AIO BOARD (INTERFACE) A&T 165.00 SSM AIO BOARD (INTERFACE) KIT 135.00 SSM IEEE 488 INTERFACE 369.00 124 BYTE October 1981 Circle 14 on inquiry card. MOUNTAIN HARDWARE CPS MULTIFUNCTION BOARD 209,00 SUPERTALKERSD200 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 575.00 VISTA COMPUTER CO. APPLE 40 Track Drive A40 (163 K Bytes) APPLE 80 Track Drive A80 (326 K Bytes) APPLE 160 Track Drive A160 (652 K Bytes) APPLE 80 Column Card APPLE 8 Inch Disk Drive Controller 389.00 549 00 799.00 329.00 549.00 CALIF. COMPUTER SYSTEMS S-100 BOARDS 2200A MAINFRAME 349.00 2032A 32K STATIC RAM ... 599.00 2065C64K 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 (REOUIRES 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 OB 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 POOL 15 29.95 RASTER BLASTER 24.95 GORGON . 32 95 APPLE PANIC 24,95 CP/M SOFTWARE TRS-80 MOD I HARDWARE MICROSOFT BASIC-80 299.00 PERCOM DATA SEPARATOR 27 00 MICROSOFT BASIC COMPILER 319.00 PERCOM DOUBLER II . 159.00 MICROSOFT FORTRAN-80 399.00 DOUBLE ZAP It/80 45.95 PEACHTREE SYSTEMS CALL TANDON 80 TRACK DISK DRIVE 429.00 MAGIC WAND (REQUIRES CP/M) , ... 275.00 TANDON 40 TRACK DISK DRIVE 299.00 WORDSTAR (REQUIRES CP/M) . . . 325.00 LNW DOUBLER WITH DOSPLUS 3 3D 169 00 MAILMERGE (REQUIRES WORDSTAR) 110.00 SPELLSTAR (REQUIRES WORDSTAR) 199,00 DATASTAR 249 00 TRS-80 SOFTWARE SPELLGUARD . 239.00 NEWDOS/80 2 MOD I 139 00 CP/M PICKLES & TROUT FOR TRS-80 II 175.00 LAZY WRITER MOD I 125 00 PROSOFTNEWSCRIPTMODI.III 99.00 MORROW DESIGNS special delivery modi. m 119.00 X-TRA SPECIAL DELIVERY MOD I. Ill 199.00 FLOPPY DISK SYSTEMS trackcess mod i 2495 OMNITERM SMART TERMINAL MOD I, III 89.95 Controller. PS . Cables. Microsoft Basic. CP/M. A&T MICROSOFT BASIC COMPILER FOR MOD I 165.00 DISCUS I (Single Drive— 250 K) 799.00 DISCUS I (Dual Drive— 500 K) . 1429.00 *»|"IDW||C DISCUS 2D (Single Drive— 500 K) 869.00 CORVUS DISCUS 2D (Dual Drive-1 MEG) 1499.00 DISCUS 2+ 2 (Single Drive — 1 MEG) .1099.00 f-Sln I II Hb-UU DISCUS 2+2 (Dual Drive— 2 MEG) 1999.00 MOD 1,11 HARD DISK SYSTEMS C ° n,r °" er CaSe/PS ' ° Pera " n9 SyS ' em ' A&T 5 Megabytes 3095 00 Controller, P S, Microsoft Basic. CP/M. A&T 10 Megabytes 4495 00 DISCUS M10 (10 Megabytes) 2949.00 20 Megabytes 5395 00 DISCUS M20 (20 Megabytes) . . 3829.00 MIRROR BACK-UP 700 00 DISCUS M26 (26 Megabytes) 3949.00 SUPPLIES DECISION 1 COMPUTER AVERY TABULABLES Z-80A. CP/M. NIX (UNIX Identical). 32 to 1 MEG of memory 1.000 3Y? X ,s , 6 8.49 Floppy and/oi Hard Disk CALL 3.000 3V? X ,v 16 14,95 5,000 3'/2 X "/„ 19.95 SD SYSTEMS S-100 BOARDS UARC ° PAPER (PriC6S F0B - SP > VERSAFLOPPY II A&T 389.00 9% X 1 1 18 lb white ... 29.00 VERSAFLOPPY II KIT 329.00 14% X 1 1 18 lb white 39.00 SBC 200 (Z-80 CPU) A&T 369.00 SBC 200 (Z-80 CPU) KIT 299.00 We stock a complete line ol computer covers, printer rib- Z-80 STARTER KIT ... 289.00 bons. print wheels & NEC thimbles-CALL US FOR YOUR EXPANDORAM II KIT (OK) 220.00 NEEDS We built a reputation on our prices and your satisfaction. We guarantee everything we sell lor 30 days II anything is wrong jus) return the iterr and we II make it right And ol course we II pay the shipp ng charges We accepl Visa and Mas'er Card on all orders COD orcers accepted up lo $300 00 We also accepl school purchase orders Please add $2 00 lor standard UPS shipping and handling on orders under 50 pounds, delivered in ihe continental U S Callus tor shipping charges on items thai weigh more than 50 pounds Foreign FPO and APQ oiders please add 15% for shipping California residents add 6% sales lax The prices quoted are only valid tor stock on hand and all prices are subject lo change without notice (213) 883-8594 31245 LA BAYA DRIVE, WESTLAKE VILLAGE, CALIFORNIA 91362 Circle 14 on inquiry card. BYTE October 1981 125 Software Protection in the United Kingdom The first conference on software protection in the United Kingdom started with a joke and ended with a joke. In between, there was little to laugh about. In opening the con- ference, Alistair Kelman, a leading software copyright lawyer, told an old music-hall joke about an Englishman who asked an Irishman how to get to County Derry. The Irishman replied, "If I wanted to get to County Derry, I wouldn't start from here." In other words, Kelman suggested, if we had a choice in the matter of software protection, we would not set out from the point at which we find ourselves: ensnared by a tangled and thorny copyright law whose concepts spring from the days when the computer was little more than a fancy abacus in the mind of Charles Babbage. The conference's closing joke came from retired software dealer and in- dustry pundit Julian Allason, who proposed a "final solution" to the piracy problem: give the pirates free rein! Allason told how the American software house OEM is offering a "nonexclusive" licensing deal. For $460, OEM sells a complete line of programs, which the purchaser can dispose of as he wishes — for his own use, for copying, or for modification Martin Hayman Science Writers 80 Paxton Rd London W4 2QX England and resale. According to Allason, OEM intends its programs as "blue- prints" that the purchaser can modify to meet his needs. But even so, an un- named mail-order firm has already pirated OEM's products, offering the complete OEM line for a mere $260. Held in March at the Waldorf Hotel in London, the Computer Soft- ware Protection Conference was sub- titled "How to Beat the Pirates." The conference offered many suggestions on how to deal with the worldwide problem now reaching epidemic pro- portions in the UK. But the general conclusion was that the pirates can be beaten only by spending lots of time and money and retaining a knowl- edgeable lawyer from the outset. The Backup Problem Software theft has only recently become a problem in the UK. Hard- ware releases usually reach the UK about a year after introduction in the United States. In the one-year inter- val, Americans do a great deal of software development for the new machine. Because a question always exists about how and by whom the American software will be brought to the UK, the situation seems to offer great possibilities for software thieves. Perhaps we should be surprised that VisiCalc, the world's best-selling program, was not copied here until late in 1980. VisiCalc retails in the UK at £125 ($290) and is distributed by Applied Computer Techniques (ACT) of Birmingham, the same firm that sells the Commodore PET, Britain's best-selling microcomputer. In December 1980, ACT discovered that a mail-order firm run by David Bolton was marketing what it called a "backup disk" for VisiCalc. The "backup disk" didn't contain a copy of VisiCalc but was preformatted in a way that enabled the user to defeat VisiCalc's protection routines and make a backup copy of the original disk from ACT. Bolton's backup disks sold like hotcakes, partly because ACT itself still will not give a registered user of VisiCalc a backup copy. ACT promptly retained Alistair Kelman to apply to the High Court for an injunction to stop Bolton from selling the "backup disk," which ACT claimed was effectively a copy or an invitation to copy, and hence a breach of copyright relating to "ar- tistic or literary works." After re- quiring ACT to get US suppliers Per- sonal Software and Software Arts as 126 October 1981 © BYTE Publications Inc Circle 339 on inquiry card. mma nd We're Offering You Our Company Secret. It's a brand new American-designed program generator that can eliminate the need to spend thousands of dollars on specialty programs. And, It's Available Today. It's the microcomputer program that Time Management Software is using to write its own professional software packages. And now, you can use it to write all the programs you'll ever need. We call it GENESIS. You'll call it incredible, because we have yet to find a program on the market that GENESIS can't create. GENESIS is the next generation. Designed by a team of doctoral-level programmers, GENESIS runs on all CP/M* 2. XX systems, using compiled PL/1-80*. The code generated by GENESIS is fast and efficient, and this new product's capacity to code difficult algorithms is virtually unlimited. The speed of code generation itself is literally awesome. Preliminary tests have indicated an ability to generate efficient code at a rate well in excess of four lines per second. Clearly, GENESIS can write months of code in a matter of minutes. With You As Architect, Genesis Is The Ultimate Master Builder. Word processing, accounting procedures, statistical analysis, time management studies . . .GENESIS can write any functions you could possibly need. Naturally, complete program changes are quickly and easily made. You speak plain American English to GENESIS — no code, no difficult intro- ductory language to memorize. The only time you spend with GENESIS is in decid- ing the specifications of your program. Simply Stated, Genesis Is The Best Microcomputer Program Generator In Trie World. Period. Genesis comes with on-line docu- mentation, as well as a complete concise printed manual, written by a professional manual writer. Due to its sophistication, we recommend this program for use with any disk system with 48k or more, using CP/M* 2. XX. The code which is generated isCBASIC*. (Note: Even though GENESIS runs in compiled PL/1-80* it is not necessary to have PL/1 -80* in order to run the program.) The program comes on standard 5%-or 8-inch disk, with storage sleeve. The program that will allow maximum use of your hardware ... an introductory price ofS500. . GENESIS is available now directly from Time Management Software, and is not sold through any other outlet. Time Management Software will send free updates of new material and products to GENESIS owners as they develop, to make sure you've got everything you need. Order the most advanced program generator system on the market today, by calling one of the toll-free numbers or by returning the order blank below. Call now toll-free to order. (Ask for operator 603.) 1-800-824-7888 (Nationwide except California, Alaska and Hawaii) 1-800-852-7777 (In California) 1 -800-824-791 9 (In Alaska and Hawaii) i YES ... I need GENESIS to develop the ultimate program and to take fullest advantage of my hardware. NAME ADDRESS CITY 10A1 .STATE. .ZIP. I have enclosed $500 to avoid delays, shipping and handling charges. D Check □ Money Order D C.O.D. (If delivery address is different than above, please specify.) Please specify one: □ 5X-inch disk D 8-inch disk Price includes tax, handling and shipping (except C.O.D. orders.) MANAGEMENT ZIST? SOFTWARE" Cushing, Oklahoma 74023 'Registered Trademarks of Digital Research Inc. Circle 174 on inquiry card. How To Start Your Own Successful Computer Business Projections for the computer industry indi- cate astronomical growth during the coming years. Sales of microprocessors alone are expected to exceed a stagger- ing 2 billion dollars by 1983! This compre- hensive manual will show you how to use your expertise to cash in on the exploding computer marketplace. This manual covers virtually every aspect of starting or buying a computer business. II contains over 300 pages that are filled with valuable information and facts to put you on your path to success. A path that you tailor to your personal goals, preferen- ces, background, strengths, and resour- ces. Wilh this manual you will explore and evaluate opportunities such as an inde- pendent software vendor, systems house, consultant, distributor, retail store, and more. "How to Start Your Own Successful Computer Business" will help you get the best return on your investment. It is com- prehensive and easy to use. This manual provides the planning checklists and sam- ple forms needed to get your business started successfully. It includes step-by- step guides for preparing your business plan, financial plan, and customer con- tracts, to name a few. You will learn how to avoid costly mistakes and save your precious dollars in such areas as advertis- ing and software development. This manual is filled wilh priceless tips gained from many years of experience on how to succeed in the computer market- place. If you are considering starting a part-time or full-time computer business, then you cannol afford to pass up this valuable resource. ORDER YOUR COPY NOW PRICE $75.00 15-DAY REFUND GUARANTEE InfoSource Inc. 6087 Buford Hwy., Suite B 106 Norcross, Georgia 30071 Please send me my copy of "How to Start Your Own Successful Computer Business" Enclosed is check moneyorder for $75 00 I prefer to use my VISA MASTERCHARGE Card No Exp. NAME ADDRESS CITY STATE. ZIP For faster shipment on credit card orders call (404) 447-7889 co-applicants in the injunction, the court found no reason to stop Bolton from selling his "backup disk." Instead, the court simply passed a motion requiring Bolton to record all sales of the disk until some future day when the matter would come to trial. In the event of a trial, the motion would become the basis of any legal award for compensation. But even if Bolton paid up, the cost of recovery would far outweigh the damages themselves. The legal process is ex- tremely slow in the UK, and the backup disk is still being sold. Fur- thermore, practice at the UK Bar for- bids a lawyer from taking a case on a speculative basis. Counsel's fee for pleading is payable whether or not damages are recoverd. This makes "test cases" such as this one a rather Quixotic exercise. Oblique Threat In the Bolton case, an apparent at- tempt to persuade Bolton to desist may have undermined the position of the plaintiffs. On the morning of his appearance in court, Bolton received by mail a trade-newspaper clipping describing the somewhat similar case of Vincent Cohen. London police ar- rested Cohen in connection with the alleged theft and dishonest handling of source code belonging to the American firm Graham-Dorian Soft- ware. Detectives interviewed Cohen and were thought to be considering a charge of conspiracy. (By a quirk of English law, one need not actually conspire to do anything illegal in order to be charged with conspir- acy.) The Cohen case has now been set- tled out of court, but the case was very much alive when someone sent Bolton the clipping with the word "arrested" underlined. Clearly the sender of the clipping knew the date of Bolton's hearing, and that suggests the sender was an interested party. As Alistair Kelman pointed out, if a judge learned that a plaintiff had in- dulged in this sort of oblique threat, the plaintiff's case could only suffer. Cohen, incidentally, appeared at the piracy conference looking unabashed. To Be a Pirate Against this background, Julian Allason's opening remarks are under- standable. "If I were to start again in the software business," he said, "I would be a pirate. It's the quickest way to make money with the least risk that there is in Britain today. I would buy a wide range of programs, copy them and resell them by mail- order. Then if things went well, which they would, I would get bold and make the programs available to dealers. If the programs were so well known as to be obviously recognized, then I would describe them as 'backup copies.' " Although Allason said additional precautions would probably be un- necessary, the aspiring pirate could put aside any fears by following American practice: change a few pro- gram lines, renumber the program, remove the serial numbers, advertise under a bland trade name, or buy a "cut-out" license from a company that has either gone out of business or bought its license from another dubious and short-lived company. The result is a "deck of cards" in which each company must be sued in turn. This wrinkle is a recent migrant to the UK, first making its appearance in the case of a backwoods outfit called Kansas City Systems. Level IV, Anyone? Despite its name, Kansas City Systems is literally a backwoods operation. Its premises are a shack in a forest near Chesterfield, in the north of England. One of the British distributors of Level III BASIC and an associated monitor, the Eastbourne software house A J Harding (Moli- merx), took Kansas City Systems to court for pirating Level III and resell- ing it as Level IV. Kansas City Systems' chief, Tom Crossley, argued that he had bought the software from one Sorrell B Chapman, whom he met at a microcomputer show in Bri- tain in 1979. According to Crossley, Chapman claimed to be legitimately selling the software on behalf of the now defunct GRT Corporation. Clearly there is no way for an 128 October 1981 © BYTE Publications Inc Circle 26 on inquiry card. Take a look at our EPROM blaster for your Apple" or TRS-80; % Apparat announces the most tile 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 ol the A.P.B. system means you're getting a PROM burning package with extensive capabilities. The |>i $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. Here's .1 brl list of some of A.P.B. 'scapabilili • 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 dire< tly 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, orTRSDOS™ for the TRS-80, and APPLE DOS" 1 or APEX for the Apple. If you're looking for a powerful, versatile and cost efficient EPROM burner, call APPARAT today. Dealn 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. iks ho. and Apple are trademarks ol i and Appk- 1 omputcr, Apparat Inc. 4401' HJ237 (303)741-1778 TWY GOinG SUPPORT FOR MICROCOMPUTERS' a Professional Quality 80 Column Dot Matrix Printers for Business or Personal Computers C. ITOH Model 8510 offers 8 character sizes, 5 different alphabets lupper and lower case descenders), character generator and high resolution graphics (144x144 dots per inch). The 9xN Matrix (9 pin printhead) produces exceptional quality printing combined with proportional spacing, if desired. Throughput can be more than 150 Ipm and 100 CPS with logic seeking bidirectional and quick cancel printing technique. The printhead is designed with air cooled fins for a long useful life. Paper can be cut stock or punched and can be fed by built in Friction or Tractor. Cut off is within I inch of the print line. Vertical and horizontal tabbing is automatic. The manual functions included are Select, Line Feed. Top of Form and Power On, combined with Paper Empty LED indicator. Using industry standard parallel or serial (RS232-C) or Apple II Computer interface with Buffer Memory and the popular protocols including X-ON and X-OFF features for easy match to your systems Print Features: Number of Columns Print Speed Print Direction Throughput Speed Line Spacing Print Width 136 col. max. 100 CPS Single-directional and Bidirectional, Switch Selectable From 44 to 152 Ipm Variable to 1/144" 203 mm (8") max. Forms Type: Fan Fold Roll or Cut Sheet Width Total Thickness Number of Copies Form Feed: Method Form Loading Power: 115V ±10% 60 Hz 113 mm to 254 mm (4.5" to 10.0") 0.05 to 0.28 mm (0.002" to 0.01 1") Original + 3 copies nominal Tractor or Friction Either rear or top Operating 180 Watts (max.) Idle 16 Watts Also in stock — EPSON MX-80 With parallel or serial (RS232-C) or Apple Computer interface. ORDER NOW Please send me the following printer: C. ITOH 8510 with (list price S825.00) EPSON MX-80 with □ Parallel interface S595.00 □ Parallel interface S479.00 □ RS232-C interface 695.00 □ RS232-C interface 629.00 □ Apple II Computer interface 665.00 □ Apple II Computer interface 549.00 California residents, please add 6% sales tax. All unit prices are f.o.b. Mt. View. California. Print .Signature -City _Phone AflQYP^S ' Stare Tip 1 Acct. No.. Charge to my □ Mastercharge □ VISA Exp. date_ □ Check enclosed. H m m p^4fc ANTEX 263 ° California Street Jl | IV **■»■ *-** Mountain View, California 94040 AUO DATA SYSTEMS Telex via TWX 910-373-8500 A Division of International Antex, Inc. interax ptvy" English court to test the validity of the American "cut-out" license, but in this instance the plaintiffs won a qualified victory. Using an unusual legal instrument called the Anton Pillar order, the plaintiffs got hold of disks, documentation, and corres- pondence belonging to Kansas City Systems. The Anton Pillar order em- powers the plaintiff's legal representa- tive to act as an officer of the court in cases of suspected copyright infringe- ment. The plaintiff's lawyer can re- quire the defendant, without notice, to open his premises to a search and to let the plaintiff's representative take away any relevant documents. If the defendant refuses, he is in con- tempt of court. The Knock at Night Will the Anton Pillar order play an important role in the control of soft- ware piracy in the UK? Will pirates fear the knock in the middle of the night? Alistair Kelman calls the An- ton Pillar order a "judicial invention," noting that Parliament has never debated this unusual provi- sion for search and seizure. But the Anton Pillar order has already been used several hundred times. Although most commonly applied in piracy cases involving phonograph records and music tapes, the order was first invoked in a case of com- puter piracy. Its namesake, Anton Pillar, was a German manufacturer of an emulator utility for IBM equip- ment. British distributors of the utili- ty, however, started making unli- censed copies and selling them at cut rates. When Pillar found out, he sought an injunction to stop the pirates, and he successfully argued that the evidence needed to prove in- fringement could only be seized by a search that took the offenders by sur- prise. Kelman noted that at the top end of the market, much business can be lost through organized software piracy. "There is now a risk from organized crime — the big sharks who will be a real menace as the market develops," he warned. But so far, little evidence of organized crime involvement has surfaced. In typical piracy cases, 130 October 1981 © BYTE Publications Inc Circle 25 on inquiry card. Phenomenal! 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 customization tor most otner terminals. 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 Manual only:$ 10.00 CP/M formats: 8" soft sectored, 5" Northstar, 5" Micropolis Mod II, Vector MZ, Superbrain DD/QD. Apple 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 0PL ENGLAND Telex: 95582 Tel.: Tunbridge Wells (0892) 37977/9 Japan: ASR CORPORATION INTERNATIONAL 1-2-8, SHIBADAIMON TOKYO 105 JAPAN Tel.: (03)-437-3901 Telex: 242-3296 Circle 352 on inquiry card. Circle 29 on inquiry card. FOR YOUR APPLE APPLESOFT: 30.3 MIN. MICROSPEED: 3.9 MIN. FA^TF^T- six to sixty rrvo I i_o I . T | MES FASTER THAN APPLESOFT MOST POWERFUL' M0RE P0WER ruvvcnruL. THAN BASIC PASCAL OB FORTRAN EXPANDABLE: ^ g o u r a t g h e based CREATIVE: ° A B ° G V A g u E R0WN USER-FRIENDLY: y ^J™ N -^ m <«». ■ m mm *■■ • MM LANGUAGE SYSTEM; REQUIRES 48K APPLE II or 11+ SINGLE DISK SEE YOURJ5EALEROR CONTACT: I v:.j .:.i.;: Tqzppirq.. :.(::. i: . . : j : .... i ' ; applied analytics incorporated 8910 Brookridge Dr., Suite 604. Upper Marlboro, Md. 20870 I (301) 627-6650 I'm Interested: Please Send !; D 160 Page Manual *35. 00 □ Detailed Information Name Address City State Zip. dealers supply a "complimentary" copy of one disk instead of a discount on another; or a service engineer "just happens to have" a word-processor program that he can get the customer for a cash discount — say of 90 per- cent. Only Amateurs Home copiers, as distinguished from professional bootleggers, drew sharp words from Allason. Claiming that amateurs account for 99 percent of illicitly copied programs, Allason revealed the results of a confidential survey of PET users in the UK. For every program bought from a legitimate source, Allason found, two and a half copies were made without permission. The UK trade paper Computer Weekly confirms Allason's figures. Commodore says its software cassette market has slumped to only 40 percent of what it was a year ago. Even with many PET users changing to disk, such a decline in cassette sales puts an intolerable strain on the market. Is copying in the home less per- nicious than professional bootleg- ging? From the amateur's point of view, illicit copying might seem a good thing. Certainly the surround- ings are innocent enough; this sort of copying takes place mainly among friends, at schools, and in user groups. But amateurs confront software publishers with a dilemma: if publishers take no steps to protect their programs, making a copy becomes the easiest thing in the world. On the other hand, if publishers use protection routines, making a copy is for many amateurs the most enjoyable thing in the world. Unlike semiprofessional users of software, amateurs have both the time and the enthusiasm needed to defeat protective measures. Peter Laurie, editor of Practical Com- puting, confirmed Allason's view by saying, "Any intelligent teenager will make it (overcoming copy-protection measures) his first task of the day." The case of Microchess shows how severely amateur copying can damage software sales. Before the In- ternational PET Users' Group published a method of copying Microchess, the game program had sold more than 100,000 copies. After publication of the copy method, sales dried up. By contrast, the semi- professional program Wordcraft en- joyed a dramatic increase in sales when the protection routine known as the "Dongle" was incorporated. The Price of Free Copies The amateur's own long-term in- terests are actually damaged by copy- ing software at home, according to Allason. As royalties decline, both authors and publishers become reluc- tant to publish. Until recently, ACT published 200 titles; its list has now dwindled to 20. The company no longer finds it worthwhile to publish, document, and support a long list of marginal sellers. Instead, ACT leaves programs with a small market to smaller firms that skimp on documen- tation and support, or to bootleggers who provide no support and who would never consider providing documentation. Because documenta- tion is clearly a written work, it is subject to the provisions of the Copyright Act. Allason named some programs whose publication stands in jeopardy because of pervasive software piracy. Among them are a financial modeling program called Nebula, produced at a cost of $600,000; Micromodeler, which was to have sold for $900; and Dr Michael Brinson's elegant and useful AC Circuit Analysis, with- drawn from the marketplace. In brief, Allason said amateur piracy will have five consequences for the average software buyer. It will reduce the range of software available, raise prices, and make companies reluctant to invest in soft- ware development. He said piracy also leads to lack of support and maintenance, and discourages development of software by cottage industries which cannot afford to go to court to protect their interests. Allason disagreed with those who claim the solution to piracy is to reduce prices paid by consumers. He cited a survey showing that programs 132 October 1981 © BYTE Publications lnc PRIME SOURCE DISTRIBUTING I I ■ T£nme Z-90 MICRO COMPUTER • Complete standalone Desktop System. • Dual Z80 Microprocessor control. • 64K RAM, Twin Serial I/O Ports. • Special Graphics for Business Presenta- tion. • Disk Storage from 800K Internal to over 1 1 Megabytes optional. • Full Line of Business Software and Pro- gramming Languages provided by Zenith. • Proven Zenith Reliability. • Nationwide Service Centers. The Quality Goes In Before The Name Goes On DEALERSHIPS AVAILABLE NOW! Zenith is building a National Network of Dealers to Market their growing line of field-proven Microcomputer systems. Zenith is in Business Microcomputers all the way. For over 60 years Zenith has specialized in building reliable, economical products. Their proven experience in marketing through the local dealer assures that the Zenith Computer Dealer will enjoy along and profitable relationship. Check these support pluses: • Support comes from three parallel sources: The local distributor, the local factory repre- sentative, and the local service center. • A Flooring Plan takes the Cash Flow Risk out of Start-up. • Software Demonstration Packages enables you to learn and sell the software without a large cash commitment. • The Zenith name is recognized by your customer. Special "Show and Sell" Advantages are available to those dealers who get started now. Don't delay, call right now. 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 ship. PRIME SOURCE Supports the dealer with extras such as flooring plans, demon- stration 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. PRIME SOURCE DISTRIBUTING 18380 Enterprise Lane Huntington Beach, CA 92648 714/842-2208 213/592-4201 Outside California 800/854-6451 Circle 302 on inquiry card. Buy Direct from CPI An Authorized Direct HP Dealer HUGE SAVINGS ON CALCULATORS AND COMPUTERS Call 800-682-9250 in California • 800-538-9580 in all other states including Alaska and Hawaii 408-624-0822 outside USA • Telex 172532 • TWX 9103605000 Bl-Lingual Operators Available/ GERMAN/ JAPANESE/FRENCH Hours: 7:00-6:00 (PST) Monday-Friday m HEWLETT PACKARD COMPUTERS HP-85 Built In Printer/Tape SYS/CRT HP-83 Built In CRT HP 7225B Plotter HP 2631B OPT 885 Printer 5V4 Dual Master Flex Drive 5 x /4 Single Master Flex Drive 8" Dual Master Flex Drive 8" Single Master Flex Drive 16K Memory Adv PROG ROM 82905A HP 80 Column PERIPHERALS & SOFTWARE NEWI W/Graphics $2600.00 1800.00 1960.00 3160.00 2000.00 1200.00 Call Call 245.00 118.00 Printer 756.00 VisiCalcTM PLUS Graphic Presentations Surveying Basic Training Financial Decisions Information Management 170.00 170.00 170.00 80.00 80.00 170.00 CALL ON HP-125 Computer CALCULATORS HP-32E ADV SCI W/STAT 44.00 HP-33C PROG SCI 72.00 HP-34C ADV PROG SCI 120.00 HP-37E BUSINESS 60.00 HP-38C ADV FIN 120.00 HP-41C ALPHANUMERIC FULL PERFORMANCE 200.00 HP-41CV ALPHANUMERIC FULL PERFORMANCE QUAD MEM 265.00 PRINTER 308.000 CARD READER 172.00 QUAD MEMORY 76.00 HP-41C SOFTWARE Financial Decisions Securities Statistics Home Management Real Estate OTHER PRODUCTS Epson Printer MX-80FT Epson Printer MX-100 27.00 27.00 27.00 27.00 40.00 599.00 796.00 Prices subject to change without notice • Prices do not reflect shipping and handling charges CPI — P.O. Box 22530 — Carmel, CA 93922 • 3785 Via Nona Marie Call for items not shown in this ad are copied whether they're priced at $7 or $400. Few Are Innocent Consultant Ian Litterick ap- proached software piracy with an honesty that refreshed some and hor- rified others. Stepping up to speak on "Why I Am a Software Thief," Lit- terick asked, "Which of you can say, hand on heart, that you have never made a copy, or used one knowingly7" Fewer than five people raised their hands. Buoyed by this mass confession, Litterick assuaged everyone's guilt by arguing that bootleg copies are in- dispensable for software evaluation. In the hectic and hyped atmosphere of a store, he said, real evaluation is impossible. Authors of good software have nothing to fear from unauthor- ized copies, according to Litterick. "If it's a good package," he claimed, "then there are compelling reasons why I should go on to buy it in the conventional way." Litterick's speech implied that the unseen "customer" actually plays a vital role in the development of soft- ware. With the help of the amateur pirate, poor programs are gradually winnowed out, leaving the kernel — the 100-percent debugged, easy-to- run, and magnificently documented software — selling for a song. If only authors and publishers would show a little more gratitude! A great many amateurs would probably endorse Litterick's second point: a single-disk user must have a backup copy, especially if he has both data and program on the one disk. What's more, Litterick said defiantly, what can any of the manufacturers do if the determined thief goes for bit-by- bit copying? Countermeasures The conference raised many ideas for fighting software piracy. Some are new and theoretical, but most are already familiar to Americans. Allason ran down a list of anti-pirate weapons that he thinks should be brandished immediately: • "Megabuck" lawsuits — the cost- attrition weapon. 134 October 1981 © BYTE Publications lnc Circle 106 on inquiry card. Circle 344 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 1 Answer Key. As a new SuperCalc user you want answers on program oper- ation fast. . .as your questions +SuperCa!c and The Answer Key are trademarks of 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 83 SORCIM 405 Aldo Avenue Santa Clara, CA 95050 (408)727-7634 • The embarrassment factor. Perhaps saying "You know that I know" will be more effective in the UK's smaller, more centralized economy than in the US. • Induced dependence, a strategy used by mainframe manufacturers who claim that only they can give customers the documentation and backup they need. • Licensing of users, generally con- sidered the most effective weapon against piracy. Laurie believes licensing is the only effective way to combat pirates. Although amateurs are too numerous and energetic to be stopped from making illicit copies, vendors can stop real pirates by using existing pro- visions of law to secure agreements at the point of sale. If the supplier's name is visibly coded in at the begin- ning of a program, and invisibly coded in elsewhere, there is a legal basis for enforcing the original license agreement. The visible trademark establishes a breach of contract; the invisible, if the illicit copier expunges it, establishes a breach of copyright. When programs are intended for the mass-market microcomputer, Laurie sees a contradiction in trying to discourage copying by making the programs hard to use. Software is made to be used; in fact, a license should permit the licensed user to make the modifications he needs. Ty- ing software to a specific machine or implementing a turnkey system would be self-defeating. The Case of ChessBall Alistair Kelman gave the con- ference a detailed and analytic look at the state of the legal theory of soft- ware protection. In both British and American law, the most desirable form of protection for a computer program is a patent, which confers a monopoly on the owner. Unfor- tunately, in the UK the Patent Act of 1977 specifically excludes computer Computers may simplify your business, but it isn't always simple to choose one. HAZELTINE 1421 Video Terminal CROMEMCO System 3 QANTEX Series 6000 150 CPS Parallel or Serial Interface ATARI 800 400 As your computer company, Synchro-Sound International will not only offer you a large selection of computer models at discount prices, we'll offer expert guidance on how to choose one. We'll help you determine which computer system will best suit your individual business needs. Whether it's a micro-computer, a printer, a video display terminal, accessories, or even a complete turn-key operation. We'll design it. Configure it. Guarantee it. We also offer a wide range of easy-to-understand software. What's more, we have all the answers after you purchase your computer, too. We'll give you fast delivery. And we have a staff of computer specialists who'll respond quickly to any service you may require. Which all adds up to why we've grown to be one of the largest computer companies in the New York area over the past seven years. So when you decide you need a computer, decide on Synchro-Sound. Our guidance could be almost as priceless as your business. SYNCHRO-SOUND INTERNATIONAL, INC. Where the computers are cold and calculating. But the people aren't. 1550 NORTHERN BOULEVARD, MANHASSET, N.Y. 1 1030 TWX 510-220-0021 For orders or more information, call: (516) 484-1852 Toll-free: 800-645-3820 136 October 1981 © BYTE Publications Inc Meet HP Series 80: Hewlett r Packarcfs newone-on-one computing systems for professionals. HP Series 80 Personal Computers for Professionals: HP-85 (S3250-) and HP-83 (S2250*) specifications: 16K RAM expands to 32K, 32K ROM expands to 80K; CRT with integrated graphics; (HP-85 only; built-in thermal printer, cassette tape unit). Software includes VisiCalc PLUS. Information Management. Graphics Presentations, Surveying, Data Communications (Fall '81), Statistics, Regression Analysis, Math, Linear Programming, Waveform & Circuit Analaysis, BASIC Training. HP peripherals include flexible disc drives, primers and plotters. VisiCalc™ is a trademark of Personal Software, Inc. •Suggested retail price excluding applicable slate and local taxes — Continental U.S.A., Alaska & Hawaii. Circle 168 on inquiry card. Together, You can Analyze Technical Problems and Evaluate Solutions. Rapidly and Accurately. HP Series 80 personal computing systems provide the technical solutions you require. Quickly! Easily! Inexpen- sively! Analysis techniques that were formerly difficult and often impossible become part of your everyday work routine. You can evaluate functional behavior, select variable alternatives, perform cost analysis . . . and more ... all with greater accuracy and using more variables than you thought possible. Series 80, VisiCalc™ PLUS And You HP's VisiCalc PLUS is a major new software tool. It's an electronic worksheet that instantly recalculates results as you change the variables. You ask the what-ij questions and immediately see their effects on your solution. No program- ming is necessary. . .you can become proficient with VisiCalc PLUS in a few hours. . .and then watch your horizons broaden. VisiCalc PLUS features many powerful functions including statistical analysis tools and the entire HP Series 80 BASIC math set. Plus graphics! Create professional presentations with curve-fitting plots, stacked or clustered bar graphs, exploded pie charts and line graphs, all in up to four colors, on paper or transparencies. ONLY FROM HEWLETT-PACKARD HP Series 80 personal computing systems are part of a forty-year tradition of electronic products built to uncompro- mising standards of excellence. Addi- tionally, HP Series 80 products are serviced by HP technicians and on-site service contracts are now available. We urge you to judge for yourself with a hands-on, one-on-one demonstration at your HP dealer. For locations, call TOLL-FREE 800-547-3400, Dept. 276F, except Alaska/Hawaii. In Oregon call 758-1010. Or write Hewlett-Packard. Corvallis. Oregon 97330. Dept. 276F. 61 1/(M ■as EWLETT PACKARD software. But Kelman showed how, in the realm of computers, the ar- tificial distinction between copyright and patent can make a monkey of the law. Kelman described a game called ChessBall, invented by patent agent Paul Cole. A board game combining chess and football, ChessBall is played by two teams of three players — a Knight, a Queen, and a Bishop. The ball is on a grid and reacts to the arrival of a player in one of the surrounding squares according to a complex set of rules. Goalposts stand where the King and Queen are situated on a normal chessboard. The object of the game is to score as many goals as possible in a set period. "It is possible to sell ChessBall as a board game, and it might be possible to obtain a patent for it," Kelman said. "However, it is also possible to sell ChessBall as a tape which could be loaded into the domestic micro- computer and played by the family. It would further be possible to make a special microcomputer where the game of ChessBall was built into the electronic circuits. Under the present • • • 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. ] ITHACA INTERSYSTEMS Inventory sale on boards and systems. I 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 can add additional I/O capability, drives, CRT, printer. IMS 5000 and 8000 SYSTEMS Outstanding long term reliability. Features Z80A 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, 64KRAMand 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. TJVi" X 5Vi"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 51,245. Slim line cabinet $325. MARINCHIP 9900 uses TI 9900 16 bit CPU. Full S-100, IEEE compatibility. Extensiv software. Boards from $550; Systems from $4,995. • • • GRAPHICS EQUIPMENT* • • MICROANGELO GRAPHICS SUBSYSTEM from Scion . . Screenware Pak II $350. S-100 Graphics card . .$2,295. . .$985. i HIPAD DIGITIZER from Houston Instruments S75S. INTERACTIVE GRAPHICS SOFTWARE on line, real time. For use in design of PC boards, IC Masks, Architectural drawings, etc. To be used with MicroAngelo $1,000. CAT 100 Full Color Graphics. Digital Graphics complete S-100 color imaging system with high performance video Frame/Grabber. Extensive options available $1,875. MAURO MP-250B Proac Plotter. Uses standard paper, choice of pen colors and line widths, resolution is 200 steps per inch; .005" tracking error. RS232 S895. 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 law, the game on tape is not patent- able but the designated micro might well be." These ideas were elaborated upon by Laurie, who advanced the idea that a "device" is patentable and hence enjoys the protection of patent law, which is far more bulletproof than copyright law. "Let us suppose," Laurie argued, "that you have a bright, patentable idea and wire together some discrete transistors to make it work. The result is certainly a device and can be patented. Suppose that you take an uncommitted logic array and con- figure it to work like the transistors. Again a device, and patentable. Sup- pose you use a microprocessor con- trolled by a program in ROM (read- only memory). The ROM is physical- ly changed by programming it. The same program in EPROM (erasable programmable read-only memory) is also a device, even though the altera- tion to the basic structure is just in the distribution of charge." If the pro- gram is in dynamic memory and the charge lasts only a millisecond, it's still a device, he said. By a quirk of the British Patent Law of 1977, a person can commit "contributory infringement" of a pat- ent if he helps someone else infringe the patent by, for example, providing instructions about how to do it. By this means, Laurie argued, it is theoretically possible to catch the software pirate. The pirate may, he said, be giving "instructions" in the form of software which, once loaded, becomes a patent infringement under the terms of the Act. This approach may or may not work; certainly nobody in the UK has had the nerve to put it to the test. New Concepts In the process of trying to overhaul the Copyright Act of 1956, Kelman has suggested some new concepts that may help clarify legal thinking about the intellectual property called soft- ware. One important concept is that of "transitory reproduction." According to Kelman, a transitory reproduction occurs when, for exam- ple, a program is read into memory 138 October 1981 © BYTE Publications Inc and used to perform a particular task. Although the program itself may be a copyright work, no blame is attached to using and reproducing the program for the brief period of its appearance on the video display terminal. Nor does the use of the copyright work dilute in any way the copyright of any material which the transitorily reproduced program has processed. Kelman has proposed a new con- cept called "transmutation" to describe any computing whose final effect is to steal one person's program and render it in another form. He defines the term as the automatic con- version of a source work into an ob- ject code by electronic, mechanical, or similar techniques. Transmutation is intended to cover such familiar words as "compile," "assemble," and "interpret," which already have specific meanings in law and com- puter science. British courts already have groped with the concept of transmutation, but the current copyright law has shown itself unable to cope with the new concept. A notable instance is a recent case in which Sinclair Elec- tronics sought an injunction against Compshop, which Sinclair alleged had copied the design of Sinclair's ZX80 pocket computer kit and in- troduced the copy in the US. Kelman bemoaned Justice Megarry's position that information held in ROM could not be copyright "because he couldn't see it." Kelman asked whether the rights to the Justice's own work, Manual of Real Property, would disintegrate if the manual were entered into the memory of a com- puter as a code, and then accessed by someone asking questions in "com- puter language." International Complications Although Kelman's concept of transmutation has found some favor with European lawmakers trying to draft a harmonized copyright law for Europe in the 1980s, important dif- ferences exist between Continental and Anglo-Saxon laws on intellectual property. These differences may com- plicate international software protec- tion. The Continental concept of "moral right" to intellectual property is an example. In the US and the UK, an author sells intellectual property in much the same way as he would sell a piece of furniture. The author gets money in exchange for rights to the property. According to Continental tradition, however, the author retains the right to have his name associated with his work, and to stop unauthor- ized versions of his work from ap- pearing, whether or not he has sold, given away, or otherwise disposed of his pecuniary rights with respect to the work. Will Continental programmers be able to wield the concept of "moral right" in defense of their creations? If so, could the Anglo-Saxon world bor- row the concept? Will North Ameri- can and British programmers be able to defend their rights by pressing the important distinction between "tran- sitory reproduction" and "transmuta- tion"? Until these questions are answered, software authors and publishers can only hope to enforce license agreements signed at the point of sale. The laws on software piracy are all buckle and no swash. ■ • •• GREETINGS TO OUR FRIENDS IN WEST GERMANY* * • SD SYSTEMS KITS Z80 STARTER KIT: single board compu- ter with RAM / ROM, I / O, display, key- l bd, kluge area $360. I VFII: double density floppy controller kit, with software $390. CPU Z80A, 4 Mhz, serial & parallel I/O IK on-board RAM, Z80 CTC $345. EXPANDORAM II including high quality 4116s 64K $540. | Complete SD line available. HAZELTINE 1500 1510 1520 220 volt models, add Si 00 IBM 3101 CRT Model 10 Model 20 TELEVIDEO CRTs 912 . . $780. 920 . . $850. 950 . . $1,050. ] TEXAS INSTRUMENTS Printers 10% off list price on entire TI printer line. .$ 925. .$1,030. .$1,265. .$1,295. .$1,495. i EPSON MX80 $560. MX100 $830. RS 232 Interface $ 70. I TELETYPE Model 4320 AAK $1,140. Model 43ASR, 8 level, 1" tape $2,595. 1 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, 5'/ 4 " soft sectored, single sided | 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. For the si best in mainframes. . . TEI!! TARBELL | Double density controller $435. 1 Z80CPU 395. • • • SOFTWARE* • • ESQ-l: Legal Time & Billing System PROMOT: Professional Time & Billing System SCHEDULER: Docket/ Calendar & Control System TAXEXEC: Individual Income Tax Return Preparation System JOBSHOP: Job Cost & Profitability Report- ing System MAGIC QUILL: Bookkeeping and Accounting 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: S 50. Complete package with money back guarantee: $625. 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) $335. BASIC COMPILER: $360. COBOL— 80 $710. FORTRAN-80 $435. X-MACRO-86: $275. muLISP/muSIMP: $190. MICROPRO WORDSTAR: $425. MAIL MERGE: $125. All Microsoft and Micropro software available on 8", IBM compatible, single sided media. Write or call for prices on other Micropro and Microsoft products. Prices subject to change without notice JOHN D. OWENS Associates, Inc. SEE OUR AD ON FACING PAGE October 1981 © BYTE Publications Inc 139 Network Tools Ideas for Intelligent Network Software Peter B Reintjes Rte 3 Box 85 Morehead City NC 28557 Some people foresee electronic in- formation as the currency of the future: those who have it will use it to get more, and those who don't have it will be exploited. Actually, money probably will continue to be the cur- rency for years to come, but the com- puter will be the primary tool for con- trolling its flow. The key to this flow lies in computer networks. With the price of individual computers drop- ping, more people are solving their problems with computer networks, rather than with a single large com- puter. Networks are more than just con- nections between computers. The physical connection — be it a twisted- wire pair, phone line, or satellite transmission — is of little consequence compared with the software that uses the connection. Personal Computer Networks Most network software devel- opments aim to define protocols with sufficient generality to last a decade or more. ARPAnet, X25, and Ethernet, all primarily computer-to- computer networks, are now the focus of computer vendors' attention. But another group of networks uses computer-human interfaces to pro- vide interactive services. News and mail systems, shopping marts for software releases, and bulletin boards all fall into this category. In these networks, information clearly is not currency but instead the commodity being paid for. (You may become painfully aware of this upon receiving monthly bills from the telephone company and the "infor- mation utilities.") As a personal computerist, you have special needs that should be taken into consideration by the net- working software. Ideally, your home computer should become an in- telligent node on the network, mak- ing the network connection process invisible to you. Under such a system, your computer can call up the information service at night, when rates are lowest and the net- work response time is probably at its best. An intelligent node system has another valuable application: a set of files on one computer can be trans- ferred automatically to another node on the system. Each night when the network is activated, system A calls system B to determine which one has the latest version of each file. The up- dated file is then copied over the out- dated one. You can spend all day Fri- day editing your resume on system A at work or school, then get up Satur- day morning to find the edited ver- sion in your home computer's file, ready for further use or revision. A similar procedure could be used to send revisions of operating systems and even the network programs themselves. The command to activate the network can be executed at any time if a transaction is required before the usual late-night activation. An Intelligent Node Program With the needs of the personal computerist in mind, I have designed a set of modules that provide a basis for networking. I tried to make the modules very general, as well as com- pact and efficient enough for use in an actual networking system. In any event, the modules should prove useful in trying out new protocols and adapting quickly to different net- work interfaces. Designing a network from the ground up provides the advantages of control over the planning and regula- tion of protocols and transactions. James Martin's book Systems Analysis for Telecommunications is recommended to anyone interested in designing a network. Another valuable book is Software Tools by Kernighan and Plaugher, from whom I have borrowed the idea of pre- senting modular programs as a set of tools. In this case the tools are for developing a network system. Desirable as it may be in some ways, designing your own network creates the immediate problem of in- terfacing with all other information services. For the microcomputer owner, a more realistic goal would be designing a general-purpose interface to converse with other machines on the network, and then designing a local protocol to "ride on top" of the interface. The designers of the X25 network architecture anticipated this problem when they specified X25 in several distinct layers. Only the lowest level is in contact with the net- work. The higher levels behave as if they were sending and receiving data 140 October 1981 © BYTE Publications Inc PRIME SOURCE DISTRIBUTING NorthStar INCREASES THE HORIZON ADVANTAGE THE POPULAR HORIZON COMPUTER SYSTEM GOES MULTI-USER • Up to 5 users — DOS and CP/M® in one System • 5 or 18 MegaByte Hard Disks with Tape Back-up • Famous North Star Speed, Reliability, and Price • Full Line of Integrated Applications Software • Earlier Horizons are fully Upgradeable THE NEW NORTHSTAR ADVANTAGE AN INTEGRATED DESK-TOP GRAPHICS COMPUTER SYSTEM • 12" Green Screen with Bit-Mapped graphics • Dual processors: 64K Z80 and 20K 8035 • Dual Quad Capacity 5 inch Drives • 87 Key Sculptured, Selectric-like Keyboard • Graphics DOS and Graphics Basic Included, Graphics CP/M" Available l_ jst 53999 SPECIAL ADVANTAGES FOR DEALERS WHO SIGN EARLY 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 ship. PRIME SOURCE Supports the dealer with extras such as flooring plans, demon- stration software packages, sales leadsfrom 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 M" is a licensed product supplied by Digital Research. Inc PRIME SOURCE DISTRIBUTING 18380 Enterprise Lane Huntington Beach, CA 92648 714/842-2208 213/592-4201 Outside California 800/854-6451 Circle 303 on inquiry card. across the network in a more abstract way. The lowest (physical) level of any network can be implemented with my proposed networking modules. The user level could be fashioned to ap- pear the same as X25 or the ARPA- net. The following specifications describe software modules needed for a basic network capability. The source codes for five of the functions— DIALER, PROMPT, CONVERSE, TRANSLUCID, and TRANSACT — are given after the specifications. These functions can be implemented in whatever language is available, and under any operating system or monitor the user chooses. Once the functions are available, the environment will be reasonably in- dependent of the operating system, and future utilities designed for this environment will be easier to install. The functions can make the network protocol easier to implement and put the transaction processing on a high level. WATCHDOG and ALARM Networking, a real-time process, is slow and has a wide tolerance for speed fluctuations. But because pro- tocols still must be executed in the proper sequence and in a consistent time frame, interrupt handling is needed for timing functions as well as for input and output. Many large networking computers have multiprocessing operating systems. They can have several tasks running at once, trading off central processing unit (CPU) cycles, and each task can be doing part of the job. The most important tasks are the ALARM and WATCHDOG func- tions, and I have included them among the modules. ALARM tells the system when it is time for a transac- tion, or when certain services are available on the network. WATCH- DOG watches the network traffic and steps in if a conversation gets bogged down in protocol. In networking, perhaps more than anywhere else, error recovery is crucial. When two computers are 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 your memory beyond 32K, you can 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 11 ! •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 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'" ATON Intl. 260 Brooklyn Avenue, San Jose, CA 95128 (408) 286-4078 talking over a voice-grade line at 4:00 in the morning, they could easily get out of step on a bad byte. In this case, you would at least want to make sure a telephone connection is broken, and you probably would like the com- puters to settle their differences without waking someone up or hav- ing to start from scratch the next night. This level of error recovery may sound formidable, but a few strategies can solve most common problems while enabling your com- puter to decide when it is hopeless to continue trying. The WATCHDOG and ALARM functions can also be implemented on the typical personal computer system without multiprocessing. A timer with interrupt capability is required, and a real-time clock with interrupt alarms would be best. Both the WATCHDOG and ALARM functions can be im- plemented in the same timer-interrupt routine with a global flag to signify whether the normal ALARM mode or the WATCHDOG mode is active. In using the ALARM function, a pointer in the AGENDA (a file specifying the transactions that need to be per- formed) shows what the next activity is and when it is scheduled. The timer is then set for activation, and the pro- cess goes into a wait state. When the interrupt occurs, the interrupt handler notes that it is in the alarm mode and jumps to a routine which starts up the desired activity. If you are starting a process which may get hung (meaning you may wait forever for a transaction to be com- pleted), set the TIMER function to WATCHDOG, start the timer and start the process. If the process is not finished before the timer causes an in- terrupt, the handler will see that it was activated as a WATCHDOG, and it will look around for an in- complete transaction. Then it can clean up the failed action, closing or removing any files the transaction used and incrementing a counter to keep track of the number of failures. If this counter exceeds a certain threshold, the transaction will be removed from the agenda and 142 October 1981 © BYTE Publications Inc Circle 16 on inquiry card. JUST LAUNCHED! VOYAGE OF THE VALKYRIE BY LEO CHRISTOPHERSON ADVANCED OPERATING SYSTEMS 450 St. John Road Michigan City, Indiana 46360 The ancient Norse lords bravely sailed their ships across new waters in search of adventure. No obstacle was too great to overcome nor any force powerful enough to prevent their mighty advance. INow you're in command. You are the pilot of the attack ship Valkyrie. Your mission: to wrestle the island Fugloy from the grasp of an army of laser-wielding war birds and secure the golden treasures hidden within the walls of the island castles. Success of the mission depends solely upon you. The castle Drage appears on the horizon when suddenly the air is alive with the flutter of giant wings. Your prize is in sight . . . do you dare accept the challenge and go on? BYou can put yourself at the controls of the Valkyrie thanks to the genius of Leo Christopherson and the versatility of the *TRS-80 microcomputer. As absolutely flickerless birds sail smoothly across the screen, strains of Wagner's "Ride of the Valkyries" are heard. The game offers 10 levels of difficulty which provide a challenge for players of all ages and skills. The game also provides one of the finest examples of computer cartoon-graphics presently available. Accept the challenge of the Voyage of the Valkyrie . . . available now at leading software retailers. Circle 10 on inquiry card. 'Trademark of Tandy Corp. reported as a failure. The flow of control when the timer interrupt occurs is shown in figure 1. The timer-interrupt handler provides the synchronization. When the system has finished its nightly trans- actions, it may print a status report similar to the one in figure 2. TIMER Set the timer to wait for a specified time. It can be set in seconds, minutes, or until an actual hour if a real-time clock is available . When the time is up, the interrupt routine will be activated, either in the WATCH- DOG or ALARM mode. DIALER DIALER is a procedure for dialing the phone number of the remote com- puter. This software (see listing 1), plus a simple relay driven from an output port, can substitute for an ex- pensive auto-dialer. Because telephone service supports pulse dial- ing even in areas with Touch Tone service, this procedure is a very cost- effective way for your computer to make phone calls. The phone number TIMER GOES OFF: CLEAN UP. PUT FAILED TASK BACK ON AGENDA INCREASE NUMBER OF TRIES IF TRIES > T, TASK FAILED. LOG IT AND REMOVE FROM AGENDA SET TIMER. GO TO SLEEP ACTIVATE NETWORK WAKEUP CALL. PRINT STATISTICS. ENTER INTERACTIVE MODE. LOG DATA FROM SENSORS -J Figure 1: Flow of control when the timer goes off. is represented as an array of 20 characters. The only valid characters are the digits through 9 and a dash ( — ). The dash is interpreted as a pause in the dialing sequence. PROMPT This routine, shown in listing 2, is called with a sample prompt string and a pointer to a buffer of text. It determines whether the prompt occurs in the text, returns the offset into the buffer, or returns a negative number if the prompt is not found. When you are conversing with a remote host system, a prompt from the host signals that the system is waiting for a command. On IBM's OS-360, it might be the word READY and a new line; on the UNIX operating system it is usually a per- cent sign followed by a space. Your system needs to recognize the prompt coming from the remote system and respond to it appropriately. This recognition is especially useful during the log-on procedure, when the system may have a status message of indeterminate length. An alternate scheme for recogniz- ing a prompt in the input stream is detailed in the TRANSACT pro- cedure. CONVERSE The CONVERSE function in listing 3 attempts to carry on the dialog con- Text continued on page 154 Good Morning Nocturnal Network Summary 8:02 May 19, 1981 Successful Transactions Time on Time off # tries MAIL; NEWS 2:03 2:18 666-6666 1 FILE x from remote 2:19 2:40 777-7777 2 FILE y to remote MAIL; NEWS NEWS 3:10 3:20 888-8888 i 1 uccessful Transactions FILE n to remote 3:45 3:50 Hi-mi 4 MAIL 3:55 4:10 222-2222 4 Figure 2: A sample report summarizing the activities of the preceding night. 144 October 1981 © BYTE Publications Inc Circle 6 on inquiry card. '9iif' SBHSI IHM mm AND STILL THE LEADING EDGE . . . IN SYSTEM PERFORMANCE WmEv. Hard Disk and Streaming Tape ujL ■■[.'.' • 1 reliability and versatility that can't be beat JPJBNt, i r=rea i -/T ' J J-Juj/ u OEM CONTROLLERS Multibus ■P ■HI BH mMBSfllttP ■ ■ H9| I 31 or 62 MByte formatted • 10.5 or 32 MByte formatted • Lowest cost/MByte from any manufacturer • CP/M* compatible "drop in" BIOS • Single S100 card controller i Fully expandable up to four drives, 8" or 14" Reliable high performance Priam Winchester Disks Immediate delivery ISP 1 n Ill IP SYSTEM 8 8" Winchester 10 or 32 MByte formatted Integrated streaming cartridge backup Streaming backup at 5 MB/min Selective file backup under CP/M- Versatile parallel I/O or DMA interface raa RDES •CP/M is a trademark ol Digilal Research Corp. ADAPTIVE DATA & ENERGY SYSTEMS 2627 Pomona Boulevard • Pomona, CA 91768 Phone: (714) 594-5858 HH Listing 1: The module for dialing a telephone number using a simple relay to create pulses. module dialer; (* *) (* Dialer is a function which alternately opens and closes *) (* a relay on a phone's hook switch to 'dial' the number of *) (* the remote computer. *) (* *) (* Copyright 1981 by Peter Reintjes *) (* *) type const phone_number = ARRAY [1..20] OF CHAR; HMASK = 100; PAUSE = 10000; HI_DC = 400; LO_DC = 600; var i, j, n: INTEGER; c : CHAR; exit : BOOLEAN; (* bit in register for relay *) (* constant for pause *) (* These two numbers set the *) (* duty-cycle of the relay *) external assembly procedure relay ( data : INTEGER); procedure high; var i : integer; begin (* relay is an assembly language routine to set the *) (* output port for the dialer to the value HMASK *) relay (HMASK) ; (* turn bit on *) for i:=0 to HI_DC do ; (* relay on *) end; procedure low; var i : integer; begin relay (-HMASK-1) ; (* this inverts HMASK *) for i:=0 to LO_DC do ; (* relay off *) end; entry procedure dialer (telenum: phone_number) ; (* telenum is at most 20 chars, terminated with a null *) begin (* begin dialer *) (* null char is after the last digit in the array *) for i:=l to 20 do begin c := telenum [i] ; case c of Listing 1 continued on page 150 146 October 1981 © BYTE Publications Inc SOFTWARE PROFESSIONALS New Dimensions in Software Technology At General Electric developing new generations of software is just part of our commitment to advanc- ing the state of computer technology. Our technical environment includes the very latest in computer hardware (3033, 3081, VAX 11/780, JES 2, ACF/NCP, ADABAS and MVS) as well as technical support unsurpassed within the industry. Among our current projects is the development of large scale, distribu- ted information pro- cessing systems. In developing these sys- tems GE software pro- fessionals have utiliz- ed some of the most innovative design ap- proaches seen in in- dustry today. Presently we have positions available for individuals looking to ad- vance their career in one of the world's most sophisticated hard- ware/software computer environments. DATA BASE ANALYSTS Responsible for data requirements analy- sis and subsequent selection of appropriate data management approaches including data base management systems evaluation. COMPUTER SYSTEMS ARCHITECTS Responsible for requirements analysis in the design of of large scale Computer Systems to support on-line in- formation management applications. Duties include selection and specifications of: • Computer Hardware* Operating Systems • Data Management Systems • Telecommunications Systems MVS SYSTEMS PROGRAMMERS Perform SYSGENs, maintain and tune MVS. Select and install program products. Develop MVS enhancement, H/W-S/W-interfaces, and 3705 telecommunications ap- plications. DATA BASE DESIGNERS/ADMINISTRATORS Perform data base design administration and imple- mentation tasks for large scale data systems using state-of-the-art data base management tools. Analyze data base requirements. Design and select file structures, ac- cess methods and data manage- ment techniques. Install, main- tain and tune vendor sup- plied data base manage- ment packages. Provide data base support and technical interface for data base design, query and update utilities. SCIENTIFIC PROGRAMMER/ ANALYSTS Develop design ap- proaches and implement state-of-the-art, high technology programs. Knowledge of structured imple- mentation environment with related documentations and design reviews a plus. General Electric offers excellent salaries and benefits including a comprehensive dental plan and liberal tuition assistance. And our relocation for eligible senior level professionals includes: • Rapid cash payment for your current home • Closing costs on both current and new home • Attorney's fees • Mortgage origination fees or points. Our facility, located in suburban Philadelphia (Valley Forge), provides easy access to seashore and mountain resorts as well as some of the nation's leading educa- tional and cultural facilities. General Electric is looking forward to discussing your future... and ours. For confidential consideration forward your resume in complete confidence to: Mr. William E. Sarno, GENERAL ELECTRIC, Space Systems Division, Department BY-40, P.O. Box 8555, Philadelphia, Pa. 19101. An Equal Opportunity Employer, M/F. GENERAL ELECTRIC G®DD§DaODQ®[7 G®OQD[£)OaG , ®[?§ mail order This is just a sample of our everyday low prices. APPLE II PLUS 16K for only $1025 64K* ONLY $1249 '48 K Apple 11 Plus with 16K Ram Card Apple Disk II Drive w/controller Disk II Drive, Add-On Silentype Printer Mayes Micromodem II Epson MX-80 w/apple card CALL 48 K for only $1089 $499 $439 $349 $299 VIDEX VIDEOTERM $269 16K RAH CARD $130 1982 Catalog In order to heep our phone lines clear (or your orders, please mail this coupon to receive a free catalog. MME ADDRE55 - CITY .5TATE_ ZIP MICROSOFT z-80 50ETCARD $299 ZENITH 12 INCH GREEN 5CREEN VIDEO MONITOR $149 TOLL FREE ORDER LINE 800*85 4*6654 in California or outside ni/|x cr\o e%r\r>c% the continental U.S. (' lH") O9o-o0oO 5ee pages 503 and 37 1 for more discount prices and order information. Circle 102 on inquiry card. A ING A We're in the business of saving you money. Let's Face It. When you order anything through the malls you never really know who you are dealing with. We at Consumer Comput- ers realize this every time we talk to you or re- ceive a letter from you. We do our darndest to see that you not only get the information and help you need to Intelligently place your order, but also that the price we give you is the best you can get anywhere. We've been around. Consumer Computers has been actively serving people's computer needs In the 5an Diego area for 5 years now. We will still be here tomorrow, and the next day, too. 5o when you deal with Consumer Comput- <3®DQSDDDDQ®ir ers, you can rest assured that you're dealing with people that are thoroughly familiar with the business of selling computers. We pledge to see that any order placed with us is handled with the utmost efficiency and care, from the time the order is placed until It arrives at your doorstep. And If you have a problem, we think you will find that the expertise of our 5ervlce De- partment is unmatched for the quality of their work, and the speed that they have your equip- ment back into your hands where it belongs. That's our promise. Computers. That's Consumer mail order Circle 102 on inquiry card. 5ee our advertisement on previous page Listing 1 continued: '<0>': exit := true; (* null character *) , l' f '2 , , , 3 , r l 4 , f '5', •6', '7', '8', '9', '0': begin (* integer value of digit *) n := ord(c) - 48; if (n=0) then n:=10; for j:=0 to n do begin high; (* toggle relay *) low; end; end; *-': for j:=l to PAUSE do; (*pause*) otherwise begin writelnt 'error : bad digit ' ,c) ; exit := true; end; end; (* end of case *) if (exit) then exitloop; end; end; Listing 2: The module to recognize a prompt from the host computer and take appropriate action. module prompt; (***************************************************************) (* Prompt is a function which searches a text buffer for an *) (* occurrence of the 'prompt' a string specified in the array *) - (* pmt[]. It is called prompt because it will most often be *) (* used to wade through extraneous system chatter to determine *) (* if the remote system came back with a 'prompt'. *) (* *) (* Copyright 1981 by Peter Reintjes *) (* *) (♦A*************************************************************) type buffer = ARRAY [0..2047] OF CHAR; buf = Sbuffer; prom = STRING 50; entry function prompt (pmt: prom; bptr: buf; of f, len: INTEGER) : INTEGER; var c : CHAR; (* temporary character *) i f p : INTEGER; lpmt : INTEGER found : BOOLEAN (* boolean true when prompt is matched *) begin found := false; lpmt := length (pmt); p := 0; (* pointer in text buffer *) c := bptr @ tp+of f ] ; (* c gets first character *) while ( NOT (found) AND (p>) AND (i<=lpmt) ) do begin i := i + 1; P := p + 1; c := bptr@tp+off ] ; end; (* while c matches next char in pmt*) (* if entire prompt recognized, i will equal lpmt+1 *) (* if part of pmt was seen, we must move p back *) if ( i <= lpmt ) then begin p := p - (i-1) ; end; end; if (i = lpmt+1) then found := true; if found, offset of prompt into text buffer passed *) if found then prompt := p else prompt := -1; end; Text continued from page 144: tained in the file SCRIPT. For in- stance, SCRIPT may contain the dialog necessary to log on to the remote system. This function will be invoked after the number has been dialed and the remote system has answered. If CONVERSE does not get the response it expects at any point in the conversation, it can drop back to an earlier part of the conver- sation and try to pick up the thread. However, if it continues to find errors and can't get through, it will give up and tell the transaction processor to try again later. CONVERSE allows the system to log on to interactive services designed for a human interface, and to give the local system access to these services without operator intervention. It also lets you test new protocols by pro- viding a table-driven protocol handler. If the remote system has a response used to indicate an incorrect sequence (for example, INCORRECT USER NAME-TRY AGAIN), that response should be included in the model of a normal dialog. Giving the remote system an empty line instead of your user name might be one occa- sion for generating the response. Having this message in your dialog will give you a recovery point. If something happens later in the dialog and the system responds with IN- CORRECT USER NAME— TRY AGAIN, you will be able to pick up the conversation at the appropriate point. CLEANUP If the WATCHDOG wakes up and sees that a specified transaction was active, it calls the CLEANUP function to shut it down. If the number of tries for this transaction exceeds a prede- termined limit, it is taken off the AGENDA. TRANSLUCID This is a shell, or command-line, program which interacts with the user at the keyboard. The primary func- tion of TRANSLUCID, shown in listing 4, is to make the local com- puter look like a terminal, passing in- formation from the user's keyboard to the network and sending the data from the network to the local video display or printer. A secondary, and equally important, function of this program is to redirect the information flowing through it into a file, or to use files as the source of text to be substituted for the keyboard. Using the "transparent" monitor to conduct transactions manually will show you the dialogs which must take place be- tween the computers. The GETC and PUTC functions handle character input and output from the user terminal or files desig- nated by the redirection commands. GETREMOTE and PUTREMOTE serve the same function on the net- work (modem) side. The first param- eter to these routines specifies the channel over which the data is re- ceived or sent. The channels in my ex- amples are the terminal input (STDIN), the output channel to the terminal screen (STDOUT), the out- put to the modem (NETOUT) and the return data from the modem (NETIN). All other channels in the programs are to files on the local system. The second parameter is the char- acter variable, and the third (GET functions only) is the WAIT/ Text continued on page 163 154 October 1981 © BYTE Publications Inc Listing 3: The input/output module, CONVERSE. module converse; (* *) (* Converse is a function which alternately transmits lines of *) (* text and receives them from the remote unit. It monitors this *) (* conversation as it proceeds, attempting to recover if it *) (* gets out of step. It then returns if the conversation was *) (* successful and a -1 if it failed. *) (* *) (* Copyright 1981 by Peter Reintjes *) (* *) external procedure putremote ( c : CHAR ) ; external function getremote ( var c : CHAR; wflag : BOOLEAN ): INTEGER; entry function converse (f name: STRING 20) : INTEGER; (* fname is a file of text strings terminated by NULL. *) (* Every other string starting with the first one is *) (* what the local unit sends, the next line is what we *) (* expect to get back. The file starts with a NULL and *) (* is terminated by two or more NULLs. *) const NULL = ATTN = HOLD = wait nowait 1 <0>'; (* reference character *) '<12>'; (* interrupt remote computer *) 100; (* max time delay for each *) (* character from the net *) true; false; (* options for getremote call *) var c, en i errors error done giveup CHAR; INTEGER; INTEGER; INTEGER; BOOLEAN- BOOLEAN; procedure recover; (* call this as many times as you want *) var reply : STRING 180; (* longest response from remote *) found : BOOLEAN; error, i, time : INTEGER; begin if ( c <> NULL ) then begin (* error recovery *) errors := errors + 1; putremote (ATTN) ; (* get remote's attention *) reply := '"; (* null string for response *) time := 0; (* wait for the response *) while ( time < HOLD ) do begin error := getremote (c, nowait); Listing 3 continued on page 156 October 1981 © BYTE Publications Inc 155 Listing 3 continued: if (error = 0) then begin (* we got one *) append ( reply, c) ; time := 0; end; time := time + 1; end; (* If we waited long enough, the response is in reply *) (* if there's no reply then the remote system is dead *) if (length (reply) =0) then giveup := true; if (giveup) then exitloop; (* now we search the file for the system's response *) reset (inf ile, fname) ; read (inf ile, c) ; found := false; while ( NOT found AND NOT EOF (inf ile)) do begin readdnf ile, c) ; (* read past NULL *) if EOF (inf ile) then exitloop; (* being cautious *) (* read past local part of conversation *) while ( c <> NULL ) do read (inf ile, c) ; readdnf ile, c) ; (* read past NULL *) if EOF(infile) then exitloop; i := 1; while((i <= length ( reply) ) AND (c = reply<>) ) do begin read (inf ile, c) ; if EOF (inf ile) then exitloop; i := i + 1; end; if EOF (inf ile) then exitloop; if ((i>length(reply))AND(c=NULL))then found := true; while ( c <> NULL ) do read (inf ile, c) ; if EOF (inf ile) then exitloop; end; if ((cONULL) OR EOF (inf ile) OR (errors>10) ) then giveup := true; end; end; (* end of error recovery *) (■* Main procedure CONVERSE *) begin errors := 0; (* keep track of error recovery attempts *) done := false; (* we've only just begun *) reset (inf ile, fname) ; (* open script file *) read (inf ile, c) ; while ( NOT EOF (inf ile) AND NOT done ) do begin while ( c <> NULL ) do begin write (netout,c) ; read (inf ile, c) ; end; read (inf ile, c) ; while (c <> NULL) do begin r ead ( inf il e , C ) ; Listing 3 continued on page 158 156 October 1981 © BYTE Publications Inc NEED A PRINTER? UP TO 25% DISCOUNTS! — same day shipment. /3) CENTRONICS 739 ( x! ' With Graphics and RADIO SHACK i LINE PRINTER IV t Word Processing Print Quality • 18 x 9 dot matrix; suitable for word processing • Underlining • proportional spacing • right margin justification • serif typeface • 80/100 CPS • 9%" Pin Feed/Friction feed • Reverse Platen • 80/132 columns • Top of form CENTRONICS 739-1 (Parallel) (List $995) $765 CENTRONICS 739-3 (Serial) (List$1045) 815 GRAPPLER™ Apple graphics interface $165 ANADEX Dot Graphics, Wide Carriage I 11x9 dot matrix; lower case descen- ders • 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. ANADEX 9501 (List $1650) $ Call GRAPPLER™ Apple graphics Interface $165 VISTA - C. ITOH STARWRITER Daisy Wheel Letter Quality • 25 CPS (Optional 45 CPS) • Typewriter quality • Centronics parallel • RS 232 Serial (Optional) • Proportional spacing • Bidirectional • Programmable VFU • Self test • Diablo compatible • Friction feed (Optional tractors) • 136 printable columns • Manufactured by C. ITOH. VISTA V300(C. ITOH) STARWRITER (List $1895) $1575 IDS PAPER TIGERS Dot Resolution Graphics, quality print, speed 9 wire printhead (460) with lower case descenders • Over 150 CPS • bi-directional, logic seeking • 8 character sizes; 80-132 columns • Adjustable tractors • High-resolution dot graphics • Proportional spacing & text justification IDS 460G 9 wire printhead, graphics (List $1094) $Call IDS 560G wide carriage, graphics (List $1394) $Call GRAPPLER™Apple graphics interface $165 CALL FOR INFORMATION & CATALOG (800) 854-8275 CA,AK, HI (714) 630-3322 EPSON MX80/MX70/MX100 Low-Priced Professional Print Quality • 9 x 9 dot matrix • Lower case descenders g£t * 80 CPS • Bidirectional, Logic seeking • 40, 66, 80, 132 columns per line • 64 special graphic characters: TRS-80 Compatible • W Forms handling • Multi-pass printing • Ad- justable tractors We also carry a full line of Epson Accessories. EPSON MX80 (& MX80FT) (List $645) $Call EPSON MX70 Dot graphics, 5x7 matrix (List $450) $Call EPSON MX100 wide carriage, graphics (List $945) $Call GRAPPLER™ Apple Graphics Interface $165 GRAFTRAX 80 - MX80 Dot Graphics $ 95 MX80/70 FRICTION FEED KIT User installable kit for single sheets. Easy 30 minute installation $ 75 ANACOM Low Cost, High Speed, Wide Carriage • 9 x 9 dot matrix • Lower case descenders • Wide carriage • Adjustable tractors to 16" • 150 CPS, Bidirectional, Logic Seeking ANACOM 150 (List $1350) $995 NEC SPINWRITER High Speed Letter Quality • 55 CPS • Typewriter quality • Bidirectional • Plotting • pro- portional spacing. 5510 RO, Serial (List $3055) $2575 5530 RO, Parallel (List $3055) $2575 TELEVIDEO CRT'S AT DISCOUNT PRICES! TVI910 1 _. _„,.„_ tH TVI912C I Please Call Toll Free ^_ T \/i aonr y Prices are too low to ' Jwioin I advertise QUANTITY PRICING AVAILABLE I VI 9oU J CRT'S ADDS VIEWPOINT (List $698) $600 PRINTERS MALIBU 165widecarriage, graphics, letter quality .. (List $1975) $1325 QUME 5/45 typewriter quality (List $2905) $2559 DIABLO 630 $Call INTERFACE EQUIPMENT EPSON ACCESSORIES $ Call 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 $ 180 W^ Orange micro inc. 3150 E. LaPalma, Suite G, Anaheim, CA 92806 Store #1 Store #2 RETAIL PRINTER STORES: 3150 E. La Palma, #1, Anaheim, CA 13604 Ventura Bl., Sherman Oaks, CA Store Hours: M-F 10-6 Sat. 10-4 (714)630-3622 (213)501-3486 Circle 280 on inquiry card. Phone order WELCOME; same day shipment. Free use of VISA & MASTER- CARD. COD's accepted. Manufacturer's warranty included on all equipment. Prices subject to revision. Listing 3 continued: i := 0; while ( i < HOLD ) do begin error := getremote (en, nowait); if ( error = ) then i := HOLD; i := i + 1; end; if ( c <> en ) then exitloop; end; (* c should now be at the NULL before the local *) (* system's next statement. *) (* If c <> NULL at this point then there was an error *) (* try to pick up conversation *) while ( (c <> NULL) AND (NOT giveup) ) do recover; if (NOT giveup) then begin read (inf ile,c) ; if ( c = NULL ) then done := true; (* two NULLs in a row *) end; end; (* conversation complete *) if (done) then converse := (* worked *) else converse := -1; (* failed *) end; Listing 4: The command processor "shell" program, TRANSLUCID. program TRANSLUCID (input, output) ; const ENDOF = -1; NL = '<012>'; ESC = •<176>'; wait = true; nowait = false; type cfile = FILE OF CHAR; var network: TEXT; (* Fake network data source *) netout : TEXT; (* Fake network data sink *) auxfile: TEXT; (* One file may be opened for aux output *) (* Up to 9 files may be opened for *) (* input. *) macf ile level done c error aux, app fname ARRAY CO.. 9] OF cfile; (* array of file descriptors *) INTEGER; BOOLEAN; CHAR; INTEGER; (* error flag back from get and put calls *) BOOLEAN; (* true if we have an auxiliary file open *) STRING 20; (* Filename for rewrite or reset calls *) external function getc(fdesc : FILE OF TEXT; var c :CHAR; wflag : BOOLEAN) : INTEGER; external procedure putc ( fdesc: FILE OF TEXT; c :CHAR) ; Listing 4 continued on page 160 158 October 1981 © BYTE Publications Inc dolasoulh announces. THE TOTAL PRINTER PACKAGE! //// ■ WW 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 Circle 112 on inquiry card. 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. data©®* computer corporation 4740 Dwight Evans Road • Charlotte, North Carolina 28210 • 704/523-8500 Listing 4 continued: function fgetc(var c :CHAR) : INTEGER; (* file-get keeps track of the multiple inputs *) (* like the include facility of most languages *) begin read (macfile [level] ,c) ; if (EOF (macfile [level] )) then fgetc := ENDOF else fgetc := 0; end; function getlocaKvar c : CHAR; wflag :BOOLEAN) : INTEGER; begin while (levelOO) do if (fgetc (c)=ENDOF) then level := level -1; if (level=0) then error := getc (stdin,c, wflag) ; if (EOF (input)) then getlocal := ENDOF else getlocal -.= 0; end; procedure putlocaKc : CHAR); begin if (aux) then write(auxf ile,c) ; (* data to auxiliary file *) putc (stdout,c) ; (* data to terminal screen *) end; function getremote (var c :CHAR; wflag rBOOLEAN) : INTEGER; begin if (wait) then read(netin f c) else getc (netin,c, wflag) ; if (EOF(netin)) then getremote := ENDOF else getremote := 0; end; procedure putremote( c :CHAR) ; begin write (netout, c) ; end; begin level := 0; (* level counter for redirected input *) while (NOT done) do begin error := getlocal (c,nowait) ; if (error <> ENDOF) then begin if ( c=ESC) then begin (* enter command mode *) error := getlocal (c, wait) ; case c of ESC: putr emote (c) ; (* pass special character *) (* take input from *) '<': begin (* increase macro level *) (* a new file *) fname := •'; error := getlocal (c, wait) ; (* get filename into fname *) while (cONL) do begin error := getlocal (c,wait) ; append ( fname , c ) ; end; level := level + 1; (* open new file *) reset (macfile [level] , fname) ; end; Listing 4 continued on page 163 160 October 1981 © BYTE Publications Inc 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 Joss 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 UoifAC than Hayes. I \l ndYCo Smartmodem. The ultimate concept in modems is now a reality Arndek From picture perfect. ] To letter perfect, /UV/lO 6 * ;/j „ . „ Mm Color-I FCC/UL approv Amdek Video-300 tors 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 compute, 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-II 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-1180 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. Listing 4 continued: '>': begin (* put output into file *) if (aux) then writeln( 'error : file already open. 1 ) else begin aux := true; error := getlocal (c, wait) ; if (c = '>') then begin app := true; error := getlocal (c, wait) ; end; f name : = ' ' ; (* get filename into fname *) while (cONL) do begin append (fname f c) ; error :=getlocal (c f wait) ; end; if (NOT app) then rewrite (auxfile, fname) else fileappend (auxfile, fname) ; end; end; (* open new file or *) (* append to old file *) begin (* close file opened by > or >> *) app := false; aux := false; close (auxfile) ; end; end; (■ (* terminate connection done := true; ) inner case ) end; end. end (* end command mode *) else putremote (c) ; end; (* ENDOF error check block error := getremote (c,nowait) ; if (error = 0) then putlocal(c); (* while *) around case *) (* characters from network (* go unchanged to local *) *) Text continued from page 154: NOWAIT directive to control input flow. If GETC(STDIN,C,NOWAIT) is specified, the function will come back immediately even if no charac- ter was available from the console. GETC(STDIN,C,WAIT) will wait until the user produces the needed character before returning. The in- teger returned by the function will show if a valid character, no charac- ter, or an end-of-file was received. The internal designs of the GET and PUT functions depend on the sys- tem and are not shown here. Your own GETC can buffer an entire line from the terminal to allow for back- spacing and editing the line before it is sent. Some of these commands may cause a great deal of data to come back across the network. Routines which manage the system buffers will need to control the I/O, sending stop and start codes to the network as needed to prevent buffer overflow. When the input buffer is full, the host must send a pause (Control-S) to the remote to stop any more data flow until the buffer is emptied. Then it sends a resume (Control-Q) to the remote unit for more data. The program continually looks for data going in either direction and passes it through. The only exception comes when the user types the escape character (represented as ESC), thus activating the command processor. The command processor stays active until a carriage return is received, in- dicating the end of the command. The following commands are supported by my TRANSLUCID module: • ESC< filename (carriage return). Take input characters from filename instead of the console. When all the characters in filename have been read, return control to the console. The sequence ECS < filename (car- riage return) can occur inside a file as well as from the keyboard. The ver- sion in this article will support ten levels of nesting and can be easily modified for any number of levels. • ESC> filename (carriage return). Send output from the network to the file specified by filename as well as to the terminal screen. • ESC> > filename (carriage re- turn). Append output from the net- work to filename as above. • ESC | (carriage return). Close out- Circle 18 on inquiry card. October 1981 © BYTE Publications Inc 163 put file specified by previous > or > > command. Note that only one output file can be opened at a time. • ESC . Terminate the program. If TRANSLUCID is used as a proce- dure, this will return to the next highest level. Any character can be used for the ESC or escape sequence by changing the constant declaration at the begin- ning of TRANSLUCID. This charac- ter can be passed to the network by typing it twice (only one copy gets through). I used the character ESC (hexadecimal IB). TRANSACT The program to conduct the trans- action is directed by a data structure which describes the transaction. For all transactions, the program will determine what is to be done from this structure and execute commands on the remote and local system. It will move, copy, or delete files across the link. The data structure is shown in figure 3. The number of data types deter- mines the number of pending transac- tions a system can have. Following is a description of the variables in TRAN_TYPE: tran_type = RECORD action : INTEGER; system_id : INTEGER; t_packet : file_name; active : BOOLEAN; END; var tran_table : ARRAY [20] OF tran_type; Figure 3: Definition of the transaction table, represented in Pascal. ADA™ A NEW BEGINNING pragma ; type is ; subtype is ; raise ; abort case is when = end case; access ; with use return ; record end record; exit when ; when - if then elseif else end if; case is when ; delay for in reverse loop end loop; while loop ; entry procedure in out is begin exception end; return function in out return; select else end select; loop accept do end; task body is begin exception end select accept or delay end select; task is end package is private end; for use record end record ADA/M - Compiles ADA program for Host system execution. Excellent for learning ADA and converting existing programs. Includes ADA Compiler and Compiler ADA Programming Support Environment (CAPSE) $495. ADA/C - Compiler and Kernal APSE (KAPSE) for CP/M® $995. ADA Programmers Manual $25. ADA Syntax Reference Card $6. Specify exact configuration and operating system. Courses are available for compiler customers to learn the most powerful and complex software language, ADA. Credit for purchase of ADA/M will be given toward purchase of larger ALS. Royalty will be paid to customers who convert existing programs into ADA for inclusion in the ALS, ADA Language System library. DIGITAL ELECTRONIC SYSTEMS, INC. Box 5252, Torrance, California 90510 213/539-6239 k of Dept. ot Defensi CP/M is a rogisierad tradBi • ACTION: one of five ACTIONS supported for moving files between systems and executing commands on the remote system. These are detailed in the TRANSACT source code. • SYSTEM ID: an integer identify- ing the remote unit. • T_PACKET: the name of the file which contains the packet. The packet consists of commands to the transaction processor, commands to the local and remote system, and data (or the names of files containing data). • ACTIVE: a flag set if this transac- tion is the currently active one. The flag is checked by the WATCHDOG timer to see if a transaction was active and timed out. This data structure will be used by the three main routines: AGENDA, which sets up the transaction; TRANSACT, the transaction pro- cessor which carries out the actual work; and WATCHDOG. TRANSACT (see listing 5) needs the primitive commands — OPEN, CLOSE, DELETE, PRINT, and APPEND — for each remote system with which it will communicate. When the transaction processor wants to read a file on the remote sys- tem, it must look in a file called COMMANDS for the command to PRINT a file on that system. The proper command is extracted from this file by specifying which com- mand is desired and the system iden- tifier. The algorithm appears in the procedure COMMAND of TRANS- ACT. The execution of an arbitrary com- mand on the remote system is handled by case five in TRANSACT. This routine uses another scheme for synchronizing with the prompt. When a character is received from the network, it is put in a string called CBUFFER. When CBUFFER is the same length as the expected prompt and a new character is received, CBUFFER is sent along to the output, and the new character becomes the first one in the buffer. If the network stops sending characters, the routine will time out. The last thing in Text continued on page 174 164 October 1981 © BYTE Publications Ire Circle 120 on inquiry card. TO ORDER CALL (212) 687-5000 TM SUPR INTE3TEC DATA SYSTEMS 64K ONLY $2495 More lhan an intelligent terminal, the SuperBrain outperforms many other systems costing three to rive times as much Endowed with a hefty amount of available soltware (BASIC. FORTRAN, COBOL), the SuperBrain is ready to take on your toughest assignment You name it 1 General Ledger, Accounts Receivable. Payroll, Inventory or Word Processing the SuperBrain handles all of them with ease FEATURES INCLUDE: • 2 dual-density mimfloppies with 360K bytes of disk storage • A CP M Disk Operating System with a high-powered text editor, assembler and debugger SUPER BRAIN HARD DISKS ^ CORVUS ^ 5 MEG ONLY $3750 APPLE II PLUS for P rice A complete self-contained computer system with APPLESOFT floating point BASIC in ROM. full ASC I I keyboard in a light weight molded carrying case Features Include: • auto-start ROM • Hi-Res graphics and 15 color video output • Expandable to 48K Supertalker $279 Micromodem $379 Disk 645 Superterm (24 x 80) 395 Add-on Disk 525 Speechlab 229 Pascal Card 495 Communication Card. .. . 225 Business Software 625 Modem 200 Monitor 159 Graphics Printer 595 Printer Card 180 Graphics Tablet 795 [apple/// IS FINALLY HERE 128K RAM!! If FOR BEST nELIUERY AND SUPPORT SFE IT AT THE COMPUTER FACTORY "•^^^Vv/l/i .BEST HH*»' '•:») 896-U' uu WINCHESTER DISK & TAPE BACK-UP- FLOPPIES ARE NOW OBSOLETE! ■ 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 ol 2 systems 280A/OASIS' Z8002/UNIX- ■ Memory from 64K to 1 megabyte! ■ Languages available include COBOL. BASIC, PASCAL. & FORTRAN ■ A choice of very sophisticated software that formerly was only available to larger machine users! IACCOUNTING. RELATIONAL DATABASES, WORD PROCESSING. INSURANCE, CONSTRUCTION, ETC.I ■ Systems start at under $9500 THE COMPUTER FACTORY NOW STOCKS INTRODUCING THE MOST POWERFUL AND COST-EFFECTIVE A NEW ERA IN COMPUTER ON THE MARKET! COMPUTING ONYX COMES EAST \~~* | i | I ^vl ' I \ {~~1 , A**HMWmtwnt^l EPSON MX-70 MX-80 MX-80FT MX-100FT Call for Prices CENTRONICS 700-9 $1195 $ 704 1695 180 cps Bi-Directional • Up to 1 6 Paper Width - g x 9 Ma tn Upper/Lower Case • Tractor Feed • RS-232 Serial Interface Qume ^ SPRINT 9 * Only $2295 • 45 cps MONITORS SANYO 12" GREEN $325 BMC 12" GREEN 295 LEEDEX 13" COLOR 449 ZENITH 13" COLOR 395 LEEDEX 12" GREEN 179 • 60 cps • Up to 15" paper widlh • Tractor Feed • Parallel Interface tor Apple & TRS-80 • 2 channel vertical formsl • Top of Form 1 737 Parallel $895 ANDERSON JAC0BS0N ,841 I/O Terminalldeal for Cprjaf word processing and ~ ci h , small businesses. $ ASCII Code 15 CPS Printout High Quality Selectric Printing Reliable heavy duty mechanism Completely Refurbished by A.J. livered FREE to nearest service center ; 895 HAZELTINE ESPIRIT NEW! ■ 24 x 80 ■ Green Screen ■ 7 x 11 Matri; ■ Full Format Editing Controls ■ Bi-Directional INCREDIBLY ONLY $695 DEALER INQUIRIES INVITED ON DIABLO. CENTRONICS. SUPERBRAIN DIABLO 630 Special $2495 On Site Warranty List $2755 VISA @& Min. Credit Card Order $75 N Y resicenis add 8 u o saieb tax • Same day shipment on prepaid and credit card orders TO ORDER CALL (212) 687-5000 »J;, H|111 „ The COMPUTER FACTORY. '"^r^'^^riVZJr* 1 """' Foreign order desk — Telex 640055 Listing 5: The module that determines the overall behavior of the network node, according to "instructions" contained in a trans- action table data base. module transact; (* *) (* Transact is the transaction processor. Given a record of *) type (* a tran_type, it executes the specified transaction. (* The following actions are possible: (* 1 move a new file to the remote system 2 copy over a file on the remote system 3 move a new file from the remote system 4 copy over a file from the remote system 5 execute an arbitrary command on the remote system (* (* (* (* (* (* (* (* (* (* (* Basic commands executable on remote system are 1: OPEN FILE 2: CLOSE FILE 3: DELETE FILE 4: PRINT FILE 5: APPEND TO FILE Copyright 1981 by Peter Reintjes *) *) *) *) *) *) *) *) *) *) *) *) *) *) (*************************************************************) f ile_name tran_type = ARRAY [1..20] OF CHAR; = RECORD action system_id t_packet active END; INTEGER; INTEGER; f ile_name; BOOLEAN; buffer buf prom = ARRAY [0..20471 OF CHAR; = @buffer; = STRING 50; external function getr emote (channel: CHARS; var c :CHAR; wflag :BOOLEAN) : INTEGER; external procedure prompt ( pmt : prom; bptr: buf; off, len : INTEGER): INTEGER; const wait nowait TIMEOUT = true; = false; = 500; var if jf n c cbuf f er time, error exit failed command_f ile tran localname, remotename tempname, newname INTEGER; CHAR ; STRING 100; INTEGER; BOOLEAN- BOOLEAN; FILE OF CHAR; tran_type; f ile_name; f ile_name; function command ( system, cmd : INTEGER) : STRING 100; var Listing 5 continued on page 168 166 October 1981 © BYTE Publications Inc This Single Board.. .is the Heart of the Microprocessor World's est Multi-User System ... '~i -' ; ^f; - -^xi:rw'^^^^3Qm 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 64 K 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, 64 K 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-100 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! 18° The ACE DISCOVERY MULTIPROCESSOR dedi- cates a complete 64 K 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 dpol80"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 Listing 5 continued: i, n : INTEGER; cstring : STRING 100; begin (* The file contains the system name and five commands *) (* for each system. If we want the third command for the *) (* fourth system we need to get the 22nd line of the file *) (* ( system # - 1 ) * 6 + command # + 1 *) n := (system - 1) * 6 + cmd + 1 ; for i := 1 to n do read (command_f ile, cstring); command := cstring; end; (************** MOVERL *************************) (* move a file from the remote system to local *) function moverK r_name f l_name :file_name ): INTEGER; var If : FILE OF CHAR; result : INTEGER; begin rewrite (If f l_name) ; (* create local file *) (* get command to print a file from the remote *) (* write out the command followed by the filename *) write (network, command, r_name) ; while ( time < TIMEOUT ) do begin error := getremote (c,nowait) ; if (error = 0) then time := 0; write (If ,c) ; end; result := prompt (pmt,bufptr, of f set-length (pmt) , length) ; (* the prompt should be the last thing in the buffer *) if ( result = offset + length ) then moverl := else moverl := -1; end; (****************** MOVELR *************************) (* move a file from the local system to the remote *) function movelr( l_name, r_name :file_name; sid rINTEGER): INTEGER; var cstring : STRING 100; If : FILE OF CHAR; result : INTEGER; begin reset (If ,l_name) ; (* open local file *) (* get command for opening a file on remote *) cstring := command (sid, 1) ; write (network, cstring, r_name) ; Listing 5 continued on page 170 168 Octobtr 1981 © BYTE Publications Inc CASH FLOW PROBLEMS? ITS NICE TO KNOW SOMEONE WHO HAS THE SOLUTION. MicroAge is your Solution Store . . . that means at .« MicroAgeComputerStores- we have a wide selection of time-saving computer- ized business systems t designed specifically to solve the daily cash flow problems every business- man faces. m MicroAge has computer- ized business systems that quickly and affordabiy 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 balancedueand 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. /MicroAge co/MPUTer STore "The Solution Store" SM Circle 220 on inquiry card. El Paso, Texas (915) 591-3349 Rockvllle, Maryland (301) 762-7585 Tucson, Arizona (602) 790-8959 Albuquerque, New Mexico (505)8830955 61 Chllpanclngo Pkwy. Pleasant Hill, California Aurora, Colorado (303) 696-6950 Rochester, New York (716) 244-9000 Hurst, Texas (817) 284-3413 Sallna, Kansas (913) 825-7596 ^752 W. 159th Street Orland Park, Illinois Milwaukee, Wisconsin (414)257-1100 Mountain View, California (415) 964-7063. Scottsdale, Arizona (602) 941-8794 Anchorage, Alaska (907) 279-6688 4620 Convoy Street San Diego, Clallomla Richardson. Texas (214) 234-5955 Minneapolis, Minnesota (612)338-1777 Omaha, Nebraska (402) 339-7441 Phoenix, Arizona (602)265-0065 Columbus, Ohio (614) 868-1550 Indianapolis, Indiana (317)849-5161 Portland, Oregon (503) 256-4713 Norwalk, Connetlcut (203)8460851 St. Louis, Missouri (314) 567-7644 COMING SOON TO: Houston, Texas Palm Beach, Florida Spokane, Washington Panama City, Panama Toronto, Canada Boston, Massachusetts Oklahoma City. Oklahoma Chicago, Illinois Washington, DC. Allentown, Pennsylvania FOR FRANCHISE OPPORTUNITY INFORMATION CALL (602) 968-3168 Listing 5 continued: while (NOT EOF (If)) do begin readdf , c) ; write (netout, c) ; end; (* get command for closing file on remote *) cstring := command (sid, 2) ; write (network, cstring) ; (* after network has settled, check for a normal system prompt *) (* Note we haven't read characters from the input buffer yet *) (* These are global variables. *) result := prompt (pmt,bufptr, off, len) ; (* the prompt should be the last thing in the buffer *) if ( result = off + len ) then movelr := else movelr := -1; end; entry function transact (var transaction : tran_type) : INTEGER; begin reset (command_f ile, • commands ' ) ; with transaction do begin active := true; reset (packet, t_packet) ; (* open instruction file *) case action of 1: begin (* move a new file to remote *) read (packet, localname) ; (* name of local file *) read (packet, remotename) ; (* name of file on remote *) error := movelr (localname, remotename) ; if (error <> 0) then begin rem_delete (remotename) ; failed := true; end; end; 2: begin (* copy already existing file to remote *) read (packet, localname) ; (* name of local file *) read (packet, remotename) ; (* name of file on remote *) tempname := remotename; append (tempname, ' .temp' ) ; error := movelr (localname, tempname, system_id) ; if (error = 0) then begin rem_delete (remotename) ; rem_rename (tempname, remotename) ; end else begin rem_delete (tempname) ; failed := true; end; end; Listing 5 continued on page 172 170 October 1981 © BYTE Publications Inc PL/I-80™: Not for beginners* G09 DJGJTflL RESEARCH 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 anguage. 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 perfonnance 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 goodjor 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. YOUTS free. See why MC switched. Then compare your language. 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/I-80" COMMAND SUMMARY (111 llMIi'l UEHffiCli > 71 Company:. Address:_ M DJGJTflJ. RESEARCH' Far CP/I urn ' Co P.O. Box 579D. Pacific Grove. CA 93950 Europe: Vector. Iml.. Leuven. Belgium. 32( 161202496 Far East: Microsoflware Assoc., Tokyo. Japan. 03-403-2120 CP/M is a registered trademark of Digital l 0) then begin delete (newname) ; failed := true; end; end; 4: begin (* copy over local file from remote *) read (packet, localname) ; (* name of local file *) read (packet, remotename) ; (* name of file on remote *) tempname : = localname ; append (tempname, ■ .temp 1 ) ; error := moverl (remotename, tempname) ; if (error = 0) then begin delete (localname) ; rename (tempname, localname) ; end else begin delete (tempname) ; failed := true; end; end; 5: begin (* execute a command on the remote *) rewrite (outf ile, ■ cmd.temp 1 ) ; read (packet, command) ; (* get command from packet *) write (netout, command) ; (* write it out to network *) while (time < TIMEOUT) do begin error := getremote (c,nowait) ; if (error = 0) then begin time := 0; (* reset clock *) if (length(cbuf f er) =length(pmt) ) then begin (* we buffer a string *) write (outf ile, cbuffer) ; (* the length of prompt *) append (cbuffer, c) ; end; (* do we see the prompt?*) if (cbuf f er=pmt) then failed := false else failed := true; end else time := time + 1; end; (* Timed out in the middle of the transfer *) if (failed) then transact := -1 (* If the last thing we saw was the prompt *) (* then it worked ok. *) else transact := 0; end; (* of case 5 *) end (* of case *) end; 172 October 1981 © BYTE Publications Inc Get on the right Ifflh in floppies with new lion t! 5W from $399 nst 8" from $899 list For the name of your nearest dealer and full details, Call Toil-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 5V4" 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: 1rah 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 v$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- Offer expires Nov. 30, 1981. Limit one rebate per tomer. Offer void where prohibited. Circle 369 on inquiry card. BYTE October 1981 173 Text continued from page 164: CBUFFER after the routine times out should be the prompt from the system indicating that the operation is com- plete. You do not usually want the prompt passed along to the output file because it is not really part of the network's response to your com- mand. Possible Enhancements Several other functions may be needed on the local processor, includ- ing: • Monitor space usage on the local system, and terminate network ac- tivity if the local storage is dwindling. • Buffer input and output to keep track of data moving in all directions and control its flow. The goal is to avoid any loss of data because of speed differential or overflow in the interface. • Archive data to keep track of the large amount of data (and storage) available on the network. You will probably need some form of off-line storage, either local or out in the net- work. Systems frequently run out of file space a few months after a mail or news system is installed. Both the high-level user interface and the low-level system interface have been sketched briefly here. These are user- and system-dependent and therefore not portable, but they will help you develop a protocol-free network on most systems. Some preprocessing of files can cut down on the network interaction time. It is important to order the transactions by SYSTEM ID so that all transactions for a given system will be made on the same phone call. If there is no system response for the first transaction, the others should not be attempted. A Huffman encod- ing can compress text files by as much as two-thirds and random data by 20 to 30 percent. If you are sending large files over long distance, this could mean significant savings. Making the files self-loading would be an improvement. This can be done by a separate utility; the actual trans- action processor' could then be much simpler than the one I described. Breaking up large files into stan- dard packet sizes and adding check- sums can reduce the amount of re- transmission due to a dropped bit; the optimal packet size will depend on the modem speed and the quality of the connection. Other forms of pre- processing can further enhance your network system. With the proper set of tools, these variations can be ex- plored with much less effort. The problems of conversations be- tween computers are greatly simpli- fied if you install programs on both systems which support the same pro- tocol. However, my proposed system is sufficiently general to be used when you have little or no control over the software running on the remote com- puter, and your machine must log on and behave like a human user. Even if every remote site has computer-protocol facilities, they are not likely to support the same pro- tocol. Modules like the ones I have presented allow you to build a gener- alized system to converse with all such services. Future Network Developments Some trends that will make a flexi- ble network philosophy important in the future already are evident today. The telephone, for example, will offer increased bandwidth, possibly at less expense. Modem -based net- works will be at least as important as hardwired configurations. Greater processing power and storage will be available on a network node as more powerful CPUs and memory systems are developed. More network ser- vices with a wide variety of protocols will be available, and we have no reason to be optimistic about standar- dization. The possibilities for a system not tied to a specific protocol are almost endless. High-level programs can be built for a mail or source manage- ment system. You can write utilities that do everything from answering your electronic mail while you're away, to synchronizing the system clock with a weekly call to a com- puter at the National Bureau of Stan- dards. In addition, the modularity I've en- couraged will allow you to make en- hancements without losing your in- vestment in previous software. This characteristic could mean the dif- ference between a networking system which withstands (or changes to meet) the test of time, and one that will be abandoned in the next genera- tion of hardware and software. ■ IEEE 488 TO S-100 INTERFACE Handles all IEEE-488 1975/78 functions IEEE 696 (S-100) compatible MBASIC subroutines supplied; no BIOS mods required ■3 parallel ports (8255A-5) ■Industri ' $375 rial quality; burned in and tested (Dealer inquiries invited) DS.W DIGITAL 1524 REDWOOD DRIVE LOS ALTOS, CA 94022 14151 966-1460 174 October 1981 © BYTE Publications Inc Circle 407 on inquiry card. OOMPUSIAR INTERTEC'S INCREDIBLE 255 USER SMALL BUSINESS COMPUTER At last, there's a multi-user micro- computer system designed and built the way it should be. The CompuStar™. Our new, low-cost "shared-disk" multi-user system with mainframe performance. Unlike any other system, our new CompuStar offers what we believe to be the most practical approach to almost any multi-user application. Data entry. Distrib- uted processing. Small business. Scientific. Whatever! And never before has such powerful performance been available at such modest cost. Here's how we did it . . . The system architecture of the CompuStar is based on four types of video display terminals, each of which can be connected into an auxiliary hard disk stor- age system. Up to 255 terminals can be connected into a single network! Each ter- minal (called a Video Processing Unit) con- tains its own microprocessor and 64K of dynamic RAM. The result? Lightning fast program execution! Even when all users are on-line performing different tasks! A special "multiplexor" in the CompuStar Disk Storage System ties all exter- nal users together to "share" the system's disk resources. So, no single user ever need wait on an- other. An exciting concept . . . with some awesome application possibilities! CompuStar™ user stations can be configured in almost as many ways as you can imagine. The wide variety of terminals offered gives you the flexibility and versatility you've always wanted (but never had) in a multi-user system. The CompuStar Model 10 is a program- mable, intelligent terminal with 64K of RAM. It's a real workhorse if your re- quirement is a data entry or inquiry/response application. And if your terminal needs are more sophisticated, select either the CompuStar Model 20, 30 or 40. Each can be used as either a stand- alone workstation or tied into a multi-user network. The Model 20 incorporates all of the features of the Model 10 with the addition of two, double-density mini-flop- pies built right in. And it boasts over 350,000 bytes of local, off-line user stor- age. The Model 30 also features a dual drive system but offers over 700,000 bytes of disk storage. And, the Model 40 boasts nearly 1 1 / 2 million bytes of dual disk stor- age. But no matter which model you select, you'll enjoy unparalleled versatility in configuring your multi-user network. Add as many terminals as you like - at prices starting at less than $2500. Now that's truly incredible! No matter what your application, the CompuStar can handle it! Three disk storage options are available. A tabletop 10 megabyte 8" winchester-type drive complete with power supply and our spe- cial controller and multiplexor costs just $4995. Or, if your disk storage needs are more demanding, select either a 32 or 96 megabyte Control Data CMD drive with a 16 megabyte removable, top loading car- tridge. Plus, there's no fuss in getting a CompuStar system up and running. Just plug in a Video Processing Unit and you're ready to go . . . with up to 254 more ter- minals in the network by simply connect- ing them together in a "daisy-chain" fashion. CompuStar's special parallel interface allows for system cable lengths of up to one mile . . . with data transfer rates of 1.6 million BPS! Software costs are low, too. CompuStar's disk operating system is the industry standard CP/M*. With an impressive array of application soft- ware already available and several communication packages offered, the CompuStar can tackle even your most difficult programming tasks. Compare for yourself. Of all the microcomputer-based multi- user systems available today, we know of only one which offers exactly what you need and should expect. Excep- tional value and upward growth capability. The CompuStar™. A true price and performance leader! SINTE^TEC DATA "SYSTEMS® 2300 Broad River Rd ColumOia SC 29210 (803) 798-9100 TWX 810-666-2115 Circle 183 on Inquiry card. 'Ragftmd ttademai* 01 Digital fiesearcn inc ^^ A Simple Implementation of Multitasking Wendell Brown 8 Reynolds St Oneonta NY 13820 Multitasking software makes multiuser systems possible and per- mits the division of complex pro- grams into smaller segments. Writing such software requires an under- standing of the basic principles of synchronization (ie: executing the right program or using the right stack at the right time) and a knowledge of resource sharing (using such com- puter resources as printers, key- boards, memory, and central process- ing units). This article explains how to write multitasking software for micro- processors. I will first discuss the theory of multitasking, then give a simple example of one of the better implementations, called SLEEP (originated by APh Technological Consulting, a firm located in Pasadena, California). Multitasking has many possible ap plications. A few examples are: handling communications between a computer and more than one ter- minal; programming devices like thermostats, burglar alarms, and light controllers; having your com- puter play your favorite adventure game and regulate room temperature at the same time; and connecting two terminals to your computer so that each can run a different BASIC pro- gram at the same time. The last example is, of course, timesharing — a well-known and About the Author Wendell Brown, a Hughes Aircraft Com- pany Bachelor of Science scholar, is studying Computer Science at Cornell University. Among his interests are robotics, computer graphics, and speech. 176 October 1981 © BYTE Publications Inc complex variety of multitasking. Not all programs can or should use multitasking, but many applications are naturals for this approach. Keyboard polling (watching the keyboard to see if a key is pressed) and printer driving (telling a printer to do something) can each be written as a closed loop, and then, during execution, made to seem as if they are running simultaneously. In addition to making your com- puter more versatile and useful, learning to write multitasking soft- ware has other benefits. For one thing, it forces you to organize your programs. For another, the multitask- ing approach lets you break large programs into smaller, more manageable pieces. You can then assign the writing to several different persons, and the author of one piece will not need to know how the other pieces work. Of course, each writer must know the bounds of his or her assignment, and must understand the relationships between the pieces. Dividing programs this way not only helps you complete a large project faster, but also simplifies debugging, as it is much easier to debug small pieces of code than one large pro- gram. Methods of Multitasking Though simple in theory, several of the methods of achieving multitask- ing are tough to implement. Others Acknowledgments / would like to thank Paul Moster, of Cornell University's low-temperature group, for help- ing me write the HPIB software. can be implemented by means of straightforward programming. Let's examine a few methods, choose one, and focus on it. Perhaps the most familiar way to complete a series of tasks is to simply line them up and perform them in succession. Iri BASIC we could do this by writing a set of subroutines, and then have a master loop to call each of the subroutines in turn (sometimes called the "hen-and piglets" method, see listing 1). A similar structure can also be used in a machine-code program. One problem with the hen-and- piglets method is that subroutines are not closed; there is no guarantee that the piglet will ever run to completion. Thus, each subroutine must have a RETURN statement at the end. While this does not pose a difficulty for sim- ple routines, it can be cumbersome in larger programs where we might want to use a routine written by someone else. In that case we might have trouble adding the RETURN statement in the proper place. Another problem with this method is that each routine cannot have its own stack. Although it isn't a prob- lem in BASIC, it can be a big problem in machine code; sometimes a routine needs its own stack, or the stack is too short, or we don't want to disturb the data far up on the stack. But the hen-and-piglets method does work well for simple programs. The method requires no program- ming overhead, and, furthermore, it is easy to add another routine in the loop. To do so, simply insert a CALL statement in the control loop where Circle 371 on inquiry card. * I Tiny BASIC MICROCOMPUTER K-8073 The Computer That Recaptures Simplicity Optional I Host Computer | or Terminal Remote Slaves Dl-8020 16 CHN A/D $262 DO-8028 8 CHN TRIAC Controller $296 K-8073 Microcomputer $388 INPUT ►►►►►►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. PS-S/25 Development Station $195 DECISION After receiving data, the K-8073 exe- cutes from your EPROM based Tiny BASIC program. This decision making process is augmented by these State- of-the-Art features: • IK Byte Local RAM • 8K Byte Operating EPROM Space • 2K Byte of Firmware Utilities • RS-232, 1 10-4800 Baud Selectable • Real-Time/Date Clock (Even Calcu- lates Leap Year) • 24 Lines Programmable Parallel I/O (PPI) • Single Wire Serial I/O for 128 Remote Slave Stations (ART/RC) • On-Board EPROM Programming • Autostart EPROM (Power-on Boot) • 2 Sense Interrupts • 3 Flag Outputs • 4-5 Volt Operation OUTPUT Completing the cycle of I^D-*0 is the D0-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: TRANSWAVECORPORATIONXedar Valley Building, Vanderbilt, PA 15486 Phone: (412) 628-6370. COMPUTER DIVISION OF UTSC the other subroutines have their CALL statements. SLEEP Another way to accomplish multitasking is a method called SLEEP. We will focus on this method, in which each routine has a closed loop and does not return at the end. Instead, the statement CALL SLEEP is inserted anywhere in the closed loop of the routine. In effect, the SLEEP routine replaces the main CALL loop in the hen-and-piglets method. Although implementation is tricky, SLEEP is a unique and useful tool. Listing 1: A simple BASIC program illustrating the "hen-and-piglets" method of im- plementing multitasking. A master loop starting at line 20 calls each of the subroutines—Hue}/, Duey, and Luey—in turn. LIST 10 REM THIS PROGRAM IS AH EXAMPLE TF THE HEN AND PIGLETS METHOD 20 REM HERE in THE LOOP 30 OOSUB 100 1*0 GOSUR 200 50 ROSUB 300 60 GOTO 20 100 REM »*•*** HIIEV ******* 110 PRINT "H"; * 120 RETURN 200 REM ****** IH1EY »**«*** 210 PRINT "n"; 220 RETURN 300 REM ****** IUEY ******* 310 PRINT "1."; 320 RETURN READY RUN Hni.HDLHnLHnLHnLHDLHDLHnLHnLHnLHDLHt)LHDLHnLHDLHDLHDLHtiLHr)LHDLHnLH We can use SLEEP to multitask a series of routines so that they all ap- pear to run at the same time. We'll ex- plore the general idea, then look at a specific example. The SLEEP routine essentially simulates a complex computed GOTO statement. It first determines which program called it, then calculates which program to jump to next. The programs are serviced (branched to) in a circular fashion, so that each program is executed once every cycle. The only requirement is that each program must call SLEEP to give the other programs a chance to run. When a program calls SLEEP, it is, in effect, giving SLEEP control of the processor; SLEEP, in turn, passes control on to the next program. If any of the programs are "time-critical" (ie: must be run within a given time period), then we must be sure that no one routine dominates the processor. Specifically, we must place the CALL SLEEP statement where it will be ex- ecuted often in the loop of each pro- THE SYSTEM INTEGRATERSi Ithaca 0oDfeo% v M(i3DDD^™ 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 v--; mrmmnw ■■■■■■■■ nim Terminals • Printers • Accessories • Service Complete Business and Development Systems Specialized Business Systems 5306 S. Bannock, Littleton, CO 80120 '"Trademark ot Ithaca Intersystems, Inc. (303) 797-8709 *CP/M and "MP/M are Registered Trademarks or Digital Research. & 178 October 1981 © BYTE Publications Inc Circle 346 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 Q'JME PRINTER SUPPLY 5V @ 10A ±15V @ 4.5A/16A 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 24 V @ 1.2 A 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 HAA15-0.8 : $39.95 DUAL OUTPUT TRIPLE OUTPUT TRIPLE OUTPUT POWER FAIL MONITORS .. -*m — s r + 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 ■v NEW '81 CATALOG & FACILITIES BROCHURE Get your free copies now! Phone or write us direct, or circle the reader service number Power One Drive Circle 301 on inquiry card. Apou/eronc dm. power supplies Camarillo, CA 93010 • (805) 484-2806 • (805) 987-3891 • TWX 910-336-1297 Explore With Us! Over 4,000 unusual and intriguing products are in this FREE 1981 catalog. Our new products for work and leisure will peak your curiosity and make you eager to try them yourself. What's Your Interest? It's all here— Astronomy, Microscopy, Lasers, Alternate Energy, Weather, Binoculars, Magnets, Magnifiers, Lab Equipment, Biofeedback, Unique Lighting, Scientific Living— and more! Discover a new interest or add sparkle to an old one. Don't Delay! Our FREE 1 12-page, colorful 1 981 catalog is your guide to unique, exciting products. You'll find what you're looking for and more in Edmund Scientific's World Of Science □ Yes! Rush me your FREE Catalog so I can explore Edmund Scientific's World of Science . . . Today! Name Address City State Zip Clip and Mail Coupon to Edmund Scientific Dept. 8210 KH20 Edscorp Bldg. Barrington, N.J. 08007 No. 225 e 1981 Edmund Scientific gram. Further, we must write a small program (about 30 bytes) to initialize each program's stack. Think of each program as having its own microprocessor. Each pro- gram has an individual stack and is written as a closed loop in order to allow continuous operation. All pro- grams share the same memory, which has both advantages and disadvan- tages. Programs can pass data among themselves by using this shared memory as a common data area. One program can write to a predetermined memory byte, while another reads this byte. The disadvantage of shared mem- ory is that sometimes it is convenient for each program to have its own uni- que memory. For example, if we wanted to time-share a BASIC in order to run more than one BASIC program at a time, then we would have to provide enough memory to hold both programs. Since most BASICs aren't relocatable (having a unique address where they must be loaded and executed), we can hold only one copy of BASIC in memory at one time. And since most BASICs use a unique memory area to store a single program, we have to use more tricks to make a multiprogram BASIC run. (More on this later.) Listing 2: SNOOZE, a 6502 assembly-language program showing the SLEEP method of implementing multitasking. Three separate programs — Huey, Duey, and Luey — each contain a CALL SLEEP statement. The SLEEP routine branches to the programs in a cyclical fashion. Each program is executed once every cycle, and all appear to run simultaneously. TITLE "SNOOZE" / / / * / / / / / t* • / / r / t i / / / / / / t ; THIS S MPLE EXAMPLE SHOWS HOW EASY IT IS TO IMPLEMENT A MULTI- ;TASKED MACHINE . THE THREE SEPARATE, INDEPENDENT PROGRAMS WHICH APPEAR ;T0 RUN SIMULTANEOUSLY ARE: HUEY, DUEY. AND LUEY HUEY PRINTS A "' " ;THE TERMINAL, 1UEY A "d". AM0 LUEY A •L". ZSECT TTYOUT = : $FFEF JOBS = 3 STACKLEN = 20 SPTABLE BLOCK JOBS CURJ0B BLOCK 1 STACKAREA: BLOCK STACKLEN HSTACK : BLOCK STACKLEN DSTACK BLOCK STACKLEN LSTACK PSECT STARTUP: SEI CLD STKINIT: LDX TXS #LSB(LSTACK-1) LDA ♦ MSB(HIEY-l) PHA LDA #LSB(LUEY-1) PHA LDA #LSB(LSTACK-3) STA SPTABLE+1 LDX #LSB(DSTACK-1) TXS LDA #MSB(DUEY-1) PHA LDA f LSB(DUEY-l) PHA LDA »LSB(PSTACK-3) STA SPTABLE+2 LDX » LSB(HSTACK-l) TXS LDA #0 STA CIIRJOB ; ADDRESS OF TTYOUT ROUTINE ; NUMBER OF JOBS ; LENGTH OF EACH JOB'S STACK ;ARRAY OF STACK ADDRESSES ; NUMBER OF THE CURRENT JOB RUNNING ;EACH JOB HAS ITS OWN STACK ;IN THE 6502, THE STACKS "GROW" UPWARD ; BRANCH HERE TO START EXECUTION ;DISABLE INTERRUPTS ;CLEAR DECIMAL MODE INITIALIZE LUEY'S STACK ; PLACE LUEY'S ADDRESS ON LUEY'S STACK INITIALIZE DUEY'S STACK ;PLACE DUEY'S ADDRESS ON DUEY'S STACK {CURRENT STACK IS HUEY'S STACK ; PREPARE TO RUN JOB *0 (HUEY) »///*//*//** ; THAT IS ALL THAT HAS TO BE DOME TO INITIALIZE THE MACHINE. ;N0W SIMPLY JUMP TO JOB #0 (WHICH HAPPENS TO BE HUEY IN THIS EXAMPLE), ;AND ALL THREE MACHINES WILL APPARENTLY RUN SIMULTANEOUSLY. JMP HUEY Listing 2 continued on page 182 180 October 1981 © BYTE Publications Inc E C( u k pnft n t o t Cost fletunulnted Deprecioti Incorporation Expenses Less ftrtort tzotion TOTAL ASSETS TOTAL SHAREHOLDERS' EQUITY TOTAL LIABILITIES + SE FLOW OF FUNDS REPORT OPTIONS | a Inhibit Pi n t h n a m e s B Breakdown numbers b y project c TotaL monthly expenses'' incomes D L •. s t cr-.ti.cal. events E Subtract incone taxes F Store financial statement data G Show accounts p a y a b I e •' r e c e i v a b t e H Show a 1. 1 operating expense items I Show oi l mcone related expenses J Show all income items K Show all cash flow items L Print a single month per page M Pause after each month N Pause at end of each page LETTER toggl.es option RETURN pr t r\ t £ j (M/22/B3 P COHPANV Hard Processing Services. Inc. gs 27 MODEL Medium Growth STARTING 80 /S2 ACTUALS 83/83 ID Projtct Nans UNITS EXPENSE INCOME CASH W/C MONTH 14, BtpUlbir 19B2 -11 Op Br Eiptmi 1 "Fhone" -72 Rental 1 B "Delivery Van" le D antral ovirhud aea? e -B5 Purchase 2 B "Electric Typ^uriter" -23 Hire 2 8 -Typist II" 23 Typing Servica 4403 S27S *3ii Neu Product /Service 'Individually Targated Rtiuxtl" 30 Resume Writing S472 13203 48 Printing 23245 36676 TOTAI 3B177 5S156 45231 62218 BUSINESS PLANNER ™ - Duosoft's Real World Business Plan Modeling System You've been wanting to start your own business for quite some time, but just haven't been able to do so. You've got a money-making idea — but how can you get bankers and investors to listen? Here's how! We've come up with the first business modeler designed for en- trepreneurs. It turns your ideas into dollars and cents language that hard- headed businessmen understand, does your talking for you. • Customized reports • Graphical projections • Standard financial statements • Password protected data • Moving time window • Sample business data • Tutorial documentation • Projections updated by actuals It PROJECT ORIENTED BUSINESS PLANNER enables you to group employees, equipment, and BUSINESS PLANNER is a trademark of Duosoft Corporation. APPLE and Apple Pascal are trademarks of Apple Computer, Incorporated. UCSD Pascal is a trademark of the Regents of the University of California. other costs into an income producing project. Projects can be combined together in a model to show the net result, or ex- amined independently. By starting pro- jects at different times, you can make crucial timing decisions. As your business grows, models may be combined into larger models. Each new venture can be brought under the master plan. BUSINESS PLANNER can continue working for you. HANDLES ACTUALS Planning your business is only part of the problem. BUSINESS PLANNER compares actual results against the model in order to focus attention on problems that may affect future perfor- mance. "What If?" scenarios can be developed to help you plan for the unexpected. CUSTOMER SERVICE Duosoft backs its software by a full service guarantee that protects your in- vestment. Updates are free for the first year. Extra backup copies are available at a nominal cost. Box 1827, Champaign, IL 61820 You'll receive our newsletter free of charge. It features tips for new businesses, user comments, product descriptions, and announcements of version updates. AVAILABLE FOR THE APPLE II BUSINESS PLANNER is now available for the Apple II, and will be released JAN 1982 for the Apple III. Versions for all major machines are currently being developed. Written in UCSD Pascal with exten- sions in Apple Pascal, 48K of memory and at least one disk drive is required. The Language Card is not necessary since we supply special system soft- ware. PLANNING FOR YOUR FUTURE BUSINESS PLANNER helps provide the financial proof you've needed to fun that new business. What is knowledge like that worth to you? Yet it costs only a low $295, a small business expense. You need to put all this power to work for you right now. Unless you really like working for somebody else. If your dealer doesn't have BUSINESS PLANNER, call us -(21 7) 356-7542. Circle 133 on inquiry card. Circle 355 on inquiry card. DISCOUNT HARDWARE Division of System Interface Consultants, Inc. IEEE 696/S-100 Standard Boards CompuPro TM from I STATE OF THE ART GPU BOARDS DUAL CPU 8/16 bit $349 Z-80 CPU $249 FAST RELIABLE STATIC MEMORY 16K $299 32K..*W.. - $549" 48k . . $ 7$\$m 64K . Aw, .jsess" SYSTEM AUGMENTATION l/0-l or l/O-ll $199 DISK-1 DMA Disk Cont $399 SUPPORT-1 Multifunction $299 DISCOUNT HARDWARE Division of System Interface Consultants, Inc. 17440 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 CONSULTANTS CALL FOR INFORMATION AND PRICES ON The business computer that's HERE TODAY and HERE TOMORROW avoid obsolescence 8 & 16 bit (21 3) 454-21 00 System Interface Consultants, Inc. Computer Specialists Established 1969 Listing 2 continued ;AND MOV THE THREE PROGRAMS HIIEY: i.nA * t'H" JSR TTYOHT JSR SLEEP JHP HUEY DUEY: LDA !""P" JSR TTYOHT JSR SLEEP JHP miFY LUEY: i.nA #"i" JSR TTYOUT JSP SLEEP JHP I.UEY SLEEP: TSX i.r>Y CURJOR STX SPTABLE,Y IMY CPY * JOBS BHE NOZERO LDY ' MO ZERO: STY CURJOR LDX SPTARLE,Y TXS RTS ; PROGRAM HUEY ;PRIHT A "H" AT THE TERMINAL : PROGRAM DUEY : PRINT A "P." AT THE TERMINAL ! PROGRAM LUEY I PR I NT A "L" AT THE TERMINAL ;ROUTI ME TO "PUT TO SLEEP" THE ;CURRENT JOB, AND "AWAKEN" THE NEXT ;JOB. SLEEP CAM BE PLACED ANYWHERE. ;IF REACHED THE LAST JOB, THEN START EXECUTING THE FIRST JOB AGAIN ;IF YOU WANT TO SAVE YOUR CPU REGISTERS BEFORE A PROGRAM IS PUT TO SLEEP, ;THEN CALL SLEEPR INSTEAD OF SLEEP. SLEEPR: PUP PHA TXA PHA TYA PHA JSR SLEEP PLA TAY PLA TAX PLA PLP RTS Example: Using SLEEP Let's look at the program SNOOZE (see listing 2). Written in 6502 assembly language, SNOOZE is a simple example of SLEEP that shows how to multitask the three functions Huey, Duey, and Luey. SNOOZE can be broken down into three main areas: initialization; the sub- programs Huey, Duey, and Luey; and SLEEP. Although in this example the in- itialization segment is larger than the program segment, this is not always the case. The purpose of initialization is to set up the stack areas for the three subprograms. We'll follow the initialization segment from the top down. The ZSECT merely tells the assembler to place the following code in page zero (bytes to 255). With the 6502 microprocessor, the stack ;SAVE REGISTERS ON STACK ;SLEEP NOW THAT REGISTERS ARE SAVED ;AWAKEN. RECALL REGISTERS FROM STACK pointer can point to memory only within the first page. TTYOUT is a routine (not shown) which prints the contents of the accumulator to the terminal. This routine varies from one computer system to the next. JOBS signifies the number of jobs that we want to multitask; in this case, there are three (Huey, Duey, and Luey). STACKLEN signifies the length of each program's stack. SPTABLE is a table of length JOBS, to be used exactly like a stack pointer. Each job has its own stack pointer, which is stored in the table when one particular job is asleep. CURJOB con- tains the number of the job currently running. In this example, CURJOB may have only the values (which means Huey is running), 1 (Luey), or 2 (Duey). STACKAREA is JOBS X STACK- LEN bytes long (3 X 20 = 60 in this 182 October 1981 © BYTE Publications Inc 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 tCP.-'M* is a Registered Trademark of Digital Research. Inc. "MmmOST® is a Registered Trademark of TeleVideo Systems. Inc. l& ""Multi-user. [tluHMask, 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. INVENTORY ided Systems I fu r^."it« rTRmr\TTT7^mP1MnTi WKtVfiR orse Avenue, Sunnyvale, CA 94086 408/745-7760; 800/538-8725 (toll-free outside California) Circle 363 on inquiry card. 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 37CT 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/W" 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 Circle 249 on Inquiry card. MORROW OE5IGN5 5221 Central Avenue, Richmond, CA 94804 (415) 524-2101 example), and houses the actual stack for each program. Since in the 6502 the stack "grow" upward (toward page zero), each program's stack has a label pointing to the bottom of the stack. As a stack is used, the pointer Figure 1: Saving a return address in the stack during execution of the SNOOZE program (shown in listing 2). Whenever a machine-level subroutine is called, the microprocessor forces the return address onto the stack. Later, when an RTS (return) instruction is executed, the microprocessor retrieves the return ad- dress from the stack and puts it into the program counter. As a result, executing an RTS instruction causes the micro- processor to branch to the start of the subroutine. m-3 m-2 m-1 m m + 1 m + 2 m + 3 -SP I BEFORE I m-3 m-2 m-1 m m + 1 m + 2 m + 3 ■SP AFTER I SP= STACK POINTER RAH = RETURN ADDRESS, HIGHER ORDER 8 BITS RAL = RETURN ADDRESS, LOWER ORDER 8 BITS steps along the stack. Now that we have defined variables and stacks in page zero, we must fill those variables with mean- ingful values. PSECT tells the assembler that the following is pro- gram code, to be placed somewhere other than page zero. Label START- UP is the place we'll branch to in order to begin the programs. Before Huey, Duey, and Luey run, however, we must complete in- itialization. SEI disables the 6502 in- terrupts — just a precaution in case we forget to disable interrupts after the last program. CLD clears the 6502 decimal mode, and is another general precaution, rather than a unique re- quirement of multitasking. The next twenty instructions lead to one goal: to fill the bottom two bytes of each stack with the starting address of the program so that we can ^w A1IZ' S Picture the fastest, most accurate schoolteacher you ever had, point- ing out all your spelling errors so you can correct them instantly. This new spelling checker for Electric Pencil and Scripsit files is modeled after her: it's virtually impossible to misspell with MIZ SPELL! Unlike other spelling checking programs: MIZ SPELL will operate on one or more disc drives. (Some others require a minimum of two.) MIZ SPELL will work with words of any length. (Others have limits on maximum word length.) MIZ SPELL is interactive; you can correct mistakes as they are pointed out. (Some require multiple, time-consuming passes.) Check these features vs. other spelling checkers: MIZ SPELL maintains separate dictionaries for specialized vo- cabularies, each with a 27,000 word capacity. (1 8,000 included.) MIZ SPELL learns new words from your text files as it checks for spelling errors. (Words can also be deleted from the dictionary— but not accidentally, as with some other programs.) MIZ SPELL offers such options as: ignore word in text, delete word in text, change word in text, add all remaining words, etc. MIZ SPELL permits user configuration of system, including specifi cation of default extensions for original and corrected text file. TRS-80 Model I CCHOR CP/M 8" $"7Q95 48K Disk $5995 Single Density TRS-80 and TRSDOS are registered trademarks of Tandy Radio Shack Corp. CP/M is a registered trademark of Digital Research. FOR TRSDOS OR CP/M Meet author ARNOLD SCHAEFFER Attends Georgia Tech starting Fall, 1981; plans to major in computer science. First exposed to computers in 6th grade; sold first program at age 16. Characterizes self as "not a good speller"; was inspired to write MIZ SPELL when he examined available programming in store, decided could have been done much better " HOW TO ORDER: CALL TOLL FREE: (800) 645-6038 (except NY*) COMPUTER TO COMPUTER: (51 6) 334-31 34 Add $1 00 for pos(age and hand|ing WRITE: Dept. 881 b , Box 265, Jericho, NY 1 1 753 ny Residents add sales tax. FULL GUARANTEE If tor any reason dissatisfied with any purchase from PROGRAMS UNLIMITED, return merchandise in original condition and pack- aging for prompt, full refund. PROGRAMS UNLIMITED Visa, Master Card, American Express. "NY State residents call 516- 997-8668 186 October 1981 © BYTE Publications Inc Circle 411 on inquiry card. DOS, DOS/VS, DOS/VSE, EDOS Systems Programmers A good career fit is often hard to find. . .and definitely worth looking for. If you're an IBM DOS, DOS/VS, DOS/VSE, or EDOS operating systems professional, your search is over. Nixdorf Computer Software Company, Richmond, VA, is the company tailor- made for your talents and ambitions. NCSC: Small company infor- mality. Big company resources. As a wholly-owned subsidiary of Nixdorf Computer Corporation, Waltham, MA, NCSC offers the perfect environment for your personal and professional growth. You'll work with other talented professionals in small project teams at the leading edge of operating systems develop- ment technology. Our atmosphere en- courages and rewards creativity and innovation. And it's all backed by Nixdorf Computer's international reputation. Our simple philosophy: Challenged and happy people produce the best work. At NCSC, we're firmly committed to state-of-the-art technological ex- cellence — placing us on the Datapro software honor roll for 3 consecutive years. So your talent will be chal- lenged and stimulated to grow and mature. Our creative environment, professional attitude, and friendly at- mosphere blend to provide a truly enriching career experience. What about the benefits? They're outstanding. Health, major medical, life, dental, prescription drugs, short-term and long-term disability, vacations and holidays, sav- ings and investment plan, direct pay deposit, 100% tuition reimbursement, in-house training and education pro- grams, and more. Sounds great? You're right. Nationwide Locations. NCSC has regional offices in some of the most desirable cities in the U.S. Several opportunities are available in Dallas and Chicago, with the majority of positions open at NCSC head- quarters in Richmond, Virginia. In Richmond, the emphasis is outdoors. Golf in January. Enjoy your favorite outdoor activities 9 to 10 months a year. Sensibly-priced homes on family-sized building sites. You'll like living in Virginia's state capital, with its cosmopolitan, professional am- bience, 600,000 metro population, within 2 hours from Washington, D.C., the Blue Ridge Mountains, or the seashore. And your very competitive NCSC salary goes a lot farther with Richmond's low cost of living. Our Current Opportunities: For all these positions, you should have at least 2 years IBM DOS, DOS/VS, DOS/VSE or EDOS operating system experience and be proficient in Assembly language programming. Teleprocessing, networking, RJE, VSAM, BTAM, VTAM and CICS would be valuable. Operating Systems Programmer. Design and develop from ground floor a complete software system, in- cluding operating systems and com- munications software. Software Support Representative. Provide customer support for Nixdorf operating system software. Customer contact and troubleshooting ex- perience essential. Systems Programmer. Provide program fixes, implement enhancements, and assist customer support efforts. Support Systems Programmer. Perform systems generation, maintenance, and other software sup- port functions for in-house develop- ment, support and production. Technical Instructor. Conduct in-house and customer education for our operating system products; travel involved. Instruction proficiency essential. Technical Writer. Provide internal documentation development programs. We seek a professional whose talents combine systems programming experience with strong technical writing skills. If you're interested and feel you're the right fit for one of our oppor- tunities, please forward your resume, stating your area of interest and in- cluding your salary history, to Employment Manager, Dept. B, Nixdorf Computer Software Company, 6517 Everglades Dr., Richmond, VA 23225. Or call — outside of Virginia — TOLL FREE 800-446-9900. In Virginia, 804-276-9200. We are an equal opportunity employer m/f/h. Committed to Success. NIXDORF COMPUTER SOFTWARE COMPANY NIXDORF COMPUTER Circle 172 on inquiry card. THE M 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. SUPEROOS is very powerful and very very fast. For dealership information contact: f {%^ / Integrated JLJv^^r Business * Computers 22010 S. Wilmington Avenue, Suite 306 Carson, CA 90745 • Call (213) 518-4245 fake a jump instruction with a return instruction. When we call a machine- level subroutine, the microprocessor forces the return address onto the stack, and jumps to the subroutine (see figure 1). The opposite (popping the stack, and jumping to the return address of the function which originally called the subroutine) occurs when the microprocessor ex- ecutes a return from the subroutine (RTS in 6502 assembly language). Thus, if we put the starting address of the program on the stack, then ex- ecute an RTS, the microprocessor branches to the start of the program. The entire operation is simple, but lets us perform several clever tricks. Starting at STKINIT, we initialize the stack areas. #LSB is an assembler function that extracts the LSB (least- significant byte) from the value in parentheses. TXS transfers the value from the X register (which contains STACKAREA: 4 H STACK: 4 DSTACK: Luey's stack pointer) to the stack- pointer register. Similar to #LSB, #MSB is an assembler function that extracts the MSB (most-significant byte). In the next several instructions, we will place two bytes, which are the starting address of program Luey, on the stack. PHA pushes the value of the accumulator onto the stack. We then store the value of the stack- pointer register into the SPTABLE ar- ray offset by 1 (remember how CUR- JOB's value of 1 means Luey is run- ning?). Next, we initialize Duey's stack exactly as we did Luey's, except at the end we store the stack pointer into SPTABLE with an offset of 2 in- stead of 1. We now set the stack- pointer register to Huey's stack area, since Huey will run first (see figure 2). We must also set CURJOB to signify that Huey will be running (CUR- JOB = 0). Finally, we jump to Huey, 4- V HUEY'S /STACK 6502 STACK POINTER POINTS HERE JUST BEFORE THE JMP HUEY IN STKINIT DUEY'S STARTING ADDRESS (HIGH 8BITS) DUEY'S STARTING ADDRESS (LOW 8 BITS) 4> v DUEY'S t STACK 4 LUEY'S STARTING ADDRESS (HIGH 8 BITS) LUEY'S STARTING ADDRESS (LOW 8 BITS ) LUEY'S STACK LSTACK: Figure 2: The state of the stack area immediately before the JMP HUEY instruction in the STKINIT subroutine of the SNOOZE program (see listing 2). STKINIT initializes the stack areas. Since the stack-pointer register is now pointing to Huey's stack area, Huey will run before the subroutines Duey and Luey. 188 October 1981 © BYTE Publications Inc Wild Hare Software Systems Multiply the Capabilities of Data General's RDOS INFOS ICOS DOS 10 Wild Hare gives Data General € users a choice when upgrading '^ to a multi-user environment and ■- eliminates the need to use AOS. Wild Hare makes it easy for you. It creates a true multi-lingual, multi-user environment for your current system. No user software modifications are necessary. There is no need to install a new operating system. And, no expensive hardware upgrade is required. Features • Each user is totally independent of all other users. • Each user may run all standard Data General software. • Each user may independently edit, compile, execute and debug programs written in any language supported by RDOS, INFOS®, ICOS and DOS. • Standard languages supported include: Fortran IV, Fortran V, COBOL, ALGOL, RPG, DG/L™, BASIC, PASCAL, MAC, etc. • All NOVA's® and ECLIPSE'S® are supported. • Wild Hare guarantees its software systems on a money back basis. Wild Hares Software Gives Data General Users A Choice! NOVA" ECLIPSt' and INFOS" are registered trademarks of Data General Corporation. 18 _m ox RO Box 3581 . Boulder , Colorado 80307 (303)4940221 H*RE Circle 392 on Inquiry card. and whiz... everything is up and run- ning. Each of the programs Huey, Duey, and Luey prints the first letter of its name to the terminal. LDA is a load accumulator immediate, and loads the accumulator with the character "H," "L," or "D," depending on which program is running. JSR (jump subroutine) TTYOUT calls the routine that prints the value of the ac- cumulator to the terminal. JSR SLEEP calls the sleep routine. JMP HUEY completes the program by jumping to the start of the program. Notice how each program is a closed loop. Pro- grams Duey and Luey are exactly like Huey, except for the characters they print. The SLEEP routine is the most magical of all. SLEEP first uses the TSX instruction to save the value of the stack-pointer register in the X register. LDY loads the value of CUR- JOB into the Y register. INY in- crements the Y register. The CPY in- struction compares the incremented Y register against JOBS (containing the number of total jobs, three in our ex- ample) to see if we are at the end of a cycle. If not, BNE branches to NOZERO if the incremented Y register minus JOBS is not zero. However, if we have reached the end of the cycle, then the LDY instruction loads zero into the Y register. At label NOZERO, the contents of the Y register are stored into location CUR- JOB, reflecting the job to be run next. The LDX instruction loads a stack- pointer value from SPTABLE, offset by the Y register (which equals CUR- JOB) into the X register. The TXS in- struction then transfers the value of the X register into the stack-pointer register. Finally, an RTS effectively forces a branch to the program in- dicated by CURJOB. SLEEP, while a little tricky, is short and sweet. SLEEPR can be called instead of SLEEP if we want to preserve the con- tents of our CPU registers before go- ing to sleep. SLEEPR simply pushes the contents of all registers onto the program's stack, then calls SLEEP. After returning from SLEEP (and allowing the other programs to run), SLEEPR restores the CPU registers by popping them back off the stack. The three programs won't actually run simultaneously, but they will run in such rapid succession that, for most purposes, they will appear to be running at once. When we execute SNOOZE, the terminal instantly displays: HLDHLDHLDHLDHLDHLDHLD . . . Other Applications There are, of course, many uses for multitasking. Timeshared BASICS for multiple users or for single users with multiple programs are one possibility. Real-time (ie: the pro- gram runs and interacts with external events), multiuser dungeon games would appeal to the fantasy-minded. For control applications, we could assign a single microprocessor the duties of monitoring many in- struments, each instrument having its own subprogram. For complex operating systems, we could assign printer spooling (various programs writing to the same Peachtree Softwares Series 5:- VINTAGE CROP w re can't help boasting about our latest crop of General Accounting software. After years of careful cultivation, every program is ripened to perfection and bursting with benefits: General Ledger compares information by department for budget or last year's history. Inventory provides manager-level re- ports to control inventory turnaround, al- lows standard or average costing. Sales Invoicing permits simultaneous access and updates to Accounts Receivable and Inventory Management tiles. Accounts Receivable generates monthly statements, invoicing, sales tax reports and more. Peachpay™, our payroll package, is incredibly flexible in methods of pay- ment, deductions and tax withholding. Accounts Payable automatically selects invoices for payment by discount or due date. Provides comprehensive management reporting. H, arvest the fruit of our experience. We've grown a lasting reputation for quality software, user refined, remark- ably easy to use. Call 1-800-835-2246 ext. 35 (in Kan- sas call 1-800-362-2421 ext. 35). And remember, there's only one source for Peachtree Software, and that's the Tree itself. JTheVery Best "Off-The-Sheir "Software Is "Off-The-Treer lilii PEACHTREE SOFTWARE, i Corporate Square, Suite 7(10, Atlanta, Georgia 30329 ( i() 1) 325-85 S3 Telex II: 810-751-0273 PEA( HTREE AIL, 190 October 1981 © BYTE Publications Inc Circle 296 on inquiry card. I Turn your Apple into the world's most versatile personal computer. The Sof tCard™ 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 237 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. CONSUMERS PRODUCTS Microsoft Consumer Products, 400 108th Ave. N.E, Bellevue, WA 98004. (206) 454-1315 printer), keyboard polling, and floppy-disk management, to their own multitasked programs. Music synthesizers could produce multiple tones from software designed for single tones. At Cornell University's low- temperature physics group, we have written multitasking software for the 6502 that implements the HPIB func- tions (Hewlett-Packard Instrument Bus, also known as IEEE standard 1978-488). This standardized bus is used not only in laboratory in- struments, but also in the Com- modore PET computer as a peripheral port. While it is possible to program all these routines using other software techniques, the use of SLEEP may simplify conception and implementa- tion. Let's take a closer look at how we might multiprogram a standard BASIC. First, we must have enough free memory in our system to hold at least two different BASIC programs. The best method of multitasking BASICs involves updating BASICs pointers to the start of the program memory, variable areas, etc. However, this method is complex and you must know where these pointers reside in memory for your particular BASIC. Let's consider a simpler but less efficient method. The general scheme is to swap out the BASIC program, variables, and line counter (the value indicating the next BASIC line to be executed), and then swap in the next program's pro- gram, variables, and line counter. The addresses vary depending on which BASIC we use. Since most computers have only one keyboard and display, we must have a way to indicate which program we wish to communicate with at any given time. To accomplish this, we must choose a specific keyboard command. Finally, we must decide how often we want the computer to swap the programs in and out. We could do this in soft- ware, similar to SNOOZE, by calling SWAP occasionally. Or we could force swapping by pulling a hardware interrupt. A hardware interrupt is, basically, a method of forcing the execution of specific software when the proper signal is sent on the interrupt line. We could connect a timing device to the interrupt line, forcing a SWAP routine to swap BASIC programs at every clock period of our timer. SNOOZE could also be implemented using this interrupt approach. However, the requirement of such in- terrupt hardware is a slight disadvan- tage. Now that you have seen the struc- ture of the SLEEP method of multi- tasking, you may want to try writing your own multitasking software. For the small-computer owner who thinks he is outgrowing his system, the convenience and added power of resource sharing can be a strong in- centive to implement multitasking. All too often, our first reaction to a strain on resources is to buy a new system. But a better reaction might be to write such software. The SLEEP method may help your present com- puter system perform beyond your expectations. If your system seems overburdened and worn out, maybe it just needs a little SLEEP. ■ adio /hack COMPUTERS SAVE ** $ TRS-80 MODEL II 64 K 26-4002 CALL US For Low, Low Prices on All RADIO SHACK Hardware and Software Reg. $3,899 00 $3,439 00 TRS-80 MODEL II 48 K; 2 Disks 26-1066 Reg. $2,495°° $2,220 oo We Pay Shipping No Tax on Out of State Shipments Warranties Honored by Radio Shack Stores (209) 526-1 47 S Radio Shaek 221 McHenry Ave. Modesto, Calif. 95354 Certified Checks Cashiers Checks Credit Cards Franchise Store 7079 192 October 1981 © BYTE Publications Inc Circle 321 on inquiry card. Text-to-speech algorithm vocally reproduces any typed entry Unlimited vocabulary Standard RS-232C interface VOTRAX' brings your computer to life with Type-'N-Talk ™, Now you can hear your computer tell you where you are in a program; taunt you during computer games; praise you; remind you; warn you. Thanks to the unique VOTRAX" text-to-speech algorithm, your typewritten words are automatically translated into electronic speech all for just $375.00. You type — your computer talks. It's that easy because Type-'N-Talk'" 1 uses ASCII code from your computer. You just send English text to hear synthesized speech through your audio loudspeaker. The smallest personal computer can talk and execute programs simultaneously. Type-'N-Talk'" has a built-in microprocessor and a 750 character buffer so your host computer and memory isn't tied up with text translation. If you can print it, you can hear it computer or modern and a terminal. All the data you're sent while online can he seen and heard. You can even "de-select" Type-'N-Talk"* with its data switching options. Data switching allows you to send speech and visual data The Type-'N-Talk" unit's simplicity enables the beginnii Look what you get for $375.00: • RS-232C interface is compatible with most computers • Text-to-speech algorithm • Complete installation and programming instructions • Baud (75-9600) • One watt audio amplifier • 750 character buffer • SC-01 speech synthesizer chip (data rate: 70- 1 00 bits per second) • Data switching capability • Selectable data modes for versatile interfacing • Data echo of ASCII characters • Phoneme access modes It »i iiio'.I ijophisticaterJ user V' J I MAX* developed Type-'N-Talk'" to function wi new VOTRAX" talking software currently under development. fype-'N-Talk"* la so easy to use, it can also be used without software. Order now. Toll-free. 1-800-521-1350 Dealer inquiries invited. Call the toll-free number 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. California residents add appropriate sales tax. Send check to: Votrax' -Consumer Products Group 500 Stephenson Hwy. , Troy, MI48084 flDW TYPE-W-TALK I '■■JpiTn CHEI NOW ▼ YOU'RE TALKING 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 II© computer. The A800 Controller enables 1 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 the disk 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. The 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 Drives. The A800 provides complete IBM for- ■f 'C* *m mat compatibility in both single and double- M.%> 9 <• density modes. Cllft*A THE HOT SHOT AT A COOL PRICE. 3lllv The A800 is reasonably priced at $595. A price you can't beat when you compare its C|>a^ auality and performance. CALL YOUR SHOTS. Vista offers you a complete line of peripheral eguipment 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-l OO based : \ computers. %Jlct^l Computer W I^mI Company 1 31 7 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. Tree Searching Part 2: Heuristic Techniques Gregg Williams, Senior Editor Exhaustive tree searches, for reasons that will be explained later, will eventually arrive at an optimal path between the start node S and the goal node closest to S. The exponen- tial expansion of many problems can outgrow the memory and speed capa- bilities of even the largest computers; because of this, methods have been developed that selectively limit the number of nodes expanded but still include those nodes that lead to the closest goal node. These heuristic techniques work by extracting infor- mation from the node and using it to determine the likelihood of being on the best path to a goal node. In this article we will be concerned with two types of heuristic tech- niques, admissible and nonadmissi- ble, and will experiment with them, using the BASIC program given in the first part of this article. (See "Tree Searching, Part 1: Basic Techniques," September 1981 BYTE, page 72.) Admissible-Algorithm Theory One method of searching a prob- lem tree is to order the list of open nodes by giving each node a numeric value and having the program choose the node with the lowest value for im- mediate expansion (an approach used in the SEARCH program in Part 1 of this article). Although this method can be used with any ordering that produces a successful search, a mild restriction on the nature of the order- ing produces a search algorithm that is guaranteed to find both a goal node and the optimal goal node — that is, the goal node that has the smallest cosf associated with it. This algo- rithm is called admissible. Refer to the partial tree shown in figure 1. (Here we will assume that the paths from S to n and from n to G are the shortest paths available.) Define g(n) as the shortest path from the start node S to node n; define h(n) as the shortest path from n to the closest goal node G. Then fln) = g(n) + h(n) is the cost of the optimal path to a goal node, given that the solution must go through node n. (If no such path exists, the cost is said to be unde- fined; with a program, the appropri- ate cost variable would be assigned an arbitrarily large number.) Now that we have the three func- tions /, g, and h, let us define three more functions, f (pronounced "f-hat"), g, and n, that, for a given situation, are estimates of the theoret- ical (and often unknown) minimal functions /, g, and h. In other words, /(n) is the estimated cost of the minimal path from S through n to G; g(n) is the estimated cost of the min- imal path from S to n (remember that when we have a path from S to n, it may not be the minimal path); and h(n) is the estimated cost of the minimal path from n to the closest goal node (which, at the time, is unknown). Simply stated without proof, the condition necessary for an algorithm producing h(n) to be admissible is that the ordering algorithm must pro- duce a numeric value that is guaran- teed, for every node n, to be less than or equal to the cost of the minimal path from n to the closest G. In sym- bols, this condition is the following: fM < /(n) If this condition is always true, then the ordering algorithm is admissible. (Readers interested in the proof can consult Problem Solving Methods in Artificial Intelligence, by Nils J Nilsson, 1971, pages 59 to 65.) Let us consider two cases of algo- rithms that are known to be admissi- ble. The first algorithm is that for a breadth-first search, which offers no information about the relative value of any node — that is, /r(n) = 0. (Note: the computer program in Part 1 used a different value for the n(n) variable Dl for demonstration purposes; how- ever, Dl = will give the same result.) Since zero is a lower bound on the minimal cost of any node, goal or nongoal (ie: 064THENN = Q-55: GOTO 9935 IFQ< =57THENN = Q-48 P1=R9*(I-1) + J REM —PI IS VALUE OF CORRECT TILE IN POSITION 1,1 IFN <> PI THENR1=R1 + 1 NEXT J: NEXT I RETURN value of puzzle (R1) = for each row I for each column J Q = ASCII value of row I, column J of puzzle E$ if piece not "." (Q=*46) convert piece Q to "true" value N PI = value of piece in row I, column J in goal node li current piece ^ value of same position in goal node : new value of puzzle = old value of puzzle + 1 endli endii end of for-loop I end of for-loop I return guaranteed to expand an equal or smaller number of nodes than A (again, see Nilsson, mentioned above). One more point has to do with a difference between tree and graph searches. The cost of a node about to be expanded, g(n), is equal to its theo- retical minimal cost g(n) in a tree because, by definition, there is only one path from the root node S to any other node. Since a graph may con- tain more than one path from S to n, the cost of a path found may not be the minimal one and so must be la- beled g(n). However, an admissible 198 October 1981 © BYTE Publications Inc algorithm that does not change its nature during the graph search will produce only optimal paths to ex- panded nodes, so that g(n) = g(n); the formal name for the condition that guarantees this result is the con- sistency assumption. All admissible algorithms used in this article satisfy this assumption. Some Examples The exhaustive searches examined in Part 1 of this article (breadth-first, depth-first, and limited depth-first algorithms) are all admissible and ex- hibit one extreme in the information Circle 238 on inquiry card. —+ | g [TTp [ijjjjj 33 I . . F i \ f ill];# tl n l L3 Kr i ■ J 4 1 » j J 1 Jj J J §J 1 j M 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-IK 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). GREAT SOFTWARE: | 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 | i 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. •■ — -^^ ism Circle 238 on inquiry card. • -». i i i'i,r-M iiUl: spectrum: they contribute no heur- istic information to the solution of the problem, so h\(n) = 0. The other ex- treme, that of perfect information (or n(n) = h(n)), is certainly interesting in theory, but impossible to implement in most cases. We will examine two admissible algorithms that fall be- tween these two extremes. Remember that we are seeking to define a function /(n) that is a lower bound on the minimal number of moves from node n to a goal node G. One plausible algorithm (see listing 1) is the following: f(n) equals the num- ber of squares that are not in the same position they are in the goal node G. (In the 8- and 15-puzzles used for illu- stration, there is only one goal node G.) The informed reasoning used to prove that this is a lower bound on the actual cost to the goal node is the following: if a square (not including the "space" square) is out of place, it will take at least one move, if not more, to put it in place; thus, the ft(n) generated by this "out-of-place" algo- rithm will always be less than or equal to the cost of a solution h(n). Table la shows the puzzles used in this article; table lb shows the results of applying both the breadth-first and the "out-of-place" algorithms to these puzzles. A comparison of the first seven lines of table lb prompts sev- eral useful observations. First, the breadth-first search is considerably more inefficient than the "out-of- place" algorithm; the computer I used, which has 20 K bytes of work- space and will hold 52 nodes before running out of memory, can complete only a four-move puzzle with the first method, but can complete some twelve-move puzzles with the second method before running out of mem- ory. Second, both algorithms show a roughly linear increase in the number (la) Row Column 1 Column 3 1 2 3 1 4 7 5 6 8 1 2 3 1 2 3 2 4 6 4 5 6 7 5 8 7 8 1 2 3 1 2 3 3 4 6 5 6 7 5 8 4 7 8 1 2 3 1 2 3 4 7 4 6 5 . 6 5 8 4 7 8 1 2 3 1 2 3 5 7 4 6 5 7 6 5 8 4 . 8 1 2 3 1 2 3 6 7 4 6 5 7 6 5 8 4 8 . 1 2 3 1 2 3 7 7 4 5 7 . 5 8 6 4 8 6 1 2 3 1 2 3 8 7 4 5 . 7 5 8 6 4 8 6 1 3 1 3 . 10 7 2 4 5 2 7 5 8 6 4 8 6 7 1 3 1 3 7 12 2 4 5 . 2 5 8 6 4 8 6 7 1 3 1 3 7 14 2 8 4 5 8 2 5 6 4 6 7 1 3 7 16 2 8 3 1 8 2 5 6 4 5 4 6 7 8 1 3 8 7 18 2 3 1 . 2 5 6 4 5 4 6 (lb) Puzzle (1,1) (2,1) (2,3) (3,1) (3,3) (4,1) (4,3) (5,1) (5,3) (6,1) (6,3) (7,1) (7,3) (8,1) (8,3) (10,1) (10,3) (12,1) (12,3) Table 1: Comparison of breadth-first and "out-of-place" algorithms on selected problems. The puzzles in table la can be identified by a pair of numbers giving the row and column in which the puzzle is found. The row number gives the number of moves to solution; puzzles in the same column are subsets of the same problem. (These match puzzles listed in Part 1 of this article.) Table lb gives a comparison of breadth-first versus "out-of-place" algorithms for selected problems. The relation- ship between nodes open and nodes closed is: total = nodes open + nodes closed. COM* indicates that the computer's limit of about 50 nodes was exceeded. The parentheses around the 29 in line (5,1) denote that the breadth-first search ran out of room after expanding 29 nodes.) The "out-of-place" algorithm 's ability to solve more complex problems using the same amount of memory indicates greater power when compared to the breadth-first search. Nodes Open Breadth-First Nodes Closed Total Nodes Open "Out-of-Place" Nodes Closed Total 3 1 4 3 1 4 7 4 4 3 11 7 5 3 2 2 7 5 9 10 8 9 17 19 6 4 3 3 9 7 12 16 11 21 23 37 6 6 4 4 10 10 *OM* (29) *OM* *OM* 9 7 7 6 16 13 *OM* *OM* 12 13 9 13 21 26 *OM* *OM* 13 17 10 17 23 34 *OM* *OM* 14 25 11 26 25 51 *OM* *OM* 14 13 27 *OM* *OM* *OM* 20 20 40 *OM* 200 October 1981 © BYTE Publications Inc Circle 343 on inquiry card. Imagine, a true business alternative to VisiCalC and d BAS1 11 If s Here! In addition to the basic features found in other financial modeling systems LOGICALC provides the following: • Conditional expressions allowing "what if" processing together with relational operators (e.g.<,< = ,>,>=,=) 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. Only $490.00 Other Programs which interface to Quest and Logicalc are available now-' . ASSET, SPI's Accounting System ■ Medical Billing • Boutique Management System • School Management System ware 5482 COMPLEX STREET, SUITE 115 SAN DIEGO, CA 92123 PHONE (714) 268-4346 3, ucts Internationa l Visicalc is a registered trademark of Personal Software, UCSD Pascal is a registered trademark of the Regents, University of California. of nodes expanded within a certain range (levels 1-3 and 1-4, respective- ly), with the ratio of nodes expanded to the theoretically minimum num- ber of nodes to be expanded being roughly 3:1 and 1:1, respectively. Third, this ratio progressively in- creases outside each algorithm's range of linearity; this implies that the max- imum efficiency available from each algorithm decreases with the com- plexity of the puzzle— in other words, as the puzzle becomes more involved, the fi that is calculated drifts more and more from the theoretical h to- ward zero (ie: no information), and the algorithm breaks down (ie: ap- proaches an exhaustive search). A final observation is that the (n,l) puzzles seem easier to solve than the (n,3) puzzles. (Puzzles with the same last subscript are extensions of each other.) This trend is more obvious on comparison of the numbers in the "nodes closed" column in table lb (which is a measure of the difficulty of the problem in that it is related to the number of nodes expanded in the attempt to find a solution). Note also that the nonlinear rise of the "nodes closed" column is greater for the (n,3) puzzles than for the («,1) puzzles. This suggests that the behavior of an algorithm outside the range of linear- ity described above cannot be ex- pressed by a simple nonlinear func- Listing 2: The minimum-distance algorithm. Listing 2a gives the algorithm in BASIC, to be inserted in the SEARCH program of Part 1; listing 2b is the structured pseudocode. (2a) 9885 REM —LISTING 2 9887 REM 9890 REM MINIMUM-DISTANCE ALGORITHM; ADMISSIBLE 9893 REM 9910 REM 9900 R1=0 9910 FOR I = 1 TO R9: FOR J = 1 TO R9 9915 Q = ASC (E$(I,J)) 9920 IF Q = 46 THEN 9960 9925 IF Q>64 THEN N = Q-55: GOTO 9935 9930 IFQ<=57THENN = Q-48 9935 I1=INT((N-1)/R9) + 1 9940 REM —GIVEN SQUARE N, 1<=N<=15, FIND 994 1 REM (1 1 , 1 1 ) = POSITION OF N IN SOLVED PUZZLE 9945 I1=N-R9*(I1-1) 9950 REM — H-HAT IS SUM OF DISTANCES EACH SQUARE 9951 REM IS FROM GOAL POSITION; "." SQUARE NOT COUNTED 9955 R1=R1+ABS(I-I1) + ABS(J-J1) 9960 NEXT J: NEXT I 9965 RETURN (2b) 9900 9910 9915 9922 9935 9945 9955 9960 9965 value of puzzle (R1) = for each row I for each column J Q = ASCII value of row I, column I of puzzle E$ if piece not "." (Q^46) convert piece Q to "true" value N II =row § of piece in goal node Jl = column # of piece in goal node new value of puzzle = old value of puzzle + (difference of row values) + (difference of column values) endlf and of for-loop I end of for-loop I return tion, but only through a range of values that is highly sensitive to the individual puzzle under considera- tion. Minimum-Distance Algorithm The minimum-distance algorithm described here is the most efficient I have worked with — one that I have not been able to improve even when dropping the admissibility constraint. The algorithm (see listing 2) may be described as follows: for each piece in the puzzle (not including the "." piece), the value of the algorithm is increased by the number of rows plus the number of columns the piece is away from its final position in the goal state (ignoring any pieces in the way). For example, if the "1" piece is in row 2, column 3, then that piece is (2 — 1) + (3 — 1) = 3 squares away from its final goal position (row 1, column 1) and so adds 3 to the /value of that puzzle. Table 2 shows the value of puzzle (6,1) using this algorithm. Because the figure given to each piece is a conservative estimate of how many moves it will take to get that piece into place (it will be more if the other pieces get in the way), the f calculated as the sum of these values must be a lower bound on the true cost / associated with a given puzzle; therefore, this minimum-distance al- gorithm is admissible. Table 3 shows the result of using this algorithm on the puzzles in Table la, with comparison values given for the "out-of -place" algorithm. The results are far more pleasing than those of any algorithm that we have looked at — in fact, you might say this is the first algorithm of any practical use. The algorithm, like the "out-of- place" algorithm, is "perfect" through order 4 (although a counterexample may exist), but notice that the non- linear increase in the "nodes closed" column is more gradual and more nearly straight-lined for the mini- mum-distance algorithm than it is for the "out-of-place" algorithm. Al- though the minimum-distance algo- rithm does drift from the theoretical h value toward zero as the problem complexity increases, it does so less severely than the "out-of-place" algo- 202 October 1981 © BYTE Publications Inc Circle 78 on inquiry card. an Unheard of Price for the CPU/MEMORY You've Heard So Much About CPU 8085/88 8085/88 has il all. Speed? Both processors run al is qualified under the am run al 6 MHz, making CPU 8085/88 the fastest S-100 CPU in the business, . .bar none. Power? No other existing product executes both 8 and Id ision of CPU 8085/88. Reliability? Whili ire siill struggling to catch up, wi ng CPU 8085/88 for well ovi li iftware house: CPU 8085/88 because i RAM 17 con unbeatable combi sumption. CompuPro's innovative CMOS i chniques restrict current consumption to less than 2 U id, while maintaining an operating speed (no wait states) ii l'6MH/.. And. unlike sonic hoards (I provide only 23 address lines plus phantom or 24 ad ithoul phantom, RAM 17 gives you 2-1 addi plus phantom so that you can lake lull advantage of tin ig capability. irds. which conform fully to all i and are backed by a I year limited w normally list for SI ptional But to introduce you to the benefits of 8/16 bit operation on the S-100 bus, we are now offering both boards for an amazing $1220! (For CSC* boards, add $200.) hassles, thanks to our equalled record for reliability; and now, save money as weU. We don't just give you a competitive edge: We do it at a price you can afford. Call (415) 562-0636 for tin if'theautl ompuPro sale: iu, or for placing factor direct VISA 'Mastercard orders (prio division OAKLAND AIRPORT, CA 94614 (415) 5620636 ELECTRONICS ■ rithm; this is because the minimum- distance algorithm is more informed than the other algorithm. Its better in- formation is expressed in the gener- ation of fewer erroneous nodes dur- ing the solution of a puzzle. One aspect of table 3 is, however, misleading: the order-12, -14, and -16 puzzles show identical "nodes closed" values for two sets of puzzles that were earlier said to be unequal in complexity, which might suggest that the algorithm somehow minimizes the scatter effect caused by the dif- ferent complexities of puzzles of the same order postulated earlier. This, however, is not the case: solution by the minimum-distance algorithm of a number of randomly selected order-12 puzzles reassured me that no such minimizing effect was taking place; the values in "nodes closed" for these puzzles were 12, 13, 14, 14, 18, 20, and >20 (this last value was the result of the computer running out of memory). Although the minimum-distance algorithm is usually reliable, there is at least one type of problem that renders it virtually useless. An exam- ple of one such puzzle is given in figure 2, and an analysis of the algo- rithm's inability to solve it gives us a clue toward the construction of a more powerful admissible algorithm. Although the algorithm gives this puzzle a value of four, I have not been able to find a solution (by hand) of under sixteen moves, and the first fifty nodes of the tree, generated by this algorithm before my computer ran out of memory, show no ap- preciable gain toward the goal node. In fact, after generating nodes 37 through 40, at level 10 (see figure 2), the algorithm abandons them to ex- pand nodes of levels 2 through 4, clearly indicating that the algorithm has found the nodes on levels 6 through 10 to be unpromising. Al- though I have failed to find an admis- sible algorithm that performs better with this puzzle, I am sure that such an algorithm will have to take into account the extra number of moves that pairs of pieces in each other's "home" positions (here, the "5" and "6" and the "7" and "8") generate. Nonadmissible Algorithms: Theory Comparatively little is known about the performance of nonadmis- sible algorithms — that is, algorithms whose returned value r\ is not neces- sarily a lower bound on the true cost of a solution h. This is because no common feature (in terms of the algo- rithm's goal-finding performance) (a) Puzzle 1 2 3 7 4 6 5 8 . (b) ' (C) Goal Node Breakdown of Moves 1 2 3 pieces 1,2,3,6,8 in place =0 4 5 6 piece 4 is rows, 1 column off = 1 7 8 piece 5 is 1 row, 1 column off = 2 piece 7 is 1 row, columns off =J_ f value of puzzle = 4 Table 2: Evaluation of puzzle (6,1) by the minimum-distance algorithm. This algorithm sums the distance each piece is from its final position (the goal node) to ar- rive at an estimate of the number of moves to solution. Column (a) is the problem posed in puzzle (6,1); column (b) is the goal node; column (c) gives each piece's con- tribution to the total number of moves to solve the puzzle (the ". " piece, which represents the blank, is not included in the evaluation). Puzzle "Out-of-Place" Nodes Closed Total Minimum Nodes Closed Distance Total (1,1) 1 4 1 4 (2,1) (2,3) 2 2 7 5 2 2 7 5 (3,1) (3,3) 3 3 9 7 3 3 9 7 (4,1) (4,3) 4 4 10 10 4 4 10 10 (5,1) (5,3) 7 6 16 13 6 5 13 12 (6,1) (6,3) 9 13 21 26 7 7 15 15 (7,1) (7,3) 10 17 23 34 7 7 15 15 (8,1) (8,3) 11 26 25 51 8 10 18 21 (10,1) (10,3) 13 27 *OM* 10 12 21 24 (12,1) (12,3) 20 40 *OM* 14 14 29 29 (14,1) (14,3) *OM* *OM* 16 16 32 32 (16,1) (16,3) *OM* *OM* 18 18 35 35 (18,1) (18,3) *OM* *OM* 20 40 *OM* Table 3: Comparison algorithm for selected of the "out- problems. of -place" algorithm with the minimum-distance 204 October 1981 © BYTE Publications Inc OKIDATA ^ Annni jnrinn thp ffO-rnli imn Mnrfpl fl?A anrf Announcing the 80-column Model 82A and 136-column 83A quality Microline printers. Quiet. Long lasting. Exceptional print quality. • 120 cps • 9-pin head for true descenders (one year warranty) • Bidirectional logic seeking Graphics • Parallel and serial interfaces— standard • Friction, pin head, and tractor feeds All points addressable graphics • And much more From Okidata. The company that stands out. Apart from the rest. For more information on Okidata s incomparable line of printers contact us at 1 1 1 Gaither Drive, Mt. Laurel, NJ 08054, (609) 235-2600. Also available through authorized dealers. Making small printers for people who think big. Okidata is a subsidiary of Oki Electric industry Company Ltd. that applies to nonadmissible algo- rithms as a class has been found: a given nonadmissible algorithm, com- pared to a good admissible one, may perform anywhere in the range of consistently better to consistently worse. In fact, it is possible to devise a nonadmissible algorithm that is worse than a "no-information" breadth-first search. In any case, two characteristics of a nonadmissible algorithm follow from its failure to meet the conditions of admissibility. One is that it is not guaranteed to find a goal node; the other is that a goal node found by a Listing 3: Modification needed to derive the algorithm NA-I (nonadmissible algorithm 1). This modification to the BASIC code in listing 2 delivers misinfor- mation to the SEARCH program, render- ing it incapable of solving even the simplest puzzles. 9890 REM — LISTING 3— 9891 REM 9894 REM ALGORITHM NA-I; NONADMISSIBLE 9896 REM INSTRUCTIONS: ADD THIS CODE TO LISTING 2 9897 REM (THE MINIMUM-DISTANCE ALGORITHM) 9898 REM 9899 REM 9961 REM 9962 L1 = 100-R1 1 ] nonadmissible algorithm may not be an optimal goal node (ie: there may exist another, shorter, path to the same node). These are serious but not insurmountable defects when consid- ered in conjunction with a real-work problem because, in the first place, a given algorithm will not be used unless it has a history of solving similar problems. (Nonadmissible al- gorithms are devised by a process of trial and error, and the only measure of a given algorithm's effectiveness is its ability to produce solutions to problems of a similar complexity whose solutions are already known.) In the second place, the production of an optimal node may not be as im- portant as the production of some goal node, optimal or otherwise. (Other methods may be used in conjunction with or in place of non- admissible algorithms to produce a goal node. All these methods sacrifice the guarantee of finding a goal node by economizing on the number of in- termediate nodes saved. Successors can be pruned from memory either when they are generated or when memory is filled; or, in a completely different approach, a depth-first search of a given maximum depth sweeps across the tree, storing only the best node encountered thus far.) LEVEL Listing 4: Modification needed to derive the algorithm NA-II (nonadmissible algorithm 2). This modification to the BASIC code in listing 2 consistently per- forms as well as, or better than, the minimum-distance algorithm. Since the algorithm is nonadmissible, the perfor- mance is not guaranteed. 9890 REM LISTING 4 9891 REM 9892 REM ALGORITHM NA - II; NONADMISSIBLE 9895 REM 9896 REM INSTRUCTIONS: ADD THIS CODE TO LISTING 2 9898 REM 9899 REM 9954 REM 9955 I9 = ABS(I-I1):J9 = ABS (I-J1):R1=R1 + I9 + J9 9957 IFI9>0 AND I9>0 THEN R1=R1 + 1 Some Examples An example of a bad nonadmissible algorithm is easy to generate: simply subtract the value calculated by the minimum-distance algorithm (which is a good algorithm) from an ar- bitrarily large number. This results in an algorithm that assigns a high num- ber to a node close to a goal node (making it one of the last to be ex- panded) and a lower number to a node that is further away from a goal node; see algorithm NA-I, given in listing 3. The algorithm, when run with a problem of order 2 or greater, will fill up almost any computer's memory without producing a solu- tion because this algorithm will ex- pand a "good" node only after it has expanded every worse node in the problem tree. At fifty nodes (my computer's limit) on problem (2,1), the algorithm was much further away from a solution than when it started. On the other hand, an example of a good nonadmissible algorithm — in this case, one that performs better than the minimum-distance algo- rithm — is much harder to find. In fact, a considerable amount of work in several directions yielded only one positive result. The algorithm, la- beled NA-II (see listing 4), is an at- tempt to correct the minimum-dis- 123© 4 6 5 8 7.4 LEVEL 1 LEVEL 2 1 2 3 (?) 46. 8 7 5 5 123© 4 6 5 8.75 12 .© 4 6 3 8 7 5 6 12 30 4 . 6 8 7 5 / I \ O THROUGH 36 LEVEL 10 1 2 3 7 . 5 4 6 8 (37) 6 12 3 12. 7 6 5 7 8 3 .48 456 (38) 6 (39) 6 1 2 3 7 . 8 4 5 6 © 6 Figure 2: A sample problem that is poorly handled by the minimum-distance algorithm. Although the algorithm predicted four moves to solve the puzzle, the computer ran out of memory before solving it. The circled number by each node indicates the order in which the nodes were generated; the numbers not circled are the f values predicted by the algorithm. 206 October 1981 © BYTE Publications Inc Pure Computing Power The MicroFrame® is Pure Power for comput- ing. It is the industry standard for high quality, reliable S-100 mainframes. TEI manufactures each MicroFrame® with great care. They deliver pure regulated power at the proper level, improving the reliability of your computer. Typically, the output voltages remain virtually constant, even when the pow- er line voltage varies widely. The MicroFrame® will never notice a brown-out . . .and it provides 100 db noise rejection, protecting your com- puterfrom power line voltage spikes and noise. Complies with l-EEE S-100. The combination of the lowest noise bus, a regulated power system and a rugged chassis produces a MicroFrame® without equal. Distributor and OEM Inquiries Invited For more information, call Rick Barnes at (713) 738-2300 MicroFrame Circle 362 on inquiry card. 5075 S. LOOP EAST, HOUSTON, TX. 77033 (713)738-2300 TWX. 910-881-3639 Figure 3: Expansion of puzzle (5,1) by the minimum-distance algorithm (figure 3a) and NA-I1 (figure 3b). The numbers inside each node denote the order in which they were generated; the numbers not circled are the estimated f values generated by each algorithm. In this case, the nonadmissible algorithm performs slightly better. Glossary Closed node: a node whose successors have already been calculated. Cost (or value): a numeric value associated with the shortest path from the start node S to the current node n; the cost of the first goal node found will have some meaning within the problem being solved. Depth: the number of nodes a given node is away from the start node S. Expand: to calculate all legal successors of the current node. Goal node: any node satisfying the set of conditions defined as the desired final state of the problem. Node: an element of a tree used to represent a given state of the problem. Open node: a node that has not yet been chosen for expansion. Ordering algorithm: a formula or procedure generating an ordering value that represents the node's relative likelihood of being chosen for expansion; the node with the lowest ordering value will be expanded next. Problem tree (or tree,): a graphic representation of the problem space (or state space) using dots to represent states, and lines connecting dots to represent the transition from one state to the next; all nodes must be generated from one start node S that represents the beginning state of the problem. State: a specific set of values for the variables that define the problem. State-space representation: a breakdown of the problem into the following com- ponents: the state variables that can describe the problem in any of its possible con- figurations; the operators that generate the next set of values (or states) for the prob- lem given the current set (or state); a beginning state S; and a description (not necessarily exact) of the goal node to be found. Successors: those nodes representing all valid "next states" for a given node (or state) as defined by the operators of the state-space representation; the node generating the successor nodes is called the parent node. tance algorithm for harder problems by adding 1 to the original value for each node that is at least one row and one column away from its position in the goal node. Only two puzzles out of the entire set did better than the minimum-distance algorithm (see table 2), but the rest matched it, mak- ing NA-II a slightly better algorithm. Figures 3a and 3b show the expan- sion of problem (5,1) by the mini- mum-distance and NA-II algorithms, respectively, as well as the order in which they were expanded and the calculated r\ estimate by each algo- rithm. Note that NA-II made the right decision in not expanding node 3, whereas the minimum distance algo- rithm underestimated the cost of node 3 (whose true cost is 5) and unneces- sarily evaluated it. So we see that NA-II, at least in this case, is better than the minimum-distance algorithm because it is less likely to under- estimate the value of a node (some- thing that an admissible algorithm tends to do). As an extension of that, however, we confirm that this algo- rithm is nonadmissible because it sometimes overestimates the value of a node (something that an admissible algorithm cannot do). An example of an overestimated node is node 2 in figure 3b; its true value is 6, but it was estimated at 8 by algorithm NA-II. Observations and Questions • The word "cost," up to this point, has only been used to refer to the numeric value associated with the shortest path from the node to the closest goal node. But it has two new and significant meanings when refer- ring to the cost of a solution. One index of the cost of a solution is the number of nodes closed (ie: ex- panded) by the algorithm — this is the measure we have looked at when comparing the efficiency of two algo- rithms. But another factor must be considered when either speed or money (as expressed in computer time) is a factor. That factor is the complexity of the evaluating algo- rithm giving r\. A more-informed al- gorithm may generate fewer nodes but may take considerably more com- puter time to do it. If speed or money 208 October 1981 © BYTE Publications Inc Circle 353 on inquiry card. octf* FOR THE FIRST TIME A BOOK THAT TELLS ALL THE DOS AND DON' FOR COMPUTER USERS... SIMPLE, EASY-TO-READ FULLY ILLUSTRATED DID YOU KNOW THAT... • Most computers require two ground lines— a neutral one and a safety ground? •A telephone ringing on your disk drive may wipe out your diskettes? • Disks and diskettes must equalize temperature prior to use? • Most computer breakdowns are due to faulty diskette handling? •A radio transmitter will disrupt computer operation? That computer you're using represents a lot of money, a lot of time— both that spent in purchasing just the right one and the time it will save doing the tasks it was made for— and a big investment in your future. DON'T (Or How to Care For Your Computer), by Rodnay Zaks, is the first book exclusively dedicated to the care, preservation and correct operation of a small computer sys- tem: the computer itself, the CRT terminal, the printer, the magnetic disks and tapes- even the computer room. PLEASE SEND ME □ DON'T, (Or How to Care For Your Computer) by Rodnay Zaks 200 pp., 100 lllustr., 6 " x 9" Ref. C400, $1 1 .95 MAIL TO: SYBEX DEPT. 8101 . 2344 SIXTH STREET NAME □ SEND ME YOUR FREE CATALOG BERKELEY, JfcX CA 94710 PHONE ORDERS: INSIDE CA 415/848-8233 OUTSIDE CA TOLL FREE 800-227-2346 ADDRESS. CITY STATE. ZIP. ADDD$1.50/bookUPS Total Amt. Enclosed EXP. DATE D 75*/book 4th class mall or G $8/book overseas airmail (CA add tax) OR CHARGE MY D VISA D MC QAM EX. CARD NO SIGNATURE becomes a critical factor before the amount of available memory does, it is possible that the user will decide to use the less-informed algorithm. • (Question 1) How does a heuristic algorithm assist the tree-searching process? (See the textbox "Answers," which appears on page 212.) • (Question 2) In the description of the minimum-distance algorithm, the "space" square was not included in the summing of "distances from home place." If this were done, would the algorithm be more powerful? Less? Would it still be admissible? • Is the tree in figure 4 possible if the algorithm is admissible? Yes, but only if the algorithm is mistaken about the estimated value of one of the open Figure 4: A hypothetical partially ex- panded tree, used for visualizing ques- tions posed in the text. nodes (4, 5, 7, and 8). For example, if the optimal goal node is three nodes away from node 4, then the suc- cessors of node 8 (or, at the latest, their successors) must all come up with fi values greater than three so that node 4 will be expanded next. An admissible algorithm will always reach the closest goal node first. • Is this tree possible if the algorithm is nonadmissible? Yes, a nonadmissi- ble algorithm puts no restrictions on the validity of this tree. • (Question 3) Remember the mean- ing of /, g, and /z:f(n) is the estimated distance from start node S through node n to the closest goal node; g(n) and /i(n) are the estimated distances from S to n and from n to the same goal node, respectively. Isn't the tree in figure 4 a good argument for using /instead of h~ to order the expansion of nodes7 • (Question 4) The minimum- distance algorithm has been the best algorithm we have seen for the 8- and 15-puzzle. Try adding the line 9963 R1 = R1 * F9 to the /i-calculating subroutine at 9900. This will increase the fi value to nodes that were formerly underesti- mated by the admissible algorithm. The algorithm will now be nonadmis- sible, but will it also be more "pierc- ing"? Try F9 = 1.01, 1.1, 1.5 (and other values), and test the new algo- rithm on puzzles of eight moves or more. • (Question 5) Why is the nonadmis- sible algorithm NA-I a worse algo- rithm than the breadth-first search7 Isn't an exhaustive search, which uses no heuristic information, the most in- efficient search possible? • As mentioned before, certain modi- fications to the method of searching may be desirable over the use of a nonadmissible algorithm. In certain situations, the judicious application of one of these methods may be more productive in finding a goal node than the "pure" methods described in this article. Conclusions This article has dealt with the searching of state-space trees and graphs. Other kinds of trees (AND/ OR trees and game trees, to name two) are used in theorem proving and game playing, and a number of other questions can be raised. For example, how can we evaluate nonadmissible algorithms? What modifications should we make when we have a limited amount of mem- ory? While I have discovered that x amount of artificial intelligence in a program requires at least "x cubed" amount of work, if not more, I hope that this article will prompt more people to look into (and write about) this interesting branch of artificial intelligence.! ACT-85 THE CP/M* TERMINAL WITH BUILT IN LOCAL NETWORK *CPM is a registered trademark of Digital Research 210 October 1981 © BYTE Publications lnc NETWORK access to all printers and disks from any terminal CP/M* runs in each terminal single twisted shielded pair up to 1500 feet 880,000 baud SDLC protocol 32 terminals per line MONITOR 12" monitor 24 lines of 80 characters reverse video highlighting blinking underlining separate keyboard 38,400 baud effective speed MASS STORAGE COMPUTER INTRODUCTORY PRICING PLAIN TERMINAL $1390.00 WITH 1 SA400 $1890.00 WITH 1 SA400 & 1 ST506 $4400.00 • to 4 drives < in each < terminal: FLOPPIES ', SHUGART 400, 410,450 460,801,851 WINCHESTERS SEAGATE ST506 ST512 8085 cpu 10 mhz crystal 64 K ram two RS-232 ports (autocontrolB P\ INCORPOKAtlD l^^^B ■ 11744 Westline Iml. Dr. I St. Louis. MO 63141 J 13141432-1313 ^f Circle 36 on Inquiry card. 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. • 64K 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 64KRAM 639.99 679.99 0M0 Circle 350 on inquiry card. static memory systems 15 So. Van Buren Ave. Suite 209 Freeport, Illinois 61032 (815) 235-8713 VISA BYTE October 1981 211 Answers 1. A heuristic algorithm assists the tree-searching process using informa- tion in the current state (that is, in the current node, without looking at its relationship to any other node but the goal node) to assess the relative likelihood of that node leading to a solution. More likely nodes receive a lower value than less likely nodes, so the controlling program, in choosing to expand next the node with the lowest ordering value, is choosing the node most likely to lead to the shortest solution. 2. This variation of the minimum- distance algorithm is slightly less powerful, primarily because it is no longer admissible. The puzzle 12 3 4 5 6 7 . 8 is a simple counterexample. Since both the ". " piece and the "8" piece are one square away from their positions in the goal state, this algorithm would return the value 2. However, since the true solution value is 1, this one counterex- ample is enough to show that the algo- rithm is nonadmissible. 3. If the algorithm used is admissible, the use of fi guarantees finding the closest goal node — this is mathemati- cally unarguable. But if the algorithm is nonadmissible and, at the same time, relatively accurate, the use of f(n) = g(n) + (i(n) may be a good idea indeed. If the esti- mate fi costs in figure 4 are accurate relative to each other, then f(node 4) = 1 + ft(node 4) =1+3=4 f(node 8) = 3 + h~(node 8) =3+2=5 may rightly cause node 4 to be ex- panded first. 4. The results for this new algorithm will be identical to those of the mini- mum-distance algorithm, even though the new algorithm may be nonadmissi- ble. Multiplying the results by a con- stant will change the values of the nodes but not the ordering of the nodes to each other. On the other hand, add- ing 9963 if Rl > F8 THEN R1=R1+F9 9963 IF RKF8 THEN Rl=Rl +F9 will change the relationship of the nodes to each other. Experiment with these for various values of F8 and F9; a suggested starting value for F8 is 4. 5. No. Misinformation is worse than no information at all, and that is what NA-I is giving. In assigning high values to nodes that should be low, and vice versa, this algorithm is forcing the driving program to always expand the least promising node first. 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 if3 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 1 6K 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 host 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 modified ROMPACK. CBUG ROM Price: $39.95 LEARN 68OS! 6809 ASSEMBLY LANGUAGE PROGRAMMING, by Lance Leventhal, contains the most comprehen- sive reference material available for programming your Color Computer. Price: $16.95 THE 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 GOOD STUFF! W©\^^ P.O. BOX 1110 DEL MAR, CA 92014 714-942-2400 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 212 October 1981 © BYTE Publications Inc Circle 229 on inquiry card. T/Maker H: if does a number on VisiCalc ! VisiCalc is a fine aid for the computation of numerical problems. But it does have two major limitations: it is available only for a small number of systems, and its use is limited strictly to numbers, not words. To overcome these substantial limitations, Lifeboat Associates intro- duces T/Maker II. Unlike VisiCalc, T/Maker II is designed to run on most small business computers with CP/M® or similar operat- ing systems and a video terminal with cursor addressing capabilities. And soon there will be T/Maker II versions available for UNIX,™ RT-11™ and other systems. Works with words as well as numbers. Like VisiCalc, T/Maker II reduces the manual tasks involved in comput- ing and calculating financial documents. But since most business problems and reports involve words as well as numbers, T/Maker II also functions as a full-screen text editor for word processing. T/Maker II is the most advanced aid for the analysis and presentation of numerical data and text material. In a matter of minutes, an entire document— including all edited text, all figures and all calculations— can be created, reviewed on your screen and reported in printed form. T/Maker II turns your small business computer into a powerful, sophisticated and convenient tool. A tool that will save you money, time and energy and eliminate the need for costly time-sharing. With T/Maker II you can easily perform an unlimited number of analytical and reporting tasks which integrate numerical and text processing. You'll find T/Maker II per- fect for such things as: • Financial Statements • Statistics • Profitability Reports • Revenue and Expense Analyses • Portfolio Evaluations Price Lists Rate Structures Expense Accounts Cash Flow Projections Checking Account Reconciliations rows and columns, define the relationships and T/Maker II will do the rest: it will perform the computations and for- matting necessary to prepare your document. When you're finished you can analyze your report on your screen or store it on a diskette. Or, you can have the report printed with presentation quality. And when any changes have to be made, simply enter the new figure or relationship and tell T/Maker II to adjust and recalculate all the new results. Editing capabilities. As a full-screen editor for word processing, T/Maker II handles text up to 255 characters wide. It includes features like text formatting and justifica- tion, centered titles, a text buffer for block moves and repeated inserts, global search and replace commands for printing your letters, reports and documents. Wide documents are supported by horizontal scrolling. Low cost. The cost of T/Maker II is only $275 plus shipping and handling. Dollars well spent once you consider all the time, energy and money it can save. T/Maker II is brought to you exclusively and supported completely by Lifeboat Associates, world's largest computer software publisher. For more information send us the coupon below. ' Mail coupon to: Lifeboat Associates, ' 1651 Third Ave., NY, NY 10028. Or call (212) 860-0300 □ Please send me more information on T/Maker II. □ Please send me a free Lifeboat Catalog featuring over 200 programs, including integrated accounting and professional practice systems, office tools for bookkeepers and secre taries and sophisticated tools for pro- grammers. 2012 Name. Tille Company— Streel City State " lifeboat Associates 1 THE „ SOFTWARE SUPER- MARKET _Z,p_ T/Maker II is a trademark of P. Roizen. CP/M is a trademark of Digital Re- search, Inc. VisiCalc is a trademark of PersonalSoltware. Inc. UNIX isa trade- mark of Bell Laboratories. RT-11 is a trademark of Digital Equipment Corp. . . . and much, much more. Easy to learn and use. You don't have to be a program- mer to operate T/Maker H. Just follow T/Maker lis easily- understood and ordered instructions, set up your data in As an example of what T/Maker II can do, see the chart below. The operator entered only the data shown in boldface. T/Maker II calculated and reported all the other values. — Actual — Growth Total —Projected— 1978 1979 1980 Rate Average (000's) 1981 1982 * 1985 Item A 42,323 51,891 65,123 24.04 53,112 159.34 80,782 100,206 191,262 ItemB 45,671 46,128 49.088 3.67 46,962 140.89 50,891 52,761 58,791 Total 87,994 98,019 114,211 13.93 100,075 300.22 131,673 152,966 250,053 % Item 48.10 52.94 57.02 8.88 52.69 158.1 61.35 65.51 76.49 % Item 51.90 47.06 42.98 -9.00 47.31 141.9 38.65 34.49 23.51 Total 100.00 100.00 100.00 — 100.00 300.0 100.00 100.00 100.00 *Two intervening years not shown. Lifeboat Associates 1651 Third Ave. New Vork, N.Y. 10028 Tel: (212i 860-0300 Telex: 640693 (IBS0FT NYK) TWX: 710-581-2521 Lifeboat Inc. OKBIdg., 5F 1-2-8, Shiba-Daimon Minatc-ku, Tokyo 105, Japan Tel: 03-437-3901 Telex: 2423296 IL8JTY0) LIFEBOAT WORLDWIDE otters you tbe world's largest library of software Contact your nearest dealer or Lifeboat: Lifeboat Associates GmbH Intersoft GmbH PO Box 168. Aegeristrasse 35 Schlossgartenweg 5 Lifeboat Associates, Ltd. P0 Box 125 London WC2H9LU. England Tel: 01-836-9028 Telex: 893709 (LBS0FTG) CH 6340 Baar, Switzerland Tel: 042-31-2931 Telex- 865265 IMIC0 CH) D-80451smaning, W. Germany Tel: 089-966-444 Telex: 5213643 (IS0F0) Lifeboat Associates, SARL 10, Grande Rue Charles de Gaulle 92600 Asnieres, France Tel: 1-733-08-04 Telex: 250303 (PUBLIC X PARIS) lifeboat Associates Software with full support Circle 198 on inquiry card. BYTE October 1981 213 Drawing with UCSD Pascal and the Hiplot Plotter Dr James Stork Humbolt State University Humbolt Bay Project Areata CA 95521 In the course of my work for the University of California Sea Grant program, I have needed to plot oceanographic data on a Houston In- strument Hiplot plotter. Because my operating system is exclusively UCSD Pascal, I have developed routines using that system. I have been com- pletely satisfied with this system and would recommend it to anyone who intends to develop serious microcom- puter software beyond the level of simple computer games. The plotter software shown in the listings demonstrates at least two facilities of the UCSD Pascal system that I have found very useful. These are the ability to easily link an exter- nal machine-language subroutine to any Pascal program, and to store a library of often-used units and pro- cedures in the system's library. The "plotter" Unit The main unit, called "plotter", is About the Author Jim Stork, a research oceanographer, has been "a confirmed computer freak" since the beginning of the microprocessor industry. Recently he has been using a Z80-based microcomputer to do data acquisition and analysis for a computer modeling study of Humbolt Bay. given in listing 1. Those of you who are familiar with the Pascal language will notice that the normal program heading is absent, and in its place is the declaration "unit plotter;" rather Once a unit is written, compiled, and stored in the system library, it can be used by any Pascal program through the "uses" statement. than "program plotter;". This is to in- form the compiler that the procedures contained in this unit are meant to be linked to another "using" program and are not run alone. The interface section in listing 1 tells the linker that the following declarations (one type and six pro- cedures) may be used by the program that is linked to the unit. The im- plementation section variables and procedures are to be used solely in the implementation of the unit and are not to be available to the program using the unit. For example, the pro- cedure "plotstep" cannot be used by the program using the unit (since it is not named in the interface section of the unit), while the procedure "plot- line" can be used. Once a unit is written, compiled, and stored in the system library, it can be used by any Pascal program by including the statement "uses xxxxx;" after the program heading of the using program (assuming the unit is named "xxxxx" in the library; see the example in listing 2). When the main program is compiled and run, the linker will link the unit into the using program and will link the pro- cedure "plotstep" (which is external to "plotter") into the "plotter" unit. It is important to note here that "plotstep" is not linked to the "plot- ter" unit before it is stored in the system library. Both the unit and the external procedure "plotstep" are stored in the system library in their compiled and assembled versions, respectively. The linking of one to the other is done when the linker links them into the using program. (This little piece of knowledge is not men- tioned anywhere in the UCSD Pascal manual, and it caused me a con- siderable amount of grief until I called Softech to get myself back on the right path. The people at Softech have given me a great amount of help above and beyond the call of duty; although their documentation might be less than complete, their helpful at- titude with problem calls leaves nothing to be desired.) 214 October 1981 © BYTE Publications Inc Circle 209 on inquiry card. The One Printer Solution for the Two Printer Problem. HIGH SPEED DATA PROCESSING The new Dual-Mode 200 brings speed and un- compromising print quality to business and pro- fessional applications. Financial statements, inventory reports, la- bels and more are printed at data processing speeds from 165 cps to 250 cps. Fully adjustable tractors and a friction feed platen provide precise forms handling for pin- feed and single sheet paper. Complete "Dot Control" graphics is standard with resolution to 120 x 144 dots per inch. Interfacing is easy with both E.I. A. RS-232C serial and an ASCII parallel port. LETTER QUALITY WORD PROCESSING The Dual-Mode 200 also features letter per- fect print you will be proud to use for business letters and reports. Letter Mode speeds range from 42 cps to 60 cps. The standard Titan 10 pitch font is comple- mented by an array of optional fonts including Elite 12 pitch, italics, proportionally spaced, OCR-A, scientific and foreign character sets. Up to 12 font selections may be stored in the printer and interchanged while printing. The Dual-Mode 200 accepts standard daisy- wheel print commands for word processing sys- tem compatibility. It's the perfect solution for the two printer problem. The Dual-Mode 200 Printer for the one printer office. Call or write today for complete specifications 2301 Townsgate Road, Westlake Village, CA 91 361 , (805) 496-1 990 a subsidiary of Cornjoraoon rnalibu Electronics Corporation DOTS DO IT BETTER™ Circle 240 on inquiry card. 1981 micrbToi Income Tax Software Specialists Are you looking for the best tax package in the USA? Call microTaH 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 All levels operate under most CP/M formats including Apple. Compiled Microsoft Basic. State Income Tax Systems are available. ■ ana m Consider the advantages this State- of- the-Art package can bring to you: • Complete System • Versatility • Complete In-Office Security • Time Saving • Pre Year-end Tax Planning Call or write today for additional information. Circle for microTax. microTou Income Tax Software Specialists 22713 Ventura Blvd., Suite F Woodland Hills, CA 91364 (213) 704-7800 Available at most Professional Computer Retailers *CP/M is a TM of Digital Research 'Apple is a TM of Apple Computer, Inc. PLOTLINE (penpos:integer;xplot,yplot:real); This procedure draws a line. Its parameters are: penpos: Position of the pen during the plot. Initialize the plotter. This must be done before any plotting can be done. When penpos is the computer assumes that the current pen location is location (0,0) — namely, the lower left corner of the plotting bed. The subroutine will remind you to move the pen to that position before if actually sets these coordinates. When penpos = 0, xplot and yplot can be any values since they will be ig- nored. Pen up (ie: no line will be drawn). Pen down (ie: line will be drawn). x position (ie: left and right) in inches to which the pen will be moved. This may be any value from to 10 inches. y position (ie: forward and backward) in inches to which the pen will be moved. This may be any value from to 7 inches. penpos = 0: penpos = 1 penpos = 2 xplot yplot: PLOTSYMBOL (sym:integer;height:real); This procedure is used by procedure plotarray to draw one of five symbols to represent a data point. The symbol is drawn at the current pen position. Its parameters are: sym: Symbol definition. height: Height of symbol to be drawn. PLOTWHERE (var px,py:real); This procedure will place the variables px and py. current pen position coordinates in inches into the PLOTSTRING(px,py,height,theta:real; linerstring); This procedure plots a string of characters anywhere on the plot. Its parameters are: px,py: coordinates in inches of lower left corner of first character to be plotted, height: height of characters in inches. theta: angle with respect to the x axis at which the characters will be drawn (in degrees), line: a string variable containing the characters to be drawn (maximum of 80 characters) Subscripts and superscripts are supported by the software. In order to accomplish superscripting, enclose the letters to be superscripted in brackets (eg: this is a [superscript]). To create subscripts, use the brackets in reverse order (eg: this is a ]subscript[). If an up-arrow is specified, it will be drawn with a length as specified in the height parameter and pointing in the direction given in the theta parameter. in the direction given in the theta parameter. PLOTAXIS(px,py,leng, theta, m in, max, tic:real;name:string); This procedure draws an axis with tic marks and optionally labels each mark and writes the name of the axis. Its parameters are: px.py: the origin of the axis in inches. ieng: the length of the axis in inches. If leng is negative, no labeling of tic marks or axis will be done, theta: angle of the axis with respect to the x direction in degrees, min: value of tic mark at origin. max: value of outer end of axis (these two values are used to calculate the labels of the tic marks). tic: frequency of tic marks on axis (eg: if tic = 5, tic marks will occur every 5 units on the axis). If tic is negative, the labels will occur on the counter- clockwise side of the axis; otherwise, they will be on the clockwise side, name: string variable containing the name of the axis. PLOTARRAY (nopoints,freq,sym:integer;px,py,xmin,xmax,ymin,ymax,height, xlen,ylen:real;var x.yxoord); This procedure plots an array of x and y coordinates. Its parameters are: nopoints: Number of points to be plotted. Frequency of identifying symbol (0 = no symbols, 1 = every point, 2 = every other point, etc). If freq is negative, only the points will be plotted with no in- terconnecting lines. Identifier of symbol to be plotted at points: sym = 1:triangle. sym = 2:X. sym = 3:square. sym = 4: + . sym = 5:vertical line. Coordinates of origin of array plot. Minimum value of variables. Maximum value of variables. Height of symbols in inches. Size of area to be plotted. Variables of type coord (no more than 256 points) to be used in the plot; coord is a type that is predefined in the plotter subroutines and may be used in the 'var' section of your program. freq: sym: px,py: xmin,ymin: xmax.ymax: height: xlen.ylen x,y: Table 1: Summary of procedures and parameters from the Pascal unit "plotter". 216 October 19S1 © BYTE Publications Inc THE BACKBONE OF YOUR SYSTEM The Heath/Zenith 19 Smart Video Terminal gives you all the important professional features, all for under $700* You get the flexibility you need for high-speed data entry, editing, inquiry and transaction process- ing. It's designed to be the backbone of your system with heavy-duty features that withstand the rigors of daily use. Standard RS-232C interfacing makes the 19 com- patible with DEC VT-52 and most computer systems. And with the 19, you get the friendly advice and expert service that makes Heath/Zenith a strong partner for you. Pick the store nearest you from the list on page 1 7. And stop in today for a demonstration of the Heath/Zenith 1 9 Smart Video Terminal. 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 com- mercial computers. Write Heath Co., Dept. 334-824, Benton Harbor, Ml 49022. HEATH/ZENITH Your strong partner Completely ad- dressable blinking cursor lets you edit anywhere on screen. Reverse video by character lets you emphasize words, phrases or paragraphs. High resolution CRT gives you sharp, easy- to-read image, reduces eye-strain. Complete ASCII character set includ ing upper case, lower case with descenders, and special graphic symbols. 80 character by 24 line format, plus 25th line for operator mes- sages and prompts. Professional quality keyboard, standard type- writer layout, 72 keys, including 12 special function keys. Z-80 microprocessor- control makes the Heath/ Zenith 19 capable of multitude of high-speed functions. It's the only terminal with ROM source code readily available. Insert and delete character or line plus erase to end of line and end of screen make the 19 ideal for sophisticated editors like WORD- STAR. Cursor and special functions are accessible by keyboard or computer, using either DEC VT-52 or ANSI Standard protocols. Keypad in calculator format permits fast, easy entry of numeric data. "In kit form, F.O.B. Benton Harbor, Ml. Also available completely assembled at $995. Prices and specifications are subject to change without notice. CP-202B BYTE October 1981 217 MICROMAIL HAS THE RIGHT TERMINAL AT THE RIGHT PRICE. TELEVIDEO $599.00 .... $699.00 .... $749.00 $995.00 Model 912 C shown Q.UME Letter Quality NEW! SPRINT 9/45/1 $1919.00 DIABLO Letter Quality 630 $1959.00 1640 RO $2269.00 1640 KSR $2499.00 1650 RO $2599.00 1650 KSR $2599.00 AN APEX 8000 $829.00 DEC LA 34 DA $969.00 TELETYPE 43 PF (TTL) $975.00 ANADEX DP 9500 DP 9501 DP 9000 DP 9001 $1299.00 $1299.00 $1199.00 $1199.00 4t TEXAS INSTRUMENTS 810/2 $1,549.00 (includes upper/lower case option) 810/2 VFC/CP $ 1,679.00 (includes u/1 case, forms control & compressed print) SOROC iai2o iai35 IQ.140 . . $689.00 . . $849.00 $1099.00 C. ITOH DEC VT 100 . . Call For Price DEC LA 34AA . . 6 1050.00 NEC CIT 101 CaU For Price 5510 5530 . Call For Price . Call For Price r i i i CALL TOLL FREE (800) 854-6028 To Order: Send check to MICROMAIL, P.O. Box 32'97. Santa Ana. CA 92703. Personal or company checks require two weeks to clear. Visa /MasterCard accepted C.O.D. 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. cMJCRDMflJl.., P.O. Box 3297 Santa Ana, CA 92703 Phone: 714/731-4338 TWX: 910 595 1146 From this discussion you can see that the unit makes the following pro- cedures available to the using pro- gram: plotline, plotsymbol, plot- string, plotwhere, plotarray, and plotaxis. (See table 1 on page 216.) It also makes the definition of the type "coord" available to the using pro- gram. In fact, if the procedure "plotarray" is going to be invoked, a variable of the type "coord" must be passed as a parameter to it. The basic plotting algorithm in all of the plotter procedures is expressed in the pro- cedure "plotline". Basic Plotting Procedures Now that you're familiar with how the unit interfaces to the using pro- gram, let's see how the various pro- cedures accomplish their tasks and how the unit is put together. As you might imagine, the construction of the unit after the implementation and interface sections is simply a series of Pascal procedures with no program body. If we did not want to make these procedures into a unit, we could simply incorporate them into a Pascal program as normal procedures. The Hiplot plotter can move its pen in eight directions. These are left, right, forward, backward, and the four moves at 45° (see figure 1). In addition, we have the pen-up and pen-down movements. With these ten movements, the plotter is capable of grand and wondrous things. The most fundamental procedure in the program is the machine- language procedure "plotstep" (see listing 3). The purpose of this pro- cedure is simply to take the elemen- tary pen-movement commands passed to it and send them to the plot- ter port. (The pen-movement com- mands are the letters p, q, r, s, t, u, v, w, y, and z sent to the plotter through a serial port.)This procedure was written to operate on a Z80-based computer running at 2.5 MHz with the plotter set to 0.005 inches per step. Because of this, the timing loops might have to be adjusted to allow the procedure to operate correctly on a different machine. The operation of procedure 218 October 1981 © BYTE Publications Inc Circle 234 on inquiry card. SOFTWARE ! Accept our free program. It retails for $24.95 but it's yours just for previewing America's finest software club. I want to tell you about the most excit- ing development that has ever happened to your computer. Then I want to extend an invitation. Neither the development or the invitation need cost you a cent. • It's not a new terminal. • It's not any kind of peripheral. • It's not a new language. • It's all of these. It's a club. A club exclusively for peo- ple who live and breathe computers, like you — and me. BUILD A SOFTWARE LIBRARY THAT WILL EXPAND YOUR COMPUTER'S CAPABILITIES TO THE LIMITS OF YOUR IMAGINATION. Each month we bring you the finest and boldest concepts in computer soft- ware from manufacturers all over the world, from categories that include education and business to entertain- ment and home utilities. Out of thousands of programs avail- able, we select those that make your computer do more of what you bought your computer for. Programs that keep your computer working throughout the day instead of gathering dust on a desk. ASC keeps your computer function- ing and expanding by supplying the vital FREE* FLOPPY DISC for the first 1500 cha rter members. ICheckbook Balancing.) This program provides a running balance as well as monthly reconciliation and will main- tain several checkbooks simultane- ously. Menu driven, it contains re- lated file maintenance routines. Other charter members receive FREE, the hardcopy source code. *Only a small postage and handling charge software resources necessary for its growth. Software for the business owner, educator, hobbiest, the family. Software that will continually keep your hardware paced with state of the art technology. With an ASC membership you will be assured that your equipment is never rendered obsolete. OUR NO-OBLIGATION CHARTER INVITATION When you become a charter member you get: • Our free software program on diskette (or hardcopy source code) • Our informative and very candid newsmagazine • Discounts on ail software programs ■ Discounts on major brands of hard- ware and supplies • Additional discounts for recommend- ing new members • Software updates as they become available • BONUS. Free buy, sell, or swap ad in our newsmagazine (on a space' available basis). A real moneysaver Even if you never purchase another pro gram, the free diskette is our gift to you Gift acceptance certificate below. Ma today to reserve your free gift. DISCOUNTS. PROMPT SHIPMENTS. No more searching through magazine ads and paying top dollar. You save every time you buy. Save on software, hardware, books ... all computer sup- plies. For example, next month you can purchase name brand blank diskettes that the "discounters" sell for $3.50. Our price-$2.50. That's saving $10 per box. HERE'S HOW YOUR CLUB WORKS All purchases are charged to your ac- count at low member prices, (software programs usually cost $9.95 to $24.95 and are always discounted 15 to 40% off manufacturers' suggested list). Every four or so weeks, you will receive our new "Software Compendium" newsmag- azine free. It reviews the new programs and provides helpful hints and member input. If you want our "Choice of the Month", do nothing, it will be sent auto- matically. If you want an alternate, addi- tional, or no diskette at all (which will break your computer's heart), just return the card by the date specified. Unre- quested diskettes may be returned at our expense. And all software is sup- plied with the original manufacturer's warrantees. Club members are never subjected to any minimum purchase requirements. AMERICAN SOFTWARE CLUB, INC Millwood, N.Y. 10546 I can't wait. Please send me my free gifi diskette (or hardcopy source code) and enroll me in American Software Club as outlined in this ad. I understand that all future pur- chases (no minimum required) are at low members' prices and that a small postage and handling fee is added to all orders. Membership can be cancelled at any time. Bill me $1.50 postage and handling. My computer is an: APPLE DOS VERSION ATARI 400. '"I CP/M COMPUTER WITH 5Vi" . PET TRS 80 . _ 800 DISKETTE I am primarily interested in Business Entertainment Household Education All areas Name Address , City/State/Zip. ..J "plotstep" is straightforward: it sim- ply receives the plot command from the Pascal system (passed on the sys- tem stack along with the return ad- dress) and checks the status of the plotter (bit 1, port hexadecimal 7D in this case). It then checks to see if the command is a pen-up or pen-down command, or a pen-movement com- mand. In each case, it takes ap- propriate timing action depending upon the pen movement requested. If BASIC PLOTTER DIRECTIONS Figure 1: Basic plotter directions available to the Houston Instrument Hiplot. This drawing was made by the Hiplot plotter. the Pascal running on your system includes the logical device "REM- OUT:", the plotter could be attached to the port addressed by "REMOUT:" and the plotting commands issued to the plotter through that port. Once this machine-language sub- routine is edited and assembled, it is a simple matter to use the linker to in- corporate it into a Pascal program as an external procedure or to store it in the system library for use in the "plot- ter" unit. The basic plotting algorithm in all of the plotter procedures is expressed in the procedure "plotline". This algorithm is simply passed a para- meter ("penpos") that tells it whether the pen move is to be made with the pen up or down, and the endpoint of the next line to draw. It then calculates the best straight-line fit from the current position of the pen ("xpos" and "ypos") to the point selected ("xplot" and "yplot"). With the pen either up (penpos = 1) or down (penpos = 2), it draws the line. The algorithm used is simply a trans- lation of the BASIC algorithm sup- plied by Houston Instrument with the plotter into Pascal. A special case of "plotline" occurs when penpos = 0. In this case, the pen is assumed to be at the lower-left cor- ner of the plotter bed, and the var- iables "xpos" and "ypos" are init- ialized to that point. The machine- language subroutine "plotinit" is ex- ecuted during this initialization. The procedure simply initializes the serial DISASTER 1NSURA PROTECT YOUR HARDWARE J 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 throu' rely on Cover Craft Dust Covers than ' • Visit your loc 3 M> i u*tK»* ■■■■ ■ ' Oust Covers for most terminals, disks, printers, modems, etc. c $8.95-$15.95 Shipping extra. COVER CRAFTt CORP Vr-'-'rpO Box 555, Amherst, NH 03031 • (603) 889-6811 220 October 1981 © BYTE Publications Inc Circle 105 on inquiry card. Circle 313 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 in 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 Products 10330 Brecksvffle Road Cleveland, Ohio 44141 216/526-0838 Telex, 241596 CP/M and MP/M are registered trademarks. Circle 23 on inquiry card. TKTtnnnnrwwr • 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 ] 5, ] 98 I NAME ADDRESS CITY STATE ZIP PHONE NO Coupons accepted only with full name and address fille CBM8032 32K RAM * 80 Column Screen $1499.00 EPROM 2716-5 (5 VOLT) $6.50 EPROM Erasing Lamps ERASES 4 CHIPS IN LESS THAN 20 MINUTES • SIMPLE TO USE • SAFETV INTERLOCK • ERASES 2708, 2716 1702A, etc. UVS-11E SB5.00 n % 30 MHz HITACHI DUAL TRACE PORTABLE OSCILLOSCOPE MODEL V-302B $995.00 More sensitive to your input Universal Oscilloscope Probe $ 36 00 SW1TCHABLE XI and X10 Attenuation Factor KEY ADDITIONAL FEATURES: • I00MH> bandwidth • Heavy duly lip • Break resistant center conductor • Slender, nexlbie cable • oli. cable length • Wide compensation range • Fits nil scopes • Ground reference can be activated al dp • Includes SPRUNG HOOK. I.C. TIP. BNC ADAPTOR. INSULATING TIP and TRIMMER TOOL ACCESSORIES. STORES DO NOT ACCEPT MAIL ORDERS MAILORDER P.O. BOX 2208Y CULVER CITY, CA90230 Minimum Ordir II 0,00. Arid SZ. 00 lomerpostije and handling. MastsrChirga >ntf Vlsi melcamBd. Plllli include your chug) card number. Inlerbink number ind eiplnllon dale Some ilems ire iub|ic1 to prior tile. KdI responsible lor typos Slore pricing may vary from Mill Ordu pricing. We it-serve the right la lubilllute minulicturer. PHONE ORDERS i2i3i 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 1054 E. El Camino Real Sunnyvale, CA 94087 (408) 243-4121 ATLANTA 3330 Piedmont Rd. N.E. Atlanta, GA 30305 1404) 261-7100 HOUSTON 2649 Richmond Houston, TX 77098 1713) 529-3489 SANTA ANA 1300 E. Edinger Ave. Santa Ana, CA 92705 (714) 547-8424 TUCSON 4518 E. Broadway Tucson, AZ 8571 1 (602) 881-2348 output port to 9600 bps (bits per sec- ond) to make it compatible with the data-input rate of the plotter (see listing 4). "Plotline" with the penpos of must be executed before any plot- ting can be done with the other pro- cedures. In each case of a pen move- ment, procedure "plotline" checks to make sure that a plot off the bed of the plotter is not being attempted and, if so, reports this to the console rather than attempting the plot. The procedure "plotstring" uses procedure "plotchar" to draw char- acters on the plot. Procedure "plot- string" is passed the starting location of the lower-left corner of the first character to be plotted, the height of the characters (which should be a multiple of 0.035 to give the best- formed characters), the angle (in degrees relative to the long axis of the paper) at which the string is to be plotted, and a string of characters to be plotted. The way in which the characters are plotted is interesting. I decided that I had to develop an interpreter for plotting the various pen moves. Plotting any character, I concluded, would be a combination of straight lines in the fundamental directions available on the plotter. Rather than simply using "plotline" to do all the moves for each char- acter, the moves to plot each char- acter are generated in a coded form using two vector pads made up of two groups of keys on the keyboard. One vector pad represents moves with the pen up and the other with the pen down. The letters d, w, a, and x are used for moves in the indicated directions with the pen up, and 7, 8, 9, o, 1, k, j, and u for moves in the in- dicated direction with the pen down. The length and direction of each move are determined by the height and orientation of the character to be plotted. As you can see in the listing of "plotchar", each character is coded as a series of moves terminated with the character "i". In operation, the procedure takes the character passed to it, assigns the string of moves to the string variable PLOT, then decodes that string into a series of pen movements. A few special cases need to be noted at this Text continued on page 242 Listing 1: The Pascal unit "plotter". This unit, which can be used by other Pascal pro- grams, contains several routines that simplify the process of drawing lines and characters on the Houston Instrument Hiplot plotter. unit plotter; interface (*These procedures and types are available to using program*) type coord=array [1. . 250] of; real; procedure plotline (penpos : integer ; xnlot,yplot: real) ; procedure plotsvmbol (sym:integer;height:real) ; procedure plotstring (px,py , height, the ta: real; line: string) ; procedure plotwhere (var px,py:real); procedure plotarray (nopoints , freq, sym: integer , • t>x,py , XTtiin , XTnax,ymin , ymax, height ,xlen, vlen:real; var x,y:coord) ; procedure plo taxis (px,py, leng, the ta,min, max, tic : real ; name rstring) ; implementation (*Kverything else is local to the unit*) const pi=3. 14159; screenwidth=79 ; screenheight=23; var clear : char; a:array [1. . 16] off char; xpos ,ypos :real ; procedure plotstep (steprchar) ; external ; procedure plotinit; (*sets up usart for plotter*) external ; orocedure plotline; var z,x,y,f,d,i,t,e:intener; procedure initplot; begin Listing 1 continued on page 224 222 October 1961 © BYTE Publications Inc SystemsXE€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|? SYSTEMS II EX MASTER MENU 1. INVENTORY 7.CHARTOFACCTS. 2. PAYABLES 8. VENDOR MAINT. 3. RECEIVABLES 9. CUST. MAINT. 4. PAYROLL 10. CHANGE DATE 5. LEDGER 1 1. SYS/BACKUP 6. JOURNAL 12. STOP PROCSSG. 13. OPTIONAL PROCSSG. L SELECT [1-13]? DATABASE MENU 1. FILE MAINTENANCE 2. REPORTS/REPORT MAINT. 3. UTILITIES 4. RETURN TO SYSTEM MENU SELECT (1-4)? ACCOUNTS PAYABLES MENU 1. FILE MAINTENANCE 2. PAYMENT SELECTION 3. PRINT CHECKS AND REGISTER 4. MONTH END 5. RETURN TO MASTER MENU SELECT |1-51? RECEIVABLES SYSTEM MENU 1. FILE MAINTENANCE 2. RECEIPT OF PAYMENTS 3. GENERATE BILLING 4. MONTH END 5. PAST DUE REPORT §30 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 OAT 1. FILE MAINTENANCE 2. POINT OF SALES , 3. REORDER REPORT 1 4. RETURN TO MASTER MENU SELECT (1-4)? STATE PAYROLL MENU . 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|? 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 Circle 415 on inquiry card. 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 r A" 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]! €x 2455 S.W. 4th Ave. Suite 2 Ontario, OR 97914 (503) 881-1477 See us at the NORTHEAST Computer Show Oct 15-18 and The SOUTHEAST Computer Show Oct 29-Nov 1. 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- I 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 SASM400 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 of Digital Research 804 SOUTH STATE DOVER, DEL. 19901 302-734-0151 ST I Visa and Mastercharge accepted. We ship 8" single- density and Softcard+ 5.25" diskettes. Ask us about other formats. OEM AND DEALER INQUIRES INVITED. + Trademark of Microsoft Listing 1 continued: clear :=chr (26) ; write (clear) ; gotoxy ( (screenwidth-47) div 2 , screenheight div 2-1); write ( 'Please type [ret] when plot pen is at the lower'); qotoxy ( (screenwidth-26) div 2 , screenheight div 2); write ('left corner of plotter bed'); readln; write (clear) ; plotinit; xpos:=0. 0; ypos :=0. ; a[l] : = 'p';a[2] : = 'q';a[3] : = , r';a[4] : = 'q';a[5] : = 'r';a[6] : a [7] :='t';a[8] : = 's';a[9] : = 't';a[10] :='u';a[ll] :='v'; a [12] : = 'u';a[13] : = ' v' ,-a [14] :='w' ;a [15] : = 'p' ;a [16] : = 'w' ; plotline(l,0,0) ; end; (*initplot*) begin (*plotline*) case penpos of :initplot; l:plotstep('y') ; 2:plotstep ( 'z' ) ; end; if penpos=0 then exit (plotline) ; if (xplot>10.25) or (xplot<-0.25) or (yplot>7.25) or (yplot<-0.25) then begin write (clear) ; gotoxy ( (screenwidth-49) div 2,screenheiqht div 2-1); writeln (' Plotline : Plot attempted off paqe (' ,xplot:6:2, ' , ' ,yplot:6:2, ' ) ' ) ; gotoxy ( (screenwidth-17) div 2,screenheight-l) ; write ('Please type [ret]'); readln; write (clear) ; exit (plotline) ; end; x:=round ( (xplot-xpos) *200) ; y :=round ( (yplot-ypos) *200) ; xpos :=xpos+x/200 ; ypos :=ypos+y/200 ; (*This section is translated from Houston Instrument *) f :=abs (x) +abs (y) ; if f=0 then exit (plotline) ; d:=abs (y)-abs (x) ; i:=0; if y>=0 then i: = 2; t:=x+y; if t>=0 then i:=i+2; t:=y-x; if t>=0 then i:=i+2; if x<0 then i:=i-H0 else i:=8-i; if d<0 then t:=abs(y) else begin t:=abs (x) ; d:=-d; end; e:=0; repeat z:=t+d+e+e; if z<0 then begin e:=e+t; f :=f-l; plotstep (a [i-1] ) ; end else begin e:=e+d; f :=f-2; plotstep (a [i] ) ; end; until f< = 0; end; (*plotline*) procedure plotstring; var stepl ,xstepl ,ystepl , x2stepl ,y2stepl , x3stepl , y.3stepl , step, xstep,ystep,x2step,y2 step, x3step,y 3s tep: real; j ,n : integer; procedure plotchar (oil :char ) ; var rxpos , rypos : real ; 's'; Listing 1 continued on page 226 224 October 1981 © BYTE Publications Inc TM APPLE PASCAL A HANDS-ON APPROACH Learn to use the most powerful language your v v computer can have. This "hands-on" method gives you all the working skills you need to create, run, and debug programs in Pascal on the Apple II or Apple II Plus. Detailed program examples and practical, step-by-step exercises on the computer it- self lead you from funda- mentals to such advanced topics as programming style, Also available: tends- ° n 3 PProac h 'X&Z22? data structures, top- down vs. bottom-up design, scalar data types, and recursion. No math background is required. Users learn full editor and operating features as well as the Pascal language— this is the only complete guide to M BASIC: A HANDS-ON METHOD, 2/e Herbert D. Peckham 320 pages, $12.95 Spiral bound Immediate application of concepts as they are introduced allows you to quickly become profi- cient in BASIC programming. For use with numerous time-sharing and personal computers, this book emphasizes hands-on experience. PROGRAMMING BASIC WITH THE Tl HOME COMPUTER Herbert D. Peckham 306 pages, $12.95 The only complete guide to programming in BASIC on the Tl Home Computer. All information is presented using a hands-on method which rapidly builds programming skills. HANOS-ON BASIC WITH A PET Herbert D. Peckham 267 pages, $13.95 Fully explains how to program Commodore Business Machines' PET personal computer using BASIC. A step-by-step presentation of program- ming with hands-on exercises. THE ELEMENTS OF PROGRAMMING STYLE 2/e Brian W. Kernighan and P.J. Plauger 168 pages, $10.95 This acknowledged classic provides a highly helpful guide to effective, efficient programming for a wide range of tasks. Includes numerous ex- amples and a set of 'rules' of good programming. Pascal for the Apple computer (and only $14.95!). The volume is spiralbound to lie flat by the keyboard. 429 pages. Order today. Put the power of Pascal to work for you. 15 DAYS' FREE EXAMINATION! Mail the coupon today. Mail to: McGraw-Hill Book Company P.O. Box 400 Hightstown, N.J. 08520 Please send me the book(s) checked for 15 days on approval. □ Bill me. After 15 days I will pay for the book(s) I keep, plus local tax, postage, and handling. □ Enclosed is my check/money order (including tax). Charge my VISA □ MasterCard □ (Check one.) Credit card no Exp. Date Bank no. (MasterCard only) Signature_ (Credit card order not valid without signature.) □ APPLE PASCAL, $14.95 (49171-2) U BASIC: A HANDS-ON METHOD, $12.95 (49160-7) □ PROGRAMMING BASIC WITH THE Tl HOME COMPUTER, $12.95 ( 49156-9) D HANDS-ON BASIC WITH A PET, $13.95 (49157-7) D ELEMENTS OF PROGRAMMING STYLE, $10.95 (34207-5) Name Street City/State/Zip_ 62-U444-1181-1 SAVE MONEY: Remit with order and we pay all shipping and handling costs. Full return privileges still apply. Order subject to acceptance by McGraw-Hill. Circle 400 on inquiry card. SAM'S BOOKS $AVE UP TO 25% BUY A SERIES FROM THIS LIST OR INDIVIDUAL TITLES USING THE 5 DIGIT ORDER CODES. ORDER A CATALOG OF ALL SAM'S BOOKS AND SAVE! SERIES 'A' COMPUTER COOKBOOKS No. 21524 - The Cheap Video Cookbook □ $5.95 No. 21723 -Son 01 Cheap Video D $8.95 No. 21697 • 8085A Cookbook □ $13.95 No. 21313 ■ TV Typewriter Cookbook O $9.95 SERIES 'B'TRS-80 No. 21741 • Circuit Design Programs for the TRS80 D $12.95 No. 21633 ■ TRS-80 Interfacing ■ Book 1 D $8.95 No. 21739 ■ TRS-80 Interfacing - Book 2 Q $10.95 SERIES 'C 8080 No. 21541 - 8080/8085 Software Design Book 1D$10.95 No. 21615 ■ 8080/8085 Software Design Book 2DJ10.95 No. 21628 ■ TEA: An 8080/8085 Assm. Editor D$10.95 SERIES 'D' COMPUTER FUNDAMENTALS No. 21698 ■ Guide Book To Small Computers D $4.95 No. 21486 - Getting Acquainted With Microcomputers D $8.95 No. 21634 ■ Sam's Crash Course In Microcomputers □ $17.50 No. 21653 ■ Microcomputer Primer (Second Edition) D $11.95 No. 21483 ■ Your Own Computer D $1.95 SERIES 'E'Z-80 No. 21682 - Z80 Microcomputer Design Projects □$ 12.95 No. 21500 • Z80 Microcomputer Hand Book D $8.95 No. 21609 ■ Z80 Microprocessor Programing & Interfacing, Book 1 D $11.95 No. 21610 ■ Z80 Microprocessor Programing & Interfacing, Book 2 D $14.95 SERIES 'F' 6502/6800 No. 21656 ■ 6502 Software Design D $1 1.50 No. 21459 ■ How To Program Microcomputers D $8.95 No. 21684 ■ How To Program And Interface The 6800 D $15.95 No. 21726 ■ 6801. 68701, & 6803 Microcomputer Programming & Interfacing D $1395 SERIES 'G' COOK BOOKS IC0P-AMP Cookbook (2nd Edition) □ $14.95 - Active Filter Cookbook D $14.95 ■ CMOS Cook Book D $10.50 • IC Converter Cookbook $13.95 ■ IC Timer Cookbook D $9.95 - TTl Cookbook Q $9.50 No 21695 No 21168 No 21398 No 21527 No 21416 No 21035 Series - Prices Indicated are Less 25% 'A' 29.10 D 'E' 36.60 D •B' 24.64 D 'P 37.77 D '0' 24.64 D 'G' 55.35 D •D' 33.98 C TOTAL FOR SINGLE TITLES ORDER A CATALOG LISTING ALL SAM'S BOOKS AND SAVE WITH SPECIAL DIS- COUNT PRICES D/ -> CATALOG. DISCOUNT 15% (-) TOTAL FOR SERIES SHIPPING AND HANDLING 50c PER/TITLE 5% MN TAX WHERE APPL. . TOTAL THIS ORDER SEND CHECK OR MONEY ORDER MAIL TO: STELLAR SYSTEMS P.O. BOX N NORTH BRANCH, MN 55056 Prices may be subject to change without notice. Listing 1 continued: plot:strinq [32] ; pchar :char; i: inteqsr; procedure arrow; begin stepl: =0.0 4; xstepl :=stepl *cos ( ystepl :=stepl*sin ( x2stepl :=sqrt (2) y2stepl :=sqrt (2) x3stepl:=sqrt (2) *s y3stepl : ~sqrt ( 2 ) *s plotline (2,xpos-y2 plotline (2,xpos+ys plotline (2, xpos+ys plotline (2 r xpos-y exit (plotchar ) ; end; (*arrow-) procedure getcode; begin case ch of theta) ; theta) ; tepl*cos (theta+pi/4 tepl*sin (theta+pi/4 tepl*cos (theta--pi/4 tapl*sin (thet.a-pi/4 stepl , ypos+x2stepl) tepl ,ypos-xstepl) ; tepl ,ypos-xstepl) ; stepl , ypos+x3stepl) 'A' ■B' *c 'D' ■E' • p. 'G' 'H' '!■ •J' •K' •l' • M' ■N" •O 1 ipi ■0' 'R' 'S' 1 rp I 'u' •v 'W 1 ■X' l Y l ■z" • >> 1 1 ■ end end; (*g plot := ' d8 8 88 8 89oolkkkkkkaaaawwwwooooi ' ; plot:='d888 8888ooolkjuuuooolkkjuuui' ; plot:='dddddwjuu7888889ooli ' ; plot:='d88888 88ooolkkkkkjuuui' ; plot:='ddddduuuu8 8 8 8oouu8 8 8ooooi' ; plot:='d8888oouu888ooooi' ; plot:='dddddwwwwww7uujkkkkkloo988uui' ; plot: = 'd8888383 ddddkkkkkkkwwwuuuui ' ; plot:='doooouu8888888uuooooi' ; plot:='dwloo9888888i' ; plot:='d8888888dddj jjlllli' ,- plot:='ddddduuuu8888888i' ; plot:='d88 8888811kk8899kkkkkkki' ; plot:='d88888881111wwwwkkkkkkki' ; plot:='dd7 888889oolkkkkkjuui' ; plot:='d88888B8ooolkkjuuui' ; plot:='dd788 8 8 89oolkkkkkjuudwwlli' ; plot:='d8 8 88888ooolkkjuuuooolkki' ; plot:='dwloo9R8 7uu7 8 9ooli' ; plot:='ddd88888 8 8aaooooi' ; plot:='dwwwwwwwkkkkkkloo9888888i' ; plot:='dwwwwwwwkkkkkll9988888i' ; plot: = 'dwwwwwwwkkkkkkk9988kkll8888888i' | plot:='d8899998aaaakllllkki' ; plot :='dwwwwwwwkll99 8kj jkkkki' ; plot :=' dwwwwwwwooookj j j jkkooooi ' ; plot:='ddd8okui' ; plot : = ' ddwwoooowwuuuui ' ; plot:='d999777i' ; plot:='dddd777999i'; plot:=' dwwooo97uu79ooowaakkkkkki ' ; plot :=' ooooooo I i ' ; (*case*) etcode*) procedure getcode2; begin case V end end; (*g ch of :plot :plot :plot :plot :plot :plot :plot :plot :plot :plot :plot :plot :plot :plot :plot :plot :plot :plot :plot :plot :plot :plot :plot :plot :plot ; (*case*) etcode2* ) ' dww9999aakkkkdd7777xxooooi ' ; 'd8899998i' ; 'dw9999aaaku8oxxxxd8ok8okuui' ; 'ddd8w8997uujki' ; ' ddddwwwwwSokui ' ; ' dddwwwwkkuu8 8ooooxaooakki' ; 'ddd8okuoji * ; ' dwwwww99kkkkkkkuuooooi' ; 1 dwwwwww9oolkkj j j jooooi ' ; 1 dwwwwww9ooo j j joolkk juu7i ' ; ' dwwwwwwwkkkkooooawwwwkkkkkkki ' ; 1 ddddd\^^wwwwwuuuukkkooolkkiuu7i ' ; 1 dddddwwwwww7uujkkkkkloo9887uuj i ' ; ' dwwwwww8ooookj jkkkki 1 ; 1 ddwwww7B9oolkjuujkkloo9 8 87i' ; 'dwloo9888887uujkkloo9i' ; •dd7888389oolkkkkkjuui' ; 'dddd7788899i* ; 'dd9988877i' ; 'dw9999aaauko8xxxxddo8uki' ; 1 dddww8888aaxxooooi ' ; ' dwwwwooooi ' ; ' ddwwo8ukwwo8uki ' ; 1 li' ; '2i' ; Listing 1 continued on page 228 226 October 1981 © BYTE Publications Ire 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 EPSON PRINTERS MX-80 PRINTER S 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 DIABLO 630 PRINTER DIABLO 630 - Serial - RS-232 $2710 Tractor Option $ 250 AMDEK MONITORS INTERTEC COMPUTERS 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 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 IK $1530 APPLE DISK w/3.3 DOS .$ 650 APPLE DRIVE Only $ 490 APPLE III 128K- In Stock! w/Monitor + Info Analystpak $4740 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'". . $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 WordPro 3 (40 Clm.)16K . WordPro 3+ WordPro 4 (80 Clm.) 32K . WordPro 4+ . $ 29.95 .$ 199.95 . $ 295 . $ 375 • $ 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 m m~. ~._ A j* MON-FRI 9:00 - 5:00 (617)449-1760 @1 = Telex: 951021 MasterCharge and VISA Accepted Circle 263 on inquiry card. BYTE October 1981 227 Big sole onK'si 16K... $149.95 32K...S 199.95 48K... $249.95 64K... $299.95 m. New JAWS-IE 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 laws-IB is the Rolls-Royce of all the S KM) 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-IIAY M0NEV HACK TRIAL: Try a fully wind 3 and Icstnd board lor todays— Ihen cither keep ^M fl, return II lor kll.or simply ri'iui n II In worklnii ^B condition. ^ Continental U.S.A. Credit Cord Buyers Outside Connecticut: TO ORDER CALL TOLL FREE 800-243-7428 From Connecticut Or For Assistance: (203) 354-9375 Please send the items checked below: JAWS-IB kit: □ 16K $149.95* □ 32K $199.95* D 48K $249.95* □ 64K $299.95* JAWS-IB Fully Assembled, Wired & Tested: □ 16K $179.95* Q 32K $239.95* □ 48K $299.95* □ B4K $359.95* D EXPANSION KIT, 16K RAM Module, to expand JAWS-IB in 16K blocks up to 64K. $59.95 'All pricus phis $2 postage and insurance (S) ; ' a ' :o lot line (1 ,xpos-xstep,ypos-ystep) ; 1 7 ' :plotline(2, xpos-x3step,ypos-y 3 step) ; ' 8 ' : plot line (2 ,xpos-ystep,ypos+xstep) ; ' 9 ' : plot line (2 , xpos+x2step,ypos+y2steo) ; 1 o' : plot line (2 ,xpos+xstep,ypos+ystep) ; 1 1 ' :plotline (2 , xpos+x3step, ypos+y3step) 'k' rplotline (2 , xpos+ystep, ypos-xstep) ; ' j ' :plotline (2 ,xpos-x2step, ypos-y2step) ; ' u ' : plot line ( 2 , xpos-x step , ypos-y step) ; ' x ' rplotline ( 1 , xpos+y step , ypos-xstep) ; ' I ' sarrow; : beqin rxpos : = rxpos- (heiqht/2) *sin (theta) - 6*xstep; rypos :=rypos+ (heiqht/2) *cos (theta) - 6*ystep; end; 1 2 ' : beqin rxpos : = rxpos+ (heiqht/2 ) *sin (theta) - 6*xstep; rypos :=rypos- (height/2 ) *cos (theta) - 6*ystep; end; end; (*case*) i:=i+l; end; (*while*) plot line (l,rxpos+6*xstep, rypos+6*ystep) ; end; (*plotchar*) beqin (*plotstrinq*) theta:=(theta/360)*2*pi; step : =height/7 ; xstep:=step*cos (theta) ; ystep:=step*sin (theta) ; x2step:=sqrt (2) *step*cos (theta+pi/4) y2step:=sqrt (2) * step* sin (theta+pi/4) x3step:=sqrt (2) *step*cos (theta-pi/4) y3step:=sqrt (2) *step*sin (theta-pi/4) n:=lenqth (line) ; plotline (l,px,py ) ; for j :=1 to n do plotchar (line (j ] ) ; end; (*plotstring*) procedure plot var rxpos, rypo beqin rxpos :=xpo rypos :=ypo case sym o 1 :beqin Plot plot plot plot plot end ; 2 : beqin plot plot plot plot plot end; 3 :beqin plot plot plot plot plot plo plo end; 4 rbegin symbol ; s rreal; *trianqle*) line (2,xpos,ypos+heiqht/2) ; line (2,xpos-heiqht/2,ypos-heiqht) ; line (2,xpos+heiqht,ypos) ; line (2,xpos-heinht/2,ypos+heiqht) ; line (1, rxpos, rypos) ; (* X *) line (l,xpos-heiqht/2,ypos+heiqht/2) ; line (2 ,xpos+heiqht ,ypos-heiqht) ; line (l,xpos-heiqht,ypos ) ; line (2,xpos+heiqht,ypos+heiqht) ; line (1 , rxpos , rypos) ; (*square*) line (2 ,xpos ,ypos+height/2) ; line (2 ,xpos-height/2,ypos) ; 1 i np f? vnnc ynnc-hoi nhf 1 - line ( /. ,xpos-neiqnt/^ ,ypos line (2 ,xpos , ypos -height) ; line (2 , xpos+height ,ypos) ; :line (2 ,xpos ,ypos+height) ; >tline (2 , xpos- height/ 2 ,ypo itline (1, rxpos, rypos) ; 'S): Listing 1 continued on page 230 228 October 1981 © BYTE Publications Inc ■TM THE FORTH SOURCE Specializing in the FORTH Language. MANUALS & GUIDES D "Starting FORTH" by Brodie. Prentice-Hall. Best User's manual available (soft cover) □ "Starting FORTH" (hard cover) □ "Using FORTH" by FORTH, Inc. Guide to FORTH concepts D "A FORTH Primer" by Stevens In-depth self-study manual. □ "Systems Guide to fig-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 fig-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. D "Invitation to FORTH" by Katzan. Petrocelli Books. Limited introduction. □ "Proceedings, 1980FORMLConference."Technical papers. □ "Proceedings, 1981 Rochester University FORTH Conference." Technical papers. D "METAFORTH" by Cassady. Cross-compiling, 8080 source code. INSTALLATION DOCUMENTS D 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 □ 6800 □ 9900 □ PDP-11/LSI-11 □ 6809 □ APPLE II* □ NOVA* O 1802 D 6502 D 8080 D 8086/8088 D PACE D AlphaMicro DISKS WITH DOCUMENTATION fig-FORTH Model and Source Listing, with Printed Installation Manual and Source Listing. □ H89/Z89 (5>A") □ APPLE II* (5W) □ NOVA* (8") D 8080/Z80* (8") Enhanced FORTH Systems with manuals. □ APPLE II/II+* by MicroMotion. fig-FORTH, FORTH-79 standard, editor, assembler, 187 pg. manual (1 -5W) □ APPLE II* by R. Kuntze. fig-FORTH, editor, assembler, source listing and screens. (2-5V) □ H89/Z89 by G. Haydon, fig-FORTH, stand alone, source listing, editor, assembler, screens and tutorial on disk (3-5'A") D H89/Z89 by G. Haydon, fig-FORTH, under CP/M", source listing, editor, assembler, screens and tutorial on disk (3-5Vt") D TRS-80/1* by Nautilus Sys. fig-FORTH, editor and assembler (1 -5'A") D TRS-80/I or III* by Miller Microcomputer Services. MMSFORTH, editor, assembler interpreter/compiler, virtual memory. (1.-5V4") □ NOVA* by Ting. fig-FORTH, editor, assembler, source listing and screens. (1 -8") □ 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 D CP/M* D H89 D 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. D Z-80* Program Development by Laboratory Microsystems with full software floating point arithmetic. □ Z-80* Cross Compiler (Nautilus) by Laboratory Microsystems. □ 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") □ HP-85 by H-P. fig-FORTH, editor and assembler (1 -5'A") 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 15.00 15.00 $ 65.00 90.00 90.00 250.00 1 75.00 90.00 1 30.00 90.00 1 00.00 100.00 200.00 350.00 250.00 150.00 200.00 150.00 65.00 65.00 ORDERSONLY (415) 961-4103 DEALER & AUTHOR INQUIRIES INVITED Ordering Information: Check, Money Order (payable to MOUNTAIN VIEW PRESS), VISA or MasterCard accepted. No COD'S or unpaid PO's. California residents add 6'/z% 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: $5.00 for each item under $25,00, S1 0.00 for each item between $25.00 and $99.00, and $20.00 for each item over S1 00.00. Minimum order $1 0.00. All prices and products subject to change or withdrawal without notice. Single system and/or single user license agreement required on some products. 'REGISTERED TRADEMARKS PO BOX 4656 MOUNTAIN VIEW PRESS MOUNTAIN VIEW, CA 94040 (415)961-4103 Circle 251 on inquiry card. NEW!!! THE * ELECTRIC MOUTH for S l(H), Elf II, Apple, TRS-80 Level II From $99.95 kit Now — teach your computer to talk, dramatically increasing the interaction between you and your machine. That's right: the ELECTRIC MOUTH actually lets your computer talk! Installed and on-line in just minutes, it's ready for spoken-language use in office, business, industrial and commercial applications, in games, special projects, R&D, education, secu- rity devices — there's no end to the ELECTRIC MOUTH's usefulness. Look at these features: * Supplied with 143 words/letters/ phonemes/ numbers, capable of producing hundreds of words and phrases. * Expandable cm-board up to thousands of words and phrases (just add additional speech ROMs as they become available}. * Four models, which plug directly into S100. Apple, Elf II and TRS-80 Level II computers. * Gel it to talk by using either Basic or machine language (very easy to use. complete instructions with examples included). * Uses National Semiconductor's "Digitalker" system. * Includes on-board audio amplifier and speaker, with provisions for external speakers and amplifier. * Adds a new dimension and excitement to pru- gramming; lets you modify existing programs and games to add spoken announcements of results. warnings, etc. * Installs in just minutes. Principle of Operation: The ELECTRIC MOUTH stores words in their digital equivalents in ROMs. When words, phrases, and phonemes are desired, they are simply called for by your program and then synthesized into speech. The ELECTRIC MOUTH system requires none of your valuable memory space except for a few addresses if used in memory mapped mode. In most cases, output ports (user selectable) are used. Spoken Material Include^ one eighteen ni dollar inches number ss r two three twenty case equal il off set four cent kilo five forty •lOOhertz lone left „ SIX flOlierlz lone less si; von sixty 20ms silence IfSMT RIRhl 40ms silence gallon li.mil percent stop i nine 80 ms silence ten ninety 160ms silence lower plus the hundred ;i20ms alienee twelve ihousiind centi greater mciiT . thirteen million check mile pulses up n fourteen zero comma mi Hi _ fifteen again control higher minus 9, sixteen ET" Hanger hour minutf ready a seventeen degree in near right 1) s ""El/ II" and "The Electric Mouth" are res. trademarks of Nelronics R&D Lid. "Apple" is a reg. trademark of Apple Computer Inc. "TRS-80 Level 11" is a reg. trademark of Tandy Corp. Conllnemal U.S.A. Credit Card Buyers Outside Connecticut CALL TOLL FREE 800-243-7428 To Order From Connecticut Or For Technical Assistance, Etc., Call (203) 354-9375 NETRONICS R&D LTD.De P t B o 333 Litchfield Road, New Milford, CT 06776 Please send (he items checked below: D S 1 00 "Electric Mouth" kit $99.05 □ Elf II "Electric Mouth" kit $09.95 □ Apple "Electric Mouth" kit $l 19.95 □ TRS-80 Level II "Electric Mouth" kit $1 19.95 Add $20.00 for wired & tested units. All plus $3.00 postage & in- surance. Conn res. add sales tax. Total Enclosed $ D Personal Check D Cashier's Check/ Money Order □ Visa D Master Charge (Bank No. | Accl.No. ___ Signature Print Name Address City Stale -Exp. Date _ .■£!: Listing 1 continued: plotline (2 , xpos plotline (2 , xpos plotline (2, xpos plotline (2, xpos plotline (2, xpos plotline (2,rxpo end; 5:begin ('vertical plotline (2, xpos plotline (2 ,xpos plotline (2 ,rxpo end; end; (*case*) end; (*plotsymbol*) procedure plotwhere; beqin px ;~xpos; PY :=ypos; end ; procedure plotarray; var pen , i : integer; begin if nopoints>250 then begin write (clear) ; gotoxy ( (screenwidth- writeln { ' Plotarray : gotoxy ( (screenwidth- write (' Please type [ read In ; write (clear) ; exit (plotarrav ) ; end; if (py+ylen>7 . ) or (px+ begin write (clear) ; gotoxy ( (screenwidth- writeln ( ' Plotarray : px+xlen:6:2, ' , ' , py+y gotoxy ( (screenwidth write ( 'Please type readln; write (clear) ; exit (plotarray) ; end; xlen:= (xmax-xmin) /xlen; ylen := (ymax-ymin) /ylen; if freq<0 then pen:=l else pen: =2; freq:=abs (freq) ; plotline (1, ( (x [1] -xmin) / if freq>0 then plotsymbo for i:=2 to nopoints do begin plotline (pen, ( (x [i] - ( (y ti]-ymin)/ylen) if (freq>0) then if ( (i+1) mod freq end; end; (*plotarray*) +height/2,ypos) ; height, ypos) ; +height/2 , ypos ) ,ypos+height/2) ; ,ypos-height) ; s, rypos) ; line*) ,ypos+height/2) ; ,ypos-height) ; s , rypos) ; 42) div 2 .screenheight div 2); Plot attempted with >250 points') 17) div 2 ,screenheight-l) ; ret] ' ) ; xlen>10) then 50) div 2 , screenheiqht div 2-1); Plot attempted off page (', len:6:2, ' ) ' ) ; 17) div 2 ,screenheight-l) ; retl ' ) ; xlen) +px, ( (y [1] -ymin) /ylen) -i-py) ; 1 (sym, height) ; xmin ) /xlen ) +px , +PY) ; : 0) then plotsymbol (sym, height) procedure plotaxis ; var tempi, side : integer ; print : boo lean ; amount: string; thetal , temp , rxpos , rypos , len, per , step rreal ; procedure divsteps (theta : real ) ; begin theta :=theta+pi/2; plotline (2,xpos+0.03*cos (theta) ,ypos+0 . 03*sin (theta) ) plotline (2,xpos-0.06*cos (theta) , ypos-0. 6*sin (theta) ) plotline (2,xpos+0.0 3*cos (theta) ,ypos+0. 3*sin (theta) ) end; begin ( *p lot axis* ) if tic<0 then begin tic :=-tic; side : --1 ; end else side :=1; thetal : -theta ; theta:= (2*pi/36f)) *thet.i ; Listing 1 continued on page 232 230 October 1981 © BYTE Publications Inc If you've ever missed a deadline, forgotten an appointment, waited on late deliveries or lost track of projects, put ANGEL to work for you. ANGEL is the new software program for microcomputers that helps organize and manage your business flow. It's strictly business. FAST AND EASY With a series of simple one-line entries, ANGEL can schedule every phase of your projects and appointments, however simple or complex. Then, each day, ANGEL will give you a run-down of every action that needs to be taken to complete all your work on time, whether it's due tomorrow or ten years from now. ANGEL's large capacity allows you to log and track up to 2,000 individual projects at once. With ANGEL's help, you can eliminate reams of files and hours upon hours of costly business delays and missed deadlines. SPEAKS SIMPLE ENGLISH ANGEL speaks plain English. No computer language to memorize, no codes to decipher. Sit down and talk to it, face- to- face. If ANGEL doesn't understand, it will respond in plain English. If you make a program error, ANGEL tells you how to correct your mistake through the use of a built-in video manual. ANGEL is so easy to use, you can turn it on and enter 30 items in less than five minutes. WORKS FOR ANY BUSINESS You can custom-program ANGEL for any business operation — from oil exploration to insurance, home construction to retail sales. With a memory capacity that's limited only by the capacity of your disk storage, ANGEL tracks multiple projects for busy executives. The disk comes with an easy-to-understand printed manual, to back up the built-in set of instructions of the program itself. In addition, a data-proof safeguard system will not let you accidentally erase entries, and a special password code of your choice allows you to keep confidential files. Put ANGEL to work for you today. You'll never lose track of your work flow again. ANGEL is recommended for use with any disk-based system that has 48k memory or more. It will operate with any CP/M*-based system and the TRS 80*" (Model I, II or III). The program comes on standard S'A-or 8-inch disk, with storage sleeve. Now only $295. ANGEL is available only through Time Management Software. It is not sold through any outlets at any price. Order the complete program for better business by calling one of our toll-free numbers or by returning the order blank below. Call now toll-free to order (Ask for operator 602) 1-800-824-7888 (nationwide, except California, Alaska and Hawaii) 1-800-852-7777 (in California) 1-800-824-7919 (in Alaska and Hawaii) Yes ... I need ANGEL to work for me, to organize my business with ultimate ease and efficiency. NAME . I have enclosed $295 to avoid delays, shipping and handling charges. D Check D Money Order D C.O.D. (If delivery address is different than above, please specify) Please specify one: D 5Vi-inch disk D 8-inch disk Please specify one: P CP/M* Operating System D TRSDOS" Operating System Price includes tax, handling and shipping (except C.O.D. orders) .TIME J MANAGEMENT I SOFTWARE" 123 E. Broadway P.O. Box 727 Cushing, Oklahoma 74023 * Registered trademark of Digital Research, Inc. ** Registered trademark of Tandy Corp. qnGGL Circle 340 on inquiry card. Circle 236 on inquiry card. MICROSETTE CASSETTE' • ■■• * ■■■#■■■ ?~ ;;-; §M| ;« j !«["'■.! .>-."■ .^. 1 .i..-vw -.-— iaw« a pa-- ■ » * ■.;■'.■■.;■■;* • ■ j§ C-10 C-20 COMPUTER CASSETTES '•' r — ■■--- r Al _ c-90 4| Mi A * . ■ HiewJi'trti'tJ ratt.s..»iw;i- ■L^tLlii. . C-60 C-90 AUDIO CASSETTES Our computer cassettes provide more users with more reliable data time after time. Our new audio cas- settes are perfect for highest qual- ity stereo recording. Credit card buyers may phone (415) 968-1604. LOOK AT OUR PRICES includes boxes and shipping Length 10 Pack 50 Pack C-10 $ 7.50 $32.50 C-20 $ 9.00 $39.00 C-60 $13.50 $57.50 C-90 $17.50 $77.50 UPS shipment in Cont. USA incl. We can not ship to P.O. Boxes Length Qty. Price Total SUBTOTAL Calif. Cust. add Sales Tax TOTAL Check or money order enclosed □ Charge to: Visa □ Master Card □ Account No. Expiration Date SIGNATURE MICROSETTE CO. 475 Ellis Street Mt. View, CA 94043 Listing 1 continued: if (px+leng *cos (theta)>10) or (py+lenq*sin (theta) >7) then beqin writeln { ' Plotaxis : plot attempted off page (', px + lenq*cos (theta) , ' , ' , py + leng*sin (theta) ,')'); write (' Please type [ret] ' ) ! readln ; exit (plotaxis) ; end; if leng<0 then begin print:=false; leng:=-leng; end else print :=true; len:=leng; plotline (1 ,px,py) ; per := (leng-0. 01) / (max-min) ; while leng>0 do begin if leng>tic*per then step:=tic*per else step:=leng; divsteps (theta) ; if print then begin rxpos :=xpos; rypos :=ypos; tempi :=trunc (min*10 0) ; str (tempi, amount) ; insert ( ' . ' , amount, length (amount) -1) ; temp := length (amount) /2 ; plotline (l,xpos- (0. 86*temp*cos (theta) - side* (0. 14+ (side-l)*0. 5 ) *sin ( theta) ) , ypos- (0.0 86*temp*sin (theta) +side* (0.14+ (side-1) *0.05) *cos (theta) ) ) ; plots tring (xpos ,ypos,0. 1, thetal , amount) ; plotline (1, rxpos , rypos) ; end; (*if*) plotline (2 ,xpos+step*cos (theta) ,ypos+step*sin (theta) ) ; leng :=leng-step; min :=min+tic; end; (*while*) if print then begin plotline (1, xpos- (len/2*cos (theta) +0. 10 8 "round (length (name)/2) *cos (theta)-side* (0. 35+ (side-1) *0.075) *sin(theta) ) , ypos- (len/2*sin (theta) +0 . 108*round (length (name) /2) *sin (theta) +side* (0. 3 5+ (side-1) *0. 075) *cos (theta) ) ) ; plots tring (xpos ,ypos, 0. 125 , thetal , name) ; end; end; (*plotaxis*) end. (*unit*) Listing 2: A demonstration Pascal program that uses the "plotter" unit. The plot drawn by this program is shown in figure 3. program plotter_demo; uses plotter; const pi=3. 14159; var index: integer; xpoints , sinypoints , cosypoints : coord ; xloc,yloc, angle :real; begin (*this segment initializes the arrays*) for index:=l to 250 do begin angle := (index-1) /2 4 9*2*pi; xpoints [index] :=index-l; sinypoints [index] :=sin (angle) ; cosypoints [index] :=cos (angle) ; end; (*this segment does the plotting*) plotline (0,0,0) ; plotstring (3,6. 75,0.126 ,0, ' this is a demonstration of the plotter unit'); plotaxis (0.5,0.5,9.5,0,0,36,6, 'angle (in degrees) *10[-1]'); Listing 2 continued on page 238 232 October 1981 © BYTE Publications lnc SOFTWARE GURU You've been looking for a software source to help with your program ming. This month BYTE BOOKS features four edi tions for your thought ful consideration. A programming guide- book on the 6502, compact threaded lan- guages for the Z80, and two volumes on scientific subroutines. Enough to challenge any hobbyist or scientist. These books won't turn you into a Software Guru — but they will help you think like one! Blill BIKMS m Sgss^g* BttAINS, BEHAVIOR & ROBOTICS tame» & Albus : '""osr w Kent (2 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 £01 Qf% photographs 9 dm I ■ r 9 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. Fiiled 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, 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 128 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 MACHINES 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 aib ft C illustrated ^lO.YO The BYTE BOOK Collection Circle 51 on inquiry card. BASIC SCIENTIFIC SUBROUTINES, VOLUMES 1 AND 2 ■ '-■' : V'^-^> ' UAStC Sciei»(i/ir -..,;,, ,, ,. Vol. by Fred Ruckdeschel iSI 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 J23.95 «■ BYTE Boofco* Pascal THE BYTE BOOK „_— » 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 are 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 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 , vat, svsr „ ^ rtASovAt WHAT? I YOU JUST BOUGHT A PERSONAL " - -~ WHAT? by Thomas Dwyer and Margot Crifchfield A Structured Approach to Creative Programming Intended for both the novice programmer 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 top-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 52 on Inquiry card. BYTE October 1981 235 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 II 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 by Henry D'Angelo 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. ISBN 0-07-015294-2 288 pages hardcover 314 illustrations available spring 1981 $18.95 Instructor's Manual ISBN O-O 7-0 15298-5 softcover $8.95 BUILD YOUR OWN Z8O COMPUTER by Steve Ciarcia 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 work- ing computer based on the Zilog Z8O micro- processor. Each computer subsystem is fully explained and supported by proven design and testing information. The description focuses on a basic single-board micro- computer containing • easy expansion to include a video terminal • 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" columns 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: Bill 70 Main Street Peterborough, New Hampshire 03458 order now . . . ! m EIJII BLKlrVS 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 AM0UN SHIPPING TOTAL Circle 53 on inquiry card. LOWEST PRICE - BEST QUALITY NORTH STAR North Star Horizon 2 2-5V4 Disk Drives 32K Double Den Factory assem. & tested Factory guaranteed List $3695 only $2697 POWERFUL NORTH STAR SUPERB FOR BUSINESS FACTORY ASSEMBLED & TESTED HORIZON-2-64K-DOUBLE DEN HORIZON-2-32K-QUAD DENSITY HORIZON-2-64K-QUAD HORIZON RAM ASSM 1 6K = $279 HORIZON RAM ASSM 48K = $679 HORIZON DISK DRIVE SALE DOUB DEN NORTH STAR HARD DISK 18 Mb BASIC FREE & SCIENCE LIST $4195 $3995 $4495 SAVE! $5375 NORTH STAR TIME SHARING MULTI-USER ONLY $3062 $2916 $3281 32K=$479 64K=$879 $ 445 $3923 CALL SUPERBRAIN ZENITH SUPERBRAIN QD 64K List $3995 only $2995 Z-89 48K List $2895 only $2299 TERMINALS Z-1 9 $725 only $725 INTERTUBEIII DYNABYTE COMPUTER— SAVE— PHONE EPSON MX-80— PHONE ANADEX 9501 $1349 NEC PRINTER $2639 TRACTOR, THIMBLE, RIBBON DIP-81 $395 TEC LETTER QUAL $1599 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 CALL FOR PRICE- TOO LOW TO ADVERTISE! PASCAUZ + THE FASTEST PASCAL $375 Z-8000 & CACHE BIOS— POWERFUL— PHONE 8086 16 BIT CPU & SUPPORT CARD SEATTLE $695 CALIFORNIA COMPUTER 2210A ONLY $1795 MORROW 8" DISK DISCUS 2D + CP/M® 600K ONLY $929 DISCUS 2 + 2 + CP/M® 1.2 MEGA B. $1240 ADD DRIVES 2D =$650 2 + 2 = $975 2D-DUAL + CP/M® ONLY $1540 FREE MBASIC FROM MORROW!! MORROW HARD DISK 26,000,000 BYTES!! LIST $4995 ONLY $3919 CP/M® IS INCLUDED! SAVE ON MEMORY AND PROGRAMS SYSTEMS MEMORY 64K A & T 4mHz $590 SYSTEM MEMORY 64K BANK SELECT $740 ITHACA MEMORY 8/1 6-bit 64K $845 SEATTLE MEMORY 8/1 6 BIT 16K $249 SSM KITS Z-80 CPU $221 VIDEO BRDV83 4Mhz $412 ANADEX PRINTER DP-9500-1 S1349 CAT NOVATION MODEM $169 ECONORAM2A8KASSM $179 NSSE 1-22 & P01 TERRIFIC PROGRAMS ONLY $10. EACH NORTHWORD $329 MAILMAN $246 INFOMAN $411 WORDSTAR $315 SPECTRUM $269 COMPUPRO SAVE EZ-CODER Translates English to BASIC $71 ECOSOFT FULL ACCOUNTING PKG $355 BOX OF DISKETTES $29 SECRETARY WORD PROCESSOR The Best! $99 GOFAST NORTH STAR BASIC OPTIMIZER— FAST $71 Which Computers are BEST? BROCHURE FREE North Star Documentation refundable w/HRZ $35 TARBELL COMPUTER-PHONE AMERICAN SQUARE COMPUTERS BEATS ADV. PRICES square American [||] Computers 919-889-4577 KIVETT DR. JAMESTOWN N.C. 27282 919-883-1105 ' CP/M Is a registered trademark of Digital Research, Inc. Circle 21 on inquiry card. BYTE October 1981 237 Circle 213 on inquiry card. SAVE $$$ SAVE $$$ TRS-80 . MICROCOMPUTERS wmttnrnm mmuuu'. TRS-80 Model II, 64K System ONLY $3325. 00 TRS-80 Model III, 32K - 2 Drives ONLY $2095. 00 Great Discounts On All Other TRS-80 Model II and III Add Ons. Color Computers, Printers. Poekei Computers. And All Other lino Radii) Shack " Merchandise. All Computers Arc Brand Nov.. In Factor) Scaled Canons. And Carry A 3 Month Radio Shack " Warrant) . F-4X Form Provided. Most Models In Siock. Just Call Collect 512-689-5536. Master Electronics. Inc.. I54 N. 5th. Ravniondvillc. T\. 78580, Remember No Tax On Out-Of-State Shipments. MASTER ELECTRONICS INCORPORATED 1 1 master charge ] 1 Authorized TRS-80 Dealer, Store # F-723 Listing 2 continued: plotaxis (0.5,0.5,5.75,90,-1,1,-0.5, 'magnitude' ) ; plotarray (250,-10 ,3,0.5,0. 5,0,2 49 ,-1,1, 0. 07, 9. 5, 5.7 5, xpoints,sinypoints) ; plotarray ( 250 ,10,2,0.5,0.5,0,249,-1,1,0.07,9.5,5 . 7 5 ,xpoints , cosypoints ) ; plotline(l,5.5,6.25) ; plotsymbol (3,0. 126) ; plotwhere (xloc,yloc) ; plotstring(xloc+0.2 5,yloc-0.126/2,0.12 6,0, '- sine' ) ; plotline(l,5.5,5.75) ; plotsymbol (2,0.126) ; plotwhere (xloc,yloc) ; plotstring (xloc+0 . 25 ,y loc-0 . 126/2 ,0.126,0,'- cosine ' ) ; end. Listing 3: The machine-language procedure "plotstep". This procedure, which is depen- dent on the hardware implementation given in the text, transmits pen-movement com- mands to the Hiplot plotter through its associated output port. .PROC PLOTSTEP, L .PRIVATE PENPOS , RETADDR STATUS .EOU 7DH PLOTCMD .EQU 7CII UPCMD .EQU 79H DNCMD . EQU 7AH UP .EQU 0FFH DOWN .EQU OOH POP HL GET RETURN ADDRESS LD (RETADDR) , HL LOAD RETURN ADDRESS POP BC GET CHARACTER PLOTOUT IN A, (STATUS) INPUT STATUS AND 1 MASK STATUS BIT JP Z, PLOTOUT WAIT FOR READY LD A,C GET PLOT CHARACTER OUT (PLOTCMD), A PLOT IT CP UPCMD PEN UP? JP 7,, PENUP YES, TIME IT OUT CP DNCMD PEN DOWN? JP Z, PENDN YES, TIME IT OUT LD A, (PENPOS) GET PEN POSITION CP UP UP? JP Z,EXIT YES, RETURN LD B,00H LOAD TIMER LD C,B0H LOAD TIMER CALL TIMER JP EXIT RETURN TIMER DEC BC DECREMENT TIMER LD A,B GET TIMER HIGH CP OOH ZEROED OUT? JP Z,TIMER1 YES, TIME FURTHER JP TIMER NO, DO IT AGAIN TIMER1 LD A,C GET TIMER LOW CP OOH TIMED OUT? JP Z,EXIT YES, RETURN JP TIMER CONTINUE TIMING PENUP LD A, (PENPOS) CHECK PEN POSITION CP UP UP? JP Z,EXIT YES , RETURN LD A, UP SET PENPOS UP LD (PENPOS) ,A PENPOS UP LD B,02H NO, TIME OUT CALL TIMER JP EXIT PENDN LD A, (PENPOS) CHECK PEN POSITION CP DOWN DN? JP Z,EXIT YES , RETURN LD A, DOWN SET PENPOS DN LD (PENPOS) ,A PENPOS DN LD B,02H NO, TIME OUT CALL TIMER EXIT LD HL, (RETADDR) GET RETURN ADDRESS JP (HL) RETURN .END Listing 4: The machine-language procedure "plotinit". This procedure initializes the serial output port at the beginning of a drawing session. It is dependent on the specific hardware used in the author's system. . PROC PLOTINIT LD A,05H OUT (78H) ,A LD A,01H OUT (7 8H) ,A RET .END ; RETURN 238 October 1981 © BYTE Publications Ire Introducing DPS-8000 a powerful Z-8000® based multi-user system from Ithaca Intersystems. ♦ A highly flexible, expandable design with separate modules for mainframe and mass storage, offering almost unlimited options for system expansion and a choice of table-top or rack mount styling. ♦ A powerful 20 slot S-100 mainframe with Z-8000 CPU, advanced memory management providing up to 128K protected memory per user, up to 2V2 Megabytes of parity memory in 256K increments, serial and parallel I/O, and DMA hard disk controller with 32 bit ECC. ♦ Coherent*— an advanced multi- user/multi-tasking Unix- compatible operating system with enhancements for better file and device handling and real- time responsiveness, and including a full range of utilities and compilers. ♦ InterPak 8000™— a special set of InterSystems utilities designed to aid the programmer in the rapid editing, correcting and documentation of software. DPS-8000 combines the state of the art in microcomputer hardware and software to provide a highly modular and expandable system with exceptional functionality, reliability and price/performance for the Systems Integrator/OEM, the commercial program developer, and the professional programmer working in the Unix environment in business, scientific, industrial and educational applications. FOR COMPLETE SYSTEM SPECIFICATIONS AND PRICING CALL OUR TOLL-FREE NUMRER: 800-847-2088 (outside N. Y.S.J DortteotoBtkisoDDS' v^ Ithaca Intersystems Inc. Micros for bigger ideas. Ithaca Intersystems Inc. • 1650 Hanshaw Rd • Ithaca, NY 14850 • Phone: (607) 257-0190 • TWX: 510 255 434 U.K. Distributor Ithaca Intersystems (U.K.)Ltd. Coleridge Road • London N8 8ED Phone: 01-341 2447 Telex: 299568 tUnix is a registered trademark of Bell Labs 'Coherent is a trademark of the Mark Williams Co. "Trademarks of Ithaca Intersystems Inc. "Registered trademark of Zilog. Inc. Circle 186 on Inquiry card. AH-HA! EUREKA! ALL-RIIIGHT 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. POPULAi COMPUTING Choosing YourPopi Com, Computet Your Smalls Business Asimov Reviews Asimov Home Computer Games The answer to ' * Computer phobia. Even the most computer- unsophisticated reader wil 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. finli COMPUTING THE KEY TO UNDERSTANDING P.O. Box 397, Hancock, NH 03449 spell relief: SpellStar. Are you tired of squinting at your video screen to find spelling and typing mistakes in your word processing? Then you need SpellStar — for prompt relief from the pain and dis- comfort of proofreading. SpellStar is an optional addition to WordStar™, already the most pow- erful and versatile word processing software on the market. SpellStar catches your spelling errors and typing mistakes before they catch you. It will save you inconvenience, embarrass- ment, and countless hours of staring at your screen. In fact, if time equals money in your business, it won't take long for SpellStar to pay for itself in time saved. Fast, FAST relief SpellStar whizzes through your text at thousands of words per min- ute, comparing what you've written with its 20,000-word dictionary-on-a- disk. It flags every word not in its dic- tionary, giving you three choices. Change the word. Leave it as is. Or leave it and add it to the dictionary, and it won't get flagged again. You can put it in the main dictionary, or just as easy, create your own supple- mental dictionaries on other disks for such things as specialized terms and client names. SpellStar vs. the competition SpellStar is not the first proof- reading software on the market. We just made sure it would be the best. Other programs show you a list of apparently misspelled words on your screen, separate from the docu- ment. You must decide what to do about each word without seeing its context — and that can be confusing. But SpellStar actually operates within the WordStar program. So it lets you see each word in context before taking action. It's so much easier. And you're always only one keystroke from full word-processing capability. Other programs give you a 20,000-word dictionary. But we com- pressed it into half the normal disk space. So there's much more space for your own entries. Another advantage is SpellStar's many menus and prompts. They're designed to keep you out of the man- ual and at the keyboard as much as possible. More help on the way Once we've handled your word processing, let MicroPro start solving all your computing problems — with our software solutions. MailMerge™, another WordStar option, makes it easy to combine files to produce per- sonalized form letters. SuperSort™ takes on the biggest sorting, merging, and selecting jobs. And DataStar™ handles data entry, retrieval, and update with tremendous power and precision. Okay, so how do you spell relief now? M-I-C-R-O-P-R-O. icf©Pro, INTERNATIONAL CORPORATION 1299 Fourth Street, San Rafael, California 94901 (415) 457-8990; Telex 340-388 Contact us for the name of your nearest dealer. Runs on most Z80. 8080, 8085 microcomputers with CP; M (TM of Digital Research). 48 K. and terminal wiih addressable cursor. • Also available for the Apple Computer, requires Microsoft SoftCard. Apple Computer is a registered trademark of Apple Computer. Inc. • MicroPro products sold only through authorized dealers. • 8 1981 MicroPro International Corporation. Circle 228 on inquiry card. BYTE October 1981 241 Text continued from page 222: point. The characters "[" and "]", when passed in a string, cause subscripts and superscripts to be plotted. Any characters enclosed in brackets (eg: this is a [superscript]) will be plotted spaced up one half the height of the characters, and any character enclosed in "unbrackets" (eg: this is a ]subscript[) will be plot- ted spaced a similar distance below the current line. The plotting of arrows is another special case. If an arrow is to be plotted, it will be plotted with a height as specified in the parameter passed to "plotstring", but the head of the arrow will always be of the same size. Thus, arrows can be plotted representing, for example, the strength of the current in a given cir- cuit, with the length of the arrow be- ing proportional to the current. If you want to generate any special characters of your own, it is a simple matter to decide on the shape of the character (which, by the way, must reside within a "box" 7 moves high by 4 moves wide) and generate it by coding the appropriate moves using the two vector pads I described above. The characters I have already encoded are shown in figure 2. The procedure "plotwhere" is used to locate the pen on the plotting bed. It is passed two real variables and returns them loaded with the current x and y locations of the plotting pen. This procedure is useful when you want to add a comment or identifying remark to a point or line being drawn on the plot. Simply call "plotwhere", displace the pen an appropriate distance from the current pen posi- tion, plot the comment, and return the pen to its initial position. Graph-Plotting Procedures The procedure "plotarray" is rather complicated. It is used to plot an ar- ray of up to 256 points. Of course, plotting more than that number of points can be done by calling it more than once. The procedure is passed the number of points to be plotted, the frequency of any identifying sym- bol to be plotted, the identifier of the symbol to be used, the beginning point of the plot, the range of the x and y variables, the height of the symbols, the area the plot is to oc- cupy, and, last but not least, the two arrays (of type "coord") that contain the x and y coordinates of the desired plot. This may seem like a large number of parameters to be passing to the procedure, but it allows for a great deal of flexibility in plotting arrays and is, in fact, easier to use in practice than it is to describe. What "plotar- ray" does is to simply scale the loca- tion of the points passed to it and fit them into the space indicated. It then moves the pen to the series of (x,y) points given by the two arrays of "coord"s, with the pen either up or down, depending upon the sign of the frequency of symbols passed. If the frequency of symbols is passed as 0, no identifying symbols will be plotted; if it is 1, every point will be identified; if it is 2, every other point, and so on. If frequency is negative, only the points will be plotted, with no interconnecting lines. As im- plemented, the points can be iden- tified by five different symbols: triangle, X, square, +, or vertical line. These are selected by passing the symbol as 1, 2, 3, 4, or 5, respective- THESE ARE THE CHRRRCTERS RURILRBLE flBCDEEGHIJKLHH0PQRSTUUklXYZ0123456789 =><$V%? ",()%+- THIS IS RH ARROW THIS IS fl SUPERSCRIPT THIS IS fl SUBSCRIPT Figure 2: An example showing the letters, special characters, and plotting options available through the "plotstring" procedure. 242 October 1981 © BYTE Publications Inc ^^^^ oi ,p disk •W°^^t0E oT S100 users. ■■ m egf« co^P^a-inch matures dv0 u« a 9' ,„, >eslin9., w " \nc\udea w . ers lor ^ SupP " Q a va AaW ' qTIS, sG ' *_ ,vnr Deader. |Vo6ws. ...^ OK*****' s direcW " ,l " ejTlS, sG ' «_ ,vnr Deader. <* QuanWV «« . vfte d. ft .. 7566frade S 212 A San^ 2 C A-8730 Telex- AO i See ficcotfP „,.*»»'- "* cc LJ h- 1— o _I UJ Q. z: UJ 1-1 UJ z: to -XL M o \— CO o U_ 1 1 O z: B X a: cc i— CO z: o e: uj □ en CO M CO I— I bo E ,g c p K 3 "a. c a ftC^ To Calculate Markup, Margin, Annuities S o^ « And Effective Rates, Sinking Funds, Mortgage Calculations, Future Value, Difference Between Two Numbers, A Complete Financial Analysis Package Used Compound Interest, Nominal cl^fiN^ Savings and Insurance, Percentage ** 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 are supplied on cassette (add $3 for Diskette Version - add $5 (or modified Mod-II Version). iCQMPLJTRQUICS IVlttTve^lAlCAl. - 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 . SIG NATURE 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 161 on inquiry card. BYTE 0clober 19al 2 55 WHAT'S BETTER THAN AN ISAM And Will Turn MICROSOFT'S BASIC COBOL FORTRAN DIGITAL'S PL/1-80 CBASIC PASCAL/MT+ S-BASIC CROMEMC016K BASIC into first class application languages? MICRO B+ The first and most complete implementation of B-TREE index structures for micro- computers. B-TREES eliminate index file reorganization. Search An index of over 10,000 Key Values In Less Than One Second On A Floppy Disk System for only $260.00! System Houses: MICRO B+'" Available In Language C Fair Com 2606 Johnson DrivD Columbia. MO 65201 (314)445-3304 «H980 Fair Com Shipping $4 USA / $8 Foreign We accept VISA and MASTERCARD Pl/i-80 is a trademark of Digital Research CSASC is a trademark of Compiler Systems. Inc. S-BASIC Is a trademark of Topaz Programming PASC AL/MT- Is a trademark of MT Mic ro Systems (3a) Sample House Energy-Efficiency Analysis HEAT LOSS PROFILE Loss through Walls Loss through Roof/Ceiling Loss through Windows Air Infiltration Loss Total Heat Loss 10916 BTU/HR 2608 BTU/HR 5280 BTU/HR 4328 BTU/HR 23133 BTU/HR (3b) Sample House Energy-Efficiency Improvement With Wall-Insulation Addition Plan HEAT LOSS PROFILE WITH PLAN Loss through Walls 6004 BTU/HR Loss through Roof/Ceiling 2608 BTU/HR Loss through Windows 5280 BTU/HR Air Infiltration Loss 4328 BTU/HR 18221 BTU/HR 21% $191 Total Heat Loss Heat Loss Reduction Annual Savings in Heating Cost = (3c) Sample House Energy-Efficiency Improvement With Caulking/Weather Stripping Plan HEAT LOSS PROFILE WITH PLAN Loss through Walls 10916 BTU/HR Loss through Roof/Ceiling 2608 BTU/HR Loss through Windows 5280 BTU/HR Air Infiltration Loss 1442 BTU/HR Total Heat Loss Heat Loss Reduction Annual Savings in Heating Cost = 20247 BTU/HR 12% $112 Figure 3: Energy-efficiency analysis for the sample house as provided by the program in listing 1. The heat-loss profile in based on existing conditions and represents the sample house's current total heat loss. Nearly 47% of the total heat loss is through the walls. Figure 3b shows that by adding 2 inches of loose rockwool, the total heat loss can be reduced by 21% , for an estimated annual savings of $191. On the other hand, by caulk- ing and weather-stripping the doors and windows, a reduction of 12% of the total heat loss can be achieved at a cost of about $112. Note that these figures are based on a con- stant cost for heating. As the cost for heating increases, more expensive methods of im- proving heat loss become cost-effective. efit from most heating energy-im- provement plans. If a house is air- conditioned, the plan with a margin- ally poor return on investment for heating efficiency is probably a worthwhile investment, when the total energy-efficiency improvement is considered. Other Factors to Consider The heat-loss properties of each house can be very complex and sub- ject to many unknown factors. Varia- tions in construction techniques and materials make it impossible to exact- ly determine heat-transfer coefficients for each building element. The heat lost from air infiltration depends on such indeterminate factors as how loose each door and window fits, out- side wind speed, and what amount of time outside doors are left open when entering or exiting. Effectiveness of 256 October 1981 © BYTE Publications Inc CQMPIJTRQNXCS N C. EVERYTHING FOR YOUR TRS-80* • ATARI* • APPLE* • PET* • •TRS-&0 is a trademark of (he 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 Programs ^■1 „ssed wilhin 24-Hours * 30-Day ™° nev ° 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 BUSINESS 100 PROGRAM LIST 1 RULE7B 2 ANNU1 3 DATE 4 DAYYEAR 5 LEASEINT 6 BREAKEVN 7 DEPRSL 8 DEPRSY 9 DEPRDB 10 DEPRDDB 11 TAXDEP 12 CHECK2 13 CHECKBK1 14 MORTGAGE/A 1 5 MULTMON 16 SALVAGE 17 RRVARIN 18 RRCONST 19 EFFECT 20 FVAL 21 FVAL 22 LOANPAY 23 REGWTTH 24 SIMPDISK 25 DATEVAL 26 ANNUDEF 27 MARKUP 28 SINKFUND 29 BONDVAL 30 DEPLETE 31 BLACKSH 32 STOCVAL1 33 WARVAL 34 BONDVAL2 35 EPSEST 36 BETAALPH 37 SHARPE1 38 OPTWRrTE 39 RTVAL 40 EXPVAL 41 BAYES 42 VALPRINF 43 VALADINF 44 UTIUTY 45 SIMPLEX 46 TRANS 47 EOQ 48 QCIEUE1 49 CVP 50 CONDPROF 51 OPTLOSS 52 FQCJOQ NAME 53 FQEOWSH 54 FQEOQPB 55 QUEUECB 56 NCFANAL 57 PROF1ND 58 CAP1 Interest Apportionment by Rule of the 78's Annuity computation program Time between dates Day of year a particular date falls on Interest rate on lease Breakeven analysis Straightline depreciation Sum of the digits depreciation Declining balance depreciation Double declining balance depreciation Cash flow vs. depreciation tables Prints NEBS checks along with dairy register Checkbook maintenance program Mortgage amortization table Computes time needed for money to double, triple. Determines salvage value of an investment Rate of return on investment with variable inflows Rate of return on investment with constant inflows Effective interest rate of a loan Future value of an investment (compound interest) Present value of a future amount Amount of payment on a loan Equal withdrawals from investment to leave over Simple discount analysis Equivalent & nonequivalent dated values for oblig. Present value of defened annuities % Markup analysis for items Sinking fund amortization program Value of a bond Depletion analysis Black Scholes options analysis Expected return on stock via discounts dividends Value of a warrant Value of a bond Estimate of future earnings per share for company Computes alpha and beta variables for stock Portfolio selection model-i.e. what stocks to hold Option writing computations Value of a right Expected value analysis Bayesian decisions Value of perfect information Value of additional information Derives utility function Linear programming solution by simplex method Transportation method for linear programming Economic order quantity inventory model Single server queueing (waiting line) model Cost -volume-profit analysis Conditional profit tables Opportunity loss tables Fixed quantity economic order quantity model DESCRIPTION As above but with shortages permitted As above but with quantity price breaks Cost-benefit waiting line analysis Net cash-flow analysis for simple investment Profitability index of a project Cap. Asset Pr. Model analysis of project 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 PRINDPA 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 FCIPRINF Future price estimation with inflation 71 MAILPAC Mailing list system 72 LETWRT Letter writing system-links with MAILPAC 73 SORT3 Sorts list of names 74 LABEL I Shipping label maker 75 LABEL2 Name label maker 76 BUSBUD DOME business bookkeeping system 77 T1MECLCK 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 TIMUSAN 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 (JPSZONE Finds UPS zones from zip code 91 ENVELOPE Types envelope including return address 92 AUTOEXP Automobile expense analysis 93 INSF1LE 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 convertible bond 100 PORTVAL9 Stock market portfolio storage-valuation program Circle 162 on inquiry card. D CASSETTE VERSION D DISKETTE VERSION D TRS-80* MODEL II VERSION $99.95 $99.95 $149.95 A/evv 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 foors «*o;; y fc °*DER Litis STATE) (800 > «37- 28 ,e ■CQMPLITRQNICS isAftTveviATcitti. APf*uC-avCT-J& b£^ 50 N. PASCACK ROAD SPRING VALLEY, NEW YORK 10977 HOUR OA ORDER C * LINE 425-1535 Circle 293 on inquiry card. BIGGEST DlSCOUntS Ever On TRS-8CT 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 Listing 1: A TRS-80 BASIC program to perform an energy-efficiency analysis of your home. After asking for your home's vital statistics, the program presents an analysis of your present heat losses. Then, by entering options 1 through 4, you can evaluate the results of the various energy-conservation plans on your house. Data for plans 1 and 4 for the sample house described in the text are shown in figure 3. 40 50 60 70 SO 90 too 110 120 1 30 140 150 160 170 180 190 200 2 1 220 230 240 250 260 270 280 290 300 3 1 3 20 330 340 350 360 370 380 390 400 4 1 420 430 440 450 460 470 480 490 50^) 510 520 530 540 550 560 570 REM-- ■ - ENERB CLS REM BUILD 1 1-46 SURFACE INPUT "HEATING ZONE T=N*10 rOTAL TOTAL TOTAL TOTAL "TOTAL EF'F I C I ENCY ANALYB I S-~ AREA (FROM AND EXISTING MAP ) " ■ N INSULATION DOUBLE PANE WINDOW AREA (SQUARE SINGLE-PANE WINDOW AREA (SQUARE WALL AREA (SQUARE FEET)";WA ROOF/CEILING AREA (SQUARE FEET) ' DOOR AREA (SQUARE FEET)"; DA INPUT INPUT INPUT INPUT INPUT INPUT "R-FACTOR OF EXISTING WALL. INPUT "R-FACTOR OF EXISTING ROOF, CLS PR I NT " - — HEAT LOSS PROF I I....E- PR I NT :: WL= ( 1 / ( WR+2 ) ) *WA*T RL=<1/ (RR+3) ) *RA*T 6L= ( .. 45*GW*T) + ( 1 . 1 *BA*T) DL=„ 54* ( . 8* (BA+GW) + DA) #T PRINT "LOSS THROUGH WALL PRINT "LOSS THROUGH ROOF/CEIL INB PRINT "AIR INFILTRATION LOSS PRINT "LOSS THROUGH WINDOWS TL= I NT ( WL-t RL+GL+DL ) PRINT "TOTAL HEAT LOSS PRINT "ENERGY EFFICIENCY FEET) FEET) 1 RA BW GA INSULATION" 5 WR CE I L I NB I NSULAT I ON ' ;RR 'ADD WALL INSULATION 'ADD ROOF/CEILING INBULf '.INSTALL STORM WINDOWS 'CAULK AND WEATHERSTRIP "I NT (WD ; "BTU 3 "INT(RL) s "BTU. "INT(DL) ; "BTU "IMT(GL) :; "BTU, 'HR HR 'HR 'HR "TL; "BTU/HR" IMPROVEMENT FLAN" (ENTER 1 ) " ION (ENTER 2) " (ENTER 3) " (ENTER 4) " E '0 GOTO GL=(.45# (GA-i-GW) *T> DL=. IS* ( . B* (GA+GW) +DA) *T PRINT PRINT PRINT PRINT PRINT PR I NT PRINT INPUT IF E<3 THEN IF E=3 THEN IF E==4 THEN GOTO 400 INPUT "ADDED R-FACTOR OF NEW INSULATION" ; r IF E=l THEN WL==(1/ (WR+2+R) ) *WA*T IF E=2 THEN RL= ( 1 / ( RR+3+R ) ) *RA*T CLS I PRINT" HEAT LOSS PROF PRINT LOSS THROUGH WALL LOSS THROUGH ROOF/CEILING LOSS THROUGH WINDOWS AIR INFILTRATION LOSS N=INT (WL+RL+GL+DL) TOTAL HEAT LOSS E WITH PLAN 999 I: PRINT PR I NT PRINT PR I NT PRINT: PRINT PRINT- PRINT PRINT: PRINT PRINT PRINT INPUT IF X = l IF X = 2 PRINT INPUT IF Y-l PRINT ND ' I NT ( WL ) ' INT(RL) 'INT(GL) 'INT(DL) 'BTU/HR' 'BTU/HR' 'BTU/HR" 'BTU/HR" 'TN; "BTU/HR' "HEAT I IMPUT LOSS REDUCTION "INT( "TOTAL ANNUAL HEATING ( (TL-TN) / C0ST"sH TL) *100> INI (H* (TL-TN) / OF OTHER' F NO) " s X "ANNUAL HEATING "DO YOU WANT TO "IMPROVEMENTS ? THEN CLS: GOTO THEN CLS "DO YOU WANT TO RUN THIS PROGRAM FOR ANOTHER "BUILDING ? (ENTER 1 IF YES - 2 IF NO)";Y THEN GOTO 20 ELSE CLS "ENERGY AUDIT' PROGRAM TERMINATED" COST SAVINBS=* CHECK THE EFFICIENCY (ENTER 1 IF YES - 2 260 RUN TL) 258 October 1981 © BYTE Publications Inc COmPUTER DEI/ICES AVAILABLE NOW ... SYSTEM 2800 FROM SYSTEMS GROUP FEATURES • IEEE S-100 Bus Compatible Systems, Z80A • Table Top or Rack Mountable • Two Switched AC Outlets on Rear Panel • Two 8-Inch Drives: Single or Double Sided, - n «, „, .- ,. „ _ ,. _ .. _. *. . _. ,„,,„ • One Year Warranty on Entire System Double Density Floppy Disk Drives or 10MB Winchester Hard Disk Drive * 01 ~ /-»>»;■ ->""'"> BKtwrttu. ip u„„.i CM 201/267-1117 Circle 330 on inquiry card. Circle 420 on Inquiry card. Circle 218 on Inquiry card. 260 October 1981 © BYTE Publications Inc If you want a choice in print wheels^ here's the first choice in printers. i^o/ %£2i ¥s~IL a* — K .A The Diablo 630. It's the first printer tliat lets you use either metal or plastic print wheels. So you can choose the print wheel that's just right for the job. The 630 works as well with a 96-character plastic daisy print wheel as it does with an 88-, 92-, or 96-character metal daisy print wheel. In over 100 different type styles. Every 630 has fewer moving parts than competitive printers, which makes it more reliable. And it offers unsurpassed print quality. Compatibility with Diablo supplies. And bi-directional printing capability. So if you want to change your print wheels, you'll just have to change your printer. To a Diablo 630 printer. Diablo Systems XEROX Diablo® and XEROX* arc trademarks of XEROX CORPORATION. Circle 118 on inquiry card. BYTE October 1981 261 Get yourself a reaj chill on HAU0WHM in the nationwide CompuServe Adventure Tournament. Prizes: Grand Masters win two hours of free time on CompuServe. Runners-up win a CompuServe Adventure T-shirt (Grand Masters win this too.) Everyone who enters can, on request, receive a large poster of the Gray Morrow art on the opposite page in full color. We'll charge your account $2.00 for postage and handling. When? Starting at 6 PM local time on Friday, October 30, running through 5 AM on Monday, November 2. How? Since this will be our first nationally- advertised tournament, we may have to make some last minute changes following our "in-house" tournament on Labor Day. So check the "What's New" section of the CompuServe Information Service for details preceding the contest. So enter. Collect treasures. Slay dwarves. And practice, prac- tice, practice. How else will we be able to afford the T-shirts? CompuServe 5000 Arlington Centre Blvd. Columbus, Oh 43220 Information Service Division (800) 848-8990 If you're not already a member of the country's largest personal computer network, get on-line now! How does it work? Your computer talks to our computers. You need a modem and some special software. Software for the TRS-80* and Apple II® computers are available at many Radio Shack* outlets and all Radio Shack® Computer Centers. Atari® users can access the system via Telelink™ software. Persons owning other brands of computers or terminals can also purchase the CompuServe Information Service through Radio Shack®. In more than 260 U.S. cities you can reach the CompuServe Information Service via a local phone call. The cost is $5 per hour, billed in minutes, to your charge card, for service between 6 PM and 5 AM local time on weekdays and all day on Saturday, Sunday and most holidays. Limited daytime access is available at a higher rate. What do I get? There are more than 1 75 topics listed in the on-line index. Most first-time users are interested in: 1. News, weather, sports. We offer the electronic editions of many of the major daily newspapers and the AP news and sports wires. 2. CB simulation. "Talk" to other computer users anywhere in the country. We also offer electronic mail. 3. Games. Many, including the multi-player Space War, Star-Trek, four Adventure games. 4. Finance. Again, a wide variety for both historical and current data on stocks, bonds and commodities. 5. Computer user groups (including national bulletin boards) and computer manufacturers' newsletters. 6. Home information. Family Service. Government publications. Aviation news. Energy-saving tips. And more. When you are ready, CompuServe Information Service can provide you with a lot of big mainframe computer power. But see a demonstration at Radio Shack® right away so you can get on-line before the tournament. Radio Shack and TRS-80 are trademarks of Tandy Corporation. ATARI and Telelink are trademarks of ATARI, Inc. Apple is a trademark of Apple Computer, Inc. Circle 79 on inquiry card. BYTE October 1981 263 Bridging the 10-Percent Gap Paul T Brady 91 Marcshire Dr Middletown NJ 07748 In my spare time, I'm the ad- ministrator of a nature center in Mid- dletown, New Jersey. We have a staff of five, an annual budget approach- ing $40,000, a mailing list of 1500 names, annual attendance of 10,000 visitors, and a need to type and/or mimeograph letters, handouts, and other literature. (If you wonder how we can support five people on $40,000, we can't; some staff mem- bers are on the payroll of other agen- cies.) And if you were wondering what a nature center has to do with com- puters, take a minute to think about the figures in the first paragraph. You'll soon see that we were absolute- ly hurting for a small computer. This article describes our problems and eventual success in computeriz- ing many of the office functions at the nature center. It's one of many similar stories, I'm sure. But there are also many small businesses like ours, in- cluding grocery stores, museums, law offices, and other firms, that could benefit from computers — but won't because of the 10-percent gap. The 10-Percent Gap I make two claims: 1. There is already available a wide range of excellent hardware at rea- sonable prices that can perform the functions a small business requires. 2. There is also an enormous range of available software that will almost do the required job. It will do a 90-percent job. But to bridge the 10-percent gap requires experience and efforts far beyond the abilities or interests of the typical small- business owner. This 10-percent software gap is holding back a vir- tual explosion of data processing into small businesses. Background My computer work began in 1958, programming the TX-0 computer at MIT in machine language (what else). I have sampled many other com- puters and languages, generally using minicomputers and microcomputers. By profession, I work at Bell Labs and specialize in performance measure- ments of mid-size systems, especially VAX/VMS systems (made by Digital Equipment Corporation). I also spent many years designing and testing human-factor interfaces to computer systems. The nature center grew from a citi- zens' movement in 1969 to save land for a park. We succeeded, and now have a fine 250-acre park with histor- ic buildings and a new nature center. The name of the park is Poricy Park (an Indian name from the 1600s). It is operated by a citizens' committee with an excellent profes- sional staff — who have absolutely no background in computers. We Needed Help! The first warning that we needed data processing came from our in- ability to manage our mailing list by hand. Just try hand-addressing 1000 envelopes! So I wrote a program to print labels from a name-and-address file and put it on a timeshared system. For many years, this program got oc- casional use whenever we had a mail- ing. But there were problems. The com- puter system was often down for modifications, especially in the eve- ning hours when we usually used it. It was not available to our staff, we had no dial-up equipment, and we often wouldn't have daytime access even if we could dial in. But the most serious problem was that I was the only per- son in the world who knew how to use the system. If anything happened to me, good-bye mailing list. We finally realized that we had to become self-sufficient, and that several people had to be able to manage the list. The second need for a computer was realized soon after we opened the park year-round. Our accounting system, managed in part by nonex- pert secretaries and in part by volunteers, was a real headache. We often met at nights, pounding on an adding machine generating yards of tape, trying to find minor errors in entering checks or locating missing deposit entries. The annual tax-return time was a nightmare, when we usually had to plow through every- thing again. 264 October 1981 © BYTE Publications Inc \ •mmmmma. ' kt *# i ,<■ ; -si I - Searching for a Solution In early 1979, we came up with partial specifications. We had to fit the mailing list on one floppy disk; this demanded either 8-inch disks or 5-inch quad-density disks. We needed an impact printer with adjustable tractor feed (for labels), and, if possi- ble, of letter quality for secretarial work. Finally, we needed a video ter- minal; we did not care whether it was separate or incorporated into the main computer. We had no need for video graphics or color, so we could use any standard terminal. We began by visiting a computer store, a nicely decorated operation with impressive-looking equipment. We were greeted by a friendly sales- person who asked what we wanted. After we explained who we were and what we needed, he immediately told us they had the solution. This so- called solution was a $15,000 system with bells and whistles, a dot-matrix printer, etc, far out of our price range and probably not even suitable. After finally getting down to a system we might be able to handle, we engaged in dialogue such as: Clerk: "Suppose you wanted to play chess." Us: "We don't want to play chess." Clerk: "But suppose you do." Us: "We don't. We want to do ac- counting and mailing-list manage- ment." A little more of this and we got to see the manager. We asked if the BASIC system, or any other system that came with the machine, had decimal floating-point arithmetic, as October 1981 © BYTE Publications Inc 265 opposed to binary floating-point. (Binary floating-point can have round-off error on fractions, in- tolerable in accounting. Until recent- ly, most microcomputer systems rep- resented numbers only in integer or binary floating-point format.) The manager answered that their systems had great precision, certainly enough for dollars and cents. We explained that we were not talking about preci- sion, the number of digits supported, but the way decimal fractions were stored internally. The manager got angry and condescending; we got dis- gusted. No sale. The next few months produced similar encounters. All dealers claimed to have just what we wanted, except that they never bothered to ask us what we wanted to do with it, or anything at all about our business. This is one of the fundamental prob- lems of dealers. Because they spend so much time talking to computer freaks, they assume everybody wants What Causes the Gap? What causes the gap between soft- ware technology and business applica- tions? One reason commonly cited is computer scientists' preference to de- velop new theories and explore abstract concepts, rather than develop application techniques. This is illustrated by the "Letters" column in the December 1980 BYTE. There is a letter about a language that will generate a program that will reproduce itself. There's another about stack problems. There's a whole sec- tion of comments on the FORTH ar- ticles in the August issue. There's even someone who wants to hear more about SNOBOL. (Now there's an oldie!) It's clear there are some pretty sophisticated readers out there. In my profession as a computer-sys- tems analyst, I often interview computer-science graduates. It is a common lament among interviewers that all we get are people who (1) want to design a new compiler, or (2) want to build an operating system. They are taught the mathematical beauty of stack-oriented languages, or list pro- cessors, and so on, and would be right at home with those who wrote the let- ters to BYTE. I am certain there's a place for pure programming in our society, but I think the real prizes will go to whoever can make computers understandable and useful to businesses. The Twain Must Meet The first part of the solution is to give people the necessary background. Train them in night school, and train their children in grade school. Don't train them how to build self- reproducing programs (unless they really want that), but train them in business applications of computers. It may be possible to establish a science of computer applications. It is certainly a challenge to write a new language or operating system, but it is also a challenge to develop a discipline that studies applications. How many computer-science graduates know the elements of accounting? How many have studied business administration? These people are very bright, and if they are exposed to the practical prob- lems businesses encounter, they may discover that applications is itself a challenging problem. We need better standards of com- mercial software. I am convinced that a common language is hopeless; BASIC comes as close as any, but com- puter scientists get ill when it is men- tioned. (I can empty a room by stating: "BASIC is my language, and GOTO is my favorite instruction." Mentioning COBOL also produces some pretty neat reactions.) Perhaps we cannot set- tle on a standard language, but at least it should be one that is widely ac- cepted. Software should be easy to modify or expand. Maybe I am old-fashioned, but I prefer to get source code; it would have saved me hours with our North Star system. At least, tables of transfer vectors and interface hooks should be documented. Perhaps what we will eventually come to is an industry, already being established, of businesses that special- ize in installing software for other busi- nesses. It may be similar to the auto- service industry. I have no idea how to fix a car, yet I buy one with some con- fidence that my local mechanic (who I happen to think is pretty good) can take care of whatever happens. The analogy is far from perfect, but perhaps it helps make the point. to play with systems, languages, and various gadgets. We don't. Our busi- ness is running a nature center — not a computer center. Because dealers spend so much time talking to computer freaks, they assume everybody wants to play with systems and languages. Our System Eventually, from the wide range of equipment and operating systems available, we arrived at our current configuration. It includes.- • a North Star Horizon computer with 48 K bytes of memory and two quad-density disk drives (each disk has 360,000 bytes) • a Perkin-Elmer Bantam terminal • a beautifully reconditioned Perkin- Elmer Carousel printing terminal, donated by the Perkin-Elmer Cor- poration (whose computer division is in the town adjacent to the park; clearly a special case for them to do this) Some of the equipment was pur- chased with special private grants. No membership funds were used. I emphasize this because we have not, unfortunately, reached the point where contributors think positively about using their donations for a computer. Typewriter, yes; com- puter, no. Let's hope this attitude soon changes. We are very pleased with the equipment, but many other manufac- turers would do as well. There is much fine hardware on the market. The main problems occur in the software. There's plenty of soft- ware — but virtually none of it bridges the 10-percent gap. Why Software Is Inadequate Here are some reasons why com- mercially available software was un- suitable for our business: 1, It is too complex. I purchased the manual for an accounting program, 266 October 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. Single sheet feeder is very simple to use. The only front load feeder available on the market today.' "Q.T." cover reduces noise to an office comfort level. This is an optional feature to our standard sound dead- ening case. 1K standard Duffer permits the 88G 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 tracror/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 88G. RS232C serial and Cen- tronics'- type parallel is standard. Options can be added for current loop, IEEE 488 and high speed serial inputs. Zvnpi 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 88C wins! Single unit price is less than $800. 'Optional 1icro Peripherals, Inc. 4426 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 13 TO 2SM8SQ Massachusetts Butler (617) 965-1080 Minnesota Boniig & Associates (612) 922-7011 New Jersey Hansen & Hugnes (201) 652- 7055 Oregon Microware (503) 620-8150 Washington Mlcroware (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 Thorson Distributors (214) 233-5744 Circle 252 on inquiry card BYTE October 1981 267 Photo 1: 77ie nature-center computer system consists of a Perkin-Elmer Bantam ter- minal, a Perkin-Elmer Carousel printer, and a North Star Horizon computer. but decided it was overkill for our small business. Many files were ma- nipulated, 5-digit account numbers were used, and fairly elaborate forms were produced. All these were way beyond our needs or ability to han- dle. In another example, most word- processing systems are fine for profes- sional secretaries or typists, but they have a bewildering array of features. In one popular text editor, virtually every key on the keyboard assumes a special escape role in editing. You can insert, search, delete, search and delete, reformat, and on and on. 2. Much of it is too expensive. We are a small, nonprofit corporation; we barely managed the funds re- quired for the hardware. We simply cannot spend hundreds or thousands more on software. 3. The programs are incompatible with each other. The key used for correcting errors is BACKSPACE in one program, DELETE in another; in one program, you specify line range 2 through 35 as "2,35" and in another, as "2:35"; the letter "s" stands for "save file" in one program, "w" is used to "write" (save) in another. Our staff would never be able to keep these straight. Some vendors are overcoming this problem by offering complete packages. This is a step in the right direction. 4. The commercial software is nearly impossible to modify. Much of it is shipped as machine-language mod- ules. I have years of bit-picking (or bit-twiddling) behind me, and I still find no beauty in deciphering a mem- ory dump. Or the program is in Pascal, or C, or whatever, and we don't have a compiler for that lan- guage. 5. Many programs require disk changes and other potentially danger- ous procedures to run them. If profes- sional system managers sometimes get disks mixed up, what about nature-center employees? 6. The most important reason of all: the programs don't do what we re- quire. Thus, even if we received a package of compatible programs, all with the same human-factor inter- face, we would still have to make many modifications to suit our needs. I'll illustrate this with two examples: the salary program and the mailing- list manager. A Salary Package A salary program is very useful. Employees work odd hours. Some are paid weekly, some hourly. Deduction status for an employee might change during the year. Part-time workers come and go. Income tax W-2 forms have to be prepared every year. It's nice to automate this. An advertisement offers a "power- ful, flexible payroll program. Federal, state, Social Security, etc, withhold- ings are automatic." But we have some local obstacles. New Jersey has an unemployment and disability tax that affects only the first $7500 of income on a per-person basis. This threshold is crossed at dif- ferent times by different employees. Mary Smith's year-to-date wages last week were $7404; this week they were $7581. We have to recognize that $7500 was crossed, and tax only the proper fraction of the week's pay. The $7500 figure changes as state policy changes. Does the "powerful, flexible payroll program" handle this tax? [ Various other states have excep- tional procedures that create prob- ^wesMAffnN McGraw-Hill Bookstore )oks Please print clearly. Design and Strategy" for Distributed Data Processing toy James Martin "The man generally acknowledged to be the computer Industry's most widely read au- thor, best attended lecturer, and foremost authority on the social and commercial im- pact of computers. " - Computer World "Distributed processing is here to stay and will change the way hardware and software are Implemented. "-James Martin Here is clear strategy and illustrated techniques of good design for distributed processing. The author skillfully builds understanding of the complex tech- nology. 637 pp. $37.50 BY10 m McGraw-Hill Bookstore 11221 Avenue of the Americas jN.Y.N.Y 10020 .' Please send me copies of • Design and Strategy for Distributed Data • Processing by James Martin at $37.50. •MasterCard Visa AmerExp • Account No._ '. Name I Address " City Expires _ State. Zip_ I Add sales tax plus $2.50 postage, handling 268 October 1981 © BYTE Publications Inc The Text Solution for APPLE II® Now APPLE II® Owners Can Solve Text Problems With VIDEOTERM 80 Column by 24 Line Video Display Utilizing 7 X 9 Dot Character Matrix Perhaps the most annoying shortcoming of the Apple II® is its limitation of displaying only 40 columns by 24 lines of text, all In uppercase. At last, Apple 1 1 " owners have a reliable, trouble-free answer to their text display problem. VIDEOTERM generates a full 80 columns by 24 lines of text, in upper and lower case. Twice the number of characters as the standard Apple II" display. And by utilizing a 7 by 9 character matrix, lower case letters have true descenders. But this is only the start. VIDEOTERM, MANUAL, SWITCHPLATE VIDEOTERM Pascal Other Boards I'tunut,-,/ B 1 1 3 4 5 6 7 8 9 :;<--> ? fflBCDEFGHIJKLNNO P R S T U V W H Z [ \ ] '' . 'dbco'efphijk lnno Advanced Hardware Design Available Options 7X12 MATRIX 18X80 OPTIONAL !»III» • C >*♦■-. / ♦12J45S78S : i < = >? ( 1 1 C D E F 6 H I J K L « I pcBSTuvuxrzr\it_ ' i b c d e f J h i j k I • « o p q r s t i) v w k y I f : ) ' 1 7X9 MATRIX 24X80 STANDARD VIDEOTERM lists BASIC programs, both Integer and Applesoft, using the entire 80 columns. Without splitting keywords. Full editing capabilities are offered using the ESCape key sequences for cursor movement. With provision for stop/start text scrolling utilizing the standard Control-S entry. And simultaneous on-screen display of text being printed. Installation of VIDEOTERM in slot 3 provides Pascal immediate control of the display since Pascal recognizes the board as a standard video display terminal and treats it as such. No changes are needed to Pascal's MISC. INFO or GOTOXY files, although customization directions are provided. All cursor control characters are identical to standard Pascal defaults. The new Microsoft Softcard' is supported. So is the popular D. C. Hayes Micro- modem II* , utilizing customized PROM firmware available from VIDEX. The power- ful EasyWriter' Professional Word Processing System and other word processors are now compatible with VIDEOTERM. Or use the Mountain Hardware ROMWriter' (or other PROM programmer) to generate your own custom character sets. Natural- ly, VIDEOTERM conforms to all Apple OEM guidelines, assurance that you will have no conflicts with current or future Apple II' expansion boards. VIDEOTERM's on-board asynchronous crystal clock ensures flicker-free character display- Only the size of the Pascal Language card, VIDEOTERM utilizes CMOS and low power con- sumption ICs. ensuring cool, reliable operation. All ICs are fully socketed for easy maintenance. Add to that 2K of on-board RAM, 50 or 60 Hz operation, and provision of power and input connectors for a light pen. Problems are designed out. not in. The entire display may be altered to inverse video, displaying black characters on a white field. PROMs containing alternate character sets and graphic symbols are available from Videx. A switchplate option allows you to use the same video monitor for either the VIDEOTERM or the standard Apple II' display, instantly changing displays by flipping a single toggle switch. The switchplate assembly inserts into one of the rear cut-outs in the Apple II* case so that the toggle switch is readily accessible. And the Videx KEYBOARD ENHANCER can be installed, allowing upper and lower case character entry directly from your Apple II* keyboard. 1K of on-board ROM firmware controls all operation of the VIDEOTERM. No machine language patches are needed for normal VIDEOTERM use. Characters Options 7x9 matrix 7x12 matrix option; Alternate user definable character set option: Inverse video option. Firmware Version 2.0 Display 24 x 80 (full descenders) 18 x 80 (7 x 12 matrix with full descenders) Want to know more? Contact your local Apple dealer today for a demonstration. VIDEOTERM is available through your local dealer or direct from Videx in Corvallis, Oregon, Or send for the VIDEOTERM Owners Reference Manual and deduct the amount if you decide to purchase. Upgrade your Apple II* to full terminal capabilities for half the cost of a terminal. VIDEOTERM. At last. Apple II* is a trademark ot Apple Computer Inc. ROMWriter* is a trademark ol Mountain Hardware Inc. Micromodem IT is a trademark of O C Hayes Associates Inc Softcard' is a trademark ol Microsoft EasyWnter is 3 trademark ol Information Unlimited Soltware Inc • VIDEOTERM includes manual $345 • SWITCHPLATE $ 19 • MANUAL refund with purchase. . . .$ 19 •7x12CHARACTERSET $ 39 • MICROMODEM FIRMWARE $ 25 APPLE II® OWNERS! introducing the KEYBOARD & DISPLAY ENHANCER ■ PUT THE SHIFT AND SHIFT LOCK BACK WHERE IT BELONGS ■ SEE REAL UPPER AND lower CASE ON THE SCREEN •ACCESS ALL YOUR KEYBOARD ASCII CHARACTERS Videx has the perfect companion for your word processor software: the KEYBOARD AND DISPLAY ENHANCER Install the enhancer in your APPLE II and be typing in lower case just like a typewriter If you want an upper case character, use the SHIFT key or the CTRL key for shift lock. Not only that, but you see upper and lower case on the screen as you type. Perfectly compatible with Apple Writer and other word processors like, for example. Super -Text. U you want lo program in BASIC, just put it back into the alpha lock mode; and you have the original keyboard back with a few im- provements Now you can enter those elusive 9 characters directly from the keyboard, or re- quire the Control key to be pressed with the RESET to prevent accidental resets KEYBOARD AND DISPLAY ENHANCER is recommended for use with all revisions of the APPLE II. It includes 6 ICs. and EPROM and dip-switches mounted on a PC board, and a jumper cable Easy installation. meaning no soldering or cutting traces Alter- nate default modes are dip-switch selectable. You can even remap the keyboard, selecting an alternate character set, for custom applications. W&m-; :- ■ PRICE • KDE-700 (REV. 7 or greater) $ 129. • KDE-000 (REV. 6 or less) S129. Apple II* is a trademark of Apple Computer. Inc fl ffl^ VIDEX 897 N.W. Grant Avenue Corvallis, Oregon 97330 Phone (503) 758-0521 Circle 385 on inquiry card BYTE October 1981 269 lems for general-purpose payroll pro- grams.... RSS] The workmen's-compensation audit usually requires salary to be ac- counted between arbitrary dates, such as February 1 to August 20. Can the package handle that? No matter what package is offered, we will find something we need that is not included. The Mailing-List Manager Many mailing-list managers are of- fered. They usually contain various fixed fields, a few including special keying fields. Surely we could use one of these. Probably not. We had eight years' experience with our first mailing-list program and developed a long wish list for the next one. We don't handle just names and addresses. We handle memberships. We want to record contributions and remarks. If Jack Armstrong donated an enlarger for the darkroom, we want to record that. We might want a list of all peo- ple who have contributed since last September. Or all those who con- tributed last year, but not this year. Or everyone who gave more than $50. New contributions have to be easy to enter, and an automatic purge should be done on very old contribu- tions to keep the file size reasonable. Key fields should allow "ORing" categories, such as "volunteers or patrons." The program must print labels, give statistical analyses of con- tribution records, and have internal checks on zip code validity. If such a program is marketed, we didn't find it. And these requirements are not at all unusual — they are what any business such as ours would reasonably require. Software Development In the fall of 1979, uncertain how much software we could purchase and what it would do for us, we re- ceived our North Star computer. It came with BASIC, DOS (the North Star disk operating system), and a few memory utilities such as disk copy, hexadecimal or ASCII dump, etc. There was no machine-language assembler or disassembler (symbolic dump), nor was there a text editor. Since we had no funds for such software, I began playing with BASIC and found that I liked it very much. Best of all, it allowed direct ac- cess to memory with FILL and EXAM (POKE and PEEK) and raw key- board input of characters, essential for picking up special control keys. We ended up coding all of our soft- ware ourselves. Each program was first outlined and discussed with other computer people and the nature-center staff. Each took a few weeks to write and document. By summer 1980, we had the following programs: • a text editor • a program to record field trips we ran, with attendance, date, etc, and an analysis feature to yield summary statistics over any time span for all types of trips • a payroll program • a general-accounting package, with a wide range of features, has already saved untold hours of volunteer and staff time 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, HO, OEM Variations 763 Ramsey Ave., Hillside, NJ 07205 (201) 686-8080 270 October 1981 © BYTE Publications Inc Circle 139 on inquiry card. STATE OF THE ART MEMORY SYSTEMS 512KB SINGLE BOARD MULTIBUS® MEMORY State of the Art Multibus Memory Design. First to Offer 512KB on One Board. The CI-8086 module is compatible with both 8 or 1 6 bit Multibus Systems. PARITY — The CI-8086 generates and checks even parity with selectable interrupt on parity error. FAST ACCESS AND CYCLE TIME — Data access is 270 NSEC and cycle time is 375 NSEC. 16 MEGA BYTE ADDRESSING — The memory is addressable in 16K increments up to 16 mega bytes. LOW POWER CONSUMPTION — Total power consumption is under 8 watts. 512Kx9 $2995. SINGLE QTY. PRICE: 128Kx 9 $1350. inn 11 iiiiimi iaiiiiiu liiiiil ■Glials 'HW"" 256KB LSI 11/23® SINGLE DUAL WIDTH BOARD The First and Only 256KB Memory on a Single Dual Board. 4 MEGABYTE ADDRESS FIELD — Most memories available forthe DEC PDP 11/23 are only addressable to 256K bytes (18 address lines). The CM 1 23 is addressable to 4 mega bytes (22 address lines) so there is no need to worry about obsolescence. FAST ACCESS AND CYCLE TIME — With an access time of 240 NSEC and cycle time of 400 NSEC one is insured the best throughput on the PDP 11/23 system. PARITY — The CI- 1 123 generates and checks parity for each byte of memory. Totally DEC compatible. BATTERY BACKUP POWER CONSUMPTION — Power requirement for the module is only 1.2 AMP from the 5 volt supply. The CI- 1 123 is easily configured for battery back-up mode of operation requiring only 300MA from a single 5 V back-up supply for 256KB memory in the down state. SINGLE QTY. PRICE: 32Kx 18 $575. 128Kx 18 $1925. 64K x 9 EXORCISER® I SINGLE BOARD MEMORY For Exorciser I. Exerciser II and Rockwell System 65. FAST ACCESS AND CYCLE TIME — Data access time is 225 NSEC and cycle time is 400 NSEC, allowing the unit to work as a static RAM at clock rates in excess of 1.5 megahertz. For 2 mega hertz operation the board can be easily configured to utilize a cycle stealing refresh operation. ADDRESSING — On-board memory select is available in 4K increments up to 64K words of memory on either the VUA or VXA control inputs. PARITY — On board even parity with output jumper select to the system bus as a parity error or non-maskable interrupt. Complete board power consumption is under 7 watts. SINGLE QTY. PRICE: 64K x 9 $575. Tested and burned in. Full year warranty. OONTASK WHY WE CHARGE SO LITTLE. ASK WHY THEY CHARGE SO MUCH. ^f 1 Chrislin Industries, Inc. ^90*S 31352 Via Colinas • Westlake Village, CA 91362 • 213-991-2254 MuIMkii it a lrKtfm»k of It* bittl Corp. LSI II it ■ Iradamark of Drfital Corp. EXORdltr is a tradtmark of Motorola Circle 67 on inquiry card. BYTE October 1981 271 Circle 82 on Inquiry card. If you're looking for the best prices in the U.S.A. oh MICROCOMPUTERS We have consistently offered the TRS-80 line at savings up to 20%. You can save up to S1500 by buying from Computer Discount of America. ATARI* MICROCOMPUTERS We have the full line of ATARI per- sonal computers and systems. Model II 26-4002 64K. 1 disc $3385.00 Model III 26-1061 4K, Level I $ 610.00 26-1062 ,6K. Level III $ 845.00 26-1066 48K. Level II 2-drive/RS-232 $2115.00 Color Computer 26-3001 4K $ 329.00 26-3002 16K w/Ext. Basic $ 499.00 EPSON MX70 Primer $ 375.00 MX80 Printer $ 485.00 MX80FT Printer $ 639.00 Our savings are as big on expansion interfaces, printers, diskettes, Apple Computers, OKIDATA Microline, C-IT0H Starwriter, Lexicon Modems — everything for your computer. We have the largest inventory in the Northeast, 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 In New Jersey Call 201-728-8080 • a label program, which handles any number of files, and prints names, ad- dresses, and optional comments in list or label form, is used for special mail- ing lists, such as the list of volunteers • a main mailing-list program that, as already mentioned, also keeps track of contributions Operating-System Changes The 10-percent gap exists not only for commercial-application pro- grams, but also for languages and op- erating systems. The North Star soft- ware comes with several pages of documentation on how to make changes to suit your hardware or other special requirements. These were useful, but the beginning pro- grammer might have difficulty understanding the functions of these changes. However, some changes we had to make were not documented, as in the following example. After writing the text editor and getting it to work with the video ter- minal, I tried it with the printer. It started off all right, but carriage returns suddenly began to be inserted at seemingly random places in the text. This made the editor unusable, so I had to find what was causing the returns and suppress them. The problem turned out to be in the operating system. I fixed it in an afternoon with hardware boots, hexadecimal object-code dumps, and some trial and error. It's the kind of thing that turns on a computer buff, but not the manager of a nature center. Computer 1, Staff When the editor and a few other programs were completed, it was time to introduce the computer to the staff. It was a rather difficult first month. But to judge from my ex- perience with human factors and computers, it was no different from any other first encounter of inex- perienced people with computers. The initial problems were severe but were quickly cured. The worst one involved the inability of people to differentiate which program and which mode they were working in. People would give BASIC commands to the operating system (such as "RUN") and receive puzzling responses (in this case, "7"). When they finally got into a program I wrote, I expanded on the error mes- sages, but they ignored them any- way. The most common error in the editor was typing text when com- mands were expected (ignoring the command prompter) and vice versa (ignoring a text prompter). Training and much practice overcame this. But the most persistent problem, which still exists to a small degree, is getting people to grasp the concept of files. Assume the editor is used to create a file "turtle." The next day, our secretary enters the editor and reads the file "turtle." She modifies it and, instead of writing it back to "tur- tle," writes it instead to "shell." Any experienced user of systems like these will realize there are now two files on the disk: "turtle" and "shell." But not the novice. The novice thinks the editor somehow worked on the file "turtle" and refiled it under "shell." In other words, our secretary views the system as a filing cabinet in which a folder was taken out, worked on, and put somewhere else. The confusion was compounded when "turtle" was read in, "shell" was read in and appended to "turtle," and the result was written to either of the old files or even a new one, "egg." The problem arises because a novice doesn't realize the computer actually works on a special memory or tem- porary file. The novice insists that the computer is working on "turtle" or "shell " and will not accept the con- cept of working on this merged file that really has no name and no direct correspondence to any file on the disk. Some computer-oriented friends suggested an interesting scheme to ex- plain the file concept. We obtained several decks of playing cards and had everyone stand around a table holding five or six cards. I sat at the table playing the role of the com- puter. Each player's hand was a file, with the name of the player. We began with file "barbara." Instead of putting her cards on the table, I copied them, dealing myself an iden- tical hand from another deck. I then 272 October 1981 © BYTE Publications Inc Q. What do these dealers have in common? A. They sell Tarbell quality products. ALABAMA "Jett Consulting 1312 Brookmeade St. Huntsville 852-4364 ARIZONA Thought Works 3532 W. Thomas Rd. #2 Phoenix 271-9098 S-100 Inc. 14425 No. 79th St. Suite B Scottsdale 991-7870 Telegraphic Computer 2113 S. 48th Tempe 998-3163 'Ozymandias Systems 976 S. 5th Yuma 783-4315 NORTHERN CALIFORNIA Jaynes Eleclronics 135 So. Bolinger Rd. Visalia 733-2515 National Computer Center, Inc. 3038 No. Cedar Avenue Fresno 227-8479 Argos Computer 790 W. Shaw Ave. Suite 360 Fresno 221-7211 D & W Digital 1524 Redwood Drive Los Altos 966-1460 Electrolabs 930 Emerson Avenue Palo Alto 321-5601 'Digital Graphics Systems 935 Industrial Ave Palo Alto 856-2500 Support Systems 1157 Chess Drive. Suite G Foster City 349-2340 •PKG Systems 1755 Arlington El Cerritos 235-5261 Computer Store of San Leandro 701 MacArthur Blvd. San Leandro 569-4174 Computers West 1300 Creekside. Suite 319 Walnut Creek 944-9431 Buchla Associates 1740 Arch Street Berkeley 848-0790 Queue Computer Corp. 1044 University Avenue Berkeley 845-5300 'Bell Controls 270 Prospecl Drive San Rafael 924-2990 'Aaron Enterprises 790 Pine Lane San Rafael 479-4268 Computer People 20 Oak Grove Ave. Woodacre 488-0992 Data Comm Engineering 720-D Capitol Avenue Capitola 475-3540 ■RCS Inc. 2116 Walsh Avenue Santa Clara 244-4505 System Technology 100 A Mt. Hamilton Rd. San Jose 251-8002 Microbyte Computer Store 2798 So. Bascom San Jose 377-4685 Electronic Systems 5B69 Winfield Blvd. San Jose 226-4064 'Joe Bergin 4354 Vulcan Drive Sacramento 486-8033 SOUTHERN CALIFORNIA 'Versacomp 3016 Waverly Drive #303 LOS Angeles 666-4447 'Omega Enterprises 921 N. La Jolla Ave. Los Angeles 656-7388 Cal Blu Corporation 350 S. Figueroa Street Suite 389 Los Angeles 617-2185 Applied Processor Laboratories 11808 So. Prairie Ave. Hawthorne 676-8940 'California Digital 4738 W. 56th Street Lawndale 679-9001 *SAS Computer Products 11766 Sunset Blvd. Pacific Palisades 459-5674 'Query Computing Systems Inc. 481 2 La Villa Marina Suite F Marina Del Rey 823-5959 Futra Co 3447 Torrance Blvd. Torrance 370-1589 'Computer Place 2530 West Sepulveda Torrance 325-4754 'Computer Galaxy 14112 San Antonio Norwalk 863-8008 'Brown Dog Engineering P.O. Box 427 Lomita 326-8482 Culbertson & Associates 14611 Leahy Bellflower 920-7438 Action Computer Enterprise 55 W. Del Mar Blvd. Pasadena 793-2440 "Dynatron International Co. 9514 Reseda Blvd.. Suite 8 Northridge 881-8700 Hobbyworld Electronics 19511 Business Center Dr. Northridge 886-9200 'Elliam Associates 24000 Bessemer St. Woodland Hills 348-4278 'Computer World 58/8 Sepulveda Blvd. Van Nuys 786-7411 Data Vector Corporation 2412 N. Keystone St. Burbank 842-2866 'Astar International Co. 5676 Francis Avenue Chino 284-0561 Richard Chew 2020 Crown Circle La Verne 596-3480 E.D.P. Management 5465 Lake Murray Blvd. #D La Mesa 462-5400 Byte Shop 8038 Clairemont Mesa Blvd. San Diego 565-8008 Computerland 4233 Convoy Street San Diego 560-9912 The Computer Center 8205 Ronson Rd. San Diego 292-5302 'CTC-The Computer People 5560 Ruffin Road San Diego 565-0505 'Bits n Bytes 679 D. So State College Bl. Fullerton 879-8386 International Scientific USA. Inc. 679 S. State College Blvd. Suite E Fullerton 870-9491 'DMM Software 11502 Janette Lane Garden Grove 534-0115 'Scharf Office Systems Inc. 8562 Acapulco Huntington Beach 963-2730 'WEH Computer Systems 8481 Grace Circle Huntington Beach 964-4425 Cotton Associates 1278 Glenneyre #16 Laguna Beach 499-2994 Computer Systems and Applications 965 No. Main Street Orange 535-3335 Byte Shop 123 E. Yorba Linda Blvd. Placentia 524-5380 Advanced Computer Products 1310 B. East Edinger Santa Ana 558-8813 'L. Electronics 410 Bell Avenue Santa Ana 557-6796 •Computers Plus 1827 State Street Santa Barbara 963-4542 COLORADO 'Epsilon 14501 E. Alameda, Ste. 204 Aurora 344-0874 Business Data Systems 1688 30th Street Boulder 444-3652 CONNECTICUT Office Services of Hamden Inc. 965 Dixwell Avenue Hamden 624-9917 FLORIDA Applied Microcomputer Technology Inc. 241 Old Dirt Road Tallahassee 878-3385 'Quaray Devices 1033 N. E. 8th Avenue Gainsville 373-7959 'Matthew-Douglas Assoc. Inc. 1337 E. Altamonte Drive Altamonte Spring 830-961 1 Byte Shop of Ft. Lauderdale 2176 W. Oakland Park Ft. Lauderdale 486-2983 Erdman Computer Services 2454 N.E. Dixie Highway Jensen Beach 334-3366 'Microcomputer Technology 1549 W. Brandon Blvd. Brandon 685-6714 GEORGIA Electromagnetic Sciences Inc. 125 Technology Park Norcross 448-5770 'Advanced Computer Technology 6540 Roswell Road Atlanta 255-8984 Computerland of Atlanta 2423 Cobb Parkway Atlanta 577-2449 'H & L Electronics 5144 Peachtree Road Atlanta 455-0626 HAWAII "Kahaluu Computing 47-500 Kam Kaneohe 239-7267 Mahalo Microsystems Ltd. 355 Royal Hawaiian Ave. Honolulu 922-2152 Small Computer Systems 3140 Waialae Avenue Honolulu 732-5246 Lillipute Computer Mart 4446 Oakton Street Skokie 674-1383 'Midwest Microcomputers Inc. 708 S. Main Street Lombard 495-9889 Bies Systems Inc. 7037 West North Avenue Oak Park 386-3323 Byte Shop 7 So. La Grange Road La Grange 579-0920 'Wilcox Enterprises 25 W. 178 - 39th St. Naperville 420-8601 INDIANA Computer Consulting Services 4801 N. Michigan Indianapolis 638-5330 'Smith Computer Systems 530 Pierce Avenue Dyer 322-5461 Data Domain 2805 E. State Blvd. Fort Wayne 482-8415 'Data Domain 221 West Dodds Bloomington 334-3607 "Digital Supply 617 Agathon Drive Evansville 985-3677 Digital Technology 10 N. 3rd Lafayette 423-2548 KANSAS Computer Center 5815 Johnson Drive Mission 432-2983 LOUISIANA 'Great Southern Computer Systems 915 Talbot Thibodaux 446-6432 Computer Electronics 1955 Dallas Drive Baton Rouge 924-8066 MARYLAND •R2D2 Enterprises 8232 Bernard Drive North Millersville 987-4471 MASSACHUSETTES 'The Computer Mart Inc. 1395 Main Street Route 117 at 128 Wallham 899-4540 'Scientific Consulting Services 4 Lovell Road Watertown 926-4046 •William J. Claff 7 Roberts Rd. Wellesley 235-9505 Computer Shop 590 Commonwealth Ave. Boston 247-0700 MICHIGAN Spectrum Computers 26618 Southlield Road Lalhrup Village 559-5252 Unique Business Systems 28783 Greenfield Road Southfield 559-6300 Lyben Computer Systems 27204 Harper St. Clair Shores 777-7780 GAW Computertronics 37727 Amrhein Road Livonia 464-0441 •Jepsan 4180 - 44th Street S.E. Grand Rapids 698-8700 MINNESOTA Microprogramming Inc. 1351 Larc Industrial Blvd. Burnsville 894-3510 Microage Computer Store 83 South 10th Minneapolis 338-1777 NEW JERSEY 'Olcott International & Co. 62 Hackensack Plank Rd. Weehawken 863-4200 Computer Emporium Bldg. 103 Avenues of Commerce Cherry Hill 667-7555 'Financial Software 54 Grove Street Haddonfield 795-5607 'A B Computer Products 236 W. County Line Road Jackson 493-8047 William Electronics Supply 1863 Woodbridge Avenue Edison 985-3700 'Computer Mart of NJ Inc. 501 Route 27 Iselin 283-0600 NEW MEXICO Suntech Systems. Inc. 7108 Osuna N.E. Albuquerque 884-8453 NEW YORK 'Owens Associates 12 Schubert Street Staten Island 448-6283 DBIS One Mayfair Road East Chester 779-5292 L-2 Computers. Inc. 86-16 Santiago Street Hollis 479-1400 Baranco 32 Goodwin Place Northport 261-0452 'Mini Micro Mart 943 W. Genesee Street Syracuse 422-4467 NORTH CAROLINA American Square Computers 4167 Kivett Drive Jamestown 889-4577 'Digital Dynamics Corp 1118 Clement Avenue Charlotte 374-1527 Southern Digital Systems Inc. Vernon Park Mall, Suite 806A Kinston 527-4691 OHIO 'Service Specialist 127 No. Prospect Oberlin 775-1742 'Cycom Corporation 3355 Richmond Road Plaza 230B Beachwood 461-0875 Tec Mar Inc. 23600 Mercantile Road Cleveland 464-7410 Computerland of Cleveland 1288 SOM Center Road Mayfield Height 461-1200 'Cincinnati Computer Store 11711 Princeton Pike Cincinnati 671-6440 Wholesale/Retail Systems 2705 Lillian Lane Fairborn 426-8781 RIM Systems 529 S. Hyatt Tipp City 667-3069 OKLAHOMA Microlithics Inc. 304 N. Meridian Avenue Suite 15 Oklahoma City 947-5646 OREGON Micro Methods 116 S. W. 1st Street Warrenton 861-1765 WRAM Computer Corporation 6450 S. W. Parkhill Way Portland 244-2168 'Computerland of Portland 12020 S. W. Main Street Tigard 620-6170 PENNSYLVANIA Erie Computer Company 1253 W. 8th Street Erie 454-7652 'Marketline Systems Inc. 2337 Philmont Avenue Huntington Valley 947-6670 Computer Methods 523 Hansen Road King of Prussia 265-2580 TENNESSEE 'Ace Mini Systems Inc. 1598 Ft. Campbell Blvd. Trade Winds North Clarksville 645-3632 "American Systems Inc. 1805 Hayes Street Nashville 327-0277 Aiken Computer Systems 1302 River Oaks Drive Flower Mound 436-9155 •The Micro Store 634 S. Central Expressway Richardson 231-1096 Northwest Datacomm 1174 Commerce Drive Richardson 669-1816 The K.A Computer Store 9090 Stemmons Freeway Dallas 634-2667 Data Time Systems 1 21 2 Main Street. Suite 1 1 Houston 658-8572 'Altech Controls Corp. 13995 Murphy Road, Building 412 Stafford 499-5697 R & T Henry Electronic Assembly 613 Pemberton Drive Channelview 452-4451 'Microtronics, Inc. 2720 Westward La Marque 935-5020 VIRGINIA American Computer & Telecom 11301 Sunset Hills Road Reston 471-6288 'Xener Corporation Suite 211 6641 Backlick Road Springfield 569-5050 Computers Plus 6120 Franconia Road Alexandria 971-1997 Computer Center 2927 Virginia Beach Blvd. Virginia Beach 340-1977 WASHINGTON 'Innovative Computing. Inc 19820 - 60th Avenue N.E. Seattle 487-2448 Seattle Computer Products 11 14 Industry Drive Seattle 575-1830 Forest Sales 820 - 4th Street Anacortes 293-5154 Olympic Computers 418 S. Lincoln Port Angeles 457-3315 WEST VIRGINIA The Computer Store Inc. Suite 5 Municipal Parking Bldg. Charleston 345-1360 Associated Computer Consultants 1332 Pine View Drive Morgantown 599-2319 'The Computer Corner. Inc. 22 Beachurst Avenue Morgantown 292-9700 WISCONSIN DMA Inc. 545 Meadow Lane Sheboygan Falls 467-6006 Byte Shop of Milwaukee 6019 W. Layton Avenue Greentield 281-7004 Magic Lantern Computers 3313 University Avenue Madison 233-2026 OUTSIDE U.S.A. TE' and Company 207 Yoko Heights 39 Okuma-Cho Midorku Yokaha 226 Japan (045) 473-3171 Canadian Microcomputer Sys Assoc Ltd. 1188 Main Street Smithers B.C. Canada 20J 2N0 (604) 847-4838 The Patent Office Hurricane Hole P.O. Boxes 5586 Nassau. Bahamas (809) 323-1371 Compex 2 Gerls Vej. 2300 Copenhagen Denmark 01-520494 'Jarrod Electronics Inc. 349 Silverstone Drive Rexdale Ontario Canada M9V 3J8 (416) 745-6458 Microboards 1-7-1-1003 Saiwai-Cho Chiba City, Chiba 260 Japan 0427 (47) 3081 'Microtech Computers 745 Martin Avenue Winnipeg. Manitoba (204) 667-5395 J.T. Microcomputers 109 Kooringal Avenue Thornleigh. NSW Australia 2120 (02) 8480452 Cesco Electronics Ltd. 4050 Jean Talon St. W. Montreal Quebec Canada H4P 1W1 (514) 735-5511 Computer Centre 9 De-La-Beche Street Swansea. South Wales SA1 3EX 0792460023 "Dealers who sell Tarbell EMPIRE series computers. Circle 358 on inquiry card. #18 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. ARTIFICIAL INTELLIGENCE Medical(PAS-3) $849/$40 Dental (PAS-3) $849/$40 ASYST DESIGN Prof Time Accounting. .$549/$40 *> General Subroutine . . . $269/$40 • Application Utilities .... $439/$40 COMPLETE BUS. SYSTEMS Creator $269/$25 Reporter $169/$20 Both $399/$45 COMPUTER CONTROL Fabs(B-tree) $159/$20 UltraSortll $159/$25 COMPUTER PATHWAYS Pearl (level 1) $ 99/$25 Pearl (level 2) $299/$40 • Pearl (level 3) $549/$50 DIGITAL RESEARCH CP/M 2.2 NorthStar $149/$25 TRS-80 Model II (P+T)$159/$35 Micropolis $169/$25 Cromemco $189/$25 PL/l-80 $459/$35 • BT-80 $179/$30 Mac $ 85/$15 Sid $ 65/$15 Z-Sid $ 90/$15 Tex $ 90/S15 DeSpool $ 50/$10 D.M.A. Ascom $149/$15 DMA-DOS $179/$35 CBS $369/$45 Formula. . $539/$45 GRAHAM-DORIAN General Ledger $729/$40 Acct Receivable $729/$40 Acct Payable $729/$40 Job Costing $729/$40 Payroll II $729/$40 Inventory II $729/$40 Payroll $493/$40 Inventory $493/$40 Cash Register $493/$40 Apartment Mgt $493/$40 Surveying $729/$40 Medical $729/$40 Dental $729/$40 MICRO-AP S-Basic $269/$25 Selector IV $469/$35 MICRO DATA BASE SYSTEMS HDBS $269/$35 MDBS $795/$40 • DRSorQRSorRTL...$269/$10 MDBS PKG $1295/$60 MICROPRO WordStar $319/$60 Customization Notes... $ 89/$na Mail-Merge $109/$25 WordStar/ Mail-Merge. $419/$85 DataStar $249/$60 WordMaster $119/$40 SuperSortl $199/$40 • Spell Star $175/$40 y (New items or new prices) CP/M users: specify disk systems and formats. Most formats available. MICROSOFT Basic-80 $289/$na Basic Compiler $329/$na Fortran-80 $349/$na Cobol-80 $574/$na M-Sort $124/$na Macro-80 $144/$na Edit-80 $ 84/$na MuSimp/MuMath $224/$na MuLisp-80 $174/$na ORGANIC SOFTWARE • TextWriter III $111/$25 DateBookll $269/$25 • Milestone $269/$30 OSBORNE General Ledger $ 59/$20 Acct Rec/Acct Pay .... $ 59/$ 20 Payroll w/Cost $ 59/S20 All 3 $129/$60 All 3 + CBASIC-2 $199/$75 PEACHTREE' General Ledger $399/$40 Acct Receivable $399/340 Acct Payable $399/$40 Payroll $399/$40 Inventory $399/$40 Surveyor $399/$40 Property Mgt $799/$40 CPA Client Write-up. . .$799/$40 • P5 Version Add $ 1 29 SOFTWARE WORKS Adapt (CDOS to CP/M]. $ 69/$na Ratfor $ 86/$na SOHO GROUP MatchMaker $ 97/$20 Worksheet $177/$20 STRUCTURED SYSTEMS GL or AR or AP or Pay. . $599/$40 Inventory Control S599/S40 Analyst $199/$25 Letteright $179/$25 QSort $ 89/$20 SUPERSOFT Diagnostic I $ 49/S20 Diagnostic II $ 84/S20 Disk Doctor $ 84/$20 • Forth (8080 or Z80) ... $ 1 49/S30 Fortran $219/$30 Fortran w/Ratfor $289/$35 Other less 10% TCS GLorARorAPorPay. $ 79/$25 All 4 $269/$99 UNICORN • Mince $149/$25 • Scribble $149/$25 • Both $249/$50 WHITESMITHS "C" Compiler $600/$30 Pascal (incl "C") $850/$45 "DATA BASE" FMS-80 $649/$45 dBASE II $629/$50 Condor II $899/$50 Access/80 $749/$50 PASCAL" Pascal/MT+ $429/$30 Pascal/Z $349/$30 • Pascal/UCSD 4.0 $429/$50 • Pascal/M $ 1 89/$20 "WORD PROCESSING" • WordSearch $179/$50 SpellGuard $229/$25 VTS/80... $259/$65 Magic Wand $289/$45 Spell Binder $349/$45 "OTHER GOODIES" The Last One $549/$95 SuperCalc $269/$50 Target $189/$30 BSTAM S149/S15 • BSTMS $149/$15 Tiny"C" $ 89/$50 Tiny "C" Compiler $229/$50 CBASIC-2 $ 98/S20 Nevada Cobol $129/$25 • MicroStat S224/S25 Vedit $105/$15 MiniModel $449/$50 StatPak $449/$40 Micro B+ $229/$20 Raid $224/$35 String/80 $ 84/S20 String/80 (source) $279/$na • ISIS II $199/$50 • Plan 80 $269/$30 INFO UNLIMITED EasyWriter $224 Datadex $349 Other less 15% MICROSOFT Softcard (Z-80 CP/M). $259 Fortran $179 Cobol $499 MICROPRO Wordstar $269 MailMerge $ 99 Wordstar/MailMerge. $349 SuperSortl $159 PERSONAL SOFTWARE Visicalc 3.3 $159 CCA Data Mgr $ 84 Desktop/Plan II $159 Visiterm $129 Visidex $159 Visiplot $149 Visitrend/Visiplot $229 Zork $ 34 PEACHTREE" General Ledger $224/$40 Acct Receivable $224/$40 Acct Payable $224/$40 Payroll $224/$40 Inventory $224/$40 "OTHER GOODIES" dBASE II $329/$50 • VU #3R (usew/Visicalc) $ 79 Super-Text II $127 Data Factory $134 DB Master $184 Charles Mann less 1 5% STC less 1 5% 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 • ® — 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 modified my hand (the computer- memory file), all the while pointing out that nothing was happening to her hand. I then copied the new file back to her hand, changing it. Or I copied it to someone else's hand. We concatenated hands, wrote them to different files, and did a variety of things that simulated what computers do. It worked! This exercise went a long way in clearing up the confu- sion, and I heartily recommend it to others. But don't let drop-in visitors get the wrong idea about what you're doing with the cards! A Happy Ending A few months after our staff's first encounter with the computer, things had settled into a steady state, and the staff was using it productively. At that point, one of the principal users, a secretary, left to help her husband in a small business. (No, they don't have a computer — yet.) The new secretary arrived, and I fully expected to have to start all over with training. I was wrong. I spent almost no time at all. Instead, the other staff mem- bers trained her. How's that for a self- reproducing system7 Some of you might think that a happy ending to this story would be to say that our system continues to grow, we are finding more and more uses for the system, hope to expand to a Winchester-technology hard-disk drive, recode everything in . . . (Wow, did I almost open Pandora's box!), and look toward a national network for nature-center data communica- tions. Perhaps some of these things will occur. But in the meantime, we are quite content with the system. I have stopped coding, except for minor im- provements, and can now spend my time outdoors finding wild flowers and mushrooms. The staff treats the computer as a piece of standard office equipment, and they welcome the time it has saved them. As our direc- tor put it, "We once thought it was an unnecessary complication, and now we depend on it." She might have added, "And we take it for granted." What happier ending could this story have?B 274 October 1981 © BYTE Publications Inc Circle 128 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. - Tin ^^^^^H^H SECOND GENERATION OP-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 iy simply reading in the entire record or file you wish to protect, the DP-NET SK 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 SYSTEM S-4500 v 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 ulti-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. Circle 83 on inquiry card System Notes Discover the Machine Beneath the Machine A ZX80 Monitor Program R Scott FitzGerald, 570 NW Walnut, Corvallis OR 97330 The most powerful instructions of Sinclair Research's ZX80 BASIC interpreter are PEEK, POKE, and USR. These instructions allow access to the machine beneath the machine by letting you examine, modify, and execute the ZX80's natural language: Z80 machine code. The Z80 instruction set has all the functions of the 8080 set, plus some extremely powerful commands of its own: block transfers, extensive bit manipulation and testing, indexed and displaced addressing, relative jumps, and programmed I/O (input/output). Besides the 8080 registers, the Z80 has a duplicate register bank and two index registers, an interrupt-vector register, and a dynamic-memory-refresh register. This adds up to a power-packed microprocessor "under the hood" of your ZX80. So why bother programming in BASIC when Z80 machine language is only a POKE away? One reason may be that the tedium of entering an endless string of POKE statements to run a machine-language program discourages you from venturing outside BASIC. In this "System Note," I present a monitor program, written in ZX80 BASIC, that gives you the power Programming Aids for the ZX80 The following items are available from The SofTek Company, POB 4232, Santa Fe NM 87501: A quick-reference guide for the ZX80 computer that includes error codes, programmable-memory usage, character set, the Z80 microprocessor instruction set, and a couple of applications programs. Item number ZX80QRG. Price $1.95. Two dozen BASIC programs for the ZX80, in- cluding games, Z80 machine-language programming aids, graphics, finance, string manipulation, and mathematics. Item number ZX80PGM. Price $5.95. to examine and modify memory using octal notation and to execute Z80 machine-language programs. The pro- gram MONITOR is designed to run on a ZX80 system with a minimum of 1 K bytes of programmable memory and a 4 K-byte interpreter. After you enter MONITOR in a 1 K-byte system, you will still have enough memory left for a machine-language program more than 150 bytes long. Listing 1 shows the program MONITOR. When run, MONITOR displays: OCTAL MONITOR and the prompt MODE? on the video screen. You then have three choices. You can: • enter a 1, which will cause a branch to the EXECUTE routine • enter a 2, which will result in a branch to the EX- AMINE/MODIFY routine • enter a 3, which will result in an exit from MONITOR to the BASIC interpreter The program uses octal numbers for data input and out- put because this is the natural number base for use with the Z80 op codes. Here are MONITOR'S modes explained in greater detail: • Mode 1: EXECUTE. A 1 response to the MODE? prompt permits execution of the machine-language rou- tine you have loaded into memory. Execution will begin at the decimal address specified in response to the START ADDR?(DEC) prompt. The machine-code routine should end with a RET (return) instruction (octal 311) to let the monitor regain control; otherwise, you'll literally have to pull the plug to return the computer to your control. Pull- ing the plug will erase MONITOR and your machine- code program as well. 278 October 1981 © BYTE Publications Ire GRAPHICS + APPLE GRAPPLER ACTUAL APPLE II SCREEN DUMP USING GRAPPLER AND ANADEX 9501 JM THE GRAPPLER *S5S3T A new printer interface that makes graphics easy 1 . \f*t»L£R'% = 2 - liitatUlttt | m . — ~. : vJMshufi$iiSs-:^.( IHiilP The Grappler™ Interface is the first universal parallel interface card to provide sophisticated on-board firmware for Apple high resolution graphics. No longer does the user need to load clumsy software routines to dump screen graphics — it's all in the chip. Actually, it's our E-PROM, and there are versions to accommodate the Anadex, Epson MX100, MX80*& MX70, IDS Paper Tigers, Centronics 739, 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. FEATURES SELECT PAGE INVERSE GRAPHICS DOUBLE SIZE PICTURE 90° ROTATION CENTER GRAPHICS CHART RECORDER MODE ■ BLOCK GRAPHICS BELL MARGINS SKIP-OVER-PERF. VARIABLE LINE LENGTH TEXT SCREEN DUMP 'Requires Graftrax-80 USER BENEFIT Choice of Hi-Res Graphics page 1 or page 2 Provides reverse graphics of black-on-white, or white-on-black Doubles the graphic screen representation vertically & horizontally Rotates the screen picture 90° Accomplished through setting left margin thereby centering the graph Successive horizontal pictures are combined continuously simulating a chart recorder — For printers with block graphics (e.g. Epson MX80, Okidata M80), the high order bit can be controlled — For printers with a bell, bell characters are deleted during user program listings — Set left and right margins — Set page length; printer will automatically skip 6 lines between each page — For user program listings, sets line length and wraps around with breakpoint at nearest blank — The text from a user report or page of program listing can be dumped directly from the screen TOLL FREE (800) 854-8275 (714) 630-3322 DEALER INQUIRIES WELCOME m CA.AK.HI Orange Micro inc. 31 50 E. La Palma, Suite G, Anaheim, CA 92806 Circle 281 on inquiry card. System Notes , • Mode 2: EXAMINE /MODIFY. In mode 2, you can ex- amine and modify locations in memory, starting at the address you specify after the START ADDR?(DEC) prompt. This routine displays the address and its con- tents in octal and waits for your input. If you input an oc- tal number from 000 to 377, it will replace the previous contents of that location (assuming that you are not ad- dressing read-only memory). If you enter a — 1, the routine will go on to the next byte in memory without modifying anything. Any number outside the —1 to 377 range will terminate the EXAMINE/MODIFY routine and display the MODE? prompt again. • Mode 3: EXIT. Entering 3 in response to the MODE? prompt lets you exit the monitor, and control returns to the ZX80 BASIC interpreter's text-input module. Don't exit MONITOR, however, if you want to keep a valid copy of your machine-language program in memory. Because the ZX80 BASIC interpreter uses a great deal of memory to display MONITOR, the display file will prob- ably overrun your machine-language program. The ability to execute Z80 machine-language programs on the ZX80 opens a new dimension to the serious ZX80 programmer. I hope that the program MONITOR will give you easier access to some of the powerful features of your ZX80.B REE 1981 FALL EDITION CATALOG OF SUPPLIES FOR SMALL BUSINESS COMPUTERS Our latest edition. ..yours FREE for the asking! This direct-order catalog fea- tures 80 pages of more than 1700 supply products for your small business computer. Plus, we've just intro- duced 100 new products this fall. ..specially featured in a 20-page supplement. Some of these popular products are flexible disks (4 brands), printer ribbons (100 types), printout binders (all sizes and colors) and many hard-to-find products. And all are available for immediate shipment from our two stocking distribution centers. To receive your FREE catalog, simply call 800-323-0628 (in Illinois, call 312-377-0990) or circle the Reader Service Card number below. COMPUTER SUPtW CORPORATION A Subsidiary of Wallace Business Forms, Inc. 3626 Stern Drive I 1615 S. Stockton St. St. Charles, Illinois 60174 | Lodi, CA. 95241 Send for your free copy today! Listing 1: A machine-language monitor for the Sinclair ZX80. This program lets you examine and modify sequential memory locations and execute machine-language programs stored in memory. 10 CLS 20 PRINT "OCTAL MONITOR" 30 PRINT "MODE?" 40 INPUT M 50 IF (M<1) OR (M>3) THEN GO TO 10 60 CLS 70 GO TO 4oo*m 400 PRINT "EXEC" 410 GO SUB 2000 420 PRINT "HL=";USR(S) 430 GO TO 20 800 PRINT "EXAM/MOD" 810 GO SUB 2000 820 LET C=0 830 LET D=S 840 LET N=4 850 GO SUB 3000 860 LET D=PEEK(S) 870 LET N=2 880 GO SUB 3000 890 PRINT ":="; 900 INPUT D 910 PRINT D 920 IF (IX-I) OR (D>377) THEN GO TO 10 930 LT D=-l THEN GO TO 960 940 GO SUB 4000 950 POKE S,A 960 LET S=S+1 970 LET C=C+1 980 IF C~16*(C/16)=0 THEN CLS 990 GO TO 830 1200 STOP 2000 PRINT "START ADDR?(DEC)"; 2010 INPUT S 2020 PRINT S 2030 RETURN 3000 FOR K=0 TO N 3010 LET Q=D/(8**(N-K)) 3020 LET D=D-Q*(8**(N-K)) 3030 PRINT CHR$(Q+28); 3040 NEXT K 3050 PRINT " "; 3060 RETURN 4000 LET A=0 4010 FOR K=0 TO 2 4020 LET Q=D/(10**(2-K)) 4030 LET D=D-Q*(10**(2-K)) 4040 LET A=A+Q*(8**(2-K)) 4050 NEXT K 4060 RETURN 280 October 1981 © BYTE Publications Inc Circle 386 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 50 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 Source: MRI (Spring, '81)/Pub. est. Print neatly, so WE KNOW WHERE TO SEND YOUR CHECK. 282 BYTE October 1981 Buying new software is the pits, isn't it? You read an ad and it sounds terrific, so you ask around, then buy the manual. So far, so good— so you spring several hundred dollars for the package. And it does exactly what they said. But to get exactly what you want, you're going to have to change the way you run your business. Or go through so much hassle that you're not sure it's worth it. So you grit your teeth and suffer, or put it on a shelf to gather dust. Sounds familiar, doesn't it? But there is at least one known exception: an exceptional DBMS called dBASE II. For database fans, an offer you shouldn't refuse. dBASE II is the only high- performance j^lational Database Management System for micros. And it's the only DBMS that can help you get the DBMS that's right for you, no matter which DBMS you may want. Here's how: If you have a 48k micro with CP/M, send us its model number and the size of your drives along with $700 (CP/M 86 version soon- call if you can't wait). We'll send you a copy of dBASE II that you can run on your system, solving your problems your way, for 30 days. Then just send every- thing back and we'll return your money, no questions asked. During that 30 days, you can find out how much a real database management system can do for you. How it will affect your operations. Exactly what you want done. And precisely how you want to do it. Then even if you go for some other system, you'll be an informed buyer. And it never hurts to know what you're doing. IBM just caught up. So can you. With dBASE II, you'll get the same kind of system for your micro that IBM introduced a few months ago for their mainframes. It's a relational DBMS, and that makes it different from any other micro system you've ever seen. In a relational database, the data is organized as simple tables, with records as the rows and the data fields as the columns, much like your data is organized now. Data rela- tions are logical, so that you can zero in on the specific information you want without knowing a thing about the pre-defined sets, pointers or other cumbersome structures of hierarchal and network DBMS's. And unlike file management systems, dBASE II gives you pro- gram and data independence. You can change your database structure without re-entering your data and without reprogramming, or change some or all of your programs with- out touching your database. And the same database can be used for any number of different applications. dBASE II is a stand-alone applications development system. You don't need an extra support language, because dBASE II comes with its own Applications Devel- opment Language (ADL). With ADL, you can use simple English-like statements to manipulate your data, or use built-in structured constructs to prepare sophisticated applica- tions packages. It's simple and easy to use, yet extremely powerful. You create a new database and start using it in a minute or less. Just type CREATE, then respond to system prompts to name the file and define the fields. Now enter the data. Add data to an existing database instantly, whether your file has AshtonTate \shton-Tate 1981 10 records or 10,000 records, by typing APPEND, then entering the information. UPDATE, MODIFY, JOIN and REPLACE whole databases or individual records and characters. Add or delete fields in your data- base structure without re-entering all your data. And with dBASE II, it's easy to get information out once you've put the data in. Do automatic calculations on fields, records and databases with a few keystrokes. Organize months' worth of data in minutes with REPORT (printing optional), and get your reports today instead of tomorrow. Use the built-in SORT, with single or multiple keys. Or INDEX your data, then FIND it in seconds, even with floppies. You can use dBASE II inter- actively or store a sequence of com- mands to automate your accounting, billing, mailing lists or whatever data you have to manage. You'll wonder how you managed without it. dBASE II is the most powerful, easiest to use DBMS you can get for a micro. And instead of poring over the manual, you can run it hands-on, in-house to see exactly what it can do for you. Try it. What have you got to lose? We even provide the label so you can send it back. Ashton-Tate, 3600 Wilshire Blvd., Suite 1510, Los Angeles, CA 90010. (213) 666-4409. Circle 33 on inquiry card. BYTE October 1981 283 Graphics Fundamentals Kathleen Bresnahan Sandifur 624 Six Flags Dr #130 Arlington TX 76011 To make effective use of any graphics system, you must first understand the functions universal to all such systems. For the neophyte, the only readily available method for mastering graphics concepts is to attack a dis- sertation of incomprehensible detail — an endeavor that can be as frustrating as reading the fine print on your in- surance policy. In this article I try to put some graphics concepts into perspective. Four subroutines of the Hewlett-Packard Graphics/1000 software package are singled out: WINDW, LIMIT, VIEWP, and SETAR. The terms are peculiar to the software package, but the concepts are universal to all graphics. As a vehicle for conveying these concepts, the application program LOGO is presented in this article. The LOGO program incorporates the four subroutines mentioned above to allow easy manipulation of size, shape, and positioning of a logo. By following the imple- mentation of the four subroutines and the explanation of results related to parameter changes, the uninitiated reader can gain an easy grasp of the graphics function. The underlying objective of all graphics systems is to capture an image, manipulate it and then project it to another location or surface. The image must first be pre- sented to the graphics system. For the purpose of the sam- ple program, the image was presented by sketching a logo on a sheet of graph paper, approximating this sketch with straight line segments, and tabulating the coordinates for the end points of these segments (see figure 1). The coor- dinates were calculated by arbitrarily setting x and y axes to correspond to the horizontal and vertical lines of the \ / /A / / f /a / / // 1 // / / \\ (L\- / / J V 1 ! / Figure 1: Sketch of the logo letters on graph paper establishing x and y coordinates for the line segments that make up the letters. 284 October 1981 © BYTE Publications Inc 1r * -tr -tr -tr -tr -tr -tr -tr -tr * -tr -tr -tr -tr -tr -tr -h A -tr & -tr -lr & •&&& * * * * ir-tt-ir-k-k-tr-tr-A-tr-tr-tr-tr-tr-tr-irlftftr-tr ** 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 LIJW80 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 LNH80 Computer w/B&W Monitor & 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 LNW80 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 TRS30 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-RES0LUT10II 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 PRIIITED CIRCUIT BOARD s MANUAL $89.95 LNDoubler&DOS PLUS 3.3D Assembled and Tested W/DOS PLUS 3. 3D $175.00 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 PMC-80** to a complete computer system that is still totally software compatible with the TRS-80* Model 1 Level II. 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 $84.95 The Keyboard Kit contains a 63 key plus a 10 key, P.C. board, and remaining components. CASE 32K Bytes Memory 5" Fluppy Controller Serial RS232 20ma I/O Parallel Printer Real Time Clock Screen Printer Bus On Board Power Supply Solder Masked and Silkscreened LNW RESEARCH C OR PORA T ION 2620 WALNUT ST. TUSTIN CA. 92680 LNW80 CASE $84.95 The streamline design of this metal case will house the LNW80, LWN System Expansion, LNW80 Keyboard, power supply and fan, LNDoubler™, 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 RESERARCH . 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 ORDERSSINFO. NO. 714-544-5744 SERVICE NO. 714-641-8850 Circle 201 on Inquiry card. VISA MASTER CHARGE ACCEPTED UNLESS NOTED ADD $3 FOR SHIPPING Small Business Systems User! WHEN BUYING CHECKS, STATEMENTS AND INVOICES — LOOK FOR THIS MARK: Computer Forms ON THE DOOR OF YOUR COMPUTER STORE DFS Computer Forms are • Sold by a Local Business • Satisfaction Guaranteed • Available in Small Quantities • Compatible with Existing Software • Very Economical DPS Computer Forms P.O. Box 643 • Townsend, MA. 01469 graph paper. This process is a form of digitization and is only one of the many methods available. All have the ob- jective of conveying information in a form recognizable to the graphics system. Coordinates representing the logo are entered at lines 33 to 101 of the sample program (see listing 1). Once the image is made available to the system, the process of capturing the image, manipulating it, and projecting it involves four steps: • Determine the boundaries surrounding the image to be captured (WINDW). • Set the limits of the device to the boundaries of the paper or transparency to be used (LIMIT). • Determine the boundaries within which the image is to be projected on the paper or transparency (VIEWP). • If you don't want the projected image distorted, then the window surrounding the image and the viewport on the projecting surface must both have the same width/height ratio (SETAR). WINDW When the graphics system receives the digitized repre- sentation of the image, it needs a frame of reference to designate where the image to be captured is located. To generate this reference frame or window, the WINDW subroutine is invoked. The general form of WINDW is: CALL WINDW(IGCB,X1,X2,Y1,Y2) where (XI, Yl) designates the lower-left corner of the rec- tangular window and (X2,Y2) designates the upper-right corner. Because this rectangle is to frame the image or a portion of the image represented in the digitization pro- cess, the parameters for the WINDW subroutine must be generated from the same axes, units, and origin used in the digitization process (the ones established on the graph paper). The setting of the WINDW parameters in line 29 of the sample program to: CALL WINDW(IGCB,0.,355.,0.,130.) specifies that the lower-left corner of the rectangular win- dow is zero units in the x direction and zero units in the y direction (at the origin on the graph paper). Also, the upper-right corner of the window is at 355 units in the x direction and 130 units in the y direction (to the far right and middle of the graph paper). Since the window en- compasses the entire logo "TDC," the captured image for graphics manipulation will be the entire logo. If, how- ever, the window had been specified by: CALL WINDW(IGCB,200.,355.,0.,130.) then the window would frame only the "C" portion of the logo, and only that image would be available for graphics manipulation. 286 October 1981 © BYTE Publications Inc ^H i> v PH ■ami L^irj Bpffijj Maxell Floppy Disks. Class of '81. Not a single dropout among them. These are the disks that achieve all you expect from them. They are certified free of dropouts. And each one meets or exceeds the most demanding specifica- tions every computer authority can set. That includes ISO, IBM, ECMA, ANSI, JIS and Shugart. The quality begins with the finest raw materials available, and we make sure the quality stays high. Every Maxell floppy disk must pass an exhaustive series of eight quality control inspections. Under test condi- tions, after 10,000,000 passes, there is no loss of quality. Maxell Floppy Disks actually help protect your computer drive heads. The self-cleaning jacket liner inside every Maxell disk removes dust before it can affect your system. The surface lubricant reduces any chance of disk-caused head-wear. There are Maxell disks for every disk drive system in operation today. Maxell is leading the way with new disk technology for tomorrow's computers. Your Maxell Business or Maxell Personal Computer Products supplier can put our "honor-grad" to work for you, and for your computer, now and in the future. Call or write for more information. You'll learn that the care we take manufacturing Maxell Floppy Disks makes them live up to your highest expectations. maxell Maxell Corporation of America, Business Products Division, 60 Oxford Drive, Moonachie, N.J. 07074. (201) 440-8020 Circle 214 on inquiry card. Listing 1: LOGO, the program used to produce figures in this article. The program is written to run on a Hewlett-Packard Graphics/1000 system. S111A T=00004 IS ON CR00023 USING 0001ft PLKS R=0000 0001 FTN4.L 0002 PROGRAM LOGO 0003 C 0004 C THIS PROGRAM DRAWS A LOGO "TDC" (KATHLEEN SANDTFUR 10*79) 0005 C 006 DIMENSION IGCB ( 192) , IBUF f 1 0) , XLUT (5) » V (U) . rt («) . G (2) , XL (4) 0007 EQUIVALENCE (Lib IBUF) , f ID, IBUF f 1 0) ) 0008 C 0009 C ESTABLISH ID AMD LOGTCAL UNIT FOP PLOTTER 0010 C 0011 LUT = LOGLUm 0012 WRITECLUT.on 0013 01 FORMATC'ENTFR LU, I D : * " 1 0014 READ(LUT,*) LU,ID 0015 C 0016 C INITIALIZE PLOTTER R SFLFCT PEN 0017 C 0018 CALL PLOTRCIGCB, ID, 1 ,LU) 0019 CALL PEN(IGCB,2) 0020 C 021 C *************************************************************** 0022 C * REFERENCES IN ARTTCLF TO LIMIT, SETAP, VTEWP, WINDW * 0023 C * REFER TO THF FOLLOWING CALLS * 0024 C *************************************************************** 0025 C 0026 CALL LIMIT(IGCB|XL(l)#XLf2).XLC3).'XLU)) 0027 CALL SETARCIGCB, AR) 0028 CALL VIEWPCIGCB,V(1)»V{?) ,vm ,Vf*)) 0029 CALL WI'\IDW(IGCBrWfl).W(?),W(3),«)(fl)) 0030 C 0031 C ********* DRAW "T" ************************ 0032 C 0033 CALL M0VECIGCB.22..0.) 0034 CALL ORAWCIGCB, 82. , 1 05.) 0035 CALL DPAWdGCB, 1 19., 1 05.) 0036 CALL DRAWCIGCB, 131 .. 126.) 0037 CALL ORAWCIGCB, 12., 126.) 0038 CALL D*AH(IGCBf O.,105.) 0039 CALL DRAWCTGCB,60.,105.) 0040 CALL ORAWf TGCB, 0. ,0.) 0041 CALL DRAWCIGCB, 22. ,0.) 0042 C 0043 C ********* DRAW "D" ************************ 0044 C 0045 CALL MOVEUGCB,70..o.) 0046 CALL DRAWCIGCB, 178.. 0.) 0047 CALL ORAWCIGCB, 185. . "< . ) 0048 CALL ORAWCIGCB, 190. ,8.) 0049 CALL ORAWCIGCB, 193., 15.) 0050 CALL DRAWCIGCB, 194. ,?0.) 0051 CALL ORAWCIGCB, 193. .25.) 0052 CALL DRAWCIGCB, 192. .30.) 0053 CALL ORAWCIGCB, 190. ,34.) 0054 CALL ORAWCIGCB, 142. , 126.) 0055 CALL ORAWCIGCB, 70. ,o.) 0056 C 0057 C ********* INNER "D" START LEFT "OTTOM **** 0058 C Listing 1 continued on page 290 288 October 1981 © BYTE Publications Inc we beat the price... Exclusive One Year Warranty Included A ATARI 810 DISC DRIVE 800„ $779 WITH ONE YEAR EXTENDED WARRANTY ATARI Computers for people: IWHT '444 Available without warranty for even less. ATARI SOFTWARE CX401 General Accounting $399 00 CX402 Accounts Receivable $399 00 CX403 Inventory Control S399 00 CX404 Word Processor $119 00 CX405 PILOT $68.00 CX413 MICROSOFT BASIC .. $68 00 CX4101 Invitation to Programming 1 S17 00 CX4102 Kingdom. $13 00 CX4103 Statistics $1700 CX4104 Mailing List $17 00 CX4105 Blackiack $1300 CX4106 Invitation to Programming. 2 $2000 CX4107 Biorhythm $13 00 CX410B Hangman $13 00 CX4109 Graph It .... $17 00 CX41 10 Touch Typing $20 00 CX41I1 Space Invaders $17 00 CX41 12 States & Capitals $13.00 CX41 14 European Countries & Capitals ..$13 00 CX41 15 Mortgage & Loan Analysis $13.00 CX41 16 Personal Fitness Prog. $59 00 CX41 17 Invitation to Programming 3 $20 00 CX41 18 Conversational French $45.00 CX4 119 Conversational German $45 00 CX4 120 Conversational Spanish . $45.00 CX4121 Energy Czar .$13 00 CX4125 Conversational Italian $45.00 CX6001 U S History .. . . . . $23.00 CX6002 U S Government . $23 00 CX6003 Supervisory Skills $2300 CX6004 World History $23 00 CX6005 Basic Sociology . $23.00 CX6006 Counseling Proced $23.00 CX6007 Principal ol Act $23 00 CX6008 Physics $23 00 CX6009 3reat Classics $23.00 CX6010 Business Comin ..... $23.00 CX601 1 Basic Psychology . .... $23.00 CX6012 Effective Writing $2300 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 CX810B 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 3DTicTac-Tow . . $24.00 CXL401 1 Star Raiders $32.00 CXL4012 Missle Command $32.00 CXL401 3 Asteroids $32.00 CXL4015TeleLmk $20 00 C jmpuhome $74.95 Visicalc $149.00 Letter Perfect (Word Processor) $119 00 Source .... $89 00 Atari- Peripherals: 400 16K $329 00 410 Recorder $59.00 822 Printer $359.00 825Pnnter $CALL 830 Modem $159 00 850 Interface $ CALL Atari' Accessories New DOS 2 System . $21.00 CX70 Light Pen $64.00 CX30 Paddle $18.00 CX40 Joy Stick $18.00 CX853 16KRAM $89.00 Microtek 16K RAM $75.00 Microtek 32K RAM $169.00 commodore .|Y£WffltiWr l 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 Vic-TV Modual $19.00 Vic Cassette $69.00 Vic Disk Drive $ Call Vic 6 Pack program $44.00 CBM Software WordPro3Plus $199 00 WordPro4 Plus $299 00 Commodore Tax Package $399.00 Visicalc $149.00 EBS Accts. Rec./lnventory Interactive Syst . . $595.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 Crall 80 $289.00 Word Check $180.00 Create-A-Base $219.00 Power $89.00 Socket-2-Me $20 00 Jinsam Call Disks CX8100 Blank Disk (5) $22.00 Sycom Blank Disk (10) $29.00 Maxell Blank Disk (10) $36.00 Maxell Blank Disk (101 $46.00 Printers Epson MX-70 Epson MX-80 Epson MX-80 FT Diablo 630 Nee 5530 '... $2495 00 TEC 1500 Slarwnter 25cps $1495.00 TEC 1500Starwriter 45cps $1795 00 } Call for Prices No Risk, No Deposit On Phone Orders, COD or Credit Card, Shipped Same Day You Call * * on all in stock units IN PA,, CALL (717) 327-9575 (800)233-8950 COMPUTER MAIL ORDER 501 E. 3RD ST., WILLIAMSPORT, PA 17701 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 to price change and availability withoul notice. Please call between 1 1 AM & 6 PM. Circle 85 on inquiry card. BYTE October 1981 289 Listing 1 continued: 0059 0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 0070 0071 0072 0073 007a 0075 0076 0077 0078 0079 0080 0081 0082 0083 oo«a 0085 0086 0087 0088 0089 0090 0091 0092 0093 009a 0095 0096 0097 0098 0099 0100 0101 0102 0103 oioa 0105 0106 CALL MOVECIGCB, 102. .20.1 CALL DRAWCIGCB, 142. .90.1 CALL DRAWCIGCB, 175. .27.1 CALL DRAWCIGCB, 176. .25.1 CALL DRAWCIGCB, 175. .23.1 CALL DRAWCIGCB, 173. ,21 .1 CALL DRAWCIGCB, 170. ,20.1 CALL DRAWCIGCB, 102. .20.1 ********* DRAW "C" START LEFT BOTTOM *********** CALL CALL CALL CALL CALL CALL CALL CALL CALL CALL CALL CALL CALL CALL 9999 MOVE DRAW D R A W DRAW DRAW DRAW DRAW DRAW DRAW DRAW DRAW DRAW DRAW DRAW CIGCB CIGCB CIGCB CIGCB (IGCB CIGCB (IGCB CIGCB CIGCB CIGCB CIGCB CTGCB CIGCB CIGCB ,203., ,202.. ,201.. ,203.. ,255., ,260., ,265.. ,270.. ,275.. ,285.. ,291., ,29a., ,290., >285.. 10.1 13.1 17.1 26.1 1 1 A . 1 123.1 125.1 126.1 1 26.1 122.1 115.1 10 5.1 90.1 7a. i ********* INNER "C" START LEFT UPPER ***** CALL CALL CALL CALL CALL CALL CALL CALL CALL CALL CALL CALL CALL CALL CALL CALL CALL STOP END DRAW DRAW DRAW DPAW DRAW DRAW ORAW DRAW DRAW DRAW DRAW DRAW DRAW DRAW DRAW CTGCfi (IGCB CIGCP CIGCB CTGCB (IGCB CIGCB (IGCB (IGCB (IGCB (IGCB (IGCB (IGCB (IGCB (IGCB .267, ,275, ,27a, ,272, ,270, ,267, ,?2a, ,223, ,22a, ,225, ,351, ,3ao, ,215, ,210, ,203. ,74.1 ,100. , 1 13. ,10 4. . 105. . 1 04. .29 .25 ,23 .21 ,20 ,0.1 .1 .1 .3.1 , 10.1 PEN ( IGCB, 0) PLOTRCIGCB, ID, 01 LIMIT The LIMIT subroutine defines the view surface on the device — in other words, the surface within which all graphics must occur. After deciding on the size of the paper or transparency desired, the width and height di- mensions are used to delimit the view surface via the LIMIT subroutine. The general form of LIMIT is: CALL LIMIT(IGCB,X1,X2,Y1,Y2) with the x and y units specified in millimeters. As a result, all graphics must now occur within an area bounded in the horizontal direction from XI mm to X2 mm, and in the vertical direction from Yl mm to Y2 mm, with the origin corresponding to the lower-left corner of the de- vice view surface. In the sample program, a logo is to be projected to a 15-inch by 10-inch sheet of paper (380 mm by 250 mm). Line 26 of the program would incorporate these dimen- sions as LIMIT parameters as follows: CALL LIMIT(IGCB,0.,380.,0.,250.) To further illustrate the use of the LIMIT subroutine, if 290 October 1981 © BYTE Publications Inc PUT YOUR APPLE TO WORK FOR YOU! WITH THE THUNDERCLOCK PLUS™ As an APPLE user you already know all the things your APPLE can do. Now Thunderware expands that list with the THUNDERCLOCK PLUS, the complete clock/calendar system for your APPLE! Your programs can read the month, date, day-of-week, hour, minute, and second in any of APPLE'S languages. On-board batteries keep your THUNDERCLOCK running accurately when your APPLE is off - for up to 4 years before battery replacement. But that's just the beginning. The THUNDERCLOCK PLUS is the most useful and versatile peripheral W K\/£ll you can put in your APPLE. It can keep your disk files organized by 11 I~_ jtr 3 j time-and-date-stamping them, it enhances the usability of many of the '• *%7 g 5 J new business/professional software packages for accounting, filing, and _j§ . time management, and it can remotely control lights and appliances jMBk M for security or display purposes in your business or home. i(| -^^fewr SOFTWARE PRODUCT COMPATIBILITY WtKK0^ Many of today's important software packages for data-base """wwppi"*"* management, business applications, communications, and time management are designed to use the THUNDERCLOCK PLUS. If you have or plan to purchase any of these packages, a THUNDERCLOCK will greatly enhance their usefulness. •VISIDEX* (Personal Software) •DB MASTER and MICRO-MEMO (Stoneware) •MICRO-COURIER and MICRO- TELEGRAM (Microcom) »THE CASHIER and THE STORE MANAGER (High Technology) ^BUSINESS PLUS and NET-WORKS (Advanced Data Systems) ...and many others! THUNDERWARE'S DOS-DATER Our new DOS-DATER software upgrades the regular DOS on your disks so that DOS will use the THUNDERCLOCK to time- and-date-stamp disk files. Every timea program issavedora file is modified, the current date and time to the minute are stored in the CATALOG with the file's name. You can tell at a glance when a program was saved or when any file was last modified. And this time/date stamping feature is completely automatic. That means any program which uses DOS will time/date stamp its files! REMOTE CONTROL Add Thunderware's X-10 INTERFACE OPTION to your THUNDERCLOCK PLUS and your APPLE can control lights and appliances through your BSR X-10 Home Control System on your pre-defined schedules. Our powerful SCHEDULER software allows you to create and modify schedules easily and execute them in the 'background', while using your APPLE for other tasks in the 'foreground'. Use your APPLE for energy management, display and security lighting, or laboratory/process control. Our PASCAL Software lets you use all the THUNDERCLOCK'S features in PASCAL and sets the F)iler date whenever you boot. You get all this versatility in just one peripheral system. Backed by a full one year warranty. See your APPLE dealer for a demonstration, or contact us for more information. We'll give your APPLE the best time around! Suggested retail prices: THUNDERCLOCK PLUS $139 THUNDERWARE, INC. X-10 INTERFACE OPTION $49 PO - BOX 13322 PASCAL SOFTWARE DISK $29 °^S'SH c ^i?tS? 1 ^41i>J-D3Z-l 15 t DOS-DATER/DEMO DISK $29 MANUALS ONLY.each $5 •Requires software supplied on DOS-DATER/DEMO disk. Distributed by Apple Computer, Inc. BSR x _ 10 „ , , ri , l)ema rk of bsr (USA) ltd. and Computerland Corp. apple ii is a trademark of apple computer, inc you want to confine graphics to an 8Vi-inch by 11-inch (215 mm by 280 mm) area, set LIMIT parameters as follows: CALL LIMIT(IGCB,0.,215.,0.,280.) VIEWP Within the view surface set by LIMIT, the image can be restricted to a desired area. In other words, the logo can be spread across the entire paper or transparency, or con- fined to only a small area. A viewport designates a rec- tangular portion of the view surface to which the image in the window is to be mapped. The VIEWP subroutine defines the positioning of the viewport, and its general form is: CALL VIEWP(IGCB,X1,X2,Y1,Y2) where (XI, Yl) designates the lower-left corner of the viewport and (X2,Y2) designates the upper-right corner. The x and y axes correspond to the lower edge and the left edge, respectively, of the LIMIT-designated view sur- face. The units for x and y vary according to the aspect ratio, or the ratio of the width to the height of the view surface. If the aspect ratio, abbreviated AR, is greater than 1, the horizontal length of the view surface cor- responds to 100 X AR units, and the vertical length cor- responds to 100 units. If AR is less than 1, the vertical length corresponds to 100 /AR units and the horizontal length to 100 units. When CALL LIMIT is not initiated, the view surface defaults to the limit of the device, which for the HP 9872A has an AR of 1.52. Therefore, to posi- tion a viewport to cover the upper-right quadrant of the view surface, specify VIEWP as follows: CALLVIEWP(IGCB,76.,152.,50.,100.) The entry of the viewport parameters in the sample pro- gram occurs at line 28. SETAR At this point in the graphics explanation, the process can be visualized as taking a snapshot and projecting the captured image onto a screen. Everything within the rec- tangular window is mapped through the rectangular viewport for positioning on the viewing surface, which itself has been delimited via the LIMIT subroutine. If the rectangular window and the rectangular view- port have the same shape (if the aspect ratio is the same), the image can be transferred point for point without distorting any geometric figures. The relative size of im- ages will change, but a circle will remain a circle, and angles between intersecting lines will not change. If the aspect ratio of the window is not the same as that of the viewport, then the image projected on the view surface will be distorted: a circle will become an ellipse, and the angle between intersecting lines will change. To alleviate MICR0STAT Microstat is an advanced statistics package designed for use in research, education and industry. Microstat is a file- oriented statistics package with a Data Management Subsystem (DMS) that creates the data files plus the ahility to: edit, list, destroy, delete cases, augment, sort, rank-order, lag, move, merge and transform the data. The data transforms include: add, subtract, multiply, divide, reciprocal, log. natural log and antilog, exponen- tial, linear transformations plus adding any number of variables to create new variables. Once the file is created, it can be used to produce: Descriptive statistics, Hypothesis tests (mean and proportion), AN0VA (one-way, two-way and random blocks), Scatterplots, Frequency distributions, Correlation analysis. Simple and Multiple regression, Time Series, Nonparametric tests (11 of them), Crosstabs and Chi-square, Factorials, Permutations, Combinations, and 8 Probability distributions. The price of Microstat is $250.00 and the user's manual is available for $20.00 and includes sample printouts. Since the printouts reference stand- ard statistics textbooks and journal articles, you can compare the accuracy of Microstat to results produced on much larger systems. No other statistics package seems to have the confidence to do that ... at any price. Microstat is available for the North Star DOS and Basic, Microsoft's Basic-80™ (5.03 or later) and Compiler Systems' CBasic2™. Please specify 8" SD (soft-sectored) or North Star 5V«" disk when ordering. ECOSOFT P.O. Box 68602 Indianapolis, IN 46268 (317)283-8883 INTERCHANGE If you use the CP/M™ operating system, life just got a whole lot easier for you. Interchange is a Z-80™ assembly language program that gives you all of the features that PIP doesn't, plus several unique features. Some of the features of Interchange include: DIR, in the usual fashion, plus listing all files excluding those with a specified character. Read/write status is also given. ERA, as usual plus exclusive erases. In addition, a "Q" switch can be used to query on 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 printer listings with formatting controlled by TAB, WIDTH, LINES and WRAP. If you are using the QT Systems Clock Board, listings include the date and time. COPY including exclusive copies and the optional "Q", "W" and "R" switches plus an "E" switch that queries if the file already exists. It also allows for changing disks in the middle of a copy if either the disk or directory become full. It automatically verifies copies. STAT, with ambiguous, unambiguous and exclusive listings. It produces an alphabetized listing and includes each file length, total directory entries and space used and unused. Other commands include RENAME (including ambiguous), HELP, START, END, CLEAR, RESET, DATE, TIME, TAB, WIDTH. LINES, WRAP. QT. SETIT and TYPE. Once you've used Interchange, we doubt that you'll ever use PIP again. The price of Interchange is $59.95 and the manual is available for $10.00. Orders must be accompanied with your CP/M serial number. Interchange is recommended for a 32K or larger system and will not run with an 8080 CPO. At the present time, only User is supported. CBesic2 is e registered trademark of Compiler Systems. CP/M is a registered trademark ol Digital Research. 292 October 1981 © BYTE Publications Inc Circle 137 on Inquiry card. KiU/COItOL MAKES IT ACROSS! . . .FROM ONE OPERATING SYSTEM TO ANOTHER! A VITAL WAY TO PROTECT YOUR SOFTWARE INVESTMENT FOR THE FUTURE!! The l!A\ <:: We carry o large inventory of Libraries, accessories and supplies PRINTERS < Our List Price PAPER TIGER 445G with Graphics 795 00 695.00 460G with Graphics 1394 00 1195.00 560G New lull-size 1695.00 1399.00 EPSON MX 80 Impact 645.00 450.00 MX 70 Impact 500.00 399.95 My 100 995.00 895.00 CENTRONICS ni 1 Parallel 995.00 799.95 737 3 Serial 1045.00 899.95 DIABLO (Letter Quality) 630 R102 bi-directional) tractors 2965.00 2699.00 1640K109 keyboard. tractors 3072.00 2899.95 630 RO Recleve Only 2710.00 2499.95 1650K 136 keyboard/ tractors 3220.00 2999.95 SAVE 100.00 199.00 296.00 195.00 100.05 100.00 195.05 145.05 172.05 210.05 ^ {SPECIAL OF THE MONTH QSTAR PRESENTS THE QRAM 16K RAM Expansion Board for the Apple II '»;? I ■ ^ •MMU Expands your 48K Apple to 64K of programmable memory Works with Microsoft Z-80 card, Visicalc, USA ver 2.0 and other software Eliminates the need for an Applesoft ' or Integer Basic ROM Card Includes installation and manual Fully assembled and tested FULL ONE YEAR warranty including parts and labor r APPLE II STUDENT SYSTEM :nu dp • Apple II PIils System- 4SK BAM • Disk II Floppy Disk &: Inlcrfai-e(DOS3.3) • 12 BMC Video Monitor MONITORS > Our List Price NEC Grn Phs 12' $285.00 S239.99 BMC Green Phosphorous 1 2 275 00 229.00 SANYO MONITORS High Resolution, Number 1 seller! Our List Price 13" Color (new) high quality $550.00 S388.00 12' Green Phosphorous 360 00 235.00 12" Black & White 340.00 217.00 15" Black 8c While 370 00 235.00 9" Black 8< White The Besf Seller! 235.00 145.00 SAVE $ 46.00 SAVE $162.00 125.00 123.00 135.00 DISKETTES SOLD IN BOXES OF 10 (Min. Purcnasp) BUY $100 of the Following Diskettes List DYSAN price 104/1 5" SOFT SECTOR S 6 00 104/1D =" DBL DEN -SOFT SEC 6 40 3740H 8" SOFT SECTOR 7 25 3740HD8" DBL. DEN -SOFT SECTOR 10 75 MAXELL MD-1 5" SOFT SEC- TOR'DBL DEN 5 00 MD-2 ■ " SOFT SECTOR'DBL SIDE DBL DEN. 7.00 FD-1 8" SOFT SEC 'DBL DEN. 650 FD-2 8" SOFT SEC.'DBL SIDE'DBL DEN 8 50 MEMOREX 5" 3401 5"SOFT SECTOR 4 40 5" 3420 5" SFT. SEC.'DBL DEN. 5 60 8" 3060 8" SOFT SECTOR 540 8" 3090 8" SFT. SECJDBL DEN. 5.90 .43C1 4.00 PER DISKETTE 3.99 4.60 4.75 SAVE S 2.01 1.80 2.50 4.90 2.10 4.50 2.00 5.95 2.55 AV/.VC.-.S utvia: i:i.i:crio\ \TISI.\CTIOS 2.55 3.90 3.10 4.10 2.05 1.85 1.70 2.30 1.80 1.95, SOFTWARE FOR APPLE II Dow jones Portfolio Folder Microchess 2.0 Chess Disk The Controller 1.1 General Business System) (16 Sector) Apple Post The Shell Games Ed- ucation I Elementary, My Dear Apple-Education II (16 Sector) Apple How To! Education ill (16 Sector) Apple Bowl Apple Writer DOS Tool Kit (16 Sector) Dow Jones News & Quotes Reporter (16 Sector) Apple Stellar Invaders Apple Plot Apple Adventure Apple Music Theory (16 Sector) Apple Tax Planner (16 Sector) Cassettes Interger Basic Cas- sette Demos (6 tapes) Applesoft Cassette Demos (5 tapes) Apple Fortran DOS 3.3 (16 Sector) Apple PILOT (16 Sector) SOS Tool Kit (16 Sector) Apple FORTRAN (re- quires A2B0006) (16 Sector) Language System with Apple Pascal Apple III - Information Analyst Apple Mail List Manager Apple Business Basic Apple System Soft- ware & Manuals BPI General Ledger System BPI Inventory Package Vlsidex Visicalc Desktop Plan II Microlab Database System Stoneware DB Master Programma Apple Pie Muse Supertext II Sottape Magic i Window List 50.00 25.00 625.00 50.00 50.00 25.00 75.00 95.00 25.00 70.00 35.00 50.00 120.00 25.00 200 00 60.0U 150.00 75.00 200.00 495.00 500.00 150.00 250.00 250.00 $395.00 395.00 200.00 200.00 200.00 150.00 189.00 129.00 150 00 99 00 Our Price $ 39.00 19.00 499.00 39.00 40.00 19.00 60.00 76.00 19.00 49.00 28.00 39.00 19.00 147.00 45.00 119.00 60 00 159.00 399.00 350.00 130.00 219.00 219.00 S319.00 319.00 159.00 159.00 159.00 119.00 150.00 97.00 119.00 72.00 SAVE 11.00 6.00 126.00 19.00 10.00 6.00 15.00 19.00 6.00 21.00 7.00 11.00 6.00 53.00 15.00 31.00 9.00 41.00 96.00 150.00 20.00 31.00 31.00 $ 76.00 76.00 41.00 41.00 41.00 31.00 39.00 32.00 31.00 27.i oj/ /Vl ICRO BUSINESS WORLD MICKO T/A.A i Maui" M«3»l Ceicnption „„„ .„«,, I I _i_„ I I I L. . _3E_LAK> 300 October 1981 © BYTE Publications Inc Starting Today BIZCOMP Takes Over as the Price/Performance Leader We all know about the old fashioned acoustic coupler. Ask any computer hot-shot. Finicky, prone to room noise, vibration. A mechanical weak-link in your otherwise all-electronic system. RELIABILITY is the key to no-hassle computing. And everybody knows you don't get reliability with mechanical system components. So go ask that computer hot-shot — they'll tell you BIZCOMP's VersaModem all-electronic modem provides the new wave in personal communi- cations. A fully FCC certified direct connection to the telephone network. Exciting? You bet! Not only can you access The Source, MicroNet, Dow-Jones, Computer Bulletin Boards and University computers — the VersaModem offers access to a variety of specialized online databanks and timesharing services. The VersaModem is simple to install and operate. And it's compatible with standard data terminals and a host of personal computers. Before you buy a computer modem, look at BIZCOMP's versatility. Look at BIZCOMP's quality. With BIZCOMP's VersaModem you won't need another modem. If your local computer store doesn't already have a VersaModem on display, ask them when they will ! BIZCOMP Communications... Why not start with the best? BIZCOMP P.O. Box 7498 • Menlo Park, CA 94025 • 415/966-1545 Copyright ©1981 Business Computer Corporation Circle 44 on inquiry card. Software Received Apple Clone Assembler, a 6502 assembler and disk-based, line-oriented text editor for the Apple II. Floppy disk, $39.95. Clone Software, 1446 Estes St, Lakewood CO 80215. Meteoroids in Space, a graphics arcade game for the Apple II and Apple II Plus. Floppy disk, $9.95. Quality Software, 660 Reseda Blvd, Suite 105, Reseda CA 91335. Space Raiders, a graphics arcade game for the Apple II and Apple II Plus. Floppy disk, $29.95. United Software of America, 750 Third Ave, New York NY 10017. Super Gomoku, a game that simulates checkers for the Apple. Cassette, $9.95. United Software of America (see address above). Super Stellar Trek, an adventure game for the Ap- ple II. Floppy disk, $39.95. Rainbow Computing Inc, 9719 Reseda Blvd, North- ridge CA 91324. Universal Boot Initializer, a utility program for the Ap- ple II that will allow disks to be booted from either DOS 3.2 or 3.3. Floppy disk, $40. S H Software, POB 5, Man- vel ND 58256. PET Adventure at Pearl Har- bor, a submarine battle game for the Commodore PET. Cassette, $19.95. United Soft- ware of America, 750 Third Ave, New York NY 10017. Piano Player, a music-gen- eration program for the Com- modore PET. Cassette, $14.95. United Software of FULL COLOR GRAPHICS The original 256- color imaging system with high resolution video FRAME GRABBER for the S-100 bus. ^*s£h Capture and digitize a video frame in 1/60 ofa second. Select the best resolution for your „^ application, from 256 to 1280 pixelsj J^?^ ; «') ! ' per TV line. Display your digitized #|£ or computer processed image , ,"* f ,: with 256 gray levels or 256 (%; colors on standard u-^^v- ..if BSW.MTSCorRGB \ , ' color TV Compact two-board basic system Sj'fl Features: 480x512 Computer-generated I i Highest possible quality 480x51 2x8 digital video image presently available on the market > Input capability from TV camera or other sources > Variety of synchronization choices 1 2 selectable vkleo A/D conversion circuits > Choice of 1, 2, 4, 8, 16 or 32 bits per pixel > 32K-byte Image memory on the basic system > 32. 64, 128 & 2S6K byte system capacity > Ughtpen input > Photographic trigger control Input > Software selectable system parameters > Interfaces for TRS-80 and other processors » Comprehensive line of accessories, monitors and support software SEND FOR FREE CATALOG = DIGITAL GRAPHIC SYSTEMS = 935 Industrial Ave., Palo Alto, CA 94303 415/856-2500 America (see address above). Space Intruders, a graphics arcade game for the Com- modore PET. Cassette, $29.95. United Software of America (see address above). Super Gomoku, a game that simulates checkers for the PET. Cassette, $9.95. United Software of America (see address above). TRS-80 Balloon Bust, a circus game for the TRS-80 Model I Level II. Cassette, $15.95. Pro- gramma International, 3400 Wilshire Blvd, Los Angeles CA 90010. Blockade, graphics arcade game for the TRS-80 Color Computer. Cassette, $10; source list, $5. Bank Soft- ware, 37 Balmoral Dr, Spring Valley NY 10977. Breakout, graphics arcade game for the TRS-80 Color Computer. Cassette, $10; source listing, $5. Bank Soft- ware (see address above). Runaway Racer, a car- racing simulation game for the TRS-80 Model I Level II. Cassette, $15.95. Programma International (see address above). Space Colony, an arcade game for the TRS-80 Model I Level II. Cassette, $15.95. Programma International (see address above). Scrip-Fix, a patch for the Scripsit word-processing sys- tem for the TRS-80 Model I. Cassette, $9.95. Programma International (see address above). Space Intruders, an arcade game for the TRS-80 Model I and III. Floppy disk, $19.95. Adventure International, POB 3435, Longwood FL 32750. Starship, graphics arcade game for the TRS-80 Color Computer. Cassette, $10; source listing, $5. Bank Soft- ware (see address above). Super Gomoku, a game that simulates checkers for the TRS-80. Cassette, $9.95. United Software of America, 750 Third Ave, New York NY 10017. ZX80 A Night in Las Vegas, a Las Vegas gambling simulator for the Sinclair ZX80. Cassette, $9.95. Lem Laboratories, POB 2382, La Jolla CA 92038. ZX80 Double Breakout, a graphics arcade game for the Sinclair ZX80. Cassette, $14.95. Softsync Inc, POB 480, Murray Hill Sta, New York NY 10156. ■ 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. 302 October 1981 © BYTE Publications Inc Circle 121 on inquiry card. Circle 41 on inquiry card. Ten reasons I BASF FlexyDisk No. lore than four decades of experi- ence in magnetic media— BASF invented magnetic recording tape, the forerunner of today's wide range of magnetic media, back in 1934, and was the first independent manufacturer of IBM-compatible floppy disks. Tough Tyvek sleeve — no paper dust, no static electricity. Special self-cleaning jacket and liner help eliminate data errors and media wear and tear. BASF BASF FlexyDisk Center hole diameter punched to more accurate standards than industry specifications, for top performance. Bi-axially oriented polyester substrate - for uniform and reli- able performance year after year. Cross-linked oxide coating -for low head wear and long trouble- free media life. Total capability— one of two man- ufacturers in the world that makes both 8" and 5.25" models, has tape and disk experience, and manufactures floppy disk drives. Double lubrication— lubricants both in the formula and on the disk surface, to minimize media wear due to head friction. Packaging to suit your requirements — standard flip-top box , Kassette 10® storage case, or bulk pack. 100% certification — every single disk is tested at thresholds 2-3 times higher than system require- ments, to be 100% error-free. For the name of your nearest supplier, write BASF Systems, Crosby Drive, Bedford, MA 01730, or call 617-271-4030. BASF Floppy Disks Mag Cards Cassettes Computer Tapes Disk Packs Computer Peripherals Books Received Active Filter Design Hand- book, G S Moschytz and Petr Horn. New York: John Wiley & Sons, 1981; 17.5 by 25 cm, 316 pages, hardcover, ISBN 0-471-27850-5, $45. The Ada Programming Language, I C Pyle. Engle- wood Cliffs NJ: Prentice- Hall, 1981; 17.5 by 23.5 cm, 293 pages, softcover, ISBN 0-13-003921-7, $14.95. BASIC for Students: With Applications, Michael Trombetta. Reading MA: Addison-Wesley, 1981; 16 by 23.5 cm, 291 pages, soft- cover, ISBN 0-201-07611-X, $9.95. Build Program Technique: A Practical Approach for the Development of Automatic Software Generation Sys- tems, John G Rice. New York: John Wiley & Sons, 1981; 15.5 by 23.5 cm, 372 pages, hardcover, ISBN 0-471-05278-7, $29.95. CDS/ISIS and MINISIS: A Functional Analysis and Comparison, Robert L Valantin. New York: UNIPUB, POB 433, Murray Hill Sta, 1981; 17.5 by 25 cm, 88 pages, softcover, ISBN 0-88936-296-3, $6.50. Computer Acronyms, Ab- breviations, Etc, Claude P Wrathall. Princeton NJ: Petrocelli Books, 1981; 15 by 22 cm, 486 pages, hardcover, ISBN 089433-138-8, $17.50. Also available in softcover for $14. Cryptography, A Primer, Alan G Konheim. New York: John Wiley & Sons, 1981; 16.5 by 24 cm, 432 pages, hardcover, ISBN 0471-08132- 9, $34.95. Digital Counter Hand- book, Louis E Frenzel Jr. In- dianapolis IN: Howard W Sams & Company, 1981; 13.5 by 22 cm, 264 pages, soft- cover, ISBN 0-672-21758-9, $10.95. Early British Computers, Simon Lavington. Bedford MA: Digital Press, 1980; 15 by 21 cm, 140 pages, soft- cover, ISBN 0-932376-08-8, $8. Educational Software Directory, Apple II Edition, Sterling Swift Publishing Company. Manchaca TX: Sterling Swift Publishing, 1981; 15 by 22 cm, 103 pages, softcover, ISBN 0-88408- 141-9, $11.95. From ENIAC to UN IV AC, An Appraisal of the Eckert- Mauchly Computers, Nancy Stern. Bedford MA: Digital Press, 1981; 19 by 24 cm, 286 pages, hardcover, ISBN 0- 932376-14-2, $21. Fundamental Concepts of Information Modeling, Matt Flavin. New York: Yourdon Press, 1981; 15 by 23 cm, 128 pages, softcover, ISBN 0- 917072-22-7, $10. How to Design & Build Your Own Custom Robot, David L Heiserman. Blue Ridge Summit PA: Tab Books, 1981; 13 by 21 cm, 462 pages, softcover, ISBN 0-8306-1341-2, $12.95; hard- cover, ISBN 0-8306-9629-6, $18.95. How to Plan, Design and Implement a Bad System, Ronald B Smith. Princeton NJ: Petrocelli Books Inc, 1981; 14 by 22 cm, 157 pages, hardcover, ISBN 0-89433- 148-5, $14. Introduction to Computer Organization, Ivan Tomek. Rockville MD: Computer Science Press, 1981; 16 by 23.5 cm, 456 pages, hardcover, ISBN 0-914894-08-0, $21.95. Linear Integrated Circuits, Practice and Applications, Sol D Prensky and Arthur H Seidman. Reston VA: Reston Publishing Company, 1981; 16 by 23.5 cm, 354 pages, hard- cover, ISBN 0-8359-4084-5, $21.95. Microcomputer Architecture and Programming, John F Wakerly. New York: John Wiley & Sons, 1981; 17 by 23.5 cm, 692 pages, hardcover, ISBN 0-471-05232-9, $27.95. The Microelectronics Rev- olution, edited by Tom Forester. Cambridge MA: MIT Press, 1981; 15.5 by 23.5 cm, 589 pages, softcover, ISBN 0-262-56021-6, $12.50; hard- cover, ISBN 0-262-06075-2, $25. The Minicomputer in On- Line Systems, Small Com- puters in Terminal-Based Sys- tems and Distributed Process- ing Networks, Martin Healy and David Hebditch. Cam- bridge MA: Winthrop Pub- lishers, 1981; 18.5 by 24 cm, 334 pages, hardcover, ISBN 0-87626-579-4, $22.95. Osborne CP/M User Guide, Thorn Hogan. Berkeley CA: Osborne/McGraw-Hill, 1981; 19 by 23.5 cm, 283 pages, soft- cover, ISBN 0-931988^4-6, $12.99. Pascal Programming for the Apple, T G Lewis. Reston VA: Reston Publishing, 1981; 15.5 by 23 cm, 234 pages, soft- cover, ISBN 0-8359-54544, $12.95. A Primer on Pascal, Second Edition, Richard Conway, David Gries, and E Carl Zimmerman. Cambridge MA: Winthrop Publishers, 1981; 18.5 by 24.5 cm, 430 pages, hardcover, ISBN 0-87626- 675-8, $17.95; softcover, ISBN 0-87626- 671-5, $12.95. The Programming Language Landscape, Henry Ledgard and Michael Marcotty. Chicago IL: Science Research Associates, 1981; 16.5 by 24.5 cm, 460 pages, hardcover, ISBN 0-574- 21340-6, $22.95. Robot Intelligence with Ex- periments, David L Heiserman. Blue Ridge Summit PA: Tab Books, 1981; 13 by 21 cm, 322 pages, softcover ISBN 0-8306-1191-6, $9.95; hardcover, ISBN 0-8306- 9685-7, $16.95. Software Design: Methods and Techniques, Lawrence J Peters. New York: Yourdon Press, 1981; 17.5 by 25.5 cm, 248 pages, softcover, ISBN 0-917072-19-7, $23. Structured Programming in FORTRAN, Louis A Hill Jr. Englewood Cliffs NJ: Prentice- Hall, 1981; 17.5 by 23.5 cm, 526 pages, softcover, ISBN 0-13-854612-6, $15.95. Take Aim: Volume I, James Hoyt Clark. Beaverton OR: Matrix Publishers, 1981; 388 pages, 22 by 28 cm, softcover, ISBN 0-916460-29-0, $16.95. Video/ Computers, How to Select, Mix, and Operate Per- sonal Computers and Home Video Systems, Charles J Sippl and Fred Dahl. Englewood Cliffs NJ: Prentice-Hall, 1981; 18.5 by 24 cm, 246 pages, softcover, ISBN 0-13- 941849-0, $7.95; hardcover, ISBN 0-13-941856-3, $15.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. 304 October 1981 © BYTE Publications Inc Now NRI takes you inside the new TRS-80 Model III microcomputer to train you at home as the new breed gfgpmputer specialist! NRI teams up with Radio Shack advanced technology to teach you how to use, program and service state-of-the-art microcomputers . . . It's no longer enough to be just a programmer or a technician. With microcomputers moving into the fabric of our lives (over 250,000 of the TRS-80™ alone have been sold), interdisciplinary skills are demanded. And NRI can prepare you with the first course of its kind, covering the complete world of the microcomputer. Learn At Home in Your Spare Time With NRI training, the program- mer gains practical knowledge of hard- ware, enabling him to design simpler, Training includes new TRS-80 Model III micro- computer, 6-function LCD Beckman multimeter, and the NRI Discovery Lab with hundreds of tests and experiments. (TRS*8G is a trademark of the Kadio Shack division of Tandy Corp.) more effective programs. And, with ad- vanced programming skills, the techni- cian can test and debug systems quickly and easily. Only NRI gives you both kinds of training with the convenience of home study. No classroom pressures, no night school, no gasoline wasted. You learn at your convenience, at your own pace. Yet you're always backed by the NRI staff and your instructor, answering questions, giving you guidance, and available for special help if you need it. You Get Your Own Computer to Learn On and Keep NRI training is hands-on train- ing, with practical experiments and demonstrations as the very foundation of your knowledge. You don't just pro- gram your computer, you go inside it. . .watch how circuits interact. . . inter- face with other systems. . .gain a real insight into its nature. You also work with an advanced liquid crystal display hand-held multi- meter and the NRI Discovery Lab, per- forming over 60 separate experiments. You learn troubleshooting procedures and gain greater understanding of the information. Both microcomputer and equipment come as part of your training for you to use and keep. Send for Free Catalog. . . No Salesman Will Call Get all the details on this exciting course in NRI's free, 100-page catalog. It shows all equipment, lesson outlines, and facts on other electronics courses such as Complete Communications with CB, TV/Audio and Video, Digital Elec- tronics, and more. Send today, no salesman will ever bother you. Keep up with the latest technology as you learn on the latest model of the world's most popular computer. If card has been used, write to: 1 i in NRI Schools McGraw-Hill Continuing Education Center 3939 Wisconsin Avenue Washington, D.C. 20016. We'll train you for the good jobs! BYTELINES News and Speculation About Personal Computing Conducted by Sol Llbes J mart Credit Card Uses EEPROM: SCS-ATES has introduced XCARD, an elec- tronic credit card that uses an EEPROM (electrically erasable, programmable read-only memory) to keep track of your remaining credit. The EEPROM is en- capsulated in a thin plastic card. It's inserted into a reader that accesses the data in the 17-word by 8-bit EEPROM and subtracts the amount charged by writing to the EEPROM. Fifteen bytes are alterable; the others are for identification and security code (to check for fraudulent erasure). Pro- totypes are being tested in Italy. B Ug-Money Prizes In Computer Chess Battle: Big money is waiting for the computer chess program de- veloper whose program de- feats a human chess expert. Omni magazine is offering $16,000 to the first program that can beat David Levy, the Scottish National Chess Champion (Elo rating of 2310). (Elo ratings are recog- nized by the World Chess Federation.) A Netherlands software firm will award $50,000 to the developer of the first program that bests Max Euwe (Elo rating of 2540), and the Fredkin Foun- dation of Massachusetts will pay $100,000 to the program that overpowers the stand- ing world chess champion (typical Elo rating of 2700). Most experts feel these prizes could be won within the next five years, and will certainly be awarded within the next ten years. The United States Chess Federa- 306 October 1981 © BYTE Publications Inc tion has voted to permit computers to compete in sanctioned matches with hu- man players. In 1983, there will be a team-chess tourna- ment in which one team will be entirely computers. V OS Gains In Popu- larity: Switching from one computer to another usually means jumping from one DOS (disk operating system) to another. Then, you have to learn how to operate an entirely new system, which often means redeveloping existing software so that it will run. In a commercial en- vironment, this can be very expensive. To overcome this prob- lem, researchers at the Lawrence Berkeley Labora- tory, University of Califor- nia-Berkeley, have created a VOS (virtual-operating sys- tem) as an interface between the DOS and the hardware. Called Software Tools, the system has already been im- plemented on several dozen systems ranging from IBM, DEC (Digital Equipment Cor- poration), Honeywell, and Burroughs mainframes to minicomputers and even microcomputers using Digital Research's CP/M DOS. Using a VOS, an organ- ization's software can outlive its hardware, which does away with costly soft- ware redevelopment. The Software Tools VOS is supported by a user group that publishes a newsletter, directory, documentation, holds regular meetings, and makes the Software Tools software available on mag- netic media for $35. For more information contact Debbie Scherrer, Lawrence Berkeley Laboratory, CSAM- 50B/3209, University of Cali- fornia, Berkeley CA 94720. #mnglo-French Video- text Standard: British and French negotiators have agreed on a common video- text/teletext standard that makes Britain's Prestel and France's Antiope systems compatible. Canada also may adopt the standard, which could affect Ameri- can videotext systems. R. LObotlcs Update: Stan- dard & Poor's predicts that robotic sales in this country will leap from less than $100 million to nearly $1 billion by the end of the decade. (As an aside, Japan already uses more than three times as many robots as the US.) General Electric has dis- closed that it will replace 15,000 workers with 8000 robots during the next five years; and that if it cannot do this, it will not be able to compete economically. Industrial robots currently cost in the $7500 to $250,000 range (with one specialized unit selling for $2.5 million). The average price is around $40,000, which is expected to fall to $10,000 by 1983 as companies such as IBM and Texas Instruments are ex- pected to enter the market. Robots are projected to cost between $1.75 to $4.75 an hour, compared to the $12 to $15 per hour wages paid for skilled labor. Their greatest impact has been in the automobile, steel, and aerospace industries. Dr Richard John, Director of the Office of Energy and En- vironment, of the Transpor- tation System Center, Cam- bridge, Massachusetts, has predicted that by 1985 auto- mation will replace more than 200,000 workers in the auto industry. The Fujitsu Francu robot factory, in Japan, reports that it operates 16 hours a day entirely by robots. Hu- man workers come in for eight hours to complete the final assembly of the ma- chines and robots. Fujitsu feels that it will have the plant completely robotized by 1985. Hitachi claims to have 500 scientists and en- gineers working on the development of a new gen- eration of robots that will be able to "see, feel, and walk up aVid down the factory floor supervising other robots." Microbot Inc of Menlo Park, California, has had its $1700 robotic arm, used with a Radio Shack TRS-80, on the market for over a year. Thus far, 40 have been sold. Terrapin Inc has sold 150 of its Turtles, which can run a maze or draw pictures. But most of these units have gone into schools, not the home. The problem is that the cost of a robot that will do meaningful tasks is still very high. Although low-cost sen- sors and mechanical com- ponents are available, a huge amount of expensive electronic processing is re- quired. A general-purpose robot requires a multipro- cessing, multitasking com- puter system, with a high degree of artificial in- telligence so that the robot can sense its environment and respond properly within a reasonable time. More ad- vances in artificial-intelli- gence programming tech- niques are still needed. w ' PERT/CPM TIMESAVER $ '111^ As a project manager, you know the value of careful planning. Oversights and miscalculations can cost you crucial time and money. MILESTONE is a powerful "Critical Path" Program that can be used for planning and analyzing virtually any project, from the opening of a retail store, to charting the progress of a police investigation; from drawing up a cost estimate for a construction project to scheduling the development (and involved expenses) of a new computer; from keeping track of rental equipment to allowing a winery to chart the evolution of a vintage Chardonnay from harvest to bottling. The applications are endless. What's more, MILESTONE is one of the easiest software packages to use. Once milestone: WHEN TINE IS MONEY. the working days, skill categories, wages or salaries and time increments are defined, then MILESTONE is ready to do the work for you. Change, for instance, the estimated completion date of a particular time-critical task, and you'll instantly see it's effect on the entire project. All scheduling, man- power costs, associated reports, etc. are immediately re-tabulated. A calendar display allows you to visually follow the activities (200 per project with 64K RAM, 100 with 56K RAM). Examples are included on the disk. TIME IS MONEY. SAVE BOTH WITH MILESTONE. Price is $295. Manual alone— $30. SOFTWARE SOFTWARE DIGITAL M4RKETING DIGML/VWRKETING 2670 Cherry Lane (415)938-2880 A PROJECT MANAGEMENT AND TIME SCHEDULING PROGRAM. Circle 123 on inquiry card. Walnut Creek, CA 94596 Dealer inquiries invited. Dealers outside California call (501) 442-0864. Inside California call (415) 938-2883. Milestone is a trademark of Organic Software. CP/M is a trademark of Digital Research. MILESTONE requires 56K RAM and CP/M. Also available for CP/M-86, Apple Pascal and UCSD Pascal. Specify 8080, Z80, CDOS, 8086, UCSD Pascal or Apple Pascal. Formats: 8" single density IBM soft-sectored. 5V>" NorthStar DD, Micropolis Mod II. Superbrain 3.0. Apple II. BYTELINES Most experts agree that robots will move into the home just as computers have done — but this is still at least five years and maybe as much as 20 years away. We will probably see the first "home robots" per- forming only specific or limited sets of tasks. Most likely the first applications will be robotic aids for the handicapped. For example, Stanford University has modified an industrial robotic arm for use by quad- riplegics. It recognizes voice commands, repeats them for verification, then acts ac- cordingly. Also, it can pick up a telephone, fetch a book, turn pages, pour drinks, or hold a glass. The Veterans Administration is currently testing the unit. Experimenters interested in building a robot should note that Hobby Robotics Company, POB 997, Lilburn GA 30247, has announced a mobile unit that consists of a body and two arm manipula- tors. It costs $1495. The user must supply the electronics. Hobby Robotics also pub- lishes a quarterly newsletter. Heathkit will jump into the robotics market next year with an under-$1000 robot kit. It will be mobile and will have a seven-motor manipulator, sonar-type sen- sor, a Motorola 6809-based controller, and an "ex- perimenter's area" where users can wire circuits. There will be several modes of operation, including auto- matic and teach/learn modes. It will be primarily an educational tool, teaching modern industrial- control techniques. N. I ew Scheme To Halt Software Piracy: To cope with software pirates, sup- pliers have used nonstan- dard data formats, slashed their prices low, or tried to ignore the problem. Some have printed their documen- tation in light blue ink to prevent photocopying. But this resulted in a catch-22: the suppliers who use nonstandard formats have been severely criti- cized by purchasers who cannot make backup copies and must return the disk to the supplier if it is damaged. This is a real annoyance and, if the supplier charges for this service, engenders re- sentment. Format-indepen- dent programs that copy the disk bit by bit are available by popular demand. Now, at long last, Micro- Technology Unlimited, Raleigh, North Carolina, and Hal Chamberlin, creator of many innovative microcom- puter features, have im- plemented a previously talked about method for pre- venting piracy: a software- readable serial number em- bedded in hardware. Here's how it works: the supplier in- tegrates the code in the soft- ware when it is ordered. When the program runs, the two serial numbers are com- pared; if they do not match, the program doesn't run. Thus, users can make any number of copies and in- tegrate a program with other software to form a new package. I suspect that the serial number is embedded in a ROM (read-only memory) that uses an algorithm known only to the hardware manufacturer and licensed software vendors. It may use a PLA (programmable-logic array), which cannot be duplicated as simply as a ROM. Also, the software- checking routine has to be done in a clever and subtle way so that it cannot be easi- ly located and bypassed. V, Irtual Memory For Microcomputers: Early next year, Intel, Zilog, Moto- rola, and National Semicon- ductor will introduce in- tegrated circuits to add VMM (virtual-memory man- agement) to 16-bit micropro- cessors. This will give systems the large-capacity storage previously found on- ly in large mainframes. VMM creates a more effi- cient integration of the pri- mary small (but fast) semi- conductor main memory and the secondary (slow) large disk storage. It frees the programmer from wor- rying about the details of storage allocation. Also, it more efficiently manages the use of memory and disk storage when many users share memory. Zilog, Motorola, and Na- tional Semiconductor also will introduce separate MMU (memory-manage- ment unit) integrated cir- cuits to work with their 16-bit microprocessors. Intel will unveil a new version of its 16-bit microprocessor that will include an MMU circuit. The Zilog MMU will manage an 8-megabyte memory space compared to the others' 16-megabytes. Juper-Graphlcs: Nippon Electric Company (NEC) is about to go into production on a new graphics-controller integrated-circuit chip that will make super-color graph- ics possible on microcom- puters. Listen to these speci- fications: displays 2048 by 2048 pixels (picture ele- ments) in the black-and- white mode or 1024 by 1024 pixels in the color mode; generates all timing and syn- chronization signals; allows both graphics and text on the same screen; supports up to 64 K (16-bit word) dis- play memory; contains hard- ware for drawing lines, arcs, circles, rectangles, and char- acters at 800 ns per pixel; supports two display areas (independently pannable); has an auto-advance cursor; will display 256 characters per row and up to 100 rows per screen; will zoom dis- play to sixteenfold; has a light-pen input; 8-bit inter- face for microcomputers; and DMA (direct-memory access) capability ... all in one 40-pin package. Samples should become available next month with production quantities ob- tainable early next year. Single-quantity price is ex- pected to be $150. I o Be A 1 28 K-BIt Or A 256 K-BIt ROM— That Is The Question: Although five integrated-circuit manu- facturers are providing samples of the new 128 K- bit, or 16 K-byte, ROM (read-only memory), others have opted to skip the that size and go directly to 256 K bits (32 K bytes), notably Motorola. These large-sized ROMs are expected to be used mostly in high-level language processors, intel- ligent typewriters, smart ter- minals, language translators, and speech-synthesis sys- tems. You can expect to see 128 K-bit ROMs on the mar- ket by year's end and the 256 K-bit ROMs by mid- 1982. ^mpple Computer Reg- isters Stock Offering: Ap- ple Computer Inc has regis- tered a proposed public stock offering of 2 Va million shares at $27.50 each. (Its original offering last year was 5 million shares at $22 each, although this rose $7 minutes after going on sale.) Also, the president and vice chairman of Apple (A C Markkula and Michael M Scott) have granted the un- derwriters options to pur- 308 October 1981 © BYTE Publications Inc anew '"■'• is born! a better computer system any way you look at it. The facts speak for themselves. The QUAY 500 SERIES offers more for the money than North Star Horizon' computers. MORE TECHNICAL FEATURES. A single board computer in- stead of a backplane with multiple boards, means fewer parts, fewer interconnections and fewer problems □ additional disk capacity for more program storage □ DMA controlled disk transfers for increased system performance n on-board expan- sion capabilities for additional parallel and serial ports, and EPROM D AC convenience outlets □ a more compact design. IMMEDIATE DELIVERY. The 500 SERIES is available off the shelf for virtually immediate delivery. No waiting for far off de- livery dates for this one. LOWER PRICE. The advanced technology engineered into Quay computers actually lowers our cost to manufacture. The price of the 500 SERIES is about 20% lower than the Horizon-2-32K-D — and our 520 SERIES also offers significant savings over the Horizon-2-32K-Q. The bottom line is simple. There is a new star in the computer field. The 500 SERIES by Quay. It out- shines all of the competi- tion. COMPARE FOR YOURSELF: Advanced single board modular design. SPECIFICATION QUAY 500 H0RIZ0N-2-32K-D Architecture Single Board S100 bus CPU Z80A, 4MHz. Same Dynamic RAM (std) 64Kb. 32Kb. Disk drive type Double density Same No. of drives (std/max) 2/4 Same Capacity per drive (on-line) 200 Kb. 180 Kb. Direct Memory Access (DMA) Yes No CP/M • disk operating system Standard Optional Unit Price $2,995. $3,095. SPECIFICATIONS QUAY 520 H0RIZ0N-2-32K-Q Disk drive type Quad density Same Capacity per drive (on-line) 400 Kb. 360 Kb. Unit Price $3,495. $3,595. The QUAY 500 offers technical superiority— availability— a $2,500 price! CP/M" is a registered trademark of Digital Research Horizon is a registered trademark of North Star Computers, Inc. QUAa CORPORATION P.O. Box 783, 527 Industrial Way West, Eatontown, N.J. 07724 ■ (201) 542-7340 DISTRIBUTOR AND REPRESENTATIVE INQUIRIES WELCOME Circle 314 on inquiry card. BYTELINES _^_ chase up to 125,000 of their personal shares, reducing Markkula's and Scott's re- spective holdings to 12.5% and 4.9%. Xerox has pulled back its interest from 720,000 shares to 470,000 shares. Apple spent $9.1 million on research and develop- ment in the first half of 1981, compared with $7.3 million for all of 1980. It also claims to have shipped more than 4000 Apple 1 1 Is by the end of April. ■ CC Revises Interfer- ence Rules: The Federal Communications Commis- sion (FCC) has revised its rules regarding the certifica- tion of small computers for radio-frequency interference (RFI). The revision clarifies the definition for exempt de- vices: self-contained devices with clock frequencies of 495 kHz or less are now ex- empt from certification. However, virtually all micro- computers presently sold have higher clock rates and are not exempt. If your television set is bothered by RFI from your personal computer, citizen's band radio, etc, you may be interested in obtaining a free booklet entitled "How to Identify and Resolve Radio- TV Interference Problems." It is published and distri- buted by the FCC. B, 'ASIC Standards Man- ual Published: The Gov- ernment Printing Office has published a two-volume standard on the BASIC lan- guage. The stanadard is based on the ANSI (Amer- ican National Standards In- stitute) minimum criteria for the language. The 556-page document describes test pro- grams to check if a BASIC im- plementation complies with the Federal Information Pro- cessing Standard 68 and ANSI standard X3.60-1978. Volumes 1 and 2 cost $4 and $9.50, respectively. Order them from the Super- intendent of Documents, US Government Printing Office, Washington DC 20402. The order numbers are 003-003- 02262-4 (Volume 1) and 003-003-02263-2 (Volume 2). Werox 820 Personal Computer: Xerox has intro- duced a desk-top personal computer, called the Xerox 820. It costs $2995. Its original internal code name was WORM, which stood for Wonderful Office Revolu- tionary Machine. The Xerox 820 uses the Z80 microprocessor, has 64 K bytes of memory, two single-sided single-density 5-inch floppy-disk drives, and two serial and two parallel ports. A Diablo 630 printer is available for another $2900, and an 8-inch floppy-disk (250 K-byte) drive is $800. The 820 uses the CP/M operating system (a de facto microcomputer standard), with certain limitations (e.g., CP/M's powerful input/out- put byte feature is not im- plemented). But, it is a significant boost for the CP/M-software market. Also, Xerox will offer Microsoft BASIC, CBASIC-II, COBOL- 80, and several currently available CP/M-based soft- ware packages. Xerox will furnish its own version of the popular Word- Star word-processing soft- ware package. Most of its changes are in redefining the Control sequence func- tions—which undoubtedly will confuse users who are running the package on other systems. The video display is memory-mapped and shares low-memory space via a bank I/O (input/output) port- select scheme; the disk con- troller uses the popular 1771 integrated circuit. Reset causes a jump to a ROM (read-only memory) in high memory from which the user must boot CP/M, which does not start automatically. A Zilog SIO (serial I/O) in- tegrated circuit is used to handle I/O operations. Al- though Xerox implies that the 820 can be used as a workstation in an Ethernet network, no internal Ether- net interface is provided at this time. On the minus side, the Xerox machine has two Con- trol keys, both positioned adjacent to the space bar (they may be easy to hit ac- cidentally). Also, I wonder why Xerox used drives with only 92 K bytes storage per drive, when virtually every- one else has gone to double- sided or double-density drives with two or four times the storage capacity. Both HP (Hewlett-Packard) and IBM have introduced Z80-based personal computers; DEC (Digital Equipment Corpora- tion) may follow suit. Fur- ther, Xerox will have to com- pete with several dozen machines with equal or bet- ter specifications, some of which are less expensive and have been available for as long as three years. On the plus side, Xerox knows that its name can sell a lot of machines, and it has already signed up several large distribution organiza- tions, such as Computer- land. It is interesting to note that Xerox's 17 retail stores have been selling Apple computers, I wonder whether this, too, will con- tinue? R, landom News Bits: Apple Computer is offering a free resource guide on using microcomputers as aids for the handicapped. It sum- marizes work being done in the field and current pro- jects. It includes a biblio- graphy and where to go for help and advice. For a copy of "Personal Computers for the Physically Disabled: A Resource Guide," write to Apple Computer, Resource Guide, Marketing Services Department, 10260 Bandley Dr, Cupertino CA 95014. . . . The People's Republic of China will soon conduct its first national census. The US Commerce Department has sent the Chinese a computer and some US Census Bureau experts to help. The last cen- sus was done using the abacus . . . CompuServe Inc, one of the largest time- sharing systems for home- computer users, claims to have 10,000 customers, con- centrated mostly around New York City, the eastern seaboard, the Silicon Valley area, and Los Angeles. . . . Attendance at last April's San Francisco Computer Faire rose to almost 32,000. That's a jump of 12,000 over the year before. . . . The Strafford, Pennsylvania, Public Library has installed a coin-operated TRS-80. The library committee had hoped that students would use the computer for home- work, but instead most played games. At fifty cents for 15 minutes, a user can access any one of 24 pro- grams, including one that teaches BASIC. The machine was installed and operated by the same company that supplies the library's photo- copier. . . . The Mount Sinai School of Medicine in New York City will conduct an in- vestigation for the News- paper Guild into possible health problems associated with the use of video-display terminals. . . . "Go public, young firm!" seems to be the cry since Apple tried it last December. Later this year, Vector Graphic, Intertec 310 October 1981 © BYTE Publications lnc e Board System Z80A 4Mhz CPU and chip family (optional 6Mhz system) • Floppy disk controller which supports 5 1 /» and 8 inch drives simultaneously (total 4) • DMA for the floppy disk drives • 2 parallel and 2 serial communication ports • Bus expander from the CPU with 256 I/O ports • 64 K bank select low power RAM Hard disk support (up to 4 drives of mixed sizes) • Tape back up support • Supports both serial and parallel printers $1295 jf ■ if?" .. ■ - ■ . * Qume Datatrak 8 $545 Includes 1 year factory warranty Qume Datatrak 5 $315 Includes 1 year factory warranty Qume Sprint 9/45 $2295 Light Pen with cord and socket $75 Teletek FDC 1 4Mhz CPU NEC 765 disk controller $605 1 year warranty IMMEDIATE DELIVERY QUANTITY DISCOUNTS Interlink Modem • 300-600 baud • Asyn/Syn • Auto Dial • Auto Answer • Serial and modular jack interface • 2 year warranty $119 Floppy Disk Add-Ons • Dual double density drives • Enclosure • Power supply and fan • All cables • 1 year warranty 8" system $1375 5 1/4" system $949 Circle 294 on inquiry card. Circle 177 on inquiry card. PRODUCTS 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 money will be refunded within 15 days of purchase ALSO AVAILABLE PARTLY POPULATED: 16K $239.00 32K $259.00 48K $279.00 Q.T. COMPUTER SYSTEMS: MODEL DESCRIPTION lALl ARSFMBLI D & TFSTEDI PRICE MF * DD 1 2A ... 25 A Mainlrame: 1 2 Slot. S1 00. Dual 8" Drive . $625 00 MR18A 25 A Tabletop Mainlrame: 18 Slot. S100 450 00 MR 1 2A 25 A Mainframe: 1 2 Slot. S1 00. Dual 5" Drive . . 450 00 Z+80A Single Board. Z-80 Computer 2/4 Mhz .S-100 . . 185.00 Z*80A/2 2 Monitor Program for Z<80A & Tarbell or VF-1 . ... 30.00 RAM 32 32K Static RAM Board. Low Power. S-100 499 00 QTCIOA 2 Serial &4 Parallel Port I/O. S-100 339 00 QTCCCSA Clock Calendar Board. S- 1 00 1 25.00 OTCCCAA Clock Calendar Board, lor Apple 1 25 00 OTCCCTRS80 Clock Calendar Module lor TRS-80 1 25 00 VISTA COMPUTER COMPANY: MODEL DESCRIPTION ALL ASSFMBLfD & TESTEDl PRICE V300/25 . . Letter Quality Printer. 25 CPS S1 895 00 V300/45 ..Letter Quality Printer. 45 CPS 2195 00 V-DRI VE . . Dual 8" Disk Cabinet. Power Supply. Rack Mountable ... 375 00 COMPUTER SYSTEM RESOURCES: MODEL DESCRIPTION (ALL ASSFMBLID & TFSTEDi . . . .■ PRICE RAM 16...16K Static RAM, S-100 $179.00 RAM I6C . Low Power (CMOS) Version of RAM 16. 1 3 Watt .... 259.00 RAM 65 . . . 16K Static RAM. I/O Port Bank Select. S-100 189.00 RAM 65C .Low Power (CMOS) Version ol RAM 65. 1 4 Watt . . . 279 00 RAM 32 . . .32K Low Power 8 Bit Static RAM, 24 Address Lines. 499,00 RAM 256..256K 8/16 Bit Dynamic RAM, Fully IEEE 696 1295.00 I/0-8 8 Port Serial I/O, Fully IEEE, up to 200K BAUD 395 00 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. Purchase Orders accepted from US. Government & firms with published A1 Rating from Dunn & Bradstreet. All other orders require prepayment, charge card. or COD shipment. TOLL-FREE PHONE NUMBER: Call Toll-Free: 1 (800) 423-5141, In Alaska, California, and Hawaii, call us collect at (213) 883-3244. TO RECIEVE OUR FREE CATALOG: Call our Toll-Free (800) number, or circle Reader Service tf. 7131 OWENSMOUTH AVE. / > CANOGA PARK, CALIFORNIA 91303 213 / 883-3244 800 / 423-5141 BYTELINES Data Systems, and Com- puter Factory Inc will follow Apple's lead. . . . New World Computer Company, Costa Mesa, California, has a novel way to provide Winchester hard-disk backup. Its new 5-inch floppy-disk drives have both fixed storage and a removable cartridge. New World has a drive with 4 megabytes fixed and 4 megabytes removable. It costs less than $1200. . . . Micropolis Corporation will soon start shipping 5-inch floppy-disk drives with 2.2 megabytes formatted stor- age. . . . Apple will soon of- fer a videotext interface that will allow the Apple II and III computers to access Canada's Telidon system. AT&T has also decided to make its videotext Telidon- compatible. These systems can deliver computerized data to your home via either cable television, telephone lines, FM subcarrier, or unused television scan lines. Observers expect future en- hancements of videotext to provide message/teleconfer- encing, picture manipula- tion/animation, and down- loading of data files from large systems to personal computers. . . . I? andom Rumors: Word is that HP's (Hewlett- Packard's) personal-comput- er operations recently split off from the small-computer division and is now a sepa- rate entity. HP will soon in- troduce a multicolor plotter for its Series 80 personal computers. . . . Cromemco, one of the leaders in S-100 Z80-based systems, is ex- pected to release a 68000- based 16-bit processor card that includes a Z80 copro- cessor. Rumor is that Cro- memco has been working on the card for almost two years. . . . Expect Codbout Electronics to introduce 68000 and 8086 S-100 cards before year's end. . . . It's rumored that DEC (Digital Equipment Corporation) is about to release a personal computer, as HP has already done. HP's system is called the HP-125 and uses a Z80. DEC's desk-top unit will probably contain a Win- chester hard-disk drive and either an LSI-1 1 or a stan- dard processor like the Z80. DEC is already using Micro- soft BASIC in its CIGI graphics terminal. . . . I RS-80 Meets IBM: Radio Shack has three new software packages that allow various forms of com- munication between the TRS-80 Model II and IBM mainframe equipment. The first is Reformatter. It con- verts data on Model II TRSDOS 5-inch floppy disks to the standard IBM format (3741 single-density). This means that Model lis can now be used for off-line data entry in businesses where System 360/370 or other 3741 -compatible equipment is employed. The other pro- grams allow "bisync" (binary synchronous) com- munications by emulating the IBM 3270 and 3780. The Model Ms serve as online and remote job-entry ter- minals for IBM 3270- and 3780-compatible equipment. Reformatter sells for $249; the bisync packages sell for $995 each, which includes installation by Radio Shack. 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 Libes POB 1192 Mountainside NJ 07081 312 October 1981 © BYTE Publications Inc M.T.I. MOD III PLUS Now You Con Save $500 over comparable models. * We have token rhe basic 1 6K Model III expanded rhe memory ro 48K and added our MTI Double Density Dual Disk Drive system. Our system is fully compatible with Radio Shack DOS and peripherals. M998 •SAVE $500. OVER MODELS WITH COMP, SPECIFICATIONS. MOD IN/EXPANDED Same as above bur has double srorage capacity (706 srorage). Your choice of 2 dual headed 40 rtack drives or 2 single headed 80 track disk drives. $ 2499 MOD Ml/280 Our lorgesr MOD III, approximately 1 .5 mega bytes of storage, utilizes 2 dual headed 80 track, double density disk drives. Complete with manuals and professional operoring sysrem. Microsystems DOS plus 3.0. J 2799 MICROCOMPUTER TECHNOLOGY INC. 3304 W. MACAPJHUR, SANTA ANA, CA 92704 • (714) 979-9923 • .. ■ r '\ ^ MasterCard L W i ~^^T^^r U.S. PRICES FOB SANTA ANA CALIFORNIA DEALER INQUIRIES INVITED MTI MOD III SALES, PARTS & SERVICE CENTERS -INDEPENDENTS DEALERS SAN JOSE. CA 408 946-1 265 SANTA CRUZ. CA 408 427-0836 LANCASTER. CA 805 942-5747 HOLTVILLE. CA 714 356-5185 OXNARD. CA 805 486-5837 SAN DIEGO, CA 714 275-4243 TEMPE. AZ 602 839-0546 PHOENIX, AZ 602 244-9739 TUCSON, AZ 602 323-9391 SIERRA VISTA, AZ 602 458-2479 DENVER, CO 303 696-0777 CHEYENNE, NVY 307 632-91 32 TEXAS 214 247-6679 N. & S. DAKOTA 701 594-5674 MIDWEST 616 345-5068 JOPLIN. MO 417 781-1748 CLEVELAND, OH 216 779-6040 MAUMEE. OH 419 893-4288 GEORGIA 404 449-8982 FLORIDA 305 980-9191 TROY. NY 516 273-6411 GROTON, Q 203 445-51 66 OVERSEAS REP. OF SOUTH AFRICA 021-45-1047 AUSTRALIA 03-877-6946 Circle 231 on inquiry card. No risk 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™ double-sided double- density drives from Qume® feature state-of-the-art technology. You get superior data integrity through improved disk life, data reliability and drive serviceability. Data Trak™ 5 (ANSI 5W compat- ibility) Call for price Data Trak™ 8 (IBM compat- ibility) Call for price Shugart drives have been setting industry quality and reliability standards for years. Shugart's Bi-Compliant™ head assembly provides superior media com- pliance and high reliability. Model 801 (standard floppy) $425.00 Model 850 $640.00 Dual Disk Drive Cabinet . . $265.00 ASAP also provides a full line of high reliability disk drive subsystems. Part No. — Description* Price DDC+8 sgl — Cabinet for single 8" floppy disk drive... $ 185.00 DDC+8-1 - Cabinet with (1) Shugart SA801R installed $ 595.00 DDC+8-2 — Cabinet with (1) Qume® DT-8 double-sided double-density drive installed $ 695.00 DDC+88-3 — Cabinet for dual 8" floppy disk drives ....$ 275.00 C0MB0-8 — Dual cabinet for 8" floppy disk drives (horizontal mounting) $ 265.00 C0MB0-9 - Cabinet for 8" floppy disk drives (vertical mounting) $ 265.00 C0MB0-8/9+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) $1150.00 C0MB0-8/9+1Q — Dual cabinet with (1) Qume® DT-8 double- sided double-density drive installed (horizontal or vertical mounting) $ 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 — Cabinetfordesktop main- frame (small power supply) $ 200.00 800D — Cabinet for desk top mainframe (standard power supply) $ 255.00 'All cabinets come complete with power supply. Ian and internal cables. For superior quality, high reliability disk drives, contact ASAP today. SDSYSTEMS/S-1 00 BOARDS EXPANDORAM 16K $240.00 2 MHz DYNAMIC 32K S258.00 RAM BOARD 48K $276.00 KITS 64K S294.00 EXPANDORAM II 16K S250.00 4 MHz DYNAMIC 32K S268.00 DAM BOARD 48K S286.00 KITS 64K S304.00 SBC-100 KIT 2.5 MHz/Z80 CPU with Serial I/O Ports & SBC 100 Monitor of your choice at no charge $299.00 SBC-200 KIT 4 MHz/ZSOA CPU with Serial 8, Parallel I/O Ports & SBC 200 Monitor of your choice at no charge S325.00 VERSAFLOPPY I KIT Disk Controller for 5W or 8" Drives, Single or Double Sided/Single or Double Density. S-100 Compatible J250.00 VERSAFLOPPY II KIT Disk Controller for 5V 4 " or 8" Drives. Single or Douole Sided/Single or Double Density. S-100 Compatible S300.00 PROM 100 KIT S-100/EPROM PROGRAMMER for 2708. 2716, 2732 & (Tl) 2516 S190.00 ALL BOARDS ARE AVAILABLE ASSEMBLED & TESTED, CALL FOR PRICES DISKETTES from ASAP VERBATIM 5"<" DISKETTES Sectoring Soft Hard 10 Hard 16 8" DISKETTES Hard Soft MEM0REX PA" DISKETTES Sides/Density Sectoring 1/Single Solt 1/Single Hard 10 1/Single Hard 16 8" DISKETTES Sides/Density Sectoring MEM 3060 1/Single Solt MEM 3101 2/Single Soft MEM 3090 1 /Double Soft MEM 3102 2/Double Soft DYSAN B'A" DISKETTES Part # Sides/Densily Sectoring D-0130 1/Single Soft D-0226 1 /Double Soft D-0235 2/Double Soft 8" DISKETTES Pari # MD525-01 MD525-10 MD525-16 F032-1000 FD34-1000 Part* MEM 3401 MEM 3403 MEM 3405 Part # Part* D-0506 D-0605 Part/f 744-0 744-10 744-16 745-0 745-10 745-16 Pari # MD1 MD2D MH1 MH2D Part* FD1-128 FH1-32 FD2-XD Part # SRW-5 SRW-8 Sides/Density Sectoring 1/Single Sofl 2/Double Soft SCOTCH 3M 5' ." DISKETTES Sides/Densily 1/Single 1/Single 1/Single 2/Double 2/Double 2/Double Sectoring Sofl Hard 10 Hard 16 Soft Hard 10 Hard 16 MAXELL 5V DISKETTES Sides/Densily Sectoring 1/Single Soft 2/Double Soft 1/Single Hard 16 2/Double Hard 16 8" DISKETTES Sides/Densily Sectoring 1/Single Solt 1/Single Solt 32 2/Double Sofl SRW MEDIA STORAGE CASES Size 5'V Price 10/S27 50 10/S29.50 10/S29.50 10/S35.00 10/S35.00 Price 10/S2500 10/S2500 10/S25.00 Price 10/S35.00 10/S45 00 10/S45.00 10/S5500 Price 10/S45.00 10/S4600 10/S5500 Price 10/S45.00 10/S6500 Price 10/S33.00 10/S33 00 10/S33.00 10/S59.00 10/S5900 10/S59.00 Price 10/S39 00 10/S6500 10/S39 00 10/S6500 Price 10/S45.00 10/S4500 10/S65.00 Price S2.50 ea S3 25 ea asait computer ■ products, inc. 314 BYTE October 1981 Circle 31 on Inquiry card. ATARI 800 (16K) Personal Business Computer Features: • Computer console • Atari 8K basic • 57 full stroke alpha- numeric keyboard with four function keys • Operator's manual • RF modulator • Power supply Price: $799.00 Atari Optional Accessories Model # Description Price 810 Disk Drive System S 455.00 815 Disk Drive System $1 195.00 820 40 Column Dot Matrix Printer $ 279.00 822 40 Column Thermal Printer S 349.00 825 80 Column Dot Matrix Printer S 625.00 830 Acoustic Modem . . .$ 159.00 850 Interface Module . . .$ 139.00 410 Cassette Recorder $ 60.00 CX30-04 Paddle Controls.... S 17.95 CX40-04 Joysticks (pair) ....$ 17.95 INTRODUCING ASAP's Atari 800 16K RAM Module $75.00 1 year warranty parts & labor Special Offer: Additional 16K RAM FREE with purchase of system. MICROBYTE Z-80A/ l-O CPU BOARD • A complete single board Z80A CPU with serial/parallel interface • Fully compatible with the proposed IEEE S- 100 8ns Standard • Z80A CPU (4MHz version of the Z80) • 158 instructions — superset ot and upward compatible from the 8080s 78 instructions • Up to 4K of on board Eprom with optional Z80 monitor program — 1KI2708). 2KI2716) or 4KI2732I • Full vectored interrupt capability — 8 bit with MNK1 bit) • 2MHz or 4MHz operation is jumper selectable • Selectable auto-wait state insertion tor extending M1\ MREQ". IORQ" and/or on board ROM • Dual RS-232 serial I/O ports using the Z80A-DART with individual baud rate selection (from 50 — 19.200 baud) • Up to 24 bit parallel I/O port — fully programmable Intel 8255A $329 00 Assembied & Tes,ed Optional Monitor Program S50.00 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 • PLL data recovery for totally reliable operation • Write pre-comp switched at mid-disk for reliable double density operation • Supports up to four (4) drives • Power On, Power Off or Reset deselects drives to avoid damaging files • Drive deselect Time Out. deselects drives not in use • Single or double sided operation • Single density/double density operation • 8" standard drives • Selectable Vfx supply for data recovery to eliminate possible noise problems $349 00 Assemb|eci & Tested 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- nicalions with Z80A-SIO/0ITM) • Full set of modem control signals, including Rl (Ring Indicator) • Easily configurable to any type of terminal interface • I/O servicing environments: (1) Polled (2) Bus vector (3) Z80 mode 2 vector • Off-board interrupt daisy chain capability • Special receive conditions: (1) Framing error (2) Parity error (3) Receiver overrun error • Baud rates selected individually from 50 baud to 300K baud • 72 hour burn-in 2265 00 Assembied & Tested Cables Available (Optional) MICROBYTE 64K 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 • Memory addressable in four 16K banks • Hidden refresh • Gold contacts for high reliability • 72-hour burn-in • Memory mapped via DIP switch • Built-in programmable write-protect • Programmable control port for parity and bank control • ALPHA-MICRO compatible Call for Price Assembled & Tested Catalog Request Please send me your 1981 ASAP Full Line Catalog Name Company Address . City State _ Title- Zip. Amdek 100G/12" Gm. S 169.00 Amdek Color-1 13" S 375.00 APF TVM-10/10" B&W S 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 S 270.00 Sanyo DM5112ex/12'Grn. S 290.00 Sanyo DM C6013/13" Color $ 475.00 Terminals Manufacturer Model # Price Ampex Dialogue 80 S 899.00 Soroc IQ120 S 750.00 Soroc 10.140 S1250.00 Televideo TVI 910 S 650.00 Televideo TVI 912C S 725.00 Televideo TVI 950C S 975.00 Components Atari SOftWare (Many more available) Basketball S 24.00 Super Breakout $ 30.00 Chess S 30.00 Video Easel $ 24.00 3-D Tic Tac Toe $ 24.00 Star Raiders $ 34.00 Asteroids S 30.00 Music Composer $ 42.00 Educational ROM $ 19.95 Assembler/Editor $ 45.00 Telelink I S 19.95 Space Invaders S 14.95 Missile Command S 30.00 Biorhythm $ 12.95 Graph It $ 15.95 Energy Czar $ 12.95 Mailing List S 16.95 Statistics I $ 16.95 Touch Typing S 19.95 Stock Charting S 19.95 Stock Analysis S 19.95 Bond Analysis S 19.95 Word Processor S129.95 Printers Manulaclurer/Model ff Price Anacom-150 S 995.00 Anadex-9501 $1249.00 Base 2-800B S 650 00 Diablo-630R0 S2225.00 Cltoh Starwriter 45 $1925.00 Texas lnstruments-810 S1650 00 The Epson MX-80 80 Column Dot Matrix Printer 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" /j program- mable throughput at 10 CPI — logical seeking function — 105 LPM, 20 character line: 73 LPM, 43 char, line: 48 LPM. BO 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-10O/1 32 Column CALL FOR PRICE & DELIVERY Modems Manufacturer Model # Price Novation CAT $ 149.00 Novation d-CAT S 160.00 Novation Auto-Cat S 229.00 Lexicon Lex-11 S 139.00 Livermore LIV-Star 20M S 149.00 UDS UDS 103 S 189.00 UDS UDS 202 S 295.00 Monitors Manufacturer Model # Price Amdek 100/12" B&W S 139.00 Amdek 100-80 $ 169.00 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 (U.S. only) ($25.00 mimimum 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 P 's Accepted). 4116s (200 nS) Apple. TRS-80. Heath 8/S18 00 16-49 S2. 15 each 50-99 S2.05 each 100 up $1.95 each 2114L-2/200 nS Low-Power 1Kx 4 Static RAM 1-16 S2.95 each 50-99 S 2.75 each 17-49 S2.85 each 100 up S2.65 each 74LS240 . . . . S1.25 each 74LS373 . . . . S1.25 each 74LS241 .... S1. 10 each 74LS374 . . . . S1.25 each 74LS244 .... S1.25 each 8T245 $1.50 each 2708/450 nS 1Kx8EPR0M S4.00each or 8/S30.00 2716/5 Volt 2K x 8 EPROM $6.25 each 1 year warranty 8080A-CPU S 2.50 8257AC5 S15.00 Z80A-CPU S 8.95 Z80A-CTC S 8.95 320T5 S .80 Z80A-DART .... S13.95 340T5 S .70 Z80A-SIO $22.00 320T12 S .80 8255AC5 S 6.95 340T12 $ .75 1-9 10-24 25 up DB25P S2.60 S2.50 $2.35 DB25S $3.50 $3.40 $3.20 DB25C S.95 S 85 $ 75 100 Pin IMSAI Gold/S-100 Soldertail Connectors S2.40 each or 10/S2.25 each Capacitors .1(112 Volt Ceramic . 8c each or 100/S7.00 DIP Sockets - Low Profile Tin Soldertail Description 1-9 1049 50-99 100 up 14 pin tinst S .15 S 13 S 12 S .11 16 pin tin st S .16 S 14 S .13 S 12 18 pin tin st S .19 $ 18 $ .16 S .14 20 pin tin st S .25 $ .23 $ 21 $ .20 24 pin tin st S 26 S 24 S .22 S .20 28 pin tin st S .32 S 30 S .29 S .27 40 pin tin st S .42 S .40 S .38 S .34 sisaii 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 31 on inquiry card. BYTE October 1981 315 Ask BYTE Conducted by Steve Ciarcia Mall-Order Forum Dear Steve, In July 1979, I was enticed by the savings of buying a Radio Shack TRS-80 from a mail-order firm. I chose a company that is still adver- tising in BYTE today— Pan American Electronics (it had a different name in 1979). I confirmed with the company that its TRS-80s were covered by the Tandy warranty. Still skeptical, I called the TRS-80 Hot Line. To my surprise, I was firmly discouraged from doing business with Pan American and was told that most mail-order TRS-80s were defective. I then called the Tandy World Headquar- ters and asked for the divi- sion manager responsible for Pan American. He assured me that Pan American was legitimate. He couldn't un- derstand the comments from the Hot Line. I decided to risk it (after all, I'd be covered by the war- ranty) and sent my check. My TRS-80 arrived, but it did not work. Pan American was very nice and said I could either return it for a refund or exchange, or take it to a local Radio Shack for free warran- ty service. I did the latter and a loose wire was repaired in 48 hours. A few months later, con- trary to my advice, a friend ordered from Pan American. His TRS-80 had a defective keyboard and was repaired by our local Radio Shack Center. Just recently, another friend received defective disk drives from some other "Authorized Radio Shack Sales Center." In all three cases, the war- ranty service was done, and, hence, we are satisfied customers. However, our ex- periences support the Hot Line's accusations. Is Tandy pushing defective merchan- dise through mail-order stores? Jeff Goodling Allentown PA Dear Steve, I was concerned about buying a TRS-80 by mail, not because I was afraid of a rip- off, but because I'd heard rumors that local stores were being difficult about post-sale support. To see for myself, I went to a Radio Shack Computer Center in Glendale, Califor- nia, to check the price on a Model II with a printer, for my own use. The quote I got was about $1000 higher than I could get by mail (even for- getting the tax). When I men- tioned to the salesman that mail order was much cheaper, he said, in effect, try to get support: the mail-order company won't support the machine, and neither would he unless I bought a $1300 service contract. He was pret- ty hostile about the whole idea that I might want to save a thousand bucks. He so soured me on the idea of a Model II that I've crossed it off my list of possibles. At the same time, I was looking for a word processor for business purposes. I checked most of the big com- panies (Wang, Lanier, IBM, etc) and got a shock: all of them carry their own financ- ing amortized over five years, but Radio Shack does not. Radio Shack, on the other hand, forces you to an outside lender, no matter who you are. We're an old company with plenty of credit, but to Radio Shack it makes no difference. Also, Radio Shack's service con- tract costs from $400 to $800 more than the rest. It seems that Radio Shack simply isn't interested in the business market — at least it's never going to get it with that kind of financial attitude. Radio Shack's machines are initially cheaper, true, but over five years, with the ser- vice, they come out looking very bad. Plus, the attitude of the people associated with the places I talked to left something to be desired. David Storti Los Angeles CA Perhaps it is best if Radio Shack responds directly. Pan American Electronics' reply follows. . . . Steve Radio Shack Replies: / can't believe anyone can think we're "pushing defec- tive merchandise through mail-order stores' 7 That's ab- surd . . . our reputation would suffer, and we'd end up paying for the repairs any- way. I'd bet the reason Mr Goodling and his friends ex- perienced problems was due to the extra shipping time and mileage. If a local store or dealer had delivered the equipment to the user, it could have been checked out on the spot before delivery. Any Radio Shack employee telling a customer not to buy from a dealer is speaking against company policy. There are obvious advan- tages to buying locally, whether through a company store or authorized dealer: checkout prior to delivery and a salesman naturally more anxious to help "his customer" with any problems after the sale. A customer who spends money elsewhere and needs service is very like- ly to be a lower priority. That's not policy, just a com- monsense assessment of hu- man nature at work. Our store personnel are required to help any customer with re- pairs in a timely fashion. Warranty service requires proof of purchase from a Radio Shack store or autho- rized dealer. There are some folks selling TRSSOs who aren't authorized dealers, and there is no pass-through war- ranty if you buy from one of them. I'm sorry Mr Storti doesn't like our prices or our credit policies. There are always people who can work on less margin, some, it seems, on no margin. We know what it takes to continue our service network and still keep our stockholders happy: Hot Line, Newsletter, new hard- ware and software develop- ment, etc. As to the credit question, we simply aren't in the time- payment business: Why not criticize the finance company for not manufacturing com- puters? We offer a leasing program, but apparently it didn't meet Mr Storti's re- quirements. I really believe that Radio Shack's attitude toward our customers is good. A sales- person (ours or anyone else's) will resist losing a sale and may naturally be less than en- thusiastic about furnishing support to someone else's customer. I apologize to any- one who has received other than courteous treatment from one of our employees in this situation, or who has been led to believe that we as a company condone less than full support on a purchase from an authorized outlet. It just isn't true. We'd like to be all things to all customers, but we know 316 October 1981 © BYTE Publications Inc FUTRA COMPANY P.O. BOX 4380 - DEPT. B TORRANCE, CA 90510 (213) 328-8951 Hours: Mon. - Fri.: 8:00 am to 5:00 pm Sat: 10:00 am to 4:00 pm (PST) riding solutions and being competitive is our business. At itra Company we believe that it is possible to find solutions your automation problems at the lowest possible prices, e carry a complete line ol products from major manu- cturers and a variety ol other accessories and software to lit your home, professional and business needs. w HEWLETT PACKARD HP-85 and HP-83 e Hewlett Packard Computers 1 powerful problem solvers tor professional. Quality built for ustrial, scientific and business Plications tbat can not afford a ay due to equipment failure, remely versatile the HP-85 or can offer functions from ancial analysis in an office to itrolling devices on test equip- :nt or numerical controlled in- strial machines. The HP-85 mes with a tape recorder, nter and a CRT display and the HP-85 $2575.00 HP-83 $1790.00 HP-83 is the same in capabilities of the HP-85 less the tape storage and printer. 82903A HP + 85/83 16K Memory Module $255.00 Firmware Enhancements: 82936A 82936A ROM Draw 15-15001 Mass Stor. Interlaces: 15-15002 15-15003 15-15004 15-15005 15-15007 Plotter/Print In/Output Matrix Adv. Prog. Assembly $ 42 135 $135 $274 $135 $274 $127.5 82937A HP-IB $339 82939A Serial (female) $399 82939 opt 001 (male) $339 Same 002 (crrnt 1p) $339 82940A GPIO $421 82941 A BCD $420 82949A Printer Int. $269 7225 Graphics Plotter $2089.95 HP2631B Matrix Printer $3295.00 HP 82902M Disk Drive $1275.00 HP APPLICATION PACS 85-13001 Standard 85-13002 Basic Training 85-13003 Gen. Statistics 85-13005 Math 85-13006 AC Circuit Analysis 85-13010 Games 85-13042 VisiCalc PLUS 85-13045 Information Mgmt. 85-13046 Surveying 85-13044 Data Communications 85-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 $309.00 I 1 $159.00 Z-80 Soft Card 16K Ram Card with CP/M pen your Apple II computer to a larger world. With the Z-80 Soft- ard and 16K RAM Card you can now run CP/M compatible software, xpand your memory for specific application, act as a firmware card nd much more. If you add any boards to your Apple this year these re the ones. VIDEX 80 x 24 VIDEOTERM AND KEYBOARD ENHANCER $269.00 Videoterm $110.00 Keyboard Enhancer ALS "Smartcm" 80 column card $295.00 Maintain optimum software compatibility industry wide. By adding the Videoterm 80 x 24 videoboard and keyboard enhancer your Apple acts similar to CRT Terminals on larger systems. Combine this with the Microsoft Softcard and you've got some system. APPLE II COMPUTER $1069.00 16K Apple II Plus 48K Apple II "Plus" w/factoty warranted RAM $1129.00 What can we say except that it's a super system at a steal of a price. •Applesoft Firmware •Centronix Printer Int. •Communications Card •High speed serial Int. •Pascal Lang. Syst. •Integer firmware •Parallel Print. Int. $149 $179 179 155 379 149 149 •Disk II w/cont. •Disk II 2nd •Hand Controllers •Vinyl Carrier •Joystick II •Graphics Table •Silentype Printer 365 $509 $445 27 33 45 665 OTHER APPLE PRODUCTS California Computer Systems: • 12K PROM/ROM Brd CALL • Centronics Cable • Calendar Clock • Programmable Timer • A/D Converter • GPIB IEEE 488 $30 $99 $89 $95 CALL Mountain Computer Inc. • Apple Clock • Supertalker • Romplus • Romwriter • Romwriter • X10 Controller • X10 System • CPS Multi-function Other: • SSM AIO • SSM A488 • ABT Keypad • ABT Soft Key $210 $255 $131 $152 $152 $172 $270 $239 $159 CALL $115 $145 • Asynchronous Serial • Synchronous Serial • Parallel Interface • Centronics Interface • Arithmetic Proc/Disk • Arithmetic Proc/ROM ■ Music System A/D + D/A Keyboard Filter Keyboard Filter Copy Rom I/O Cable Assembly Expansion Chassis Card Reader ABT Barwand KBC Joystick II KBC Keypad II ThunderClock $129 $149 $99 $99 $325 $345 $465 $299 $48 $48 $48 $47 $649 $1085 $175 $45 $149 $120 APPLE II 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 ■ Stellar Invaders i Apple Plot i Adventure ■ AP Music Theory i Tax Planner $23 $57 $33 $47 $114 $159 • Visiterm $125 $165 • Visiplot $147 $84 • Visidex $159 • VisiTrendA/isiplot $229 Microsoft: (requires Z80 SoflCard & CP/M) • Basic Compiler $296 • COBAL Language $562.50 • Assembly Language $94 • Fortran Language $149.00 Peachtree/40: (requires Z-80 SoftCard & 16K RAM Card) • General Ledger $195 • Accounts Rec $195 • Accounts Payables $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 Payroll Inventory Mail List $195 $195 $195 Software Publising Corp. "PFS" $87.50 "PFS: Report" $87.50 MicroFocus "COBOL" $743.00 DC HAYES NOVATION • Micromodem II $303.00 • Micromodem 100 CALL Cat-Modem D-Cat Modem Apple Cat $155.00 $155.00 $328.00 OSBORNE COMPUTER $ CALL XEROX 820 The Lowest Price - $ CALL COMPUTER SUPPLIES: 3M Scotch 5" Diskettes (10) 3M Scotch 8" Diskettes (10) •744-0 5" SS/SD soft sect. $26 •740-0 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 8" DS/DD $44 •7440 5" Head Clean. Kit $29 «74O0 8" Head Clean. Kit $30 MISC. •Silentype Paper (roll) $4.50 »Vinyl Disk Sleeves $6.95 •5" Vinyl disk sleeves $6.95 APPLE III COMPUTER A highly sophisticated system de- signed to tackle the toughest bud- geting, forecasting, scheduling, pric- ing, and other management analysis and planning tasks. It comes with a built in disk drive and interfaces and sold as a system package. A3PO00A system Option A includes: $4038.00 A3S0128 Apple III 128K A3S0001 Information Analyst A3M0005 12" Black 8, White Monitor Accessories: • A3M0001 Silentype Printer III $292.00 • A3M0003 Disk II for AMI $495.00 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 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 Components • 2200A Mainframe $373 • 24221 Disk Cntrlr. $195 • 2810A CPU $220 • 2718 Par/Ser I/O $275 • 2065 64K RAM $537 VIDEO TERMINALS & VIDEO MONITORS Sanyo: • 12" Green Monitor • 12" B&W Monitor • 13" Color Monitor • 9" B&W Monitor • 9" Green Monitor AMDEK: • 12" B&W Monitor • 12" Green Monitor $269 $239 $432 $169 CALL $144 $174 NEC: • 12" Green Monitor • 12" Color (RGB) • 12" Color Monitor VIDEO TERMINALS: • ADDS Viewpoint CRT • Soroc 130 • Televideo $282 CALL $402 $582 $595 $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. WOWI What a printer! • MX 80 FT Printer $569 • MX Ser. Interface Opt $65 • MX 80 Printer $479 • Epson Apple Par. Int. $69 • MX 70 Printer $394 • Epson Par.Cable $22.50 • MX 80 Ribbons $14 • MX-80 or 80/ft Graf- trax ROM $78 ALTOS COMPUTER SYSTEM Now a system truly suited to grow with your business. Start with a single terminal system and enlarge up to 4 users. You've heard about what they can do, wait 'til you hear what we sell them for. CALL TODAY! NEC PC-8000 MICROCOMPUTER SYSTEM Not an apple lover? Check out the new NEC PC-8000- it combines the most wanted features of several leading microcomputers, together with a few wonders of its own. Go see it today, then call us tomorrow for pricing, you just might be surprised. 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. Warehouse: 20695 S. Western Ave,, #124. Visitors by appointment. Circle 274 on inquiry card. Ask BYTE we'll lose some customers to the competition. I'm at a loss to understand why Mr Storti's decision to buy from some- one else should cause him to have such strong feelings against us. Ed Juge, Director Computer Merchandising Radio Shack Ft Worth TX Obviously the sort of scare tactics that Mr Goodling ex- perienced by Tandy (Radio Shack) personnel is not ap- preciated by Pan American Electronics or other dealers (i.e., Authorized Sales Cen- ters). It is unfortunate that some Tandy personnel will try to make a sate or express their competitive nature be- tween the two divisions (company and franchised/ dealers) in such a way. The facts are that the mer- chandise is the same. The vast majority of those who purchase from independent Radio Shack dealers are very happy with the merchandise and the personal service they receive from the small inde- pendent dealer. The added advantage of buying from an independent dealer is that they will often give their cus- tomers a better price for ex- actly the same merchandise. Radio Shack dealers are not usually located in large cities. Major metropolitan areas are reserved for Radio Shack's company stores. The only access dealers have to the larger metropolitan areas is by advertising in magazines like BYTE and by offering consumers a better price for the same merchandise. The dealers' profit margin is smaller than the company stores', so we sacrifice a lot by discounting. We feel, however, that discounting merchandise is an honest way to make a living. We feel it is inappropriate and unethical to make unwarranted threats or to spread lies about our 3000-37FF DECODE Figure 1 Number IC1 IC2 IC3 Type 2716 7430 7404 + 5V 24 14 14 GND 12 7 7 main supplier and our major competitor simply to make an extra dollar. Dan Frank, President Pan American Electronics Mission TX In Need of a Way to the PROM Dear Steve, I want to use my TRS-80 Model I and Model III to develop useful programs, and I need peripherals to ac- complish the task. Your ar- ticles on parallel and serial I/O (input/output) were very helpful in this regard. (See "I/O Expansion for the Radio Shack TRS-80, Part 1: Prin- ciples of Parallel Ports," May 1980 BYTE, page 22 and "Part 2: Serial Ports," June 1980 BYTE, page 42.) One area that I would like to pursue is that of placing application software in an ex- ternal PROM (programmable read-only memory). Thus, the application program would not have to be loaded each time it is used. How to implement an ex- ternal PROM memory with the TRS-80 expansion port is not clear to me. Can you help7 Frank Fitzgerald East Northport NY According to Radio Shack's Level II BASIC reference manual for the TRS-80 Model I, there is a reserved (blank) area of memory between 3000 and 3BFF hexadecimal. It's quite possible to configure a 2 K-byte EPROM (erasable PROM) to fit within that ad- dress space so that it can be accessed during a program. Figure 1 is a schematic that demonstrates how this could be attached. You place an ap- plications program in an EPROM in this address space, and whenever you wish to run the program, all you do is jump to address location 3000 hexadecimal and execute. As for the TRS-80 Model III, this address space appears to be reserved for a system PROM. I haven't actually dismantled a Model III yet to see if this reference is a "phantom" PROM. . . . Steve Getting on the Right Trak Dear Steve, I found your February 1981 "Circuit Cellar" article very interesting. (See "A Com- puter-Controlled Tank," page 44.) Since I fiddle with robotics, I would love to try out this ingenious toy. The only problem is that I can't find a store that sells the Big Trak. Could you give me the address of the Milton Bradley company? Am I correct in assuming that the only parts I must specially order to build this are the Exar Integrated Sys- tems phase-locked loop and the modem listed at the back of the article? Marc Weigel Delta, British Columbia, Canada The address you want is Milton Bradley Company, MB Electronics Division, Springfield MA 01101. 318 October 1981 © BYTE Publications Inc QUALITY DISK SOFTWARE BACKED BY ON-GOING APPLICATIONS SUPPORT m HOME FINANCE PAK I: Entire Series $49.95 ® © CHECK 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 BUDGETING INCOME AND EXPENSE, AUTO- MATIC CHECK SEARCH, and BANK STATEMENT RECONCILING. CRT or printer reports are produced (or ACTUAL EXPENSE vs BUDGET. 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 S14.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 S14.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 PROFORMA PROFIT & LOSS SOURCE AND USE OF FUNDS PROFORMA BALANCE SHEET JOB COST ESTIMATOR REAL ESTATE INVESTMENT INVENTORY ANALYSIS Price, including a copy of the Universal Computing Machine .... S89.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) S49.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. N0RS. 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 LDGIC DESIGNER for simulation S159.95 (A)(f) 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-0R. T-FL0P. JK-FL0P. D-FL0P. RS-FL0P. 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) S29.95 (t)(f) 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. SAWT00THS. 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 S159.95 ,(jf) (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 S159.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 well as 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 S19.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 MI0WAY: 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-AM 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 S1.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 347 on inquiry card. BYTE October 1981 319 Ask BYTE Regarding the components necessary to modify the Big Irak as I did, you would need two modem boards. If purchased as kits from the Micro Mint, 917 Midway, Woodmere NY 11598, they include the XR-2211 phase- locked loop and all other components. Other than that you would have to buy the UART (universal asynchro- nus receiver/ transmitter) and CMOS (complementary met- al-oxide semiconductor) in- tegrated circuits. Many ad- vertisers in the back pages of BYTE sell these items. . . . Steve Board Inquiries Dear Steve, Is someone going to make available kits or printed-cir- cuit boards for the project you described in "Build a Low-Cost Logic Analyzer" (April 1981 BYTE, page 36)7 Ivan Whitehouse Goldendale WA / completely misjudged the interest in my logic-analyzer project. The only unit I made was the prototype; I figured the interest would be general, but not enough to warrant the expense of having a printed-circuit board made. As you know, printed cir- cuits are available for many of the projects that I present in BYTE, but I usually have some indication beforehand that there will be a reasonable demand. Unfortunately, it's a little late for me to start the long procedure of designing a board, with so many new things to work on. I'll be sure to gauge response in the future, and there will con- tinue to be printed-circuit boards for many of my pro- jects. If you want a complete list of all the printed-circuit boards available from my previous articles, drop a note to the Micromint, 917 Mid- way, Woodmere NY 11598 and request a catalog. . . . Steve In "Ask BYTE," Steve Garcia answers questions on any area of microcomputing. The most representative questions received each month will be answered and published. Do you have a nag- ging problem? Send your inquiry to: Ask BYTE c/o Steve Garcia POB 582 Glastonbury CT 06033 If you are a subscriber to The Source, send your questions by electronic mail or chat with Steve |TCE3 1 7) directly. Due to the high volume of inquiries, personal replies will be given as time permits. Please enclose a self-addressed, stamped envelope, and be sure to include "Ask BYTE" in the address. 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 CORVUS 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. INFINITE BUSINESS (Requires Infinite BASIC) Mod I & III $30.00 Complete printer pagination controls — auto headers, tooters, page numbers. Packed decimal arithmetic — 127. digit accuracy +,-,*,/. Binary search 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. (Modi 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. m RACET SORTS - RACET UTILITIES — RACET computes — RACET SORTS— RACET UTI DISCAT (32K 1-drive Min) Mod I, ill $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 -driye.32K.MJn - Mod II 64.K) Mod,. LJJ.I $75,00; Mod II $150.00 This ISAM-based maillist minimizes disk access times. Four keys'— no separate sorting. Supports 9 : digit zip code and 3-digit state code. Up to 30 attributes. Mask and query selection. Record access times under : 4 seconds!!. ' C0MPR0C (Ifi'od /I & Mod III — Disk only) Mod I $20; Mod 111 $30 / Command Pif eessor. Auto your disk to perform any sequence of instructions that you can give from the keyboard. DIR, FREE, pause, wait for user tnpui . BASIC, No. of FILES and; MEM SIZE, RUN program, respond ta-iriput statements, BREAK, return to DOS, etc. Includes lowercase driver software, debouhce and screenprint! UTILITY PACKAGE (Mod II 64K) JU $150.00 Important enhancements to the Mod II. The tile recovery capabilities alone will pay for the package in even one application!' Fylly documented in 124 page manual! XHIT, XGAT, XCOPY and SUPERZAP. are used to reconstruct ar recover date from bad diskettes! XCOPY provides multi-file copies, 'Wild-card' mask. select, absolute sector mode and other features. SUPERZAP allows examine/charige any sector on diskette include track-CL.and absolute disfcbackup/copy with t/O recovery. DCS builds consolidateit-dtreefoTiwHrom muNtpie- ; dlskette9~into a- -single display or listing sorted by disk name or file name plus more. Change Disk ID with DISKID. XCREATE preallocates files and sets 'LOF' to end to speed disk accesses. DEBUGII adds single step, trace, subroutine calling, program looping, dynamic disassembly and more!! DEVELOPMENT PACKAGE (Mod II 64K) $125.00 Includes RACET machine language SUPERZAP, Apparat Disassembler, and Model II interface to the Microsoft 'Editor Assembler Plus' software package tactattng uploading services and patches for Disk I/O. CHECK, VISA. M/C COD.. PURCHASE ORDER TELEPHONE ORDERS ACCEPTED (714) 997-4950 ■TRS-80 IS A REGISTERED TRADEMARK OF TANDY CORPORATION LITIES — RACET computes — RACET SORTS — RACET UTILITIES £• RACET COMPUTES -^j 1330 N. GLASSELL, SUITE M, ORANGE, CA 92667 - RACET computes - 320 October 1981 © BYTE Publications Inc Circle 318 on inquiry card. FMS-8C 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 j can be made on facts displayed, FMS-80 000 is the most power- ful stand alone DBM program available to the micro computei industry. Completi menu dri and writ) in assem language it offers these features: ,} ? a secretary •,** ' * \ ** recognizes 1 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 \»k 94303. Phone 415/969/7047 Systems Plus Circle 356 on inquiry card. BYTE October 1981 BEING OVERCHARGED! DON'T Pay Credit Card Surcharges Pay a U.P.S. C.O.D. "Fee" Even Pay for the Call! DO CALL OMEGA TOLL FREE EPSON MX 80 INTERFACES: IEEE $55, TRS-80 535, APPLE INTERFACE & CABLE $90 RS-232 $70 ATARI 800 16K $ 769 mm: WEST COAST 1-800-235-3581 EAST COAST 1-800-556-7586 CALL OMEGA AND FIND OUT WHY WE ARE AMERICA'S FASTEST GROWING COMPUTER SALES COMPANY! Omega sales company 322 BYTE October 1981 Circle 275 on inquiry card. ANADEX $ 1249 DIABLO $199 ATARI 800 32K $ 749 Tractor option^W NEC 12' MONITOR $ 245 $ 229 INTERTEC SUPERBRAIN 64K RAM $2799 QD SUPERBRAIN $2999 NEC 5510 SPINWRITER (7710) $2345 NEC 5520 SPINWRITER (7720) $2695 NEC 5530 SPINWRITER (7730) $2345 NEC 12" MONITOR $ 229 OKIOATA MICROLlNE-80 $ 399 OKIDATA MICROLINE-82 $ 529 OKIDATA MICROLlNE-83 $J69 OIABLO630 $1995 APPLE II PLUS 48K $1139 APPLE DISK w/3.3 DOS Controller $ 525 APPLE DISK w/o Controller $ 449 HA2ELTINE1420 $ 799 NORTHSTAR HORIZON II 32K QD $2925 ANADEX DP-9500/9501 $1249 TELEVIDE0 912C $ 669 TELEVIDEO 920C $ 729 TELEVIDEO950 $ 929 CBM 8032 COMPUTER $1149 CBM 8050 DISK DRIVE $1349 CBM 4032 COMPUTER $1029 CBM 4040 DISK DRIVE $1029 CBM 4022 $ 649 CBM VIC-20 $ 269 RADIO SHACK II 64K $3245 RADIO SHACK II! 16K $ 849 LEEDEX/AMDEK 100 $ 139 LEEDEX/AMDEK100G $ 169 LEEDEX/AMDEK COLOR- 1 13" Color Monitor $ 329 MICROTEK 16K RAMBOARD for Atari $ 79 MICROTEK 32K $ 149 QUME SPRINT 9/45 (Full Panel) i>2.z. JD ATARI 400 16K $ 349 ATARI 825 PRINTER $ 650 ATARI 850 INTERFACE $ 139 ATARI 810 DISK DRIVE $ 449 ATARI 800 $ 749 JLaflL J L PRICES ABE SUBJECT TO CHANGE WITHOUT NOTICE Call for price list of ATARI software We carry the complete line of Personal Software We Accept C.O.D.'s • Stock Shipments Same Day or Next No Surcharge for Credit Cards • All Equipment Factory Fresh with MFT Warranty WEST COAST 1-800-235-3581 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. EAST COAST 1-800-556-7586 OMEGA SALES CO. 12 Meeting St. Cumberland, Rl 02864 1-401-722-1027 Omega sales company Circle 275 on inquiry card. BYTE October 1981 323 Event Queue October 1981 October-November Workshops from Virginia Polytech, Virginia Polytech- nic Institute and State Uni- versity, Blacksburg VA. Workshops on microcomput- er-design interfacing and pro- gramming, digital electronics for automation and instru- mentation, and sessions using the TRS-80 are part of the curriculum. All workshops are hands-on with partici- pants designing and testing concepts on the actual hard- ware. Contact Dr Lindy Leffel, Virginia Polytechnic Institute and State University, Blacks- burg VA 24061, (703) 961-5241. October-January Electronics Magazine Semi- nars, various sites through- out the US. Electronics magazine and the McGraw- Hill Seminar Center are spon- soring seminars for engineers and managers. Subjects range from digital electronics to microprocessor-system de- sign. Other topics include programming, speech tech- nology and synthesis, micro- processor interfacing, and a hands-on microprocessor workshop. If a company has 10 or more people wanting to take a course, the seminar will be held at the company's plant. For details, contact Carol Clark, c/o McGraw- Hill Seminar Center, 305 Madison Ave, Rm 3112, New York NY 10017, (212) 687-0243. October 7-9 Institute on Microcomputers for Instruction and Research in Higher Education, Jane S McKimmon Center, North Carolina State University, Raleigh NC. The institute is designed to help high-level educators learn about the microcomputer and the role it can play in higher education. Contact Joyce Currie, c/o North Carolina Educational Computing Service, POB 12035, Research Triangle Park NC 27709, (919) 549-0671. October 7-21 The 1981 Far East Computer Tour, Japan, South Korea, Taiwan, and Hong Kong. This tour group will visit various computer-related conferences and exhibitions throughout the Far East. Transportation for this three- week tour, plus shows, meals, and other items are included in trip packages, ranging in price from $2290 to $3095. For more information, con- tact Terry Butler, Commerce Tours International Inc, 870 Market St, Suite 742-744, San Francisco CA 94102, (415) 433-3072. October 9-11 Rhode Island Computer and Video Electronics Show, Pro- vidence Civic Center, Provi- dence RI. This is the first ma- jor computer exhibition and show to be held in Rhode Is- land. Exhibitors and sales teams will present the latest in computers and video prod- ucts for business, industry, government, education, and home use. Contact New Leaf Productions, Suite 335, 77 Ives St, Providence RI 02906, (617) 679-0089. October 12-15 Information Management Ex- position and Conference: INFO 81, Coliseum, New York NY. Discussions on pre- packaged, customized pre- packaged, and custom-de- signed software will comple- ment hardware and software exhibits. For more informa- tion, contact Clapp & Poliak Inc, 245 Park Ave, New York NY 10167, (212) 661-8410. October 13-15 Understanding and Using Computer Graphics, New York NY. Headed by Carl Machover, this two-day sem- inar examines the state of the art in graphic systems. The focus will be on hardware, software, and applications. Contact Bob Sanzo, c/o Frost & Sullivan Inc, 106 Fulton St, New York NY 10038, (212) 233-1080. October 15-18 The Third Annual Northeast Computer Show and Office Equipment Exposition, Hynes Auditorium, Boston MA. This show will feature hard- ware, software, and supplies for business, education, gov- ernment, home, and office use. Office systems and equipment will also be shown. Contact National Computer Shows, 824 Boyl- ston St, Chestnut Hill MA 02167, (617) 739-2000. October 16-23 The Fourteenth Brazilian Computer Conference and Exhibit, Anhembi Conven- tion and Exhibit Halls, Sao Paulo, Brazil. This confer- ence will feature technical talks, conference tutorials, roundtable discussions, and special events. Computer- aided design and manufac- ture in developing countries will also be discussed. Con- tact Sucesu Sao Paulo, Rua Tabapua, 627-1.° andar, 04533, Sa5 Paulo, S P, Brazil. October 18-20 The Annual Conference of the New York State Associa- tion for Educational Data Systems (NYSAEDS), Syra- cuse NY. NYSAEDS is made up of people with an interest in computers and education. Workshops on the education- al uses of microcomputer software will be held. Con- tact Don Ross, Ardsley High School, Ardsley NY 10502. October 19-23 Wintek's Hand-On Micro- computer Workshop, Lafay- ette IN. Two- and three-day workshops in microprocessor hardware, software, and in- terfacing will be offered at Wintek's corporate head- quarters. A single-board computer, including a 6800 microprocessor, program- mable memory, serial and parallel input/output, and a 1 K-byte ROM (read-only memory) containing a moni- tor/debug program, will be given to the participants of this workshop.^Tuition is $50 per day. Contact Wintek Corporation, 1801 South St, Lafayette IN 47904, (317) 742-8428. October 19-23 Systems '81, Munich, West Germany. Computer systems and their applications will be featured. Additional infor- mation is available from Kail- man Associates, 30 Journal Sq, Jersey City NJ 07306, (201) 653-3304. October 20-22 The Annual Government- Industry Data Exchange Pro- gram (GIDEP) Workshop, Rickey's Hyatt House, Palo Alto CA. The GIDEP annual workshop is open to anyone interested in the exchange of technical information relating to engineering, failure ex- perience, reliability, and maintainability. Contact the Officer-in-Charge, GIDEP Operations Center, Corona CA 91720. October 20-22 Computerized Office Equip- ment Expo, Southwest, As- trohall, Houston TX. Ap- proximately 100 exhibitors will present office equipment and supplies, including word- processing systems, at this show. Contact Cahners Ex- position Group, 222 W Adams St, Chicago IL 60606, (312) 263-4866. 324 October 1981 © BYTE Publications Inc if He'd used selects 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 Syslems 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 949Q4 -(415) 459-4003 Circle 332 on inquiry card. BYTE October 1981 325 Event Queue. October 20-23 Computer-Network Design and Protocols, Boston MA. Integrated Computer Systems (ICS) will be presenting a course on fundamentals in computer communication- network concepts, technol- ogy, and implementation. Emphasis is on the practical aspects of network design, in- terfacing, protocols and packet switching. For a schedule of times and places for this course, contact Ruth Dordick, c/o Integrated Computer Systems, 3304 Pico Blvd, POB 5339, Santa Monica CA 90405, (800) 421-8166; in California (800) 352-8251. October 21-24 COMPUTA 81, World Trade Center, Singapore. This in- ternational show attracts pro- fessionals and buyers from Hong Kong, India, and Sri Lanka. Additional informa- tion can be obtained from Kallman Associates, 30 Jour- nal Sq, Jersey City NJ 07306, (201) 653-3304. October 24-25 The Second Annual New Jersey Microcomputer Show and Fleamarket, Holiday Inn (north) Convention Center, Newark International Air- port, Newark NJ. This show will feature 75 commercial exhibitors and more than 100 vendors. User-group meet- ings will be held. Registration is $5 for both days. Contact Kengore Corporation, 3001 Rt 27, Franklin Park NJ 08823, (201) 297-2526. October 25-30 The Forty-Fourth Annual Meeting of the American Society for Information Science (ASIS), Washington Hilton Hotel, Washington DC. The theme for this meet- ing is "The Information Com- munity: An Alliance for Pro- gress." Among the topics to be addressed are information and creativity, information and society, and overcoming the barriers between informa- tion sciences. Contact ASIS, 1010 Sixteenth St, NW, Washington DC 20036, (202) 659-3644. October 25-28 Issue '81: The Fifth Annual SPSS Software Users Con- vention, Jack Tar Hotel, San Francisco CA. Issue Inc, the independent, nonprofit asso- ciation of SPSS software users and coordinators, is presenting its fifth annual convention. The primary pur- pose of the convention is to inform the user community about new SPSS products. Discussions of special appli- cations will also be featured. Registration fees are $95 for members and $115 for non- members. For more informa- tion, contact Steve Hamburg, c/o Issue Inc, POB 8224, Chicago IL 60680, (312) 329-2400. October 27-29 Computer Graphics 81, Re- gent Centre Hotel, London, England. Some of the topics to be covered are graphics systems: hardware and soft- ware; animation; image pro- cessing; simulation; and busi- ness and home graphics. An equipment exhibition will also be presented. For more information, contact Online Conferences Ltd, Argyle House, Northwood Hills, HA6 ITS, Middlesex, England. October 29-November 1 Southeast Computer Show and Office Equipment Expo- sition, Atlanta Civic Center, Atlanta GA. For details, see October 15-18. October 31-November 1 Computers in Ambulatory Medicine, Washington Shera- ton, Washington DC. The Society for Advanced Medi- cal Systems and the Society for Computer Medicine are sponsoring this conference. Basic and advanced tutorials on the fundamentals of medi- cal computing will be fea- tured along with technical sessions and presentations of papers. Fees are $115 for So- ciety members and $165 for nonmembers. Contact SCM, 9650 Rockville Pike, Beth- esda MD 20014, (301) 530-7120. October 31-November 2 Annual Meeting of the American Society for Cyber- netics, Washington Hilton Hotel, Washington DC. The theme for this meeting is "The New Cybernetics." A goal of the meeting will be to rede- fine the field of cybernetics and to provide a focus for the research efforts of the Socie- ty. Among the topics to be discussed are robotics, prob- lem solving, pattern recogni- tion, remote sensing, and communication networks. Contact Dr Laurence D Richards, Department of Ad- ministrative Science, Colby College, Waterville ME 04901, (207) 873-1131, ext 587. November 1981 November 1-4 DPMA San Francisco '81, San Francisco Civic Center and Brooks Hall, San Fran- cisco CA. This is DPMA's (Data Processing Manage- ment Association's) thirtieth annual conference and busi- ness exposition. Contact the Conference Coordinator, DPMA, 505 Busse Hwy, Park Ridge IL 60068, (312) 825-8124. November 5 Invitational Computer Con- ference, Amsterdam, Nether- lands. The Invitational Com- puter Conference is a one- day computer show designed for quantity buyers. Exhibits and seminars are featured. For details, contact B J Johnson & Associates Inc, 2503 Eastbluff Dr, Suite 203, Newport Beach CA 92660, (714) 644-6037. November 8-10 The Twelfth ACM North American Computer Chess Championship, Bonaventure Hotel, Los Angeles CA. A four-round, Swiss-style tour- nament is planned for this year's championship compe- tition. In addition, a round- robin blitz tournament will be held. Games in this event proceed at a rate of 5 seconds per move. Belle, the current world champion, Chaos, Duchess, Nuchess, and L'Ex- centrique are among the pro- grams being entered. For more information, contact Professor Monroe Newborn, School of Computer Science, McGill University, 805 Sher- brooke St West, Montreal, Quebec H3A 2K6, Canada. November 9-10 Software Fair, Stouffers' Riv- erfront Towers, St Louis MO. This show is made up of software exhibitions from companies whose packages are in current use by mem- bers of the Southern and Na- tional Industrial Distributors Association. Distributors who are not members of these organizations can also exhibit their wares. Contact Don White or Tony Carroll, 1900 Arch St, Philadelphia PA 19103, (215) 564-3484. November 9-11 ACM '81, Bonaventure Ho- tel, Los Angeles CA. This meeting will feature panel discussions on computers, software products in the 1980s, tutorials on computer- aided design, and a survey on the impact of robots on em- ployment. Ray Bradbury and Dr Simon Ramo will speak. Computer exhibits and the North American Computer Chess Tournament will also be held. Contact ACM '81, 326 October 1981 © BYTE Publications Inc APPARAT OFFERS More bytes per buck! Si.'hytf* of ^un-iqc 4pj>au! >n» .',!. rtrvi"!n- .«<> upcs.Hsnn «• tem and a dual-sided 80 track mini- floppy drive to give you up to 753,440 bytes of storage in a single volume. Newdos/80 version 2.0 expands the capability of double density drives, so you'll have greater applications for your TRS-80® model I and 111. Drives plug directly into an ex- pansion interface (requires instal- lation of a double density control- ler) or the model III disk bus with our single volume cable so you can now have over 2 megabytes of storage on-line with standard mini-floppy diskettes. Each drive has up to 573 free grans, for a total of X719, on a maximum of three 80 track drives, which can be added to a TRS-80 model I. Model Ill's can have up to 4 dual 80s on-line (almost 3 megabytes). These drives can "read" standard 35 or 40 track diskettes using Newdos/80 version 2.0 which will allow skipping every other track. Drives come complete with case, power sup- ply and docu- mentation. The drives are priced at only $515 (Cat. No. 1-705, specify I or III). Now, at 1424 bytes per buck, it just might be the answer to your storage problems. Special — Ttoo dual 80 track drives only $999. Apparatlnc. 4401 So. lamarac Parkway, Denver, CO 80237 (303) 741-1778 Circle 27 on inquiry card. O/Y GOING SUPPORT FOR MICROCOMPUTERS' Event Queue. POB 24059, Village Station, Los Angeles CA 90024, (213) 536-9735. November 10-12 Midcon/81 Show and Con- vention, O'Hare Exposition Center and Hyatt Regency O'Hare, Chicago IL. Talks on microcomputers, energy, memory, communications, and consumer electronics will highlight this show. Contact Electronic Conventions Inc, 999 N Sepulveda Blvd, El Segundo CA 90245, (800) 421-6816; in California (213) 772-2965. November 12 Invitational Computer Con- ference, Paris, France. For de- tails, see November 5. November 16-19 The Canadian Computer Show and Conference, Inter- national Centre of Com- merce, Mississauga, Ontario Canada. For details, contact Reg Leckie, Industrial Trade Shows of Canada, 36 But- terick Rd, Toronto, Ontario, M8W 3Z8, Canada, (416) 252-7791. November 17 Invitational Computer Con- ference, Milan, Italy. For de- tails, see November 5. November 17-19 Understanding and Using Computer Graphics, Atlanta GA. For details, see October 13-15. November 19-20 Western Educational Com- puter Conference, San Fran- cisco CA. Many of the com- puter-related talks at this conference will cover areas of interest to college instructors and administrators. For de- tails, contact Ron P Langley, Data Processing Services, California State University- Long Beach, 1250 Bellflower Blvd, Long Beach CA 90840. November 29-December 1 National Telecommunica- tions Conference, New Or- leans LA. This event is spon- sored by the IEEE (Institute of Electrical and Electronics En- gineers) and the New Orleans chapter of the Communica- tions Society Conference Board. Some of the papers to be presented will discuss communications electronics, including software, termi- nals, theory, and data and computer communications. Contact G Allan Ledbetter, South Central Bell, 365 Canal St, Rm 1360, New Orleans LA 70140, (504) 528-7350. December 1981 December 1-3 Legal Info, Shoreham Hotel, Washington DC. Automating legal-information systems is the subject of this conference and exposition. Lawyers who are interested in using com- puters in their work are in- vited to attend. 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. For details, see October 20-23. December 3 California Computer Show, Hyatt Hotel, Palo Alto CA. For details and a schedule of upcoming shows, contact the Show Administrator, c/o Norm De Nardi Enterprises, 95 Main St, Los Altos CA 94022, (415) 941-8440. December 9-11 1981 Winter Simulation Con- ference (WSC 81), Peachtree Plaza, Atlanta GA. WSC 81 will feature papers, panel discussions, tutorials on dis- crete and combined simula- tion and modeling. The con- ference will be organized into tutorial, methodology, and application sessions. For in- formation, contact Claude M Delfosse, CACI Inc, 1815 N Fort Myer Dr, Arlington VA 22209, (703) 841-7800. 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 Management Company, POB 9292, Dubai, United Arab Emirates, Telex 47474 DITC EM, and from Diana Clifton Sewell, International Office, Seymour House, 17 Waterloo PI, London, SElY 4AR, England. December 16-18 The Twentieth IEEE Con- ference on Decision and Con- trol (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 in all aspects of the theory and applications of systems involving decision, control, and adaptation. Topics of interest include linear and nonlinear system theory, stability theory, large-scale system theory and decentralized control, estima- tion, identification, signal processing and stochastic control, and control systems. For more information, con- tact the Institute of Electrical and Electronics Engineers Inc, 445 Hoes Ln, Piscataway NJ 08854. December 28-30 Computer Modeling of Linguistic Theory, Grand Hyatt Hotel, New York NY. The ACL (Association for Computational 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 for parsing will be the areas of most attention. Readings of contributed papers will also be featured. Contact Stan Petrick, IBM Research Center, POB 218, Yorktown Heights NY 10598. ■ In order to gain optimal coverage of your organization's com- puter conferences, seminars, workshops, courses, etc, notice should reach our office at least three months in advance of the date of the event. Entries should be sent to: Event Queue, BYTE Publications, POB 3721 Hancock NH 03449. Each month we publish the current contents of the queue for the month of the cover date and the twoj following calendar months. Thus a given event may appear as many as three times in this section if it is sent to us far enough in advance. 328 October 1981 © BYTE Publications Inc Computer experts (the pros) usually have big computer experience. That's why when they shop system software for ZBO micros, they look tor 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. (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 for what 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 at the 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: Altos. Compucorp: Cromemco: Delia Products; Digital Group; Digital Microsystems: Dynabyle: Godbout: IBC Index: Intersystems; North Star: Onyx: SD Systems. TRS 80 Mod II: Vector Graphic: Vorimex CONTROLLERS: Bell Controls: Cameo. Corvus. Konan; Micromation: Micropolis. Tarbell. Teletek: Thinkertoys: X Comp Write for complete. free Application Software Directory 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 SI7.50 MULTI-USER 350 17 50 BASIC COMPILER/ INTERPRETER/DEBUGGER too 15 00 RE-ENTRANT BASIC COMPILER/INTERPRETER/ DEBUGGER 150 15.00 DEVELOPMENT PACKAGE (Macro Assembler; Linkage Editor; Debugger) 150 25.00 TEXT EDITOR 4 SCRIPT PROCESSOR 150 15. 0C DIAGNOSTIC 4 CONVERSION UTILITIES (Memory Test; Assembly Language; Conveners: File Recovery. Disk Test; File Copy Irom otner OS; etc.) 100 15.00 COMMUNICATIONS PACKAGE File Send & Receive) 100 15.00 PACKAGE PRICE (All ol 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 AMOUNTS ZIP (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 Circle 406 on inquiry card. MAKES MICROS RUN LIKE MINIS BYTE October 1981 329 DYNACOMP Quality software for *. ATARI PET APPLE II Plus TRS-80 (Level II)** NORTH STAR CP/M Disks/Diskettes CARD GAMES BRIIHJL 2.01 Aiuiluhlt- for all computers) Price: (11.93 Cassette .$21.95 Diskette An all-inclusive version of this mosl popular of card games. This program bolh BIDS and PLAYS either contract 01 duplicate hridge. Depending on the contract, your computer opponents will either play lite offense OR defense. If you bid loo high, the computer will double your contract! BRIDGE 2.0 provides challenging entertainment for advanced players and is an excellent learning lool for the hridge novice. Sec the software review in 80 Software Critique. Raied »l by Creative Computing. HEARTS 1.5 (Available for till computers) Prlee:SI5. X 256 clement map, portions of which may be viewed using Ihe ship's alphanumeric radar display. The motion of the ship itself is accurately modelled mathematically. The simulation also contains a model for the tidal patterns in the region, as well as other traffic (outgoing lankers and drifting icebergs), Chart your course from ihe Ciulf of Alaska to Valde/ Harbor! Sec the soft- ware review in 80 Software Critique. BACKGAMMON 2.0 (Atari, North Slar and CP/M only) Price: $14.95 C«ielte/$1I).9S Diskette This program tesis your backgammon skills and will also improve your game. A human can compete against a com- puter or against another human. The computer can even play againsl itself. Either the human or the computer can double or generate dice rolls. Hoard positions can he created or saved for replay. BACKGAMMON 2.0 plays in ac- cordance with the official rules of backgammon and is sure to provide many fascinating sessions of backgammon play. CHECKERS 3.0 (PET only) Price: $16.95 Caj.elle/HO.95 Diskette This is one o( the mosl challenging checkers programs available. It has 10 levels of play and allows the user lo change skill levels at any time, Although providing a very tough game at level 4-H. CHECKERS 3.0 is practically unbeatable at levels 9 and 10. CHESS MASTER (North Star and TRS-80 only) This complete and very powerful program provides five levels o( play. It in the promotion ol pawns. Additionally, the board may be preset before the • of "'book" plays. To maximi/c execution speed, the program is written SPECIALISTS ol California), Full graphics are employed in ihe TRS-80 v. display are provided lo accommodate North Star users. Price: $19.95 Casieiie/SIJ.95 Disketle iudes castling, en passant captures and art of play, permitting the examination 1 assembly language (by SOFTWARE rsion, and two widths of alphai LEM LANDER (32K Apple Disk only) Pilot your LEM LANDER lo a safe landing i The game paddles are used to control crafl a Price: $16.95 Disketle i any of nine different surfaces ranging from smooth to treacherous, nude and thrust. This is a real-lime high res challenge! FOREST EIRE! (Atari only) Price: S16.9S CiSMMe/SM.M Diskette Using excellent graphics and sound effects, this simulation puts you in ihe middle of a forest fire. Your job is lo direct operations lo put out (he fire while compensating for changes in wind, weather and icrrain. Not protecting valuable structures can result in startling penalties. Life-like variables arc provided to make FOREST FIRE! very suspcnseful and challenging. No Ivso games have ihe same selling and there arc .1 levels of difficulty. NOMINEES JIGSAW (Atari. Apple and TRS-80 only) Price: Slfi.95 Cisxette/S20.9S Diskette A jigsaw puzzle on your computer! Complete the puzzle by selecting your pieces from a table consisting of N) dif- ferent shapes NOMINOES JIGSAW is a virtuoso programming effort. The graphics are superlative and ihe puzzle will challenge you with its three levels of difficulty. Scoring is based upon ihe number of guesses taken and by the dif- ficulty ol the board set-up. See review in ELECTRONIC GAMES, Price: SI 1.95 CasieHe/$l5.95 Diskette i requiring you lo survive an 8-year term as your nation's leader, nduslnal and agricultural use. how much food lo distribute to the (ion control. You will find that all decisions involve a compromise MONARCH (Atari only) MONARCH is a fascmai You determine the amount of acreage devoted to populace and how much should he speni on polli and lhat U is not easy lo make everyone happy. CHOMPELO (Atari only) Price: $11.95 C.iieile/$ 15.95 Disketle CHQMPE1 O is really two challenging games in one. One is similar lo NIM: you must bile off part of a cookie, but avoid taking ihe poisoned portion. The other game is the popular board game REVERSE It fully uses the Atari's graphics capability, and is bard to beat This package will run on a IfiK system. •.-tr.-lzV/. /'£/", TRS-SO, SORTHSTAR. CP/M uniJ IBM registered iradrnam DYNACOMP OFFERS THE FOLLOWING • Widest variety • Guaranteed quality • Fastest delivery • Friendly customer service • Free catalog • 24 hour order phone AND MORE. Price: $1 1.95 Cuselie/$I5. 95 Diskette :xample, the Klingons now shoot at the its. The Klingons also attack with both the Enterptisc is besieged by three heavy ware res lews in A.N.A.L.O.C... SOSofi- STARTREK 3.2 (Available for all computers) This is the classic Startrek simulation, hut with several new features, lor Enterprise without warning while also attacking starbases in other quadr light and heavy cruisers and move when shot at! The situation is hectic whe cruisers and a starbaseS.O.S, is received! The Klingons get even! Seethe so ware Critique and Game Merchandising. BLACK HOLE (Apple only) Price: $14.95 Cuutte/S IS.95 Diskette This is an exciting graphical Simulation of the problems involved in closely observing a black hole with a space probe. The object is to 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 lhat the tidal stress destroys the probe. Control of the crafl is realistically simulated using side jets for rotation and main thrustcrs for acceleration. This program employs Hi-Res graphics and is educational as well as challenging. Price: $10.95 C«jmIIc/$!4.95 Dlikelle hole in the screen. Sound simple? Not your skill against others in this habit- SPACE TILT (Apple and Atari only) Use the game paddles to till the plane of the TV screen lo "roll" when the hole gels smaller and smaller! A built-in timer allows yo forming action game. MOVING MAZE {Apple and Atari only) Price: $10.95 Osudle/SUJH Diskette MOVING MAZE employs Ihe games paddles lo direct a puck from one side of a raize to the other. However, the maze is dynamically (and randomly! built 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 lime indicator, and three levels of play are ALPHA FIGHTER (Atari only) Price: $14.9$ Cmttit S1S.95 Diskette Two excellent graphics and action programs in one! 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 UEO's get by and the game ends. Both games require (he joystick and gel progressively more difficult the higher you score! ALPHA FIGHTER will run on I6K systems. THE RINGS OF THE EMPIRE (Atari only) Price: $16.95 Casxeile/$20.95 Diskette The empire has developed a new battle station protected by rotating rings of energy. Each lime you blast through the rings and destroy the stalion, the empire develops a new station with more protective rings. This exciting game runs on IfiK sysiems, employs extensive graphics and sound and can be played by one or two players, INTRUDER ALERT (Atari only) Price: $16.95 Cassette 520.95 Diskette This is a fasl paced graphics game which places you in the middle of I he "Drcadsiar" having just stolen its plans. The droids have hecn alerted and are directed to destroy you at all costs. You must find and enter your ship to escape with the plans. Five levels of difficulty are provided. INTRUDER ALERT requires a joystick and will run on 16K systems. GIANT SLALOM (Atari only) Price: S14.95 Canttlt/SH.93 Diskette [his real-time action game is guaranteed addictive! Use the joystick to control sour path through slalom courses con- sivting of both open and closed gates. Choose from different levels of difficulty, race against oiher players or simply lake practice runs against the clock. GIANT SLALOM will run on IfiK sysiems. TRIPLE BLOCKADE (Atari only) Price: S14.95Ciiwiie/Sl!.95 Diskette TRIPLE BLOCKADE is a two-io-ihrcc player graphics and sound action game. It is based on the classic video arcade game which millions have enjoyed. Using the Atari joysticks, the ohject is to direct your blockading line around the screen without running into your opponents). Although the concept is simple, the combined graphics and sound effect lead lo "high anxiety". GAMES PACK I (Available for all Computers) Price: $10.95 Cassette '514.95 Diskette GAMES PACK I contains the classic computer games of BLACKJACK, LUNAR LANDER. CRAPS, HORSERACE, SWITCH and more. These games have been combined into one large program for case in loading. They arc individually accessed by a convenient menu. This collection is worth the price just for the DVNACOM I* ver- sion of BLACKJACK, GAMES PACK II (Available for all computers) Price: $10.95 Cassette '5)4.95 Disketle QAMES PACK II includes ihe games CRAZY EIGHTS, JOTTO. ACEY-DUCEV. LIFE. WUMPUS and others. As with GAMES 1'ACK I. all the games arc loaded as one program and arc called from a menu. You will pamcularlv en- joy DYNACOMP's version of CRAZY FIGHTS. Why pay $7.95 o i program v ti buy a DYNACOMP collec t jusi S1U.95: MOON PROBE (Atari and North Star only) Price: $1 1.95 Cat*eft*/$I5-99 Diskette This is an cxircmcly challenging "lunar lander" program. The user musi drop from orbit to land at a predetermined targei on the moon's surface. You control the thrust and orientation of your crafl plus direct ihe rate of descent and approach angle. Price: $14.95 Diskette four players (including the SPACE LANES (North Star only) SPACE LANES is a simple but exciting space transportaiion game which involves up to computer). The object is to form and expand space transportation companies in a compel i is to amass more net worth lhan your opponent, The economics include slock purchases and company mergers Waich your wealth grow! ADVENTURE CRANSTON MANOR ADVENTURE (North Star and CP/M only) Price: $21.95 Diskette At last! A comprehensive Advcniure game for North Star and CP/M sysiems. CRANSTON MANOR ADVEN- TURE takes you into mysterious CRANSTON MANOR where you attempt to gather fabulous ireasurcs. Lurking in the manor are wild animals and robots who will nol give up Ihe treasures without a fighl The number of rooms is greater and the associated descriptions arc much more elaborate lhan (he current popular series of Adventure pro- grams, making this game the lop in its class. I'lay can be slopped at any time and the status stored on diskette. SPEECH SYNTHESIS DYNACOMP is now distributing the r Simply connect TNT to your computer the easiest-to-program speech synthesi hie Vocabulary available anywhere! ■w and revolutionary type-'N-talk™ (TNT) speech tynthetiwr from Votrax. s serial interface, enter lext from the keyboard and hear ihe words spoken, TNT is :r on the markel. Il uses (he least auiounl Of memory and provides the mosl flexi- 95 (Please add $-1.1X1 (oi shipping and handling) TNT Software The following DYNACOMP programs are i STUD POKER [Atari. 24KI NOMINOES JIGSAW (Atari, 24K) TEACHER'S PET I [Alan and Norll BRIDGE 2.0(Nonh Star) CHOMPELO (Atari. 24KI Please specify 'TNT' versions » ABOUT DYNACOMP DYNACOMP is a leading distributor of small system software with sales spanning the world (currently in excess of 40 countries). During the pasi two years wc have greatly enlarged the DYNACOMP produci line, nui have maintained and improved our high level of quality and cusiomcr support. The achievement in qualiiy is apparent from our many repeal Customers and the software reviews in such publications as COMPUTRONICS. 80 Software Criliquc and A.N.A.L.O.G. Our customer support is as close as your phone, It is always friendly. The staff is highly [rained and always willing 10 discuss products or give Circle 135 on inquiry card. BUSINESS and UTILITIES SPELLGUARD™ (CP/M only) Price: SUMS Disk SPELLGUARD is a revolutionary new product which increases the value of your current word processing system (WORD- STAR. MAGIC WAND. ELECTRIC PENCIL. TEXTED EDITOR II and others). Written entirely in assembly language, SPELLGUARD'™ rapidly assists the user in eliminating spelling and typographical errors hy comparing each word of ihc ISM against a dictionary (expandable) of over 20,000 of Ihc most common English words. Words appearing in the tCM hut not found in the dictionary are "flagged" for easy identification and correction. Most adminisirative staff familiar wuh word pro- cessing equipment will be able to use SPELLGUARD™ in only a few minutes. MAIL LIST 2.2 (Apple. Atari and North Star diskette only) Price: $34.93 This program is unmatched in iis ability lo store a maximum number of addresses on one diskette (minimum of 1 100 per disk- ette, more than 2200 for "double density" systems!), lis many features include alphabetic and rip code sorting, label printing (1, 2, or J up), merging of files and a unique keyword seeking routine which retrieves entries by a virtually limitless selection of user defined codes. Mail l.isl 2.2 will even find and delete duplicate entries. A very valuable program! FORM LETTER SYSTEM rel. 2 (Atari. North Star and Apple Diskettes only) Price. SJ4.9S FORM LETTER SYSTEM (FLS) is the ideal program for creating and editing form letters and address lists. It contains an easy-to-use icxt editor which produces fully justified text. Special codes are used in the address list to obtain personalized salutations. Form letters arc produced by automatically inserting each address into a predetermined portion of your letter. ELS is completely compatible wflh MAIL LIST 2.2. which may be used to manage and sort your addtess files. FLS and MAIL LIST 2.2 arc available as a combined package for 159.95. SORT IT (North Star only) Price: S29.9S Nstutte SORTIT is a general purpose sorting program written in S080 assembly language. This program will sort sequential daia files generated by NORTH STAR BASIC. Primary and optional secondary keys may be numeric or one to nine character strings. SORTIT is easily used with files generated by DYNACOMP's MAIL LIST program and is very versatile in us capabililies for all other BASIC data Tile sorting. PERSONAL FINANCE SYSTEM (Alari and North Slar only) Price: 134.95 DUhMt* PFS is nted l; single diskette, deductible items, PI'S u defined codes by month or by payee. PFS will es package requires only one disk drive, minimal m land over 1000 records per disk by making a few ihat y ii linalh e where your money goes and (i npotcd of ten diffcreni programs. Besides recording your expenses and lax icnscs by payee, and display information on expenditures by any of 26 user i produce monthly bar graphs of your expenses by category! This powerful Tiory (24K Atari, 32K North Star) and will store up to 60(1 records per disk nple changes to the programs). You can record checks plus cash expenses so irk and tcdio ! hand c culaiio FAMILY BUDGET (Apple onlv) FAMILY BUDGET is a very conve expenditures as well as income on BUDGET also provides a continuoi different expense r an o:hcrwise complicated (and unorganized!) subjec lent financial record -keeping program. You s daily basis. You can record tax deductible record ofall credit transactions. You can mal to 5 payroll and tax accounts. Data are easil; Price: S34.95 Dfafctttt II be able to keep track of cash and credit ems and charitable donations. FAMI1 Y daily cash and charge enirics to any of 21 retrieved giving the user complete conirol Price: W9.95 Dlsketlr INTEUNK (Atari only) This software package contains a menu-driven collection of programs for facililaling efficient two-way through a full duplex modem (required for use). In one mode of opcralion you may connect to a data service (e.g., The SOURCE or MicroNct) and quickly load data such U stock quotations onto your diskette for later viewing. This greatly re- duces "connect time" and thus the service charge. You may also record the complete contents of a communications session. Additional!; , programs written in BASIC. FORTRAN, clc. may be built off-line using the support le.xt editor and later "up- loaded" to another computer, making the Atari a *tty smart lerminal. Even Atari BASIC programs may be uploaded. Further, a command file may be buill off-line and used later as controlling input for a time-share system. That is. you can set up your sequence of time-share commands and programs, and the Atari will transmit them as needed; batch processing. All this adds up to saving both connect time and your time. TEXT EDITOR II ;48K RAM) Price: $24.95 Cm«elie/S2».95 Wikeiic With LOGIC SIMULATOR you may easily lesl your complicated digital logic design wuh respect lo given set of inputs to determine how well ihc circuit will operate. The elements which may be simulated include muliiple input AND. OR. NOR, EXOR. EXNOR and NAND gates, as well as inverters, J-K and I) flip-flops, and one-shois. The response of ihc sysiem is available every clock cycle. Inputs may be clocked in with varying clock cycle lengths/displacements and delays may be intro- duced io probe for glitches and race conditions. At ihc user's option, a liming diagram for any given sei of nodes may be plot- ted using HIRES graphics. Save your breadboarding until ihe circuil is checked by LOGIC SIMULATOR. LOGIC DESIGNER (North Star and CP/M only) Price SJe.M Dttfttc LOGIC DESIGNER is an exceptional Computer Aided Design (CAD) progiam. Wuh it you may conven a large and compli- cated digilial truth tabic (Ihc functional specification) into an optimized Boolean logic equation This equation may then be easily convened inio a circuil design using either NAND or AND/OR gales. Operationally. LOGIC DESIGNER is composed of a BASIC program which calls in a machine language routine io reduce execution lime. Example: For a 1 variable by 12" line iable, (he processing lime is only two minules. LOGIC DESIGNER is clearly a fasi and powerful tool for building digital cir- ORDERING INFORMATION All orders arc processed and shipped wuhin 4H hours. Please en formation. If paying by VISA or Masier Card, include all nui Shipping and Handling Charges Wiihm North America: Add $1.50 Outside Norlh America; Add IU°'o (Air Mail) ith order and include (he apptoprtate computer ir DaUnn All orders (excluding books! Quantity DLxcuunu 8" CP/M Dliks Add 12.50 lo Ihc listed diskette price for Microsoft MBAStC or BASIC 80. programs Dealer h H" floppy arc available upon requesi land CP'M format). Programs l H" CP/M disks is also available o '.<" disks. North Star format, e for detailed descriptions of th ind olher programs from DYNACOMP, Inc. 1427 Monroe Avenue Rochester, New York 14618 24 hour order phone: (716)586-7579 recording Office phone (9AM-5PM EST): (716)442-8960 New York Slalr rcildtnls plt.M idd 7«o NY'S .air. la*. Circle 135 on inquiry card. Clubs and Newsletters Newsletter for Hams and Computerlsts Dits & Bits, The WSY1 Report, is published twice a month for the ham radio operator and microcomputer user. Articles on memory, FCC regulations, and other related topics are included. Contact the newsletter at POB 10101, Dallas TX 75207, (214) 690-1063. Interested In a Central Bulletin- Board Service? Michael Witt is interested in hearing from people who would like to develop a com- puter network in which the central system would place calls during the evening hours for reduced telephone rates. The system would be similar to other bulletin-board sys- tems, except messages would be delivered and picked up by the central system instead of users calling in. Contact Michael Witt, POB 55686, Valancia CA 91355. Newsletter on Genealogy Genealogical Computing is a bimonthly newsletter on personal-computer applica- tions involving genealogy. Contact Sara Andereck, c/o Data Transfer Associates, 5102 Pommeroy Dr, Fairfax VA 22032, (703) 978-8490. Swiss Computer Club Founded in 1978, the Schweizer Computer Club already has more than 4000 members. Members own PET, Apple, Sorcerer, and other systems, and have a special CP/M group. The club publishes three newslet- ters: Mikro- und Kleincom- puter, a bimonthly; CBM/ PET News; and Computer- journal. Contact Ernst Erb, Schweizer Computer Club, Seeburgstrasse 18, CH-6002 Luzern, Switzerland. Free Graphics Newsletter Subscriptions to the Dynamic Blackboard News, are free. The News features customer applications, new products, technical notes, software news, and hints for graphics users. Dynamic Blackboard News is a publi- cation of the Cambridge De- velopment Laboratory. Con- tact Jean L Graef, Cambridge Development Laboratory, 36 Pleasant St, Watertown MA 02172, (617) 926-0869. Newsletter on Graphics Computer Graphics News is published by the National Computer Graphics Associa- tion in cooperation with Scherago Associates Inc. The tabloid serves as a news source for the computer- graphics community. For fur- ther information, contact Scherago Associates Inc, 1515 Broadway, New York NY 10036, (212) 730-1050. Heath Users Group In California Covering Riverside, San Bernardino, and West Los Angeles counties in Southern California, the Tri-County Heath Users Group welcomes members and visitors to its bimonthly meetings. Meet- ings are held the first Satur- day of each month at the Heathkit Electronic Center 1555 N Orange Grove, in Pomona, and on the third Saturday of each month at the University of Califor- nia-Riverside, Rm 1111, Watkins Facility. Meetings begin at 2 PM. CP/M Users Group The Sacramento Micro- computer Users Group is a CP/M users group that pub- lishes a monthly newsletter called Push & Pop. Contact the group at POB 161513, Sacramento CA 95816, (916) 363-3962. Pocatello Microcomputer Club Members of the Pocatello Microcomputer Club use most of the popular com- puters on the market today. Anyone interested in com- puters is welcome to join. Contact the club at POB 8106, Pocatello ID 83209, (208) 232-4462. PETs In Canada The Toronto PET Users Group (TPUG) has a disk li- brary available for members and nonmembers. The li- brary has approximately 1400 programs provided by TPUG members and from other clubs. Membership is encouraged even if you live too far away to attend meet- ings. Contact TPUG, c/o Chris Bennett, 381 Lawrence Ave West, Toronto, Ontario, M5M 1B9, Canada, (416) 783-1645. Science Network and Newsletter The COGNET Newsletter seeks to disseminate informa- tion on cognitive simulation, computational linguistics, and artificial intelligence. The Center for Cognitive Science is also working on a comput- er network for those involved in these areas of research. For details, contact COGNET, Center for Cognitive Science, POB 1911, Brown Universi- ty, Providence RI 02912. ■ BYTE's Bits Industry's Eyes on New LISP Computer LMI has been granted a license from the Artificial In- telligence Laboratory of MIT (Massachusetts Institute of Technology) to construct and commercially market the MIT CADR machine. This system is specifically de- signed as a programmer en- vironment for LISP. Accord- ing to an LMI spokesman, most LISP programs are de- veloped on the DEC (Digital Equipment Corporation) PDP-10 mainframes, but the LMI system, although in the format of a personal com- puter, provides up to sixty- four times the virtual address space. The base price of the LMI machine is $80,000. Until recently, LISP usage has been associated with re- search conducted at educa- tional institutions. But now that Control Data Corpora- tion and Texas Instruments have ordered LMI machines, LISP's commerical usage will be seen in expert systems, VLSI (very large-scale inte- grated) circuit design, and natural-language processing. LMI is headquartered in Los Angeles, Calif ornia.H 332 October 1981 © BYTE Publications Inc Our newest development IN THE continuing expansion of the UCSD p-SYSTEM™ SOFTWARE. VERSION IV" JOHN BRACKETT, President, SofTech Microsystems Backed by a dedicated team of professionals, SofTech Micro- systems continues to enhance the world's most widely-used, portable software development system. Today it's the UCSD p-System, Version IV. Able to run on most major microprocessors including 8086, Z-80, 8080, 8085, 6502, 6809, 9900 and LSI-11™, Version IV is the developer's tool to make perfect programs more possible. It consolidates all the best fea- tures of earlier versions, while allowing for much larger applications, concurrent processing and improved debugging. With the addition of BASIC, more macro cross-assemblers, and improved docu- mentation, Version IV is truly a total, professional software development and execution environment. And, it's backed by SofTech Microsystems, the first to deliver a complete, portable software system for most major microprocessors with UCSD Pascal™, FORTRAN-77, BASIC, and multiple assemblers. For tomorrow, the expansion continues. More 16 bit microprocessor installations. The performance impact of native code generation. New system utilities and languages. New tools for creating applications more rapidly. The SofTech Microsystems team is at work today to increase your options for the future. Get the software system that's going places. Distribution licenses and single copies available. Write or call for details, so you can start going places, too. micRosvsTems m SUBSIDIRRM Of= SOFTECH For the software that's going places. 9494 Black Mountain Road, San Diego, CA 92126, (714) 578-6105 TWX 910-335-1594 UCSD p-System and UCSD Pascal are trademarks of the Regents of the University of California. LSI-11 is a trademark of Digital Equipment Corp. Circle 341 on inquiry card. BYTE Oceober 1981 333 System Notes A Closer Look at the TRS-80 Color Computer Woody Baker Rte 11, Box 4780 Lufkin TX 75901 People who have purchased the TRS-80 Color Com- puter know that Radio Shack is reluctant to disclose much information about the internal workings of its com- puters — preferring that all work requiring the opening of the outer case be performed by an authorized service center. However, it is possible to find much of this infor- mation; a bit of digging, a few phone calls to Fort Worth, and a disassembler from the Micro Works of Del Mar, California, enabled me to obtain the information presented here. The TRS-80 Color Computer is based on the Motorola 6809E microprocessor. [The "E" indicates the series — in this case, the 6809 model capable of multiprocessing, although this capability is not used in the TRS-80 Color Computer.... SM] The unit uses a Motorola 6847 video- display-generator IC (integrated circuit) for the color display — meaning there are a number of memory loca- tions within the computer that control which of the eleven modes the IC is in. If you know these locations, you can access the modes not provided by Radio Shack's software. Memory Organization The TRS-80 Color Computer uses page (memory locations decimal 0000 through 0256) as a scratch pad. The Motorola 680X microprocessors all have the ability to use a special mode of addressing called direct page (the same as the 6502 zero page mode). The enhancement add- ed to the 6809 is the ability to select which 256-byte page to treat as page 0. In order for the 6809 to maintain 680X-family compatibility, the default remains page 0. Microsoft followed this default in its BASIC interpreter written for the Color Computer — leaving most of the im- portant memory locations within page 0. Since Microsoft uses the same conventions in all its BASIC interpreters, it can be concluded that the BASIC in the Color Computer is organized in a manner similar to its BASIC for 6502-based computers. The pointers to the start and end of BASIC and the start and end of variables are the same. Also, the storage format is the same for BASIC lines (a 2-byte pointer to the start of the line, followed by a 2-byte line number, and then the token code terminated by a zero). The Video Window As shown in tables 1 through 4, the TRS-80 Color Computer allows a surprising degree of control to the programmer. The video window is unique in that it can be moved around within available memory, which in this case is from 0000 through 7FFF. You can set it to location and watch the scratch-pad locations change as the com- puter is running. This is where the information sum- marized in table 4 comes from. In order to set the video memory to page 0, just POKE any value into decimal location 65480. When the POKE is executed, it clears bit 1 of the 7-bit binary word contained in the Motorola 6883 SAM (synchronous address multiplexer) that controls the base location of the video screen. To restore the video window to its normal location, POKE any value into location 65481 — resetting bit 1. The 6 bytes referred to in table 1 control the memory- mapping mode of the 6847 VDG (video display generator). The 6883 SAM IC maps memory into the video circuits and can be thought of as a 3-bit number that selects the amount of memory available to the VDG. This 3-bit register is controlled by the locations shown in table 1. The desired result can again be obtained by POKEing any values into these locations — toggling 3 bits into the SAM circuit. The VDG control lines are located in port 65314 and select the mode of the VDG. In order to switch the Color Computer into another graphics mode, you first set the available memory to match the mode, and then select the mode via the port. It's necessary to turn the control lines on at the port and also set the video memory size via the locations shown in table 2. Table 2 shows the locations that control the base page of the video memory. In order to locate the base page, the TRS-80 Color Computer hardware takes the 7-bit word these 14 bytes specify and multiplies it by 512 — resulting in the location of the base page. Locations shown in table 3 are either used by the 6809 for interrupts or are assigned other functions by Radio Shack. Although I was told their names by a Radio Shack representative, I didn't find out their exact functions. Ap- parently, you can select four different clock speeds using these locations. Although I encourage you to experiment with them, it's easy to lose your video-sync signal when fooling with these locations. Programmable-memory locations are shown in table 4. The keyboard buffer is terminated by a 0, and a PEEK(732) returns the token for the first keyword found 334 October 1981 © BYTE Publications Inc TM When Eight Is Not Enough: CP/M-86 "and CBASIC/86 "In 1977 Compiler Systems, Inc. introduced C BASIC" as a CP/M® programming language. It quickly became the most widely used BASIC dialect. Since then C BASIC has been adapted for use on systems supporting MP/M™ and TRSDOS." "At Compiler Systems we learned the lessons of the past well. So well, that in the relatively short time we've been in the software business, we man- aged to make history ourselves. In fact, C BASIC is the standard for CP/M-based business systems. " — Gordon Eubanks, CSI president Today CSI offers CBASIC/86 designed for 16-bit microcomputer-based systems running under CP/M-86. CBASIC/86, now available worldwide, is based on concepts first used by CBASIC including such business- oriented features as: BCD arithmetic with fourteen-digit precision; full for- mat control of printed reports; ran- dom and sequential records of any length (not limited to 256 bytes); aids to structured design, i.e. multi- ple line functions and control struc- tures as well as excellent file- handling and stringing capabilities. But perhaps the best of CBASIC/86 becomes clear when you're using it. To learn more about ** CSI's commitment to support ■** CBASIC/86 and CP/M-86 call 1*4 (213) 355-1063 and discuss putting ■j CBASIC/86 on your system. Send this coupon today, we'll send details that go a long way toward answering your questions. Name/Date Company Address City/State/Zip OEMs contact us for pricing □ Compiler Systems, Inc., 37 N. Auburn Ave., P.O. Box 145 Sierra Madre, CA 91024, (213) 355-1063 WORLDWIDE DISTRIBUTION FROM Circle 73 on inquiry card. ATLANTIC COMPUTER INDUSTRIES FOR: IMS, MORROW DESIGNS, CALIFORNIA COMPUTER SYSTEMS, ADDS, VECTOR, APPLE, ITHACA INTERSYSTEMS, IBM, SCION, NEC, T.U MUSYS, ASHTON-TATE, HAZELTINE, ANADEX, HAYES, NOVATION, PER SCI, MICROPOUS, SHUGART, and much more. IMS 5000 AND 8000 SYSTEMS Outstanding reliability and performance. These systems feature a Z80A CPU, S-100 bus, double density drives (either single or double sided), DMA disk controller, 64K RAM, 2 serial & 1 parallel port, and includes CP/M r ?Hard disk and multi user, software options. 5000 Desk Top with dual, single sided mini drives $3,225 8000 Desk Top with dual, single sided 8" drives $4,775 MORROW DESIGNS - DECISION I $1,450 Decision I was designed to be the most versatile and cost effec- tive multi-user, multi-tasking microcomputer available today. Decision I CPU features a 4-6 MHZ Z80A, sophisticated memory hardware, a real time clock and uNIX software. Floppy and Hard disk drives available. ADD'S MULTI-VISION I $3,229 Features 64K RAM, MUON advanced operating system, up- gradable to multi-user, multi-tasking operations. Extensive support software and utilities available. MUSYS SINGLE BOARD COMPUTER $1,295 Bootstrap PROM. Z 80 processor, 64K dynamic RAM, console serial port, S-100 parallel interface. EPSON MX-80 $ 499 MX-100 $ 775 NEC 5510 (serial interface) . . $2,749 5530 (parallel interface) $2,749 QUME - Letter Quality Sprint 5/45 KSR $2,990 Sprint 5/45 RO $2,625 ANADEX DP 9500/9501 $1,299 DP 9000/9001 $1,219 High resolution, 200 cps. MICROANGELOfrom SCION High resolution graphics sys- tem complete w. 15" monitor, cabling and software $2,225 S-100 Graphics Card $ 925 QUME DRIVES Data Track 8", double sided disk drives $ 575 2 for $1,100 2 Qume DT 8" complete with cabinet, power supply, fan $1,595 MORROW FLOPPY DISKS Discus 2D, 1 drive ... $ 950 Discus 2D, 2 drive . . . $1,559 2+2,1 drive $1,259 2+2, 2 drive $2,260 All complete with CP/M W & MBASIC. ADDS VIEWPOINT CRT NEW! Detached keyboard, programmable function keys, 2 position tilt screen . $ 599 TELEVIDEO 912C $ 749 920C $ 799 950 $ 999 ATLANTIC COMPUTER INDUSTRIES CORP. 80 BROAD STREET SUITE 404 NEW YORK, N.Y. 10004 PHONE: 212 -376-5978 Systems **~*~- in the line. In order to use this as an input routine, you would need to preface each line with a REM state- ment — resulting in the first character after REM being located at 733. The input routine uses the same buffer but doesn't do any tokenizing. A flag may exist that disables the tokenizing routine. Once the keyboard-input Hexadecimal Address FFC0 FFC1 FFC2 FFC3 FFC4 FFC5 Decimal Address 65472 65473 65474 65475 65476 65477 Function Clear V0 Set V0 Clear V1 Set V1 Clear V2 Set V2 Table 1: The six locations within the TRS-80 Color Com- puter's programmable memory that control the memory- mapping mode of the Motorola 6847 VDG (video display generator). The graphics mode is selected via port 65314 and the available memory must be set to match the'mode. See listing 1 for an example of a program that does this. Hexadecimal Address FFC6 FFC7 FFC8 FFC9 FFCA FFCB FFCC FFCD FFCE FFCF FFD0 FFD1 FFD2 FFD3 FFD4 FFD5 Decimal Address 65478 65479 65480 65481 65482 65483 65484 65485 65486 65487 65488 65489 65490 65491 65492 65493 Function Clear bit Set bit Clear bit 1 Set bit 1 Clear bit 2 Set bit 2 Clear bit 3 Set bit 3 Clear bit 4 Set bit 4 Clear bit 5 Set bit 5 Clear bit 6 Set bit 6 Clear bit 7 Set bit 7 Table 2: The TRS-80 Color Computer's programmable- memory locations that control the base-page location of the video memory. In order to calculate the base-page location, the hardware multiplies the resulting 7-bit number contained in the Motorola 6883 SAM (synchronous address multiplex- er) by 512. Hexad scimal Decimal Add ess Address Function FFD6 65494 Bank switch FFD7 65495 Clear bit 2 elk rate FFD8 65496 Set bit 2 c\k rate FFD9 65497 Clear bit 1 elk rate FFDA 65498 Set bit 1 elk rate FFDB-FFDF 65499-65505 Memory size jumpers FFF0-FFFF 65520-65535 6809 vectors Table 3: A few miscellaneous control and interrupt locations within programmable memory. Hexadecimal locations FFD7 through FFDA control the processor speed (nominally, 0.894 MHz). Although experimentation is encouraged, the user should be aware that these locations are tied to video- sync generation and may result in a temporary loss of video. 336 October 1981 © BYTE Publications Inc Circle 427 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 A|)|]li' III is ,] lligllly inh'ijuti'd COmpiltl system evolved (torn tin* Apple n clesig ami ii|]|iiiii/i'(1 in ppsl scivfi Hie inole^ sion.il uspi The new computet will be Diluted nt packaged cnnligtitaiions loi Iteisnn.ti use in professional appltcalioi L'tnk at these special Apple III le.tlnies • in aO-i it. ii'i' let tippet lowei case display tiisi drive and ntegialed penpheiai inteilaces ■ enhanced giaphti s capability • an emulatoi mode allowing Apple II sotlwate in tit- inn GET A $20 REBATE ON THE TI-59 PROGRAMMABLE. U.S.A. • APPLE II. II PLUS I16K. 32K. 48K| • APPLE III • DOS 3.3 • APPLE PLOT • APPLE PASCAL (64K| • APPLE FORTRAN • VISICALC 16 SEC • VISIPLOT • VISITREND APPLE WRITER GRAPHICS TABLET BPI |GL. AR. & PAYROLL) MODEM DOW JONES NEWS & QUOTES DECISION EVALUATOR CONTROLLER [GEN LEDGER) MICRO-COURIER AUTHORIZED DEALER AND LEVEL 1 SERVICE CENTER • EPSON CENTRONICS QUNIE SILENTYPE ANADEX SANYO. BW COLOR. GREENSCREEN EXTENDED WARRANTY 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 169.95 TI-5100 DISPLAY . 39.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.50 TI-5130 PRINT/DISP 79.95 TI-40SCI NEW 28.95 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 89.95 BUS CARD .... 39.95 TI-59 960 PROG ... 179.95 MBA 54.95 INVEST ANALYST 48.95 PLUG INTO CONTROL /»-.a5 — -~- A CONTROL LIGHTS ImmEll AND APPLIANCES II BBBII AUTOMATICALLY IS SI AND INSTANTLY. M 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® TC 211 TIMER 59.95 TS 555 5 pc TIMER SET NEW 119.95 PK 300 3 pc MINI CONTROLLER 49.95 ■BSUSTEin X-IOWM AND AMERICA IS GETTING THE MESSAGE. • Dials any of 30 stored numbers ' u^T^'oTaucX^ " me ""' ''"^ ^* J * tmM M % ^ 1 WHERE MIRACLES NEVER CEASE • Automatically re-tries a busy pbone a MM number ol pre-programmed times mM • Built-in speaker lor group listening Mi „__ „ «S2„__» CA-90 INVADER GAME • For home and business use JHH DEPTH-TESTED CALCULATOR WATCH ..49.95 "^^^~~~ xHHL TO 100 AA-81 2-WAY DIG/ANALOG ALARM 69.95 TnCUIDA IrPTVk METERS VL-TONE MUSICAL INSTRUMENT CALC .69.95 " '"^ NOW MikSB&H W100 DEPTH TESTED ALARM CHRONO .39.95 ,^_ _ _ «CS0 NOW FX7100 SCI CHRONO ALARM CALC 49.95 BC-1232PV QQ QR TmWBr FX3500 SCI PROGRAMMABLE CALC 39.95 DIGITRON %J*J'*J*J Wm QQ QC) frioo desc top print/display 79.95 DESK TOP CALCULATOR ,1 hi^it od.mt ™eo, av c^o cact ALSO: CANON. TOSHIBA. NSC. SEIKO, £?, G „ T r r N J?, uJ-T^,r a? LrSL ■■ MATTEL. PEARLCORDER. ITT. GTE. AND ACCURATE ^CALCULATING AT HOME MANy 0THEf , s ALL AT GREAr p R/ces , OR FOR BUSINESS WE WILL MEET OR BEAT ANY COMPETITORS PRICE ON MOST ITEMS IF HE HAS THE 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-5813 SCIENTIFIC PROGRAMMABLE 34.95 M£ CHESS CHALLENGER 7 .. 89.95 •""■ SENSORY CHESS 129.95 MATTEL £L£CTRUniC5' INTELLIVISION 259.95 GAME CARTRIDGES 27.95 HORSERACE ANALYZER 27.95 A TOUCH THE FUTURE ATARI 400 (16K) 294.95 ATARP VIS| CALC AVAILABLE CALL . _ MP600 CORDLESS HAND- t iTi ttiM IDA H ELD PHONE .189.95 \ I'J ffflUHH (700 . RANGE) MERCHANDISE IN STOCK NEWPORT BEACH COSTA MESA 3211 S HARBOR BLVD SANTA ANA CA 92704 \T"W, S4VIT73 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 clear), COD accepted Mm S4 95 for shipping in U S A. Air on reqst CA res add 6% sales tx All mdse subject to availability, prices subjec! 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 Professional Discounts LOS ANGELES 11986 WILSHIRE BLVD (213) 820-0423 TARZANA 18665 VENTURA BLVD (213) 705-7507 TORRANCE/LAWNDALE 16611 HAWTHORNE BLVD (213) 370-5795 Circle 97 on inquiry card. System Notes ,— —^— — — routine and the character-output routine are located, machine-language programming should be much easier on the Color Computer. Applications Since the video screen can be moved around in memory via one of the registers in the SAM circuit, you can use the information presented here to page through memory. If you are in the alphanumeric-graphics mode Hexadecimal Decimal Address Address Function 19-1A 25-26 Pointer to start of BASIC 1B-1C 27-28 Pointer to end of program 1D-1E 29-30 Pointer to variables 1F-20 31-32 Pointer to start of arrays 88-89 136-137 Pointer to current cursor position 8C 140 Location of sound frequency 8E 142 Duration of sound 94 148 Cursor color A8-AA 168-170 Jump vector to 43376 10C-10E 268-270 Jump vector to 43274 10F-111 271-273 Jump vector to 41046 112-114 274-276 Jump vector to 45974 11D-11F 285-287 Jump vector to 45509 2DD-3DC 733-988 Keyboard buffer 601 1535 Start of BASIC work space Table 4: BASIC control and other miscellaneous locations within page of the TRS-80 Color Computer's program- mable memory. (the default), you can obtain an ASCII snapshot of memory. All the characters in the ASCII code range will show up in the video display. Moving the window to the BASIC work space allows you to look at your BASIC program. If you do this before doing a CLOAD, you can watch memory filling up with a program. Since you can move the screen back and forth, you can think of it as a "paging-mode" terminal. With the appropriate software, you should also be able to make a sophisticated screen- oriented editor. You cannot go above hexadecimal 7FFF, or page 64. Putting the computer in the 64 by 64 color mode (listing 1) lets you use only half the screen. However, since you know where the starting pointers to BASIC are, you can change them and move the BASIC program down in memory to allow you to use more memory for the screen. This is accomplished by POKEing the new ad- dress into locations 19 through 1A hexadecimal or 25 through 26 decimal, and then doing a NEW command by jumping to location AD19 (or 44313). Now you can use V0 through V2 to allocate more screen memory. You can also go into other modes: POKEing a 240 into port 65413 puts you into high-resolution mode, which takes 6 K bytes of programmable memory for the screen. In this mode, everywhere there is a "1" in memory, a lit dot appears on the screen, and everywhere there is a "0" in memory, a black (unlit) dot appears on the screen. m 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. JANUS has such features as: Separate Compilation Records with variants Subranges, Enumerations, and Arrays Initialized Variables Integers and Arbitrary Precision Reals Produces ROMable, Re-entrant 8080 machine code and much more . . . JANUS is the face of the future. The structured language that you need for efficient programming. This is your chance to get to the head of the crowd and learn the language that will be the language of the 80's. 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. For $250, you get the JANUS compiler, linker, assembler, and owners manual. COMPUTERWARE PROGRAMMER'S TOOL KIT Power Pack: 2K ROM monitor and 6K RAM memory Assembler: full featured 2-pass with all 6809 mneumonics Editor: write letters & programs — print with your printer PRODUCTS FOR THE COLOR COMPUTER IP FROM STOCK OLOR INVADERS for 16K machine $24.95 Pack users $19.95 PASCAL learn structured programming and gel greater speed (reguires Power Packi $39.95 FINANCE PROGRAMS #1 loans & investments $21.95 COLOR DATA ORGANIZER collect, organize, and your information in a daia base $24.95 MEMORY — 16K $37.95 MAGIKUBE S19.95 Rubik s Cube in Color RAPHIC GAMES Invaders $19.95 >ul slots. e-Hill $17.95 no. Bingo p-Flop $18.95 32K MEMORY EXPANSION BOARD easy to install Dealer Inquiries Invited WRITE OR CALL FOR COMPLETE INFO PACKAGE ffts CP/M is a trademark of Digital Research, Inc. ADA is a trademark of the U.S. Department of Defense OFTWARE specialist in state of the art programming P.O. BOX 1512 MADISON, WISCONSIN 53701 6809 Specialists COMPUTERWARE Dept. C • Box 668 Encinitas, CA 92024 • (714)436-3512 Computerware is a trademark of Computerware. 338 October 1981 © BYTE Publications Inc Circle 317 on inquiry card. Circle 95 on inquiry card. 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 ... 1 1 channel pro- grammable VFU. If you require 150 CPS print speed and 136 column output, you can't do better anywhere. And at S 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 • 110-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. For all the details, call us at (801) 226-8202. You'll be profit- ably surprised. GENEROUS OEM DISCOUNTS. DISTRIBUTOR INQUIRIES INVITED. NOVELL DATA SYSTEMS 1170 No. Industrial Park Drive. Orem, Utah 84057 Telephone: (801) 226-8202 Circle 422 on inquiry card. Circle 311 on inquiry card. SORCERER SOFTWARE from QUTILrry SOFTW3R6 All Programs Are On Cassette VISI-WORD by Lee Anders From preparing short letters to writing a book, word processing becomes easy and inex- pensive using VISI-WORD, a cassette based word processor. VISI-WORD is designed to interface with just about any printer you can attach your Sorcerer to. VISI-WORD can accept control characters, which allows you to issue special commands to those printers with graphics controls, font control, and the like. A special feature of VISI- WORD, from which it gets its name, is the "command display off" feature. This com- mand eliminates all special end of line markers and other non-printing characters and automatically performs right-justification, centering, and indenting right on the video, so that you can see what your text will look like before it is printed. Other features of VISI-WORD include four separate buffers (to assist with form letters, boiler plating, and shifting text around), automatic page numbering and titling, partial print, and locating strings. $59.95 General Business System by Lee Anders GBS is a general purpose programming system that can be used for many business applications. Use this system to create, edit, format, and print mailing lists. Or set up an inventory system, an accounts receivable file, or a payroll system. Or use it to enter orders. Delete, modify or append records, and then summarize and tabulate the results. You design (with the help of an extensively documented user manual) a system of records. Then use the power of GBS to compute, sort, select, merge, add, and modify your data. GBS will provide you with the kind of fast, accurate, flexible tools you always knew a home computer could provide. Four example application programs are included. Of course, you don't need to use GBS for business. You can use it for personal finance, club or personal record keeping, or almost any type of problem that involves the management of records. Written in machine language with flexible cassette inter- facing, this program requires a Sorcerer with at least 32K of memory. $99.95 FORTH for the Sorcerer. Now Sorcerer owners can enjoy the convenience and speed of the fascinating FORTH programming language. Based on fig-FORTH and adapted for the Sorcerer by James Albanese, this version uses simulated disk memory in RAM and does not require a disk drive. Added to standard fig-FORTH are an on-screen editor, a serial RS-232 driver, and a tape save and load capability. Numerous examples are included in the 130 pages of documentation. Requires 32K or more of RAM. $59.95 ARROWS AND ALLEYS'" by Vic Tolomei The latest of Quality Software's great arcade games for the Sorcerer is ARROWS AND ALLEYS, by Vic Tolomei. You drive your car in a maze of alleys. Your task is to eliminate a gang of arrows that constantly pursues you. You have a gun and the arrows don't, but the arrows are smart and they try to stay out of your sights and will often attack from the side or from behind. Eliminate the arrows and another, faster gang comes after you. Four levels of play. Requires 16K or more of RAM. $17.95 We have more than 20 programs for the Sorcerer PLEASE WRITE FOR OUR CATALOG QUALITY SOFTW7IR6 6660 Reseda Blvd. Suite 105, Reseda. CA 91335 Telephone 24 hours, seven davs a week (213) 344-6599 HOW TO ORDER: If there is no SORCERER dealer near you, you may order directly from us. MasterCard and Visa cardholders may place orders by telephone. Or mail your order 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. *The name "SORCERER" has been trademarked by Exidy. Inc. System Notcs MM .^_»^... M Listing 1: A program for the TRS-80 Color Computer dem- onstrates video-mode switching. This program sets the com- puter to a 64- by 64-character graphics mode. Each byte maps into four consecutive blocks on the screen, with a 2-bit code used to indicate which of the four available colors (in this mode) each block will be. In this graphics mode, each horizontal line of blocks is 16 characters wide, as opposed to 32 characters (bytes) wide in the normal mode of operation. Since this mode requires 1 K bytes of programmable memory, with 512 bytes allocated to the screen, you can only work with the upper half of the video display. See the text for further details. 5 POKE 65495,0:REM SPEED PROCESSOR UP 10 BA = 1300:REM BASE OF THE CHARACTER 15 POKE 65314, 129:POKE 65473, 0:REM SET COLOR GRAPHICS MODE C 20 FOR I = 1024 TO 1535:POKE I,0:NEXT I:REM PAINT 'A SCREEN GREEN 30 FOR I = 1 TO 8:REM 8 LINES PER CHARACTER 40 FOR I = 1 TO 3:REM 3 BYTES PER LINE 50 READ A:POKE BA + (I* 16) + I,A:REM PUT THE CHARACTER DOWN 60 NEXT J:NEXT I 70 GOTO 70:REM LOOP SO WE DON'T MESS DISPLAY UP 80 DATA 0,255,0,3,255,192,15,60,240,15,255,240,15,225,240 90 DATA 0,195,0,3,60,192,8,195,48 100 END A rather interesting location is 148 (hexadecimal 92). This location changes madly when you put video into page 0. This is the so-called heartbeat of the system— the storage location for the color byte that specifies the color of the cursor. POKEing a there makes the cursor go away. The 6809 machine-code interrupt vectors at hexa- decimal locations FFFO through FFFF all point to pro- grammable memory (except the reset vector). The reset vector points to cold-start BASIC. This routine is in ROM (read-only memory), and has the responsibility of resetting all other vectors and initializing memory. It checks if the machine has been on or has just been turned on. If it has just been turned on, it initializes most of the scratch-pad locations. If you just hit a reset, it leaves cer- tain pointers alone, notably the pointers to your BASIC program. Conclusion There is much more to be learned about the TRS-80 Color Computer. I hope this article inspires you to go digging. I'd like to hear from people who discover other interesting facts about it. Hopefully, this information will give you a good start toward understanding your new computer. ■ /Editor's Note: It's a little-known fact that Radio Shack publishes technical service manuals for all its computer products. These manuals are available to the general public and contain a wealth of "inside" information and troubleshooting procedures. The manuals are not stocked by Radio Shack dealers. Contact your local Radio Shack store for the price and ordering information. Also, see "What's Inside Radio Shack's Color Computer?" in the March 1981 BYTE, page 90.... SM] 340 October 1981 © BYTE Publications lnc Computerize your bookkeeping without terrifying your bookkeeper. Introducing The Boss :™ the most advanced, yet most understandable, financial accounting system. Designed to automate your bookkeeping without confusion or mistakes. Iitwwct tabtri till EMra t)Uil«-ll-ll IfMUtl Iturmli H P0S1 CS3H RECEIPTS Hit Itcii.ti i U-H-li CaUwr Cttck II 1115 tnttm II I l III! m CMMKV I«r Unit. I I Itm.™ (nUm M. • i «C-I11„ »w »wvU«Ui IH ■ ■ »»«' titter, I Mil taih S*ln-PtKt M lw««t -1IM.I! ..IMI.IS HMVtnfll MH CrtSIl knrt mi it Mum TVpical screen format - actual photograph. If "fear of the unknown" is standing between you and computerization, you should find out about The Boss. The Boss system is immediately comprehensible to bookkeepers because it utilizes virtually the same format they're used to. So even someone with no previous computer experience can easily learn and operate The Boss system. Features seldom found in packaged software. The Boss system is fully interactive, fully departmentalized and exceptionally fast. It can generate an astounding number of complex reports- at the touch of a button. General Ledger and Accounts Receivable and Payable transactions can be entered in any order in a single program. Up-to-the-minute financial reports can be obtained without batch processing. The Boss system computes financial ratio analysis. It protects data from unauthorized personnel as well as computer malfunction. And it has the largest programming and storage capacity of any micro system. The Boss runs on most small business computers with CP/M® or similar operating systems. Its cost is only $2,495. Get full support from Lifeboat. The Boss is brought to you exclusively and supported completely by Lifeboat Associates, world's largest computer software publisher. For more informa- tion about how you can profit from this extraordinary financial accounting system, send us the coupon below. Or call (212) 860-0300. For more information on The Boss, mail coupon to Lifeboat Associates, 1651 Third Avenue, New York, NY 10028. Name. Title. Company. Street City Lifeboat Associates THE WARE SUPER- MARKET State. Zip. Boss is a trademark ol Balcones Computer Corp I cOll CP/W is a trademark ot Digital Research, Inc. I lifeboat Associates 1651 T hntJ Ave. New Vorh. N.Y 10028 Tel: (212) 860-0300 Telex: 640693 (1BS0FT NYK) TWX: 710-581-2524 Circle 199 on inquiry card. LIFEBOAT WORLDWIDE offers you the world's largest library ol software. Contact your nearest dealer or Lifeboat: Lifeboat Inc. Lifeboat Associates. Ltd. Lifeboat Associates GmbH Intersoft GmbH OK Bldg 5F P0 Box 125 PO Box 168, Aegetistrasse 35 Schlossgartenweg 5 1-2-8 Shiba-Daimon London WC2H 9LU. England CH 6340 Baar. Switzerland D-80451smaning. W. Germany Minato-ku. Tokyo, 105 Japan Tel: 01-836-9028 ...... Tel 03-437-3901 Telex: 893709 (LBS0FTG) Telex: 2422723 (ASRTYOJ) Tel: 042-31-2931 Telex: 865265 (MIC0 CH) Tel: 089-966-444 Telex: 5213643 (IS0FD) Lifeboat Associates, SARL 10, Grande Rue Charles de Gaulle 92600 Asnieres. France Tel: 1-733-08-04 Telex: 250303 (PUBLIC X PARIS) Lifeboat Associates Software with full support BYTE October 1981 341 Book Reviews Four Roads to Understanding Radio Shack's TRS-80 Yvon Kolya, POB 22, Peterborough NH 03458 Pathways Through the ROM George Blank, editor Softside Publications 6 South St, Milford NH 03055, 1979, 1980 1 1 6 pages, softcover SI 9.95 Pathways Through the ROM is actually a compila- tion of several manuals and articles already available separately. They are: • The TRS-80 Disassembled Handbook by Robert Richardson (the first nine chapters) • SUPERMAP by Roger Fuller (chapter 10) • HEX-MEM Monitor, a pro- gram by John T Phillipp (chapter 11; originally pub- lished in the February issue of PROG/ 80) • Z80 Disassembler, a pro- gram by George Blank (chap- ter 12; originally published in the June issue of PROG/80) • DOS Map by John Hartford (chapter 13) • "The WD1771 Controller Specification Bulletin" (chap- ter 14; available from Western Digital Corporation) By collecting these works in one volume, Softside Pub- lications has simplified the programmer's chore of gathering information about Level II DOS routines and The four books reviewed here purport to give assem- bly-language programmers a key to the mysteries of Radio Shack's TRS-80 Model I Level II ROM (read-only memory) and DOS (disk operating system). Because each book approaches the subject in a different way, it is diffi- cult to compare them all in the framework of a general dis- cussion, so I have considered them separately. At the con- clusion of each review, I have outlined the book's strengths and weaknesses as an aid to the prospective buyer. has significantly reduced the cost (separately, these six items would cost over $34). The first nine chapters (from The TRS-80 Disassem- bled Handbook) cover de- coding Level II ROM CALL locations; integer-, single-, and double-precision arith- metic; four short demonstra- tion programs; ROM trig, ex- ponent, and log routines; miscellaneous ROM routines; an alphabetical list of ROM CALL addresses; two pro- grams — one in BASIC, the other in assembly code; and a short self-test. In the introduction to his original work, Robert Rich- ardson states that the hand- book came out of a series of lectures he gave. Unfortu- nately, the lectures were very general; examples are in- cluded mainly in the demon- stration programs. It is ob- vious that Richardson feels the readers should do their own experimentation, using his handbook as a beginning. He provides very little to guide you through the ROM beyond pointing out the road signs so that you won't get hopelessly lost. The most valuable portions of Richardson's handbook are the various tables in- cluded. For example, three separate figures list the BASIC functions with the locations of their respective ASCII (American Standard Code for Information Inter- change) representations in ROM; the locations of their CALL addresses (not the same locations as the ASCII codes); the addresses them- selves in decimal form, in hexadecimal form, and in POKE form (decimal low- order byte followed by high- order byte, ie: 174-29 instead of 7598 decimal or 1DAE hexadecimal). Chapter 10 is Roger Fuller's SUPERMAP, a listing of ROM entry addresses and what the code at each address does when accessed properly. Also provided is information on the various cassette-tape storage formats used by the ROM. All in all, this is an in- formative and useful chapter. Chapter 11 contains the in- structions and listing of a simple BASIC monitor. Its sole purpose is to provide several memory-examining capabilities, if you don't al- ready have a monitor. Chapter 12 is a 280 object- code disassembler. It's handy, too, if you don't already have one. Chapter 13, devoted to mapping TRSDOS and NEWDOS, is a valuable in- clusion. The two overlay regions used by the DOSes are defined, and the addresses and uses of the various DOS systems are identified and labeled. All of the Radio Shack TRS-DOS system files (SYS0 to SYS6) are covered. Also given is the command structure necessary to call any of the DOS commands from an assembly-language program. This chapter and Chapter 10 make Pathways Through the ROM well worth the money, giving you information not available anywhere else. Chapter 14 is merely the Western Digital FD1771-01 floppy-disk formatter con- troller specification sheets (17 pages). If you plan to write a program to access the disk drives directly without using any of the DOSes, these spec- ification sheets are a must. This is definitely not a begin- ner's project. The specifica- tions, written for expert as- sembly-language program- mers, include command flow- 342 October 1981 © BYTE Publications Inc SVA MAKING APPLES GROW CP/M • PASCAL • APPLE DOS MEGADYTER SYSTEM The AMS 8000 Megabyrer System is for rhe serious user who wanrs ro expand rhe capability of his Apple* by increasing online dara storage, and reducing disk handling. It brings a new dimension to your Apple, making your dora portable ro other computers and gives you rhe re- liability associated with IBM standatd 8" floppy disks. The AMS 8000 provides an Apple memory system with Vi to 4 Mega- bytes of removable, online, easy-ro-use Apple formarred dara ready ro plug-in and operate. The system is at home in any setting and matches the styling of your Apple. The AMS 8000 preserves your current softwate investment by main- raining rigid compliance with APPLE DOS interface specifications. Since standard Apple DOS commands are used, mosrsofrware currenrly running under APPLE DOS 3.2, 3.3, Apple UC5D Pascal 1.1, or Microsoft CP/M*2.2 will run wirh AMS 8000. Apple mini disks may be used ar any rime. Because of rhe IBM 3740 single densiry format, you now hove rhe opportunity to exchange data wirh other computers such as IBM, INTEL, Radio Shack, DEC, etc. or operaring systems like CP/M, UCSD Pascal, ere. The conrroller circuitry urilizesasrare-of-rhe-art LSI floppy disk controller and dara separoror ro provide automaric single and double densiry operarion. A proprierary high speed SOFT-DMA dara rransfer Tech- nique guaranrees comparibiliry wirh all orher DMA cards and will nor inrerfere wirh memory refresh. For a cosr effecrive, reliable, and software compatible memory sys- tem from rhe originator of 8" floppy disk systems for rhe Apple, fry rhe AMS 8000 from SVA . . . SVA means Business. 'Trademark Apple Compurer. CP/M Trademark Digiral Research. Look whor the complete AM5 8000 memory sysrem with its field proven hardware and complere supporr software, deluxe industrial quality cabiner, reliable indusrry srandard IBM 3740 8-inch floppy disk drives, dual densiry conrroller, self-conrained power supplies and high densiry cooling means to you: INCREASED STORAGE 6 FLEXIBILITY • Increase online storage up ro 4 Mega bytes • Expand your maximum accounts and file size • Add high speed efficienr hard disk backup IMPROVED COMPATIBILITY • Operate wirh single AND double densiry DOS, CP/M, Pascal • Enhance your existing mini-disks and software • Copy any IBM 3740 or IBM Sysrem 34 Format 8" disk • Interchange data with orher computers SIMPLIFIED OPERATION • Utilize srandard Apple DOS and DOS commands • Reduce disk handling and I/O slor usage • Gain ouromaric single/double densiry operarion • Gain auromaric single/double sided drive operarion • Change to voice coil drives wirh one swirch SEVEN DAY BURN IN AND TEST POLICY • 1 Year Warranty £SVA> SORRENTO VALLEY ASSOCIATES 11722 Sorrenro Valley Road San Diego, CA 92121 (714) 452-0101 Circle 345 on inquiry card. BYTE October 1981 343 Circle 261 on card. 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 Book Review , Please rush a new computer forms catalog to: Name CODE 22460 Company Street City, State and Zip Phone Computer make & model I Nebs — — — — -Computer Emms- 78 Hollis Street, Groton,Mass. 01471 charts, pin assignments, tim- ing specifications, informa- tion on formatting tracks, disk read and write opera- tions, and other technical in- formation. The last section, the appen- dix, is very confusing. The table of contents calls it a "Reference Table of Memory Contents." What it actually is I don't know. It contains the following: • a decimal column going from to 255 • a hexadecimal column counting from to FF, matched to the decimal column • a column labeled EXT, which makes sense only if it is related to the Z80 assembly- code mnemonics • a column of the corre- sponding Z80 op codes, matched to the hexadecimal column (which seems to sup- port the assumption about the EXT column) • a column labeled ASCII for the numbers through 127, which changes to GRAPHIC for the numbers 128 through 191, and changes a last time to TAB for the numbers 192 through 255 • a column labeled TRS-80 Controls for the numbers through 63, changing to TRS-80 BASIC for the num- bers 64 through 255. None of these has anything to do with a table of memory contents. Conclusions • Unfortunately, Pathways Through the ROM is only a compilation of the separate works just discussed. No at- tempt has been made by the editor to tie these different items together into a cohesive whole. Each work uses a dif- ferent approach and different writing style. This makes the manual difficult to read and at times a frustrating ex- perience. It also means that some of the information is repeated needlessly. • As if this didn't make it dif- ficult enough, the manual it- self is poorly put together (and I don't mean physical- ly). There are numerous typographical errors and many outright editorial mis- takes, including figures with incorrect or no labels, and references to figures which are not in the book. This is possibly the result of its being a hasty compilation of several different works. • Pathways Through the ROM contains information on the floppy-disk controller and the DOS commands not present in the other ROM manuals I have seen. Because of this, it might be of use to the serious assembly-lan- guage programmer who has a disk system. Inside Level II: A Programmer's Guide to the TRS-80 ROM John Blattner and Bryan Mumford Mumford Micro Systems, POB 435, Summerland CA 93067, 1980, 65 pages, softcover, SI 9.95 In their preface, the au- thors say the main objective of Inside Level II is "to pro- vide the information neces- sary for utilizing these rou- tines [stored in the ROM] in your own assembly-language programs." This is quite ac- curately accomplished. The second objective, which the book doesn't achieve, is "to detail an efficient scheme for linking assembly-language and BASIC programs." To realize the first objec- tive, the authors have se- lected the routines they believe will be of interest to assembly-language program- mers, and have carefully out- lined each step involved in their use. Thus, not all the routines in the ROM are ac- A division of New England Business Service, Inc. 344 October 1981 © BYTE Publications Inc QumeDataTrak Floppy Disk Drives I II" IJ<1 Ml 1 IdK *3 double-sided double-density drive uses state-of-the-art technology to give you superior data integrity through im- proved disk life, data reliability, and drive serviceability using 5VTrnedia. Glume's independent head load yields wear characteristics far superior to competitive drives. This superior wear performance produces savings on both diskette usage and drive maintenance. Improved data reliability, resulting from superior amplitude and bit shaft characteristics, optimizes operator efficiency and reduces processing time for end-users. And Data Trak's unique modular design means simplified field servicing for you and your customers. Design Features Expanded storage capacity • Two-sided, double-density Pio\iei\ head carriage assembly • Ceramic head with tunnel erase • Dual-head flex mounting arrangement • Superior head load dynamics Precise lead screw actuator • Fast access time — 12 ms track-to-track • Low friction and minimum wear • Low power dissipation Additional features • Industry standard 5V«" media format • ISO standard write protect • Door lock out for media protection • Requires DC voltage only • Daisy Chain up to 4 drives • Heads load on command independent of loading media Product Specifications Performance Specifications • Capacity: Unformatted: 437.5K or 500K bytes; Qume Formatted: 286.7K or 327.7K bytes • Recording Density: 5456 BPI • Track Den- Distributed by: asaii computer ■ products, inc. sity: 48 TPI • Cylinders: 35 or 40 • Tracks: 70 or 80 • Recording Method: FM or MFM • Rotational Speed: 300 RPM • Transfer Rate: 250K bits/second • Latency (avg.): 100 ms • Access Time: Track-to- track 12 ms; Settling 15 ms • Head Load Time: 50 ms I lit Ifaia lltlK O double-sided double-density drive uses state-of-the-art technology to give you superior data integrity through im- proved disk life, data reliability, and drive serviceability. Qume's innovative approach to controlling head load dynamics yields wear characteristics far superior to competitive drives. In independent evaluation, Data Trak 8 is setting industry standards for tap test performance. This superior wear performance produces savings on both diskette usage and drive maintenance. Improved data reliability, resulting from superior amplitude and bit shift characteristics, optimizes operator efficiency and reduces processing time for end-users. And Data Trak's unique modular design means simplified field servicing for you and your customers. Design Features Expanded storage capacity • Two-sided, double-density Fully IBM compatible • IBM 3740 and System 32 drives • IBM 3600 and 4964 drives • IBM System 34 drives Proven head carriage assembly • Ceramic head with tunnel erase • Dual-head flex mounting arrangement • Superior head load dynamics Fast, precise steel belt drive • Fast access time — 3 ms track-to-track • Low friction and minimum wear • Low power dissipation Additional features • ISO standard write protect • Programmable door lock • Negative DC voltage not required • Daisy Chain up to 4 drives • Side-by-side mounting in standard 19" RETMA rack • Compatible with Shugart SA850/SA851 Product Specifications Performance Specifications • Capacity: Unformatted: 1 .6 Mbytes/disk; IBM Format: 1.2 Mbytes/disk • Recording Density: 6816 BPI 'Track Density: 48 TPI • Cylinders: 77 • Tracks: 154 • Recording Method: MFM • Rotational Speed: 360 RPM • Transfer Rate: 500Kbits/sec- ond • Latency (avg.): 83 ms • Access Time: Track-to-track 3 ms; Settling 15 ms; Average 91 ms • Head Load Time: 35 ms • Disk: Diskette 2D or equivalent asaii computer ■ products, inc. 1198 E. Willow, Signal Hill. CA 90806 Call Toll Free (800) 421-7701 AUTHORIZED DISTRIBUTOR FOR QUME CALL FOR PRICE AND DELIVERY (213) 595-6431 or (714) 891-2663 In California Circle 32 on inquiry card. 4 f'llll! i -el [■: lien ,:i!pis Mlcrosof BASIC (l r.x WtarlAmnM in HOM \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 to learn the fundamentals of com- 1 puling, the all-important basics you'll need more and U more as you advance in computer skills. For just S129.95 a you gel the advanced -design Explorer/B5 motherboard, ■ 'with all the features you need to learn hnw to write and ■ use programs. And it can grow into a system that is a ■ match for any personal computer on the market. Look at ■ these features: BOSS Central Processing Unit, the ■ microprocessor ■"heart" of the Explorer/fl5. (loin the ! millions who will buy and use the H080/B0B5 this year 1 alone!). .. Four fl-liilolusonefi-bilinpul/oulpul ports from ■ which you can input and output your programs, as well as ■ control exterior switches, relays, lights, etc. . a cassette ■ interface that lets you store and reload programs you've ■ learned to write . . . deluxe 2,001) hyte operating 5 system/monitor makes it easy to learn computing in j several important ways: • It allows simpler, faster writ- B ing and entering of programs • II permits access by you ■ to all parts of the system so you can check on the status of ■ any point in the program • II allows tracing each pro- ■ gram step by step, with provision for displaying all the ■ contents of Ihe CPU (registers, flags, etc.) • ... and il ! does much more! _ You get all this in the starting level (Level A) of the a Explorer/B5 for only $129.95. Incredible! To use. just ■ plug in your BVOC power supply and terminal or ■ key hoard /display — if you don't have them, see our ■ special offers below. ■ D Level A computer kit (Terminal Version) . . . $129.95 ! plus S3 Pal' 2 a Level A kit [Hex Keypad/Display Version) . . . $129.98 ■ plus S3 P& I.* ■ LEVEL B — This "building block" converts the molher- ! board into a two-slot SlOO nus (industry standard) com- m puter. Now you can plug in any of the hundreds of S100 ■ cards available. ■ D Level B kfl... $49.95 plus $2 P&l.* ■ Q SlOO bus connectors (two required) $4.B5 each. 1 postpaid. a LEVEL C — Add still more ■ computing power this "build- 1 ing block" mounts directly on 1 the motherboard and expands ■ Ihe SlOO bus to six slots. , D LevelCkil. $39.95 pk 1. Plufl in Nein Keypad/Display 5. Add two SIOB twin's 2. Add Level Bio convert i" fi. Add you own custom SIM cutis fnrnlulyprngoreti) 1 Add 4k RAM 7. Conner:! lerminol a CRT monitor or a TV set (if you have an RF modulator). m O Hex Keypad/Display kit ... . $69,95 plus $2 P&l.* • □ ASCII Keyboard/Computer Terminal kil featuring a ■ full 12(1 character set. uAl case, full cursor conlrol. 75 ohm video output, convertible to haudol output, selectable baud rale. RS 232 C or 20 ma I/O. 32 or 64 character by 1(1 lino for- mats. . .$149.95 plus $3 P&L* □ Steel Cabinet for ASCII Keyboard /Terminal . $19.95 , plus 52.50 PAL* a Q RF Modulator kil (allows you to use your TV set as a a monitor) . . . $8.95 postpaid ■ D 12" Video Monitor (10MHz handwidth) . . $139.95 ■ plusSSPAL* D Deluxe Steel Cabinet for the «- Explorer/B5 . . . $49.95 pile PAL* D Fan for cabinet . plus 51.50 PA I." I for the i^aa^rtBaV ! ""' s5: ' K--e*BfJi : $15.00 ^B ^ a ORDER A SPECIAL-PRICE EXPLORER/85 PAK— THERE'S ONE FOR EVERY NEED. j PAL* ■ □ SlOO bus connectors (fiv a required) $4.B5 eacl ■ postpaid. a LEVEL D— When you reach the point in learning that re- ■ quires more memory, we offer two choices: either add 4k ■ of a memory directly on the motherboard, or add IGk to ■ 64k of memory by means of a single SlOO card, our famous 1 "JAWS." I l.evel D kil: (CHECK ONE) . . . □ 4k on-board . . . $49.93 Z plus 52 PAP; D tfik SlOO "|AWS": $149.95 plus $2 a I'M\a 32kSl00"|AWS".. .5199.95 plus$2PAl*;0 48k a S100 TAWS" . . $249.95 plus 52 PAT: D 64k SlOO I "IAWS"... $289.99 plus $2 PAT. _ LEVEL E — An important "building block:" il activates a the Hk ROM/EPROM space on Ihe molherboard. Now just a plug in one 8k Microsoft BASIC or your own custom a programs. a Q Level E kit $3.95 plus 50C P&l * ■ Microsoft BASIC — It's the language that allows you to _ l.ilk English In your computer! It is available ihree ways: u D flkcasselle version of Microsoft BASIC: (requires Level a H and 12k of RAM minimum: we suggest a 16k SlOO a "|AWS" — see above) . . . 564.95 postpaid. a □ Bk ROM version of Microsoft BASIC (requires Level B a A Level E and 4k RAM: jusl plug into your Level E sockets. ■ We suggest either the 4k Level DRAM expansion or a 16k ■ SlOO "|AWS") . $99.95 plus $2 PAl* „ D Disk version of Microsoft BASIC: (requires Level B. H :12k of RAM. floppy disk controller. H" floppy disk drivel a 5325 postpaid. a TEXT EDITOR/ASSEMBLER — The editor/assembler a is a software tool (a program) designs! to simplify the task ■ of writing programs. As your programs become longer a and more complex, the assembler can save you many ■ hours of programming time. This software includes an J editor program that enters Ihe programs you write, makes m changes, and saves ihe programs on cassettes The assem- a bier performs Ihe clerical task of translating symbolic a code into Ihe compnler-readable object code. The edilor/ ■ assembler program is available either in cassetle or a ■ ROM version. ■ □ Editor/Assembler (Cassette version: requires Level J "B" and 8k (min ) of RAM — we suggest 16k "|AWS" — Z sea above) . . $39.95 plus 52 P&L* a □ Editor/Assembler (ROM version. suppliiKt on an SlOO a card: requires Level Band 4k RAM (min.) — we suggesl ■ either Level D or lllk "|AWS") . . . $99.95 plus 52 P&L* J 8" FLOPPY DISK — A remarkable "huildlng block" a Add our 8" floppy disk when you need faster operation, a more convenient program storage, perhaps a business ap- B plication, and access to Ihe literally thousands of programs ■ and program languages available loday, You simply plug ■ Ibem into your Explorcr/B5 disk system — it accepts all 1 IBM-formalted CP/M programs. Z D 8" Floppy Disk Drive . . . $499.95 plus S12 P&l.* B D Floppy Controller Card.. $199.95 plus 52 P&l * ■ D Disk Drive Cabinet & Power Supply $69..9S plus a $3 P&l* a D Drive Cables (set up for Iwn drives) . . . $25.00 plus ■ 51.50 P&l." ■ D CP/M 2.2 Disk Operating System: includes Text m Editor/Assembler, dynamic debugger, and other features a that give your Explorer/US access to thousands of existing ■ CP/M-based programs . . 5150.00 postpaid. ■ NEED A POWER SUPPLY? Consider our AP-1. It can J supply all the power you need for a fully expanded Ex- a plorer/8S( note: disk drives have their own power supply), a Plus Ihe AP-1 fits neally into ihe attractive Explorer steel ■ cabinet (see below). a D AP-1 Power Supply kit (8V Q 5 amps) i ■ cabinet . $39.95 plus 52 P&I.* a NEED A TERMINAL? We ■ offer you choices: Ihe least ex- a pensive one is our Hex * Keypad/Display kil that dis- ■ plays ihe information on a _ calculator-type screen The a other choice is our ASCII a Keylmard/Computer Terminal a kit. that can l>e used with either □ Beginner Pak (Save $26.00)— You get Level A (Ter- minal Version) with Monilnr Source listing (525 value) AP-1 5-amp. power supply. Intel B08B Users Manual . . . (Reg. 5199.95) SPECIAL $169.95 plus $4 P&L* D Experimenter Pak (Save 55340) — You gel Level A (Hex Keypad/Display Version) with Hex Keypad/ Display. Intel «Wir> User Manual. Level A Hex Monitor Source Listing, and AP-1 .5-amp power supply . . . (Reg. 5279.95) SPECIAL 5219.95 plus $6 P&l.* a Special Microsoft BASIC Pak (Save $103.00)— You get Levels A (Terminal Version). B. D (4k RAM). E, 8k Microsoft in ROM. Intel 11085 User Manual. Level A Moni- lnr Source Listing, and AP-1. 5-ainp. power supply . . . (Keg, $439.70) SPECIAL $329.95 plus 57 P&l.* Q ADD A ROM-VERSION TEXT EDI- TOR/ASSEMBLER (Requires Levels B and D or SlOO Memory) - - . $99.95 plus $2 P&I.* SlarterB" Disk System — Includes Level A. B floppy disk controller, one CDC B" disk-drive, two-drive cable, two SlOO connectors; just add your own pnwer supplies. Cabinets and hardware . . . □ (Reg. $1065.00) SPECIAL $999.95 plus $13 PAl.* .. .□ 32k Starter System. 51045.95 plus 513 P&I.* D 4!lk Starter System, 51095,95 plus 513 PAl* D 64k Starter System. $1145.95 plus 513 P&l.* □ Add to any of above Explorer steel cabinet. AP-1 five amp. power supply. Level C with two SlOO connectors. disk drive cabinet and power supply, two sub-D connec- tors for connecting your printer and terminal . . . (Reg. 5225.95) SPECIAL 5199.95 plus 513 PAL* Q Complete (Hk System. Wired A Tested . . . $1650.00 plus $26 P&L* Special! Complete Business Software Pak (Save $625.00)— Includes CP/M 2.2 Microsoft BASIC. General Ledger. Accounts Receivable, Accounts Payable, Payroll Package . . . (Reg. $1325) SPECIAL $69T ~ 't'M stands for "postage & insurance." For Canadian o rJers, double (his ((mount. Continental Credit Curd Buyers Outside Connecticut: i TO ORDER Call Toll Free: 800-243-7428 ; To Order From Connecticut, or For Technical ] Assistance, call (203) 354-9375 ^J^** (Clip and mall entire n(J)**^f SEND ME THE ITEMS CHECKED ABOVE Total Enclosed (Conn. Residents add sales tax): 5 Paid by: □ Personal Check □ Cashier's Check/Money Ordei □ VISA Q MASTER CARD (Bank No. Book Review, jyWvJETRONICSResearch&DevelopmentLtd.: I9l%333 Litchfield Road, New Millord, CT 06776 j tually dealt with. For exam- ple, the AUTO, CLEAR, and EDIT commands are not even mentioned. For each routine, you are told exactly what is being done, followed by the precise procedure in BASIC to get the desired result. You are also given warnings about what types of errors to ex- pect, both in Level II and disk BASIC, and what you can do to prevent them. The book's introduction is short (only three pages) and covers how the TRS-80 repre- sents numbers, uses the regis- ters, and links to disk BASIC. The rest of the book is divided into three parts: • the Level II ROM and re- served programmable mem- ory • linking assembly-language and BASIC programs together • appendices Part I (chapters 1 through 10) starts off by explaining exactly what each byte in re- served memory contains. For example, the bytes at hexa- decimal addresses 40AA to 40AC hold the seed used by the TRS-80 random-number generator. This information is followed by the entry points to Level II commands and functions and the trans- fer points for disk BASIC commands. All this is in Chapter 1. Chapter 2 tackles registers, buffers, and the passing of variables from storage to buf- fers and back. Chapter 3 concerns the conversion routines for changing a numeric variable from one precision to another, such as converting a single-precision number to double precision or to an in- teger, or a numeric string to binary or vice versa. Ex- amples are given of short rou- tines that can be used to ac- cess the ROM properly from your own program. Chapters 4 and 5 handle the arithmetic operations and the higher math functions (and even give the amount of time required by the routines to execute), while Chapter 6 explains the keyboard input, from single-character to nu- meric to string input. Chapters 7 through 10 dis- cuss the rest of the instruc- tions, cassette I/O (in- put/output), video display, VARPTR (which returns the address of a variable), and the stack pointer. Part II begins with Chapter 11, which, according to its title, is about assemblers and monitors. Actually, it merely suggests you use an assembler similar to Radio Shack's ED- TASM and a monitor, prefer- ably the one sold by Mum- ford Micro Systems (publish- er of Inside Level II). Fortu- nately, this chapter is only one page long. Chapter 12 gets down to the technique of mixing BASIC and machine-lan- guage programs. Unfortu- nately, the methods discussed are somewhat awkward. The authors believe that machine- language routines of a mixed program should reside in low memory, and they go to a great deal of trouble outlining how this can be done, cover- ing CLOADing and CSAVE- ing techniques. Some of the advice is common sense (i.e., debug the machine-language routine before you combine it with the BASIC program and vice versa). Because of the difficulty of combining pro- grams in this style, I think the authors have failed in their avowed purpose. They did not even consider the pros- pect of embedding the ma- chine-language routines in BASIC REM (remark) state- ments. This is easily done by loading your monitor above the BASIC program and replacing the body of the REM statement with your machine-language routine. 346 October 1981 © BYTE Publications Inc ATARI SOFTWARE PIRACY: THIS GAME IS OVER. ATARI® has led the industry in the development of video games such as ASTEROIDS™ and MISSILE COMMAND.™ The outstanding popularity of these games has resulted from the considerable investment of time and resources which ATARI has made in their development. We appreciate the worldwide response from the videophiles who have made our games so popular. Unfortunately, however, some companies and individuals have copied ATARI games in an attempt to reap undeserved profits from games that they did not develop. ATARI must protect its investment so that we can continue to invest in the development of new and better games. Accordingly, ATARI gives warning to both the intentional pirate and to the individuals simply unaware of the copyright laws that ATARI registers the audiovisual works associated with its games with the Library of Congress and considers its games proprietary. ATARI will protect its rights by vigorously enforcing these copyrights and by taking the appro- priate action against unauthorized entities who reproduce or adapt substantial copies of ATARI games, regardless of what computer or other apparatus is used in their performance. We ask that legitimate software developers cooperate with us to protect our property from any form of software piracy, imitation or infringe- ment. ATARI is currently offering copyright licenses for a limited number of its games to selected software developers. If you happen to be selling a software product which performs a game similar to any ATARI game (such as a game created for a home computer), please contact us immediately. Write to the attention of: Patent Counsel, ATARI, Inc., 1265 Borregas Ave., Sunnyvale, Calif. 94086 A ATARI ^9 A Warner Communications Company ©1981, ATARI, INC. Circle 34 on inquiry card. Book Review Another important omis- sion was an explanation of how to make your program a "load-and-go" type, eliminat- ing the need to return to either the system level or the BASIC level after your pro- gram loads. The three appendices are only two pages each. The first is a simple hexadecimal- to-decimal conversion chart, while the second is a ma- chine-language program for recording a composite BASIC and machine-language pro- gram on tape (but the com- posite program must be in the format preferred by the authors, with the machine- language routines "below" the BASIC program). The last appendix is the most valuable, giving a machine- language program that allows faster recording of DATA tapes by shortening the length of the leader and the sync byte. Like the other books re- viewed here, it has no in- dex; however, the table of contents is detailed and makes up for the lack of an index. Conclusions • All of the steps required by BASIC when accessing the Tune tip your LA36 The DS120 Terminal Controller makes your LA36 perform like a DECwriter® III. The Datasouth DS120 gives your DECwriter® II the high speed printing and versatile performance features of the DECwriter® 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 ROM from your own pro- gram are carefully outlined: what to do, when to do it, and where to do it. • Part II is of use only to pro- grammers who do not write programs in pure machine language and must use hybrid programs instead. • My only complaint might be that the book is too con- cise, with explanations a little too short for the beginner. • I recommend this book to serious machine-language programmers. The BOOK: Accessing the TRS-80 ROM Raymond E Daly IV, Stephen C Hill, Roy Soltoff, Thomas B Stibolt Jr, and Richard P Wilkes Insiders Software Consultants, POB 244 1, Springfield VA22152, 1 980, 123 pages, softcover, S 1 4.95 According to the introduc- tion, The BOOK (volume I of a three-volume set) is de- dicated to the math routines of Level II BASIC. It claims to be written for the novice to machine-language program- ming, while not "talking down" to the expert. I must say that the authors certainly have achieved their objec- tives. The first three chapters (32 pages) deal with the formats, accumulators, and data man- ipulations for using the ROM math routines, as well as the actual functions. In the first chapter, you are given a lei- surely and thorough explana- tion of how the TRS-80 Level II ROMs store and use mem- ory addresses, binary num- bers, and the memory accum- ulators. Numerous examples are used to make these tech- niques as clear as possible. The second chapter details the ROM data-manipulation 348 October 1981 © BYTE Publications Inc Circle 113 on inquiry card. The system is here! • 8 Mhz. 8086 CPU Set • 128K Static RAM with 100 nsec. Chips • Double-density Floppy Disk Controller • 22-Slot Constant Voltage Powered Mainframe • High-Performance 86-DOS Disk Operating System a / .q. en Fully Assembled, tested, ready to ^p4} iOj» — run. (Requires terminal and disk drives) TO ORDER: May be ordered through your local computer store or factory di- rect. Shipping paid by Seattle Computer on prepaid USA and Canadian orders. All boards fully assembled, tested, guaranteed one year. Mainframe guaranteed 90-days. Software We have the following Microsoft high-level languages running under 86-DOS. • BASIC-86 Interpreter $400 • BASIC-86 Compiler $400 • Fortran-86 $600 • Pascal-86 $600 • Cobol-86 $900 • Macro-86 Assembler $300 Check for new additions 1114 Industry Dr. Seattle WA 98188 Circle 331 on inquiry card. Information Hotline 206/575-1830 Book Review , techniques and routines, with examples of how to move data from the ROM work area to your program's mem- ory area and how to use the data-conversion routines (such as the ASCII string-to- binary number-conversion routine). Chapter 3 gives accurate and complete instructions on interfacing the actual math routines to your own pro- gram. The authors have in- cluded a good deal of "extra" code in setting up their ex- amples. This approach is par- ticularly useful in illustrating good programming tech- niques and makes it much easier for the novice to use the routines immediately, but it makes it much harder to find out what the bare re- quirements are to use a ROM routine and to adapt the rou- tines more precisely to your needs. Chapter 4 is not simply a disassembly of the math rou- tines of the ROM, but a com- pletely commented source- code listing with established labels. This was probably done by disassembling the ROM and assigning labels Start End Label Description 0B3D 0B58 INTSNG Take Integer of Single 0B59 0B9D INTDBL Take Integer of Double Table 1 End user software Take the BIG 5 for ?675 INTERACTIVE General Ledger, Accounts Receivable and Payable with Order En- try, Payroll, Inventory and Fixed Assets Take the complete system including source code, documentation and initiali- zation disk for only $675.00 Requirements: CBA52, CP/M by Digital Research, 48K RAM, Dual 8" drives Call Today 408/429-8544 Big End User discounts on many other business applications software End User software 150 Felker Street Santa Cruz, California 95060 and comments. This method gives the byte number, a label name (where applicable), the Z80 mnemonic (but not the extended mnemonics), and a comment field. It does not give the actual op codes stored at those bytes. This was probably an attempt to avoid infringement of Tandy (Radio Shack) and Microsoft copyrights. (Because this volume is devoted to the math routines, only that por- tion of the disassembly deal- ing with those routines has been reproduced in The BOOK.) This disassembly is fol- lowed by Appendix A con- taining the whole label table for the entire Level II ROM, not just those labels dealing with the math routines. The authors say they did this to assist curious programmers in finding their way through the ROM. Each label's start and, where applicable, end ad- dress are printed as shown in table 1. Appendix B contains three lengthy examples of how to use the routines in actual pro- grams. Appendix C is a pro- gram listing of a disassembler in BASIC. Conclusions • The BOOK, like Inside Level II, is very thorough in its treatment of the math rou- tines, but unlike Inside Level II, it gives numerous ex- amples and copious explana- tions. This is a real help for the novice, and it also tends to prevent the expert from jumping to erroneous conclu- sions. • Because of the use of labels in the disassembly, it is very easy to see and understand how the Level II ROMs ac- tually operate. • The BOOK does not give you the locations and proce- dures needed by the ROM; rather, it provides short, sim- ple programs that use the ROM routines. For the nov- ice, this could be a handicap in learning how to use the routines efficiently. Microsoft BASIC Decoded & Other Mysteries for the TRS-80 James Farvour IJG Computer Services 1260 W Foothill Blvd, Upland CA 91786, 1981, 310 pages, softcover, $29.95 Microsoft BASIC De- coded, the latest "ROM book" on the market, is by far the thickest and most complete to date. It is the sec- ond volume on the TRS-80 published by IJG Computer Services, the first being TRS-80 Disk & Other Mysteries. Microsoft BASIC Decoded takes a completely different tack from the other books discussed here: it attempts to give a total overview of the Level II ROM operating sys- tem and Microsoft BASIC. It starts by explaining what is meant by an operating system, and what the TRS-80 has by comparison with this general idea. Next, the book takes you through the process of turn- ing on the TRS-80 computer, both with and without disk drives attached. It also tells you how the BASIC inter- preter operates. Other chapters explain the ROM subroutines, cassette and disk I/O, addresses and tables used, and disk BASIC mem- ory overlays. Its best selling point, how- ever, is the inclusion of a dis- assembly of the entire TRS-80 Model I Level II ROM set, both the old and the new ones, from hexadecimal 0000 all the way to hexadecimal 302A, with almost every line commented in plain English as to its purpose. The format 350 October 1981 © BYTE Publications Inc S-100-8 INCLUDING CP/M2.2® Fi^Ty^ESS TERMINAL • Feather Touch Capacitance Keyboard • 60 Key Standard ASCII PLUS + Hex Keypad PLUS + 8 Special Function Keys PLUS + 20 Screen Editing Keys • SOROC Type Screen Attribute Set • Half Intensity COMPUTER • 8SlotS-100 • 64K Dynamic Ram • 4MHZ Z-80 • Serial Printer Port (150-19.2K) • Double Density Disk Controller • Programmable Baud Rate • Programmable Keyboard Set TERMINALS 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. WITH: 8" SS/DD Drives Only $2850.00 5 1 / 4 " SS/DD Drives Only $2700.00 CALL FOR QUOTE ON DIFFERENT DRIVE OPTIONS PRINTERS FLOPPY DISK DRIVES • Televideo 950 — $950.00 • Televideo 920C — $740.00 • Televideo 912C — $665.00 • Televideo 910 — $575.00 • EPSON MX 80 Only $470.00 DUAL DRIVE SUBSYSTEM $995.00 A $195.00 w no Drives g^ ^B If this looks like a Lobo ^ft ' ~~~^r Drive System, don't be — — r fooled. Just because it 2 SHUGART 801 R looks like one, works like POWER SUPPLY one, smells like one, and tastes like one (?) doesn't mean it has to cost like one! • C-ITOH Comet I Only $499.00 TWIN VERTICAL DRIVE$ 5" $550.00 — 8" $980.00 Attractive, convenient and compact Two Drive Mass Storage includes Power -j — __^ Supply, Drives, Cabinets, an< Ltl I 1 Cables. Double Sided, 7 if].,* Double Track available too! L ***J8-' Ampex Dialog 80 w/ Detachable Keyboard $950.00 Call For Price & Availability On Other Terminals. • Anadex 9501 Graphic Printer Only $1275.00 Call For Price & Availability On Other Printers. • Shugart 801 's $395.00 • Shugart 851 's $585.00 • Qume DT-8's $575.00 CP/M2.2 is a TM of Digital Research Inc. Circle 374 on inquiry card. Book Review, is very straightforward: byte number — Z80 op code — mnemonic — comment The mnemonics are restricted solely to the primary com- mands because the printing of the extended mnemonics would probably be a viola- tion of the copyright laws. In an effort to make it simpler for you to use this disassembly, the book pages have been predrilled to fit a three-ring binder and the binding has been prepared for easy removal of this section. This is a brilliant idea, and I wonder why more publishers don't do this; there are many books that I wish had been made in this way. Not only does the loose- leaf binder make it easier to work with the pages, but it also makes it possible for you to insert your own pages of comments wherever you want to. And that's not all: because most programmers will want to include the ex- tended mnemonics in their binders, a simple scheme has been devised to accommo- date this desire. Each page of the disassembly is a standard 8V2- by 11-inch sheet of 66 lines (four of the lines are blank, to provide spacing at the top and the bottom). This means that any printer cap- able of printing 66 lines per 11-inch page will be able to produce a disassembly to match the book pages per- fectly. The only qualification is that you have to use a dis- assembler that automatically paginates after printing 62 lines. If you use the Apparat Dis- assembler, which is what the author used, you should have a perfect match to the book. This scheme is very well thought out. The book's dis- assembly even goes so far as to note the errors of disas- sembly that most disassem- blers will make (i.e., the dis- assembler doesn't know when it is mistakenly decod- ing a table of addresses or ASCII messages to the opera- tor). All in all, the publisher and author have done a remark- ably efficient job of making it as easy as possible for you to have a correct and complete disassembly of the TRS-80 Model I Level II ROMs. This disassembly is Chapter 8 of the book and occupies 246 pages. It covers the entire old ROM set that Radio Shack originally sold (it displayed RADIO SHACK LEVEL II BASIC when the machine was turned on). Chapter 7 (only three pages long) points out the few differences be- tween the old ROM set and the new ROM set (which displays R/S LII BASIC). Without a doubt, these two chapters alone would have made a "best seller" in the personal-computer field. As I mentioned before, the first six chapters are devoted to the gargantuan task of try- ing to tell you precisely how the Level II ROMs work, and they simply do not live up to the standard set in the last two chapters. Chapter 1 contains the ex- planations of memory use, Level II operation, interpreta- tion, and execution; and, in general, it provides a simple overview of just what it is that the Level II ROMs do to control the TRS-80 system. The second chapter is a tremendous letdown. It is supposed to be a guide to ac- cessing the different ROM subroutines, but it is poorly written and incomplete. The explanations are not simple, and the format used is not ex- plained. There are no warn- ings as to possible problems arising from the use of rou- tines; and the sample pro- grams don't tell you what you need to know to use the routines. Neither this chapter nor any of the others explains the method used by the ROMs to store numbers, except to note that integer numbers require 2 bytes of memory, single- precision numbers need 4 bytes, and double-precision numbers need 8 bytes. To balance this omission, the author has included a precise mathematical explanation of the formulas used by the ROM to compute the func- tions of sine, cosine, tangent, arctangent, exponentiation, natural logarithm, and square root. This information is not duplicated in any of the other books about the ROM. Finally, not all of the sub- routines that should have been included have been in- cluded. For example, Chapter 2 gives the routines used to turn on the cassette-drive motor, how to read and write the leader bytes, and how to read and write data. It does not tell you how to turn off the cassette motor, although you can find this information in the disassembly of Chapter 8 if you are patient. Chapter 3, a considerable improvement over Chapter 2, concerns cassette and disk I/O formats and timing and includes timing diagrams for the cassette data. The disk section gives the controller commands — head seek, step, restore, etc. It goes into detail on the data formats on the disk, covering the GAT (granule allocation table), the HIT (hash index table), the disk DCBs (device-control blocks), and the directory sectors. In fact, the only other book that goes into more detail on the disk-data formats is TRS-80 Disk & Other Mysteries. Chapter 4 is devoted to all of the tables used by the Level II ROMs and to lists of addresses of important rou- tines. In addition to the table of Level II reserved words and their respective ROM ad- dresses, there are tables of the hierarchy of arithmetic oper- ations, data-conversion rou- tines, and error codes. Other tables, which are built in memory by BASIC for pro- gram execution, include the Mode Table, the Program Statement Table, and the Literal-String Pool (where the garbage collection routine spends all of its time). This chapter is crammed with in- formation, but it is written more for the expert program- mer than for the novice. Chapters 5 and 6 are exam- ple programs illustrating methods of using the ROM routines in your own pro- grams to do such things as in- itiate your own new BASIC commands and using the DOS overlay concept in a BASIC program to execute a program longer than the available memory (i.e., run a 64 K-byte program in a ma- chine with only 32 K bytes of memory). Conclusions • This book is physically very well designed for max- imum use by programmers who want to understand the Level II ROM and add to the information provided in the book. • The writing is uneven, sometimes clear enough for the novice, sometimes not. • Despite its flaws of omis- sion and the unevenness in the first chapters, the disas- sembly and its design make this one ROM book that everyone should buy.B 352 October 1981 © BYTE Publications Inc Teachyour littleAppletotalk toWfesternUnion, Telex andT WX. Albany Omaha C=B3 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. MICROOOM We make little computers talk big. Call 800-547-5995, ext. 188, toll-free, for the Micro-Telegram-Apple dealer nearest you. Dealer inquiries 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 222 on inquiry card. System Notes Two Short Graphics Programs for the OSI C-1P John F Leahy 30345 Chualar Canyon Rd Chualar CA 93925 Here are two pattern-producing video graphics programs for the Ohio Scientific Challenger IP microcom- puter. With one of these running in some conspicuous spot at your next party, you'll be amazed at the atten- tion it attracts. Be careful, though. You or your guests may go crazy trying to figure out the pattern, because the pseudo- random-number generator is used for both displays. You choose your own rise and de- cay times for the display elements. The parameters 1000 and 1500 are suggested for starters. There'll be no decay, however, if the decay time is set at less than the rise time. To speed up the action, use a delay limit of 500 or less. To slow it down, try 3000 or higher. Happy viewing! ■ Listing 1: This OSI BASIC displays fascinating random patterns on your video display. 10 FOR X = 1 TO 30: ? : NEXT 20 INPUT"RISE TIME (1000?)"; E 30 INPUT"DECAY TIME (1500?)"; 40 FOR X = 1 TO 30: ? : NEXT 50 C = INT (RND(1)*255) 60 D = 70 L = INT (RND(1)*920) 80 L = L + 53314 90 POKE L,C 100 D = D + 1 program graphics 110 IFD > ETHENC = 120 IF D = F GOTO 50 130 GOTO 70 32 Listing 2: A variation of the display pro- gram in listing I, 10 FOR X TO 30: ? : NEXT 20 INPUT"DECAY TIME (1500?)"; M 30 FOR X = 1 TO 30: ? : NEXT 40 I = INT (RND(1)*M) 50 C = INT (RND(1)*255) 60 L = INT (RND(1)*920) 70 L = L + 53314 80 POKE L,C 90 FOR T = 1 TO I: NEXT 10( ) POKE L,32 11C GOTO 40 -LOW PRICES Circle 81 on inquiry card. TERMINALS ADDS Regent 25 $ 815. Viewpoint 625. AMPEX Dialogue 80 965. Dialogue 30 865. TELEVIDEOTVI950 950. PRINTERS PRINTRONIXP;300 5195. P:600 6980. DIABLO 630-3 2295. w/Tractor Cash with order 5% off Computer Designs and Services 5575 Magnatron Blvd., Ste. D San Diego, CA 92111 Tel. 714-571-2763 TWX 910-335-1620 DISK DRIVES RMS 10 MB 5V4 with XCOMP Controller AMPEX The Capricorn 160 MB CONTROL DATA also available. MEMORIES MICRODATA, DEC, DATAGENERAI COMPUTER SYSTEMS 64KB with 2.4 MB disk Control Data — all models. 3990. 354 October 1981 © BYTE Publications Inc "■',-' .;.«pHHMHKn • *Abv William V.Robinson Program designed by wu Creates, Edits, Formats. ■■SSK^^^^m Textwizard transforms Atari into a powerftdly serious word processor. Textwizard™ is no kids game. It's a sophisticated and complete word processing program for the "Atari 800 computer. Here is instant control over the creation, editing and formating of any writing. Insert words. Replace phrases. Delete sentences. Move paragraphs. Auto- matically repositions surrounding text. "Textwizard™ does it all with over 50 simple commands. On your command, Textwizard™ will search out and correct mistakes throughout your document. And it protects you from common operating errors by warning you before you make them. Textwizard™ will print out as many original "copies" as you need. In boldface, elongated or con- densed lettering, upper or lowercase, with propor- tional spacing. And you can store your work on a diskette. So, whether you write legal briefs, computer programs, or The Great American novel, Textwizard' can make your work easier. And though it's no toy, it's fun to use. At $99.95, you don't have to write a best-seller to afford Textwizard.™ Textwizard™ is another of the many creative products from Datasoft. v> — "X$» INPUTX* GOSUB 5000' CVRT TO DEC IF N>32767 THEN N=-l*(65536-N) POKE N,X 'STORE IF N<0 THEN N=65536+N N=N+1 'NEXT CELL GOTO 1040 'LOOP READ MEMORY INPUT "1 FOR CRT 2 FOR PRINTER" 5P 'END AT";X* 5000 'CURT N TO FI STEP 16 CURT TO HEX INPUT'START AT'JX* GOSUB 50 'CVRT TO N=X INPUT GOSUB CLS FI=X FORN X=N GOSUB 60 PRINT X$"=>"} IFP=2THENLPRINTX*"=> FOR M=0 TO 15 R=N+M : IF R>32767 THEN R=-lx(65536-R> X=PEEK(R) GOSUB 6000 'CVRT TO X$=RISHT*(X*»2) PRINTX$»" "5 IFP=2THEN LPRINTX$J" NEXT M PRINT IF P=2 THEN LPRINT" NEXT N GOTO 120 DEC TO DEC HEX PRINT "DECIMAL POKE MEMORY INPUT "START ADDRESS " » X* GOSUB 50 'CVRT DEC N=X X=N J GOSUB 60 PRINTX$; INPUTJ IF J>255 OR J<0 THEN 120 R=N : IF R=-l*<65536 POKE R,J N=N + 1 OR J<0 THEN i: RX32767 THEN R) GOTO 3040 PRINT "DECIMAL PEEK MEMORY Listing 1 continued on page 360 358 October 1981 © BYTE Publications Inc Circle 58 on inquiry card. Jack McAlister had $12,000 worth of power tools. Here's why he sold them! "My shop was equipped with commer- cial tools in which I had an investment of $12,000 or more. I sold all my machines at a nice profit, and purchased one Mark V ... I can do anything I was doing on all the machines, this gives me a lot more room and I have several thousand in the bank. What more could I ask for?" - Jack McAlister, Tucker, Georgia Jack McAlister learned something that a lot of woodworkers, from begin- ners to experts, already know. You don't need a shop full of expen- sive power equipment to do just about any job you could im- agine. All you need is a Shopsmith MARK V. The 5-in-l tool that does it all. The Shopsmith MARK V is actually a complete workshop in a single, compact unit no bigger than a bicycle. One rug- ged, precision-built motor powers five basic tools: 10" table saw. 16'/2" vertical drill press, horizontal bor- ing machine, 34" lathe and 12" disc sander. It actually lets you do more than indi- vidual power tools because you can Circle 334 on inquiry card. borrow features from one tool to enhance the capabilities of another. And it's so easy to use that after only about an hour's practice, you'll be able to change from one function to another in less than 60 seconds. With the MARK V's capacity and pre- cision, you'll soon find yourself getting professional results on projects you now wouldn't dream of tackling. You'll discover why we call the MARK V "The tool to start with ... the system you grow with." Find out what Jack McAlister and 250,000 other MARK V owners already know. Don't you owe it to yourself to find out more about the MARK V — the single machine that can actually replace $12,000 or more in power tools — yet costs just a fraction of that figure? Mail the coupon today for your FREE Information Kit. Find out more about the amazing MARK V. Simply mail the coupon below and we'll send you a FREE Information Kit. Your Kit will include a booklet, "What To Look For When You Buy Power Tools," plus all the details on the incredible MARK V. You'll also learn how you can actually use it in your home, for a full 30 days, without risking a penny! Shopsmith Inc. The Home Workshop Company 750 Center Drive Vandalia. Ohio 45377 Mail this coupon today! Shopsmith Inc. The Home Workshop Company 750 Center Drive Vandalia, Ohio 45377 Dept. 354H I — I I to! Please send me my FREE Information Kit on the Shopsmith MARK V, including illustrated brochure and "What To Look For When You Buy Power Tools" booklet ... PLUS all the details on how I can test-use the MARK Vat home, without risk, for 30 days. I understand that this information is FREE and I am under no obligation. .Zip. "Shopsmith. Inc. 1981 BYTE October 1981 359 Circle 74 on inquiry card. " 4100 IFP=2THENLPRINTX*"=>" ♦ 4110 FOR M=0 TO 10 4120 R=N+M tIF R>32767 THEN R=-1>K(65536~R) 4130 PRINT USING " *** ">PEEK» 4140 IFP=2 THEN LPRINT USING ' *** "5 PEEK (R)» 4150 NEXTM 41<60 PRINT 4170 IFP=2THENLPRINT" " 4180 NEXT N 4190 INPUTZ$!GOT0120 4200 4210 4211 4212 4213 4214 5000 'X=DEC VALUE OF X*(HEX) 5010 X = 5015 IF LEN9 THEN Xl=Xl-7 5060 IF XK0 OR Xl>15 THEN 120 5070 X=X*16+X1 5090 X$=RIGHT$ < X* 9 LEN < X$ ) - 1 > 5100 GOTO 5015 5120 RETURN 5130 5140 5141 5142 6000 ' X*=HEX VALUE OF X 6010 X$="" 6020 FOR 0=3 TO STEP -1 6030 X1=FIX (X/16CQ) 6040 X=X-Xi*16CQ 6050 Xl=Xl+48 6060 IF Xl>57 THEN Xl=Xl+7 6070 X$=X$+CHR«(X1) 6080 NEXT Q 6090 RETURN 6091 1 6092 1 6093 1 6094 ' 70 PRINT "ASCII POKE" 7010 INPUT-START ADDRESS" JX* 7020 GOSUB 5000 7030 N=X 7040 X=N 7050 GOSUB 6000 7060 PRINTX*"=>°; 7070 A=INKEY$:iFA=""THEN7070 Listing 1 continued on page 362 360 October 1981 © BYTE Publications Inc Circle 394 on inquiry card. 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 \ CQtW^ 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. v/ttft iuWsvi' 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™, 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 Third Aue NewYoik.N.Y 10028 Tel: (212) 860-0300 Telex: 640693 (LBS0FT NYK) TWX: 710-581-2524 LIFEBOAT WORLDWIDE offers you the world's largest library of software. Contact your nearest dealer or Lifeboat I Mail coupon to: Lifeboat Associates, ■ 1651 Third Avenue, New York, New York 10028 I or call (212) 860-0300. « o I □ Please- send me a free Lifeboat Catalog. w D Please send me Lifelines subscription information. Lifeboat Inc. OR Bide.. 5F 1-2-8. Shiba-Daimon Minalo-ku. Tokyo 105, Japan Tel: 03-437-3901 Telex: 2423296 (LBJTY0I Lifeboat Associates. Ltd. P0 Box 125 London WC2H 9LU. England Tel: 01-836-9028 Telex: 893709 (LBS0RG) Lifeboat Associates. SARL 10, Grande Roe Charles de Gaulle Lifeboat Associates GmbH Intersoft GmbH P0 Box 168. Aegenstrasse 35 Schlossgartenweg 5 CH 6340 Baai, Switzerland D-80451smanmg. W, Germany 92600 Asnieres, France Tel: 042-31-2931 Tel- 089-966-444 Tel 1-733-03-04 Telex. 865265 (MIC0 CH) Telex 5213643 (IS0FD) Telex: 250303 (PUBLIC X PARIS) lifeboat Associates Software with full support Company- Street boat Associates SUPER- MARKET _Zip_ Li i/eJines is a trademark of Lifelines Publishing Corporation Circle 200 on inquiry card. BYTE October 1981 361 Circle 71 on inquiry card. The J Price Is Nice. '2425. Introductory offer ... ; Basic system with: 600K bytes • 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 Quantity discounts are available. OEM Inquiries are invited. Please contact: Colonial Data Services Corp. 105 Sanford Street, Hamden, Connecticut 06514 (203) 288-2524 Telex: 956014 ,:i CP/M is a registered trademark of Digital Research, Inc. J odd War II rages across Europe.. Castle Wolfenstein is occupied by trie army of the Reich and converted into battle-front headquarters. You have been captured and brought to the Castle for interrogation by the dreaded SS. From a hiding place behind the stones of the dungeon a dying cellmate pro- duces a Mauser M-98 pistol fully loaded with ten bullets and gives it to you. Your new mission: Find the Nazi war plans and escape Castle Wolfenstein alive. Castle Wolfenstein'" is an action adventure game from MUSE demanding fast thinking and quick manual response. Use game pad- 5. joystick, or your computer keyboard . Wolfenstein'" generates an unlimited variety of castle layouts, each more difficult to escape than the last. For the Apple II and Apple II Plus with 48K. S29.95 CEastle ^li jOLFENSTEIiNT by Silas S.Warner MUSE: 330 N CHARLES STREET BALTIMORE. MD 21201 .(301)659-7212 Programming Quickies. Listing 1 continued: PRINTA R=N t IF R>32767 THEN R=-lx<65536-R> POKE R»ASC(A) N=N + 1 GOTO 7040 7075 7080 7090 7100 7110 7111 7112 7113 7114 8000 8010 8020 8030 8040 8050 8060 8070 8080 8090 8100 8110 8120 8130 S140 8150 8160 8170 8180 8190 8200 8210- 8220 8221 8222 8223 8224 Text continued from page 356: Under Level II BASIC, POKE and PEEK first convert their operands to 2-byte signed integers, having a range of —32768 to +32767. Since memory locations can go as high as 65535, this range would be inadequate. The se- quence before the POKEs and PEEKs (such as line 1085 in listing 1) works out the integer value that will properly address the location you desire. If you're operating a 16 K-byte (or less) machine, you can omit these statements. There are no formal exits from the loops in the pro- gram sections, so an intentional error or the BREAK key must be used. Usually this is bad practice, since rerunning the program will lose variables or leave a job half done. In this case, it is acceptable because arguments are not be- ing passed from section to section. Using the Program Before you load this program, set aside some high memory by means of the MEMORY SIZE? parameter; otherwise, you can destroy the program as soon as you POKE anything into memory. PRINT "ASCII PEEK MEMORY INPUT "1 FOR CRT 2 FOR PRINTER" 5 P INPUT " START ADDRESS " ', X* GOSUB 5000 N=X INPUT " ENDING ADDRESS " i X* GOSUB 5000 FI=X FOR N=N TO FI STEP 16 X=N t GOSUB 6000 PRINTX$"=>" ; IF P=2 THEN LPRINTX$"=>"; FORM=0 TO 15 R=N+M : IF R>32767 THEN R=-l*(65536-R) J=PEEK(R) IF J<32 OR J>127 THEN J = 46 PRINT CHR$(J)5" "5 IFP=2 THEN LPRINT CHR4(J)J ; NEXT M PRINT IFP=2THEN LPRINT" " NEXT N inputz$:goto 120 END 362 October 1981 © BYTE Publications Inc Circle 258 on inquiry card. HAYDEN BOOKS PUT THE WORLD OF MICROCOMPUTING AT YOUR FINGERTIPS! PROGMMS on&TRS-80 GUIDE New! WEBSTER'S MICROCOMPUTER BUYER'S GUIDE (Webster) A detailed reference guide useful to both first-time and exper- ienced users. It provides extensive informa- tion on the wide variety of microcomputer systems and suppliers, including new Japanese products. Each microcomputer system description includes a brief over- view, central processing systems, peri- pherals, software, pricing and main office. Business, educational and professional applications of microcomputer systems are detailed. The book is divided into four sections: Microcomputer Theory and Applications; Independent Software Pro- ducts; Microcomputers and Microcomputer Systems; CRT Displays, Printers and Print- ing Terminals. Includes glossary, charts, graphs and illustrations. 5129-8, $25.00 ORDER TODAY! Hayden Book Company, Inc. 50 Essex St.. Rochelle Park, NJ 07662 Please send me the book(s) checked on 15-day FREE examination. At the end of that time, I will send payment, plus postage and handling, or re- turn the book (5) and owe nothing. On all prepaid. Visa or Master Card orders, publisher pays post- age and handling. Residents of NJ and CA must add sales tax. Name of individual ordering must be filled in. Payment must accompany orders from PO Box Numbers. Offer good in US only. □ 0761-2 □ 5162-X D 5183-2 □ 5129-8 □ 5177-8 D 5200-6 □ 5138-7 □ 5178-6 □ 5430-0 □ 5182-4 □ 5767-9 Name. Address _ City / State / Zip B 10/81-009 PROGRAMS FOR BEGINNERS ON THE TRS-80 (Blechman) A valuable book of practical and interesting programs for home use that can be under- stood and used immediately by the begin- ner in personal computer programming. Learn step-by-step how 21 sample TRS-80 programs work. Techniques are described line-by-line within the programs, and a unique Matri-DexTM matrix index enables you to locate other programs using the same BASIC commands and statements. Detailed descriptions, complete listings, explanations of what each program does, and instructions for modifications included. 5182-4, $8.95 PROGRAMMER'S GUIDE TO THE 1802 (With An Assembler For Your Machine) (Swan) The only assembly language primer that has an assembler! Here's a worthwhile text that teaches assembly language for the 1802 microprocessor. Coverage includes every- thing from the binary number system and the fundamentals of machine language, to the development of a working 1802 as- sembler. Simple written in non-technical language, the text is intended for the beginner, but contains information that will be appreciated by experts. 5183-2, $7.95 HOME COMPUTERS CAN MAKE YOU RICH (Weisbecker) For every home computer owner and non- owner interested in spare-time income opportunities. You'll be introduced to the microcomputer industry, types of people involved in it, and how to learn more about this new field. Discusses basic princi- ples of making money, freelance writing, programming, consulting, inventing, in- vesting, and much more. 5177-8, $6.50 PROBLEM-SOLVING PRINCIPLES FOR PROGRAMMERS: Applied Logic, Psychology, and Grit. (Lewis) A valuable test for improving your problem-solving techniques in computer programming. Provides problem-solving background and alternate solutions. Intro- duces basic building blocks of problem solving, independent prescriptions, and remedies for typical programming prob- lems. A special chapter on the top-down approach and a section on debugging included. 5138-7, $9.95 (Special FORTRAN version, 5430-0) (Special BASIC version, 5200-6) (Special PASCAL version, 5767-9) BASIC COMPUTER PROGRAMS IN SCIENCE AND ENGINEERING (Gilder) Save time and money with this collection of 114 ready-to-run BASIC programs for the hobbyist and engineer. There are programs to do such statistical operations as means, standard deviations averages, curve-fitting and interpolation. There are programs that design antennas, filters, attenuators, matching networks, plotting, and histo- gram programs. All programs have been tested and are fairly universal. 0761-2, $9.95 BASIC COMPUTER PROGRAMS FOR BUSINESS: Vols. T & 2 (Sternberg) A must for small businesses using micros as well as entrepreneurs. Each program is document- ed with a description of its functions and operation, a complete listing in BASIC, a symbol table, sample data, and one or more samples. 5162-X, Vol. 1, $9.95 5178-6, Vol. 2, $10.95 Available at your local computer store! For Orders and Inquiries Call Toll Free 800-631-0856 50 Essex Street, Rochelle Park, NJ 07662 BOOk COftip«lfiy, IflC. Circle 166 on inquiry card. Programming Quickies. If you use the program to convert a short routine to decimal so that you can place the converted codes into a data statement of another program, load the system tape containing the data to be converted and use the decimal PEEK function in listing 1. All addresses are given and returned in hexadecimal. If you want the addresses in decimal, replace the GOTO 5000 statements following the address input with: N = VAL (X$) section so that it only prints when the next 3 bytes con- tain the numeric codes for a CALL 0033 Z80 instruction. This approach won't be fast and you'll have a lot of searching to do, but it beats rewriting a routine that's already in the machine. This program was written with the intention of adding and changing the code as special situations arise, so make alterations freely. Perhaps "hex-a-phobia" will be cured in short order! ■ Also, check inside the display loops for similar changes. Memory Manipulator can be used to examine the con- tents of any section of memory. If you have a program in memory that works (ie: you already spent a night de- bugging it), you can use the hexadecimal PEEK function to get a hard copy of the code in memory. (See listing 2.) If you're ever searching for a particular routine in ROM (read-only memory), this function could be equally bene- ficial. To find the subroutine, insert a few lines into the program in listing 1 that will test the contents of the bytes it reads for the machine instruction you are looking for. For example, if you want to find the routine in the Level II BASIC ROM that converts values to strings for display, change the print lines in the hexadecimal PEEK 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. /[FORETHOUGHT '^SPRODUCTS 87070 Dukhobar Road, Eugene, Oregon 97402 (503) 485-8575 Listing 2: Sample outputs of the program in listing 1 showing the contents of memory locations hexadecimal 4A00 to 4AFF. List- ing 2a shows the equivalent ASCII characters. Note that loca- tions which contain codes not associated with printable ASCII characters are displayed as dots (.). Listings 2b and 2c show the decimal and hexadecimal equivalents, respectively. (2a) iaoo=: •= > t * . J , , , M , , 4Aif)=; 1 ) . 7 J . . R , N . M • t 4A20»: R 3 2 7 6 7 , , 4A30*=: •R . 1 , ( 6 5 5 3 6 . R ) , U 4A40»: J ■ , , ■ * * t i t 4A50=!. •< R i . w J , , 4 P . 2 , 4A60 = ► , . " * * 1 • 4A70=. •i . R ) ; , -> J 6 . , H , J iabo=: e . , , J J , , P 2 ■ ia?o=; • J T , . N , . J t . z iaao=:. $ ! 1 2 o . . J h 4abo=: -J r , , . J 5 . iaco=: -J t 4 , , . J U 4AD0=! J V , i , . J , , ; X = iaeo=: ■D E ( y A L U E F X * ( 1AF0=: H E ) ) • . J • • X • K • (2b) 1AD0=^ 61 62 34 59 20 74 14 16 129 32 1A0A='.: 32 77 ; 13 48 32 189 32 49 4B 63 1A11=:: A3 74 24 16 82 213 78 205 77 32 58 ia:le=; 58 1 43 32 32 212 51 50 55 54 55 32 1A28=; 32 I 02 10 32 32 32 32 32 82 213 206 1A32=; 206 49 I 07 40 54 53 53 51 54 206 82 1A3C=; 82 41 85 74 34 16 178 32 191 32 9A16=; 32 34 32 35 35 35 32 34 59 229 40 1A50=; 10 82 41 59 119 74 44 16 143 80 1A5A=; so : 13 50 32 202 32 175 32 191 10 32 4A64=0 32 32 32 32 32 34 32 35 35 35 32 1A6E<: 32 34 59 229 40 82 41 59 126 74 tA78=:: 74 54 16 135 77 132 74 64 16 178 1AB2=; 178 146 74 74 16 143 80 r 13 50 202 4A8C=0 202 1 75 34 32 34 154 74 84 16 135 4A96=0 135 32 78 167 74 94 16 137 90 36 iaao=; 36 58 141 49 50 48 175 74 104 16 4AAA=C 16 58 147 251 183 74 114 16 58 147 iabi=; 147 I 51 191 74 15 16 58 147 251 1A6E=> 1 99 74 116 16 58 147 251 207 74 1AC8=; 74 1 17 16 58 147 251 215 74 118 16 1AD2=? 16 58 147 251 1 45 74 136 19 58 147 4ADC=; 147 I 51 88 61 68 69 67 32 86 65 76 1AE6=; 76 85 69 32 79 70 32 88 36 40 72 4AF0=I 72 69 88 41 253 74 146 19 88 213 (2c) 4A0C = :-3D 3E 22 3B DO 14 4A 0E 10 81 20 4D D5 30 20 BD 1A10 = -2 31 30 00 3F 4A 18 10 52 D5 4E CD 4D 20 3A 8F 4A20 = S20 52 D4 33 32 37 36 37 20 CA OA 20 20 20 20 20 1A30 = :>52 D5 CE 31 CF 28 36 35 35 33 36 CE 52 29 00 55 4A40 = >4A 22 10 B2 20 BF 20 22 20 23 23 23 20 2? 3E: E5 1A50 = >2B 52 29 3B 00 77 4A 2C 10 BF 50 D5 32 2 CA 20 4A60= = AF 20 BF 0A 20 20 20 20 20 22 20 23 23 23 20 ■in 4A70 = :>3E E5 28 52 29 3B 7E 4A 36 10 87 4D 00 84 4A 1A80 = :>40 10 B2 92 4A 4A 10 BF 50 D5 32 CA AF 22 20 4A90 = 1 22 9A 4A 54 10 87 20 4E 00 A7 4A 5E 10 89 5A 'IAA0 = = 24 3A 8D 31 32 30 00 AF 4A 68 10 3A 93 FB 00 B7 4AB0 = >4A 72 10 3A 93 FB BF 4A 73 10 3A 93 FB 00 C7 4AC0 = •4A 74 10 3A 93 FB CF 4A 75 10 3A 93 FB 00 07 4AD0^ ■4A 76 10 3A 93 FB F5 4A 88 13 3A 93 FB 58 3D 4AE0 = '44 45 43 20 56 41 4C 55 45 20 4F 46 20 58 24 28 4AF0 = >48 45 58 29 00 FD 4A 92 13 58 D5 30 00 12 4E 97 364 October 1981 © BYTE Publications Inc Circle 153 on inquiry card. UJlsUL A POWERFUL NEW DIRECTION IN MICROCOMPUTER PROGRAMMING After many years of extensive research and development comes LOGO, a powerful new programming language designed to put control of the microcomputer back into the hands of the programmer. Now children and adults alike can embark on a voyage of self-discovery as they teach the computer to think (not vice versa). Working in the LOGO environment can inspire the programmer to "think about thinking" and, in effect, become the architect of their own learning experience. Simply stated, LOGO represents a giant step forward in the world of microcomputer programming. LOGO Computer Systems Inc. is a new company which has been formed to develop and distribute LOGO software, hardware, written material and training services. For more information, contact your local computer dealer or write to us directly. computer i^/ systems inc. 150 Montarville Blvd. Suite 200 Boucherville, Quebec Canada J4B 6N1 (514) 641-0966 368 Congress St. Boston, Mass. U.S.A. 02210 (617) 451-2646 Circle 203 on inquiry card. BYTE October 1981 365 Technical Forum Use a Relative Subroutine Call for Relocatable Z80 Programs George S Losey Hawaii Institute of Marine Biology POB 1346 University of Hawaii at Manoa, Coconut Island Kaneohe HI 96744 Zilog's Z80 microprocessor has many improvements over its predecessor, the Intel 8080A microprocessor. One nagging difficulty, however, is the lack of higher- level languages that take full advantage of the Z80 opera- tion codes. If you want complete control of its capabil- ities, assembly-language or machine-executable object- code programming is a must. P&T CP/M®2 Supports Hard Disk Storage for the TRS-80 Model II P&T CP/M 2 now supports two popular hard disk subsystems for the Mod II; thus you can combine all the features of the best CP/M for the Mod II with the speed and capacity of the hard disk drives. Cameo Electronics • uses mature cartridge disk technology for maximum reliability • supports up to 4 drives • removable cartridges make backup and data transfer fast and easy Corvus System • support for 10 and 20 Mbyte drives • special mirror utility allows backup by logical drive • supports up to 4 drives Price: $250(FOBGoleta) for P&TCP/M2-hard disk version (CA residents add 6% sales tax) m TROUl P.O.BOX 1206. GOLETA.CA 93116. (805)685-4641 PICKLES & TROUT CP/M js a registered trademark ol Digiial Research TRS-80 is a trademark ol Tandy Corn In machine language, there are methods of writing re- locatable programs that use a patched routine for ac- complishing calls to subroutines. These methods are valuable for fast interrupt servicing and similar applica- tions, especially when programs are in modular form but not residing in specific memory locations. Although the Z80's operation-code set is well suited to my needs, I grew frustrated when I found more and more applications for my microcomputer. Suddenly, the EPROM- (erasable programmable read-only memory) based program residing at hexadecimal addresses E400 through E5FF had to be moved to E800 through E9FF. All would have been well if the EPROM's software had used the six relative-jump operation codes. The program was relocatable, however, because it didn't contain any references to specific (absolute) addresses. Many programs can be written without using jump and call instructions that cannot be relocated. However, if many portions of your program demand the use of a similar set of instructions, such as querying an output device or performing arithmetic manipulation, the head- aches begin. Such programs should usually be written in a modular form with a main program that jumps back and forth to frequently used subroutines. Modular programs use call instructions to access the subroutines. Since the call instruction contains the ab- solute address of the subroutine (using immediate exter- nal addressing), the code is not relocatable without changing all of the subroutine-call addresses. The general philosophy of modular programming with a main pro- gram that calls a variety of subroutines is certainly sound. (See the article by James Lewis, "Some Notes on Modular Assembly Programming," December 1979 BYTE, page 222.) A glance at the operation-code listings for powerful software such as the Cromemco Resident Monitor reveals a bewildering jungle of subroutine calls that pack an impressive set of capabilities into a 1 K-byte chip. But if you decide to locate this monitor anywhere 366 October 1981 © BYTE Publications Inc Circle 298 on inquiry card. COMPUTERS-TERMINALS-MODEMS! MODEMS AND COUPLERS Connect your Apple, TRS-80 or any other computer or terminal to the phone fines! Penril Penril 300/1200 Penril 300/1200— Bell 212A style $799 Bell 21 2A style. 1 200 baud and 300 baud. Manual origi- nate, auto-answer. Full duplex. RS232. Direct connect to phone lines via RJ11C standard extension phone voice jack. 1 year warranty. U.S. Robotics USR-330A Bell 103/113 style USR-330D Bell 103/113 style USR-330D $339 Bell 103113 style. 330 baud. Manual originate, auto- answer. Half full duplex. RS232. 1 year warranty. Direct connect to phone lines via RJ11C standard extension phone voice jack. USR-330A $399 Same as USR-330D but includes auto-dial capability. U.S. Robotics The Phone Link Acoustic Modem Bell 103/113 style $179 300 baud. Sleek, low profile. Originate and answercap- ability. Halffull duplex. Self-test. RS232. Light displays for On, Carrier, Test, Send Data, Receive Data. 15 oz. Perkin-Elmer Corporation Bantam 550B .... $643 1 Compact. Silent. Upper/lower | case. 80th col. wrap-around. Bell. Integrated numeric pad. Printer port. Transparent mode. Editing features. Tabbing. Bantam 550E... $729 1 Same as 550B plus separate numeric key- pad and cursor direction I keys. Bantam 550S $849 Same as 550E plus block mode. 8 function keys, and protected fields, reverse video fields, half intensity fields, blinking fields. 550 Options 20mA Current Loop Interface $70 Non-Glare Screen $25 2nd page of memory (550S only).. $100 Digital Equipment Corporation DEC VT100 DEC VT100...$ 1499 Detachable keyboard. Separate numeric keypad with function keys. Business forms character set. Reverse video. Selectable double-size characters. Bidirectional smooth-scrolling. 80 cols or 132 cols. Split screen. Sel- lable tabs. Line drawing graphic characters. Status line. Key-Click. HARDCOPY TERMINALS Teletype Model 43 CRT's Perkin-Elmer Corporation Superowl 1251 Perkin-Elmer Superowl 1251 $1499 Intelligent, editing CRT. Detachable keyboard. 32 fully programmable function keys. Intelligent printer part. Business forms character set. Block mode. Protected fields. Blinking fields. Numeric fields. Reverse video. Half intensity. Polling. Down line loading of options. Re- mote control of all options by host computer. Settable tabs. Status line. Separate numeric keypad. Transpar- ent mode. Teletype Corporation Teletype Model 43 KSR with RS232 and Connector Cable $999 30 CPS. Dot matrix. 1 32 cols. True descenders on lower case. Excellent print quality for dot matrix printer. Pin feed. NEC Corporation NEC Spinwriter 5510 & 5520 5520 KSR Spinwriter $2986 55 CPS. Impact printer. Selectric print quality. Change- able print fonts. 110. 300 and 1200 baud data rate. Nu- meric keypad. Friction and tractor feed. 5510 Spinwriter $2645 55 CPS. Impact printer. Selectric print quality. Change- able print fonts. 1 1 0, 300 and 1 200 baud data rate. Fric- tion and tractor feed. & PRINTERS DEC LA120 Digital Equipment Corporation DECLA120... $2169 1 80 CPS. Dot matrix. Upper/lower case. 1 K buffer. De- signed for 1200 baud communications. 30 character answerback message. Adjustable line spacing. Adjus- table character sizes including double sized characters. Settable horizontal and vertical tabs. Top-of-form capa- bility. RS232. Perkin-Elmer Corporation Pussycat 650/655 CRT Screen Printer 650/655 Pussycat CRT Screen Printer . $869 100 CPS. Extremely compact and quiet. 110 to 9600 baud rate. 2K buffer. Ideal for producing rapid, reliable hardcopy of your CRT screen display. Can be added to any CRT with our interface option. *0*# Digital Equipment Corp. DECLA34DA... $899 30 CPS. Dot matrix. Upper'lower case. 4 character sizes. Up to 217 cols per line. 6 lines per inch settings. Friction feed. Settable tabs. RS232. DECLA34AA $979 30 CPS. Dot matrix. Upper/lower case. 8 character sizes including double size characters. 6 lines per inch settings. Up to 217 cols per line. Friction feed. Settable horizontal and vertical tabs. Top-of-form capability. Options for LA34AA and LA34DA Tractor Feed Mechanism $89 Numeric Keypad w/ Function Keys . . $69 Pedestal $100 Paper Out Sensor $25 APL Capability with APL Keycaps .. $499 2K Buffer with Text Editor and 1200 Baud Communications Capability $499 m Leasing rates and lease/purchase plan information is 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 equipment in stock U.S. ROBOTICS ^03N. WABASH SUITE I7IB CHICAGO. ILL B0601 Circle 376 on inquiry card. SALES GENERAL OFFICES SERVICE C3IS) 346-5650 C312) 346-565I C31S3 733-0-437 Circle 370 on inquiry card. TERMINALS FROM TRANSNET PURCHASE PLAN • 12-24 MONTH FULL OWNERSHIP PLAN • 36 MONTH LEASE PLAN PURCHASE PER MONTH DESCRIPTION PRICE 12MDS 2i MOS 36 MOS LA36 DECwriter II S1.095 S105 S 58 S 40 LA34 DECwriter 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.595 153 85 58 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.895 182 102 69 TI820 KSR Printer 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 875 84 47 32 ADM31CRT Terminal 1,450 139 78 53 ADM42 CRT Terminal 2.195 211 117 79 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 Quality, 55 15 RO 2.895 278 154 104 Letter Duality. 55 25 KSR 3.295 316 175 119 _ Letter Quality KSR, 55 CPS .. . 3.395 326 181 123 ■ Letter Quality RO. 55 CPS ... . 2.895 278 154 104 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 1 1 ACCESSORIES AND PERIPHERAL EQUIPMENT ACOUSTIC COUPLERS • MODEMS * THERMAL PAPER • RIBBONS • INTERFACE MODULES • FLOPPY DISK UNITS R A NSi\E T corporation 1945 ROUTE 22 • UNION, N.J. 07083 • (201) 688-7800 TWX 710-985-5485 DEC TEXAS INSTRUMENTS DATAMEDIA LEAR SIEGLER HAZELTINE TELEVIDEO NEC SPINWRITER CENTRONICS SAVE SALE SAVE SALE SAVE SALE SAVE TRS-80 COMPUTERS , , i It*"** I « • i «*"*■ 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 Technical Forum. except the intended address range of hexadecimal EOOO through E3FF, sharpen your wits and your pencil, and best of luck to you. There are more than just a few immediate-external address references to change. To explore this dilemma further, it is important to understand three basic differences between a relative jump and a call in the Z80 instruction set. First, the relative jump is a 2-byte instruction that requires from seven to twelve external clock cycles for fetching and ex- ecution, while the call instruction demands 3 bytes and ten to seventeen clock cycles. (Score a few points for the relative jump for saving 1 byte of programming space and 1 to 2 microseconds, at 4 MHz.) Second, the relative jump leaps to the same point in the program regardless of where the program resides in memory, because the jump is made relative to the current value of the program counter. In contrast, the call in- struction includes a 2-byte address for the jump destina- tion, which will obviously be wrong if the program is moved to another region of memory. Whenever the pro- gram is moved, the 2-byte address must be changed. (Score a pile of points for the relative jump.) Third, alas, the ignorant subroutine that is accessed via a relative jump has no idea how to return to the proper location if it is accessed from more than one place in the main program. The call instruction includes an "in- telligent return" that lets the subroutine jump right back to the next instruction following the call. (Don't despair, save those relative-jump points for later.) Dennis Kitsz suggested a simple solution to this prob- lem that is fast and requires only a few bytes more than a standard subroutine. (See "Relative Subroutines for the Z80," December 1979 BYTE, page 87.) The only restric- tions to its use are that the program cannot reside in ROM (read-only memory), and each time the program is moved, a single 2-byte address in the program must be changed. [Also, most programmers prefer to avoid self- modifying code. . . . RSS] However, besides the restric- tion to programmable memory, an error in the calcula- tion of the 2-byte address can destroy the program. There is another method, which I'll explain shortly, that is more complex but works in ROM and needs no changes when the program is moved. The intelligent return is allowed because the call in- struction accomplishes one task that cannot be ac- complished by any of the other Z80 operation codes: a subroutine call pushes the value of the program counter onto the stack while the return from the subroutine pops it back. The program counter is, of course, the register that tells the Z80 the address for the next instruction to be fetched. If only you could take a peek or push at the pro- gram counter before executing a relative jump, the relative call would be born. A relative-called subroutine could make an intelligent return to the main program, and the modular program would have relocatable code. Unfortunately, for some undoubtedly sound reason, one 368 October 1981 © BYTE Publications Inc Circle 320 on inquiry card. cannot directly push from, pop to, or otherwise gain direct access to the program counter in the Z80 microprocessor. If you can stand a few sacrifices, I found that the Z80 can be coerced to make a relative call. First, the fastest and most direct method for implementing a relative call demands that 5 bytes of page-zero programmable memory, beginning at one of the eight restart locations accessed with the Z80's RST instruction (hexadecimal 0000, 0008, 0010, 0018, 0020, 0028, 0030, or 0038), be available for storage of a routine that gains access to the program counter. Second, each relative call must have a 3-byte instruction code, while the actual fetching and ex- ecution of the call will require seventy-one to seventy-six external clock cycles. This means that, at a 4 MHz clock rate, a relative call will take around 15 microseconds longer than a normal subroutine call. Third, return from the subroutine must be unconditional, but it will require only four external clock cycles instead of the ten required to return from a normal call. Fourth, the HL register pair must be available for use during the relative call to the subroutine. The trick is to use the single-byte RST (restart) instruc- tion as the call instruction. A restart forces a jump to a 5-byte routine in page zero of memory, and pushes the program counter onto the stack where it is accessible. While you have the program counter's contents cornered on the stack, the 5 bytes of instructions in page zero are used to copy it into an accessible register pair and incre- ment it to point to the instruction immediately following the relative call. You then return from page zero to the main program and execute the relative call. "Intelligent return" from the subroutine is accomplished by a jump to the address indicated by the register pair in which you stored the value of the program counter at the time the RST was encountered. A simple example is given in listing 1. The 5-byte routine is stored in page zero from hexadecimal 0008 to 000C. The relocatable program code is located in a space around address hexadecimal 0F00. The HL register pair is used to store the return address for the relative call. The first relative call begins at hexadecimal 0F00 with an RST 8 instruction, which pushes the program counter onto the stack and jumps to hexadecimal 0008. The stored value of the program counter (hexadecimal 0F01) is copied into HL with the pop- and push-stack opera- tions. It is then incremented to point to the instruction following the relative call (hexadecimal 0F03). Execution returns to the relative jump at hexadecimal 0F01. A relative jump is made to the subroutine at location 0F50. At the end of the subroutine, an "intelligent return" is made to location 0F03 by jumping to the address con- tained in register HL (JP (HL), a register-indirect jump). When the same subroutine is relative-called by the in- structions at addresses hexadecimal 0F20 through 0F22, the same sequence occurs except that the address register, 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 NO modifications to the typewriter. For additional information contact: CALIFORNIA MICRO COMPUTER 9323 Warbler Ave., Fountain Valley, CA. 92708 (714)968-0890 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 I powerful techniques from research labs. The H face of the world is changing. Join us as we enter the Robotics Age. YES! I want to stay up-to-date on this fascinating ?| new technology! Company City Slale/Providence/Country United Postal Code Canada Foreign States $15 $28 $39 *US Funds on US Bank □ Bill VISA □ MasterCard □ Bill me (N. America only) □ 1 year (6 issues) D 2 years (12 issues) □ 3 years (18 issues) Mexico* $17 $32 $45 Rates* $19 $36 $51 Exp. Signature Send to: ROSOCIOdGE PO Box 512, Tujunga, CA 91042 Circle 324 on Inquiry card. October 1981 © BYTE Publications Inc 369 Te< HL, will contain a different return address, 0F23. The same instruction at the end of the subroutine returns to the main program at 0F23. The simplest method of creating the relative call is to store the 5-byte routine in page zero by using a 17-byte initialization routine, shown here as listing 2, at the beginning of the main program. It only needs to be ex- ecuted once, so long as you do not overwrite its storage area. There are many variations on this theme. Most notably, any of the conditional relative jumps may be used, including the Z80's loop-implementing jump in- struction, DJNZ. More important, some systems may re- quire modification of the basic technique. For example, if the HL register is busy or must be used to pass informa- tion to the subroutine, the 3-byte relative-call instruction could be expanded to 5 bytes by adding the EXX instruc- tion (register-set exchange, Z80 op code D9) before and after the RST 8 instruction, and before the intelligent return instruction (JP (HL), Z80 op code E9) in the subroutine, and after the relative-jump portion of the relative call. The relative-call sequence in listing 1, for ex- ample, would become 3 bytes longer (D9 CF D9 18 4D D9) while the return from the relative call would become 1 byte longer (D9 E9). Note that if this technique is used for any relative call to a subroutine, it must be used for all relative calls to that subroutine, since the subroutine now contains a register-exchange instruction. If the complementary sets of registers, HL and HL', are both unavailable, as in an interrupt-servicing program, the IX or the IY index registers could be used. However, incrementing, pushing, and popping these registers re- quires still more bytes of instructions and more time to execute. Another interesting possibility exists if you are unable to use page-zero programmable memory. You could, of course, replace the RST instruction with a 3-byte call in- struction to some other idle memory location. But idle locations have a habit of not remaining idle as your ap- plications evolve. However, if you already have a non- relocatable ROM program, such as a resident monitor, it may be possible to find a 5-byte space that you can steal as a permanent storage location for the 5 bytes formerly placed in page zero. You then have the program merely execute a 3-byte call instruction to that address rather than execute the 1-byte RST instruction. Listing 1: Sample implementation of the relative-call (relocatable-subroutine call) function on a Z80-based system. Instead of using the normal subroutine-call instruction, subroutines are accessed with a RST (reset) and a relative jump. The RST calls a routine in low memory that sets up the return address by placing the proper return address in the HL register pair. This initialization routine then returns to the relative-jump instruction immediately following the RST. The RST jumps to the actual subroutine being called. At the end of each subroutine, a normal return is emulated with a jump to the address contained in the HL register. Hexadecimal Address Object Code Instruction Mnemonic N ( '0008 0009 000A E1 E5 23 POPHL PUSH HL INC HL m (0 0. 000B . oooc 23 C9 INC HL RET Comment ; copy PC (program counter) into HL ; increment HL to point to subroutine return address ; return to the relative call r 0F00 CF RST 8 0F01 18 4D JR +4D E 0F03 (sequence of instructions) E Prog ra c CO 0F2O CF RST 8 O 2 0F21 18 2D JR +2D a. 0F23 (sequence of instructions) 5 seed=last=99 range=big-littLe+1 Last=Last*seed i f ( last<0) Last=- last eturn Li tt Le+ ( las t /8 ) /{range J int shuf int uh car fie tern ile i = t em wli i if ( dsC51 ) Hint current;current=0 P,i (current<52)C p= random (0,51 ) le Ci.te»t 29 32 -45 21 51 10 12 24 39 25 22 SO 30 1 19 46 44 37 20 26 IB 2EI 34 7 3 49 42 27 14 35 13 4 41 & 31 43 23 3S 33 40 36 48 8 5 2 1(5 9 11 17 ■17 15 all done! thought of as a library function, I decided to include it in the program. The next seventeen lines are the "shuffle" routine. Finally, the last ten lines (starting with "test[") are the main program that calls "shuffle" and prints the result. It was easy to go from the design to the actual tiny-c program. It took ten minutes to code the program and another fifteen minutes to enter it and get it running. My biggest problem with tiny-c is remembering that = = is the relational operator for equality. That mistake cost me a few minutes of debugging time. Pascal Coding Listings 3 and 4 show the Pascal program and its execu- tion. Pascal does not have a built-in random-number gen- erator. I borrowed ideas from the sample programs that come with the Lucidata Pascal compiler to code the func- tion RANDOM in listing 3. The only difficult part of the Listing 3: The card-shuffling routine coded in Lucidata Pascal. An explicit random-number-generating function is used here, as in tiny-c. PASC D 4 4 4 AL P PROG VAR CA I SE PROC VA COMPILER < VERSION 2 ) : COPYRIGHT C 1980 D.R.GIBBY RAM TEST;<* Shuffle cards and print result *) 12 32 52 64 76 100 104 108 116 116 124 144 196 2 08 224 236 236 248 252 256 264 268 288 304 324 344 348 368 RDS : : INT ED : EDURE R CURRE NCTI0 VAR RAN BEGIN IF( RAN SEE SEE RAN END; GIN CURRE REPEA II" TEW WHI IF C C END UNTIL ARRAYC1. ".52: OF INTEGER; EGER; INTEGER; SHUFFLE; NT, TEMP, I : INTEGER; N RAND0M(LITTLE,BIG : INTEGER) : INTEGER; GE INTEGER; SEED=0) THEN SEED:=99; GE :=BIG-LITTLE+1; I) :=SEED*31 ; D:=SEED MOD 1009; D0M:=LITTLE+S6ED MOD RANGE; NT:=1 ; T 1 ; P :=RAND0M(1 ,52); LE < ( CAR0SCITOTEMP) AND (I=CURRENT) THEN BEGIN ARDSCCURRENT1 :=TEMP; URRENT :=CURRENT+1 ; (CURRENT=53); CKCUKRENT)) DO I : « I + 1 ! END BEGI SE SH FO N C* MAIN PGM *) ED:=0; UFFLE; R I :=1 TO 52 DO BEGIN WHITE (CARDSCI1); IF ((I MOO 10)=0) THEN WRITELN; ' .in MICRO BUSINESS ASSOCIATES. INC. 500 SECOND STREET SAN FRANCISCO CA 94107 415-957-9195 Circle 211 on inquiry card. Circle 221 on inquiry card. October 1981 © BYTE Publications Inc 373 Circle 246 on inquiry card. DECLSMl Components Dependable service at discount prices Domestic jBSSj] and Export mini I *"l A A . . * a j> n " * W ^B J vv V V v v v v U Computer Suppliers, inc. 25 Chatham Rd., Summit, N.J. 07901 Since 1973 (201) 277-6150 Telex 13-6476 ©Mini Computer Suppliers, Inc. 1979 Professional Graphics System HEWLETT PACKARD System includes: HP-85A Computer List '3250 Graphic Tablet 91 1 1 A List *2050 Graphic Plotter 7225B List *2450 Personality Module Opt. 085 List * 750 HP-IB 82937A List * 395 ROM Drawer 82936A List * 45 Printer/Plotter ROM #85-15002 List * 145 Total List Price *9085 SAVE *1086 Now Only $ 7999 HP-83 Desktop Computer Only *1650 Introducing HP's New Graphic Printer Only s 995 FARNSWORTH COMPUTER CENTER 1891 N. Famsworth Ave. (of the e -w Toiiwoy) Aurora, II. 60505 Ph. (312) 851-3888 WEEKDAYS 10-8: SAT. 10-5 Listing 4: Sample execution of the Pascal program of listing 3. +++RUN* SHUFFLE F'-6a00 RUN-TIME SYSTEM V 1 . 2 USABLE CONTIGUOUS MEMORY $8000 DEFAULT STACK RESERVATION $1000 CHANGE VALUE T ! COPYRIGHT C 1978 LUCIDATA 43 34 3 11 30 52 1 8 17 45 31 15 27 4 36 33 23 12 25 22 21 7 51 37 44 18 26 10 38 41 5 32 2 6 42 9 46 24 13 40 2? 39 47 14 23 16 50 48 49 20 3S 19 ALL DONE END OF 1 ROGI AM EXE CUTION. +++ conversion from tiny-c to Pascal was deciding how to do the equivalent operation of the tiny-c "break" keyword. ("Break" signifies that the innermost "while" loop is to be terminated immediately.) This was implemented in Pascal as part of the WHILE condition. The development and testing of the Pascal program took about one hour, plus the time necessary to develop the RANDOM function. Much of this time was attribut- able to Pascal's being a compiled language. This made it necessary for me to use a text editor separate from the language system to make program changes. The biggest problem I have with Pascal's grammar is remembering that : = is the assignment operator. BASIC Coding Finally, listings 5 and 6 are the BASIC version of the shuffling program and the execution results. BASIC had the advantage of its built-in random-number function, Listing 5: The card-shuffling routine coded in TSC BASIC. The built-in RND random-number function is used. 5 a I w C ( 5 1 ) 100 GUSUB 1000 200 F0K 1=0 TO 51 210 PRINT C < I ) ; 220 IF INT((I+1 ) /10)=CI+1 )/10 THEN PRINT 230 NEXT I 240 PRINT 250 PRINT "ALL DONE!" 300 END 1000 J=0 1010 T=INT(RND(0>*52) 1020 IF J=0 THEN 1060 1030 FOR 1=0 TO J-1 1040 IF C(I)=T THEN 1010 1050 NEXT I 1 060 C < J ) = T 1070 J =J +1 1080 IF J<52 THEN 1010 1090 RETURN Listing 6: Sample execution of the BASIC program of listing 5. READY RUN 27 31 26 48 9 36 15 2 17 40 49 39 29 51 1 3 30 6 44 50 5 35 20 18 19 46 28 37 10 24 16 4 14 47 25 7 8 12 42 38 22 34 21 23 13 11 45 43 41 32 33 ALL DONE! 374 October 1981 © BYTE Publications Inc Circle 151 on inquiry card. which made the program appear much smaller and helped out the execution time. The first part of the pro- gram is the main routine. Lines 1000 through 1090 are the shuffling subroutine. It took thirty minutes to develop and test this program. The hardest part was converting the hierarchical structure of the shuffling subroutine into the available control structures of BASIC. This resulted in a FOR... NEXT loop and three IF statements. Table 1 shows the execution times of each of these pro- grams on a Southwest Technical Products Corporation 6800 system with a 1 MHz system clock rate. Note that Pascal is compiled, with the compilation process taking about thirty seconds. Table 2 shows the vendors for the three language systems. Conclusions Tiny-c is an easy-to-work-with language that supports structured programming. The source-code interpreter is extremely slow compared with a fast BASIC interpreter, but offers features such as long variable names and struc- tured constructs. These capabilities make debugging easy. Also, tiny-c is easy to learn. A tiny-c interpreter for program development and a compiler for generating pro- duction programs would be an effective combination. Pascal offers the structured constructs of tiny-c and much more. The execution speed of a compiled Pascal program is fast. The price you pay for this is a com- plicated language that is considered by many to be dif- ficult for a beginner to learn. The complexity of Pascal makes availability of a source-code interpreter unlikely (although a source-code interpreter for a subset of Pascal is certainly possible). The complexity of full Pascal in- creases development time, but once created, a Pascal pro- gram is efficient and relatively easy to understand. BASIC offers what initially appears to be the shortest program. However, on closer inspection of the tiny-c program, I found the following. If you were to remove Language Execution Time Tiny-c Version 1.1 160 seconds Lucidata Pascal Version 2.2 16 seconds TSC Extended BASIC 23 seconds Table 1: Comparison of execution times for the card- shuffl ng routine coded in i-hree high-level languages. Language System Vendor Pascal Lucidata Ltd, POB 128, Cambridge, CB2 5EZ, England Tiny-c Tiny-c Associates, POB 269, Holmdel NJ 07733 BASIC TSC (Technical Systems Consultants), POB 2570, West Lafayette IN 47906 Table 2: Companies selling the three language systems com- pared here. the random-number function from the tiny-c program (and put it in the tiny-c function library) and move all the compound statement-delimiter brackets to the same lines as their preceding statements, the tiny-c and BASIC pro- grams would have the same number of lines. The main problems with BASIC (at least of most dialects) are its lack of long variable names and hierarchical control con- structs. These two deficiencies make the BASIC program difficult to understand. In spite of the individual problems with these lan- guages, each has its place. I hope that I have helped you select the language that best fits your needs. ■ BYTEs Bits Scholarship Competition Under Way The fourth annual Interna- tional Computer Programs (ICP) Scholarship award competition for college and university computer science and computer technology students is under way. The ICP award covers one year's tuition plus expenses to an American college or univer- sity of the winner's choice, up to a maximum of $5000. Selection of the award is based on the student's cumu- lative grade-point average in his or her field of study, over- all grade-point average, need for financial aid, participa- tion in data processing- and school-related activities, leadership ability, and ac- complishments and awards. Also, finalists will be asked to submit a written essay. Applications for the com- petition are available at most financial aid departments. To qualify, applicants must be either sophomores or juniors pursuing an undergraduate degree and matriculated in a computer science or technol- ogy program at an American college or university. Dead- line for filing applications is November 15, 1981. For more information, con- tact Sheila Cunningham, Scholarship Director, ICP, 9000 Keystone Crossing, In- dianapolis IN 46240, (317) 844-7461. Literary Text Project The Literary Text Project is a nonprofit, voluntary effort by a group of scholars to establish a computerized sys- tem of custom publishing works of English literature. The scholars perceived that conventional publishers were not keeping in print low-cost selections of many poems written from 1660 to 1800, so they created a data base con- taining the text of poems. Users can order from a catalog printed copies of any poem in the data base, or any selection of several poems, thus creating a customized anthology. As of April 1981, 150 titles by major and minor poets were available through the system. The works of Alex- ander Pope and William Blake are excluded from the list because of their wide availability. Plans are under way to expand the collection and the project into other kinds of literature and other fields. Voluntary editorial efforts, advice, and inquiries are solicited. Contact Literary Text Project, c/o Dr Stephen Ackerman, 136 North Caro- lina Ave SE, Washington DC 20003. ■ October 1981 © BYTE Publications Inc 375 Programming Quickies A Fast, Ancient Method for Multiplication Jostein Nyberg Odv Solbergsv 100 Oslo 9, Norway There are several ancient algorithms that adapt sur- prisingly well to the computer. One such example is the "Russian Peasant Method" for multiplication, which was discovered by Western visitors to Russia in the nineteenth century. However, the method is actually much older than that. It was used by Egyptian mathematicians as early as 1800 BC, although it was not stated as a com- pletely systematic algorithm. To explain this method, let A and B denote two numbers. A can be any number, while B must be a non- negative integer. The problem is to calculate their prod- uct P. The method is: 1. Let P = 2. If B is odd, let P - P + A 3. Let A = A + A 4. Let B = integer part of B/2 5. If B is nonzero, repeat from step 2; otherwise the algo- rithm terminates. An example will clarify how this works. Here are suc- cessive values of A and B, when their initial values are 175 and 18: A: 175 350 700 1400 2800 5600 B: 18 9 4 2 1 Adding those As for which the corresponding Bs are odd, we have: P = 350 + 2800 = 3150 which is the required result of 175 times 18. You may wish to try more examples to convince yourself that this procedure works correctly. Notice that if A and B are unsigned integers expressed in binary, the doubling of A in step 3 can be performed by a left shift of A. Finding the integer part of B/2 in step 4 corresponds to a right shift of B. Furthermore, the B in step 2 is odd if its least-significant bit is 1. Listing 1 shows a relocatable subroutine written in 6502 assembly language; also included is the hexadecimal object code. When the subroutine is entered, it is assumed that the low- and high-order bytes of A are found at memory locations 0000 and 0001 (hexadecimal), respec- tively. The low- and high-order bytes of B are found at locations 0002 and 0003, respectively. When the end of the subroutine is reached, locations 0004 and 0005 will contain the product P. If needed, the routine can be made shorter and faster by using the index registers (X and Y) for the product, instead of memory locations. It is assumed here that P does not exceed 16 bits. If three or four bytes are required, it's relatively easy to ex- pand the subroutine. Multiplication routines similar to the one in listing 1 are found in arithmetic software and are coded in various languages. This does not mean that the routines' inven- tors were intentionally using the Russian Peasant Method. Probably, they were just imitating the familiar pencil-and-paper method for multiplication. As a matter of fact, when the numbers involved are binary and the algorithms are executed using the same instruction set, these two methods are identical. A multiplication routine that looks slightly different, listing lb, is often shown in microprocessor and micro- computer manuals. As a rule, this method should not be used. The loop starting at HALF is always entered sixteen times. Thus, the looping can continue to no purpose after B reaches 0. The Russian Peasant Method can be modified to per- 376 October 1981 © BYTE Publications Inc Circle 125 on inquiry card. form exponentiation. By setting P equal to 1 in step 1 and changing the addition in steps 2 and 3 to multiplication, the resulting value of P will be A raised to the power of B. Of course, steps 2 and 3 now assume that a multiplication routine is available. This method for exponentiation was stated by a Persian mathematician in the year 1414. ■ Reference 1 . Knuth, D E. The Art of Computer Programming, Vol 2. Reading MA: Addison-Wesley, 1969. Pages 399 and 400 . Listing 1: Relocatable subroutines for fast integer arithmetic on the MOS Technology 6502 microprocessor. Listing la shows a machine-language routine for multiplication by the Russian Pea- sant Method; listing lb gives a version seen frequently in text- books. (la) Object Code Label Mnemonic A9 00 MULT LDA #0 85 04 STA PLOW 85 05 STA PHIGH 46 03 HALF LSR BHIGH 66 02 ROR BLOW 90 0D BCC DOUBLE 18 CLC A5 04 LDA PLOW 65 00 ADC ALOW 85 04 STA PLOW AS OS LDA PHIGH 65 01 ADC AHIGH 85 05 STA PHIGH 06 00 DOUBLE ASL ALOW 26 01 ROL AHIGH A5 02 LDA BLOW 05 03 ORA BHIGH DO E3 BNE HALF 60 RTS (lb) Object Coda Label Mnemonic A9 00 MULT LDA #0 85 04 STA PLOW 85 05 STA PHIGH A2 10 LDX #$10 46 03 HALF LSR BHIGH 66 02 ROR BLOW 90 0D BCC DOUBLE 18 CLC AS 04 LDA PLOW 65 00 ADC ALOW 85 04 STA PLOW A5 05 LDA PHIGH 65 01 ADC AHIGH 85 05 STA PHIGH 06 00 DOUBLE ASL ALOW 26 0.1 ROL AHIGH CA DEX DO E6 BNE HALF 60 RTS SSS? SOFTWARE Software is the key to using your computer's power. Our CP/M® Compatible Software Catalog is your single source for locating your micro- computer software solutions. We're Digital Research, and our CP/M operating system is used by over 200,000 microcomputer owners. Our catalog lists over 100 domestic and foreign companies with software for commerce, indus- try, government, the professions and specialty applications. Send this coupon and $5 to: Digital Research, P.O. Box 579H, Pacific Grove, CA 93950. (Calif, residents add 30

Omnitec's Model 9143AD Modem Card installs simply and quickly to most Model 43 Teletype Terminals, converting them to a Full Communications terminal. This new Direct Connect, Auto-Answer Modem has all of the most desired features — • 300 Baud Rate. • Automatic Voice to Data Transfer. • FCC Registered Connection to Switched Telephone Network. • Automatic Disconnect in both Originate and Auto-Answer Modes. • Bell 100 Series and 21 2A Low-Speed Compatibility. $195 - TO ORDER CALL 800-528-8423 ® STAND ALONE UNIT AVAILABLE SOON! OMNITEC DATA New Dimensions in Modems 2405 South 20th Street • Phoenix, Arizona 85034 Circle 278 on Inquiry card. October 1981 © BYTE Publications Inc 377 Hardware Review Integral Data's Paper Tiger 460 Eliakim Willner, datatronics inc, 675 Third Ave, New York NY 10017 Until very recently, a prospective purchaser of a com- puter printer had to choose between letter quality and speed. The letter-quality printers, which most often use daisy-wheels to produce fully formed characters, are too slow for typical data-processing applications. Faster printers usually employ a dot-matrix print head that pro- duces readable, but not letter-quality, type. A new breed of printer on the market today shows refinements in dot-matrix technology, producing type that approaches letter quality without sacrificing speed. Integral Data Systems' 460, the "Paper Tiger," is a worthy representative of this new breed. With minor ex- ceptions, the IDS 460 has every feature that a hobbyist or small-business user could reasonably expect to find. The printer is about as wide as most in the dot-matrix family, but it is taller and not as deep. It appears to be solidly constructed and designed to withstand heavy use. Most of the electronics, including a microprocessor to control the many advanced functions, are contained on a single, easily accessible circuit board under the printer's enclosure. The enclosure is made of durable structural foam and has a pleasing look. Most of the controls are conveniently placed. On the upper right-hand side of the printer are a formset/online/offline switch and a formfeed/linefeed switch (see photo 1). The IDS 460 also has a self-test switch on the upper left-hand side which generates a repetitive test pattern. (Upon power-up, a diagnostic routine automatically clears the buffer and tests the printer's memory.) Next to the self-test switch are two DIP (dual-inline package) switches placed so that it is easy to change their settings deliberately, but difficult to do so accidentally. These switches are used for selecting many of the printing options that will be discussed shortly. The IDS 460 has indicators for power-on, online, and fault. The fault indicator flashes when the power-up diagnostic encounters a hardware problem and lights when the printer runs out of paper. Under the cover is a knob that moves the print-head mechanism back and forth, thus varying print intensity. This is useful for accommodating changing paper thick- ness. When printing thick labels, for example, the print head can be moved further back from the ribbon, saving wear on the head without affecting the quality of the print. Unfortunately, this control is not easy to use. The knob is not calibrated, so trial and error is required to get Photo 1: The Integral Data Systems' Model 460 dot-matrix printer, better known as the Paper Tiger. At the upper right are the formset/online/offline switch and the formfeed/ linefeed switch. 378 October 1981 © BYTE Publications Inc the correct print intensity. If only one kind of form is to be used, this adjustment need only be done once. If the form is changed frequently, however, the constant re- adjustment can be inconvenient. Still more inconvenient is the fact that this knob is placed beneath the printer enclosure. The enclosure is secured to the chassis with four knurled retainer nuts. To remove the enclosure the nuts are loosened and the en- closure is lifted directly upwards. There is little clearance between the enclosure and the chassis. Invariably the enclosure rubs against the circuit board or the tractor mechanism, or snags the ribbon. The knob for varying print intensity should certainly have been placed outside the enclosure. Other controls are placed underneath the enclosure. These include the 115/220 V switch and various jumpers used to select the desired interface, but these are used infrequently. Two secure tractors move paper through the IDS 460. There is no problem handling thick labels or multiple- part forms. Fanfold or roll paper up to ten inches wide may be used. (The IDS 560 is similar in many respects to the 460, but it accommodates paper up to fourteen inches wide.) An internal paper-roll holder that fits under the enclosure is available as an option, as is a paper-catch At a dunrp Name letter carrier, various inter- Paper Tiger 460 facing cables and connectors Use Features High-speed, correspondence- Printer speed, 150 cps; paper quality printer slew rate, SVi inches per sec- ond; built-in self test and Manufacturer diagnostics; printing pitch Integral Data Systems sizes of 5, 10, 12, 16.8 char- Milford NH 03055 acters per inch; fixed/ proportional spacing; software-controlled text Dimensions justification; line buffering 31 by 40 by 32 cm (12V2 by (extended buffering with 15% by 12'/2 inches) graphics); bidirectional printing; selectable line spac- Price ing; selectable page format; $1295 variable line length; pro- grammable functions; im- Hardware pression control Any computer capable of sending ASCII characters via Power Requirements parallel or serial interface: 115 VAC at 60 Hz or 230 requires standard RS-232 VAC at 50 Hz (for European cable (not supplied) operation); user selectable Software Documentation None, apart from the stan- Comprehensive 65-page dard printer driver for a illustrated owner's manual particular operating system Audience Hardware Options Anyone desiring both letter- Dot Plot graphics, paper-roll quality and high-speed print- holder, paper-catch basket, out 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 111 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 of storage tor the Model I, II, or III, configured with TRSD0S, 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 wail on other's promises. We can deliver Ihis proven system now. Call us for the lowesl price! Pocket Computer & ACC. SCall Pocket Computer Printer Interface 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 lull soltware control ot 40, 80. 66 or 132 columns. 80 cps bidirectional tractor teed, disposable printhead. $300 less than nearest competitive printer. Lists $645. Call for our tow 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 special this month: $2679. For MX-80 FT Tractor and Friction, add $99, • Payment: Money Order. Cashier's Check. Certified Check. Personal checks take 3 wks. VISA. MC. add 3% • Prices subject to change any time • No tax oul-of-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 io major a/p near you. Call for information. Toll Free Number 800-433-5184 Texas Residents 817-274-5625 Circle 365 on inquiry card. October 1981 © BYTE Publications Inc 379 Circle 253 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 Efficiently 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 questions ■ Providing new releases as available ■ Supplying you with the best Hardware for your UNIX requirements MSD Corporation 2449 Camelot Court, SE H D 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 MART, INC. GO FOR IT! FOR PRICE, QUALITY & RELIABILITY ACOUSTIC COUPLERS CALL ADDS VIEWPOINT Terminal $ 585.00 ANACOMPrinter(Ser/Par)150CPS 1095.00 ANADEX Printer DP-9000 1 199.00 BASE 2 850 Impact Printer 700.00 EATON Dot Matrix Parallel 399.00 EPSON Printers (All) CALL MICRO TERM Terminals CALL OKIDATA Microline Series CALL PAPER TIGER 460G 1145.00 COMBINATION SPECIAL: Apple II Plus 48K, w/Drive & Controller; Epson MX80 Printer, Interface & Cable 2225.00 CALL FOR QUOTES ON ANY OTHER MICRO PRODUCTS We are dealers for BASF, DYSAN, 3M(SC0TCH) Dis- kettes, Cartridges, Mag Tape, etc. In addition we carry a complete line of Printer Ribbons and other data process- ing accessories. — ■l _^_/#Sgl 1840 LINCOLN BLVD., T|lCn/^! SANTA MONICA, CA 90404 Uljll/ JJ (213) 450-5911 (CALL COLLECT) MART, INC PRICES SUBJECT TO CHANGE basket and a letter carrier that allows printing of letters on single sheets. The ribbon comes in a sealed cartridge, which "facilitates fast, easy replacements" according to the manufacturer. The ribbon must still be handled man- ually, however, and I did not find the cartridge any easier to install than an ordinary — and far less expen- sive — spool. Although this ribbon is said to have a longer life than an ordinary ribbon, it is easily tangled when the enclosure is removed and replaced; then the cartridge must be discarded. A new one costs $12. The user is warned to use only cartridges supplied or approved by Integral Data Systems, although the item appears to be standard. The IDS 460 can be connected immediately to almost any computer. Other printers require that the buyer specify the interfacing standard when placing an order. This printer has built-in circuitry for almost any interfac- ing standard. A jumper selects either parallel (Centronics- compatible) or RS-232 serial interfacing. The XON/ XOFF handshaking protocol used by many of the daisy- wheel printers is also recognized. The user can select any one of five serial baud rates up to 9600 baud by using the DIP switches on the top of the printer. The DIP switches also allow the user to easily define the parity-checking functions for received data. I had a little difficulty getting the printer to operate properly when connected to my LSI-ll/2-based system. The individual I spoke to at IDS was knowledgeable and helpful. He suspected that the problem might be traced to the printer's firmware and offered to send me a set of re- vised PROMs. I discovered that the problem was not in the printer at all; nevertheless, the new PROMs arrived promptly, and at no cost. The IDS 460 shines particularly well in the area of print quality: it is superb and well complemented by a power- ful array of character and forms-control options. The characters are clear, crisp, and well formed. The letters are not the mere outlines produced by most dot-matrix printers, but are shapely and filled in, almost like letters off a printing press. Distinct dots are not visible because the print head produces the dots in an overlapping pattern. Four different print densities are software or DIP switch selectable — 5, 10, 12, or 16.8 characters per inch. The following are also hardware or software selectable: proportional spacing (you can even control the amount of space between characters), text justification (I), line spacing at either 6 or 8 lines per inch, and one of eight form lengths, from 3 to 14 inches. And despite the excellent print quality, the speed of the printer compares favorably with the faster dot-matrix printers. The IDS 460 uses bidirectional printing and logic that minimizes motion of the print head over white space on the page. The IDS 460 firmware performs many of the functions normally handled by text editors; it should be relatively easy to program a text editor to take advantage of the 380 October 1981 © BYTE Publications Inc Circle 127 on inquiry card. TTI-i <3 IDS 4 Card cage & guides « Fan, line cord, fuse, power & reset switches, EMI filter • 8v@30A, ± 16v@10A option on some models Rack mounted Main/Frame 8" Floppy Main/Frame (includes power tor drives and main/frames) 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 EXPAND APPLE AND ATARI 16K RAM CARD These exciting new additions to our line will meet the demand for low cost alternatives to the higher priced language and ram cards. The ConComp Apple II 16K Ram Card will work with all exisitng software compatible with the Apple Language Card' and the Microsoft Z-80 Softcard. 5 Allowing up to 64K of user memory, the Ram Card helps make complete use of Pascal, CP/M," and larger programs like VisiCalc. 3 The Atari 800 2 version is compatible with all Atari software. Both cards are constructed using high-speed high-quality dynamic RAM and come with a full one year warranty. For more information please call or write. APPLE II $130 ATARI 800 $89 384 October 1981 © BYTE Publications Inc 'Trademark of Apple Computer Inc. 'Trademark of Atari Inc. "Trademark of Personal Software Inc. 'Trademark of Digital Research 'Trademark of Microsoft Consumer Products, Inc. ConComp Industries 8338 Center Dr. La Mesa, CA 92041 (714) 464-6373 Dealer Inquiries Invited Circle 399 on inquiry card. Photo 1: The Mauro plotter is a low-cost, well-engineered unit designed with the small-system user in mind. Byte 4: X HOB, bits to 4 (bit 5 is sign bit, bits 6 and 7 are ignored) The control word tells the interface how it should inter- pret the succeeding bytes. Bits 0, 1, and 2 define how many vectors (4-byte groups of bytes 1 through 4) will be sent. Bit 4 indicates whether the buffer-full response of the interface is a pulse on the RS-232C CTS (Clear to Send) line or a specific character. Bits 3, 5, and 6 are reserved, and bit 8 is ignored. Software Several device drivers for the 8080/Z80, 6800, and 6502 microprocessors (in both BASIC and assembly lan- guage) are provided with the plotter and the interface. The program driving the plotter (without the serial inter- face) uses the same byte order and format as the above protocol for the serial interface. This greatly simplifies conversion (not to mention program compatibility) from one to the other. Another vendor — Leapac Services (8245 Mediterra- nean Way, Sacramento CA 95806) — supplies several two- and three-dimensional plotting packages at reasonable prices. The L2D package is a simple two-dimensional package with Calcomp-compatible routines. The L3P is a three-dimensional perspective-plot package containing over seventy subroutines, including zoom, fly-by, and animation functions. Both packages are available from Leapac on either CP/M-format 8-inch floppy disks or North-Star-format 5-inch disks. Each package is provided as a linkable library for Microsoft-compatible compilers such as FORTRAN-80, COBOL-80, MACRO-80, and the BASIC compiler. Conclusions In general, I found the documentation of the Mauro plotter to be adequate but not exceptional. The plotter itself is well engineered and constructed. I had few prob- lems with the unit, except for a troublesome serial inter- face. However, this was quickly replaced after a call to Mauro Engineering. Of the many plotters 1 have looked at over the past three years (with hopes of finding one I could afford), the Mauro Proac plotter comes closest to being the ideal small plotter. ■ Software Review The Radio Shack FORTRAN Package Tim Daneliuk, 4927 North Rockwell, Chicago IL 60625 FORTRAN, a high-level programming language geared to scientific and mathematical programming, is probably one of the few languages to have found "univer- sal" acceptance. Until recently, however, FORTRAN (FORmula TRANslator) has been unavailable to the per- sonal computer user. For those who are familiar only with BASIC (Beginner's All-Purpose Symbolic Instruction Code), a few words concerning "compiled" and "interpreted" languages are in order. BASIC as implemented on the TRS-80 is an interpreted language. As a program runs, it is translated, line by line, from English (which the com- puter can't understand) to the computer's own "machine language." Each line of the program is executed as it is in- terpreted. Note that the program (called source code) never changes: it is simply interpreted each time you type the RUN command. FORTRAN, on the other hand, is a compiled language. As in BASIC, the source code is written in English-like statements which, though not identical to those in BASIC, are similar in principle (ie: there are such elements as input/output statements, arithmetic expres- sions, and logical expressions). To run the FORTRAN program, however, you must use a special machine- language routine called a compiler. The compiler goes through source code and creates a second machine- language program, called object code. This transforma- tion from source to object code is performed once — thereafter, when you want to run your program, you actually execute the machine-language object code produced by the compiler. For this reason, programs written in compiled languages such as FORTRAN are very fast: typically twenty to thirty times faster than the equivalent algorithm written in an interpreted language. The price for this efficiency is increased difficulty in editing and debugging because a program must always be compiled before it can be run. The Package With the exception of a few extensions and restrictions, the FORTRAN package described here conforms to the 1966 ANSI (American National Standards Institute) FORTRAN. Radio Shack's FORTRAN (actually written by Microsoft and licensed to Radio Shack) comes in a three-ring binder that includes two 5-inch floppy disks and about 200 pages of documentation. The documenta- tion is not a tutorial in FORTRAN, however, and if you don't know FORTRAN, it is probably insufficient. Radio Shack recommends several textbooks to augment the in- formation supplied. The FORTRAN package comprises four files. Disk 1 contains the FORTRAN compiler and the editor; Disk 2 contains the linking loader and the FORTRAN library. Each file has an associated section of documentation, and there is a sample FORTRAN program, along with in- structions for entering, compiling, linking, and running it. Each disk has the TRSDOS 2.3 operating system on it. Ar a danrp Name Computer Radio Shack Radio Shack Model I FORTRAN Level II with expan- sion interface, Type minimum 32 K bytes High-level language of memory, and at compiler least one disk drive (two recommended) Manufacturer Licensed by Microsoft Documentation to Radio Shack Approximately 200 One Tandy Ctr pages in a loose-leaf Forth Worth TX 76102 binder (817) 390-3011 Audience Price Language enthusiasts, $99.95 FORTRAN users, and users with scientific Format and mathematical ap- Two 5-inch floppy plications disks Language Z80 machine language October 1981 © BYTE Publications Inc 385 Circle 165 on inquiry card. Free. Fast. And a phone call INMAC INTRODUCES THE SOLUTION TO YOUR MICRO SUPPLY AND ACCESSORY NEEDS. • One-Stop Shopping. This new catalog offers over 1,000 products specifically for Micro Computers. Compatible with Apple. Atari, Northstar, TRS-80s and many others. • Convenient Ordering. By mail or phone, ordering supplies and accessories from this catalog will be guick and easy. • Fast Delivery. We'll ship your order within 24 hours from our distribution centers in New Jersey, California, Illinois and Texas. Overnight delivery available. • Top Quality Products. Virtually all our products are guaranteed for at least one year. Risk-free trial of any product for 45 days. Sei id for your FREE /j| WfWWWT^U* Dept. Micro, 2465 Augustine Drive, 1981. Santa Clara, CA 95051 Inmac Catalog or call (408) 727-/970. Available June The documentation claims that the Disk BASIC files are included, but they were nowhere to be found on my copies. Although this FORTRAN package is best suited for systems with dual disk drives, I was able to use it suc- cessfully on a single drive system. The only real disad- vantages were that I had to exchange the disks constantly (a problem familiar to anyone who has tried to make a copy of a disk using a single drive system), and the amount of free disk space was limited. The reason for this is that the disk containing the final executable command files — created from your source code — will always con- tain part of the FORTRAN software. This will be dis- cussed later in the article. The Editor The Microsoft heritage is most apparent in the editor. Anyone familiar with the Level II BASIC or Microsoft EDTASM (Editor-Assembler) editing commands will feel right at home with this editor. It is also the best- documented portion of the package, although in my Extensions to ANSI-66 FORTRAN • // c is used in a 'STOP c or 'PAUSE c statement, c may be any six ASCII characters. • Error and end-of-file branches may be specified in READ and WRITE statements using the ERR = and END = options. • The standard subprograms PEEK, POKE, INP, and OUT have been added to the FORTRAN library. • Statement functions may use subscripted variables. • Hexadecimal constants may be used wherever Integer con- stants are normally allowed. • The literal form of Hollerith data (character string between apostrophe characters) is permitted in place of the standard nH form. • Holleriths and Literals are allowed in expressions in place of Integer constants. ' • There is no restriction to the number of continuation lines. • Mixed-mode expressions and assignments are allowed, and conversions are performed automatically. Restrictions on ANSI-66 FORTRAN • The COMPLEX data type is not implemented. It may be included in a future release. • The specification statements must appear in the following order: a) PROGRAM, SUBROUTINE, FUNCTION, BLOCK DATA b) Type, EXTERNAL, DIMENSION c) COMMON d) DATA e) Statement functions • A different amount of computer memory is allocated for each of the data types: Integer, Real, Double Precision, and Logical. • The equal sign of a replacement statement and the first comma of a DO statement must appear on the initial state- ment line. 386 October 1981 © BYTE Publications Inc Circle 175 on inquiry card. Circle 119 on inquiry card. judgment it presents the least difficulty. The purpose of the editor is to create, edit, and store FORTRAN source code. It assigns line numbers and in- crements to the program statements. The line numbers are not actually part of the FORTRAN program, but they exist so that specific lines can be called for editing. Only certain FORTRAN statements such as DO loops and WRITE operations require line numbers, and these are in- cluded in the FORTRAN statement-field. The usual interline and intraline editing commands are provided. The interline commands can insert, delete, re- place, and print lines, or groups of lines, in the program. The intraline commands edit characters or groups of characters within a given program line (eg: a character can be deleted within a line of the program and then re- placed with three other characters). The line editing commands are simply extensions of the editing facilities provided with Radio Shack's Level II and Disk BASIC software. However, the elegance of this editor is substantiated by the presence of two other com- mands: Find and Substitute. The Find command finds a given string of text within a source file and prints out the corresponding line numbers. The Substitute command is similar to the Find command, except that a given character string can be replaced with another character string in a selected group of lines. It would, for example, be possible to substitute FORMAT(2 for FORMAT(5 wherever it appears in lines 100 to 500. These two com- mands are tremendous time-savers, particularly if you are editing long files in which the same change must be made many times. There are two final features of interest. First, as is com- mon to most FORTRAN source listings, the editor ap- pends page numbers to the listing, as necessary, which facilitates the organization of long files. Second, the editor can be used to edit certain BASIC and other non- FORTRAN files. (The BASIC file must be stored as a text file.) This allows you to use the find/substitute com- mands when editing BASIC files. The Compiler The FORTRAN user never comes into direct contact with the compiler. Rather, he writes source code accord- ing to the strict grammatical rules of the language. The compiler in turn is able to recognize and process the source code. As mentioned previously, this FORTRAN fundamentally conforms to the ANSI-66 standard. The text box on the left, excerpted from the reference manual, shows the departures from the standard. FORTRAN is recognized as a language that is well- suited to the scientific and mathematical user. This bias is reflected in the data types that are available: Integer: from -32768 to 32767 Real: seven-digit precision from ±10~ 38 to ±10 +38 Double precision: same as real except with 16-digit precision Logical: used in logical operations such as AND, OR Literal: alphanumeric strings Hexadecimal: numbers in base 16 iiiii ii ii vim Multi-Application Processing System WORD PROCESSING ; ORDER PROCESSING ACCOUNTING T HREE COMPUTERS IK ON E ! THE DIGIAC MAPS® CT-80 SYSTEM Multi-User, Multi-Tasking, Cost Effective. • 3 business systems can run concurrently - that's 3 times the overall system productivity! • Time share word processing, accounting order processing, inventory, forms processing, billing & more! • 3 workstations can share data base - preparations can be done by several operators concurrently! • All workstations can share common peripherals. • Uses DIGIAC MAPS-80 operating system. (Digital Research MP/M) • High level language processors including Fortran - Basic - Pascal - Cobol. • Complete Turn-key system for ease of operation & learning! ^2 DllilAC For Additional Information Contact: AAAPS, Commercial Products Division of: DIGIAC CORPORATION 1 75 Engineers Road, Smithtown, N.y. 1 1 787 Phone: (516)273-8600 MP/M is a trademark of Digital Research Corp. J SATELLITE TRACKING SOFTWARE BY mw SAT TRAK INTERNATIONAL APPIEI! SORCERER m-to All international group of professionals lias designed and programmed SATELLITE TRACKING SOFTWARE, a unique package ol five separate programs that allow you to set up your own Satellite Tracking Station using your microcomputer. Beginners, professionals, and educators will all appreciate the technical excellence of this easy to use software. Satellite positions are calculated and displayed or printed out, including the lollowmg data: altitude, azimuth, elevation, right ascension, decimation, and range, for any time — past, present or future. The 30 page operator's manual includes notes on interpreting NASA documents and taking observations. The Apple. TRS-80. and Sorcerer versions plot satellite positions on a map of the world. The Sorcerer version is available only on casssette. The TRS-80 version is for a Model I, level II TRS-80. Cassette or Diskette (Apple. TRS-80. Sorcerer) FORTRAN listing (other systems) FORTRAN program on punched cards $ 49.95 $150.00 $175.00 (all prices include documentation) DISTRIBUTED EXCLUSIVELY BY QUTiLrry soFrwziRe 6660 Reseda Blvd , Suite 105. Reseda. CA 91335 (213) 2M -6599 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 $l .50 for shipping and handl- ing. Outside North America the charge for airmail shipping and handling is $5 00. Pay in U.S. currency. Circle 312 on Inquiry card. October 1981 © BYTE Publications Inc 387 One glaring omission is the complex data type. Standard ANSI FORTRAN allows direct manipulation of complex variables — a real time-saver when solving problems in physics, electronics and related fields. I suspect that this data type was omitted because of the memory it would require to handle complex variables. Nevertheless, it should have been offered as an option (ie: two versions of the compiler, one with and one without the complex variable type). This version of FORTRAN is characterized by exten- sive formatting statements that give the programmer great control over how data is input, output, and stored. These statements include numeric, logical, Hollerith (or string), and scaling-type format commands. User-defined functions are also allowed through the construction of function subprograms. The usual transcendental func- tions, such as sine, cosine, and arctangent, are included, as well as the hyperbolic tangent. And, of course, the package includes all standard FORTRAN arithmetic and control statements such as GOTO (three kinds), IF, and PAUSE. The Linker and FORTRAN Library The linker relocates in memory the object code that was created by the compiler, and it must do so in a man- ner that will allow the object code to be directly executed. In other words, the linker goes through the relocatable object file that the compiler has created, and from this, creates a command file that can be directly executed under TRSDOS 2.3. During this process, the linker references another file called FORLIB. FORLIB contains all the standard routines for addition, subtraction, transcendental functions, etc, so the compiler does not have to recreate the same machine-language routines that appear commonly. Rather, it references the FORTRAN subroutine library as necessary. FORTRAN Patchwork / found a few bugs in Radio Shack's FORTRAN editor that were not apparent at first. On the whole, they are minor, such as the inability to stop screen scrolling with "< SHIFT > @". But a rather severe bug exists when index files are created. The editor creates an index file when ex- tremely long source files are written. This helps in loading large source files during subsequent editing sessions. Unfortunately, 1 got "garbage" in my program source listings when files were augmented by Edit-80-created index files. Killing the index file and loading the source file without it fixed the problem. Your local Radio Shack dealer has two patches to rectify these problems: one for Disk EDTASM (catalog number 700-2210) and one for FORTRAN (catalog number 700-5210). . . . TD CATCH THE S-100 INC. BUS! OUR LIST SPECIAL PRICE CASH PRICE 556.00 420.00 500.00 380.00 600.00 399.00 39.00 29.00 210.00 168.00 59.00 47.00 S.D. Systems 80x24 Video Board A&T S.D. Systems Versafloppy II Double Density Disk Controller w/SDOS, DDBIOS, VDIAG3, & Monitor; A&T Shugart SA 800/801 R Bare Drive IMC Disk Box for 5V4" Drives SSM 1/0-4 Kit 2 Parallel + 2 Serial Mullen TB-4 Extender Kit w/Probe Subject to Available Quantities • Prices Quoted Include Cash Discounts Shipping & Insurance Extra. We carry all major lines such as S.D. Systems, Cromemco, Ithaca Intersystems, North Star, Sanyo, ECT, TEI, Godbout, Thinker Toys, SSM. For a special cash price, telephone us. Please note our new address. S-IDD,mc. 14425 North 79th Street, Suite B Scottsdale, Arizona 85260 800-528-3138 • 602-991-7870 Hours: Mon. - Fri. — 9 a.m. to 6 p.m. MST GET YOUR SHARE OF THE MICRO MARKET! IF A NUDGE IS ALL YOU NEED, READ ON.... HARDWARE Boards, systems and support at the right price, featuring CCS, Televideo and others. SOFTWARE — Many industry-standard packages and some unique surprises, such as: AUTOGEN - READER — Interactively reconfigure your CP/W BtOS. Bring new peripherals on-line quickly. Analyze your English prose. Measure how easy or hard it is to read. 0o discrete-event simulation on a micro. Write parallel programs, schedule resources, much more. INTERESTED? GET OUR CATALOG FOR THE FULL STORY! CALL OR WRITE NOW! IIIHI MICROCOMPUTER APPLICATIONS, INC. 11124 JOLLYVILLE ROAD. AUSTIN. TX 78758 (518)346-5264 388 October 1981 © BYTE Publications Inc Circle 326 on inquiry card. Circle 232 on Inquiry card. Running the System Four steps are required in order to use the system: 1. Writing and editing the FORTRAN program 2. Compiling the source code to relocatable object code 3. Linking the object code to memory and creating a command file 4. Executing the program One particularly nice feature of the compiling process is that it will, at your request, not only create an object file, but also an assembly-language listing of your program. It's a great way to learn how your computer "thinks" FORTRAN. One other advantage of the package also ap- pears at the time of compilation. If you wish, you can compile the source code down to machine code that is suitable for loading into ROM (read-only memory). To check for syntax and other errors in your FOR- TRAN program, you can compile the code without creating the object file on disk. The compiler runs through the program and then displays error and warn- ing messages. Once an error-free object file is created, it is linked. It can then be run immediately or stored as a command file to run under TRSDOS 2.3. In single drive systems, the relocatable object file must always be on the disk containing the linker and FORTRAN library. Conse- quently, free disk space is limited since these two files oc- cupy 25 grans of space. Benchmarks If you've never used FORTRAN, you're probably ask- ing, "Why go through all this effort to write and execute a program?" The answer is threefold: speed, speed, and speed! There is no doubt that virtually any problem solved in FORTRAN could be solved, say, in BASIC. But unless you enjoy waiting, you should consider FOR- Finally, a price-performance breakthrough for mass storage in a one-piece, handsomely styled desk-top computer. • 5% " Micro- Winchester™ 5 Mbyte (formatted) hard disk. • 700K or 350K floppy disk back up. • Dual Z-80 processors with 64K RAM. • Dual RS232 ports. • Complete and ready to run with CP/M™ 2.2. DEALER duty-counter : = duty-counter plus duty-master end This procedure may seem sufficiently abstract as to be totally useless, so let's consider a concrete example: a D/A (digital-to-analog) converter constructed of one bit from a computer parallel output port, one resistor, and one capacitor. The resistor and capacitor are connected so as to form a simple low-pass filter, as shown in figure 1. Now you can run the BASIC program shown in listing 1 on the computer. Depending on the values of resistance and capacitance, and the speed at which the program executes, the voltage at the analog output point will be a more or less steady 3.75 V. By changing the constant in the DATA statement in line 100, any arbitrary voltage between and 5 V can be obtained. In this example, the duty-master is the constant 5 appearing in line 70, the duty-cycle is the variable V, and the duty-counter is the variable C. The kickor is the occurrence of a pass through the loop extending from line 30 to line 90, and the kickee is the decision to output a 1, DISK DRIVE WOES? PRINTER INTERACTION? MEMORY LOSS? ERRATIC OPERATION? Don't ww — Blame The Software! Power Line Spikes, Surges & ,„ 7 „ 'W ^" ISO-2 Hash could be the culprit! Pat »"'^' M '' ub ^^ Floppies, printers, memory & processor often interact! Our patented ISOLATORS eliminate equipment interaction AND curb damaging Power Line Spikes, Surges and Hash. • ISOLATOR (ISO-1) 3 filter Isolated 3-prong sockets; Integral Surge/Spike Suppression; 1875 W Maximum load, 1 Kw load any socket $62.95 • ISOLATOR (ISO-2) 2 filter Isolated 3-prong socket banks; (6 sockets total); integral Spike/Surge Suppression; 1875 W Max load, 1 KW either bank $62.95 • SUPER ISOLATOR (ISO-3), similar to ISO-1 except double filtering & Suppression $94.95 • ISOLATOR (ISO-4), similar to ISO-1 except unit has 6 individually filtered sockets $106.95 • SUPER ISOLATOR (ISO-1 1) similar to ISO-2 except double filtering & Suppression $94.95 • CIRCUIT BREAKER, any model (add-CB) Add $ 8.00 • CKT BRKR/SWITCH/PILOT (CBS) Add $16.00 AT YOUR Master-Card, Visa, American Express DEALERS Order Toll Free 1-800-225-4876 (except AK, HI, PR & Canada) /S2 Electronic Specialists, Inc. 171 South Main Street, Natick, Mass. 01760 Technical & Non-800: 1-617-655-1532 Circle 141 on Inquiry card. October 1981 © BYTE Publications Inc 391 Technical Forum, Listing 1: This BASIC program uses the VDC algorithm to pro- vide a steady output voltage when combined with the simple circuit in figure 1. A change in the value of the DATA statement will alter this voltage. Program line 80 must output the contents of B to the appropriate output port. 10 c = o 20 READ V 30 B = 40 C = C-V 50 IF C> = 0THEN 80 60 B = l 70 C = C + 5 80 < output B to port> 90 GOTO 30 100 DATA 3.75 FROM I — v. BIT >— ^ OF COMPUTER PARALLEL DATA OUTPUT PORT ft? J — ^ ANALOG ' — OUTPUT Figure 1: Low-pass filter that converts the digital output of the single-bit data port to an analog signal. Of Your HP-85 or Commodore Pet/CBM System Building Blocks.. the POWER With TNW's IEEE-488 Bus TNW-2000 TNW's RS-232 SERIAL INTERFACES Connect your PET/CBM to any RS-232 Serial Printer. Plotter, Terminal. Modem, or other device: CRT TNW-10Q0 TNW-2000 TNW-232D ONECHANNEL OUTPUT ONLY ONECHANNEL INPUT ANDOUTPUT TWO CHANNELS, INPUT & OUTPUT 12 RS-232 CONTROL SIGNALS $129 $229 $369 TURN YOUR PET INTO ATERMINAL 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 TWX910-335-1194 Visa/Mastercharge Welcome • Dealer inquiries invited instead of a 0, to the port. The utility of this example could be considerably enhanced through the use of assembly language and real-time interrupts, but the utility of the basic scheme should be clear: assuming that each pass through the loop requires the same amount of time, the waveform output to the port will have an average duty-cycle precisely equal to the ratio between the duty-cycle, V, and the duty-master, 5. In addition, the waveform will bounce back and forth between and 5 V at the maximum possible rate given the desired duty cycle and the available processing time, which will make the low-pass filter's job as easy as possible in reducing ripple at the analog output. The variety of ways in which this same basic technique can be applied is extraordinary. Consider the case in which two integer quantities need to be kept as close to a given ratio as possible while both are gradually increased from zero to some higher number. Normally this would involve substantial amounts of multiplication and/or division, or have drawbacks in terms of either minimum increment size or worst-case error. However, use of the VDC (Variable-Duty-Cycle) algorithm makes the task straightforward: simply call the two integers I and J, and let the desired ratio between them be K:L. Pick a number, M, which is greater than or equal to both K and L, and, each time you wish to increase I and/or ] by a small amount, do the following: C := C-K if C<0 then do < increment I > C := C + M end D := D-L if D<0 then do < increment J> D := D + M end This process, of course, merely combines two instances of the VDC algorithm, using a common duty-master, M. The duty -cycle quantities are K and L, the duty -counters are C and D. The method requires virtually no processing time or memory space, is completely processor- and language-independent, and presents no theoretical limita- tion on the degree of precision with which the desired ratio may be maintained. 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. 392 October 1981 © BYTE Publications Inc Circle 368 on inquiry card. Nothing that we have seen so far suggests that the duty-cycle quantity could not vary from one occurrence of the kickor to the next. This is very handy for, among other things, modeling the effects of acceleration and velocity upon the position of an object. Suppose we are designing a real-time graphics game in which there will be a cannon capable of launching a projectile on a parabolic path toward a target. Is it possible to generate a parabolic path without resorting to a multiplication routine? Indeed it is! We accomplish this by treating the projectile's horizon- tal and vertical velocity components as duty cycles, where the common kickor is a routine that runs at evenly spaced intervals in time, and the kickees are routines that move the projectile one cell horizontally and one cell ver- tically. Typically, the projectile's horizontal velocity component is a constant in the forward direction, and is easy to handle using the formula we have seen here. To deal with the possibility that the projectile could, ver- tically, be moving either up or down, we will have to in- troduce the concept of a negative duty-cycle. If M is the duty-master, H and V the horizontal and vertical duty- cycle/velocities, and C and D the duty-counters, the kickor routine looks like this: C := C-H if C<0 then do < move projectile one cell to the right > C := C+M end D := D-V if D<0 then do < move projectile one cell up > D := C + M end else if D> =M then do D := D-M end < decrease V by a fixed amount > Photo 1 shows the set of projectile positions that are obtained when M is 125, H is 25, and V starts off at 75 and is decremented each kickor pass by 1 until it reaches -75. More complex (but perhaps less useful) patterns can be generated if the kickee is permitted to change the value of the duty -cycle or duty-master, if the kickee of one VDC is made the kickor of another, and so on. But even in the simple forms given here, the applications of this algorithm range from data-communications multiplexing to printer/plotter control to industrial process simulation to — who knows what? Perhaps you will be the next to add to the list. ■ Photo 1: The VDC algorithm can be used to predict the parabolic path of a projectile without the use of multiplication or division. 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 dVmar INDUSTRIES, c ;, inc. Dealer 7133 Rutherford Rd (301)298-3130 TRANSIENT VOLTAGE SURGE SUPPRESSOR ® Inquiries Invited. Baltimore, Md. 21207 800-638-9098 ^ Circle 134 on Inquiry card. October 1981 © BYTE Publications Inc 393 Technical Forum Dynamic Simulation in BASIC S J Houng c/o BYTE Publications Inc POB 372 Hancock NH 03449 If you plan to parachute out of an airplane, you may want to know the terminal velocity of the open chute. If you are an amateur rocket launcher, you may want to know what orbits can be obtained from a prepro- grammed multistage rocket. Answers to these questions can be quickly obtained from a personal computer pro- grammed in BASIC. In general, dynamic systems can be represented by a set of ordinary differential equations, such as those shown in the figures. The solution can be found by com- puter simulation using numerical analysis. We will use Euler's method to solve a set of differential equations. THE COMPUTER FOR PROFESSIONALS E9 HEWLETT PACKARD HP-85 $ 2595 t,.»-. 1-. I 1 .1 I. t-.f .f . I (.' |. -.».' t- \ \\ HP-83 s 1795 HP-85 16K Memory Module s 249 5 1 /4 " Dual Master Flexible Disc Drive . . . s 2129 Graphics Plotter (7225B) s 2079 New Printer w/Graphics s 799 No risk or deposit on C.O.D. orders. 3% surcharge on credit card orders. In stock items shipped same day. ^^ CALL TOLL FREE MP J] 800-233-8950 Micro Computer Distributing 501 East Third Street Williamsport, PA 17701 (717)327-9575 Euler's method states that for a given first-order equa- tion $ = fit.x) at the solution can be obtained by the following routine: x B+1 = x„ + hf(t„, x„) where: f„ +l = r„ + h n = 0,1, 2, The solution x„ +1 at the time £„ +1 can be calculated from the previous solution x„ at f„. Therefore, the complete solution can be found, step by step, from the given initial condition x at f . The parachuting problem in figure 1 can be solved, in BASIC, by repeatedly using the follow- ing statements in a BASIC program: V = V + H*(G- T=T + H ■D*V*V/M) Begin with the initial velocity V and time T. Euler's method definitely solves first-order equations. But how about the second-order equations in figures 2 through 4? We need a magic (mathematical) transforma- tion here. For a given second-order equation: cPx . dt 2 A Form F48 Provided Standard Warranty on Merchandise THE NATIONWIDE SUPERMARKET OF SOUND* VISA' COMPUTER HOBBYIST SPECIALS! Daisy Wheel Terminals RS-232, used, off-lease. Features Diablo Hytype 1 printer, up to 30 CPS. plot & text modes, dual pitch and much, much more. Includes data, operation manual, schem- atics, "As-is" machines may need someservice. TESTFD S FUNCTIONAL AS-IS ONI V Add S40 lor Hdlg. and Pkg PayShippingWhen Delivered. $ 999°° $ 799 00 Modified 1/0 "SELECTRIC*-II" Printer Stepper driven platen & carrier Takes Selectnc II ribbon cartridges Steppers reduce mech- anical failure rate Uses opto-sensors (or all feedback and keyboard sensing and solenoids for character selection & functions Sophis- ticated design. Rebuild into a typewriterordrive with a micro processor for bi-directional print- ing & 4-way plotting Does not include drive circuitry or power supply Mostly whole, "as- is". no type element included Includes I/O data & schematics Fantastic possibilities Removed from sophisticated word processois * Reg Trademark of IBM Corp. Add S20 For Hdlg. & Pkg. - Pay Shipping When Del.- s 349 Write 01 Call for our Bargain-Packed PERIPHERAL FLYER" Prices are Subject to Change on All Items Computers, 61 7/372-8637 IJERIPHERAL5j 18 GRANITE STREET Ib.ii lUlwm HAVERHILL. MASS. 01830 UNLIMITED! ^ „„,.„:,„,„. »,».«.»„ 3E Circle 93 on inquiry card. October 1981 © BYTE Publications Inc 395 Circle 325 on Inquiry card. 32K Static Ram Memory with Ultimate features • Bank Select • Extended Address • 8/16 bit Data S465 with 32KB S295 with 16KB S149 without memory chips All assembled and Tested Features: Model-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 mA 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 $195 Assembled and tested with lower power, 200 nsec chips Features: Model-1 6KUS 'Uniselect' • Fully Static - uses 2114L-2 • Bank Select by ports and bits - compatible with Cromemco, Alpha Micro Other S-100 boards Available: Z80 CPU with 8 levels of Interrupts, I/O, 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 Irom stock to 72 hours. Ordering: MC, Visa, COD. 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 S.C. Digital E M & DEALER PRICING AVAILABLE P.O. Box 906 Aurora, IL 60507 Phone: (312) 897-7749 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. CO.D.'s accepted. PACIFIC EXCHANGES 100 Foothill Blvd. San Luis Obispo. CA 93401. In Cat call (800)592-5935 or (805)543-1037 Technical Forum first-order equations for each problem. For example, in the rocket-launching problem, if x,=R, x 2 = dR/dt, x 3 =d, and x 4 = dd/dt, we obtain: dt *** = -^sin0 - g + x t (x 4 y dt M dxj = dt X4 4& = 1-COS4, — ?-(Xi)(X4) dt M *i Y7ZZ7} CLAMPED = angular displacement J = moment of inertia K = spring 8 = friction 7" = torque cP8 B_ d0 , K_ e _ _T dt 1 J dt J " J Figure 3: Euler's method can also be applied to the second-order differential equation of a rotational system. q = charge / = current v = voltage R = resistance L = inductance C = capacitance Oft <£9 + B-^£ + _S_ dt 2 L dt LC Figure 4: This RLC (resistive-inductive-capacitive) circuit is described by both first-order and second-order differential equa- tions. 396 October 1981 © BYTE Publications Inc Circle 287 on inquiry card. Circle 241 on inquiry card. The corresponding BASIC programming is: F1 = H*X2 F2 = H*(T1*SIN(P1)/M-G + X1*X4*X4) F3 = H*X4 F4 = H*(Tl*COS(Pl)/M-2*X2*X4/Xl) X1=X1 + F1 X2 = X2 + F2 X3=X3+F3 X4 = X4 + F4 T=T+H JET 1 ZT JET 2 x,y = displacement Jet1,Jet2 = thrust g = gravity dt 2 dt 2 y Jet1 M Jet2 M Figure 5: Euler's method can be applied to a moon-landing simulation, solving the four simultaneous first-order equations derived from two second-order differential equations. R = radial displacement = raaiai displacement ^ 2 _ /d»V j - angular displacement —^ R \3T ) = Xf S ' n * = mass \ / 2 / cot V / ae \ _ _r R\dt J\dt J M M = mass g = gravity T= thrust = turnover angle cffl dt 2 COS Figure 6: Solving this rocket-launch simulation involves apply- ing Euler's method to four simultaneous first-order differential equations. reformaTTer ©MicroTech E«oorts 1980 GETS FILES ACROSS! With REFORMATTER disk utilities you can read and write IBM 3740 and DEC RT-11 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 «IBM. 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-ATJOS □ Dealer and OEM discounts available. mm CP/M* is a registered trademark of Digital Research M DISCOUNT PRICES MICROCOMPUTERS CRT TERMINALS PRINTERS DISKETTES SOFTWARE WE'RE ON THE EAST COAST 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. Circle 140 on inquiry card. October 1981 © BYTE Publications lnc 397 Convert your IBM Selectric /Electronic into a letter quality printer for under $600 Driven by any Micro or Mini Computer ESCON Iproductsjnc. 12919 Alcosta Boulevard San Ramon, CA 94583 Call Toll Free: 800-227-2148 BVI E 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: BYTE Magazine 70 Main St, Peterborough NH 03458 Affn: Back Issues Technical Forum , Listing 1: A BASIC program that uses Euler's method for solving differential equations. The example is used to solve the two first- order differential equations derived from the mass-spring- friction system in figure 2. 1 REM MASS-SPRING-FRICTION SYSTEM 5 H = 0.1 10 PRINT"FRICTION B/M = ", 20 INPUT B 22 IF B<0THEN END 24 PRINT'NO. OF DATA = ", 26 INPUT N 30 XI =0 40 X2 = 50 T = 60 FOR 1=1 TON 70 FOR I = 1 TO 2 80 F1=X2 90 F2 = 1-B*X2-X1 100 X1=X1+H*F1 110 X2 = X2 + H*F2 120 T = T + H 130 NEXT J 140 PRINT"T = ";T,"X1 = ';X1,"X2 = ';X2 150 NEXT I 160 GOTO 10 FRICTION B/M = ? 0.4 NO. OF DATA= ? 10 T= .2 XI = .01 X2 = .196 T= .4 XI = .058316 X2 = .372714 T= .6 Xl = .140785 X2 = .524336 T= .8 XI = .252147 X2 = .646391 T= 1 Xl = .386318 X2 = .735829 T= 1.2 Xl = .536677 X2 = .791063 T= 1.4 Xl = .696359 X2 = .811945 T- 1.6 Xl = .858536 X2 = .799682 T= 1.8 Xl = 1.01669 X2 = .756717 T= 2 XI- 1.16484 X2 = .686553 FRICTIONB/M= ? -9 Starting with the initial location (R,d) and velocity (dR/dt, dd/dt), the launching orbit can be calculated with the turnover function (t) and the multistage rocket- thrust function T(r). One question remains. What value of h should be used in Euler's method? The h is the time increment (or step size) of the computation. Based on the numerical analy- sis, h must satisfy the following stability condition: h < df(t,x ) dx to have a stable numerical computation. The computed solution approximates the exact solution if the value of h is chosen according to the stability condition; otherwise the computed solution may not be a solution at all. In practice, we have to use the maximum estimated value of the partial differentiation | df/dx | in the stability condi- tion. This guarantees a stable computed solution for all 398 October 1981 © BYTE Publications Inc Circle 421 on inquiry card. Let's try Euler's method on the mass-spring-friction system shown in figure 2. The analytic solution of the system is well known. Thus, we can use this computer example as a test for the accuracy of Euler's method. Assume the following data: forcing function spring/mass ratio L M k_ M 1, for f > 0, for r < friction/mass ratio < — < 10 M and the initial conditions, x(0) = and dx(0)/dt = at f = 0. The equivalent simultaneous first-order equations are: dx, _ _ f <**> = 1 --^-x 2 dt M The partial differentiations are: Xi d Jl = and d Jl = dxi dxi B_ M Thus, we should choose step size h according to the following conditions: h 2 < K < dx. < oo d Jl dxi U) = 0.2 where h x < co indicates a don't-care case. Therefore, h = hi<0.2 is the only guideline we have to follow. Let's choose h = 0.1. The BASIC program is shown in listing 1. You specify the B/M value, and the solution is printed out immediately. You now have a powerful computer tool for solving ordinary differential equations of the nth order. Most engineering problems are represented by ordinary dif- ferential equations. You can sit down and relax now; let your computer do the engineering design work.B Reference 1. Carnahan, B, H A Luther, and J O Wilkes. Applied Numerical Methods. New York: John Wiley & Sons Inc, 1969, pages 344 through 365. Now Available COMPUSTAR SUPERBRAIN O SUPERBRAIN 5MB East Coast DEALERS & OEM'S wanted COMPUSTAR Model W Mode) 20 Model 30 Model 40 DISC STORAGE SYSTEMS 10 MB 32MB 96 MB SUPERBRAIN SUPERBRAIN QD SUPERBRAIN SMB SOFTWARE BASIC-80 BASIC Compiler COBOLB0 FORTRAN-S0 Accounts Payable Accounts Receivable General Ledger Payroll Wotd Star Mail Merge Data Stat Super Sort Word Master Spell Star ■i Systems International, Inc. has successfully installed Ireds ol COMPUSTARS, SUPERBRAINS and INTERTUBES throughout the world. Join the WINNING TEAM - Fantastic opportunities exist NOW!!! Call or Write KRAMER SYSTEMS INTERNATIONAL, INC. B403 Dixon Avenue Silver Spring, MD 20910 301-585-7480 The ( Price Is Nice. Introductory offer . . . %OA O C Basic system with: 600K bytes LJ^tm\3m • 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 MHzZ80A 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 Quantity discounts are available. OEM inquiries are invited. Please contact: S & M Systems, Inc. P.O. Box 1225, 2 Washington Street Haverhill, MA. 01830 (617)373-1599 » CP/M is a registered trademark of Digital Research, Inc. See us at the N.E. Computer Show, Oct. 15-18, Booth 822 Circle 429 on inquiry card. Build a Versatile Keyboard Interface for the S-100 David R Richards c/o BYTE Publications Inc POB 372 Hancock NH 03449 One of the first decisions you con- front as the builder or purchaser of a microcomputer is how to com- municate with it. There are three op- tions: • Use the front panel (if one exists). This is so slow, awkward, and error- prone that it merits no further discus- sion. • Interface a video terminal or teletypewriter to the computer, usual- ly by means of a serial I/O (in- put/output) port. This solution is easy to implement, but is often quite expensive. • Interface a keyboard to the com- puter for input and use a video display processor driving a television monitor for output. Since it uses the intelligence of the microprocessor in- stead of duplicating it, this method is lower in cost and superior in flexibili- ty when compared to a stand-alone terminal. One goal in building my S-100 system was the development of hard- ware and software to provide all the capabilities of an intelligent text- editing terminal that could be used to communicate with a mainframe time- sharing system. The third alternative was clearly the way to go. I discovered that while suitable video processors are readily available, keyboards are more of a problem. The only one I found was a surplus keyboard unit. The keyboard I chose was manufactured by Clare-Pendar. This and very similar keyboards are available from several sources. It will output the full 7-bit ASCII character set and has both a normal shift lock and an uppercase lock that affects on- ly the alphabetic characters and a few special characters — putting the keyboard into a 6-bit ASCII or TTY mode. It generates a positive-going strobe signal whenever a character- generating key is pressed. Several special function keys are provided, including Repeat and Break keys; however, these keys only ground their associated output lines. The keyboard uses a MOS (metal-oxide semiconductor) encoder device and requires -12 VDC and +5 VDC. Keyboard Interface There is a significant reason why a standard parallel I/O board cannot provide an adequate interface to this keyboard. A standard handshaking parallel-input port issues a busy signal when it is waiting for the pro- cessor to accept a character in its buf- fer. If a keyboard that does not have a busy input outputs another character during this time, the con- tents of the input buffer will be changed. In most systems, this does not actually occur, since the pro- cessor has no trouble keeping up with a human operator. However, in an interrupt driven real-time system, the keyboard input process may be preempted by a higher-priority pro- cess and thus may be unable to han- dle characters as fast as they are typed. In such a circumstance, the keyboard must be locked out until the processor is able to accept input; otherwise, characters will be skipped. The inverse problem is more likely when mating a surplus keyboard to a microcomputer: if the key signal lasts longer than it takes the processor to read a character in the buffer, this character will be read over and over until the signal terminates. Both of these problems are avoided if the busy signal clears the key signal im- mediately and blocks any subsequent key signals until the processor reads the character. Since most keyboards do not provide such a facility, it must be provided by the interface. Since my Clare-Pendar keyboard has no on-board repeat oscillator, this must also be included in the inter- face. If the Repeat key is held down while any character-generating key is pressed, I wanted that character to be repeated until the key is released. Finally, I wanted the Break key to be operational, since some timeshar- ing systems take special action on sensing a Break. Break is not a con- trol character; on a terminal with a standard current loop interface, it open circuits the current loop as long as it is pressed. For an RS-232C inter- face, Break forces the transmit line to a space condition as long as it is pressed. Thus, it is necessary for soft- ware to sense when the Break key is pressed and released. The serial com- munication interface I use is based on a 6850 ACIA (asynchronous com- munications interface adapter), and this software outputs the appropriate code to the device control register to cause a Break (space) level to be transmitted when the Break key is first pressed and then resets the con- trol register when the key is released. For the reasons outlined above, I designed and built a special-purpose keyboard interface. It is basically a standard parallel input port, but it 400 October 1981 © BYTE Publications Inc The keyboard is addressed as two adjacent I/O channels; the control/status channel is the even address, while the data channel is the odd address. also handles the busy signal on board, incorporates a repeat oscillator, allows the processor to ascertain the status of the Break key, and provides both +5 VDC and -12 VDC to the keyboard. I also decided to make provision for con- necting a paper-tape reader in place of the keyboard in order to load soft- ware supplied on that medium (rare though it is these days). Software Interface The keyboard is addressed as two adjacent I/O channels; the control/ status channel is the even address, while the data channel is the odd address. Any pair of addresses may be chosen by appropriate strapping of true or inverted Al through A7 ad- dress lines to the inputs of IC10 (see figure 1). The true address signal is used if the corresponding bit in the chosen address is a 1 and the inverted signal is used if the bit is a 0. Output to the control/status chan- nel is used to enable or disable inter- rupts from the interface. If bit is a 1, interrupts are enabled; if it is a 0, in- terrupts are disabled. The rest of the bits are ignored. Interrupts are also disabled when power is first applied. If enabled, an interrupt signal is generated whenever a character is output by the keyboard and is available to the processor, or while the Break key is pressed. This signal may be strapped to the inter- rupt line ( INT ) or any of the vectored interrupt lines ( VIO - VI 7 ) if a vectored interrupt controller is used. Input from the control/status chan- nel enables the processor to read the keyboard status register. Bit is a 1 whenever an interrupt would be fjpu'S & support chips | 8226 B080A - 3.75 B228 B085A - 7 50 8251 - AMD 2901 - B95 8259 - 8212 - 2.25 8257IAM95T7)- 8214 - 3 80 Z8ACPU 8216 - 2.90 Z80AS10 8224 - 3 25 8275 TRANSISTOR SPECIALS ALS ^ RAM's 4116-3 4116-3 21L02-3 2102-4 MK4027-3 MK4096-11 TMS4045-25 MS4050NL 2101-1 MM5270 MK4008P IM7001 - 3.95 - 2.45 - 3.45 - 9.95 ROM's 2708 - 6 2716 ■ 5V - 7 2532 - U 82S23 - i B2S112 - t 8251 15 - t 82S123 - ; 82S126 - 1 82S129 - i B2S130 - | 82S131 - J AMD2I8C - ; 4013 - .30 4044 - 74C0? 74C08 74C10 74CI4 74C20 74C32 74C73 4077 - .35 UART's - 3.75 MB368A - 8.95 - 3.95 COM2017 - 3.75 - 3.25 AY3-8500-1 - 1.95 AY3-870O - 2.25 INTERFACE & DRIVERS SHIFT REGISTERS 8833 - 2.50 8334 - 2.00 8837 - 2.00 8838 - 2.00 8T380 - 2.00 MM5369 - 2.50 MM! 402 MM 1403 MM1404 MM5013 MM6016 MM 50135 MM505G MM 505 7 MM5058 MM&lJiH* 2.50 2.50 2.60 2.50 2.60 2.50 2.50 14 PIN HEADERS 3/S1.00 16PINHEADERS 40 24 PIN HEADERS 75 40 PIN HEADERS 1.10 50 PIN EDGEBOARD CONN 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 yi 6 " THICK iea 5/52.60 SPECIALS 8X300 - SIGNETICS16BIT MICROCONTROLLER 89.00 4ea. 2716I+5V) 22.00 8ea. 41 16-3 RAM'S 16.75 10 ea. 8164E64K RAM (150NS).. 99.50 L14H4IR+VISIBLEDETECTOR .3/S1.00 MM5307 - Baud Rate Generator . .$9.95 50 PIN RIBBON CONNECTORS ....3.95 40 PIN RIBBON CABLE CONN 3.25 20 PIN RIBBON CABLE CONN 2.65 10 PIN RIBBON CABLE CONN 1.75 RS 232 CABLE 10 Conductor, (I 22 color coded wire, gray PVC outer cover, %" diameter .40 per ft. - 1007$30.00 Add 20% postage for orders under 100'. Add 10% postage for orders over 100'. SPECIALS GOOD THRU OCT. 1981 CRYSTALS $3.45 ea. 2.000 MHz 6.144 MHz EPOXY GLASS VECTOR BOARD 1/16" thick with 1/10" spacing 4 1 /a" x §W $1.95 DATEL'S DAC-08EQ 8 bit DAC - $7.95 INTERSIL DG1IBP ANALOG SWITCH/' 2 CHANNEL DRIVERS INTERSIL ICL 7104-12 CPL 12 BIT A/D CONVERTER REDICON SAD 1024 ANALOG SWITCH 74S00 74S02 74S03 74S15 7-IS20 74S30 74S32 74S74 Msas 7JS89 7JS258 745 260 74S2K) 74S373 7 WATT LD 65 LASER DIODE IR $8.95 25 watt Infra Red Pulse (SG 2006 equiv.) Laser Diode (Spec sheet included) i S24.95 2N3820 P FET S .45 2N&457NFET $ .45 2N2646UJT S .45 ER 900 TRIGGER DIODES 4/S1.00 2N 6028 PROG. UJT $ .65 DISC CAPACITORS .1UF16V 10,51.00 100/S8.00 .01UF35V 16/S1.00 100/S5.00 IN41481IN914) . 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 CTS206 4 4 POSITION 1,25 CTS206- 8 8POSITION 1.50 CTS2D6 10 10POSITION1.95 MINIATURE MULTI-TURN TRIM POTS 50, 100, 5K. 10K, 250K $.75 each 3/S2.00 NO. 30 WIRE WRAP WIRE SINGLE STRAND 100' $!.40 40 CONDUCTOR 3M CABLE. #28 WIRE SCR's I1.5A 6A 35A 110A 100 .45 .SO 1.40 200 1 .70 400 M.20" .80 1.40 1.90 2.60 9.00 12.00 600 | 1.80 3.60 15.00 TRIAC's PRV 1A 10A 25A 100 200 .45 .64 .80 1 1.30 1.55 2.10 400 1.30 1.90 3.10 600 2.00 2.75 4.30 FP 100 PHOTO TRANS RED. YELLOW. GREEN at AMBER LARGE LED's .2" RED/GREEN BIPOLAR LED's. . . MLED92IR LED MRD14B PHOTO DARL. XTOR IL 5 0PTO-ISOLATOR 1WATT ZENERS: 3.3, 4.7, 5.1. 5.6, 6.8. 8.2, 9.1. 10. 12, 15, 18. of 22V SFC 3301 - 50 PRV 30A FAST RECOVERY DIODE (35ns) . $2.25 TANTALUM CAPACITORS 0UF35V - $ .40 .47UF35V 5/S1.00 .68UF35V 5/$1.00 1UF35V 5/$1.00 2.2UF20V 5/$1.00 3.3UF20V 4-S1.00 4.7UF35V 47 $1.00 6.8UF35V 3/$1.00 22UF10V 15UF16V 3/$1.00 30UF6V 5/$1.00 33UF20V $ .60 47UF20V $ .85 120UF6V $ .75 20OUF20V $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 200 PRV 1A LASCR .95 RS232 CONNECTORS DB 25P male $3.25 DB 25S female . . . $4.25 HOODS $1.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 400 .09 .25 .65 1.50 6.60 12.00 600 .11 .30 .80 2.00 8.50 15.00 800 .16 36 1.00 2.50 10.50 18.00 1.25 3.00 12.50 26.00 CLOCK CHIPS MM5314 $4.75 MM5316 $4.95 MM5387AA....5.95 .5V at 800ma SOLAR CELLS 3 "diameter $4.35 7 SEGMENT DISPLAYS FSC8024-4 digit C.C.8"displOY $5.95 FND503C.C. ,5". , ,$ .85 FND510C.A. .5". ..$ .85 DL-704.3"C.C $ .85 DL-707C.A. .3".. . DL747C.A. .6" .. . FND810 .8"CA . . . FND803.8"CC ... MAN5C.C. Green $1.50 $1.95 $1.95 71C76 - .70 2N404APNPGETO-5 74CS3 - .30 74C85 - .40 74 CBS - .60 74C90 - •HI MRF-BOO-tjCBRF TRA?J;;i':iOii ' 74C93 .95 2N3772NPNSiTO-3 74C151 /■. 2N4938 PNP Si TO-3 74C157 - .76 2N3137NPNSiHF. . ... 74C160 .20 2N3319NPNSiTO-3P.F 74C161 - .15 2NU20NP.MSiTO5 .. 74C163 \h 2N2222NPNSITO 18. 74C165 - .25 2N2907PNJ'SiTC-l(l 74C173 - .30 3N30S5NPN SlTQ-3 74C174 - .30 2N3904MPNSJTO-92 7.1C 175 - .20 74C192 - :*) ;"jr>:>90N['NSiTo-?20 . 74C901 .50 2"J6109PNPSiTO 220 74C926 - .50 T!P31BNPNSiTO220 7402 - 7403 - 7404 - 7405 - 7406 - 7407 - 7408 - 7409 - 7410 - 7411 - 7413 - 7414 - 7416 - 7417 - 7420 - 7425 7426 - 7427 - 7430 - 7432 - 7437 - 7438 - 7440 7441 - 7442 - 7445 - 7446 - 7447 - 7448 - 7450 - 7472 - TTLIC 7473 - , 7474 - . 7475 - . 7476 - 7483 - .50 7490 - 7491 - 7492 - 7493 - 7494 - 7495 - 7496 - 74107 - 74121 - 74122 - 74123 - 74125 - 74126 74145 - 74148 - 74150 - t 74151 - 74153 - 75154 I 74155 - 74157 - 74160 - 74161 - 74162 - 74163 - SERIES i5 74164 - 10 74165 - 74166 - 74170 - 74173 - 74174 - 74181 - 74182 - 74190 - 74191 - 74192 - 74193 - 74194 - 74195 - 74196 - 74197 - 74279 - 74365 ■■ 74367 - 74368 - 74390 - 75324 - 75491 - 76492 - FULL WAVE BRIDGE PRV 2A GA 26A 100 I 1.40 200 400 .BO 1.00 1.30 1.65 2^0 3 30 600 1.30 1.90 4.40 DIP SOCKETS PIN ,17 ??PIN 30 PIN 20 24 PIN 35 PIN .22 28 PIN .40 PIN 25 40 PIN 60 74LS SERIES 20KV250MA DIODE $1.90 SILICON POWER RECTIFIERS 74LS0O - 74LS0I - 74LS02 - 74LS03 - 74LS04 - 74LSD5 - 74LS08 - 74LSQ9 - 74LSI0 - 74LS11 - 741S12 - 74LS13 74LS14 74LS15 - 74LS20 - 74LS2I - 74LS22 - 74LS30 - 74LS32 - 74LS37 74LS3S - 74LS40 - 74LS42 74LS47 74LS5I 74LS54 74LS73 ■ 74LS74 - 74LS75 ■ 741S76 ■ 74LSB3 • 74LSB5 - 74LSB6 - 74LS90 74LS92 .20 74LS109 .20 74LS112 .22 741.511: 31 74LS1K .20 74LS1Z .22 74LS125 ,Z0 74LS126 .22 74LS132 .22 74LS136 .45 741 SI 3! .40 74LS13S .35 74LS15' .18 74L.S1K .18 74LS155 .26 74LS19 .35 74LS157 .28 74LS151 74LST& .18 74LS1S' 35 74LS162 .30 74LS15: .30 74LS1& .40 74LS1S .44 74LS15! .65 74L517I 20 7-1LS172 .20 74LS17 74LS17 .35 74LS18 .36 74LS19 74LS19 .75 74LS192 .85 74LS19: 40 74LS1W .45 74LS19' 74LS196 - 85 74LS197 - B5 74LS221 - B0 74LS240 - 95 74LS241 - 95 74LS242- .95 74LS243 - 1 .00 74LS244- 1.35 74LS245 - 1.50 74LS247 - 75 74LS248 - 1 10 74LS25I .90 74LS253 - 55 74LS257 - 70 74LS25B - .60 74LS259 - 1 50 74LS266 - .45 74LS273 - 1 15 74LS279- .50 74LS2S0 - 1.80 74LS290 - .75 74LS293 - 40 7JLS373 - I.3C 74LS374- 1.35 74LS377 ~ l.-K 74LS386 - H 74LS390- 13! 74LS393 - 1.2! 74LSG70 - 2 5/ H1LS97 - 1.11 81LS9U -1.1 LINEAR CIRCUITS MAN 82 C-A. Yellow. $ .75 75 LM339 - 65 LM34B - LM358 - LM361 - LM377 i.hj LM380 - 1 2& LM382 - 80 LM383 - 2 50 LU386 - .80 LM387 - 1.26 LMS53 - 2 25 LM6&5 - .45 LM55G - .85 564H -3.95 733 - lmih 9 - 1.9! CA758 - 1 75 CA3018 1.9! CA3046 - .85 CA3078 ■ 1.H CA3080 - 95 CA3086 - .95 CA3094 - 2.2! LM2801 ■ 96 B03BCC - 3.91 N5590A - 1 REGULATORS LM317T .... .SI .50 LM337 S2.50 323K-5V3A S4.50 79HGKC 5Vsl5A S6.95 78L05 5 .45 LM305G S .75 340K-12, 15or24VS1.50 340T-5. 6, 8. 9, 12, 15, IB or 24V . S .85 LAS1412 t 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 T£RMS:FOB CAMBRIDGE, MASS. SEND CHECK SEND 5.25 FOR OUFI CATALOG OR MONEY ORDER. MINIMUM TELEPHONE. FEATURING TRANSISTORS & C.O.D. PURCHASE ORDER OR CHARGE S20.00 RECTIFIERS. 146 HAMPSHIRE MINIMUM MAIL ORDER S5.00. ST.. CAMBRIDGE. MASS. 02139 SOLID STATE SALES P.O. BOX 74B SOMERVILLE, MASS. 02143 TEL. (617)547-7053 WE SHIP OVER 95% OF OUR ORDERS WITHIN 24 HOURS OF RECEIPT TOLL FREE 1-800 v ;343-5230 October 1981 © BYTE Publications Inc 401 + 5V keypressed| ^> 0.01/iF IC17 74LS14 Figure 1: Schematic diagram for the S-100 keyboard interface. The address jumpers shown are for channels and 1. Keypressed and busy signals may be active high (+ jumper) or active low (— jumper). If a vectored interrupt board is used, the interrupt signal may be jumpered to the processor interrupt line (INT) or any of the vectored interrupt lines (VIO through VI7). The interrupt sig- 402 October 1981 © BYTE Publications Inc DO 01 D2 D3 D4 D5 D6 nal should be left unconnected if interrupts are not used. Data line D7 should be connected to ground inside the keyboard cable 25-pin plug. If a paper-tape reader is connected in place of the keyboard, D7 is used for the high-order data bit. (See power connec- tions on page 404.) October 1981 © BYTE Publications Inc 403 Number Type + 5 V GND IC1 74LS27 14 7 IC2 74LS74 14 7 IC3 74LS74 14 7 IC4 555 8 1 IC5 74LS14 14 7 IC6 74LS14 14 7 IC7 74LS74 14 7 IC8 74LS00 14 7 IC9 74LS04 14 7 IC10 74LS30 14 7 IC11 74LS04 14 7 IC12 74LS175 16 8 IC13 74LS175 16 8 IC14 7406 14 7 IC15 74LS02 14 7 IC16 74LS132 14 7 IC17 74LS14 14 7 IC18 74LS14 14 7 IC19 8T97 16 8 IC20 8T97 16 8 IC21 LM340T-5 — — Power connections for figure 1. Listing Is A keyboard device handler for an 8080-based system. Utilizing program I/O, this routine returns with a flag set if no character is available or the carry flag set if the Break key is pressed. If neither condition is true, the character is returned to the accumulator. generated if enabled, making possible program input/output. When a character is available, the processor reads it with an input from the data channel. Output to the data channel has no function. The keyboard generates only 7 bits of data, so the high-order bit 7 of the data channel is used to indicate the status of the Break key; it is a 1 while the Break key is pressed. A simple keyboard device handler for an 8080-based system is shown in listing 1. It is written so that the call- ing program can decide what to do if no character is available. In that case, the routine returns with the flag set. If the Break key is pressed, the routine returns with the carry flag set. If a character is available, neither flag is set, and the routine returns with the character in the accumulator. Listing 2 shows a fragment of a ter- minal emulator program that inputs characters by calling the keyboard device handler, loops until a character is available, and takes ap- propriate action when the Break key is pressed. Circuit Description A schematic for the interface is shown in figure 1. All logic, except the 8T97 bus drivers, the 7406 inter- rupt and Busy driver, and the 555 ; KEYBOARD STATUS CHANNEL ;KEYBOARD DATA CHANNEL ;INPUT KEYBOARD STATUS ;IF NO CHARACTER AVAILABLE, RETURN WITH ;ZERO FLAG SET, CARRY FLAG CLEARED ;INPUT KEYBOARD DATA ;IF BREAK KEY DEPRESSED, ;RETURN WITH CARRY FLAG SET, ;ELSE RETURN WITH CHARACTER IN ;ACCUMULATOR Listing 2: Example program using keyboard input. This is a fragment of a terminal emulator program which reads characters from the keyboard by calling the keyboard device handler and looping until a character is available. It also takes the appropriate action when the Break key is pressed. KBSTAT EQU KBDATA EQU KBSTAT + 1 KBD: IN ANI RZ KBSTAT 1 IN KBDATA RAL RC RAR RET LOOP: BREAK: BREAK 1: CALL Z C MP CALL C MP KBD LOOP BREAK LOOP KBD BREAK 1 LOOP ;WAIT FOR CHARACTER FROM KEYBOARD ;GO HANDLE BREAK ;PROCESS CHARACTER ;ASSERT BREAK CONDITION ;WAIT FOR BREAK KEY TO BE RELEASED ;CLEAR BREAK CONDITION repeat oscillator, is low power Schot- tky (74LS). All keyboard and bus in- puts have hysteresis receivers (74LS14 or 74LS132 Schmitt triggers) for max- imum noise immunity. Bus inputs see only a single 74LS load. When the keypressed line goes ac- tive (high or low, depending on how it is strapped), the Keypressed-Strobe flip-flop is set, clocking a character into the data latches (ICs 12 and 13) and setting the Data-Available flip- flop. The Data Available signal then clears the Keypressed-Strobe flip-flop and holds it cleared until the pro- cessor has read the character. Mean- while, any further Keypressed signals are prevented from changing the data in the latches. No conditioning is pro- vided for the keypressed line since my keyboard generates a clean Key- pressed Strobe. If the repeat line is low when the keypressed line goes active, H-3 goes low, setting the Repeat-Enable flip- flop. The repeat oscillator then can clock the Repeat-Strobe flip-flop, which in turn sets the Data-Available flip-flop. The Data Available signal clears the Repeat-Strobe flip-flop and holds it cleared until the processor has read the character in the data latches. The cycle then repeats ap- proximately 10 times per second, so the character in the data latches is read over and over. When the repeat line goes high, the Repeat-Enable flip- flop is cleared so the oscillator can no longer set the Data-Available flip- flop. Contact bounce when the Repeat key is initially pressed really does not matter, hence the repeat line is not conditioned. If an input or output operation is made from or to the board, F-8 goes low, causing G-4 to go high if the (odd) control/status channel is selected and causing G-l to go high if the (even) data channel is selected. If the control/status channel is 404 October 1981 © BYTE Publications Inc selected, coincidence of PDBIN and SINP causes H-8 to go low, enabling the status drivers so the processor can read the state of the Data -Ava ilable flip-flop. Coincidence of PWR and SOUT causes G-13 to go high, clock- ing DOO into the Interrupt-Enable flip-flop. If the data channel is selected, coin- cidence of PDBIN and SINP causes H-ll to go low, enabling the data drivers so the processor can read the latched-keyboard data. The trailing (rising) edge of this signal also clocks a into the Data-Available flip-flop, clearing it. The Break signal, after condition- ing, is ORed with bit 7 of the data latch IC12. The keyboard generates only 7 bits of data, so bit 7 is strapped to ground inside the keyboard con- nector plug and the processor inter- prets bit 7 as the Break key. The Break signal is also ORed with the outputs of the Keypressed-Strobe and Repeat-Strobe flip-flops and hence, like them, can set the Data-Available flip-flop. If a paper-tape reader is connected in place of the keyboard, the Break input is left unconnected so that bit 7 is used for data from the reader. The true or inverted Data Available signal is also available on the busy line T-6 to allow a conventional handshaking interface with the reader. If the Interrupt-Enable and Data- Available flip-flops are both set, the output T-12 of the interrupt bus driver goes low. The Power-On Clear signal (POC) initializes the interface by clearing the Keypressed-Strobe, Repeat-Strobe, Data-Available, and Interrupt-Enable flip-flops. Construction I constructed the interface on a Processor Technology wire-wrap prototype board. This is supplied with the LM340T-5 regulator, heat sink, and decoupling capacitors need- ed for the +5 VDC supply. I con- structed a zener-regulated —12 VDC su'pfly in the discrete component area below the heat sink. Wire-wrap sockets (16-pin) are not supplied with the board and must be obtained separately. Figure 3 shows 'E> •15fiF IC21 LM340T-5 /77 75 a 1/2W 1 ;0.1/iF TYPICAL FOR 12 >+5V REGULATED SUPPLY ;o.i/*F X 1N47 ^^12V 1W ft! -| ^>-12V REGULATED SUPPLY Figure 2: Schematic diagram of the interface power supply. The 0.1 nf capacitors on the + 5 VDC output are ceramic disk despiking capacitors. recommended component placement, designed to simplify interconnections and minimize wire lengths. All pins of the lower row of sockets, which pro- vide connections to the bus lines, should be soldered to the board. It is sufficient to solder the four corner pins of the rest of the sockets. The sockets should be oriented so that, when viewed from the rear (pin) side of the board, pin 1 is in the upper left- hand corner, pin 8 is soldered to the ground land, and pin 16 is soldered to the +5 VDC land. Between each pair of sockets, a pair of holes is left, one connected to +5 VDC and the other connected to ground. These are in- tended for the installation of 0.1 fii ceramic disk bypass capacitors for + 5 VDC supply despiking. I in- stalled the capacitors at the locations shown in figure 3. (The disk THE TS E-HARDSIDE 1982 MICROCOMPUTER BUYER'S GUIDE s 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: eu T5£:HORDSID€ Dept. C, 14 South Street Milford. NH 03055 L. Yes! Send me the bio 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. Exp. Date Signature Name . Address . City State Zip Code J Circle 373 on inquiry card. October 1981 © BYTE Publications Inc 405 0.01/iF IC1 74LS27 I IC2 74LS74 IC3 74LS74 100ft- 15 M F- •iill» liDii 3U_E IC5 74LS14 IC7 74LS74 • IC8 74LS00 IC9 74LS04 I I CIO 74LS30 ICU 74LS04 I IC12 74LS175 / GROUND IC14 7406 I C 15 74LS02 IC 16 74LS132 ( IC17 74LS14 IC 18 74LS14 • I C19 8T97 IC20 8T97 WIRE WRAP PIN (ON BACK SIDE) NOTE: CAPACITORS NOT MARKED ARE O.lpF FILTER CAPACITORS. -15 +15 Figure 3: Component placement for the interface board. The ceramic disk despiking capacitors referred to in figure 2 are shown be- tween the integrated circuit sockets. Function Interface Back Panel Clare-Pendar 16-Pin DIP DB-25S Keyboard Edge Connector Connector Connector KP 2 1 H BUSY 15 2 — DO 3 3 3 D1 14 4 C D2 4 5 4 D3 13 6 D D4 5 7 B D5 12 8 1 D6 6 9 A D7 11 10 — REPEAT 7 11 5 BREAK 10 12 E + 5 VDC 16 15 9 -12 VDC 1 14 10 GROUND 8 13 8 Table 1: Pinout connections for the cable between the keyboard and the S-100 inter- face board. capacitors supplied with the board were too large to fit between the sockets and I had to use physically smaller ones.) All integrated circuits, regardless of the number of pins, are inserted with pin 1 in pin 1 of the 16-pin sockets. It is then necessary to install a short wire-wrapped jumper from pin 8 (ground) of the socket to pin 7 for 14-pin circuits and to pin 1 for the 8-pin 555. The discrete timing components for the 555 oscillator, the pull-up resistors for the repeat and busy lines, and the components for the break line conditioning circuit are soldered to two DIP (dual in-line pin) header plugs as shown in figure 3. These plugs are then installed in sockets at the locations shown. Connections to the keyboard are made through a 16-pin socket. I used a 16-conductor flat cable jumper with a DIP plug at one end to connect this socket to a 25-pin socket (DB-25S) on the computer's back panel. Table 1 shows the pinouts for both sockets. I then made up a 6-foot cable with a 25-pin plug (DB-25P) at one end and a 20-contact printed-circuit edge con- nector (AMP 582963-2 with 42839-4 pins and a 582501-1 polarizing key) at the other to mate with the keyboard. ■ 406 October 1981 © BYTE Publications Inc PERT Organization A Technique for Evaluating Schedules The acronym PERT stands for Pro- gram Evaluation and Review Tech- nique, a mathematical method used by thousands of computer program- mers on both large and small systems to solve one of the basic problems of middle-level managers: how to deter- mine the relative importance of the tasks under their supervision. Let us define a middle-level man- ager as a person responsible for a pro- ject comprised of many tasks. Vari- ous low-level managers, each respon- sible for one particular task, report to the middle-level manager. (By con- trast, the top-level manager is more concerned with deciding which pro- jects to undertake, and formulating policy.) The basic purpose of the middle-level manager is to anticipate possible obstacles and still complete the project on time. A Typical Problem In order to more clearly illustrate the middle-level manager's problem, let's be specific and assume that the project is the construction of the fifth floor of a seven-story office building. The project begins with the form- ing and the pouring of concrete. The procedure is supposed to take six days, but for some reason it takes W Douglas Maurer Department of Electrical Engineering and Computer Science George Washington University Washington DC 20052 seven days. Now the project is a day behind schedule. At this point, the manager looks at the various tasks: plumbing, spray fireproofing, and so on, and notes that while most of them will require from three to five days, the installa- tion of electrical wiring in the wall will require sixteen days. Accord- ingly, he hires a few more electri- cians, and the electrical wiring is in- stalled in fourteen days. Now the pro- ject is a day ahead of schedule. In several ways, the calculation of T2 Is the reverse of the calculation of T1 Or is it? After the walls have been wired, the next step involves the lath and plaster, which can't be started until the insulation has been installed. The insulation requires only three days, but that can't progress until the electrical testing has been completed, and that requires three days. Of course, the testing can't begin until the ceiling air ducts and fixtures are in, which takes five days... and so on and so on. The upshot is that the pro- ject is still one day behind. The problem in this example (taken, as is much of the material in this article, from Fundamentals of Data Structures, see references) is that the electrical wiring is not a critical activity (ie: a task that causes the entire project to slip if it falls behind schedule). In fact, in this ex- ample the manager should have hired fewer, not more, electricians, and allowed the wiring to take as many as twenty-eight days. The extra money could have been used to hire more people for the spray fireproofing and installation of ceiling ducts and fix- tures, which are critical activities. But how can the manager deter- mine what is a critical activity and what is not7 This is where PERT comes in. Analyzing Problems with PERT There are many ways to apply PERT. I will illustrate one simple ap- plication. The first step is to number each task, or activity, in such a way that they can be performed in numeri- cal order. For example, we cannot re- quire that activity number 7 be fin- ished before activity number 4 is started, for if this is the case, then ac- tivity number 4 should be designated October 1981 © BYTE Publications Inc 407 as some number higher than 7. If there are n activities, then they should be numbered from 1 to n. To adapt our scheme to computer notation, we will now set up a two- dimensional array, called B. If we re- quire that for each pair of activity numbers I and J, I be finished before J can start, we set B(I,J) = 1. Other- wise, we set B(IJ) = 0. (If we use a version of BASIC that does not allow double subscripts for arrays, or if we use assembly language, we can employ the following trick: set up a single array A, containing n 1 elements, where n is the number of activities, and then refer to each B(I,J) array element as A(K), where we have assigned K = tiX(I-l)+] before referring to A(K). Thus, ele- ments B(l,l) through B(l,n) are represented as A(l) through A(n); B(2,l) through B(2,n) as A(n + 1) through A(2«); and so on.) © © © © 5 DAYS Figure 1: Typical project containing ten tasks, or activities. Each task requires a certain number of days for completion and can be begun only when the preceding tasks have been finished. What kind of indexing program do you want?! •f H/MilarW III 38K.by.e mjittMweMw «* what « e not foreseen. ... Bui.d master ^"J-nrooo^^ books and art'CWs, documen- «M of every description. designed Documa e Plus, w ^ were giving the world a ^ sort . use , no-frills method °r 8J and indexes from Wordstar , p Then the l e «? rs *' a ' dos tor bug-free addition to 9'f^ e Vo? systems using operation on a v f *f ° p^ted. ^ore- Wordstar, we read of unexp ^ ^ see n. unanticipated us es^ ^^ ^ , n _ Documate/Plus. • ■ • , manlia is. . . . dexed boxes of old lecnn cross . re f e rencing ,„„ -- S=». ~ -- asssaar For Professional And Bus,n * S 5V/ . Norl hstar diskettes. ■ callable on standard 8 CP/M ano ^^^^Xs^gran, with Manual ..•■•••• $ 1000 :s^"-^^^^^--- 0N (415) 832-8175 M . c , oP ,o Inlernalional - Jv ~' ' — . rplM is a trademark 01 u'U"° rto rex-ware Compaq DB [ Sffl®C0DB We initialize this double array to all zeros and then input various pairs of numbers I and J, where we want to set B(I,J) = 1 according to the above rule. We also set up another array T, such that T(I) is the amount of time taken by activity number I. If T(7) = 5, then activity number 7 takes five days to complete. (Actually it could be five weeks, or even five hours, just as long as the same units are used throughout the array T.) All the numbers T(I), as I varies from 1 to n, must be entered. Now we have all the input we need, and we can proceed to calculate which activities are critical. We must first set up an array that we will call Tl, such that each element Tl(I) is the earliest starting time for the activity number I. If Tl(5) = 9, then activity number 5 cannot be started before the ninth day of the project. (From now on, we will assume that all times are given in days.) A possible reason why Tl(5) might equal 9 is revealed in figure 1. The numbers in circles are activity numbers, and we have drawn arrows between activities; all activities linked by incoming arrows must be com- pleted before the next activity can begin. Activity number 1 takes five days, and activity number 3 takes three days. If we look only at the up- per part of the diagram, we might think that activity number 5 could start after eight days. However, if we look at the rest of the diagram, we see that we have to perform activity number 2, which takes four days, and then number 4, which takes five days, before we can do number 5. So number 5 cannot, indeed, start until after nine days. (One confusion that often arises is that if a task requires three days, and it is begun, let us say, on Monday, the task should be finished by Wednesday. Yet Wednesday is two, not three days after Monday. The solution to this paradox is to consider a day as a 24-hour period. If a task is started at 8 am Monday, and it takes three days, we consider it to be fin- ished at 8 am Thursday, although in reality it will be finished by 5 pm Wednesday.) 408 October 1981 © BYTE Publications Inc Circle 283 on Inquiry card. In figure 1, the arrow drawn be- tween activities I and J corresponds to BflJ) = l.ThuswehaveB(l,3) = 1 and B(3,5) = 1. It is debatable whether or not we should set B(l,5) = 1; after all, activity number 1 must be completed before activity number 5 can begin, but only in an implied sense. In this case, it does not really matter if B(l,5) = 1. In general, re- dundant pairs of activities can either be provided as input or left out; the critical-activity calculation will come out the same, regardless. The calculation of the earliest start- ing time, Tl(I), is performed as I varies from 1 to n. At each stage, we look at all B(K, I), for K less than I, such that B(K, I) = 1. If nothing has to finish before activity number I can start, then we set Tl(I) = 0, since ac- tivity number I can now clearly start at time zero. In setting up the prob- lem of figure 1, we would set Tl(l) = and Tl(2) = 0. If there is one array element B(K, I) that satisfies the condition above, then we add Tl(K), the earliest time at which activity K can start, to T(K), the time that activity K takes. Thus, in figure 1, in order to calculate Tl(3), we would add Tl(l) and T(l). We find that activity 1 can start at time zero, and it takes five days. Clearly, activity 3 cannot start until after five days — that is, Tl(3) = 5. In the same way, we calculate Tl(4) = 4. If there is more than one element B(K, I) that satisfies the condition, then we perform the above calcula- tion several times and choose the largest answer. Let us calculate Tl(5) as shown in figure 1. We have: Tl(3) = 5 T(3) = 3 Tl(3) + T(3) =8 and Tl(4) = 4 T(4) = 5 Tl(4) + T(4) = 9 This is the calculation we made be- fore. One condition is that activity number 5 cannot start until after eight days; the other condition is that ac- tivity number 5 cannot start until after nine days. Therefore, it is the ninth-day starting date that is impor- tant. In general, there might be three or more cases that we have to con- sider, and we take the largest of the calculations. The resulting values of Tl(I), for all I, are shown in figure 2. In practical cases, usually the last activity in the project is to clean up, and we cannot clean up before we have finished everything else. In the next calcul- ation, we must assume that the last activity cannot be started before everything else is finished. If this is not the case, we set up a dummy ac- tivity, like activity number 10 in figures 1 and 2. This takes no time at all and ends the project. If T(I) = J, this does not necessari- ly mean that activity number I must begin at time ]. Look at activities 6, 7, 9, and 10 in figure 2, and suppose that © © © © • DAYS ►■ • 5 DAYS 1=0 Tl = 4 Figure 2: For each activity in figure 1, Tl (the earliest time that each activity can start) can be calculated according to the scheduled completion times of preceding activities. 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, Cromemco, Micropolis 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. ^^ - ■* •mi •: IWkl j_i jU lAx* • • • 4 the dependable store 257 We 13A Alleg 9330 Georg 6671 Back 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 .lick 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 Circle 90 on inquiry card. October 1981 © BYTE Publications Inc 409 Circle 335 on inquiry card. UNBELIEVABLE! State-of-the-art Single-Board computer now available! Can be used in S-100 (Master, Slave, Multi or Single user) or Stand-Alone configurations. FINALLY, state-of-the-art performance Is avail- able at an affordable price. COMPARE THESE FEATURES: • ZBOAorZSOB • 4 TIMERS |ZCTC| • 64K RAM (64KX1 CHIPS| • 2 SERIAL PORTS |ZSIO] • 4 PARALLEL PORTS (ZPIO) • UP TO 16K EPROM |2732| • NEC FLOPPY DISK CONTROLLER (UP TO FOUR 8" DOUBLE SIDED/DOUBLE DENSITY DRIVES| • INTELLIGENT WINCHESTER INTERFACE • ON-SOARO EPROM BURNER (DOES NOT REOUIRE 24V] FOR THESE SINGLE QUANTITY PRICES: 4MZ VERSION |Z80 A] M •# $ 1,195°° 00 6 MZ VERSION |Z80B] 4 MZ SLAVE PROCESSOR (NO DISK CONTROLLERS ON 90AHD) 6 MZ SLAVE PROCESSOR (NO DISK CONTROLLERS ON BOARD| 795 ?1„095°° The S-100 version of this product can act as a Master processor. Slave processor, or Intelli- gent peripheral controller. Intra-processor com- munication Is achieved through the use of effi- cient, high speed buss transfers using special hardware/software techniques. We also have what we think Is one of the best Implementations of a CP/M BIOS available off the shelf. The BIOS has the following features: • All Devices INTERRUPT DRIVEN • Type Ahead Input/Output Buffers • Real-Time Clock • Time Of Day Clock • Multi-level User Password Support • Menu Driven Utilities for Format, Disk Copy, etc . • Unique Configuration Utility Program for Setting Baud Rates, Changing Step Time, Changing Passwords, etc. • Cylinder Concept used for Double Sided /Double Density Configuration Resulting In Increased Performance CP/M Is ■ reglBtored IrsdBmirk ol Digital Research Corporallon "^^^-^L&Jftf &■* " ' ■-' «. Dealer Inquiries Invited ~^ t * ttt **ltJI#8f S ' Sierra Data Sciences mmmH 1300 East Shaw Avenue • Suite 164 • Fresno, California 93710 • (209) 284-0530 I 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 • Apple II computer • SciTronics RC-80 owners RTC-100 $159 RTC-A $129 RC-80CK $109 send SciTronics Inc. Check or 52 3 s aeweU St _ p Box 5344 ordeTto 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. they all start at the times given; that is, on the eleventh, eighteenth, twen- tieth, and twenty-second days, re- spectively. Now look at activity num- ber 8. It is scheduled to begin on the eighteenth day, but it could also be- gin on the nineteenth day (because the task takes three days, and by the time it is finished we are up to day twenty-two, which is activity number 10 — the end of the project.) We are now ready to start the next calculation. This time we are calcul- ating a set of values called T2(I), for all I from 1 to n, but we will calculate them in reverse order. That is, we will calculate T2(n) first, then T2(n-1), and so on, and calculate T2(l) last. To speed up a project, we must accelerate an activity that lies on every critical path The time T2(I) is the latest time that activity number I can end without causing the entire project to slip, A moment ago we saw that activity number 8 could occur on either the eighteenth or the nineteenth day, and it would end on either the twenty-first or the twenty-second day. Therefore T2(8) would be 22, because the twenty-second day is the latest time that activity number 8 can end. Before we see how to calculate T2(I), let us see how we can use it. In our example, we have Tl(8) = 18 and T2(8) = 22. What does this mean? It means that activity number 8 cannot start before day eighteen, and it must finish by day twenty-two. Therefore, this activity cannot take more than four days. In fact, it is sup- posed to take three days (T(8) = 3), and it can slip by one day, but not more than one day (otherwise, the en- tire project will slip). In this case, ac- tivity number 8 is not critical. If it were scheduled to take four days — that is, if T(8) were equal to 4 — then it would be critical. So as soon as we calculate T2(I) for all I, we will know immediately which activities are critical. To calculate T2(I), we look at all 410 October 1981 © BYTE Publications Inc Circle 329 on inquiry card. B(I, J), for J greater than I, such that B(I, J) = 1. If there are no instances (which, under our assumptions, will happen only for the last activity in the project, ie: I = n) we set T2(I) equal to Tl(I) + T(I). That is, the last activity must start by time Tl(I), and it requires time T(I), so it must finish by time Tl(I) + T(I) in order to get the entire project done in the least amount of time that is consistent with the data we have provided about all its various activities. If there is one B(I, J) that satisfies the condition above, then we subtract T(J) (the time that activity J takes) from T2(J), the latest time that activ- ity J can be finished while keeping the project on schedule. Since the values of T2(I) are being calculated in re- verse order, we can assume that T2(J) has already been calculated. In the project shown in figure 2, we get the value of T2(9) by subtracting T(ll) from T2(ll), because activity 10 takes no time, and the answer is 22. We get 72(7) by subtracting T(9) from T2(9), and the answer is 20. Note what this last answer means. The ninth activity takes two days, and it must be done by day twenty- two. This means that it must start by day twenty. If we look at figure 2, we can see that this implies that activity number 7 must also be finished by day twenty. In the same way, we cal- culate T2(8) = 22. Finally, if there is more than one B(I, J) that satisfies the condition, then we perform the above calcula- tion several times and choose the smallest answer. For example, if we calculate T2(6) in figure 2, we have: T2(7) = 20 7(7) = 2 72(7) - 7(7) and: 18 72(8) = 22 T(8) = 3 T2(8) - T(8) = 19 This means that activity number 6 must end by the eighteenth day, and also by the nineteenth day. There- fore, the eighteenth-day deadline is the one we must heed. We can ob- serve a number of ways in which the calculation of T2 is the reverse of the calculation of Tl: we go from back to front; we look at B(IJ) instead of B(K,I); we must have J larger than I, instead of K smaller than I; and when there are several calculations at one place, we take the smallest, instead of the largest, of the results. The resulting values of T2(I), for all I, are shown in figure 3. We can now look at T1(I) and T2(I), for all I, and calculate which activities are critical. As we have noted above, activity number I is critical if T2(I) - Tl(I) = T(I); otherwise, it is not. The critical activities in figure 3 are num- bers 2, 4, 5, 6, 7, 9, and 10. The non- critical activities are 1, 3, and 8. We now have the answer to the manager's problem in this case: activ- © © © © • 5 DAYS *■ • 3 DAYS \ • *■ • > 2 DAYS 2 DAYS \ T1 = Tl = 5 \ / Tl=18 Tl=20 \ T2 =6 T2 = 9 \ / T2= 20 T2 = 22 \® ©/ Q \© y 2 DAYS 7 DAYS 3 DAYS DAYS / Tl=9 Tl =11 Tl =18 Tl = 22 / T2 = ll T2 =18 T2 =22 T2= 22 Q O/ 4 DAYS 5 DAYS Tl = Tl = 4 T2= 4 T2 = 9 Figure 3: T2 (the latest time that each activity can be finished without throwing the en- tire project behind schedule) can be calculated for each activity in the project of figure 1. trauonsj todl cs, tn Dic?noNAS| October 1981 © BYTE Publications Inc 411 ities 1, 3, and 8 should not be ac- celerated because they will not affect the project's completion time. On the other hand, any one of these three ac- tivities could slip by one day without affecting completion time. (In fact, activities 1 and 8, or activities 3 and 8, could both slip, but not both activ- ities 1 and 3.) The critical activities can all be seen to lie on one path from the beginning to the end of the project. This is called a critical path. In general, there might be more than one critical path in a project. If an activity is critical, it cannot slip without affecting project time — that is, if it is on a critical path. On the other hand, speeding up any one activity will not speed up the en- tire project unless the accelerated ac- tivity is on every critical path. Machine Coding Considerations If the total number of activities is so large that we cannot fit all of the array elements B(I, J) into the number of available words of memory, we may use the following trick. Since each element B(I, J) is either or 1 (such a matrix B is often called a boolean matrix), we can put each ele- ment into a single bit of a memory location. On an 8-bit machine, work- ing in assembly language, we would represent B(I, J) by first dividing J by 8 and obtaining a quotient of K and a remainder of L. We would then store B(I, J) in the Lth bit of B(I, K), and the dimensions of B would now be n by n/8 instead of n by n. To accomplish this representation, we use an auxiliary table P, such that table element P(l) is the zeroth bit Announcing a long-awaited service. . .the Universal Software Directory Now, software users can save money. The Directory will help you find an alternative to the costly, time-consuming task of pro- gram development. (So why re-invent the wheel? Use your best efforts elsewhere.) And authors can realize returns on their programs. You've invested time and money in developing software. The Directory will put you in touch with potential buyers for your package. Here's how it works: Authors submit information on their software packages, includ- ing scope, hardware require- ments, operating environment, documentation, maintenance available, etc. These descrip- tions are updated daily into the Directory data base. Users seeking applications packages describe their needs. We provide them with referrals on all appropriate software. For FREE information mail this coupon today or write to Universal Software Directory, P.O. Box 5549, Dept. 20, San Mateo 94402. rTo: Please send me the following free information: Universal n Buvers Guide n Authors Kit : I I I L To: Please send me the following free information: Universal □ Buyers Guide □ Authors Kit Software Directory Name P.O. Box 5549 Dept.20 San Mateo CA 94402 City Stale Zip . Company (Optional)- Slreel Specific Application Area of Inlerest . I I I J (from the right — ie: in the binary number's units bit), element P(2) is the first bit (ie: the number's 2 1 bit), P(3) is the second bit (ie: 2 2 or 4), and so on. We can set up this table by set- ting P(l) = 1 and then P(I + 1) = 2XP(I) for I = 1 to 7. To set the Lth bit of X, we perform the logical OR of P(L + 1) and X, and store it in X; to test the Lth bit of X, we perform the logical AND of P(L + 1) and X, and test the zero status flag. On a 16-bit machine, we do the same analysis, substituting 16 for 8. In integer BASIC, even on an 8-bit machine, each integer is customarily stored in 16 bits. If the logical AND and OR functions are not available in the given dialect of BASIC, or by means of standard library functions, then we can test the Lth bit of X by adding it to itself (that is, shifting it 1 bit to the left) N — 1-L times, and seeing whether or not the result is negative. We can set the Lth bit of X by adding P(L + 1) to X, provided that we know this bit is not set (by testing it as above). Exploring Further Further analyses of critical paths or critical activities will be found in Ellis Horowitz and Sartaj Sahni's Fun- damentals of Data Structures. These authors describe two graphical models of a project — the AOV (activ- ity on vertex) model, in which each vertex of a graph like figure 1 cor- responds to an activity, and the AOE (activity on edge) model, in which an activity corresponds to an edge, or arrow between nodes. The critical- path algorithm given there is actually for the AOE model, whereas the one I give here is for the AOV model. The authors also provide a discussion of an algorithm (called topological sort) which can be used to renumber all the activities if the numbering that is used does not satisfy our fundamental pro- perty of carrying out all activities in the project in their numerical order. ■ Reference 1. Horowitz, Ellis and Sartaj Sahni. Fun- damentals ot Data Structures. Rockville MD: Computer Science Press, 1976. 412 Oclober 1981 © BYTE Publications Inc Circle 377 on inquiry card. Should the DO Loop Become an Assembly-Language Construct? Glenn L Williams Gould Inc Instruments Division 3631 Perkins Cleveland OH 44114 The 1970s saw the inception and growth of microprocessors as well as continuing growth and improvement in the architecture and processing power of minicomputers. Although the architecture of CPUs (central pro- cessing units) has varied widely through the years, the majority of the new 16-bit microprocessors have emulated, to various degrees, the stack-pointer architecture once found in the DEC (Digital Equipment Cor- poration) PDP-11. The stack pointer is used to control an area in program memory where temporary data and subroutine- and interrupt-return addresses can be stored separately from the main pro- gram. The stack-pointer approach has proved useful to programmers be- cause it allows reentrant, nonself- modifying subroutines. This ap- proach can be contrasted with ma- chines (e.g., the DEC PDP-8) where a subroutine return address is saved in the first location of the subroutine proper, which can reside only in pro- grammable memory. An additional feature now found in most processors is the familiar pro- cessor-status register containing flag bits formed from the result of ALU About the Author Glenn L Williams is a Senior Design Engineer for Gould Inc Instruments Division. Currently, he is designing hardware and software for a new line of digital oscillographic recorders. Mr Williams has worked with microprocessors since the early 1970s. His personal interests in- clude amateur radio and astronomy. (arithmetic logic unit) operations on data. With conditional branch, jump, jump to subroutine, and return (as well as interrupt) instructions avail- able on the various processors, pro- gram loops can become very compact and intricate. A well-designed instruction set can give the engineer and programmer every degree of freedom and every feature desired. But does it? An Example Take the case of the assembly-lan- guage program in which a positive binary word in memory is required for the next sequence of instructions. But for various reasons (known only to the programmer), the word may instead be stored as a negative value. In the Motorola 6800, Fairchild F8, and even the Motorola 68000 micro- processors, such a value must be loaded and tested for positive status. If negative status results, the data must be complemented via a branch to the proper code before returning to normal program execution. There has been one processor available for some time, however, that performs the ab- solute-value conversion with a single instruction: Texas Instruments' TMS-9900. Obviously, there are other instruc- tions that could make programming tasks far simpler. Disregarding for a moment the desire of manufacturers to minimize microcode requirements to limit the size of silicon wafers, and the argument that some missing in- structions can be "worked around" through use of other instruction chains, it is obvious that highly in- novative and useful instructions can still be invented by clever users and designers of computers. Users still need more innovative instructions to help relieve the monumental pro- gramming requirements of the 1980s. (After all, where would computers be if architecture development stopped with the invention of the subroutine and the carry bit?) The following discussion will show how one set of "new" instructions (or acceptable variations) can be found scattered, piecemeal, in a number of existing modern processors, but that no one processor supplies the user with the entire set. In particular, the first new instruction, requiring mere- ly a modified stack pointer, has yet to be found in a survey of a number of late-model processors. This instruc- tion, along with its mate, allows as- sembly-language programming of DO loops. "New" Instructions For the discussion of these instruc- tions shown in conceptual form in table 1, I ask the reader to assume that the processor has at least one stack pointer, one or more accumula- tors, and, perhaps, additional main registers. This model, in figure 1, re- sembles the architecture of the PDP-11 and 6800. October 1981 © BYTE Publications Inc 413 Circle 257 on inquiry card. JJ SAVE J CALL MBC„ . J-203) 342 2747 COMPUTERS ATARI 800 16K $ 759 400 16K S 365 NORTH STAR HRZ-1Q-64K-HD5 WINCH. HARD DISK SAVE OVER $1600.00 SCALL HRZ-2Q-64K-ASM SCall HRZ-2Q-64K-ASM $Call ZENITH Z-89 GA All In One computer $2068 z-89 FA 48K and drive $2275 COMMODORE CBM,PET 32K COMPUTER $ 975 LIMITED QUANTANTITY & TIME 8032 Large 80 Col. Screen $Call 8050 Dual Disk Drive 1 Meg SCall 4032 B or N 40 Col. Screen SCall 4040 Dual Disk Drive 360K SCall Vic-20 Color Computer $ 275 HEWLETT-PACKARD HP-85 $2795 HP-83 Sail HP Calculators Also in Stock r 1 1 INTERTEC SUPERBRAIN 64K-DD $2795 64K-QD $3180 ALTOS SYSTEMS ACS 8000-2 1 Meg FD $2990 ACS 8000-10 4 User $6795 ONYX C5000 64K 6.1 Meg $6990 C8001 128K 10 Meg $9990 C8002 512K 18 Meg $16900 PRINTERS DIABLO 630 $2185 NEC SPINWRITER 5530/5510 $2490 NEC 5520 KSR $2890 C. ITOH S1499 OLYMPIA-ES 100 Quality Printer Printer/Typewriter with interf . RS-232,Paralell,488 IEEE S1250 IDS Paper Tiger 4 45G S 695 460G $ 899 560G $1150 ANADEX 9500/9501 $1290 CENTRONICS 730-1 S 590 737-1 $ 699 EPSON MX-80 With Friction Feed $ 495 Roll Paper Holder $ 18 MX-70 $ 395 MX-100 SCall MX-80 F/T SCall OK I DATA Microline 80 Paralell $ 375 82 Bi-Directional $ 495 83 136 col. 120cps $ 750 TERMINALS TELEVIDEO 910 $ 599 912 $ 725 920C $ 775 950 S 995 INTERTUBE III/ Emulator $ 725 SOROC IQ 120 $ 749 ZENITH Z-19 S 820 LEEDEX/AMDEK 100 Green Screen $ 165 Items may be ordered by phone. nail or COD. Visa & Master Charge accepted. Factory Sealed, Manufacturers warranty Prices subject to change (203) 342-2747 Multi-Business Computer Systems Inc. 28 MARLBOROUGH STREET PORTLAND, CONN. 06480 TWX/TELEX 710-428-6345 H-F 9-6 SAT. 9:30-3:00 Mnemonic Function DO n The address of the instruction following this one (PC + 2) is saved on the DO stack, along with the loop-counter value n. The DO loop will then begin at the instruction following this one (at PC + 2). (See figure 2.) NXT The ending instruction of a DO loop. In the DO construct, the value n is decremented and tested for 0. If n does not equal 0, the execu- tion is resumed at the location saved in the DO stack. If n does equal 0, program execution continues at the next instruction after NXT. DO loop nesting is permitted by virtue of stack control. ABS N Converts binary value at effective address N to absolute binary value and stores it back in N or in an accumulator. Processor-status- word flag is set if value was originally positive. ASC N Converts a 4-bit binary value at effective address N to its ASCII equivalent (0 through F). BIN N Tests a value at effective address N to see if it is a legal hexa- decimal ASCII character symbol (0 through F). If it is, the character is converted to the 4-bit binary equivalent. If it is not, a processor status flag is set and conversion does not occur. SRCH n, M Searches for the word or character n in a page of memory begin- ning at effective address M until either the first occurrence of that character or end-of-page. (Page size fixed at some value.) If the search fails, a processor status flag is set. If the search succeeds, the location of the character is saved in a temporary register. SRCH n, - M Similar to above, but search proceeds in a negative direction from effective address M to end-of-page. Table 1: Innovative and useful instructions, some of which are now available to microprocessor users, These instructions are not all available on any one processor. It is interesting to consider how these instructions have been imple- mented in various processors. These data are shown in table 2. The seven instructions listed are not to be con- strued as the only instructions eligible for consideration. They are presented as thought-provoking examples. The DO Loop Instructions Frequent use of nested execution loops (DO . . . CONTINUE loops in FORTRAN, FOR . . . NEXT loops in BASIC) raise the question: Why not allow a DO loop construct in assem- bly language (i.e., in the architecture of the processor itself)? Conceptually, a processor architecture to accom- plish DO loops would take the struc- ture of figure lb, where a DO pointer addressing a DO stack has been added to a processor of simple archi- tecture resembling the 6800 micropro- cessor. The DO stack would function as a conventional stack, except, unlike a conventional stack that saves the next (return) address for a subroutine, the DO stack saves the next (looping) ad- dress followed by an additional value n. (See figure 2.) The value n is the in- teger number of times the loop is to cycle. The loop is initiated with the DO n instruction, but program flow continues inline. The value n could reside in an ac- cumulator or some other processor register rather than residing in pro- gram memory immediately after the DO op code. Then a reference to a location or register that contained the address of the operand value would remove the need for self-modifying code if n were to be a variable (e.g., DO {n) or DO R n ). To show as simply as possible the operation of the DO instruction, the general form DO n will be used here. The DO loop is bounded by an NXT instruction op code. Upon reach- ing this instruction, the control logic in the processor uses the DO pointer to reference the location of the value n on the DO stack. The value n is then temporarily pulled and decremented. If the value of n is not after the de- crement, the new n value is pushed back onto the stack, and the next two stack values (D-2 and D-l) are read out as the address to loop back to for further iteration. Figure 2 compares the conventional stack pointer to the new DO pointer in more detail. 414 October 1981 © BYTE Publications Inc Circle 244 on inquiry card. (la) ADDRESS BUS STACK POINTER INSTRUCTION REGISTER PROGRAM COUNTER CONTROL DECODER TEMPORARY REGISTER(S) INDEX REGISTER(S) ACCUMULATOR(S) BUFFERS <^> DATA/CONTROL BUS Figure 1: Block diagram of a typical processor with stack pointer. Figure la is based on the 6800 microprocessor; in figure lb (see page 416), the DO Pointer has been added. If the value n is after being decre- mented, however, the DO loop is de- fined as being completed. The DO pointer is adjusted to its preloop value (D) and execution continues with the first instruction after the NXT op code. DO loops can be nested using these rules. Well-designed DO loops con- figured under the same nesting rules as FORTRAN or BASIC would not terminate prematurely. The DO pointer could be in error only through procedures that are com- monly accepted as illegal in high-level languages or procedures in assembly- language programming similar to il- legal exits from subroutines and inter- rupts. A DO loop controlled by a DO pointer would then match high-level language requirements and would re- MMSFORTH VERSION 2.0: MORE FOR YOUR RADIO SHACK TRS-80 MODEL I OR MODEL III ! • MORE SPEED 10-20 times faster than Level It BASIC • MORE ROOM Very compact compiled code plus VIRTUAL MEMORY makes your RAM ad larger. Variable number ol block buffers. 31-char. -unique word- names use only & bytes in header! • MORE INSTRUCTIONS Add YOUR commands to its 79-STANDARD-plus instruction set! Far more complete than most Forths: single & double precision, arrays, string-handling, clock, more. • MORE EASE Excellent lull-screen Editor, structured & modular programming Word search utility THE NOTEPAD letter writer Optimized for your TRS-80 with keyboard repeals, 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-Uack 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 1.500 systems in use MMSFORTH Disk System V2.0 (requires I6K RAM, 32K for Model III) disk drive & ,. $129.95* 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 OISKETTE: includes FLOATING POINT MATH (L.2 BASIC ROM routines plus Complex numbers, Rectangular-Polar coordinate conversions. Degrees mode, more), plus a lull ForthstyleZBO ASSEM- BLER; plus a powerful CROSS-REFERENCER to list Forlh words by block and line. All on one diskette (requires MMSFORTH V2.0, 1 drive & 32K RAM) . $39.95* FORTHCOM: communications package provides RS-232 driver, dumb terminal mode, transfer o! FORTH blocks, and host mode to operate a remote TRS-80 [requires MMSFORTH V2.0, 1 drive & 32K RAM) $39.95* THE DATAHANDLER VI. 2; a very sophisticated data- base management system operable by non-pro- grammers (requires MMSFORTH V? 0, 1 drive & 32K RAM) $59.95* MMSFORTH GAMES DiSKETTE: real-time graphics & board games w/source code. Includes BREAKFORTH. CRASHFORTH, CRYPTOQUOTE, FREEWAY, OTHELLO & TICTACFORTH (requires MMSFORTH V2.0. 1 drive & 32K RAM) $39.95* Other MMSFORTH products under development FORTH BOOKS AVAILABLE MMSFORTH USERS MANUAL - without Appendices, lor non-owners $17.50* STARTING FORTH - besl companion to our man- ual $15.95* INVITATION TO FORTH ligFORTH THREADED INTERPRETIVE LANGUAGES - advanced, excellent analysis of MMSFORTH-like lan- guage $18.95* PROGRAM DESIGN & CONSTRUCTION - intro. to struc- tured programming, good for Forth . , $13.95* FORTH -79 STANDARD MANUAL - official reference to 79-STANOARD word set, etc $12.95* CALTECH FORTH MANUAL structure, etc on Forth internal $10.00* FORTH SPECIAL ISSUE. BYTE Magazine (Aug. 1980) - we stock this collector's Item lor 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 $3.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. Sena SASE for tree MMSFORTH information Good dealers sought Get MMSFORTH products Irom your computer dealer or MILLER MICROCOMPUTER SERVICES (B10) 61 Lake Shore Road, Natick. MA 01760 (617)653-6136 1 NO FRILLS! NO GIMMICKS! JUST GREAT DISCOUNTS MAIL ORDER ONLY ATARI 800 Personal Computer System $74900 NORTHSTAR Horizon II 32K Horizon II Quad Horizon II 64K Horizon Quad 64K .... 234900 279900 299900 339900 TELEVIDEO Model 912 Model 920 .. Model 950 74900 79900 107900 HAZELTINE Model 1420 Model 1421 Model 1500 Model 1510 Model 1520 Espirit Executive 80 Model 20 79500 69500 84900 104900 122900 64900 119500 Model 30 139500 0KIDATA Microline 80 55900 S0R0C Technology Model IQ 120 Model IQ 140 69900 104900 CR0MEMC0 System 3 Model Z2H 569500 799500 OANTEX Model 6000 150 CPS parallel interface . . Model 6000 150 CPS serial interface . . 114900 119500 DECwriter IV Model LA-34 93900 We'll meet or beat any advertised prices! Most items in stock for immediate delivery. Factory sealed cartons. Full manufacturer's guarantee. All products subject lo availability. All prices subject to change. DATA DISCOUNT CENTER 135-53 Northern Blvd., Flushing, N.Y. 11354 Visa • Master Charge • N.Y.S, residents add SalesTax Shipping FOB. NY. Phone Orders Call (212)895-5577 (lb) STACK POINTER DO POINTER INSTRUCTION REGISTER CONTROL DECODER ADDRESS BUS s\ BUFFERS PROGRAM COUNTER TEMPORARY REGISTER(S) INDEX REGISTER(S) ACCUMULATOR(S) N^ 7 DATA/CONTROL BUS Mnemonic Present Similar Implementation (and processor) DOn none(?) NXT DB CC (Motorola 68000) LOOPE/LOOPNE (Intel 8086) ABS N ABS N (Texas Instruments TMS 9900) ASC N BIN N XLAT ASCII TBL (Intel 8086) SRCH n, SRCH n, M - m SEAF 0, Md (Advanced Micro Devices HEX-29) LOCC n, L, M (DEC VAX 1 1/780) CPIR (CPDR) (Zilog Z80) SCAZ TXT LINE (Intel 8086) Table 2: Present implementations of "new" instructions. 416 October 1981 © BYTE Publications Inc JSR (EXTENDED) DO #n BEFORE AFTER BEFORE AFTER CONVENTIONAL STACK MEMORY ■" S -2 S-l SP— *-S S + l 29 S + 2 4A S-3 S-2 S -1 <(P+3)H> s <(P + 3)L> S + l 29 S+2 4A DO STACK MEMORY DP- D-3 D-2 D-l »D D + l 35 D+2 17 ~~ P-»-D-3 D-2 n D - 1 <(P + 2)H> D <(P+2)L> D + l 35 D + 2 17 PROGRAM MEMORY ► p JSR p + 1 AH=SUBR ADDR P+2 AL= SUBR ADDR P+3 NEXT INST _ ^ ' P JSR P+l AH=SUBR ADDR P+2 AL=SUBR ADDR P + 3 NEXT INST PROGRAM MEMORY PC— *-P DO p + l n P+2 NEXT INST v "~ P DO P+l n PC-»P + 2 NEXT INST PC — »-A FIRST SUBR INST A= ^ Figure 2: Comparison of a Jump to Subroutine instruction with proposed DO instruction. This diagrams the positions of the SP (stack pointer) relative to the PC (program counter) and the DP (DO Pointer) relative to the PC — both before and after the respective in- structions have been executed (based on the architecture of the Motorola 6800 microprocessor). lieve compiler writers of the burden of performing these operations with long strings of assembly-language in- structions. The DO loop would also be made available to assembly-lan- guage programmers and microproces- sor-hardware engineers. What about the processors current- ly competing on the market? In table 2, there is a reference to the DB CC in- struction of the 68000 microproces- sor, which performs the function of the proposed NXT instruction. But the user is left without the benefits of the automatic stacking operations of the proposed DO Pointer. Variations Studies of op-code usage have shown that the DO loop feature I've described could be "appended" to common op codes, such as ADD, SUB, IN, and OUT, so a common function could have the added fea- tures of automatic DO pointing. For example: DOn SUB CONSTANT NXT would become: SUBDO n, CONSTANT NXT This approach, however, involves a departure from the regularity desired in modern instruction-set designs. Single instructions with the loop- and-decrement mode are already avail- able in several forms on the Z80 (LDIR and LDDR for moves; CPIR and CPID for the SRCH function; INIR, INDR, OTIR, and OTDR for input/output; and DJNZe for a func- tion similar to NXT). The Z80 does these without benefit of a true DO pointer and without being able to combine arithmetic instructions and other general functions under one main DO loop. It is feasible (and imperative) that a general DO architecture be included in future processor designs. There is a demonstrable need for the DO archi- tecture, and it has been shown how such operations can be incorporated easily into many of the available ar- chitectures. October 1981 © BYTE Publications Inc 417 I COMPLETE SPELLING PROOFREADER and COMPUTER DICTIONARY The WORD is out! Works with the editor of your choice to find those lurking spell- ing errors and sneaky typos. SPELLING CHECKER • 45,000 word dictionary • Checks over 10 pages/minute • Handles apostrophes, hyphens • Marks mistakes in file • CDOS ,m ,CP/M' m compatible • Needs only 32K system EXTRA FEATURES • Automatic rhyme finder • Crossword puzzle solver • Correct spelling finder • Word'counter • Word frequency analyzer Dictionary builder AVAILABLE FOR: 8" Single Density CP/M ,m — soon — 5V4" North Star*™ 5 1 /4" Superbrain lm Apple 1 ™ I Softcard Xm CP/M OASIS SYSTEMS (714) 291-9489 2765 Reynard Way, San Diego, CA 92103 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, Cromemco, Micropolis 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. Computers, the dependable store 257 West Street, Annapolis, MD 21401 - (301) 268-6505 13A Allegheny Avenue, Towson, MD 21204 - (301) 296-0520 9330 Georgia Avenue, Silver Spring, MD 20910 - (301) 588-3748 6671 Backlick Road, Springfield, VA 22150 - (703) 644-5500 Plaza 38, 2442 Route 38, Cherry Hill, NJ 08002 - (609) 779-0023 Callers outside metropolitan areas served by our stores Please call (301) 268-5801 Career Opportunities Available * An Equal Opportunity Employer Summary Modern processor instruction sets are by no means complete, if com- plete is defined as providing for all simple, regular instructions that could be of significant value to pro- grammers and engineers. Instead, an all too common complaint is that a few basic instructions are either non- existent or difficult to find in most processors, and trade-offs in original designs of many processors have left some addressing modes incompletely supported. For example, one popular microprocessor implements branches, jumps, and subroutine jumps, but omits the branch to subroutine that is so useful in writing position-indepen- dent code. It seems that restrictions of semi- conductor die size has often "squeezed out" some useful instructions as a one-time cost savings. The result: programmers endlessly emulate de- sired, but unavailable, instructions with long sequences of other existing instructions. This has proved costly. The magnitude of the programming tasks to be accomplished in the com- ing years could be reduced consider- ably with more useful assembly-lan- guage instructions. The challenge of the 1970s was to design newer and better processors. The challenge for the 1980s is to promote the evolution of processors with high-level instruc- tion sets to help alleviate the soft- ware-management problem. The DO loop is one example of assembly-lan- guage- and processor architecture-re- lated development that should be considered. ■ References Computer Structures: Readings and Ex- amples. C Gordon Bell and Allen Newell. McGraw-Hill, 1971. VAX11/780 Software Handbook. Digital Equipment Corporation, 1977. M6800 Microprocessor Application Manual. Motorola. McGraw-Hill Inc, 1975. Build a Microcomputer, Chapter VIII, HEX 29. Advanced Micro Devices, 1979. 9900 Family System Design and Data Book. Texas Instruments, 1978. MC68000 Microprocessor Users Manual. Motorola, 1979. 418 October 1981 © BYTE Publications Inc Circle 91 on inquiry card. Programming Quickies Apple Pascal Cross-Reference Robert J Woodhead, Siro-tech Software Products 6 Main St, Ogdensburg NY 13669 Debugging a long or complex program can be made much easier by using reference listing. A utility program can easily generate one from the source code, listing the line numbers of all program statements in which each variable or named constant is used. Niklaus Wirth developed an efficient binary-tree- search algorithm for this purpose (discussed in his book Algorithms + Data Structures = Programs. Englewood Cliffs NJ: Prentice-Hall, 1975). The algorithm was used in the program APPLE3:CROSSREF provided with the Apple Pascal system. I found CROSSREF unsatisfactory in some ways, however, so I took the basic concepts and developed my own version of the cross-reference pro- gram, adding features that make the program better suited for use with the Apple Pascal language system. The new features include: • ignoring the characters in comments and quoted-string literals • dividing the source-code and cross-reference listings into pages with titles • automatically extending the search into separate disk files that contain source code routed to the compiler by the include-file mechanism • top-down recursive design The result is a more readable output listing for programs written in Pascal. My modified version of the Wirth cross-reference-gen- erator program is shown in listing 1, and its own cross- reference table is shown in listing 2. A disadvantage of the program given here is that the data tables containing the cross-references are stored in memory, thus limiting the size of the input programs that can be processed. An improved version that I have devel- oped stores the tables on disk, allowing cross-referencing of very large programs. You can obtain both the im- proved version and a spooler program that lets you spec- ify multiple files for printing from my company for $20. A floppy disk containing both source and pseudocode files is provided. ■ Interested readers can contact Siro-tech Software Products at (315) 393-2640. Listing 1: Apple Pascal cross-reference program based on a similar utility program provided with the Apple Pascal language system. This version includes several useful additions. Note paging and titling of the listing. I- C**I-,R- t) 3- PROGRAM CROSSREF; 5 ■■ (, ******t#£&1l#*XX*^^ > €■■ ■::* t) ?■■ «: CROSS REFERENCE GENERATOR USING BINARY TREE. *> 8= it FROM I.IIRTH,ALG0RITHMS+0ATA STRIJCTURES=PROGRAMS..R£06 *) 9-- (Z *) 10: CONTENTS OF COMMENTS AND QUOTED STRINGS ARE NOT *) Listing 1 continued on page 421 October 1981 © BYTE Publications lnc 419 Circle 142 on inquiry card. CHOOSE... Choose an Apple Desk A compact bi-level desk ideal for an Apple computer system. This 42" x 31 M>" 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 accom- odate a printer. Choose a Micro Desk Get your micro computer off the desk top and into the micro shelf under our Designer Series desks. Suitable for the North Star, Dynabyte, Vector Graphics, and Altos computers. The desks come in a variety of sizes and colors. Choose a Mini Rack Mini racks and mini micro racks have standard venting, 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 Diablo 1600's & 2300's Dec LA 34 T.I. 810 & 820 NEC Spinwriter Okidata Slimline Lear Siegler 300's Anadex 9500's Delivery in days on over 200 styles and colors in stock. Dealer inquiries invited. ELECTRONIC SYSTEMS FURNITURE COMR4N*d 17129 S. Kingsview Avenue Carson, California 90746 Telephone: (213)538-9601 420 October 1981 © BYTE Publications Inc HIS CONTRIBUTIONS WERE MADE POSSIBLE When you give to the United Negro College Fund, you help sup- port 41 private, four-year colleges and graduate schools. Colleges that could be training a black professional you may need someday. Send your check to: United Negro College Fund, Box B, 500 E. 62nd Street, New York, New York 10021. We're not asking for a handout, just a hand. No one can do it alone. GIVE TO THE UNITED NEGRO COLLEGE FUND. A mind is a terrible thing to waste. A public service of this magazine and The Advertising Council. Circle 84 on inquiry card. Programming Quickies. Listing 1 continued: 16' (,_% INCLUDED IN THE CROSS REFERENCE t !?• it 3) PROGRAM WILL FIND AND INCLUDE FILES THAT WOULD * IS' it BE INCLUDED BY THE COMPILER INCLUDE MECHANISM * 19' C* 4) PROGRAM CONSIDERABLY CLEANED UP! * P.O. <:.% t a'i CONST CI =10: >:. * LENGTH OF TOKENS STORED IN LIST t l.. r C2=10J it NUMBERS PER LINE OF XREF LIST t £5 : C3=6j it DIGITS E'ER NUMBER IN XREF LIST t PS^ C4=3000O; it MAX LINE NUMBER IN PRINTOUT t "i— 1 . c ■■■ ■ LP=57.: C* # OF LINES, PAGE (66-6-3 MARC INS) t C "■■ : TYPE ALPHA=FACKED ARRAY! 1.. CI ] OF CHAR; 30 : WOROREF="WORO; 31' ITEMREF="ITEM; 3£ : WORD=RECORO 33 : KEY: ALPHA; <* TOKEN t 34: FIRST, LAST: ITEMREF; (* LINKEDLIST OF LINE: 5* 35 = LEFT -RIGHT: IJORDREF; it TREE POINTERS END; I TEM=PACKED RECORD * 3 b ; "7"7 ■ ■_' .•■ ■ 3R : LNO' 0. ,C4.' (* LINE NUMBER * 39: NEXT: ITEMREF; <* LINK POINTER * 40: END; 41' 4£: VAR ROOT; WORDREF; it ROOT TO TREE OF TOKENS * 43: K ; INTEGER; (* LENGTH OF CURRENT TOKEN * 44: N ; INTEGER.; it CURRENT LINE NUMBER * 45' ID : ALPHA.; (* TOKEN BEING PROCESSED * 46: A : ALPHA; it TOKEN BEING BUILT * 47: CH : CHAR; it CURRENT TOKEN CHARACTER * 48: LI HELEN.. it OF THE CURRENT LINE * 49: CHARPOS: INTEGER; 50: FLEVEL 'INTEGER.; it FILE WE ARE CURRENTLY USING 51: LINE --STRINGC 255 ]i it CURRENT LINE BEING PROCESSED * 5£: Fl, 53: FB, 54: G : TEXT; it INPUT AND OUTPUT TEXTFILES * 55: TITLE; STRING; ( % TITLE OF PRINTOUT * ■> 56 : SOURCE, it INPUT AND OUTPUT FILENAMES * :> 57 : DEST' STRING! BO!,; 59 : it PAGER DETERMINES IF A RAGE EJECT IS REQUIRED, AND IF * ;, 60: it SO, IT DOES IT AND PRINTS THE HEADER * ) 6£ : PROCEDURE PAGER.; 64: BEGIN it PAGER f) 64: EEC IN it PAGER *) 65: €■€■■■ IF i N MOD LP)=0 THEN 67; BE JIN 68' WRITELNC '<',N:5. 1 > [ ' ,MEMAVAIL:6, ' ] 69 : 70: IF N>0 THEN 71: BEGIN WRITELNC G 73: WRITELNCG 74: writelikg 75: END.; 76 ■■ WRITELNC G); ??■■ URITELNCG, 'XREF LISTING OF FILE ' , Listing 1 continued on page 422 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 like our Apple 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. CF*A Computer Furniture and Accessories, Inc. 1441 West 132nd Street Gardena, CA 90249 (213) 327-7710 October 1981 © BYTE Publications lnc 421 Circle 260 on inquiry card. Send for our FREE Catalog ADDRESS LABELS FROM AVERY ONLY $15.00 Shipping is even included, but you must mention Ad #B9 when you order This special price is just to introduce you to our catalog of computer accessories and word processing supplies. We offer you 25-50% off on products like 3M-Scotch* brand diskettes, computer paper, ribbons, printwheels. binders, and alot more. THESE ARE THE BEST ADDRESS LABELS YOU CAN BUY •TRACTOR FEED EXTRA HEAVY BACKING PREVENTS SKEWING DURING PRINTING •ACCURATELY REFOLDS AFTER //. PRINTING •SPECIAL NON-SMEAR LABEL PAPER ■STANDARD LABEL SIZE 3'/ 2 x 15/16 BOX OF 5000 LABELS TRICOR A 3601 S. 9th St. Kalamazoo, Ml 49009 TOLL FREE: (800) 253-4358 In Michigan: (616) 375-7519 G Please send me . . box(es) of address labels at $15.00 per box. (Ad # B9) □ I don't need the labels, but please put me on your catalog mailing list. Name Company- Address _ City Programming Quickies. Listing 1 continued: 80 : 81 = SOURCE , ' '!< 74- •9-21- LENGTHC S :iijrce::o.. 'PAGE '. o:h div LP)+1 >'4)i I...IRITELNC G i ; WRITELNC G, i 1 . / ~7~). TITLE); -< LENC TH< TITLE ) DIV 2 I..JRITELN': G H WRITELW G ■> 30 : 91 ■ END; * IN CASE YOU ARE WONDERING WHY IT'S 74 AND 37 INSTEAD * OF 80 AND 40 IN THOSE I..JRITELNS, IT'S BECAUSE 80 COL * PAPER USUALLY WILL HOLD *> *) 94 = END; U FACER * ) 96 = it GETLINE READS A NEW LINE FROM THE INPUT FILE. IF 97' (.* IT DETECTS AN END OF FILE.. IT PRINTS OUT THE XREF 99 = PROCEDURE GETLINE.; 100 : 101= O: ENDITALL PACE EJECTS AND STARTS THE XREF LIST.. THEN 103' (* EXITS THE PROGRAM 103' 104' PROCEDURE ENDITALL J 105' 186= <* PRINTREE RECURSIVELY CALLS ITSELF TO PRINT THE TREE 107' (t OF CROSS REFERENCES 1 08 ' 103' PROCEDURE PRINTTREE; 114' 115' VAR 116' L' INTEGER; 117' X' ITEMREF' *:) 113 = 120' 121 ■ 122' 123' 124 = 125' 123' 130' 131' 132' 133' 134' 135' 136' 137 = 1 33 ' 133' 14S' 141 ' SIN <* PRINTWORD #) PAGER.; N=Nfl; WRITECG.. ' '..W.KEY); X'=W. FIRST; L'='0; REPEAT IF L=C2 THEN BEGIN PAGER; H-=N+l.i WRITELHCG).; L"=0; WRITECG, ' ' END; Cl + 1 ) L = =L+l.i UIRITE'::C..X".LN0'C3); X'=X".NEXT.; Srare/Zip •3MC0. Circle 297 on inquiry card. Listing 1 continued: JNTIL X=NIL; 3 44: 1 45 • 1 46 : END * PRINTWOF ppQTt..; ( ;±; PpTHTTRc' IF I. END; G I N PR I NTTREEC IT. LEFT').; PRINTWQRDCuT); pf. ^TTPEF 1 . ■ '■'' PirMT' * PRINTTREE * 144: 159^ 151: 152: IS-!- 154: 153: 156: 1 57 : 158- 159: 160: BEGIN <* END I TALL *) 161 : WHILE CN MOD LP K>0 DO BEGIN N:=N+1 .; UIRITELN(G) END: PRIHTTREECRUOT); EX I T( PROGRAM) ; C* END I TALL f. :* CHARACTER POS PTR:l :* TEMP FILE NAME 162; 163: 164: 165: 166: 167: 168: 168: 170: 171 : 17E': END 173: 174: of: AHINCLUDE OPENS THE INCLUDE FILE AND READS 175: a: in THE FIRST LINE 176: 177: PROCEDURE AHINCLUDE; 178: 179: VAR 180: SOFHAME, 181: EOFNAME: INTEGER; 182: THAME ' STRING; 184: BEGIN C* AN INCLUDE &> 135: 1 86 : SOFNAME : =POS< ' ( *$I '.LI HE H< 187: 188- 189: 190: 191: 138: 123: 194: 195: 13C : 137: 133: 199: 200: 201: 202 : 203 : 204: 205: 286' THAME —LINE; DELETE* THAME, EOFNAME : =POS< SOFNAME >; 3 ' ., THAME ; IF EOFNAME=0 THEN EXITC AN INCLUDE); (. * WAS NOT AN IHCLUDI THAME : =COPY< TNAME, 1 , EOFNAME- 1 >j WRITELI-K 'INCLUDE FILE — >', TNAME); * ) FLEVEL:=2; RESETCF2.. TNAME); IF IORESULT>0 THEN BEGIN CL0SECF2); FLEyEL:=FLEVEL--l END ; Listing 1 continued on page 424 Con.P«* ers Jl^aoo™. .$789 ATARI* List $ 1 080 v ATARI® 400... $359 fa KSE55 HP-85 HP-85 Accessories 5 Va" Dual Master Disc Drive List $2500 $21 25 5V4" 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 Interface Module List $495 $445 J-IP-83 Ll $225<) neu)J $1895 HP-41CVwith five times more memory built in. List $325 $249 HP-41C List $250 $199 Scientific w/Statistics 53.95 Scientific Programmable $79.95 Advanced Scientific mmable 123.95 Business Calculator $49.95 HP-32E HP-33C HP-34C Progra HP-37E ersonol omputcr ystems S 609 Butternut Street Syracuse, M.Y. 13208 (315) 475-6800 Prices do not include shipping by UPS. All prices and offers subject to change without October 1981 © BYTE Publications Inc 423 Circle 4 on inquiry card. SPECTACULAR OFFERS BASF "FLEXYDISK"... ,j.u Superior Quality data \\ storage medium. Certified and guaranteed 100% error free. SINGLE SIDED-SINGLE DENSITY 5 1 /i" or 8" Diskettes 10/$24 5V4" or 8" Vinyl Storage Pages 10/$5 MAXELL- DISKETTES The best quality diskette money can buy Approved by Shugart and IBM. Sold only in boxes of 10 5", 1 side $3.30 8", 1-side $3.90 5", 2-side $4.25 8", 2-side $5.60 ALL MAXELL DISKETTES ARE DOUBLE DENSITY LIBRARY CASE... 3-ring binder album. Protects your valuable programs on disks Fully enclosed and protected on all sides. Similar to Kas-sette storage box. Library 3-Ring Binder $6.50 514" Mini Kas - sette/10 $2.49 8" Kas-sette/10 $2.99 DISKETTE DRIVE HEAD CLEANING KITS -r~j ij Prevent head crashes and -^^^fc^ insure efficient, error- free operation. 514" or 8" $19.50 SFD CASSETTES C-10 Cassettes 10/$7 (All cassettes include box & labels) Get 8 cassettes, C-10 sonic and Cassette/8 library album for only $8.00 (As illustrated) HARDHOLE Reinforcing ring of tough mylar protects disk from damage 5VS" Applicator $3 8" Applicator $4 m SVa" Hardholes $6 50/8" Hardholes $8 VISA • MASTERCHARGE • MONEY ORDERS CERTIFIED CHECK • FOR PERSONAL CHECKS ALLOW TWO WEEKS • C.O.D. REQUIRES A 10% DEPOSIT • CAL RES. ADD 6% SALES TAX MIN $2 SHIPPING & HANDLING • MINIMUM ORDER $10 • SATISFACTION GUARANTEED OR FULL REFUND Write for our free catalog PRODUCTS 8868 Clairemont Mesa Blvd. San Diego, CA 92123 Toll Free 1-800-854-1555 For Orders Only For informafion or California orders (714) 268-3537 Programming Quickies. Listing 1 continued: £10 £11 £12 £13 Oi A l_ J. "T £15 £16 £17 £18 £13 ££@ ££1 ££4 £38 £31 £41-3 £41 £4£ £43 £44 £45 £46 £4? £48 £43 £58 £51 £54 •;icc £56 £61 £64 GETLINE.; END: {% AN INCLUDE *) BEGIN C* GETLINE *) IF FLEVEL=£ THEN BEGIN IF EOF(FS) THEN<* MOVE BA( BEGIN CLOSECFS); FLEVEL'=1 END END ELSE IF EOFCF1 ) THEN END I TALL, PAGER i N-=N+1; IF FLEVEL=1 THEN READLNi FELINE) ELSE READLN.; LINELEN'=LENGTH0 THEN IF FLEVEL=1 THEN AN INCLUDE.; ,;■ ;i; Tj-|rr pr T [.;: ::;t I yuc pr riLE-t'- ; <* CHECK AND HANDLE EOF * FILE 1 *.: END; 3ETLINE * (* READCH IS THE FUNNEL THROUGH WHICH THE REST *; (* OF THE PROGRAM GETS CHARACTERS. IT FILTERS *; 0* OUT COMMENTS AND QUOTED STRINGS *: PROCEDURE READCH.; <* NEXTCHAR ASSIGNS TO CH THE NEXT CHAR IN THE #; <* INPUT STREAM *; PROCEDURE NEXTCHAR; BEGIN C* NEXTCHAR #) WHILE CHARPOS>LINELEN DO C* SKI Pi: BLANKS GETLINE; >h=LIHECCHARP0S3i :harpos^=charpos+i > (* nextchar *> SPANQUOTE SKIPS CHARACTERS UNTIL IT FIND QUOTE ( ' > CHARACTER. IT THEN CALLS READC READ IN A VALID CHARACTER. SINCE READCH CALL SPANQUOTE OR SPANCOMMENT, THE EFFC TO KEEP RECURSIVELY CALL 3 IN A COMMENT OR A QUOTE! T IS UNTIL WE ARE NOT 424 October 1981 © BYTE Publications Inc Circle 256 on inquiry card. Listing 1 cor tinued: £74 : ( * ■- -icr . (t PS-- OONT YOU !' iST £76 : c/ .■• ■ PR DCEDURE SPANQ JOTE ; 278 ; £79 : BE SIN £87: END; <* SPANQUOTE *> 283- ''* SPANCOMMENT DOES A SIMILAR DASTARDLY THING £90 : £9 135 413 C£ £4 1£9 C3 L_-J 139 £39 C4 26 3Fi CH 47 £63 C C 1 •-' 304 307 "' 1 O CHAR 47 CHARPOS 43 Uv'U £60 263 £64 £64 CHR ■l"Z l C CLOSE £05 £19 COHCAT £35 391 CONST lL-J' COPY 136 CpnsspEF "7 DELETE 189 DEST ur~) 397 "7 Q O DIV 81 QTj DO 162 £60 304 ~7 4 c~ o*to ELSE C C -J' c •!> c 3£0 -j'-jS 361 364 END 36 40 — icr C'~7 94 136 17£ £07 £11 CC i CC.C £45 ■1' -J ■-' -j cr —} 371 373 *T C." \J 434 END I TALL 164 ££5 EOF Ol "3 L_ i .-■ ££4 EOFNAME 181 191 193 136 EXIT 170 134 Fl CT--I ■JC ££4 £31 392 F£ Do £01 £05 £17 p I q c -j!" •!* FALSE 43£ FILLCHAR 415 FIRST 34 1£4 351 FLEVEL 50 £00 £06 £06 £15 ££0 G 54 1 p-7 133 T7 135 74 1 33 76 144 1 65 GETLIHE 99 £09 £61 485 ID T-J 34S -p cr i~i ~%fp 429 IF 66 70 129 158 193 £03 £41 £4£ "7 i ;~; "*P1 •.j c c •!'€-•-' 419 IN 411 INTEGER 43 44 49 50 116 181 IORESULT £03 393 399 ITEM 31 "?"5 ITEMREF "71 ■_= i 34 39 117 -?-?,:" K 43 413 413 421 421 422 KEY __,_, 123 348 353 3 be L 116 125 1£3 134 13S 138 LAST 34 "*J cr •-. ■ J> -J C 369 378 LEFT ~ ic ^ 15£ 349 368 LENGTH yd !-l3 •'-i "J —i L_ •._'.•■■ LINE 51 186 %3 l! ■j' 188 £31 £33 •-, -7 cr LI HELEN dp C ■-'.-•' £60 •jI'CC LNO ■yo 139 ~7cr .H •J. j 4 367 521 411 422 4£7 157 166 312 326 242 373 1-1 ~? i~. cr O b O -J . 1-J ill/ c£4 Ml 428 October 1981 © BYTE Publications Inc LP MEMAVAIl MOD N 122 122 132 NEW NEXT NEXTCHAR £56 282 381 30£ 3K NIL 142 150 342 343 356 HOT PACKED !-,;-! 66 162 44 66 164 164 344 345 7Q 146 u _ ; D etc 142 150 427 PAGER be 121 i "7 i POS 186 191 - : i4 1 "7Cj i PRINTTREE IBS 152 154 168 PRINTWO RD 113 153 PROCEDU RE 62 99 1 Rd 103 PROGRAM 3 170 READCH £85 310 418 READLN £31 O "7 "7 386 390 RECORD TO ~'"7 REPEAT 1 O"? 1 i_.-- OO 1 L_ '_' i. *7 iT-i "3 "?oo RESET £01 332 REWRITE "jj '-! :-: RIGHT "JET 1 Sd 350 "7 C"? ROOT 42 168 "7 "7 O 438 SEARCH •Z' %■' c 366 363 430 SIZEOF =4 I -J SOFNAME 180 186 189 SOURCE GTjC ~?o ~Q 398 SPANCOMMEH -'Q "7 324 SPAHQUO TE 319 STRING 51 CTET cr-i 182 TEXT 54 Ti IEN 6 6 78 129 150 241 242 318 32 419 TITLE 55 83 84 386 l"MAi v lE 182 188 189 1 9 1 1 96 tvpe x-'r'' UNTIL 142 ■;;:■■ c; ;t 387 393 399 MAR 42 115 179 332 334 ill 1 09 1 13 123 1 24 ! !S)~ : i 342 IT.44 34.(5 356 359 W 1 330 340 3 5 6 WHILE 162 26© 304 :.! I TH 3^ »ir- WORD 39 y,-y 1 13 WORDREF 3L 35 *4k! 189 7". y. 2 WRITE 123 135 139 389 396 WRITELN S£' 72 i'' -.J : 74 76 133 1 44 165 198 239 401 482 433 •..-; 117 124 139 148 148 T.ri4 355 366 367 368 407 409 191 391 193 £03 £15 £17 ££4 £30 196 198 281 411 42? 432 152 153 154 October 1981 © BYTE Publications Inc 429 Multiple Regression for the TRS-80 Thomas William Madron Manager, Academic Computing Services North Texas State University POB 13495 Denton TX 76203 Within the context of a large number of scientific and technologi- cal problems it is necessary to be able to predict a score or value of a variable (Y) from one or more predic- tors (Xs). One method commonly used to accomplish this feat is multi- ple linear regression. This article deals primarily with converting the mathematics of linear regression into a general-purpose BASIC computer program; therefore, only a very brief discussion of the mathematics is presented. Readers should consult the references for this article for a detailed treatment of multiple linear regression. The fundamental equation for linear regression using a single predic- tor is: Y = a + bx where V (Y prime) constitutes the predicted value(s) of the dependent variable; X is the predictor or in- dependent variable; a the intercept constant; and b the regression coeffi- cient. Suffice it to say, at this point, that multiple regression is an exten- sion of simple linear regression: Y = a + bjX, + b 2 X 2 + • ■ • + b„X„ where X,...X„ constitutes a set of predictors and bi...b„ a set of regres- sion coefficients. The primary problem in computing a regression lies in determining values for a and b . One formula that may be used to calculate a is: a - Y - bX where Y (Y-bar) and X (X-bar) are the mean values for Y and X. As with the prediction formula, there is a straightforward extension to the multivariate case: a - Y - b.X, - b„X„ b 2 X 2 — One of the primary problems, then, is to solve for the fas so that we may calculate the equation. For one or two independent variables, the calculations for the regression coefficients are straightfor- ward, but with more than two in- dependent variables it is useful to use a computer. It turns out that to ob- tain the coefficients, we need to solve a set of simultaneous equations. The easiest way to do the arithmetic is with matrix algebra. In order to obtain all the coeffi- cients we need, we can use the follow- ing formula (boldface letters denote matrices): B - RR -' X RY where B is a vector (in BASIC, a one- dimensional array), RR" 1 is the in- verse of the matrix (in BASIC, a two- dimensional array) of correlations between all of the independent variables taken two at a time; and RY is a vector of correlation coefficients of each independent variable with the dependent variable. (A correlation coefficient is a measure of the extent to which two variables vary together and, in the two-variable case, is iden- tical to the "standardized" regression coefficient b* [fo-star].) The vector B has as its elements these coefficients, or fa*s (b-stars). The b*s can be turned into bs through the use of the following formula: bj = b*j (s y /Sj) where s y is the standard deviation of the dependent variable and s, is the standard deviation of each ;th in- dependent variable. This article does not propose to explain matrix algebra, so suffice it to say that the computations for inverting matrices can be found in the book by Kerlinger and Pedhazur (reference 3) and in the articles by Adler (references 1 and 2). In interpreting the results of regres- sion, several additional statistics are useful. The first of these is the coeffi- cient of multiple correlation, which is simply the correlation between the observed and predicted Y values (usually designated by the capital let- ter R). The proportion of variance in the dependent variable explained by the set of independent variables is given by the square of R. The significance of R 2 can be calculated using an F-test. It turns out that once we have accomplished the matrix arithmetic described above, R 1 can be easily calculated: R 2 = fcVv, + b* + + faVv, and R = ^JR 2 . The F-test is also a straightforward calculation: F = R'/k (1 - R 2 )/(N - k - 1) where k is the number of independent variables and N is the number of observations. F can be tested for the probability of occurrence by con- 430 October 1981 © BYTE Publications Inc suiting a table of F values, or by com- putation as in the program described. Now let's turn the arithmetic into a useful BASIC program. Program Description When doing statistical program- ming it is often desirable to produce a program that has general applicabili- ty to a wide range of data. Indeed, for large computers, a number of exten- sive general-purpose statistical packages are available. Alas, such is not the case for microcomputers. But, the programs provided will run easily on a 16 K-byte Radio Shack TRS-80 Model I Level II computer. Except for the routines used to format the output for the TRS-80 video monitor, no unusual BASIC keywords are used. Later in this article we show how the program might be simplified if BASIC matrix functions were available (they are not for standard TRS-80 BASIC). Many regression programs com- bine the routines to generate correla- tion matrices with the regression calculations. Because there are a number of valuable uses for a "stand- alone" correlation program, I have provided two separate programs; data for the second is transferred by an output file from the first. The pro- gram in listing 1 generates a correla- tion matrix from keyboard or tape in- put. On option, the matrix can be saved on tape. The program in listing 2 calculates regression. It would be easy to substitute disk I/O (in- put/output) for tape I/O. Both pro- grams consist of a main calling pro- Text continued on page 445 Listing Is The correlation-matrix program (la) and a test run (lb). Written in BASIC for the Radio Shack TRS-80 Model I Level II, this program provides a "stand-alone" correlation matrix that may be saved on cassette tape. 10 00 ' CORRELATION MATRIX PROGRAM 1.010 CLEAR % DEF! I NT I--N 1020 ' IF THE ZEROTH ELEMENT OF THE ARRAYS ARE USED, THEN L030 ' IB MUST -■ ZERO, ELSE IB=1 . ND=THE MAXIMUM DIMENSION L 4 LOU 1 6 107 1 8 ) ' F L 3 R EACH ARRAY (MAX V A R I A B I... E S ) , ] ib=o:nd»15 DIM RCND,ND> ,A ,S(ND) CLSJPRINT "CORRELATION MATRIX PROGRAM' ) PRINT "BY THOMAS MM* MADRON" 1090 PRINT "2132 SAVANNAH TRAIL" Listing la continued on page 432 SAVE $$ ^cippkz computer 16K APPLE II 1049.00 32K APPLE II 1074.00 48K APPLE II 1099.00 DISKW/CONTROLLER 499.00 DISK ONLY 445.00 APPLESOFT CARD 139.00 INTEGER CARD 139.00 PASCAL SYSTEM 399.00 SILENTYPE PRINTER 349.00 HAYES MICROMODEM 295.00 Z-80 SOFTCARD 295.00 VIDEX80COL BRD. 295.00 16K RAM BOARD 169.00 RAM MEMORY FOR TRS-80, APPLE II 16KSET4116'S(200NS) 24.95 DISCOUNT PRICES ATARP 400 16K 349.00 800 16K 759.00 410 Recorder 64.00 815 Disk 1199.00 810 Disk 489.00 822 Printer 359.00 825 Printer 779.00 830 Modem 159.00 850 Interface Module 179.00 CX853 RAM 85.00 CX70 Light Pen 64.00 CX30 Paddle 18.00 CX40 Joystick 18.00 VERBATIM DISKETTES Box of 10 5 1 /i" 29.50 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 399.00 EPSON MX-80 499.00 EPSON MX-80 FT 599.00 GRAFTRAX 90.00 INTERFACE (APPLE) 75.00 CABLE 22.50 CENTRONICS 737-1 795.00 CENTRONICS 737-3 855.00 IDS445G 815.00 IDS460G 1195.00 IDS560G 1450.00 NEC 5510 W/TRACTORS 2650.00 NEC 5520 KSR W/TRAC. 2995.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 5726 industry lane COMPUTER FREDERICK, MD. 21701 PRODUCTS, INC. Store Hours: MON. THRU THURS. 9:30 AM— 9:00 PM FRI. AND SAT. 9:30 AM— 5:00 PM TO ORDER CALL: (301) 694-8884 Circle 154 on inquiry card. October 1981 © BYTE Publications Inc 431 > A STRING VARIABLE ND THEN PRINT "*** TOO MANY VARIABLES xxcx" JGOTO 1110 1130 ' NV MUST BE PASSED TO CORE A! 1 14 N V $ ■■■■■■■■ S T R* < N V >■ t N = : N V - ( 1 - 1 13 > J G O 3 U I 1150 C L S 1 1 N P U T ' ' D O Y O U WAN T T H E C R R E L A T I ON MA T R I X R E P R I N T E D " J Y $ 1 1 6 I F L E F T $ ( Y » > 1 ) -= " Y " T H E N O O S U B 3 117 CLSJEND 3 '' SUBROUTINE TO PRINT A MATRIX 3010 ' NR- NUMBER OF ROWS, NC-NUMBER OF COLUMNS, IF 3020 ' IB«0 THEN NR--NR--1 AND NONC -1 . IB* STARTING 3030 ' POINT FOR ARRAYS, 3040 FOR I~IB TO NR STEP 10JIA*I+9*IF IA>~NR THEN IA-NR 305 FOR J-IB TO NO STEP J A ■ J + 8 J I F J A > ~ N C T l-l E N J A ~ N C 3 6 GL S I P R I NT " C O R R E L A T I O N M A T R I X " I P R I N T T L # 30 7 F 1 * " " V AR t " J G 1 $ « ' ' # # # t " ; F 2 $ ■ ' ' # 1 1 1 " ! G 2 * « ' ' # # , # # ' ' 3 03 PRINT F1*J 3 9 F R L ^ J T J A 5 P R I N T U S I N G G 1 $ J L + 1? I N E X T I... S P R I N T 310 FOR L»I TO I A 3 1 1 P R I N T U S I N G F 2 * 1 1... + :!. | t F O R M » J T Q J A 3 1 2 P R I N T U S I N G G2 $ J R ( I... , M ) > J N E X T M $ P R I N T J N E X T I... 313 PRINT © 96 0, "TYPE 'C TO CONTINUE" 5 3140 Y*.»INKEY$:iF Y'I>-"C" THEN 315 ELSE 3140 3150 NEXT J : NEXT I 316 RETURN 40 ' COMPUTE MEANS, STOMAS, CORRELATIONS 4 010 ' N=»N UMBER OF VARIABLES, N«N-i IF IB (STARTING Select a modem for your computer ... easy as ABC. CHOOSE A. The Smart One™, Model CHOOSE B. The Acoustic Modem, Model CHOOSE C. The "Direct Connect" AM232, with its own built in microcon- AMII/A, for the Apple*. Comes complete Modem, Model AMII, for the Apple*. Comes troller. Auto Dials, Auto Answers, Auto with a powerful operating system. Supports complete with a powerful operating system. Modes (originate/answer), "Direct Con- 25 easy to use keyboard commands and Supports Auto Dial, Auto Answer, 27 easy nect" for any computer with an RS232 operates interactively with your programs, to use keyboard commands and operates interface . . .$299.00. No interface card required! . . . $1 79.00. interactively with your programs. No inter- face card required! . . . $289.00. Be a part of the information revolution. It's fun, exciting, informative, educational. Call or write your order today. COD's accepted. No interface card required! . . . $179.00. i w % % % AM232 ^MICBONETI • • • ■ ryiiCRDNETB MICROMATE ELECTRONICS, INC. 2094 Front Street • East Meadow, New York 11554 • Telephone 516.794.1072 All "Direct Connect" modems are FCC certified. *Registered trademark of Apple Computer, Inc. 432 October 1981 © BYTE Publications Inc Circle 235 on inquiry card. Listing la continued: 40 20 ' ELEMENT IN ARRAY S~0* ELSE N=N* 4030 GO SUB -'1:1.2 4040 GOSUE 4210 4050 T«NStFOR I»IB TO N t A(I)«A (I)/T 4060 S=SQR(R/T--AC2> J NEXT I 4 7 F R I ~ I B T N I F R J ■ I TO N J I F S C I ) * S ( J ) - • T I -I E N 4 9 4 S R ( J ,-I ) ~ ( R ( I , J ) /T- A ( I ) 3KA < J ) ) / < S < I ) »S < J ) ) 4 9 R(I t J)»R»1 .0 J NEXT I 41.00 IF Y3$~"Y*' THEN GOSUB 4480 4110 RETURN 412 ' SETUP PARAMETERS FOR CORE 4 1 3 C L S 1 1 N P U T " E N T E R ANA I... Y S I S N A M E " J T I... * 4140 INPUT "ARE THE DATA ERGM TAPE"JY1$ 41 SO INPUT "DO YOU WISH TO SAVE THE DATA ON TAPE" J Y 2* 4160 INPUT "DO YOU WISH TO SAVE THE MATRIX" J Y3$ 417 Y 1 * ■■■: I... E F T $ ( Y 1 * , 1 ) I Y 2 * - L E F T * ( Y 2 $ >!) i Y 3 $ « L E F T * < Y 3 $ , 1 5 4180 IF Y1$+Y2*<>"YY" THEN RETURN 419 PRINT"5K*>xERROR>K)K)KYOU CANNOT BOTH READ AND SAVE DATA TAPE" 42 P R I N T ' ' R U N I S T E R M I N A T E D " i E N D 4210 ■' INPUT/OUTPUT SUBROUTINE POP CORE 422 CLSJNS=0JIF Y1$<>"Y" THEN 423 ELSE 4240 423 IF Y2*<>"Y" THEN 429 424 PRINT "PLACE DATA TAPE IN RECORDER" 4250 P R I NT B 9 6 , " T Y P E ' C ' T O C O N T I N U E ' ' I 4260 Y*«INKEY* J IF Y*~"C" THEN 4270 ELSE 4260 127 IF Y:U""Y" THEN 4280 ELSE 4290 4 2 8 C L S J P R I NT " D ATA A R E 13 E I NO EN T E R E D F R O M T A I" 1 E " ! G O T O 4 3 1 Listing la continued on page 434 NEW PRODUCTS! NOW AVAILABLE FROM AUTOMATED EQUIPMENT TELEVIDEO SYSTEM I The Televideo System I is a CP/M 1 " 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, two 5" 360K drives, serial and parallel port. 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: 280A CPU. 64K Ram. Green screen 12" monitor, 240 x 640 pixel graphics resolution, sculptured typewriter-like keyboard, two 5" 360K CP/M" 1 is a licensed product supplied by Digital drives. Research, Inc. SwTetarideo System Ad. V.I.P.'S Cdll A.E.I. 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. 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, one 5" 200K drive, expandable. - . Circle 38 on inquiry card. October 1981 © BYTE Publications Inc 433 Listing la continued: 129 Q CLSi PRINT "ENTER DATA FOR EACH VARIABLE" ■"Y" THEN PRINT "OBS ,l JNS+lJ ,, VAR ,l JI+iJ 437 IF Y1*«"Y" THEN INPUT #•--:!. ,S$ ELSE INPUT S$ 4 3 B I F B $ ■■■■■■ ' ' E N D " T H E N 446 E I... S E S < I ) ™ V A I... ( S $ ) i N E XT I 439 IF Y2$<>"Y" THEN 4420 44 F O R I « I B T N I S $ ■ 3 T R * ( S ( I > ) 4410 PRINT #~ 1,8$ J NEXT I 442 FOR I- IB TO MtA 4430 FOR J = I TO NV~UR(I*J)=R(I,J)+S(I)xa(J)iNEXT J J NEXT I 444 NS="NS+1 4450 GOTO 4350 4460 IF Y2**"Y" THEN PRINT #•■-:!. , "END" 447 RETURN 4480 ' MATRIX OUTPUT SUBROUTINE 449 C M D " T " 1 C I... S SPRINT " P R E P A R E M A T R I X T A P E AND R E C O R D E R " 45 P R 1 N T Q 9 6 > " T Y P E ' C! ' T C O N T I N U E ' ' \ 45:1.0 Y*=INKEY*JIF Y**"C" THEN 452 ELSE 4510 452 P R I N T # -- :!. , T I... % % ? R I N T # •- 1 , N V , N S 453 F O R I ■■■■■■■ I B T N t P R I N T # ■••■ 1 1 A < I ) , S < I ) I N E X T I 454 FOR I«IB TO N; FOR J "-"I TO NJIF I«J THEN 4560 455 PRINT *-l,R(X*J) WE DISCOUNT PRICES - NOT SERVICE tipple computer * Sales and Service APPLE II PLUS 48K $1,099 APPLE II PLUS 16K $1,025 HARDWARE DISK II DRIVE & INTERFACE 499 DISK II SECOND DRIVE 439 BASF 5V«" DISKETTES (10) 25 LANGUAGE SYSTEM W/PASCAL 379 INTEGER BASIC FIRMWARE CARD 149 APPLESOFT II FIRMWARE CARD 149 CENTRONICS PRINTER INTERFACECARD .179 HIGH-SPEED SERIAL INTERFACE CARD .... 145 GRAPHICS TABLET 649 APPLE IEEE-488 INTERFACE CARD 339 M&RSUP-R-MODRF MODULATOR 25 MICROSOFT Z-80 SOFTCARD 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 W/INTERFACE 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(16SECTOR) 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 WORDSTAR 299 MICROSOFT FORTRAN 149 A ATARI- ATARI 800 16K $749 ATARI 4OO06K) 350 410 PROGRAM RECORDER 69 810 DISK DRIVE 439 815 DUAL DISK DRIVE 1199 16K RAM MEMORY MODULE 89 MICROTEK 32K RAM 179 850 INTERFACE MODULE 159 830 ACOUSTIC MODEM 159 825 PRINTER (CENTRONIC 737) 699 JOYSTICK PAIR 18 LIGHT PEN 65 ATARI VISICALC 149 BASIC LANGUAGE 45 ASSEMBLER EDITOR 45 MUSIC COMPOSER 45 STAR RAIDER 39 COMPUTER CHESS 30 BASKETBALL 30 TELELINK 20 DATASOFT TEXT WIZARD 79 computer age. inc. Authorized Apple Dealer & Service Center 4688 CONVOY STREET, SAN DIEGO, CA 92111 (71 4) 565-4062 (800) 854-1 941 TO ORDER: Please send cashier's check, money order or personal check (allow 10 business days lo 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 434 October 1981 © BYTE Publications Inc Circle 80 on inquiry card. Listing la continued: 4560 NEXT J {NEXT I 157 CMD"R" {RETURN (lb) RUN CORRELATION MATRIX PROGRAM BY THOMAS WM. MADRON 21 3 2 SAVANNAH TRAIL DENTON, TX 762 0:!. ENTER TOTAL NUMBER OF MARIAB ENTER ANALYSIS NAME? TEST DA ARE THE DATA PROM TAPE? N DO YOU WISH TO SAVE THE DATA DO YOU WISH TO SAVE THE MATE PLACI DATA 7 API .IN Ri: t'DRDl P TYPE 'C TO CONTINUE ENTER DA TYPE "END" WHEN DATA ENTRY C OBS 1 VAR 1 ? 19 OPS 1 VAR 2 ? 23 OPS 1 VAR 3 ? IS 2 OPS 2 VAR 1 ? 24 OPS 2 VAR 2 ? 28 OPS 2 VAR 3 ? 212 OPS 3 VAR :l. ? 21 OBS 3 VAR 2 ? 29 OBS 3 VAR 3 ? ISO ,ES TO BE CORREL :d? ON TAPE? IX? Y TA 1 r OR EA OMPI ..ETED CH VARIABLE Listing lb continued on page 436 74S00 COMPONENTS CONT'D SN7482N SN7492N SN7493N SN7495H SN7496H SH74122N SN74136N SN74141N SN74151N SN74153N SN741&4N SN74155* SN741S7N SN74160N SN74161N SN74163N SN74164N SN74165N SN74174N SN74175N SN74180N SN74181N SN74303N 27 E PROMS sv 450ns 4.75ea TMS27* E k ? c ipa 27oe twoea 450ns 2-/bea 2732 1 UBOea 4116 3O0NS 2 0Oea8to« 12.00 2O0NS 23S.W B for | 5J"jO 2114L 30ONS 295 ea 4 for 2 7 Sea 2O0KS 3 50*a 4 lo. 3 OOtw 2111 450NS 2 5Oea10lo. 2 00m 74LS00 74LS158 74LSHH 74LS162 74L.SW3 74LSW4 74LS165 74LSW9 74 LSI 70 74 LSI 74 74 LSI 75 74 LSI 00 74 L.S101 74 LS196 74LS107 74 LS221 74LS240 74LS241 74 LS243 74 LS244 74 LS245 74 LS2S1 74LS2&3 74LS2S7 74 LS259 74LS200 74 LS273 74 LS279 74LS290 74LS293 74LS305 74LS367 74LS373 74LS374 74LS377 74LSO60 74LS670 CPUs ■ Z 80 , 2 BOA CTC Z BOA CPU j Z 80 0O2 16 64K ; 808SA 2901 A MC6800 MISC 2102 450NS 95 BO 38 NE555 AY5 1013A I486 1489 8T26 ST28 8212 8216 IS410SCR IT410TRIAC 7905 7906 7915 7918 7805 7806 7B08 7812 M0330A1P MC1350P MC1358P LM380 LM565N LM741 WC1458P LM720 LM386 7 95 10 50 10 50 12900 13 50 7 50 9 50 1103A UP0765 'loppy disk control l« ULN2001 TMS440O MC4008P MH0O26 D3624 03O01 03OO2 as 14 W/1 40 16 10/ 1 60 1 IS 18 10/ 1 90 1 so 20 10/2 60 1 20 22 10/2 80 J68900 Synertek "KTM-3 LOW COST TERMINAL WITH KEYBOARD AND VIDEO KX) ,, * *499.00 " ** SPECIALS** 3.r«h MUFFIN FAN./i»»coM' •S.95 UPD 765C : Floppy Dia* ControINX 2732A: RIWsec EPMM 15.50 AY5-1013A:30«B»«I DART 'JX REAL-TIME CLOCK CALENDAR (MSM 5832) O«0WIm Mono Matal O.I. CMOS I C Fwt.'ti Tima. Month. Data. Vaar, I DavotWaak Bua Onantad 1 Bit Data So. 4 Bit Aodraaa R 'wHom Salac • Inlar Signat 32 ToBKhj ital Control *3-85 Sv Pow Sup Low Poarat Diaaipation *7.45 */SHCi XTAL >Si V45°° OR M tma ii hi. THE MPD 117 outrtl.nloiconf- rollatd DOwtH tourc* *79.50 SHELF/ DESK MOUNTED*5722 s 15500 ocsc. it m u-ntut. nun. urn HI Willi IIU UttO HKII hiimi mnam/ mnn H FiH II! ItitCHI • 1 1 nil POWER SUPPLY MODEL «CP198 input -ttO/125v output -5vdc ai 6amps TRS80 16K Add -On Instruct ions* Dip Switches S25 95 GLOBAL Logic Probes LP_l: 140.00 Pul»» Wldtl SOn—c Urn r.lM to On.... lp- 3: «6aoo PulM WH3I LPK-1: L09C Protm Kit-compM* nothing tufa to buy Mm pulM width Wn«c ♦1&95 CARDS MICROSOFT 280. *295°° 16K RAM *16000 VID6X VIDEOTERM 80 column '295°° KEYBOARD ENHANCER $12000 CALIF COMPSVS APPLE CLOCK '124°o PROTO BOARD *25°o PRINTERS EPSON MX- 80 '560°° CENTRONICS 737-1 '950°° 753-1 '2.995°° BASE II. inc 800B '649°° 850 '74900 Circle 101 on inquiry card. October 1981 © BYTE Publications lnc 435 Listing lb continued: DBS •'"{ VAR 1 ? 28 OES 't VAR 2 ? 3 DBS *\ VAR 3 ? 225 ORS 5 VAR :l. ? 28 0B8 i::j VAR 2 ? 28 DBS 5 VAR 3 ? 19? OBS 6 VAR 1 ? 3 cms 6 VAR 2 ? 26 DBS 6 VAR 3 ? 207 DBS 7 VAR :l. ? 3 OBS 7 VAR 2 ? 26 OBS 7 VAR 3 ? 2 OBS 8 VAR 1 ? 26 OBS 8 VAR 2 ? 25 OBS 8 VAR 3 ? 212 OBS Q VAR 1 ? i VAR 1 ? 3 OBS ', VAR 2 ? 28 OBS ':■ VAR 3 ? 208 OBS 7 VAR 1 ? END F'REF ''A "37 > > CU / I7 0,37 1 , TYPE 'C TO CONTINUEDO YOU WANT THE CORRELATION MATRIX REPRINTED? Y CORRELATION MATRIX TEST DATA VAR? 1 2 3 J. 1,0 -0,01 ()♦'■! 7 2 -0,01 1,00 0,37 0, o,s; 1,00 TYPE 'C TO CONTINUEREAD^ 436 October 1981 © BYTE Publications Inc Circle 1 on inquiry card. APPLE HEADQUARTERS ^cippkz Now! Write a letter and print immidiately! ' Apple II w/48K. 1 Disc w/cont. Sanyo 9" Monitor. Epson MX-80. • Epson Interface. • Epson Cable. • Apple Writer. j-BUSINESSMAN'S SPECIAL-\ • Apple II plus 48K. • Apple Disc Drive II and Interlace DOS 3.3. • Sanyo 9" B&W Monitor • Visicalc 3.3 Software Only s 2039 00 Complete Package Now Only s 2522 00 5'A DISKETTES FOR APPLE & OTHER MICROS Apple II W/48K s 1 169.00 For 220V Add s 100 MEMOREX MAXELL . BASAF Box ol 10*27.00 Box of 10 '35.00 .Box of 10 s 35.00 APPLE II ACCESSORIES DC HAYES MICRO MODEM II 5 309 VIDEX 80 COLUMN VIDEO TERMINAL ! 290 VYDEX KEYBOARD ENHANCER s 112 VISICALC, 3.3 s 159 SUP'R'MOD s 33 Z80 SOFT CARD s 298 THE SOURCE s 99 WORD STAR by MICRO PRO 3.0 5 269 APPLE SILENTTYPE PRINTER s 339 APPLE CLOCK/CALENDAR s 249 BPI GENERAL LEDGER s 320 BPI ACCOUNTS RECIEVABLE s 320 BPI INVENTORY CONTROL s 320 HIGH SPEED SERIAL INTERFACE. . s 174 5 -. [?/3 HEWLETT PACKARD 1 f fj 1 A Complete Computer System In One Small Package. The HP-85 is a powerful BASIC language computer, complete w/keyboard, CRT display, printer & tape drive all in one 20 pound unit. 16K RAM, expandable to 32K Reg. 3250.00 Now Only 5 2595 00 HP-83 Reg. 2250.00 s 1750° HP41CV HP41C . ... memory module only 27.50 269.95 189.95 Optical Wand 1/41 C 98.50 Printer 1/41 C 289.00 Card Reader I/41C 169.95 7225B Graphics Plotter OPT. 002 Reg. 2,200 M699 82901 M 5%" Dual Master Flex. Disc Drive Reg. 2,500 M900 2631 B Impact Printer OPT. 885 Reg. 3,950 s 2,895 ATARI ATARI 800 with 16K CALL FOR LOW PRICE Full line of ATARI software available EPSON MX-80 Printer S49995 MX-100FT Printer s 784 95 Texas Instruments 77 9914 Computer Designed to be the first Computer for the skilled user, or the beginner. Orig. 950.00 Now Only 379° Disc Drive Contr. Disc Memory Drive 224.95 349.95 Solid Slate Printer RF Modulator 295.00 39.95 SPECIALS Tl 59 Program. 179.95 Less Manuf. Rebate -20.00 YOUR COST 159.95 Tl 58C Program. PC 100C Printer tor 58/59 Sanyo Monitors VM-4509 9" B&W 1 69.95 DM-5012CX 12" B&W 259.95 DM-5112CX 12" Green 289.95 DMC-601 3 13" Color 449.95 Electro Home 9" Green 204.95 Full line of software in stock! ORIGINAL GENUINE IBM 8" Floppy Diskettes at Lowest Prices± IBM #2305845 SS SD s 3.44 IBM #2305830 SSSD s 3.44 IBM #1669954 SSSD s 3.44 IBM #1766870 DS SD s 4.59 IBM #2736700 DS SD s 4.59 IBM #1669550 SSSD s 3.44 IBM #1669044 DS DD s 5.19 IBM #1669045 DS DD s 5.19 IBM #1766872 DS DD s 5.19 TERMINALS Perkin-Elmer Bantam Terminal s 779 Applied Digital Data Systems Inc. VIEWPOINT Only s 610 ^Tel^ideb 910 s 655 920 C s 799 PRINTERS TEXAS INSTUMENTS Tl 810 s 1599 TI820KSR . . s 1799 DIABLO 630 s 2,395 1650 RO 1650 KSR 1640 RO 1640 KSR DEC WRITER LA34 s 1,075 PAPER TIGER 445G Graph . . s 785 s 975 s 790 s 1299 s 1595 s 2,999 s 3,599 s 2,579 s 3,550 440G Graph 445G Graph 460G Graph 560G Graph 440 s 899 445 s 699 460 s 1275 QUOME SPRINT 5/45 RO s 2,450 5/55 RO . . . . s 2,550 5/55 KSR . . . s 2,850 CENTRONICS 739-3 Serial . . s 840 739-1 Parallel. s 840 CORPORATE ACCOUNTS WELCOME 67 West 47th St. New York, N.Y. 10036 SUNDAY 10-4, DAILY 9-6. FRIDAY 9-2 ffl VISA AMERICAN] EXPRESS (212)260-4410 TOLL FREE OUT OF STATE 800-221-7774 800- 221-58581 800-223-5661 Items on sate lor limited lime only, and are subject to limited availability Not responsible for typographical errors This ad supersedes all other ads prior to Oct. '81. All orders subject to verification and acceptance. Minimum shipping and handling $4.95- Listing 2: The regression calculating program (2a) and a test run (2b) written for the TRS-80 Model I Level II. (2a) :i. Q " M U i... T I P L E R E G R E S 3 1 Q N P R G R A M 10 10 CLEAR J DEFT NT I-N 1020 ' IF THE ZERG'TH ELEMENT OF THE ARRAYS ARE USED, THEN 1 3 '■ I B M U S T ::;: Z E R » E L S E I B ■■■■■■ 1 . N D » T H E MAX I M U M D I M E N S 1 N 10 '10 ' FOR EACH ARRAY (MAX VARIABLES >♦ 10 5 IB-0 JND~15 1 6 DIM RY ( ND , IB > ,R < ND t ND > » X < ND » ND) » A # B , B ( ND t IB) 10 7 DIM IX (ND) jBECND) 1 8 C L S t P R INT " M U L T I P L E I... I N E A R R E G R E S S I G N P R GRAM" 1090 PRINT "BY THOMAS Wr-u MADRON U.97'9)" 110 PRINT "2132 SAVANNAH TRAIL" 1110 PRINT "DENTON, TX 762 01" 1120 FOR I»0 TO SO 5 NEXT I 1 1 3 G O S U B 40 J N ■ N V - ( 1 - 1 B ) i N R :::: N t N C :::: N I G O S U B 3 1140 CLSt INPUT "DO YOU WANT THE CORRELATION MATRIX REPRINTED" |Y$ 1150 I F I... E F T $ ( Y $ , 1 ) ■■■■■■ " Y " T H E N G O S U B 3 1160 CLSt INPUT "VARIABLE NUMBER OF DEPENDENT VAR* FOR THIS RUN"}IY 1170 lY-IY-(l--IB) 113 INPUT "NUMBER OF INDEPENDENT VARIABLES IN THIS RUN"JNI 119 IF NIM>NV THEN PRINT "so TOO MANY VARIABLES K5K5K' 1 { GOTO 116 1 2 1 2 1 122 ) PRINT "ENTER VARIABLE NUMBERS FOR INDEPENDENT VARIABLES' ) N-NI--(l-IB) l F O R I ■■■■■■ I B T O N J I N P U T IM % IX ( I ) * I M - ( 1 - 1 B ) J N E X T I 50 MHz DIGITAL MEMORY OSCILLOSCOPE IN A PERSONAL COMPUTER TWO CHANNEL DIGITAL MEMORY OSCILLOSCOPE. The Model 85 provides two signal input chan- nels on one board and the time base system on a separate board. Both vertical channels have a full 50 MHz bandwidth. Digitization is performed by high- speed sample and hold circuitry and an eight bit A/D converter to ensure high resolution and ac- curacy. FULLY PROGRAMMABLE. Auto- mated measurements were never simpler. Programmable features such as vertical attenua- tion, time base, trigger level, AC/DC/GND input and more, make the Model 85 a true laboratory and factory quality instrument. APPLE II* and APPLE II PLUS" COM- PATIBLE. The Model 85 Digital Memory Oscilloscope plugs directly into the Apple II peripheral slots. Easily installed-just plug in the vertical and horizontal boards, attach probe connectors, load the software, and you are ready to make precision measurements. DIGITAL STORAGE. All the conven- ient features of digital storage: refresh display for easy viewing, precision measurements, un- limited storage time, signal pro- cessing, waveform storage on disk. Now with the Model 85 Oscilloscope and personal com- puter combination, you can create your own sophisticated signal analysis sytem. Northwest Instrument Systems P.O. Box 1309 • 1/503/297-7471 Beaverton, Oregon 97075 NWIS A NEW PERFORMANCE STANDARD. The Model 85 Digital Memory Oscilloscope establishes a new performance standard in instru- ment systems. Furthermore, priced at less than SIOOO, it represents outstanding value. For more infor- mation on the Model 85, send for a copy of our product brochure by writing: 'Trademark of Apple Computer Inc. _.. — , , - li I ?■» 'Dili AC t jlji If )nS/ r c pre 1 2 cursor= +44.2bTJ NORTHWEST INSTRUMENT SYSTEMS MODEL 85 OSCILLOSCOPE 438 Oclotwr 1981 © BYTE Publications Inc Circle 269 on inquiry card. Listing 2a continued: 123 N :::: NI~( 1--IB) 1 2 q F R I ■ I B T N ! K »- 1 X ( I ) : F R J ~ X T Ci N 125 L~XX ( J ) » X ( I f J ) =R ( K t I... ) ♦ X< J t X ) :::; X ( I , J ) 126 N E X T J t X < 1 1 I ) ■■■■■■■ 1 » J N E X T I 1 2 7 F R I ~ I B T N S J ■ I X ( I ) J R Y ( I , I B ) ~ R ( X Y , J ) J N E X T I 1 2 8 G S U & 6 t N :l. » N I N 2 === I B 5 N 3 :::; N I G S U B 2 (i 129 AQ^A (IY) i R3~fl 1 3 F R I »~ I B T G N l J ~ I X < X ) 1 B E ( I ) ■ B ( I , I B ) * < S C I Y ) / S ( J ) ) 1 3 10 A = A ■•■• B E ( X > * A ( J > t R 3 :::: R 3 + B ( X , X B ) - R Y « X 9 1 B ) % NEX T X % R •'( - S Q R i R 3-) 132 Fi*="VAR MEANS SXGMAS ZERO-R BETA B 1 3 3 F 2 * = ' ' t # t # # # # # # . # # # : lf # : ii : : li : # . # # * # * : i! : # : li ; * # # * # # : li : * # # # # . # # 13^0 FOR :i>T.B TO N STEP 10JJ»I+9 135 IF J>N THEN J«N 136 CI... Si PRINT TL$ 137 PRINT Fl* 1380 FOR K«I TO J : I... ™ X'X < K ) J. 3 9 R 5 = R 3 - ( C B ( K , I B ) 7 S Q R ( X ( K , K ) ) ) ) C 2 1 T D P R I N T U S X N G F 2 * 1 1 X ( K ) + .1. t A < L > , S < I... ) , R Y ( K , I B ) , B ( K ■> I B ) , B E ( K ) , R5 1410 NEXT KJ PRINT Q 96 0, "TYPE 'C TO CONTINUE"; 1420 Y**INKEY**IF Y$«"C" THEN 1430 ELSE 1420 1430 NEXT I R2-XCX) 1 q 5 P R I N T " MU I... T X i :; ' i... E R « " ? R4 ? '* R - S Q U A R E D :::: " I R 3 ;l. •<} 6 D 1 = N 1 1 D 2 = N S ■■•• ( N X ) ••■• 1 J F 1 ~ ( I 1470 PRINT "FOR DF1~" ?D1 J "AN '< 3 * D 2 ) / < ( 1 •- R 3 ) * D 1 ) J G O S U B S 1480 PRINT "NUMBER OF OBSERVATIONS^" ?NS D2J"F»"|F1|"P™"JP Listing 2a continued on page 440 V_ MX80-S4B9 APPLE GRAPHICS PARALLEL INTERFACE Full Hi res Graphics for Epson, Okidata, etc. ADDS Viewpoint- $565 ALTOS ACS 8000-1 5 — $4750 ANADEX 9500 — $1 225 9501 — $1 275 ATARI 400 1 6K — $349 800 32K — $740 CENTRONICS 730 — $600 737 — $750 DATASOUTH DS120 — $595 DS180 — $1295 DIABLO 630 — $2150 1640 -$2575 DISKETTES Scotch — $2.50 Dysan — $3.50 EPSON MX70 — $379 MX10O — $849 HAZELTINE 1SOQ -$995 Esprit -$675 APPLE II $89 -$1179 M83A-S875 TRS80 BIDIRECTIONAL I/O PORT Cascadable with Selectable Addressing $39 INTERFACES SSM-AIO — $160 CPS-CARD — $1 99 NORTHSTAR HR64DD— $2895 HR64QD — $3280 LOBO Apple Driv.e/Card — $390/$90 TRS80 Drive/Interface — $260/$90 Apple DD Drive — $2740 MODEMS HAYS-MICROMODEM - $325 Novation-Cat — $1 55 Penril - 300/1 200 (21 2A) — $795 MONITORS APF — $125 SANYO-BW — $1 59 Sanyo-Green — $249 Color — $425 Amdek-Green — $159 Color — $350 MPI 88G — $595 9SG-$69S NEC 5510 — $2540 5520 — $2900 SOROC 120 — $729 135 — $799 SOFTWARE All Major Brands — $CALL televTdeo 91 2 — $669 950 — $949 Tl 810 — $1475 820 — $1795 OKIDATA M80 — $395 SL125-$3150 M82A — $585 SL250 — $4200 M83A — $875 M84 — $1175 XTRAS Memory-1 6K 200ns — $1 9.95 Game Paddle Extension — $14.95 Game Paddles — $1 9.95 IDSI Blue Break Out Box — $260 ZENITH Z19-$775 Z89 — $2195 DISCOUNT LINE 1-800-528-8960 EXPOTEK CORPORATION INTERNATIONAL. 2231 West Shangri La Road, Phoenix, AZ 85029 ARIZONA 1-602-861-3181 | EXPORT TWX- 910-950-1194 Circle 150 on inquiry card. October 1981 © BYTE Publications Inc 439 Listing 2a continued: 1490 PRINT Q 9 60, "TYPE 'C TO CONTINUE"? 150 Y**INKEY*»IF Yi!i«"C" THEN 1510 ELSE 1500 1 5 :!. C I... S J I N P U T ' ' D Q YOU W A N T A N T H E R R UN " J Y5 $ :!. 5 2 I F I... E F T * < Y 5 $ , 1 ) - " Y " T H E N 1 5 3 (J E I... S E C I... S J E N D 153 RUN 2 ' MA "f R I X M U L T I P I... I C A T 1. N 2 0:1.0 ' Nl "NUMBER OF RONS IN B AND X, N2~~N UMBER OF 2 20 ' OF COLUMNS IN B AND RY« N3~NUMBER OF COLUMNS 203 ' IN X AND NUMBER OF RONS IN RY . SUBTRACT 1 FROM 2040 ' FROM EACH IF IB»0« 2050 FOR I*IB TO Nl 206 FOR J-IB TO N2 2 7 B ( I , J ) :::: 2030 FOR K-«IB TO N3 2 9 B ( I , J ) ~B ( I , J ) +X ( I > K ) «RY < K , J ) 210 NEXT K 21:1.0 NEXT J 212 NEXT IS RETURN 30 ' SUBROUTINE TO PRINT A MATRIX 3010 ' NR "NUMBER OF RONS, NO NUMBER OF COLUMNS, IF 3020 ' IB«0 THEN NR-NR-1 AND NONC-1 ♦ IB -STARTING 30 30 ' POINT FOR ARRAYS, 3 40 FOR I -IB TO NR STEP 10tIA*I+9tIF IA>-NR THEN IA~NR 30 50 FOR J-XB TO NC STEP 9* JA-J+8JIF JA>«NC THEN JA==NC 306 C L S { P RI N "f "CO R R E I... A T ION MAT R XX" t P R I N T T L * 3 7 F J. * « " V A R X' ' I G :l. * «• ' ' # # ft ft ' ' J F 2 * ■ ' ' ft ft ft ft " J C 2 $ ••= " t * . # ft ' ' 30S0 PRINT F1$J A REFURBISHED DAISY WHEEL TERMINAL FOR PERSONAL COMPUTER USERS AND SMALL BUSINESSES. Now you can have letter-qualit y printin g and professional features for just $1,450? AJ daisy wheel printer terminals are renowned for And you can choose from a list of options including exceptional performance, high reliability, and applications forms tractor, pin-feed platen, paper trays, side shelves, versatility. Now you can have all this for only $1,450* in our extra printwheels, APL keyboard and 2K buffer. special limited offer. • 30 cps letter-quality printing • 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, and cable included • 30-day parts/labor warranty aSI Eis Call your nearest AJ regional office for details: San Jose, CA (408) 946-2900; Rosemont, IL 9(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 JACOB5QN 440 October 1981 © BYTE Publications lnc Circle 24 on inquiry card. Listing 2a continued: 3 9 F R L :::: J T J A t P R I N T U 3 1 N G G 1 $ J I... + 1 t % N E X "I" L X ? R I N T 3:1.0 FOR L*I TO I A 3 :l. :l. p R I N T U S I N G F 2 * 1 1... + :l. 5 J F R M :::: J T Q J A 3 :i. 2 P R I N ' l ' I. J S I N G G 2 $ |RHN E XT Ml P R I N T I N E X T L 3130 PRINT 8 9 6 0, "TYPE 'C TO CONTINUE" J 3140 Y*»INKEY*iIF Yt>««"C" THEN 3150 ELSE 3140 315 NEXT JS NEXT I 316 RETURN 400 ' MATRIX INPUT FROM TAPE ROUTINE 't0. 10 CMD"T ,, tCLStPRINT "PREPARE MATRIX TAPE AND RECORDER 1 '4020 PRINT @ 960, "TYPE 'C TO CONTINUE"? 4030 Y*«INKEY*JIF Y$~"C" THEN 4040 ELBE 4030 4040 INPUT #• 4050 N*NV-<1- ■1*TL*JINPUT #-l,NV»NS ■IB) 4060 i :: ' O R I ■ I E T O N 1 1 N P U T 4 - 1 , A ( I ) , B ( I ) t N E X T I 1070 FOR I™ IB TO NJFQft J™ I TO N1IF I*J THEN 4090 4 80 INPUT *-l,R(I,J) 40 90 NEXT J J NEXT I 4 1 F O R I » I B TO N I F O R J ■ I T O N S I F I :::: J T H E N R ( I , J ) « :l. J G O T O 4 1 1 el si:;: R(J,d=R(I»J) 4110 NEXT J t NEXT I 412 CHD"R"? RETURN SO ' PROP ABILITY OF OCCURENCE OF F»T#Z»CHI-SQ 50 02 ' ADAPTED FROM DONALD J, VELD MAN, FORTRAN PROGRAMMING 50 04 '• FOR THE BEHAVIORAL SCIENCES (NEW YORK i HOLT, RINEHART 5006 ' AND WINSTON, 1967), PP ♦ 129-131* 5 10 ' Dl, D2, Fl MUST BE SET BEFORE CALL Listing 2a continued on page 442 ADVANCED S-100 BUS PRODUCTS LDP1/2 The LDP1/2 utilizes the advanced 8088 processor to provide up to 8 times the throughput of a 4 MHz Z80A processor. The powerful instruc- tion set of the 8088 is ideally suited to higher level languages such as PASCAL and PL/1. The 10 slot motherboard leaves 7 slots for USER ex- pansion. With the option of a 10 MByte Winchester and MP/M-86, the LDP mainframe becomes a powerful multiuser system with the capabili- ty of handling 8 users without the degradation in performance experi- enced with Z80MP/M systems. The performance of the LDP1 and LDP2 has never before been available for such an affordable price. FEATURES: — LDP88, 8088 CPU board — LDP72, advanced floppy disk controller — LDP64K dynamic RAM — 1 serial RS232 port — 10 slot motherboard — 1 8" Shugart801R drive (LDP1), 2 Shugart 801R's(LDP2) — 4K EPROM socket for user population OPTIONS: — HAZITALL — 8" 10 MByte Winchester (replaces 1 Shugart 801 in LDP2) — MP/M-86 multiuser system — Woodgrained 7 slot chasis PRICES LDP88 CPU LDP72 FDC LDP64K RAM LDP128K RAM LDP256K RAM HAZITALL LDP1 86-DOS CP/M-86 Microsoft BASIC 86 ASSEMBLED* TESTED $ 349.95 274.95 695.00 1295.00 2095.00 325.00 3295.00 195.00 250.00 350.00 Call for LDP1 option prices and board kit prices. CP/M-86 and MP/M-86 are trademarks of Digital Research 86-DOS is a trademark of Seattle Computer Products LDP88 8088 CPU BOARD • 8088 CPU 5 MHz operation upgradeable to 8 MHz • 9 vectored inter- rupts • Fully complies with IEEE 696 electrical and timing specs • RS232 serial port with modem controls • 1 Kbytes of static RAM • 2 EPROM sockets (2716 or 2732) • 8087 upgrade kit available in Sept. • 8 bit bus eases interface to other S100 bus boards • 1MByte address space • 65K I/O ports 64/256K MEMORY • 8 or 16 bit operation • Meets all IEEE 696 specs • Access time 350 ns from PSYNC low • Intel 8203 dynamic RAM controller • 24 or 16 bit address decoding • No wait states with 5 MHz 8088 or 8086 • Parity with Error interrupt generation • No DMA RESTRICTIONS • 64K board is upgradeable to 256Kbyte board HAZITALL • 2 Serial RS232 ports • 2 parallel ports with handshake control • Math processor support (8231/9511 or 8232/9512) • WINCHESTER DISK support • Real time programmable interrupt • Clock/calendar with battery back up • Synchronous data communication supported LDP72 FLOPPY DISK CONTROLLER • IBM compatible single and double density format • Single or double sided drives • Programmable data record length (128 to 8192 bytes/ sector) • Multi sector and multi track transfer capability • Parallel seeks on up to 4 drives • On board digital data separator • Software selectable single or double density operation • Separate connectors for 5Vi" and 8 drives • Software selection of standard or minidrives allowing mixing of both drives on a single controller LOMAS DATA PRODUCTS 11 Cross Street Westborough, MA 01581 Telephone (617) 366-4335 Circle 204 on inquiry card. October 1981 © BYTE Publications Inc 441 Listing 2a 5020 5 3 5040 50 50 5060 5 7 5 B 50 9 5 1 5 1 :l. 5120 5 1 3 514 515 516 5170 518 5 1 9 52 5210 5220 523 524 525 PI 5270 6 !) continued: ' S IS RETURNED AS SIGNIFICANCE LEVEL P 1 ■ 1 , IF Dl * D2 * El :::: , THEN 526 IF El < 1*0 THEN 510 A => D 1 B :::; D2 F -™ El GOTO 5130 A » D2 B - Dl F - 1 . / F 1 A 1 - 2,0 / (9,0 * A ) B 1 :::: 2,0 / (9,0 * B ) X ■ (Ci.,0 •••• Bl) * EC, 3 3 333 3 -■ 1,0 + Al ) Y ■■■■ SQR(B1 « PC* 666667 + Al) Z ■ ADS(X / Y) IF B < 4,0 THEN 52 GOTO 5210 z « z * (1*0 •*• ,08 ;« zi::4 / bi:,3) Zl ■ ( »115194+Zx< ,000344-t-Z*, 019527) ) Pl« ,5/(1, 0+Z*< , 196854-:-Zx;Zl ) ) C4 IF El < 1,0 THEN 5250 GOTO 526 » 1,0 ■■■• PI P»Pi RETURN ' MATRIX INVERSION USING EXCHANGE METHOD DISK 111 100% Compatible Model III Disks Disk III Single Drive Assy. 1 $599.00 Disk III Dual Drive Assy. $864.00 IMMEDIATE DELIVERY COMPARE & SAVE VR DATA'S Disk III features: • Completely compatible w/TRSDOS™ • State-of-the-art circuitry. • Fully tested, calibrated and burned in. • Warranty 120 days • Installation with simple hand tools • Optional dual side and/or 80tk. • Conforms to FCC Class B Specs. 'DISK III single drive assembly includes: one 40 track 5Vi" double density drive, power supply, controller, mounting hardware, and applicable cables. Prices subject to change without notice. r^^» ■■■ ^SzSala 777 Henderson Boulevard Folcroft, PA 19032 ' OD AlddflS MSICT iet>S-I91> (9lZ)t E9061 Vd ' B !P 3 W • »S 3 ^!IO S 1 1 1 • 6£\r aJins aapjo urai 00001$ aBueip oj pafqns saouj paisi| }ou sui3}i uo saoud joj \\vq ttvd saavoasoDJOHNimnj 00 - S0I$ W3CIOWNODIX31 H3J30 pa*!"»n 3VI33dS OO'LKli OO'OUfc 00"06S$ 00'0S9ct 0017812$ 00"66f7l$ 9099 e Jerj [BJfiajuj OOIXWNOSdH JL308XW 00'06l7$08XWNOSd3 •Dei}/moe5S/OISS33N •DBii/mos9 0igvia •dgji/m (sdo gg) H3IIHMHV1S HOII 3 3AIHai-M8fr/68ZHlIN3Z aD 00"0W2$ NIVH9H3dnS Mt>9 oo"ozz$ wo-'didw/NoaNvi/oacn-ssAiHa S3JU(] 3|duiG§ 0g"TOZZ$ 00-0662$ :pg ipeius To order coll toll free- ( 800) 345-8102 or (215) 461-5300 In PA. 442 October 1981 © BYTE Publications Inc Circle 401 on inquiry card. Listing 2a continued: 6 010 ' N, IE MUST BE SET PRIOR TO CALL 6 2 IF N>ND THEN 603!) ELSE 6050 6 030 PRINT "MATRIX SIZE IS LIMITED TQ"JND 6 °t P R INT " Y U l-l A V E A S I Z E F " % N I E N D 60 50 FOR K-IB TO NSD<*-1/X xE I GOTO 6 1 5 6140 X(X,K)»X(X»K>*D 6150 NEXT J 616 NEXT I 617 X ( K , K ) ~~ D J N E X T K i R E T U R N (2b) >RUN M U I-. T I P !... E L I N E A R R E G R E E S I O N i :: ' R O G R A M B Y T l-l O M A S W M , M A D R O N (1979) 2132 SAVANNAH TRAIL DENTON, TX 76201 PREPARE MATRIX TAPE AND RECORDER 7 Y P E ' C ' T O C O N T I N U E C O R E E i... A T I O N M A T R I X Listing 2b continued on page 444 How can Carrel" teach Alice about Wonderland? As a trainer you should know! The Coloney Intelligent Learning Carrel™ is the answer to your individualized training needs. Carrel™ is a custom-built student learning station that contains an exciting new interactive video system. Now you can have the power of computer assisted and computer managed instruction with the impact of high speed access to video. The system includes: the Apple II Plus™ microcomputer, a laser reflective videodisc player, a color monitor and the Coloney Interface Package. A new learning experience awaits your students in the wonderland of computer controlled stereo sound, beautiful high resolution video and colorful computer graphics. An ever patient Carrel™ coaxes, questions, and delights while answering your student's needs in an individualized learning environment. Best of all, Carrel™ is inexpensive. At Coloney we continue to give you reasons to make us your number one choice in interactive training. Apple II Plus Is a registered trademark of Apple Computer Inc. The Coloney Intelligent Learning Carrel and Carrel are trademarks of Coloney Productions COLONEY PRODUCTIONS 1248 Blountstow/n Hwy. Tallahassee. Fl 32304 [904] 5750691 Circle 70 on inquiry card. October 1981 © BYTE Publications lnc 443 Listing 2b continued: TEST DATA VAR1 1 2 3 1 1,0 -0,01 0*47 2 --0*01 1*00 0,37 3 0*T7 0,37 1,0 TYPE 'C TO CONTINUEDO YOU WANT THE CORRELATION MATRIX REPRINTED? N VARIABLE NUMBER OF DEPENDENT VfjR. FOR THIS RUN? 3 NUMBER OF INDEPENDENT VARIABLES IN THIS RUN? 2 ENTER VARIABLE NUMBERS FDR INDEPENDENT VARIABLES ',) -i TEST DATA VAR MEANS 1 26*1? 2 27,25 STOMAS ZERO-R BETA "1*81 0*4743 0*4791 1*7? 0*367? 0*37^0 B R2--X(I> 1*1? 0,1354 2.50 0*225 TYPE 'C TO CONTINUE TEST DATA INTERCEPT- 107*825 MULTIPLE R~ » 604 04 R-SGUARED- ,364821 FOR DEI- 2 AND DF2« 13 F-~ 3*73383 P~ ,0514039 NUMBER OF OBSERVATIONS- 16 TYPE 'C TO CONTINUE DO YOU HANI ANOTHER RUN? N READY PRICE BREAKTHROUGH I6K RAM BOARDS FOR APPLE JUST $129.95 HAVE VOU BEEN WAITING FOR THE COST OF EXPANSION BOARDS TO COME DOWN? VOUR WAIT IS OVER. UP UNTIL NOW BAM EXPANSION HAS COST AS MUCH AS $195.00. NOW OMEGA MICROWARE IS PROUD TO ANNOUNCE THE ARRIVAL OF A TRULV AFFORDABLE EXPANSION CARD. NOW VOU CAN RUN PASCAL, FORTRAN, 56K CPM WITH A Z80 SOFTCARD, INTEGER BASIC, APPLESOFT AND OTHER LANGUAGES ON VOUR APPLE. NOW VOU CAN INCREASE USUABLE MEMORV FOR VISICALC. NOW VOU DON'T HAVE TO PAN A FORTUNE TO HAVE ALL THIS. AT $129.95, OMEGAS RAMEX 16 IS THE LOWEST PRICED CARD AVAILABLE TODAV. WHAT DO VOU GIVE UP WHEN VOU PURCHASE THIS FIRST REALLV AFFORDABLE RAM EXPANSION CARD? WELL, VOU GIVE UP HAVING TO REMOVE ONE RAM CHIP FROM THE MOTHER BOARD OF VOUR APPLE. VOU GIVE UP HAVING TO STRAP A CABLE FROM THE CARD TO VOUR MOTHER BOARD. THAT'S IT. WHAT VOU GET IS A SIMPLE, RELIABLE, BOARD THAT JUST PLUGS IN. MEMORV REFRESH IS ACCOMPLISHED ON THE BOARD ITSELF. THE RAMEX 16 IS GUARANTEED NOT JUST FOR 90 DA VS. NOT EVEN 6 MONTHS OUR WARRANTV IS FOR ONE FULL VEAR FROM DATE OF PURCHASE. WE WILL REPAIR OR REPLACE ANV BOARD THAT IS DEFECTIVE THROUGH MANUFACTURE FOR A PERIOD OF ONE VEAR AFTER PURCHASE PROVIDED THIS DAMAGE IS NOT USER INFLICTED. ORDER VOUR RAMEX 16 NOW BV CALLING TOLL FREE 1-800-835-2246. KANSAS RESIDENTS CALL 1-800-362-2421. MASTERCARD OR VISA ACCEPTED OR SEND $129.95. ILLINOIS RESIDENTS ADD $7.80 SALES TAX. ANOTHER QUALITV PRODUCT FROM OMEGA MICROWARE, INC. FORMERLV omega SOFTWARE PRODUCTS, INC. 222 SO. RIVERSIDE PLAZA CHICAGO, IL 60606 PHONE 312-648-1944 ©OMEGA MICROWARE, INC. APPLE AND APPLESOFT ARE REGISTERED TRADEMARKS OF APPLE COMPUTES. INC. PASCAL IS A REGISTERED TRADEMARK OF THE REGENTS OF THE UNIV. OF CA. SAN DIEGO. VISICALC IS A REGISTERED TRADEMARK OF PERSONAL SOFTWARE. CPM IS A REGISTERED TRADEMARK OF DIGITAL RESEARCH INC. ZSO IS A REGISTERED TRADMARk OF ZIlOG INC. SOFTCARD IS A REGISTERED TRADMARk OF MICROSOFT. ^ 444 October 1981 © BYTE Publications Inc Circle 276 on inquiry card. Circle 87 on inquiry card. Correlation Program Line Numbers Routine 1000-1170 main program 3000-3160 matrix-printing subroutine 4000-4570 correlation-matrix subroutine 4120-4200 read correlation parameters 4210-4470 data-input routine 4480-4570 matrix-tape-output routine Regression Program Line Numbers Routine 1000-1530 main program 2000-2120 matrix-multiplication subroutine 3000-3160 matrix-printing subroutine 4000-4120 matrix input from tape 5000-5270 probability-of-occurrence subroutine 6000-6170 matrix-inversion subroutine Table 1: Organization of the correlation and regression programs. The main dif- ference between the two is in the subroutines that begin at line 4000. It is impossible to consolidate the two into a single program (see text for details). Text continued from page 431: gram and a series of subroutines (easi- ly noted in the listings). Modifying the Programs The correlation program and the regression program are similarly organized (see table 1), but the latter reads data exclusively from a tape file generated by the correlation pro- gram. If a consolidated program is preferred, the correlation subroutine in the correlation program can be substituted for the matrix-input- from-tape subroutine in the regres- sion program. Both subroutines begin at line 4000 in their respective pro- grams. A consolidated program takes only about 6 K bytes of memory. Because the program is based on matrix algebra, several of the subroutines can be replaced with BASIC matrix functions. While Level II BASIC for the TRS-80 has no matrix functions, it is possible to ob- tain a software package (from Racet Computes of Orange, California) that provides those functions. And other BASICs, of course, may have the functions. For example, with the Racet functions, the matrix-inversion subroutine (lines 6000 through 617C) of the regression program could be changed to the following: 6000 ' MATRIX INVERSION 6010 I = &MINV(R,X,NV-1, D1,D2): RETURN Or in a DEC (Digital Equipment Cor- poration) BASIC system, it might ap- pear as follows: 6000 ' MATRIX INVERSION 6010 MAT C = INV(R) 6020 RETURN In both cases, some other (minor) changes would have to be made to the main program, but both techniques could be used. Built-in matrix func- tions, such as the example from DEC, do not typically use the zeroth row or column of arrays, thus wasting con- siderable memory. If these programs are implemented using such func- tions, however, the variable IB (line 1050) can simply be changed to 1, thus eliminating the use of the zeroth row and column throughout the pro- gram. The Racet functions use the zeroth row and column, and IB would be left unchanged. Bear in mind that these are only examples and that if the matrix functions are available, the program might be simplified in other ways as well. Since arrays in Level II BASIC can be dynamically dimensioned, a variable (ND) is also set in line 1050 to the largest number of variables that might be contained with any given memory size. Even in a 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 10 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 J BIT NUMBERS Figure I: Representation of a 16-bit word in UCSD Pascal. Every nonpacked scalar value is represented as two 8-bit bytes; least-significant bits are stored in the lower- numbered byte, while most-significant bits are stored in the higher-numbered byte. cant byte is at the lower of the two byte addresses. Figure 1 shows how to visualize a word; the least-signifi- cant bit is bit 0. Every nonpacked scalar value is represented in one word, as a 16-bit binary number. Integers An integer value is represented in one word as a binary number, with the least-significant bits in the low- numbered byte. Two's-complement notation is used to represent negative integers; thus, the most-significant bit of the binary number is a sign bit for the integer. If it is a 1, the integer value is negative and must be inter- preted accordingly (see table 1). Characters A character is represented in one word by its ASCII (American Stan- dard Code for Information Inter- change) code. Since ASCII codes are in the range through 255, they only require 1 byte; the character code is represented in the low-numbered byte of the word. (The most-significant byte contains Os.) Booleans A boolean value is represented in MODEL II DISCOUNT MODEL III BUY DIRECT 26-4002 64K 1 Drive $3297.00 We carry the full line of TRS-80 Computers. All sold at Discount Prices. TRS-80 COMPUTER SPECIALISTS CALL US. . . 26-1061 4K I $609.00 26-1062 16K III 849.00 26-1066 48K III W/2 Drives, RS232 2077.00 WRITE US FOR A FREE CATALOG SAVE MONEY 1-800-841-0860 Toll Free Order Entry IY1JCHQ MANAGEMENT SVSTEMS, 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 ,- Ci , AA . ,. (912) 377-7120 Ga. Phone No. & Export From Stock on Most Items TR ' s . ao „ „ reglItered , rademark of th . Tandy C0 r P . A copy of the manufacturer's war- ranty can be obtained free upon specific written request to the Electronics Department of our Cairo, Georgia Retail Store. Circle 227 on inquiry card. October 1981 © BYTE Publications Inc 449 Circle 46 on inquiry card. Soft-Core Street P«* s qnrty (7se« Guide to & oU % m: HERE'S A NEW CONTEST YOU'LL LOVE TO ENTER! Submit your favorite micro-computer game program to the Dirty Book" contest. You can win an expense-paid trip to fabulous New Orleans and enjoy the exciting French Quarter and all that jazz. The "Dirty Book" will expose your bedtime games and programs to thousands of prospective buyers when the premiere issue is published in the Fall. Micro Compoter Games for Adults Only- Direct ail inquiries for subscription information and further details on our contest to: <*Boo£ c/o The Bourbon Street Press 3225 Danny Park New Orleans (Metairie)LA 70002 (504)455-5330 Pictured above is the cover Illustration of our premiere issue. 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, Cromemco, Micropolis 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. Computers. the dependable store 257 West Street, Annapolis, MD 21401 - (301) 268-6505 13A Allegheny Avenue, Towson, MD 21204 - (301) 296-0520 9330 Georgia Avenue, Silver Spring, MD 20910 - (301) 588-3748 6671 Backlick Road, Springfield, VA 22150 - (703) 644-5500 Plaza 38, 2442 Route 38, Cherry Hill, NJ 08002 - (609) 779-0023 Callers outside metropolitan areas served by our stores Please call (301) 268-5801 Career Opportunities Available * An Equal Opportunity Employer Integer Value Stored Number Decimal Hexadecimal 32766 32767 - 32768 ■ 32767 32766 32767 32768 32769 7FFE 7FFF 8000 8001 (2"-1) (2") -2 65534 FFFE -1 65535 FFFF (2' 6 -1) Table 1: Two's-complement notation. Both positive and negative integers are represented by using the most- significant bit as a sign bit. Negative in- tegers are represented as binary numbers in the range 32768 to 65535. one word. The logical true or false value is represented by the least- significant bit of the least-significant byte. For most purposes, this is the only meaningful bit and all others are ignored — but read on. User-Defined Scalars When you declare a user-defined scalar type, each of its value identi- fiers is associated with an ordinality value; the first one declared has an ordinality of 0, the next has an or- dinality of 1, and so forth. For exam- ple, the declaration: VAR DAY: (MON, TUES, WED, THURS, FRI, SAT, SUN); creates a variable DAY whose possi- ble values (at the source program level) are MON through SUN. These are associated with the ordinalities through 6; thus, MON corresponds to 0, TUES corresponds to 1, and SUN corresponds to 6. If DAY is as- signed a particular value, such as the following: DAY : = WED the value is represented in binary as the number 2, because WED cor- responds to 2. Implications By combining this information on 450 October 1981 © BYTE Publications Inc Circle 92 on inquiry card. representation of scalars with the following facts about the ORD and ODD functions, you can do some in- teresting things. The ORD and ODD Functions The familiar ORD function accepts a noninteger scalar value as its pa- rameter, and returns an integer which is the ordinality of that value within its type. This is done in a strikingly simple way: ORD merely returns the very same value that was passed to it, and since ORD is, by definition, an integer function, the returned value is now interpreted as an integer. The method works because every non- packed scalar value is represented in the same way: as a 16-bit binary number. The integer value of the binary number is the ordinality of the scalar value. The ODD function accepts any in- teger as its parameter; it returns true if the integer is odd, and false if the integer is even. Notice that odd and even depend only on the last bit of an integer value (you will recall that true and false depend only on the last bit of a boolean value). ODD actually returns the same value that, was passed to it; since ODD is, by defini- tion, a boolean function, the returned value is now interpreted as a boolean value. This implies that the binary form of any scalar value can be interpreted according to its original type, or as an integer, or as a boolean value. Accordingly: • To interpret the binary value of any noninteger scalar S as an integer, use ORDS(S). • To interpret the binary value of any integer N as a boolean, use ODD(N). • To interpret the binary value of any noninteger scalar X as a boolean, use ODD(ORD(X)). Incidentally, the SUCC and PRED functions work by simply increment- ing or decrementing the binary value of a scalar (its ordinality) and return- ing the result as a scalar of the same type. The program BITFIDDLER (listing 1) is a simple-minded application of these ideas. It allows you to see an in- teger value as a list of bit values, set a selected bit, and clear a selected bit. In order to do this, it makes use of the fact that AND, OR, and NOT are 16-bit operations. It sets up an array of 16 integer values, each of which has a 1 in one particular bit and Os in all other bits (the values are powers of 2). Each of these power-of-2 values can be used in the TSTBIT function to test the corresponding bit of an in- teger via the AND operation. The result of the AND is a nonzero integer if the tested bit is a 1, and a integer if the bit is a 0. The SETBIT pro- cedure sets a bit by using the OR op- eration, and the CLEARBIT pro- cedure clears a bit by using AND NOT. To make these operations possible, the integer values must first be con- verted to type boolean by the ODD function. Then the boolean operation (AND, OR, or AND NOT) is per- Olympic Sales g^ SERVING YOU SINCE 1947 Company Main Showroom & Offices: . _ , 216 South Oxford Avenue visa' Los Angeles, CA 90004 — — WE HONOR SSffib VISA and MASTERCHARGE ISMS TELEX: 67 34 77 ORDER DESKS open 7 Days a Week! 7:00 AM to 7:00 PM Mon thru Sat Sunday Noon to 5:00 PM Order Desks: (213)739-1130 TOLLFREE TOLL-FREE (outside Calif.) (within Calif.) 800-421-8045 800-252-2153 Write S request our FAMOUS Catalog! Hundreds & hundreds of products-from many mantfatturers-such as SONY, CASIO, VICTOR CODE-A PHONE, MATTEL, SHARP, CANON, and on and on. . .too many to list here! All goods subject to availability; this ad super- sedes all previous ads; we are not responsible for typographical errors: we will meet or beat any advertised prices if the competition has the goods on hand. Minimum shipping and handling $4.95. All orders subject to verification and acceptance. %Skl EWLETT PACKARD Retail Your Cost HP-85 Microcomputer 3250.00 2595.00 HP-83 Microcomputer 2250.00 1795.00 16K Exp-Memory Module 295 00 259.95 Graphics Plotter 7225 215o!oO 20S9JS Personality Mod. for 7225 750.00 679.95 2631 B Impact prnter/hvy dly 3950.00 3295.00 Option 020 lor 2631 B 150.00 129.95 8 Disk Drives to choose from 82902S 1300.00 1149.95 9895A8"Dual Drive 6850.00 5595.00 Graphics Tablet 9111 A 2050.00 1699.95 HP-41 CV New 2.2K hytes mem 325.00 259.95 HP41C Calculator 250.00 188.95 Card Reader for 41 CV/C 215.00 168.95 Printer for 41 CV/C 385.00 284 95 Optical Wand for 41 CV/C 125.00 97.95 Quad Ram equals 4 Mem. Mods 95.00 84.95 Memory Modules for 41 C 26.95 HP-97 Progrmble Printer 750.00 579.95 HP 67 Progrmble Calculator 375.00 297.95 HP34C Progrmble Scientific 150.00 117.95 HP38C Progrmble Bus. R/E 150.00 119.95 HP-32E Adv. Scientific 55.00 48.95 HP-37E Business Mgmt. 75.00 58.95 We carry a large inventory of Libraries, accessories and supplies. Texas Instruments Tl 99/4 Home Computer 950.00 10" Color Monitor for 99/4 G50.00 32K Exp. Mem. Module 399.95 Extended Basic, a MUST for 100.00 32K Module Speech Synthesizer 150.00 Disk Memory Drive 500.00 RF Modulator 69.50 Telephooe Coupler (Modem) 225.00 Printer (solid statel 400.00 Tl 59 Progrmble Calculator 295.00 TI-58C Progrmble Calculator 130.00 PC 100C Prntr/Plotr for 59/58 225.00 Tl 57 Scientific Calculator 99.95 MBA Finance & Business 70.00 Tl hivestmt Analyst 65.00 Tl 55 Slide Rule 40.00 Tl-Progrmr Hexidecml/Octal 65.00 We carry a large inventory of software, accessories and supplies. $379.95 319.95 314.95 75.00 129.95 397.95 49.50 189.95 319.95 199.95 93.95 149.95 39.95 51.95 46.95 32.95 48.50 [cippkz computer We are an AUTHORIZEDSERVICING APPLE DEALER the best price m America ! 16K -32K-48K-96K-128K Drive with controller DOS 3.3 ami others 80 column cards >-— — _ Dow Jones & Quote Reporter ,-< DC Hayes Micromoclem II ~~-^J^s> and others. . t& S&B& rfrS Graphics Tablet Pascal and Fortran Languages VisiCalc and more and more APPLE III 96K and 128K "CALL US""* Ask for Package One to Three Special Prices! OHIO SCIENTIFIC Professional Computers Rgiail Your Cost C8PDF-48K 3495.00 3195.00 • Dual 8" Drives »64 col x 32 line/color • .7 MIPS -FASTI •Many more stndard features Fortran & Pascal availahle Many other OS/ products available -at discounted prices, of course! ATARI" PERSONAL COMPUTER *****SPECIAL! ATARI 400 (16K)**rbH Retail:$595.00 Your Cosf.$339.95 Language cartridge not included; Optional basic language cartridge:S54.95 800 1CK hytes of RAM 1080.00 759.95 410 Program Recorder 90.00 79.95 810 Disk Drive 600,00 469.95 825 Printer (80 col 999.95 779.95 Centronic 737) 820 Printer (40 col impact) 450.00 359.95 830 Acoustic Modem 200.00 159.95 850 Interface Module 220.00 179.95 Atari VisiCalc 200.00 169.95 Large inventory of software and accessories. PRINTERS • DIABLO (Letter Quality) 630 R102bi-directnal/tractor< 1640K109 keyboard, tractors 630 RO Receive ooly 1650K136 keyboard/tractors • CENTRONICSdot matrix 700-9 Parallel, heavy duty 704-9 Serial, heavy duty 737 1 Parallel 737-3 Serial 704-11 Parallel P-1 Electrostatic • PAPER TIGER 445G with graphics 46DG wilhgiaphics 560G New full size • EPSON MX 80 Impact printei MX 70 Impact piintet MX 80 FT cut sheet/tractor MX 100 FT 15" paper Retail Your Cost 2965.00 2699.00 3072.00 2899.95 2710.00 2499.95 3220.00 2999.95 1460.00 1199.95 1795.00 1599.95 995.00 799.95 1045.00 899.95 1870.00 1695.00 495.00 189.95 795.00 095.00 1394.00 1195.00 1095.00 1399. DO 645.00 499.95 500.00 399.95 745.00 639.95 945.00 789.00 WE ALSO HAVE . . . • NOVATION Modems Retail Your Cost CAT 199.95 D-CAT 199.95 APPLE-CAT Direct connect 349.95 • SANYO Monitors High Resolution, Number 1 seller! 13" Color (new) high quality 550.00 12" Green Phosphorous 360.00 12" Black and White 340.00 15" Black and White 370.00 9" B/W the best seller! 235.00 159.95 159.95 314.95 399.95 239.95 219.95 239.95 149.95 AMDEKILcedextHigh Quality Monitors 129.95 159.95 159.95 189.95 329.95 100 12" B/W, 12 MHz 179.00 100-80 12" B/W, metal cab., 199.00 space for floppy 100-G 12" Green, 12 MHz 199.00 300 G 12" Green. 18 MHz 249.00 Color I 1 3" Color, NTSC comp.449.00 input, aodio amp & speaker Color II 13" Color, RBG ioput, 999.00 699.9! hi res graphics, speaker • HAZELTINE Video Display Terminals • SHUGART Disk Drives • DEC VT100& VT103 Call us for your DISCOUNTED price TODAY! NEW! From Tl-Series 10 Personal Information Terminal Rerai/ 995.00 Your Cost 795.00 Circle 273 on inquiry card. October 1981 © BYTE Publications Inc 451 Listing 1: The BITF1DDLER program uses the ODD and ORD functions to manipulate data types. In the TSTBIT function and the SETBIT and CLEARB1T procedures, ODD is used to convert integer values into type boolean so that a bitwise boolean operation can be performed. (ORD then converts the result back to type integer.) PROGRAM BITFIDDLER; (*This program takes an integer value from the keyboard and displays its value as a list of 16 bit values. Then it sets a specified bit, displays the bit values again, clears a specified bit, and displays once more: *) (*Declare a subrange type for indexing the bits of an integer value:*) TYPE BITNUMBER = 0..15; (*Declare an array of 16 integers — one for each bit of an integer value:*) VAR BITVAL: ARRAY [BITNUMBER] OF INTEGER; I: BITNUMBER; INNUM, NUMBER: INTEGER; (*A procedure to initialize the array so that each BITVAL [I] has a 1 in bit I and 0's in all other bits:*) PROCEDURE INITIALIZE; VAR I: BITNUMBER; BEGIN BITVAL [0] := 1; FOR I := 1 TO 15 DO BITVAL [I] := 2*BITVAL [1-1] END; (*A function to return true if a particular bit of an integer value is a 1, or false if the bit is a 0:*) FUNCTION TSTBIT (BITPOS: BITNUMBER; N: INTEGER): BOOLEAN; BEGIN TSTBIT := ORD( ODD(N) AND ODD(BITVAL [BITPOS]) ) <> END; (*A procedure to analyze an integer value and report each bit:*) PROCEDURE ANALYZE (N: INTEGER); VAR I: BITNUMBER; BEGIN FOR I := TO 15 DO BEGIN WRITE('Bit ', I, ' of ', N, ' is a '); IF TSTBIT(I, N) THEN WRITELN('l') ELSE WRITELN('0') END; END; (*A procedure to set (to 1) a particular bit of an integer variable:*) PROCEDURE SETBIT (BITPOS: BITNUMBER; VAR N: INTEGER); BEGIN N := 0RD( ODD(N) OR ODD(BITVAL [BITPOS] ) ) END; (*A procedure to clear (to 0) a particular bi t of PROCEDURE CLEARBIT (BITPOS: BITNUMBER; VAR N: BEGIN N := ORD( ODD(N) AND NOT ODD(BITVAL [BITPOS] ) ) an integer variable:*) INTEGER) : END; Listing 1 continued on page 453 formed. This gives a boolean result, which is converted back to type in- teger by the ORD function. The boolean constants FALSE and TRUE are always represented as the 16-bit binary numbers and 1, respectively. ORD(FALSE) is and ORD(TRUE) is 1. In other words, FALSE has Os in all 16 bits, while TRUE has a 1 in the least-significant bit and Os in the other 15 bits. As the BITFIDDLER program shows, there are other boolean values besides FALSE and TRUE — values that have Is in other bit positions besides bit 0. I call these other values strange boolean values. For example, ODD(3) is a boolean true value but it is strange — it is represented by the 16-bit binary number for 3, not 1. It has Is in both bit and bit 1. Use of Strange Booleans In the BITFIDDLER program, we deliberately created strange boolean values, but you should be aware that a strange value can arise inadver- tently. As shown above, ODD of any integer except or 1 will give a strange value; the result is also strange when you complement a nor- mal boolean value by using the NOT operator, because Is appear in bits 1 through 15. In both of these cases, Classical Pascal says the result should be either TRUE or FALSE. You might wonder how strange boolean values can work correctly in IF, WHILE, and REPEAT statements. They work because the system ignores all bits except the least- significant bit when it looks at the boolean value in an IF, WHILE, or REPEAT. Similarly, when two boolean values are compared, all bits except the least-significant bit are ignored. But Classical Pascal allows other, less obvious uses of boolean values: • A CASE statement can be controlled by a boolean value (with cases la- beled TRUE and FALSE). • An array index can be of type boolean. • A FOR statement can have a boolean control variable that goes from one boolean value TO (or DOWNTO) 452 October 1981 © BYTE Publications Inc Listing 1 continued: BEGIN INITIALIZE; INNUM := 1; REPEAT (*Get- number from user:*) WRITE('Type an integer (-100 to quit-): '); READLN ( INNUM) ; NUMBER := INNUM; (*Demonst rate testing the bits:*) ANALYZE(NUMBER) ; (*Demonstraf e setting a bit:*) WRITE('Set what bit in the value ', NUMBER, '? '); READLN(I); SETBIT(I, NUMBER); ANALYZE(NUMBER) ; (*Demonstrate clearing a bit:*) WRITE( 'Clear what bit in the value ', NUMBER, ">. '); READLN(I): CLEARBIT(I, NUMBER); ANALYZE (NUMBER) UNTIL INNUM = -100 END. another boolean value. • A set of booleans whose possible members are the values TRUE and FALSE can be declared. These uses may seem unusual, but they're normal in the sense that they are part of Classical Pascal. How do these uses work when a strange boolean value is involved? You'll have to determine this answer for yourself, by experimenta- tion. There are now so many versions of UCSD Pascal that I don't know how each of them deals with, say, a strange boolean value used as an array index. Some versions cannot handle strange boolean values in these situations. (The current Version 1.1 release of Apple II Pascal does handle strange boolean values cor- rectly in all cases.) Representation of Arrays A nonpacked array of scalar values is represented simply as a sequence of words, with each word containing one scalar value as previously described. When the array is packed, each value does not necessarily take up one word. The word is still the unit of storage, but each word can contain more than one value if it has enough bits. Consider the declaration: VAR OCTAL: PACKED ARRAY (0.. 63] OF0..7; which creates an array OCTAL of 64 elements. Each element is an integer value in the range of through 7, and requires 3 bits. Since a word contains 16 bits, 5 array elements can be packed into a word. The elements are packed so that the first element is in bits through 2, the second is in bits 3 through 5, and so on, to the fifth ele- ^M. i ^kp^'^0^4h^i , k^;)t-' i^m Circle 126 on inquiry card. Ilia October 1981 © BYTE Publications Inc 453 ment in bits 12 through 14. Bit 15 is unused. The next element goes in bits through 2 of the next word. The following specific cases are of particular interest: • A char value requires 8 bits. In a packed array of char, each word of storage contains two char values: the first is in bits through 7, the second in bits 8 through 15. • A value of the subrange type 0..255 also requires 8 bits and can be thought of as a "byte"-type value. Storage in a packed array of 0..255 is the same as for packed char values. • A boolean value requires only one bit; in a packed array of boolean, each word contains 16 values. The first value is in bit 0; the last is in bit 15. The above applies only as long as the variables remain packed. Whenever a value is unpacked from a packed variable, it is expanded to occupy a full word with 0s in any "unused" bits. This occurs whenever the value is BOOKKEEPING MADE SIMPLE w GENERAL LEDGER FUNCTIONS 1 ACCOUNTS PAYABLE 1 Set-Up 6 Review Accounts 40 Payables Ledger 2 Post to General Ledger 41 Write Payable Checks 3 Close Month/Year 42 Accounts Payable Labels 4 Daily Journal ■ r, 5 Monthly Journal ACCOUNTS RECEIVABLE 6 Monthly Detail Report 50 Receivable Ledger 7 Trial Balance 51 Customer Billing 8 Income Siatement 52 Receivable Aging 9 Balance Sheet 53 Interest Add-On ID Chan of Accounts 54 Receivable Labels PAYROLL FUNCTIONS SPECIAL FUNCTIONS 20 Ad|ust Tax Tables 60 Initialization 21 Payroll Ledger 61 Index Update 22 Write Payroll Checks 62 Update Et Post to Files 23 Prim W-2 63 Special Directories 24 Initialize New Pay Period 64 General Directory 65 Adjust Budget 66 Comparative Budget Report 30 CALL OPTIONAL TASKS MENU 67 Call End of Session .a J *■ THE BOOKKEEPER SYSTEM™ Dealer Inquiries Welcome Jill I !ta III jfc) Up? The Menu ► A Combined General Ledger, Accounts Payable, Accounts Receivable, and Payroll ►-Expandable to Include Inventory, Order Entry, Certified Payroll, or Mail List ► Complete Easy-To-Follow Manual and Instructions ► For Microcomputers using CP/M, OASIS or TRSDOS Operating System ► 64 K Minimum, Hard Disk Compatible ► Demonstration Disk Available CP/M, OAS/S and TRSDOS are TMs of Digital Research, Phase One Systems and Tandy Corp., respecf/ve/y. 179 West Smith Street, Gallatin, TN 37066 (615)452-1027 We're Writing Programs For People used in an expression. Free-Union Variants An ordinary variant record has a tag-field value that is stored as part of the record. Your program can use the tag-field value to determine how the variant data is interpreted. This is useful when the variant data is of a specific type; the tag field serves as a safeguard against misinterpreting the variant data. Here, however, we are interested in purposely interpreting the same data in more than one way. This can be accomplished with an ordinary variant record: simply ignore the tag field. If you use a free-union variant, you can eliminate the tag field altogether; this saves memory and also makes the maneuver a little more obvious. A free-union variant looks like an ordinary variant, except that the tag- field identifier is omitted. A tag type is still required, as are case labels. For example: VAR FOXY: RECORD CASE BOOLEAN OF FALSE: (INT: INTEGER); TRUE: (BOOL: BOOLEAN) END; Now FOXY. INT refers to a value of type integer, and FOXY. BOOL refers to a value of type boolean. Both refer to the same word of data. The labels FALSE and TRUE, corresponding to the tag type BOOLEAN, are chosen as a matter of convenience; you can use any type that has enough possible values to use as case labels. In the BINARY program shown in listing 2, the type THREEWAY is declared solely for use as a tag type for a free union that has three cases. In the BITFIDDLER program, we used the INITIALIZE procedure to set up an array of integers, each integer having a 1 in one bit, and Os in all other bits. This was accomplished by making the value of each integer a power of two. In the TSTBIT func- tion and the SETBIT and CLEARBIT procedures, we used ODD to convert one of these integer values to a boolean value with a 1 in a particular bit. In the BINARY program we use a 454 October 1981 © BYTE Publications Inc Circle 378 on inquiry card. free union as a more powerful means of accessing individual bits of a boolean value — and more. This is a three-way free union that allows the same word of data to be treated as an integer, a boolean value, or an array of 16 boolean values. Multidimensional Arrays When you know how to access Listing 2: The BINARY program employs free union to access the individual bits of a word. The word can also be accessed as an integer or a boolean. The distinction is made in the field of the record VALUE: the BINOUT procedure references VALUE.BITS with a subscript to access a bit, while the main program references VALUE. INT to access the word as an integer, or VALUE. BOOL to access it as a boolean. PROGRAM BINARY; (*This program takes an integer value from the keyboard and displays its value as a 16-bit binary number by treating it as a packed array of 16 one-bit boolean values. Then if treats the value as one 16-bit boolean value, complements it, and again displays the result as a 16-bit binary number: *) TYPE (*A type to use as tag type in a 3-way free union: *) THR£EWAY=(A,B,C) ; (*An index type for 16-element arrays: *) BITINDEX=0. .15; (*An array type of 16 booleans, each one represented as B ITARRAY=PACKED ARRAY [BIT INDEX] OF BOOLEAN; (*A free union record type, which can represent an integer, or a bit array, or a boolean; same 16 bits in all cases: *) THREETYPES=RECORD CASE THREEWAY OF A: (INT: INTEGER) ; B: (BITS:BITARRAY); C: (BOOL: BOOLEAN) END; VAR ( *A general index variable: *) I: INTEGER; (*A variable of the free union type: *) VALUE:THREETYPES; (*A procedure which takes a parameter of free union type, treats it as a bit array, and writes the 16 bl*"S our a bit: * ) as l's and k ) PROCEDURE BINOUT(N'JM:THREETYPES) ; (*An index variable: *) VAR K:BITINDEX; BEGIN (*Scan The 16 bits, most significant Eirsfi *) FOR K:=15 DOWNTO DO (*If the bit- is "true," write a 1; if ir's "false," write a 0: *) IF NUM. BITS [K] THEN WRITE('l') ELSE WR1TEC0') ; WRITELN; END; (*Main program: *) BEGIN (*Prompt the user for a decimal integer: *) WRITE('Type Number: '); (*Store it as an integer value: *) READLN(VALUE.INT); (*write it as a binary integer: *) BINOUT( VALUE); (^Complement the value as a 16-bit boolean: *) VALUE. BOOL :=NOT VALUE. BOOL; (*Write it as a binary integer: *) BINOUT(VALUE) ; WRITELN END. data in memory in this fashion, the representation of data values becomes more interesting. Consider multidimensional arrays. When an array has more than one index, the last index varies most rapidly and the first index varies least rapidly. For example, in a two- dimensional array the second index can be thought of as a "column" index that steps along a row, and the first index can be thought of as a "row" in- dex that steps from one row to the next. The elements in a row are con- tiguous in memory. Another way to think of this is that the declaration: VAR TABLE: ARRAY(0..°, 0..4] OF INTEGER; is exactly equivalent to: VAR TABLE: ARRAY[0..9] OF ARRAY[0..4] OF INTEGER; The ARRAY[0..4] OF INTEGER is a one-dimensional array, so its elements are contiguous. The ARRAY[0..9] OF ... is also a one- dimensional array whose elements are arrays. Beware of multidimensional packed arrays! Remember that for each dimension of the array, the unit of storage into which values are packed is the word, so each array that makes up the multidimensional array occupies an integral number of words, with possible unused bits. For example, you might declare an 8-by-8 packed array of boolean (1-bit) elements: VAR X: PACKED ARRAY[0..7,0..7] OF BOOLEAN; If you expect that X will be stored so that all 64 elements are contiguous bits within 8 contiguous bytes, you are wrong. The declaration is equivalent to: VAR X: PACKED ARRAY[0..7] OF PACKED ARRAY[0..7] OF BOOLEAN; Each row of X is a packed array[0..7] of boolean, and occupies one word: 16 bits, not 8. X contains eight of these words (16 bytes); the most- significant 8 bits of each word are unused. October 1981 © BYTE Publications lnc 455 The Byte-Oriented Procedures There is yet another way around the strong typing of Pascal — the use of byte-oriented procedures. UCSD's documentation describes FILLCHAR, MOVELEFT, MOVERIGHT, SCAN, and SIZEOF as subroutines for work- ing with packed arrays of characters. The documentation mentions that the source and destination parameters for these routines are not type-checked, and, in fact, you should really think of them as subroutines for working with ranges of memory bytes. If you have the declarations: VAR BIT: PACKED ARRAY(0..15] OF BOOLEAN; BOOL: BOOLEAN; then you can transfer the value of BOOL into the bit array BIT by means of the following statement: MOVELEFT (BOOL, BIT, 2) which moves 2 contiguous bytes (one word) without checking data type. PEEK and POKE When you're writing in Pascal, there are very few situations where Collector TLdition T The Byte covers shown below are available as beauti- ful Collector Edition Prints Each full color print is 1 1" x 14". including a V/k" 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 S20 j#10 THR PROGRAMMING ROUTE S20 wPaW PS ~w *2 FUN AND GAMES S20 PERSPECTIVES Sold Out SOFTWARE MIRAGE S20 '12 FUTURE PAST S20 Tf5 W #6 TOTAL ECLIPSE S20 »7 COMPUTER HARDWARE S20 m ss COMPUTER CHESS THROUGH THE TRAP DOOR Mar. 1979 $35.00 BREAKING THE SOUND BARRIER Supt. 1977 $35.00 ALSO AVAILABLE are the prints shown al left. "Computer Chess" is an 18" X 22" tull color poster. "Through the Trap Door" and "Breaking Ihe Sound Barrier" are limited editions ol 750 prints each, signed and numbered by tha artist. Each print is 1fl" X 22", and is accompanied by its own Certificate of Authenticity. It both "Door" and "Barrier" are ordered, a special price of $55 applies. All three prints shown at lei! are shipped lirst class in heavy duly mailing tubes. Please send me the lollowing Prints: OTY TITLE AMOUNT S s#t9-ia Both "Trap Door' 1 & "Barriar" Post & Hand. (S3 US, $6 overseas) TOTAL \$2 Li I have enclosed check or money order □ Visa LI MasterCard Card # Expiration Date SHIP MY PRINTS TO: Name. _ Address City — Stale- Zip Mail this coupon to: I robert tinney graphics J 1864 N. Pamela Drive ■ Baton Rouge, LA ' n^T~~— —_ _ 70815 ■ /^8SSS?Bfa - ' ""^"WEEKl/ PEEKs and POKEs are of any use. The reason for this is that you don't know how the system is using mem- ory. When you access memory using a physical address, you can easily blunder into an area used by the system. Each version of UCSD Pascal gen- erally contains its own built-in, high- level constructs for the situations where particular locations must be accessed. For example, the loud- speaker on an Apple II is activated by accessing a particular location, but Apple II Pascal provides a procedure called NOTE that lets you generate tones on the speaker without know- ing the special location. Suppose, however, that you have a peripheral device that wasn't an- ticipated by the designers of your UCSD Pascal, and it needs to be con- trolled by accessing a particular loca- tion. In BASIC, you would do this with PEEKs or POKEs; to get the same effect in Pascal, you must create Pascal PEEKs and POKEs. There are two tricks in PEEKing and POKEing with Pascal. The first is to declare a variable type that cor- responds to one physical memory byte. A byte is 8 bits, and can hold a value in the range through 255. But if you declare: TYPE BYTE = 0..255; it won't work correctly. The problem lies in the fundamental rule that every nonpacked scalar is represented in memory as a word (16 bits). A vari- able of type BYTE will occupy 2 bytes, with in the higher-numbered byte. To avoid this situation our "memory byte" type has to be packed: TYPE BYTE = 0..255; MEMBYTE = PACKED ARRAY [0..0] I OF BYTE; Now a variable of type MEMBYTE is an 8-bit value that occupies just 1 memory byte. The second trick is that a pointer variable is represented as if it were a scalar variable: it is a 16-bit binary number, and its numeric value is a physical address. Now we can declare a two-way free-union record type as 456 October 1981 © BYTE Publications Inc Listing 3: PEEKing and POKEing. As shown in figure 3a, a two-way free-union record type can represent either a pointer value or an integer value. A direct reference to a physical location can be performed with the functions shown in figure 3b. {3a) (3b) 1YPE BYTE = 0. .255; .-1EMBYTE = PACKED ARRAY [0..0] OF BYTE; LOCATION = RECORD CASE BOOLEAN OF TRUE: (ADDR: INTEGER); FALSE: (PTR: "MEMBYTE) END; PROCEDURE POKE (ADDRESS : INTEGER; VALUE. • BYTE) ; VAR LOC: LOCATION; f:EGIN LOC. ADDR := ADDRESS; LOC. PTR" [0] := VALUE END; FUNCTION PEEK (ADDRESS : INTEGER) : BYTE; VAR LOC: LOCATION; rJEGIN LOC. ADDR := ADDRESS; PEEK := LOC.PTR~[0] END; shown in listing 3a. If LOC is a variable of type LOCA- TION we can assign a physical ad- dress, such as 32766, by writing: LOC. ADDR 32766 At this point, LOC.PTR t [0] is a direct reference to the contents of byte location 32766. We can now declare a POKE procedure and a PEEK function (see listing 3b). As in BASIC, there is one wrinkle to using PEEK and POKE. Because of the two's-complement notation for negative integers, the largest possible positive integer value is 32767, or 2 15 — 1. In order to represent a phy- sical address greater than this, you must use a negative integer to get the desired binary number (see table 1). Going Further You now have enough information to make experiments that will tell you even more about the inside workings of your system, and you may even discover more useful programming tricks. Remember the warning, though: tricky programming may work once, but you can receive a nasty surprise when you change your program, switch systems, or try to use an updated version of UCSD Pascal. ■ ^^ 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 Sysicm 1 Computer System 2 Computer System 3 Computer TS-80 user stalion List Sell 3995 CALL 8995 CALL 19995 CALL 1795 CALL TELEVIDEO TERMINALS 910 Termin 912CTeCPS Serial 3055 5520-1 KSR Serial 3-115 2050 CALL CALL 2495 2895 I E2fl) HRZ HRZ HRZ HRZ HDS 2D-32K 2D-64K 2Q-32K 20-64 K Hard Disc LI II 3695 4195 3995 4495 5374 Sell 2495 2895 2890 3250 36M NORTHSTAR SOFTWARE Usl ! Norihword D Q 399 Mailmanager DO 299 Infomanager DO 499 General Ledger D/O 999 A/R D/O 599 A/PD/Q 599 TEXAS INSTRUMENTS PRINTERS Sell 10 BASIC 810 Full ASCII 10 FLC'CP 820 R. O BASIC 820 KSR Package List 1895 1495 1995 1583 2195 176D 1995 1625 2395 1953 NORTHSTAR ADVANTAGE COMPUTER ADV-20-64K SIO Board PIO Board FPB Board Graphics Option Sell CALL CALL CALL CALL CALL SYSTEMS GROUP 2800 Compuier DM-6400 Memory DMB-6400 Memor CPC-2813 CPU FDC-2801 Controll O QUME PRINTERS Sprint 9 35CPS R O Sprmt 9 45CPS R O Sprint 9 55CPS R O Full Control Option Memory Option 1700 2000 2050 MORROW DECISION COMPUTER Decision 1 BASIC Decision 2 65K Static Ram Switchboard I/O Selecl drives from lor desired o List 1725 Sell CALL 1000 780 259 210 iw disc systems MORROW DISC SYSTEMS Discus 2D 1 Drive Discus 2D 2 Drive Discus 2*2 1 Drive Discus 2*2 2 Drive M26 Hard Disc M20 Hard Disc Lisl 1095 1875 1395 2495 4495 Cat Modem D-Cal Auio-Cat Apple-Cal DC Hayes M.crc ZENITH DATA SYSTEMS Lisl Sell VM-121 Green Monilor 160 t25 Z-19 Terminal 995 750 Z-89 Compulei 2895 2140 Z-90 Compuier 3195 2490 --Call (or Accessory Pricing— Peachlree Sollware Availahle MICROPRO SOFTWARE List Sell Wordslar 495 300 Apple Wordslar 375 275 Spellslar 250 190 Mai I merge 150 100 Datastar 350 250 Supersorl 250 190 DISCS— CABLES Memorex 5" 2D Memorex 8" ID Memorex 8" 2D RS-232 5 Cable RS-232 10' Cable —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 Circle 39 on inquiry card. October 1981 © BYTE Publications Ire 457 Apple Analog-to-Digital Conversion in 27 Microseconds Michael A Seeds, Associate Professor of Astronomy and Harold F Levison Joseph R Grundy Observatory Franklin and Marshall College POB 3003 Lancaster PA 17604 We began designing a computer-controlled data- acquisition system for the Franklin and Marshall College observatory, when suddenly we realized that we would have to build our own A/D (analog-to-digital) circuit board. Most commercially available A/D boards are designed for the S-100 bus or computer buses other than the Apple II. The only board we found specifically designed for the Apple was both expensive ($395) and very slow (400 milliseconds). At this time, various manufacturers are announcing new A/D boards for the Apple, but these, too, are expensive, and at least one of these has only 8-bit resolution. Our data system required 10-bit accuracy and high-speed performance. The circuit we designed to meet these requirements costs less than $100. (See table 1.) Circuit Description The Apple A/D circuit can be divided into four sec- tions. The input section consists of two 741-type opera- tional amplifiers and an AD582 sample/hold amplifier. The op amps accept a signal between and 10 V and pro- vide a zero offset adjustment. The AD582 device follows the input voltage until it receives a control signal in- dicating that an analog-to-digital conversion is to take place. It then samples the input voltage and holds its out- put to that voltage for the duration of the conversion. Thus, the AD582 provides a constant voltage (adjustable with gain control) for the conversion process, preventing a rapidly changing input signal from destroying the ac- curacy of the conversion. The heart of the circuit's second section is an AD571 analog-to-digital converter device, which performs the actual conversion of voltage levels to digital data. (Both the AD571 and the AD582 are manufactured by Analog Devices, POB 280, Norwood MA 02062.) Section three contains the three-state-output latch devices, a 74125 and a 74LS244. On command from the microprocessor, these connect the output of the AD571 converter to the system data bus. Finally, the fourth section contains a 74LS138 demultiplexer that decodes the address bus input, controlling the actual operation of the A/D circuit through a 7400 quad two- input NAND device and a 7404 hex-inverter package. The 7400 NAND gates play a critical role in the opera- tion of this circuit. Address signals appear on the Apple II system bus for less than 1 microsecond, but the AD571 converter requires a pulse no shorter than 2 microseconds to initiate a conversion. Expanding the pulse width of this control signal with a flip-flop constructed from a 7400 device satisfied this requirement. Referring to figure 1, a conversion begins when the 1 Apple protoboard $24.00 2 741 op amps 0.80 1 AD582 sample-and-hold amplifier 14.05 1 AD571 analog-to-digital converter 23.00 1 7404 hex inverter 0.25 1 7400 quad dual-input NAND gates 0.22 1 74LS1 38 demultiplexer 0.99 1 74LS125tri-state latch 0.89 1 74LS244 tri-state latch 2.95 1 10 K 10-turn potentiometer 10.65 1 10 K 1 -turn potentiometer 3.30 Total $81.10 Table 1: List of components necessary to bu ild the A/D con- verier shown in figure 1, The prices given by the at tthor may not be representative of current component prices 458 October 1981 © BYTE Publications Inc processor writes a datum to hexadecimal memory loca- tion COAO (assuming the A/D circuit card is plugged into slot two of an Apple). This sends the card select line (DS) into a low state, enabling the 74LS138 demultiplexer to decode the zero value present on the three least-significant lines of the address bus, A to A 2 . Output zero of the 74LS138 (the START line in figurej.) goes low, which, combined with the R/W (READ/WRITE) line already in a low state from the pro- cessor write, sets the flip-flop and forces the B + C line high. This tells the AD571 to prepare for a conversion. When it is ready, the converter sends the DR line high, resetting the flip-flop, sending B + C low and initiating the conversion. Thus the addition of the flip-flop permits the AD571 to start a conversion only when it is ready, assuring that the sub-microsecond pulses on the address bus will start a conversion. The DR line remains high while the AD582 chip is making a conversion — about 25 microseconds. When DR goes low, the conversion is complete and the data is ready. This DR line could be used to provide an interrupt, but we chose to bring it to the data bus through a three-state latch and allow the computer to test DR repeatedly until it goes low. Because the circuit operates so fast, machine-language programs test DR only twice before it goes low, and BASIC programs do not run fast enough to catch DR while it is still high. Thus, testing DR with a software loop wastes very little time. Operation When the A/D card is signaled to begin a conversion, Number Type + 5 GND -12 V + 12 V IC1 LM741 4 7 IC2 LM741 4 7 IC3 AD582 5 10 IC4 AD571 10 12 IC5 7404 14 7 IC6 7400 14 7 IC7 74LS138 16 8 IC8 74125 14 7 IC9 74LS244 20 10 ADDRESS BUS DATA BUS Figure 1: Schematic of the A/D converter built on an Apple II plug-in prototyping card using ordinary soldering techniques. Two special components from Analog Devices comprise the heart of this fast and inexpensive circuit. This circuit can be easily adapted to other computer systems. October 1981 © BYTE Publications be 459 the input circuit samples the analog voltage to be con- verted and holds it constant during the conversion. The A/D device makes the conversion, and once the 10 bits of data are ready, the board signals the computer by pulling DR low. The computer may then read the 8 MSBs (most-significant bits) in 1 byte and the 2 LSBs (least- significant bits) in another. If 8-bit resolution is sufficient, the 2 LSBs can be ignored. Operation from a 6502 machine-language program is accomplished as follows. (Again, we assume the card is in slot 2.) The execution of STA $C0A0 (write the contents of the accumulator to hexadecimal location C0A0) begins a conversion. The computer then checks to see if the data is ready by LDA $C0A3 (read from C0A3). As soon as Command BeginConversion Get DR 8 MSBs 2 LSBs 6502 Machine Language BASIC STA $C0A0 LDA SC0A3 LDA $C0A1 LDA $C0A2 POKE 49312,0 PEEK (49315)* PEEK (49313) PEEK (49314) "Unnecessary for BASIC programs Table 2: Control and status commands for the A/D con- verter. Note that 2 bytes must be read to get 10-bit resolu- tion. The memory locations specified and the machine- language and BASIC instructions are from the original in- stallation on an Apple II. NEVADA / >149< / DISKETTE AND MANUAL • Uses CP/M or MP/M operat- ing system to work with TRS-80, Apple's with softcard, North Star, Superbrain, Micropolis, and : many other microcomputers. Needs a minimum of 16K of RAM. Uses single density 8" or 514" diskette. o EL LIS 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. Edition II of Nevada COBOL, a subset of ANS1-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 < = >N0T. • 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 2« Q$ the eighth bit in this cell goes to 0, the data is ready and the computer can read the 8 MSBs with LDA $C0A1 and the 2 LSBs with a LDA $C0A2. On our board, we found that the fifth bit of location C0A2 fluctuated between and 1. When the computer is reading the contents of location C0A2, the 6 LSBs are undefined. The computer should recognize these as 0s, but that may not always be the case because of variations in the components. The solution is to mask the byte read from location C0A2 with an AND #$C0 (logical AND with the hexadecimal value CO). This ensures that the 6 low-order bits will be 0. Similarly, the contents of loca- tion C0A3 can be masked by an AND #$80 to be sure that only the eighth bit can be a 1. The A/D board can also be operated from BASIC pro- grams by using a POKE 49312,0 to begin the conversion and PEEK (49313) and PEEK (49314) to read the high- and low-order parts of the data. You must beware, however, of undefined bits in the low-order word. These can cause confusion and limit the board to 8-bit resolution when it is used from a BASIC program. These hexadecimal and BASIC commands are summarized in table 2. The best arrangement for using the card from a BASIC program uses a short machine-language program to han- dle the actual conversion and masking. The program shown in listing 1 will assure that no undefined bits con- fuse the data. The program is relocatable and communi- cates with other programs via zero page locations FE and FF. The AND instructions mask off undefined bits. If this subroutine is called from a BASIC program, the two words of data can be combined into a single number by: X = PEEK (254)*4 + PEEK (255)/64 Division by 64 is necessary because the 2 LSBs occupy the two highest-order bits of the word in hexadecimal C0A2. Speed Analog Devices lists the speed of its AD571 chip as 25 jts, typical. Tests of our A/D board indicate that the time from the beginning of a conversion until the data is ready is about 27 fis. The time needed to read the 10 bits of data and store them in memory locations is about Listing 1: The 6502 machine-language routine called from BASIC that assures that no undefined bits will confuse the data read from the A/D circuit. 8D A0 CO Begin STA $C0A0 Start a conversion ADA3 CO Test LDA $C0A3 Get DR 29 80 AND #$80 Mask off undefined bits D0F9 BNE Test Test DR ADA1 CO LDA $C0A1 Get 8 bits of data 85 FE STAZ $FE Store in zero page ADA2C0 LDA $C0A2 Get 2 bits of data 29 CO AND #$C0 Mask off undefined bits 85 FF STAZ $FF Store in zero page 60 FITS 460 October 1981 © BYTE Publications Inc Circle 416 on inquiry card. Figure 2: A 1 kHz signal sampled at 8-bit resolution thirty-one times per cycle. Note that since the circuit described does not accept negative-input signals, the lower half of this signal has been clipped off. 24 /xs minimum, so the card can sample the input approx- imately every 50 lis. The overhead for data handling could be cut to 9 lis by using only the 8 MSBs. Our operating system must be able to sample the input signal at a minimum of 1000 times per second at the direc- tion of 1-millisecond interrupts from the clock. The speed of our A/D board gives us plenty of time to read the data, modify it as necessary, calculate the next empty ad- dress of memory (skipping over page 1 of the high-resolu- tion display), and store the data. The system then waits for tfie next 1-millisecond interrupt before beginning the next conversion. Figure 2 illustrates the speed of the card as used in our system. The input signal is a 1 kHz sine wave. The A/D converter accepts only positive voltages, so the negative portion of the sine wave is clipped. With the data-acqui- sition system free-running, independent of clock inter- rupts, and accepting only 8-bit resolution, the computer could sample the input signal thirty-one times per cycle. Setup This circuit has two controls that must be adjusted before the converter is used in any specific application. For example, the prototype (developed under a grant from the National Science Foundation) is used at an observatory to detect the light of a particular star as it disappears behind the moon. To compensate for exces- sive moonlight that can interfere with the measurements, the system is focused on a moonlit portion of the sky near the target star, and the zero offset control (see the schematic in figure 1) is adjusted until the converter gives a zero reading. The system is then focused on the target star and the gain control is adjusted for a full-scale reading (maximum output corresponds to maximum brightness). This ability to compensate for a variety of in- put conditions makes the A/D system adaptable to a wide assortment of applications. ■ PMC PERSONAL COMPUTER Ideal for small businesses, schools, colleges, homes, die. Suitable for the experienced, inexperienced, hobbyist, • 16K user RAM plus extended 12K Microsoft BASIC in ROM • Fully TRS-80 Level II software compatible •Huge range of software already available •Self contained. PSU. UHF modulator, and cassette •Simply plugs into video monitor or UHF TV •Full expansion to disks and printer • Absolutely complete — just fit into mams plug. £••?£& C0MPUTER POWER THAT ONCE FILLED A ROOM CAN NOW BE CARRIED IN YOUR POCKETI • Programs in BASIC • "QWERTY' - Alphabetic Keyboard • 1.9K Random Access Memory • Long Battery Life. TV GAME BREAK OUT KIT Has got to he one ol the world's greatest TV games You really get hooked. Has also 4 other pinhall games and lots of options Good kit for up grading old amusement games MINI KIT PCB. sound & vision modulator, memory chip and de code chip Very simple lo construct $30.00 OR PCB W.00 MAIN LSI $17.00 TTL SALE 74LS00 75LS04 74LS05 74LS10 74LS32 $0.15 $0.15 $0.20 $0.29 $0.35 74LS74 74LS86 74LS93 74LS157 $1.20 74LS165 $1.75 $0.45 $0.55 $0.90 74LS365 $0.75 74LS373 $2.20 Z80A $5.50 280 $4.20 REG. 7805 $0.90 SOCKETS LOW PROFILE 14 PIN $0.10 16 PIN $0.10 18 PIN $0.15 20 PIN $0.15 10V Power Adapter 600ml. $6.90 24 PIN $0.25 40 PIN $0.30 UHF Modulators $9.90 GET YOURSELF A NEW EPSON MX80 & MX70 PRINTER AND SAVE A FORTUNE Price on application Interface Cards for Apple. Pet. TRS80. and PMC RS232 Interface Cards n necessary for parallel Full TRS80 COMP PRO MIXER . "2. I Professional • •• • • ilmmmmm m mm • mmmmm <•;•:•• •• • ■ ■ sells audio mixer that you can | build yourself and save I over $200. I Only $199 for complete kit. power supply $50.00 POSTAGE $20 ACCESSIT AUDIO ADD-ONS LOOK! MICROACE/ SINCLAIR USERS 8K FLOATING POINT SUPER ROM PACK ONLY $35 WITH NEW MANUAL MICROACE/SINCLAIR VIDEO UPGRADE KIT Only runs with NEW ROM (Smooth screen display) ONLY $29 MICROACE/SINCLAIR 16K RAM PLUS EXPANSION BOARD 3 SLOTS WITH EXTRA POWER SUPPLY 16K $149 4K $110 LMicrofkel A COMPLETE COMPUTER A new generation of miniature computers 2K Kit ONLY $149 Post and Packing FREE Sinclair is a Registered Trademark of Sinclair Research Ltd. iMicroficel JL Please make checks and money orders payable to MicroAce or phone your order quoting Master Charge, Visa, Diners Club or American Express number for immediate despatch. Add 6% Tax for Shipments inside California. MicroAce, 1348 East Edinger, Santa Ana, California, Zip Code 92705. Telephone: (714) 5472526 Circle 230 on inquiry card. October 1981 © BYTE Publications Inc 461 A FORTH-Like Threaded Language, Part 1 Valo G Motalygo 1091 Tanland Dr #204 Palo Alto CA 94303 [Editor's Note: Alan Taylor of Computerworld once called the FORTH programming language "not so much a language itself as a hotbed for growing other languages. " The PS language described in this article is a new language with its roots in the FORTH hotbed and the concept of subroutine-threaded code (see "Varieties of Threaded Code for Language Implementation" by Terry Ritter and Gregory Walker in the September and October 1980 issues of BYTE). This is an advanced theoretical ar- ticle that draws heavily on a working knowledge of FORTH. For further information, see "What Is FORTH? A Tutorial Introduction" by ]ohn S James, and the other FORTH articles, in the August 1980 BYTE devoted to the language.... GW] The main purpose of a programming system is to facilitate the user's communication with the computer. I believe that operating systems or programming languages accepting something like conventional text are close to being ideal where the user-computer interface is concerned. All the other advantages or disadvantages of any particular system are "problem-oriented." In other words, what is convenient for one user might be unac- ceptable for another. Let us consider programming systems that are supposed to be useful for all potential users, beginning with the simplest system of this kind — assembly language. There are many flaws with assemblers: assembly- language programs are not portable, they are difficult to write and debug, the user must have detailed knowledge of the computer hardware, and so on. However inconve- nient it is, an assembly language is still a general-purpose programming system, much as the computer is a general- purpose data-processing device. On the other hand, designers of high-level languages have to pay for obliterating low-level potential by sup- About the Author Valo G Motalygo is on the staff of Friends Amis Inc. involved with the Quasar hand-held computer, and is currently working on an im- plementation of PS. porting painful procedures of introducing assembler subroutines into a high-level program. Thus, the problem with low-level languages is that they are not convenient to use; the problem with high- level languages is that they cannot be considered general- purpose programming systems because of their lack of low-level capabilities and their tendency to force pro- gramming structures that might not be optimal for the problem at hand. The multilevel approach to programming has enriched FORTH with many interesting features. FORTH is a good example of a multilevel system where this conflict is partially resolved. The multilevel ap- proach to programming has enriched FORTH with many interesting features (see the article "What Is FORTH7 A Tutorial Introduction" by John S James on page 100 of the August 1980 BYTE). The principal idea of FORTH is to use a set of general- purpose low-level subroutines for encoding new ones, which can be further used for introducing more sophisti- cated programs. To implement this simple idea, FORTH provides the user with a set of tools, briefly described below. FORTH maintains a dictionary where every subroutine is stored with its name and either an object code or a se- quence of pointers to other subroutines in the dictionary. A dictionary entry is called a word and the address of a word in the dictionary is called a word pointer. In some FORTH systems, the sequence of the word pointers is preceded by a short piece of object code that executes (or "chains") the words being pointed to. A dictionary entry also contains the address of the previous word to facilitate searching for a word in the dictionary. The low-level words in FORTH are stack operations like DUP (duplicate the number on the top of the stack), DROP , SWAP , -I- (add the two numbers on the stack), AND , OR , NOT , and @ (pronounced fetch and 462 October 1981 © BYTE Publications Inc meaning replace an address on the top of the stack with its contents). All the stack operations are described more thoroughly in the "FORTH Glossary" (August 1980 BYTE, page 186). The stack operations can be considered an expanded instruction set. Data can be introduced and accessed with the help of words like VARIABLE , CONSTANT , { ." } (pronounced dot-quote and meaning compile and type an ASCII string), &X (push ASCII code of X onto the parameter stack), etc. [Remember that BYTE uses braces to delineate certain FORTH words and phrases; see the PS Syntax text box for more details.... GW] It is easy to write programs in FORTH, but it is a pain in the neck to program in FORTH's assembler. A programmer can define new words through the low- level ones or through the previously defined words, using such auxiliary tools as the control structures { IF...ELSE...ENDIF }, { BEGIN. . .AGAIN }, { BEGIN... UNTIL }, { DO... LOOP }, etc. FORTH also has the capability of defining new words in the assembly language of the computer FORTH is run- ning on. These words can be executed or used in high- level definitions as other words are used. Unfortunately, FORTH's assembler does not allow many of the facilities used while defining high-level words. For example, stack manipulations (DUP , DROP , SWAP , etc) are not supported, and no FORTH words can be mixed with the assembler code. It is easy to write programs in FORTH itself, but it is a pain in the neck to program in FORTH's assembler. This is because you must abandon the capabilities of the high level and descend to an entirely new language — one that significantly differs from conventional assemblers, as well as from FORTH itself. The reason why FORTH's assembler is not an organic part of FORTH is that these languages have different out- puts: executable object code (for the FORTH assembler), and word pointers that must be chained to get executed (for FORTH itself). One way to resolve this conflict is a FORTH-like system that generates only object code without generating the word pointers. This two-part arti- cle describes the structure of a simple system of this kind, called PS (for Programming System). Introduction to PS Let us consider a programming system that is able to accept the following text: ORIGIN xxxx nn nnnn nn nnnn ... RUN yyyy The words nn and nnnn represent 8- and 16-bit hexa- decimal numbers. When a 16-bit number is compiled, the compilation address (also called code pointer) is in- cremented by 2. When an 8-bit number is compiled, the compilation address is incremented by 1. ORIGIN is a special word that executes at compilation time. It takes the next word (xxxx) from the text, converts it to a 16-bit number, and sets the compilation address equal to this number. RUN is another special word; it takes the next word (yyyy), converts it to a 16-bit number, and calls a subroutine at the address given by this number. This primitive system has only one significant flaw: it is not very convenient to write programs directly in ob- ject code. But let us disregard the lack of convenience momentarily and think of an initial PS implementation. The compilation process operates as follows: 1. Read the next word from the text. 2. If it is a number, push it into the code and go to 1. 3. If it is a special word, execute it and go to 1. The system will be more convenient with more special words defined. One such example is LABEL (which is used as { LABEL } ). It stores the word together with the current compilation address into the dictionary. We are considering a FORTH-like system that has a dictionary with all the necessary information about the special words. That is, now that the word LABEL is in- troduced, the PS dictionary contains three words: ORIGIN , RUN , and LABEL . The word LABEL allows the use of names instead of numbers in some situations. Our system must be able to distinguish among several kinds of words: special words like ORIGIN or LABEL ; numbers; and labels, which are replaced with the number PS Syntax PS, like FORTH, uses punctuation in some of its words, which makes representing them in 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), { I } (left bracket), and { 1 } (right bracket) • with any word using punctuation marks (eg: { . " }) 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 October 1981 © BYTE Publications Inc 463 assigned to the label. We will use the phrase "value of the word" or the shorthand notation V to denote the current compilation address of the word, as stored in the dic- tionary with the word. The new PS compilation process is: 1. Read the next word. 2. If it is a number, push it into the code and go to 1. 3. If it is a special word, execute it and go to 1. 4. If it is a label, push V into the code and go to 1. The next step is to introduce undefined labels to allow forward references. If PS hits a name that is not in the dictionary, it assumes that the name's value will be de- fined later by LABEL . Meanwhile, PS makes a fake en- try for this name with the value of the word, V, tem- porarily set to the current compilation address, also com- piling 0000 into the code area instead of some real value (see figure la). If PS hits an undefined label for the second time, it compiles the address of the fake entry (ie: the address of the previous reference to the undefined label) into the code area and sets V to the current code pointer decremented by 2, linking locations where the undefined label is used (see figure lb). When the LABEL statement is encountered, it must determine whether the word being defined has been used before. If it has, LABEL replaces the linked dummy pointers pointed to by the fake V with the value of the current code pointer. After this is done, V is also set to the value of the current code pointer, resolving the for- ward reference and turning the fake entry into the real one (see figure lc). It is more convenient to link and resolve forward references if the dictionary is separated from the code. In general, PS links forward references to each other and to the value of the undefined word, with LABEL resolving forward references by storing the current code pointer in the locations linked by PS. If the word NEW is compiled at the address cccc, the resolved references ap- pear as in figure lc. The technique used here is essentially identical to that used by many one-pass assemblers and compilers. It is more convenient to link and resolve forward references if the dictionary is separated from the code. This is because when PS hits a new word, a fake entry for this word is created before the space required to hold the code of the undefined word is known. This is very dif- ferent from FORTH, which requires that every word be defined before it is used. A More Sophisticated PS This system has to distinguish between special words, numbers, defined labels, and undefined labels. Let us assume that the type of the word (T) is stored in the dic- tionary with the name and its value. The new version of PS is then as follows: 1. Read the next word. 2. If it is a number, push it into the code and go to 1. 3. If it is an old word, check its type: If T = special, execute and go to 1. If T = defined, push the value of the word (V) into the code area and go to 1. (la) ADDRESS CODE 1111 0000 (lb) ADDRESS CODE 1111 2222 0000 2222 (lc) ADDRESS CODE 1111 2222 3333 CCCC CCCC DICTIONARY WORD NAME'NEW TYPE'UNDEFINED VALUE '11 11 DICTIONARY WORD NAME'NEW TYPE'UNDEFINED VALUE ' 3333 DICTIONARY WORD NAME'NEW TYPE'DEFINED VALUE'CCCC Figure 1: Handling of forward references in PS. Figure la shows what happens when the word NEW is first encountered as an undefined word. Figure lb shows several occurrences of the word NEW linked together. When the word NEW is finally defined (by use of the word LABEL ), the address of NEW is put into its dictionary listing and into the previous references to it. 464 October 1981 © BYTE Publications Inc If T = undefined, link the reference as described above and go to 1. 4. If it is a new word (ie: not encountered before): Make a new entry (that is, add this word to the dic- tionary), set the type to "undefined," set V to the code pointer, push 0000 into the code, and go to 1. Let us introduce another special word "—> " (pro- nounced "jump to" and used as { — > } ). This word compiles a jump to the address corresponding to the word . Now that labels can be compiled by the special word — > , we can interpret the nonspecial words as names of subroutines that are to be compiled as JSR V, where JSR is a "jump to subroutine" instruction and V is the ad- dress of the subroutine. (We assume a 6502-based system here. You would substitute the appropriate machine- language instruction for systems based on other micro- processors.) So the principal idea of FORTH (ie: building programs from previously defined subroutines) is fully implemented now that the words LABEL and — > have been introduced. Our system will be more useful if it can execute the compiled words. To switch PS from compilation to ex- ecute mode, we can introduce two special words: { [ } (left bracket), which enables the execute mode, and { ] } (right bracket), which enables the compile mode. PS with the execute and compile modes looks as follows: 1. Read the next word. 2. If it is a number (this is discussed in more detail below). 3. If it is an old word in compile mode, check its type: If T = defined, compile JSR V and go to 1. If T = undefined, compile JSR (link), link it as de- scribed above, and go to 1. If T = special, execute it and go to 1. 4. If it is an old word in execute mode, check its type: If T = defined, execute it and go to 1. If T = undefined, print an error message, go to 1. If T = special, execute it and go to 1. 5. If it is a new word in compile mode: Make an entry, set the type to "undefined," compile JSR 0000, go to 1. 6. If it is a new word in execute mode, print an error message, go to 1. An inquisitive reader now has at least two questions: what about arithmetic operations with labels, and what should happen to numbers? The problem with numbers is that in one mode we want them to be compiled into the code; in another mode we want them to be pushed onto the parameter stack. The problem with arithmetic expressions is that we want addresses to be computed at compilation time. The solution for both problems is to consider the com- piled code as the parameter stack. That is, at run time we can push parameters into the free memory that follows Challenging Computer J Games for TRS-807Apple7PET MM McGraw-Hill Bookstore TAB Quality Paperbacks^^ 1. 33 Challenging Computer Games for TRS-80/Apple/PET by David Chance. Learn-by-playing manual. 238 pp. $7.95 2. Computer Graphics — with 29 ready-to-run programs by David Chance. For the home computerist. 256 pp. $8.95 3. Playing the Stock & Bond Markets with Your Personal Computer by L. R. Schmeltz. For the hobbyist. 308 pp. $9.95 4. Microcomputer Interfacing Handbook: A/D and D/A by Joseph J. Carr. What conversion is, interfacing. 336 pp. $8.95. 5. PASCAL by David L. Heiserman. Loading the TRS-80 with this convenient language and use of it. 350 pp. $9.95 6. 67 Ready-To-Run Programs in BASIC: graphics, home & business, education, games by W. Scott Watson. 182 pp. $6.95 • Well organized • Easy to read • Drawings • Charts McGraw-Hill Bookstore 1221 Avenue of the Americas, N.Y, N.Y 10020 I | Send me (circle) book 1 j No. Copies _ _ _ | Check or credit card only: Visa I Acct. No ! Name | Address City_ BY 101 I Amer Exp Q MasterCard D Expires _State_ _Zip_ I For U.S. add applicable sales tax, plus $2.50 each for postage and I handling. Foreign costs slightly higher. October 1981 © BYTE Publications Inc 465 the compiled code. To keep track of the stack entries, we can increment (or decrement) the same code pointer used at compilation time. If the stack is used correctly, the code is not destroyed. Or we can check before every stack operation to make sure that the compiled code is never destroyed. We will say that a number is pushed onto the parameter stack or pushed into the code or compiled whenever the number is stored in the location pointed to by the current code pointer. Then, in execute mode, numbers can be pushed into the code and added, multi- plied, divided, etc, by the words + , — , / , and * . In compile mode, a number can be compiled with a preceding code that pushes the number onto the parameter stack at run time. This is done by the words PSHN (push number) and NUMBER, which will be dis- cussed in part 2. The use of the free space after the compiled code as a parameter stack adds much to the simplicity and flexibili- ty of PS. Low-Level Programming in PS Let us assume that we have implemented PS with all the special words and stack operations described earlier. Let us also suppose that all the necessary subroutines are written in conventional assembly language, like that of the 6502 microprocessor, and are represented in the PS dictionary (ie: their names and addresses are stored in the PS dictionary with the assignment of the appropriate types). Later, when speaking of the computer or the assem- bler, we mean the computer PS is running on and its assembler. We will also assume that the computer has a stack pointer for maintaining the computer stack and that the JSR instruction leaves the return address on the com- puter stack, just as it is done in the 6502. If there is no hardware stack, software can be written to simulate one. Now, we will reexamine the simplest case — when PS is in execute mode with only numbers being compiled. If we want to compile an address or a 16-bit signed integer, we simply type in the number with either a leading zero (for positive numbers) or a minus sign (for negative numbers). Examples are Ox, Oxx, Oxxx, Oxxxx, —x, —xx, — xxx, and — xxxx. (Because PS accepts undefined words, it needs a way to distinguish numbers.) If we want to compile an instruction code or an 8-bit number, we can say § xx, where § is a special word that converts xx to an 8-bit number and pushes it into the code. Our system will be more convenient if we introduce two more auxiliary words: CONST and BCONST. These are used as { CONST nnnn } and { BCONST § nn }, where nnnn and nn represent 16- and 8-bit numbers, respectively. CONST (constant) makes a new entry in the PS dic- tionary for the and compiles code that will push nnnn into the code at run time. BCONST (byte constant) acts similarly, pushing an 8-bit number into the code at run time. The special word § is used with BCONST to emphasize the difference be- tween CONST and BCONST. BCONST is used basically to compile 1 byte of object code. Thus, we can define the instruction set of the computer as a set of byte constants with whatever mnemonics we like. For example, on the 6502: BCONST JSR # 20 BCONST JMP # 4C BCONST RTS § 60 allow use of the mnemonics for the instructions "jump to subroutine," "jump via direct addressing," and "return from subroutine," instead of hexadecimal numbers 20, 4C, and 60. Also, naming the Boolean constants: CONST TRUE 01 CONST FALSE makes a program more readable. To handle variables, the word VAR is used as { VAR nnnn }. When VAR is executed, it creates a new entry for the word and compiles object code that pushes the address of the memory loca- tion following this code onto the parameter stack at run time. The number nnnn is compiled by the text inter- preter and is used to initialize the contents of the variable. One-byte variables can be defined as { VAR § nn }. A special word " (quote) is used as { " aaaaaaa" }, where aaaaaaa is a string of ASCII characters. The first quote compiles the following string preceded by its byte count. The second quote terminates the string. The space after the first quote is required so the text interpreter can identify quote as a word in its own right. Strings can be defined in PS as follows: { VAR < name > " < some text > " } . When the word < name > is executed, the address of the string is pushed onto the parameter stack. Arrays can be defined with the help of a special word called ARRAY, used as { ARRAY nnnn }. When the word < name > executes, it pushes the address of the nnnn bytes, allocated for the array, onto the stack. This completes part 1 of this article. In part 2, we will look at examples of low-level and high-level code in PS, and add a PS dictionary that includes some of the more technical details of the language. ■ Acknowledgments / want to thank the programmers and management of Friends Amis lnc for their help and support in carrying out this work, especially Jim Houha and Rick Creicar, who nearly rewrote the manuscript: Victor Eliashberg of VARIAN Associates, who helped me realize the significance of hardware-software relationships; Anya Kroth of the University of California at Santa Cruz for her sharp remarks and kind criticism; Dave Boulton, FORTH consultant and member of the editorial review board of the FORTH Interest Group, and Bill Wilkin- son of Optimized Systems Software, who made this work more understandable. Samuel Feldman of Hewlett-Packard made this work more understandable for the author himself. 466 October 1981 © BYTE Publications lnc System Notes Recursive Procedures for the 6502 Microprocessor Dr Phillip W Dennis, 15314 Vi Larch Ave, Lawndale CA 90260 In recursive applications, the limited stack size of MOS Technology's 6502 8-bit microprocessor is a drawback. Due to the 6502's stack being restricted to one page (256 bytes starting at location 256, or page one of memory), subroutine calls are limited to a maximum of 128 levels. If the stack is used for temporary storage (or the recursive procedure calls other subroutines), then the depth of recursion possible is even less. Conversely, the Motorola 6800 microprocessor has a 16-bit stack pointer and the ability to locate the stack anywhere in memory. Recently, I was confronted with this restriction during a conversion of S Tucker Taft's M6800 LISP interpreter to the 6502. (See reference 1.) The stack-management routines in this "System Note" are based upon the 6800 routines in Mr Taft's article. The 6502 STACK PAGE STACK POINTER SP3 major difference is that the 6800 can relocate its stack rapidly via the TXS instruction, while the 6502 must per- form a slower 256-byte move of the stack page to main memory. The technique for carrying out 6502 recursive pro- cedures requires the procedure to detect two conditions — the overflow of the stack and the underflow of the stack. To detect overflow, each call to the recursive pro- cedure must be accompanied by a check of the stack pointer. If the recursive procedure requires a certain number of bytes of stack storage per call (STKMIN), then a call to the procedure when the stack pointer is within STKMIN bytes of the stack top results in a stack over- flow. At this point, code is executed to move the current stack to main memory, pointers are saved to point to the STACK PAGE 3 MAIN MEMORY STACK PAGE 2 STACK PAGE 1 SP2 SP1 TOP BOTTOM STKRES - 1 Figure 1: Typical stack configuration during execution of a recursive procedure that uses the stack-management routines. When the normal 256-byte stack page (page one of the 6502 memory space) is full, the contents are moved to another part of memory, freeing an additional 256 bytes of stack space. If the stack pointer returns to the bottom of the current stack page, the stack-restore routine (STKRES) moves the previous stack page (if any) back from main memory to page one, where it is treated as the current stack. The value of the stack pointer at the time that page was moved to main memory (stored as SPl, SP2, etc) is also restored. October 1981 © BYTE Publications Ire 467 System Notes. area where the stack was moved, and the stack pointer is reinitialized to the bottom of page one. Detection of a stack underflow normally occurs in only one instance — when the recursive procedure is returning to a level with a return address located in the portion of the stack that was moved to main memory. It is the re- sponsibility of the underflow-detection routine to restore the stack from main memory. One way to detect the un- derflow condition is to check the stack pointer prior to every return from the recursive procedure, and if an un- derflow is detected, branch to a stack-restoring routine. This method is slow, tedious to code, and wasteful of precious memory. Fortunately, there's a more elegant way to detect un- derflow. This is done by initializing the bytes at the bot- tom of the 6502 stack to point to a stack-restore routine. Thus, a return executed at the moment of underflow ac- tually returns to the stack-restore routine, whose func- tion is to restore the stack to the state prior to its move to main memory. This state can be represented by the value of the stack pointer at the moment it was moved to main memory and a pointer to the previously moved stack page. Figure 1 shows the memory configuration at a typical moment of execution. Note that the implementation presented here assumes a memory -management scheme in which the stack pages in main memory are allocated from the low end of memory in increasing order, while all other data is allocated start- ing at the high end of memory in decreasing order. The pointers to these boundaries (figure 2) are stored at sym- Listing 1: Assembly-language stack-management routines for recursive 6502 procedures: STKINIT initializes the special stack; STKCHK checks for stack overflow; STKRES, executed at stack underflow, restores the previous stack to page one of the 6502 memory. 1010 1 Q20 1030 1040 1 050 I 060 107O 1 080 1090 1100 1110 1120 1 1 30 1110 1150 1160 1 170 1180 1190 1 200 1210 1220 1 230 1240 1 250 1260 1270 1280 1290 1300 1310 1 320 1330 1340 1350 1360 1370 1380 1390 1400 1410 1420 1430 1440 1450 1460 1470 1 480 1490 1 500 1510 1520 1530 1540 1550 1560 1570 1580 1590 1 600 * / / / till *,'// *.'// */// till till t/ // */// */// «/// till till till till till till till */// till till tlllll illllilll/llll II 1/ 1 1 llll I STACK MANAGEMENT PACKAGE FOR RECURSIVE 6502 PROCEDURES. BY P.W. DENNIS SYMBOLIC LABELS - 1T0P) := POINTER TO DATA AT HI MEM (NEXT) := POINTER TO PREV STACK PAGE . LUMEM := INITIAL LDC. FOR 1 ST STACK MOVE. MEMFUL:= MEMORY FULL ERROR EXIT STKMIN:= STACK SPACE REQUIRED BY THE RECURSIVE PROCEDURE / 1 1 1 1 1 1 1 1 1 1 1 1 1 1 / 1 1 1 1 1 1 / / /// III III III 11/ III III III III III III III III III III III III III III III III I / 1 III III 1 1 1 III */ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 7 I 1 1 till III Dill STACK INITIALIZATION /// till III till PLACE IN LINE AS FIRST /// */// INSTRUCTIONS OF /// */// PROGRAM /// */// /// »/ 1 1 1 1 1 1 1 1 1 1 1 1 1 7 1 1 1 1 1 1 1 1 1 1 1 II 1 1 1 1 t LDX #LOMEM ; INIT POINTER STX NEXT ; TO LOW END LDX /LOMEM ; OF MEMORY FOR STX NEXT+1 ; 1 ST STACK MOVE * LDX /STKRES-1 ; INIT STACK "BOTTOM" STX »1FC ; TO POINT TO LDX SSTKRES-1 ; STACK RESTORE STX tlFB ; ROUTINE LDX #*FA ; AND INIT TXS ; STACK POINTER » tl 1 1 1 1 1 1 1 1 II lllll I lllll 1 1 1 II II III till III till STACK CHECK ROUTINE /// till /// till JSR STKCHK AS 1 ST /// */// INSTRUCTION OF A /// */// RECURSIVE PROCEDURE. /// */// /// t/ / / / / 1 / / / 1 1 / / 1 / I /I / / / / / / // / ///// t STKCHK .ED * 1610 * 1620 TSX CHECK STACK FOR OVERFLOW 1630 CPX #STKMIN ; ENOUGH SPACE ? 1640 BCC STKSAV ; NO, GO SAVE STACK 1 650 RTS YES, JUST RETURN 1660 * 1670 STKSAV .EQ * 1680 * 1690 LDY NEXT ; SAVE LINK 1700 STY *1FE ; TO 1710 LDY NEXT+1 j STACK PASE IN 1720 STY tlFF J MAIN MEMORY. 1730 * 1740 I NY ; SKIP UP TO NEXT PAGE 1750 CPY T0P+ 1 ; CHECK FOR COLLISION WITH 1760 t ; STUFF AT HIGH END OF MEMORY 1770 * 1780 BCC STKSV 1 ; NO COLLISION, GO MOVE STACK. 1 790 J MP MEMFUL ; GO TELL BAD NEWS. 1 800 * 1810 STKSV 1 .EQ * 1820 * 1830 STY NEXT+1 : SAVE POINTER 1840 INX ; SKIP OVER CURRENT 1850 INX RETURN ADDRESS I860 STX *1FD ; AND SAVE CURRENT STACK POINTER. 1 870 « 1 880 LDY #0 ; INDEX FOR 256 BYTE MOVE 1890 STKSV2 LDA »100,Y 1 900 STA (NEXT) ,Y 1910 DEY 1920 BNE STKSV2 1 930 * 1940 PLA ; NOW SET UP RETURN TO CALLER 1950 STA *1F9 1960 PLA 1970 STA S1FA 1 980 LDX tttFB ; RESET STACK POINTER TO POINT 1 990 TXS ! TO BOTTOM OF STAC! !*FA) AFTER 2000 RTS AND RETURN. 2010 * tl II 1 1 1 1 1 1 1 1 1 1 1 1 1 II I / 1 1 1 1 1 1 II 1 1 1 1 till III till STACK RESTORE ROUTINE /// till III tl 1 1 II 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 O80 STt RES .EQ * 090 * 100 LDY tto INDEX FOR 256 1 IC ST! RSI LDA (NEXT) , Y 120 STA tioo,v 13C DEY 140 BNE STI RSI 15C * 160 LDA tlFE RESTORE LIN) 1 ■". STA NEXT TO NEXT 180 LDA tlFF STACK PAGE 190 * STA NEXT+1 IN MAIN MEMORY 2 1 LDX *1FD RESTORE OLD T?°. TXS RTS ST ACT POINTER AND RETURN. 468 October 1981 © BYTE Publications Inc bolic locations NEXT and TOP, respectively. Also, this implementation does not assume that stack pages in main memory are page aligned (ie: the stack area starts on a page boundary). If they were page aligned, the low byte of NEXT would always be 0. This would free an extra byte of stack space and simplify the STKCHK and STKRES routines by deleting the code that refers to the low byte of NEXT. Finally, note that if an application requires several re- cursive procedures, then STKMIN should be marked as: STKMIN = max {STKMIN: STKMIN„} DATA FREE SPACE STACK PAGES IN MAIN MEMORY PROGRAM, VARIABLES, SYSTEM USE, ETC. STACK $200 $100 Figure 2: This stack-management technique, developed on the Apple II, assumes system-memory management as shown here. HIMEM ■TOP •NEXT ■LOMEM where STKMIN, is the stack storage required by the ith recursive procedure. Alternatively, to avoid wasting time, program the STKCHK routine to check a table of STKMINs indexed by the Y register. The calling pro- cedure identifies itself as the caller by setting the Y register to point to the appropriate table entry. Line 1630 in listing 1 would then be replaced by: TXA CMP MINTAB,Y The stack-management routines written on an Apple II using the S-C II assembler are given in listing 1. (The S-C assembler is available from S-C Software, POB 5537, Richardson TX 75080. )■ Reference 1. Taft, S Tucker. "The Design of an M6800 LISP Interpreter." August 1 979 BYTE, pages 1 32-1 52. Reprinted with complete 6800 assembly-language code for LISP interpreter as Document 1 1 2 in the BYTE Nybbles Library, now out of print. IS YOUR °NorthStar OUT OF SORTS? INCREASE YOUR BASIC'S SORTING POWER OVER 1800%! N*S0RT is easy to use and will perform sorts on one and two dimensional or string arrays using optional sort keys. For example, to alphabetize AS: 10 A$ = ■'ZYXWVUTS"\ REM Define String 20SRTA$,LEN(A$),1\ REM Sort A$ N*S0RT interfaces to any release 4 or later North Star Basic and can be yours for only (tQQ 4)Oy plus $1.50 shipping Calif. Res. add 6% tax. ^^ Send check VISA or M/C /m»am\ Complete Brochure Available mJ Software Systems 1269 Rubio Vista Road. Altadena, Calif. 91001 (213) 791-3202 6800 Micro Modules FOR INTERFACING TO: sensors, transducers, analog signals, sole- noids, relays, lamps, pumps, AC motors, DC motors, stepper motors, keyboards, displays, 488 GPIB. ADDITIONAL FEATURES: 6800 MPU, counter/timer, (ail safe battery back up W'lVTIT 1801 Soufh Streel 1 ■ ■■ ■ "4 ■* I Lafayette. IN 47904 NEW! for the '89 from MAGNOLIA fl MICROSYSTEMS DOUBLE DENSITY DISK CONTROLLER for both 5 1 /4" S. 8" drives onlyibOyO complete including CP/M™2.2 MAGNOLIA MICROSYSTEMS, INC. 2812 Thorndyke W.. Seattle 98199 (206) 285-72B6 (800) 426-2841 CP/M is a trademark of Digital Research. Circle 357 on inquiry card. Circle 393 on inquiry card. Circle 208 on inquiry card. 1001 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 BY MARK SAWUSCH 333 pages $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 Let your TRS-80™ Teach You ASSEMBLY LANGUAGE REMSOFT's unique package, "INTRODUCTION TO TRS-80- ASSEMBLY PROGRAMMING" in eludes ten 45-minute lessons on audio cassettes, a display program for each lesson provid- ig illustra- tion & reinforcement, and a text book on TRS-80 Assembly Language Programming. Includes use ful routines to access keyboard, video, printer and ROM. Requires 16K - Level II, Model I. REMASSEM-1 $69.95 FOR DISK SYSTEMS $74.95 "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 MICROPA RA PHERNALIA NEWDOS by APPARAT NEWDOS/80 by Apparat $149.95 NEWDOS + to NEWDOS/80 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 Let Your TRS-80™ Teach You ASSEMBLY LANGUAGE DISK I/O TECHNIQUES REMSOFT does it again! REMDISK-1 is a concise capsulated supplement to REMASSEM-1. Package consists of two 45-minute lessons on audio casset- tes, and display programs providing illustration and reinforcement. Provides specific track and sector I/O techniques, and sequential and random file access methods and routines. REMDISK-1 $29.95 Let Your TRS-80™ Test Itself With THE FLOPPY DOCTOR & MEMORY DIAGNOSTIC by DAVE STAMBAUGH A complete checkup for your Model I. THE FLOPPY DOCTOR completely checks every sec- tor of 35- or 40-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 address locations. Includes both diagnostics and complete instruction manual. SYSTEM DIAGNOSTICS $19.95 An improved version of the SYSTEM DIAGNOSTICS above. Designed for single or double density, 35-, 40-, 77-, or 80- track disk drives. Includes new and modified tests. Features THE FLOPPY DOCTOR, Version 3.0. SYSTEM DIAGNOSTICS-V3. . $24.95 Single Sided, Soft- Sectored 5%-inch, (for TRS-80™) Mini-floppy DISKETTES $21 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 $ 21 .95 10 boxes of 10 . (each box)$21.50 PLAIN JANE™ ^^/ 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™ 'ti 175mA, • Two, 3-terminal adj. IC regulators with thermal overload protection. • Heat sink regulator cooling • LED "on" indicator • Printed Board Construction • 120VAC input • Size: 3-1/2"w x 5-1/16"L x 2"H JE215Adj. Dual PowerSupply Kit (asshown). . $24.95 (Picture not shown but similar in construction to above) JE200Reg. PowerSupply Kit (5VDC. lamp) . . $14.95 JE205 Adapter Brd. (to JE200) ±5,±9 & ± 12V. . $12.95 JE210Var. Pwr. Sply. Kit, 5-15VDC,to 1.5amp. . $19.95 DESK TOP ENCLOSURES DTE-8 (Pictured) $31.95 DTE-11 (Pictured) 34.95 DTE-14 (Pictured) 36.95 DTE-HK (Case for JE600) 47.95 DTE-AK (Case for JE610) 52.95 JOYSTICKS JS-100K 100K Linear Taper Pots $5.49 JVC-40 40 K (2) Video Controller 5.95 WALL TRANSFORMERS AC250 DV9200 250mA 12VAC (117V/60Hz). 200mA 9VAC (117V/60Hz) . $3.95 3.95 WW LS Schottky WW 74LS00 55 74LS109 . 74LS02 55 74LS123 . 74LS04 69 74LS138 . 74LS08 55 74LS139 . 74LS10 55 74LS154 . 74LS14 1.09 74LS157 . 74LS30 55 74LS161 . 74LS32 69 74LS174 . 74LS38 69 74LS175 . 74LS42 1.49 74LS192 . 74LS47 1.49 74LS193 . 74LS48 1.79 74LS221 . 74LS73 79 74LS244 . 74LS74 79 74LS245 . 74LS75 99 74LS367 . 74LS85 1.95 74LS374 . 74LS90 1.09 81LS97. . . .79 1.95 1.49 1.49 2.49 1.49 1.79 1.79 1.79 1.89 1.89 1.95 2.49 3.49 1.29 2.49 2.49 SOCKETS Low Profile 8 pin LP . 14 pin LP . 16 pin LP . 18 pin LP . 20 pin LP . 22 pin LP. 24 pin LP . 28 pin LP . 36 pin LP. 40 pin LP . Wire Wrap 2/.59 14 pin WW tin .75 2/.69 14 pin WW gold 1.09 2/.79 16 pin WW tin .79 2/.89 16 pin WW gold 1.19 2/.99 24 pin WW gold 1.69 2/1.09 40 pin WW gold 2.75 .79 14 p. plug/cover 1.29 .82 16 p. plug/cover 1.39 .99 24 p. plug/cover 1.95 1-19 Also, The Molex Line DIODES & TRANSISTORS IN751 . . . . IN757 . . . . IN1188. . . . IN3600. . . . IN4001. . . . IN4004. . . . IN4007. . . . IN4148. . . . IN4733. . . . IN4734. . . . IN4735. . . . IN4742. . . . IN4744. . . . . 2/.59 . 2/.59 . 2.69 . 5/.99 . 4/.59 . 4/.69 . 4/. 79 . 10/.99 . 2/.69 . 2/.69 . 2/.69 . 2/.69 . 2/.69 2N2219A. . . .2/1.19 2N2222A. . . . 2/.89 2N2907A. . . . 2/.89 2N3055 99 2N3772 2.25 2N3904 2/.69 2N3906 2/.69 2N4401 2/. 79 2N4403 2/. 79 2N5129 2/.69 2N5139 2/.69 2N5210 2/. 79 2N5951 2/1.29 CAPACITORS Dipped Tantalum .lmfd@35V 2/.89 .47mfd@35V lmfd@35V 2.2mfd@25V 3.3mfd@25V 4.7mfd@25V 10mfd@25V 33mfd@25V 100V MYLAR .001-.01mfd 4/.79 .022mfd .047m fd .lmfd .22mfd 2/.89 2/.89 2/1.09 2/1.19 2/1.39 1.19 3.95 4/.89 4/.99 4/1.19 4/1.29 ELECTROLYTIC lmfd@50V 3/.69 4.7mfd@50V 10mfd@50V 22mfd@50V 47mfd@50V 100mfd@50V 220mfd@50V 1000mfd@25V 2200mfd@16V 50V CERAMIC 10pf-.022mfd 4/.69 .047mfd 4/.69 .lmfd 4/.79 2/.59 2/.69 2/.79 2/.89 .59 .69 1.19 1.39 MICROPROCESSORS Z80A CPU (4MHz) 14.95 MC6800 8 Bit MPU 14.95 8080A CPU 6.95 8212 8 Bit I/O Port 3.95 8216 Bl-Dlrectlonal Bus Driver 4.49 2513/2140 Character Generator 12.95 8T97 Trl-State Hex Buffer 2.25 AY-5- 1013 30K Baud UART 6.95 AY-5-2376 88-Key Keyboard Encoder 13.95 2114-3 4K Static RAM C3fluns) 6.95 MK4116 16K Dynamic RAM (250ns) 4.95 2708 8K EPROM 6.95 2716 16K EPROM (+5VJ 10.95 Function Generator Kit Provides 3 basic waveforms: sine, triangle and square wave. Freq. range from 1 Hz to 100 K Hz. Output ampli- tude from volts to over 6 volts (peak to peak). Uses a 12V supply or a ±6V split sup- ply. Includes chip, P.C. Board, com- ponents & instruc- tions. JE2206B. $19.95 Circle 191 on inquiry card. BYTE October 1981 497 TERMINAL DATA CORPORATION MODEL 1200 RS-232 BI-DIRECTIONAL DATA SPLITTER available in kit form Model 1 200K gives the terminal or micro- processor user a second interface for a printer, plotter, cassette or tape drive. It operates at any speed & isolates the two output devices from each other, while providing 2 RS-232 interfaces from the terminal or microprocessor. The kit consists of 3 RS-232 connectors, printed circuit board, all necessary components, enclosure, mounting hardware & assembly in- structions $75.00 write or call TERMINAL DATA CORP. 1187B Coakley Cir. RockvillB, MD 20852 (301)881-7655 ZEN is HERE FAST SCREEN EDITING forCP/M & NORTH STAR OPEN PROGRAMS WITH SOURCE FILES e In contol antl ZEN may be reassembh 5tom features. Call system and n •spo-ndence and sourct .TXT, etc. types. .sary but addressabh easier to us I Ing I ists, r >( .ASM, ,BAS, system with con ILai CPM version (or 1.4 thru MPM releases, use their assembler and line command conventions which can include multiple command lines. North Star DOS versions have a disc assembler, an extensive monitor and some Basic utilities. They use the N.S. line editing conventions. Specify version # ZEN1 .1 5" SD NS 2000 ZEN2.1 8" SDSS CPM ZEN1.2 5" DD NS 2000 ZEN2.2 5" DD NS CPM ZEN1 .3 5" DD NS 0100 Disc and Manual S75 Manual alone $1 5 CA residents add 6% Send check to: i CONTROLS COMPANY '965-4996 1S7SA.P.S. SANTA BARBARA CA 93103 NEW 16K-RAM PERSONAL COMPUTER $00000 FACTORY SALE a£a£*7 PRICE For $229°° you get the new Interact Model "R" Computer, 16K-RAM, 2K-R0M, 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 Circle 364 on inquiry card. Circle 397 on inquiry card. Circle 308 on inquiry card. NEW IFR FLIGHT SIMULATOR RUNS ON Apple II 48K Applesoft DOS 3.3 Puts you behind a set of instruments so real you could actually fly an airplane with them. No toy this. It Includes all primary in- struments, ADF, ILS, and VOR approaches, and, even an XY plot after each flight. $25.00 at your Computer Store. Or direct from PROGRAMMERS SOFTWARE Box 199 Cabot ARK 72023 (501) 843-2988 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 yourexisting 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 "Hen* Users Double Your disk storage capacity without adding a drive. Get twice as much from your H88 or H89 microcomputer. Our FDC-880H floppy disk controller, in conjunction with your 5 1 //' drives, for example, expands memory capacity from 256 bytes to 512 bytes per sector. And it handles single and double- sided, single and double-density, 8" and 5 1 //' drives — simultaneously. Call 714/275-1272 today or write for details. Ol C.D.R. Systems Inc. Controlled Data Recording Systems. Inc. 7667 Vickers St.. San Diego. CA 92111 Circle 307 on Inquiry card. Circle 62 on inquiry card. •-. • 1 I •■ DISKETTES SAVE 40% SSS&Z 5 1 /4"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 ^feAfl Information Processing Products «HVI ■ Dysan ^CORPORATION Solve your disc problems, buy 100% surface tested Dysan diskettes. All orders shipped from stock, within 24 hours. Call toll FREE (800) 235-4137 for prices and Information. Visa and Master Card accepted. All orders sent postage paid. PACIFIC EXCHANGES 100 Foothill Blvd. San Luis Obispo. CA 93401. (InCal. call (805)543-1037.) TRS-80™* Models 1&3 SYSTEM DIAGNOSTIC .... $99.95 Tests every component of your TRS-80 for proper operation: ROM, RAM, Video Dis- play, Key board, Line Printer, Cassette Re- corder, Disk Drives, RS-232 Interface. Continuous or monitored operation. PENCIL PATCH .... $19.95 Fixes the Electric Pencil™ Model 1 version so that it runs on the Model 3. (You must already own the Model 1 version.) SMART TERMINAL $69.95 The intelligent telecommunication pro- gram that enables your TRS-80 to be used as a timesharing terminal. Automatic trans- mission to and from another computer. Control keys, break key, lower case, cas- sette and disk files compatible with both Electric Pencil™ and Scripsit programs. Send S.A.S.E. for Free Catalog. HOWE SOFTWARE 14 Lexington Road, New City, NY 10956 •TRS-80 is reg. TM of Radio Shack div. of Tandy Corp. Circle 205 on Inquiry card. Circle 290 on inquiry card. Circle 171 on inquiry card. CALL US TODAY FOR SPECIAL SYSTEM PACKAGE PRICES .. . Now is the time to buy a complete system of your choice. . . • CROMEMCO SYSTEM 2 • DYNABYTE • NORTHSTAR • SUPERBRAIN Complete with printer and software. READY TO USE!!! Participate in our expansion sale. MiniMicroMart is moving to larger quarters to sen/e you with a larger staff and with the largest inventory of systems and peripherals. MiniMicroMart, Inc. 943 W. Genesee St. Syracuse, New York 13204 (315)422-4467 Circle 247 on inquiry card. BYTE October 1981 499 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. □ Perfect for word processing, data entry, and programming. D Non-magnetic Lineguide,™ tilt adjustable. Pkay Corporation RO. Box 11463 • Costa Mesa, CA 92627 714/548-2081 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 3 ELECTRONICS BLL FDR QURLITy CDrhPDHErVTS UDER ^simiM- ^Ssa ALL ASSEMBLED CPU Z 6MHz CSC $308 CPU Z 4 MHz 179 CPU 80S5/88 CSC 399 CPU 8085/8 319 DISK 1 371 CPM*80 135 CPM*86 w/d1 235 OASIS CALL DISK SYSTEM CALL INTERFACER 187 1NTERFACER 3(5) 467 INT-FACC8) 517 BIG 8 PKG 1795 RAM 20 32K 425 RAM 17 61K 821 SPECTRUM 297 ENCLOSURE 2 DK 619 ENCLOS RACK 671 6MHz CPU Z SYSTEM 61 K DUAL 8" 3795 6MHz CPU 8085/8088 SYSTEM 64K 3895 EPSON MX80 160 MX100FT 765 TELEVIDEO 910,920, & 950 CALL AMPEX DIALOGUE 975 ADDS V.P, 519 ALL PRICES SUBJECT TO CHANGE CPM IS TRADEMARK OF DIGITAL RESEARCH -PO & Dx. qsi -LfESTrhinSTEP Cft q9b<5=^^ "JIN Sb^S HHb Circle 299 on Inquiry card. Circle 242 on inquiry card. Circle 337 on inquiry card. SPECIALS of the MONTH ATARI 800 Computers i 750.00 ATARI 810 Disc Drives i 450.00 ATARI Softwore 25 % off APPLE II & 46 K Computers i 1 , 1 50.00 L0B0 Disc Drive for APPLE II S 095.00 8" Dual Drive Subsystems 2.4Mb DS-DD complete $1,795.00 CDC LARK Subsystems 16Mb with 1 cartridge-power supply-cobles. $5,200.00 Complete Word Processing System with DIABLO Primer $4,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, o televideo 910 CRT-COMPLETE!. $5,800.00 EP50N MX-70 Printers $ 385.00 EPSON MX-80-F/T Printers $ 685.00 IDS 460G Printers $ 800.00 IDS 560G Printers $ 1 , 1 50.00 CITOH STARWRITER 25 Printers. . . . $1,380.00 DIABLO 630 RD Printers $2,240.00 NEC SPINWRITERS Call for price APPLE Peripherals Call for price MOUNTAIN HARDWARE CPS Multifunction Cords $ 180.00 AUTO-DIAL/ AUTO-ANSWER MODEM FOR $224.95!* The MICROCONNECTIONP 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 microperipheral corporation 2643a- 151st PI. N.E. Redmond, WA 93052 (206) 881-7544 ■RS233 MICROCONNECTIONiM BASYS/1 CMOS Single-Board Computers for ROBOTICS 3ASYS/1 is a CMOS microcomputer for real-world appli- cations It contains the on-board I/O to handle motors, switches, lights, and solenoids directly, without external parts To demonstrate, we built ITSABOX. the Intelligent Turtle Robot. He's programmed to speak 8TH, our version of FORTH, and cost under S300. Parts: BASYS/1. 2 stepping motors. 2 sensing switches, an RS-232C connec- tor, batteries and a box. Drop us an SASE and we'll tell you all about him. 1 MSI does not sell ITSABOXes. but we do design and build CMOS microsystems for control applications. If your appli- cation could use the advantages of CMOS logic and micro- computer technology, give us a call! BASYS/1 with 1K RAM, .5K ROM. Kit $185, assembled S220 TECHNICAL MICRO SYSTEMS, INC. 366 Cloverdale Ann Arbor, Ml 48105 (313) 994-0784 Circle 215 on Inquiry card. Circle 359 on inquiry card. Fast Action Games For Your Apple! Sirius Software, Inc. Dealer inquiries invited. For more information contact your local computer dealer. (916) 920-1939 2011 Aiden Way #2 Sacramento, CA 95825 Circle 336 on inquiry card. The V.I. P.* IS HEREI 'Versatile Instrumentation Peripheral Perfect for Use in Process Control and Data Acquisi- tion Systems or in Standalone Instrumentation High Performance and Resolution Extremely Cost Effective * Single Card SI 00 A/D, D/A, Digital I/O * Instrumentation Amplifier Input Channel * D/A Voltage and Current Source Output * Full 12 Bit Resolution * Software Configurable Analog Circuitry * 25 /is A/D Conversion Time * 48 High Voltage, High Current Digital Drivers, 100 mA per Output ' Drives LED Display and Decimal Points with Soft- ware Selectable ROM Decoding * Two Double Pole Utility Relays * 8 Bit TTL-Compatible Input * Self-Test Capability $595 Fully assembled and tested. Documentation and ap- plications software provided. Check, MO, MC, Visa accepted. MA residents add 5% sales tax. $4 shipping and handling charge. AUTOMATED CONTROL SYSTEMS 1105 Broadway Somc-rville, MA 02144 (617)628-5373 CHIPS* & DALE £3 THE INFLATION FIGHTERS! _ RAM — 4116200ns8/$15.75 2il4L300ns8/$18.45 4164 200n S $27.00 — EPROM — 2716(5V)450n S 8/$5.35ea. $5.75 ea. 2732 (5v)450ns8/$13.00ea. $14.00 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 S2.50 Shipping & Handling C.O.D. 53.00. Wash, residents add 5.4". Sales Tax CHIPS & DALE P.O. Box 31607 Seattle. Wash. zi P 98i03 Master Charge 1-206-524-9126 VISA accepted. Circle 37 on inquiry card. Circle 66 on Inquiry card. yc/t. ELECTRONICS INTEGRATED CIRCUITS P.O. Box 4430X Santa Clara, CA 95054 Will calls: 2322 Walsh Ave. (408) 988-1640 TWX 910-338-2139 Same day shipment. Firs! line parts only Factory tested. Guaranteed money back. Quality IC's and other compo- nents at factory prices. warn 74O0N MOJN 7iQiU 7409N M10N 7414N ?»m 7432N 74MN ?442N 7445B 7447N 744811 74MN 7474N 7475N 7485N 7489N 7490N 7492N 7493N 7495N 74107N M1JVN 741J3N 74i?SN 74145N 741 SON 7JI51N 741 54N UlSffl ,'4161 N 74162N 74I75N 7.1I90N 74192N 74193N 742J1N 74398N ':- '. •4366N 74367N 741 SOO TTL 74LSOOH 29 74LS02N .29 74LS04N 35 74LS05N 25 74LS08N 33 74LS10N 35 74LSHN 55 74LST4N 1 00 741S20N 35 74LSJJH 3i 74LS28N 35 741S3DN 35 MIS33N 60 7JLS38N 50 74LS74N 45 74LS75N 65 74LS90N 60 74LS93K 75 7JLS95N 1 00 MLS1Q7N 45 7.1LSH2N 45 74LS113N 45 74L.SI32N 89 74LS136N 50 MLSiaiN 75 74LSI55N 79 74LS157N 1 10 74LSifi2H 1 10 74LS1E3H 1 10 74LS174H 1 J5 74LS190N 1 25 74LS221N 1 25 74LS258N 1 00 74LS367N 89 LI HEAR M3045 90 CA3081 1 80 CA3082 1 90 CA30B9 3 40 tM30IAN.AH 35 IM305H 87 LM307N 35 I.U308N 1 00 LM309K 1 25 LM32UK-5 LM320K 12 ■ ■.-■. r. LM320T-5 LM32Q1-6 LM320M? LM320T-1S LM323K-5 LM324N IM339N LM340K-5 LM340K-8 LM340K-U LM340X-'3 LM340-24 LM34QT-S LM340T-8 LM340! 12 I.M340M5 I.M34UMS LM1401 24 LM350 LM377 LM379 LM360N IM381 LM382 LM709H LM723HN LM733N LM741CH LM741N LM747HN LM74BN LM1303N LM1304 1.MI305 I.M1307 LMI310 LMI458 LM1S12 LM1889 LM2H1 LM2902 LM3900N LM3905 LM3909N MC1458V NE550N NE555V NE556A NE5G5A NE566V N1567V KEa'OH 7BL05 78L0B 78M05 ■ 75108 ■ 75491CN 1 7W92CN 75494CN CO4026 CD 402 7 CU4028 CU4029 CD4030 CD4035 CD4040 CB4042 CD4043 CD4044 CD4046 C04049 CD4050 CD4Q51 CD4060 C04D66 CD406B C04069 CD407O C04071 UD4072 CO4073 CD4075 CD4076 C04078 CD40B1 CO40B2 C04116 CD4490 CD4507 C04503 CD4510 CD45H CD4515 CD4516 CQ45I8 CD4520 I CDH27 . CD4528 CD4553 CQ4566 CD4583 CD4585 CO40192 74COO 74C04 74C1Q 74C14 74C20 74C30 74C48 74C74 74C76 74C90 2114L450"5 ■! DO 4116 200ns 2 95 84116 200nslfl.!0 MM5262 40 MM5280 3 00 MM5320 9 95 MM5330 5 94 PD4I1D-3 4 00 PD4110-4 5 00 P5101L 8 95 4200A 9 95 B2S25 2 90 91L02A 1 50 HD0165 5 u 95 MM57100 J 50 GIAY385001 9 95 MCM6G751A 9 95 1100 3 50 10 00 ~1 Sin K!!n> 86 pin £(•(].■ 100 pin I'dnt 1C SOCKETS Solder Tin Low Piolilc PIN I UP PIN 1UP WIRE WF1AP LEVEL 3 55 key ASCII wyOsara ill 53 key ASCII ■eyooam hi Full) Ji'icmtico Endoiure Plastic Mclil Enclosure it. 77 50 60 00 29 9 -,: CLOCKS -? VM53H 5 50 ' -r MV5312 3 90 ; u MM5314 3 90 i: MV5369 2 10 -; MM5841 H45 . :' MM5865 7 95 = ^ CT7010 B.95 'S? CI7015 8 95 2 °i WM5375AAN 3 90 '■-' :.::■- -■:■_-::-,]. : y.j -? 4 , 7205 16 50 1 ^l 7207 7 50 }° 7208 15 95 ; % ;?.a-j 4 95 « O50026CN 3 75 i\ DS0056CN 3 75 '™ WMS31W 2 50 2 45 MICROPROCESSOR 2 35 6502 10 95 1 10 6504 9 95 3 00 652? 9 95 35 6530 9 50 5MH? 10 MM; IB MH7 20 MH: 32 MH* ■32763 H; 1 B432 MHz 3 5795 MHz 2 0100 MH." 2 097152 MH; 2 4576 MHz 3 2768 MHz 5.0688 MH; 5 185 MH: 5 7143 MH; 6 5536 MHz I8 432MH; ' 22 1 4 MHl 11 95 KEYBOARD ENCODERS S12 50 17 95 1050 16 50 MC93 74C154 74C160 74CW5 74C192 74C221 74C905 74C906 74C914 74C922 A ID CONVERTER MC923 74C925 '4C926 74C927 450 22 00 LM3H i.M3in LM317K LM318 165 aroocj S701CN B750CJ 13 95 L0130 9.95 9400CJVF 7 40 ICL7103 9 50 ICL7I07 M 25 CMOS CO40O0 CD4D01 CD4002 CD4006 I.O4D07 C04MB CO4009 C!)40I0 CD40H CD4012 CD 401 3 C040I4 CD4015 CD4016 CD40W CD40U CO4019 CD4020 CD J021 CD4022 CD4023 CD4024 CD 4025 1802CP (Has 13 95 !802DPpto 17 95 18G1P 9 SD :UP1B02CD 28 95 MP1B020 35 00 :DP1B16P 7 95 UART/FIFO AV5-I013 5 50 AV5-10I4 7 50 i AV5-360Q i AV 5-9 100 > AV5 9200 p 74C922 ' "4C923 I HD0165-5 I AY5-9400 D Connedors RS232 DB25P 3 i OB25S 5: DE9S DA15P 2 DA15S 3 Complete Set 9 Kickak3'> Digit LED mul- LEOS Red T018 15 Green Yel'ow T018 SO Jumbo Reo 20 Green 0'inge YtGsw Jumao 25 thpltle LEO Mounling Clips BS1 25 CONTINENTAL SPECIALTIES in Hock MAli'lDD a dinil Fieq. Cli. S149.95 OK WIRE WRAP TOOLS In Slack Panablc Mulllmeler S18.00 Complete line ol AP ProriucU in slock EncDUor HD0165-5 PtllllORICS MoOd 10 TnoBE' E.panfltr K,1 MnStl 150 Bus Gtabbtr Kti Clock Cilendu Kil 2.5 MH; Frequency 3D MHi Frequency TRANSFORMERS 6V 300 ma ■: ', ■..■■;. .'... : . ■ 12 6 CI 2 amp 12 6 CT 4 amp 12 6 CT B amp i? GV C! 600 ma l?V?M.im ,y.;;i p:un l?VCT250ma 24V CT 100 ma 10V 1 2 amp asm p^j !?V 6 amp 12V 50ii ma asm p:u3 12V 1 arm wa« p'ug ID 15 VAC 8 16VAv.au 01SPLAY LEDS MAN1 CA 270 2 90 MAN3 CC 125 39 MAN72 74 CA CA 300 DL704 CC 300 DL707DL707R CA 300 plug 9 9 75 limele Stopwatch KM Auto Clock Kii Digital Clock Kit 89.95 26.95 17 95 8113 BT20 8123 8T24 8T25 BT26 6T2B ■ !S MOS.MEMORY 2102- 1 2102AL-4 2102AU2L 2104A4 E748 8748 8 8755A NS2S23 N82SI23 . N82SI26 K82S129 N82SI3I : N82S136 , NB2S137 CMS577 8223 RESISTORS '. Prafli 10 pei type 03 25 per type 025 100 pe' type 015 1000 per type 012 350 piece pack 5 per lype 6 75 'i win 5% per type 05 OIP Switches 4-posilionS 95 7-posilion I 5-oosilion 1 00 B-pOSition I 6-posi!ion 1 00 DL 72 7 728 DL 747 750 FND359 ; '.; ■ ■ ■■■ rN[)503 510 FNDBO0BO7 1 111(111 BuDblr io jiijii axpiii '■■■J i .it,:. — :..:■■ . TIL3H Het MAN3640 CC MAK4610 CA '.'•■.'.'.■: MAM4710 MAN4 740 MANG640 MAH67I0 CA CC 500 CA CC 600 CC 357 CCCA 50O CC CA 500 CC CA BOO : CC 40 CA 40 CC 40 90 1ANG74 MA1002A C. £ B5 MA1012A l\ 102P3 inniloimer l.'t MA1012A Transformer 2 '■ Moot! 512 S7S5 00 Model 920 S8S5 00 PROM Eraser assembled. 25 PROM capacity S37.50 (with timer $69.50). 6 PROM capacity OSriTV UL version $78.50 (with timer $108.50). Z80 Microcomputer 16 bit I/O, 2 MHz clock. 2K RAM. ROM Bread- board space. Excellent for control. Bare Board $28.50. Full Kit $99.00. Monitor $20.00. Power Supply Kit $35.00. Tiny Basic $30.00 S-100 Computer Boards 8K Static Godbout Econo IIA Kit 149.00 16K Static Godbout Econo XIV Kit 269.00 24K Static Godbout Econo XX-24 Kit 414.00 32K Static Godbout Econo XX- 32 Kit 537.00 16K Dynamic RAM Kit 289.00 32K Dynamic RAM Kit 328.00 64K Dynamic RAM Kit 399. DO Video interface Kit $161.00 Color Video Kit 129.95 81 IC Update Master Manual S79. 95 Comp. IC data selector. 2 vol. master reference guide. Over 51 .000 cross references. Free update service through 1981. Domestic postage S4.75. Modem Kit $60. 00 State of the art, orig., answer. No tuning neces- sary. 103 compatible 300 baud. Inexpensive acoustic co.upler plans included. Bd. Only $17.00. Article in June Radio Electronics. Gremlin Color Video Kit $69.95 32 x 16 alpha/numerics and graphics; up to 8 colors with 6847 chip; 1K RAM at EOOO. Plugs into Super EH 44 pin bus. No high res. graphics. On board RF Modulator Kit $4.95 NiCad Battery Fixer/Charger Kit Opens shorted cells that won't hold a charge and then charges them up. all in one kit w/full parts and instructions. $9.95 Rockwell AIM 65 Computer 6502 based single board with full ASCII keyboard and 20 column thermal printer. 20 char, alphanu- meric display, ROM monitor, fully expandable. $405.00. 4K version $450.00. 4K Assembler $85.00, 8K Basic Interpreter $100.00. Special small power supply for AIM65 assem . in frame $54.00. Complete AIM65 in thin briefcase with power supply $499.00. Molded plastic enclosure to fit both AIM65 and power supply $47.50. Special Package Pnce: 4K AIM, 8K Basic, power supply, cabinet $625.00. AIM65/KIM/VIM/Super Elf 44 pin expansion board; 3 female and 1 male bus. Board plus 3 connectors $22.95. 60 Hz Crystal Time Base Kit S4.40 Converts digital clocks from AC line frequency to crystal time base. Outstanding accuracy. Video Modulator Kit $9.95 Convert TV set into a high quality monitor w/o affecting usage. Comp. kit w/full instruc. Multi-volt Computer Power Supply 8v 5 amp, ±18v .5 amp, 5v 1.5 amp. -5v .5 amp, 12v .5 amp, -12v option. ±5v, ±12v are regulated. Basic Kit $35.95. Ki! with chassis and all hardware $51.95. Add S5. 00 shipping. Kit of hardware $16.00. Woodgrain case $10.00. $1.50 shipping. RCA Cosmac 1802 Super Elf Computer $106.95 Compare features before you decide to buy any olher computer. There is no other computer on the market today that has all the desirable bene- fits of the Super EH for so little money. The Super Elf is a small single board computer that does many big things. It is an excellent computer for training and for learning programming with its machine language and yet it is easily expanded with additional memory, Full Basic, ASCII Keyboards, video character generation, etc. Before you buy another small computer, see if it includes the following features; ROM monitor; State and Mode displays; Single step; Optional address displays; Power Supply; Audio Amplifier and Speaker; Fully socketed for all IC's; Real cost of in warranty repairs; Full documentation. The Super EH includes a ROM monitor for pro- gram loading , editing and execution with SINGLE STEP for program debugging which is not in- cluded in others at the same price. With SINGLE STEP you can see the microprocessor chip opera- ting with the unique Quest address and data bus displays betore, during and after executing in- structions. Also, CPU mode and instruction cycle are decoded and displayed on 8 LED indicators. An RCA 1861 video graphics chip allows you to connect to your own TV with an inexpensive video modulator to do graphics and games. There is a speaker system included for writing your own music or using many music programs already written. The speaker amplifier may also be used to drive relays for control purposes. A 24 key HEX keyboard includes 16 HEX keys plus load, reset, run, wait, input, memory pro- tect, monitor select and single step. Large, on board displays provide output and optional high and low address. There is a 44 pin standard connector slot for PC cards and a 50 pin connec- tor slot for the Quest Super Expansion Board. Power supply and sockets for all IC's are in- cluded in the price plus a detailed 127 pg . instruc- tion manual which now includes over 40 pgs. of software info, including a series of lessons to help get you started and a music program and graphics target game. Many schools and univer- sities are using the Super Elf as a course of study. OEM's use it for training and R&D. Remember, other computers only offer Super Elf features at additional cost or not at all. Compare before you buy. Super Elf Kit $106.95, High address option $8.95, Low address option $9.95. Custom Cabinet with drilled and labelled plexiglass front panel $24.95. All metal Expan- sion Cabinet, painted and silk screened, with room for 5 S-100 boards and power supply $57.00. NiCad Battery Memory Saver Kit $6.95. All kits and options also completely assembled and tested. Questdata, a software publication for 1802 com- puter users is available by subscription for $12.00 per 12 issues. Single issues $1.50, Is- sues 1-12 bound $16.50. Free 14 page brochure. of complete Super Elf system. Moews Video Graphics $3.50. Games and Music $3.00, Chip 8 Interpreter $5.50. Super Expansion Board with Cassette Interface $89.95 This is truly an astounding value! This board has been designed to allow you to decide how you want it optioned. The Super Expansion Board comes with 4K of low power RAM fully address- able anywhere in 64K with built-in memory pro- tect and a cassette Interlace. Provisions have been made for all other options on the same board and it fits neatly into the hardwood cabinet alongside the Super Elf The board includes slots for up to 6K of EPROM (2708, 2758, 2716 or Tl 2716) and is fully socketed. EPROM can be used for the monitor and Tiny Basic or other purposes. A IK Super ROM Monitor $19.95 is available as an on board option in 2708 EPROM which has been preprogrammed with a program loader/ editor and error checking multi file cassette read/write software, (relocatable cassette file) another exclusive from Quest. It includes register save and readout, block move capability and video graphics driver with blinking cursor. Break Quest Super Basic V5.0 A new enhanced version of Super Basic now available. Quest was the first company worldwide to ship a full size Basic for 1802 Systems. A complete function Super Basic by Ron Cenker including floating point capability with scientific notation (number range ±.17E M ), 32 bit integer ±2 billion; multi dim arrays, string arrays; string manipulation; cas- sette I/O; save and load, basic, data and ma- chine language programs; and over 75 state- ments, functions and operations. points can be used with the register save feature to isolate program bugs quickly, then follow with single step. If you have the Super Expansion Board and Super Monitor the monitor is up and running at the push of a button. Other on board options include Parallel Input and Output Ports with full handshake. They allow easy connection of an ASCII keyboard to the input port. RS 232 and 20 ma Current Loop for teletype or other device are on board and if .you need more memory there are two S-100 slots for static RAM or video boards. Also a 1K Super Monitor version 2 with video driver for full capa- bility display with Tiny Basic and a video interface board. Parallel I/O Ports $9.85, RS 232 $4.50, TTY 20 ma l/F $1.95, S-100 $4.50. A 50 pin connector set with ribbon cable is available at $15.25 for easy connection between the Super Ell and the Super Expansion Board. Power Supply Kit for the complete system (see Multi-volt Power Supply). New improved faster version including re- number and essentially unlimited variables. Also, an exclusive user expandable command library. Serial and Parallel I/O included. Super Basic on Cassette $55.00. Type-N-Talk by Votrax Text to speech synthesizer with unlim- ited vocabulary, built-in text to speech algorithm, 70 to 100 bits per second speech synthesizer, RS232C interface $345.00. 1802 16K Dynamic RAM Kit $149.00 Expandable to 64K. Hidden refresh w/clocks up to 4 MHz w/no wait states. Addl. 16K RAM $25.00 Tiny Basic Extended on Cassette $15.00 (Added commands include Stringy, Array, Cas- sette I/O etc.) S-100 4-slot expansion $ 9.95 Super Monitor VI. I Source Listing $15.00 Elf II Adapter Kit $24.95 Plugs into Elf II providing Super Elf 44 and 50 pin plus S-100 bus expansion. (With Super Ex- pansion). High and low address displays, state and mode LED's optional $18.00. Super Color S-100 Video Kit $129.95 Expandable to 256 x 192 high resolution color graphics. 6847 with all display modes computer controlled. Memory mapped. 1K RAM expanda- ble to 6K. S-100 bus 1 802. 8080. 8085, Z80 etc. Dealers: Send lor excellent pricing/margin program. Editor Assembler $25.00 (Requires minimum of 4K for E A plus user source) 1802 Tiny Basic Source listing $19.00 Super Monitor V2. 0.2.1 Source Listing $20.00 TERMS: $5.00 min. order U.S. Funds. Calif residents add 6% tax. $10.00 min. BankAmericard and Master Charge accepted. $1.00 insurance optional. Postage: Add 5%. COD. $10.00 min. order. FREE: Send for your copy ol our NEW 1981 QUEST CATALOG. Include 480 stamp. Circle 315 on inquiry card. BYTE October 1981 501 STOCK MARKET NORTH STAR Double Dens Disk w programs, data on over 1 00 stocks Create, build, maintain data tiles on stock prices Adjust for splits, stk divs compute relative strength Portfolio Performed data from disk files, gain, rate of gain, yield for each item and for total Evaluate call options risk reward Requires North Star BASIC DOS, 32K Disk $35 document $4 separate Lands Associates 8005 30th St. S.E, Everett, WA 98205 mLUM PACKARD The Largest HP Dealer in Connecticut Calculators and Computers Harrington (ompany METALS DRIVE, P.O. BOX 392 SOUTHINGTON, CONN. 06489 An Instnck Full Service Company Call for discounts Connecticut Toll Free: 1-800-982-3731 Out of State Call: 203/628-5511 What HEWLETT mLUM PACKARD 68KFORTH New SYSTEMS LANGUAGE for ERG 68-696 CPU and Motorola's KDM board. O/S, Compiler, Monitor, Assembler, Interpreter, Virtual Memory, Screen Editor, DBL Precision Arithmetic and more. En- hanced FIG-FORTH Vocabu- lary. Environment: stand alone, Bell Lab's UNIX, or Whitesmiths' IDRIS, etc. $795 EMPIRICAL RESEARCH GROUP, INC. PO Box 1176 Milton, WA 98354 206-631-4855 Circle 194 on Inquiry card. Circle 144 on Inquiry card. CLEAN NEW FROM SGL WABER The electricity that powers your personal computer systems is "polluted." Filled with voltage spikes and noise interference that can cause information loss, equipment malfunction and premature circuit failure. Protect your data and equipment. Purify your power with a new Power Master' Line Monitor Power Conditioner. Just plug in. Free 20 page Catalog, 8 models. ft POWER MASTER V^!2_ SGL WABER Electric A division ol SGL Industries, Inc. 300 Harvard Ave. 'Westville. NJ08093'(609) 456-5400 OPTION THE STOCK OPTIONS ANALYSIS SYSTEM A complete software package for valuing puts and calls and analyzing all types of option investment positions with your microcomputer (Apple, TRS-80, CP/M systems*). complete system $250 00 manual only $15°° FINANCIAL SOFTWARE SYSTEMS inc. L3 505 Gilchrist / 71 3-696-1 4 56 College Station, Tx. 77840 'TM TANDY. APPLE. DRI, respectively. PASSIVE SOLAR ENERGY PROGRAM Glasslze*— the program to aid you in selecting an appropriate passive glazing area. Glassize* allows you to balance aesthetics with economics. Package includes disc for TRS-80 or Apple II along with users manual containing sizing methods and climatic data for 200 U. S. cities. $150 postpaid. The Camroden Company Route 4 • Box 62 Rome, New York 13440 Circle 404 on inquiry card. Circle 152 on Inquiry card. Circle 60 on Inquiry card. ATARI SS^w GRAPHICS HARDCOPY ON: EPSON PRINTERS CENTRONICS 739 IDS 445G TRENDCOM Dumps anything on the screen lo the printer ® To Order Toll Free 1-800-344-7493 In CA. E) for Service (209) 667-2888 AWCROTRONICS, inc. . 1125 N. Golden State Blvd. Turlock, California 95380 Circle 207 on Inquiry card. 800 400 410 810 850 830 820 822 825 483 484 16K 16K Recorder- DISK Interface- Modem 16KRAM. Printer Printer Printer . The Programmer The Communicator. $740. S339. S 59. S449. S169. SI 59. !i 75. S260. S349. S625. !l 55. S330. Call or write for discount on software. EMPIRE SYSTEMS CORPORATION 18604 Rolling Acres Way Olney, Maryland -20832 Call (301) 774-7330 Prices subject to change Circle 410 on Inquiry card. UNIPROM THE VERSATILE EPROM HANDLING SYSTEM Reads/programs 2704, 2708. 2758, 2508, 2516 (T.I), 2716 (single supply), 2532 (T.I.), 2732 (T.I. pinout), and Itel/NEC 8755A! Expandable (or 2732 (INTEL pinout), TMS 2716 (3 supp- ly), 2564 (T.I. ). No personality modules required or additional power supplies required. S-100 compalible. Disk-based software (Z80 only) includes a -MENU" display command, commands usually found in system monitors, and versatile CDOS and CP/M compatable disk I/O commands. Also available in a single 2716 EPROM (8080 or Z80) without the ■'MENIT and disk 1/0 commands. UNIPROM board (A & T) with extensive manual — $245.00. UNIPROM disk-based software (specify 5.25" or 8" CDOS. 8" CP/M, or 5.25" NORTHSTAR CP/M) — $48.00. UNIPROM EPROM based software, write for flyer. VISAJMASTER CER-TEK, INC. 6020 Doniphan Dr. El Paso, Texas 79932 (915)581-6697 ' NORTHSTAR Circle 63 on Inquiry card. PRICE BRERKTHROUCH We've done it again'. As a leader in small computer sales we must constant!],' find new ways to save customers money while offering quality products. Our most popular seller, the Apple II Plus, is now available with 64K of user RAM at the unbeatable price of only $1249. This is possible because we manufacture the 16K RAM Card that expands the factory Apple II 48K to it's maximum capacity of 64K. The Ram Card allows use of Integer and Applesoft Basic and other languages like Pascal. It's a must for large data bases,- Visicalc. and the Z-80 cards. The card is made from high quality components and has a full one year warranty. 64K APPLE II PLUS* '48 K Apple II Plus with 16K Ram Card ONLY 16K only $1025 48K DISK II DRIVE DI5K II DRIVE ONLY $1089 WITH CONTROLLER CARD ADD ON Apple Cards and Hardware 16KRamCardbyCCl 130 Language System w/ Pascal 379 Sllentype Printer w/ Interface Card 349 Hayes Mlcromodem U 299 Novation Apple-Cat II 339 Vldex Vldeoterm 80 Column w -Graphics 269 Z-80 Softcard by Mfcroaoft 299 lfiKRamCard by Microsoft 159 ABT Numeric Keypad (old or new kybrd) 110 ALF 3 Voice Music Card 239 ALF 9 Voice Music Card 169 Lazer Lower Case Plus + 55 Mlcro-Scl Disk Drives (A40 & A-70) CALL SSM AIO Serial /Parallel Card A&T 189 Sup-R-Temilnal 80 Column Card 329 SVA ZVX4 Megabyter 8" Disk Controller 589 SVA 2 + 2 Single Den. 8" Disk Controller 345 ThunderClock Plus 119 Sytntec Hl-Res Light Pen 210 Integer or Applesoft Firmware Card 145 Graphics Tablet 619 Parallel Printer Interface Card 135 Hl-Spsed Serial Interface Card 135 Smarterm 80 Column Card 299 Joystick by Keyboard Co 45 Music System {16 Voices) 479 A/D + D/A Interface 289 Expansion Chassis 599 Introl/X-IQ Controller Card 169 Clock /Calendar Card 225 CP8 Multifunction Card 189 Supertalker SD-200 239 Romplus + Card 135 Homwrlter Card 149 Clock /Calendar Module 99 GPIB IEEE-488 Card 249 Asynchronous Serial Interface Card 129 Centronics Parallel Interface Card 99 Arithmetic Processor Card 299 We carry all CCS cards, please call for best prices. Software for the Apple VUlcalc 3.3 J69 CCA Data Management 85 DB Master. . , 169 WordStar (Apple 80 col. version) 299 Applewrlter ,..,...,... 65 Easywriter 225 Peschtres Business Software CALL Vislterm ,...,....,«,.. 129 Vlaltrend/Vlslplot .... 219 Real Estate Analyzer 89 Taa Preparer 99 DOS Toolkit 65 T»m Planner 99 ' Dow Jones Portfolio Evaluator 45 Dow Jones Newa 8t Quotes Reporter 85 Apple Fortran 165 Controller Gen. Bus. System ........ 499 Printers Epson MX-80 CALL Anadex 9500/9501 «r/2K Buffer 1299 C. Itob StanvriteT 25 CPS 1499 C. Ilho Starurrtter 45 CPS 1899 Epson MX-70 CALL Epson MX-80 F/T CALL Paper Tiger IDS 445 699 Paper Tiger IDS 460 949 Paper Tiger IDS-560 1249 Sllentype w/Apple II interface card 349 Qlime Sprint 5/45 2495 TOLL FREE ORDER LiNE 800-854-6654 California and outside Continental US (714) 698-8088 TELEX 695000 BETA CCMO Video Monitors Amdek/Leedex Video 100 12" B&W 139 Amdek (Hitachi) 13" Color 359 NEC 12" Green Phoapher Screen CALL NEC 12" RGB Hl-Rea Color CALL Panasonic 13" Color .449 Sanyo 9" BslvV 185 Sanyo 9" Green Phoapher Screen C ALL Sanyo 12" BSW 269 Sanyo 12" Green Phoapher Screen . 285 Sanyo 13" Color tv/excellent resolution 449 Atari Personal Computer I <« ATARI 800 16K $ 749 Atari 400 16K 349 410 Program Recorder 65 810 Disk Drive 449 815 Dual Disk Drive (Dbl. Den.) 1295 822 Thermal Printer 349 850 Interface Module 159 16KHam Memory Module 149 16K Ram Memory Module (by ConComp) . .89 NEC Microcomputer PC-8001A 32K Ram Computer CALL PC-8012A I/O Unit w/32K Ram CALL PC-8031A Dual Mini-Disk Drive Unit CALL Please write for more information about the NEC computer. Ordering information: Phone orders using VISA, MASTERCARD. AMERICAN EXPRESS, DINER'S CLUB, CARTE BLANCHE, hank wire transfer, cashier's or certified check, money order, or personal check (allow len days lo clear). Unless prepaid with cash, please add 5% for shipping, handling and insurance, (minimum 5.00). Callfor nla residents add 6% sales tax We accept CODs OEM's. Institutions and corporations please send for a written quotation. All equipment is subject to price change and availability without notice. All equips ment is new Bnd complete with manufacturer's warranty (usually 90 days). Showroom prices may differ from mail order prices. Send Orders to: (MjO§QOGDQ(Mr G®00Q[pQ!] {,©[?§ Mall Order 8314 Parkway Drive La Mesa, California 92041 Circle 103 on inquiry card. scotch ® Buy the finest in data recording products from your PISKDNNECTION. Price 10 S'A" (soft, 10 or M hard) $ 27°° 8" (single side /density) 27 °° 8" (reversible, sgl. density) 40 °° 8" (sgl. side. dbl. density) 35 °° 8" (dual side, dbl. density) 40 °° MC or VISA, add I °° Postage and handling included ' Send check, MO. MC or VISA to, DISKONNECTION POB. 538 Mpls. Minnesota 55440 '612/871-1677 before noon CST STATISTICAL SOFTWARE ELF — Stepwise regression, fac- tor analysis, correlation coeffi- cients, crosstabs, simple statistics, t-tests, ANOVA, stepwise discrimi- nant analysis, all BASIC transfor- mations and more. $200.00 TWG/ARIMA - Box-Jenkins for seasonal and non-seasonal models, identification, estimation and fore- casting. Introductory Price: $250.00. Each includes a database manager, numeric software key- pad, and is menu-driven. Each re- quires an Apple II with Applesoft, 48K, and DOS 3.3. For further information, write lit. TVutcAtiuOui tyuwji 3907 Lakota Road P.O. Box 10114 Alexandria, VA 22310 "Apple II and Applesoft are trademarks of the Apple Computer Company MULTIBUS for SALE: SBC86/12A $1200 SBC 80/30 $ 450 SBC 064 $ 900 SBC 604 $ 85 SBC 614 $ 85 BLC556 $ 175 Much more in stock. We buy/swap/ sell any/all computer systems. Add 2% for shipping/handling. Oracle Electronics & Trading Co., Inc. 467 Hamilton Ave., Suite 22 Palo Alto, CA 94301 (415) 321-7650 Circle 129 on inquiry card. Circle 366 on inquiry card. Circle 279 on Inquiry card. | MAILING LABELS ETC. Continuous Form Fanfold Pin-Feed White & Colored Printout Paper, STOCK & CUSTOM Office Forms, File Cards, Rubber Stamps, Marking Devices, Offset Printing, Double Copy, Price Marking & Roll Labels, Pressure Sensitive, Cheshire, Plain or Gummed Back & Heath Sensitive Mailing Labels etc. at LOWEST POSSIBLE PRICES & Fast Delivery, SAMPLE PRICES: (Postpaid) 3% x 15/16 Pressure Gummed Label s Sensitive Back 5,000 .... $ 16.50 .... $13.75 10,000 .... $31.50 .... $26.75 15,000 .... $46.50 .... $39.50 20,000 .... $60.00 .... $51.25 Conn. Customers Please Add Sales Tax. Catalog $1.00 (Refundable) or FREE with your order. HANDICRAFTS De P t. BT 24 Winter St., Stamford, Ct. 06905 ^0 S-100 DOUBLE HEIGHT 10" HIGH PROTOTYPE BOARD • Regulators provide „ 5V @ M, ± 12V @ 1A ■ Accepts over 120 IC's plus 3M-type connectors > Heavy power distribution with 28 distributed ftf "ITH'M- 0.1 ufd caps * 1 "'™ 13" HIGH EXTENDER CARD • Scope probe hanger on > Ground trace between signal lines • Heavy power traces with removable jumpers for current measurement n Inner Access Corporation Box 888 Belmont, CA 94002 (413)591-8295 - Boards meet IEEE-696 compliance HH specifications 68000 ERG68-6.96 68000 CPU in pro- duction. Meets or exceeds IEEE696 S-100 standard. $1995 Available software: Z80 emulator, 68K FORTH sys- tems language, Whitesmiths UNIX-like IDRIS— O/S with C or Pascal compilers. Integrated 6800 systems also available. EMPIRICAL RESEARCH GROUP, INC. PO Box 1 1 76 Milton, WA 98354 206-631-4855 Circle 163 on inquiry card. Circle 176 on Inquiry card. Circle 145 on inquiry card. $ GET YOUR SHARE $ Join the thousands of winners who have built on their computer interest to create a success- ful data processing-based business, and: SHARE IN THE MINI/MICROPROCESSING BOOM Read this exciting new book: MAKING IT IN DATA PROCESSING - ON YOUR OWN IN THE EIGHTIES Written by experts in the computer business, this book contains all you need to get "started, including: • How to locate manufacturers who will help finance your new venture. • What types of business are available and are best for you. • Actual sources of Venture Capital looking for new businesses. • Complete guides to pricing, sales promo- tion, advertising, publicity, and marketing. • Dozens of sources of information to help you build your business. To order, just clip this ad and send with only $19.95 to: THE SEABIRD PRESS PO Box 461 , Lexington, MA 02173 Full 30 day money back guarantee PROBLEM: How to mate your CP/M- or ISIS- system to the Z-8000 (without losing all your present capabilities) SOLUTION: ■HMa'K^ is the software connection which permits ^_ t #V ^" 8000 applications to run under your cur- rent operating system, resulting in portable 16-bit software which runs under CP/M or ISIS! And ZEX is user-configured for any Z-8000 alternate bus master, so that it can support your prototype hardware, as well as commercially available Z-8000 boards. ^m m £% is a complete Z-8000 Development Package, f t\^^ which includes a powerful relocatable cross assembler (ZAS), a flexible object task builder (ZLK). and an absolute object loader (ZLD), as well as the ZEX run time module. The package was developed specifically for the Z-8000, and supports the complete Zilog instruction syntax for both the Z8001 and Z8002, in- cluding support for mixed segmented and non- segmented code WESTERN WARES ZAS Package cpim S395 ISIS-II ..S495 Manual Only $25 Supplied on Single Density 8" Disk BoxC Norwood, CO 81423 (303)327-4898 Computer compatible Paper Tape Punch From Addmaster Corporation — a self- contained paper tape punch which makes 5, 6, 7 or 8-level tapes at speeds up to 50 cps. Parallel data keyboard inputs, manual back space, tape low lamp, TTL level com- patible, 5-8 level (ANSI), optional RS232C I/O serial port are* features. Maximum 8" reel, standard hub. (1000 feet). Optional attachment for standard fanfold tape. Contact Addmaster Corporation, 416 Juni- pero Serra Drive, San Gabriel, CA 91776. Telephone: (213) 681-3098 Circle 430 on inquiry card. Circle 391 on inquiry card. Circle 7 on inquiry card. Here we grow again H! Grand Opening Sale We're celebrating the latest addition to Jade's Retail Division - our new store located in Woodland Hills at 21800 Ventura Blvd. New from Jade The Bus Probe Inexpensive S-100 Diagnostic Analyzer So your computer is down. And you don't have an oscilloscope. And you don't have a front panel... You're not alone ■ most computers have their occasional bad days. But without diagnostic equipment such as an oscilloscope (expensive!) or a front panel (expensive!), it can be very difficult to pinpoint the problem. Even if you have an extender board with a superfast logic probe, you can't see more than one signal at a time. You're stuck, right? Not anymore; Jade is proud to offer our cost- effective solution to the problems mentioned above: THE BUS PROBE. Whether you're a hobbyist with a cantankerous kluge or a field technician with an anxious computer owner breathing down your neck, you'll find THE BUS PROBE speeds your repair time remarkably. Just plug in THE BUS PROBE and you'll be able to see all the IEEE S-100 signals in action. THE BUS PROBE allows you to see inputs, outputs, memory reads and writes, instruction fetches, DMA channels, vectored interrupts, 8 or lfi bit wide data transfers, plus the three bus supply voltages. An on-board pulse generator can provide repetitive resets, interrupts, or wait states, for trouble shooting. TSX-200B Bare board $59.95 TSX-200K Kit $119.95 TSX-200A A&T $149.95 II vfn II-t^^^i^UH >i' r NEC ■I MHz Z-80 CPU. HO .x 2.5 display with graphics and 8 colors, 32K RAM. Z4K ROM. parallel serial, cassette interfaces, upper Inner case, numeric keypad. Hi special function keys, uses CP M 2.2. NKC-8001A II2K CPU 'keyboard .. $1095.00 NEC-8012A I/O with 32K RAM ... $695.00 NEC-803 1 A Dual dish unit $1 095.00 VDM-65I200 12" green CRT $269.95 NEC-1202D Hi-res RGB color CRT $1045.00 VDC-651212 12" color monitor .... $479.95 NEC-9010S CP/M2.2forNEC .... $150.00 NEC-90005 Gen. accting softwr . . . $375.00 Inter sell Sellum I NEC Spinwriter w / Intel ligent Controller m Standard serial, Centronics parallel, and current loop interfaces • Selectable baud rates 50 to 19,200 • Automatic bidirectional printing • Logic seeking • 650 character buffer with optional 16K buffer • 55 characters per second print speed • Comes with vertical forms tractor, ribbon, thimble and cable • Diablo compatible software • Available with or without optional front panel PRD-55511 IK no front panel .... $2795.00 PRD-55512 16K no front panel ... $2895.00 PRD-55515 IK w front panel $2995.00 PRD-55516 WKw/ front panel ... $3095.00 Intersell NEC 3500Q Intersell has announced that, available in September, they will offer a version of the new NEC Model 3500Q Spinwriter (30 cps) that will bring to the customer the same standard features as the Sellum I (except the tractor assembly which is optional on the 3500Q) but incorporating the added features of the NEC Model 3500Q PRD-55351 3500Q IK $1995.00 PRD-55352 :i500Q 16K $2095.00 PRA-55100 Deluxe tractor option .. $300.0 JADE Disk Sub-Systems Shugart, Siemens, Qume Handsome metal cabinet with proportionally balanced air flow system • Rugged dual drive power supply • Power cable kit • Power switch, line cord, fuse holder, cooling Ian • Never-Mar rubber feet • All necessary hardware to mount 2- H" disk drives, power supply, and fan • Does not include signal cable Dual 8" Subassembly Cabinet END-000420 Bare cabinet $59.95 END-000421 Cabinet kit $225.00 END-000431 A&T $359.95 8" Disk Drift- Subsystems Single Sided, Double Density END-000423 Kit w 2 FDlOO-SDs . $924.95 END-000424 A& T w'2 FDlOO-SDs $1124.95 END-000433 Kit w/2 SA-SOlRs ... $999.95 END-000434 A & T w'2 SA-HOIRs $1195.00 H" Dish Drive Subsystems Double Sided, Double Density END-000426 Kit w/2 DT-8s $1224.95 END-000427 A&Tw 2 DT-Ss ... $1424.95 END-000436 Kit u kette -.- certified doable density at -JO !■■ m.;:i !■■■ extended media life each dia- m tnul mured with .1 reinforced hub-hole. Mite , . p| istic hhi-.irv '--.-.se Is included verv box of diskettes. MMD-CDMOI)U0) • specify computer or required sectors. ■II. BOX Ten boxes $22.75 MINIDISKS |TES Box mores 3401 (37.00 rh.iiini S2SWIX10] 88.00 One hundred boxes $21.50 EIGHT INCH Scotch bax 10 bx. Oysan box 10 b.x. MUX box 10 i, Soili iWe/elasla den. T«-0 i3J. 5a:i. 3740/1 svj. S47. aooo s- 5. 5.:: Sin. 1- tide/double den. ?■( 1 -0 46. 43. 3740/id 7f>. ta. jouo 3". 3! Single side/32 sector 740-32 as. 33. na. na. Double side/ double O. 743-0 r,5. :,i: na. 3U5 40. 41 SCOTCH brand bead cleaning Wt. $24.95 MMA-CK(jH8) please specify S 1/1 B" Price iv .il.ibl.- on request for: tape, cartridges, diskpacks, volunin dtstcelt' 26 Megabyte Hard Disk Drive from George Morrow's Thinker Toys S3495 I I ■..."-■ 1 ColliruHec MIGhord diet Controllei Switchboard Interface MEMOREX $ 8"DISKETTES 25 MEMORY ■ , 64K DYNAMIC $ 11. 95 4164 100- s 9.75 16K DYNAMIC $2.io 4116 100' '1.85 16K STATIC $ 13. 95 2167 200ns. 2716EPR0M $4_95 100.M.50 1K-M.00 STATIC i2+ ■1W.02 450ns. 211.02 L'fiOns 2114L4 4f)0ns 2114L3 :100ns 4044-4 450ns •1014-2 2S0ns 5257-3 SOOns 1. 19 1. 49 3. 95 4. 25 4. 95 5. 50 1. 47 1. 05 1.45 2.95 3. 75 4. 50 4.95 4. 25 .99 . 39 . 75 .00 . 25 . 50 .05 EPRQM 270U 450ns 2715 5V. 2716 tri-volt 27 32 bllul 2532 TI 27S4 4.95 4.50 3.75 4. 95 4. 50 4. 00 9.95 9.00 8.25 J. 00 3.50 3.09 21.30 19.00 2.75 4.00 4. 35 3.75 3.25 7.50 Your Choice direct connect MODEM *169 I'lther of these twi- ll.- 1 I,... r-;..l lioia Systems n> n.l' 1 31. I ...I, 1.. Jtllh H. II 111 .. .' Ii ;■ . . too (■■.-■.■■!■• I Iron roxlti .■ . to ":.''. >■ *■ !■ roeuptlrle. Universal Data Auto Answer 103LP J *2 19 Novation Auto Cat RS232 *239 BSR SYSTEM X-10 The new BSR timer runs appliances while your aw istiuj: System X-10 clevic BSIt Timer eight chtuine Master control console Ultrasonic Controller ApsUance Module r.oo w. $13.85 Lamp Module 300 Watts 13-85 NEW lull control wall switch 14.50 S-100 Mother Board $35 Quiet Buss SWITCHES AS !:S n 1.3H i. is CONNECTORS .158" Centers (standard] 22/44 Kim Evelct 38/72 Digital Group S/T 38/73 Diglta] Croup W/W 43/86 Motorola eeoosn* 43/HB Molo. (iltOO WAV 5.60 6.80 7.00 I'Li.H.VlLn CIRCUIT SOCKETS 40 pin .42 .40 DAi.-.l' male 2.33 U w IS taiiste. 3.2a DA hood MP 1.00 NH L'.l- male 2.50 BB2SS female 2.00 2.00 1.30 1)11 I I 2/P 1.3 DC37F malt DC 175 :,■;..., DC hood 2/1- DDSOF ii DJJSOS r. DU.tO ho CENTRONICS 4.20 ale ii.60 H.00 RIBBON CAULK CONNECTORS 17/34 B"dUk 1,93 4.15 3.05 20/40 THS-H0 5,85 3.05 4.70 23/30 H" disk 5.90 3.13 l.'.'O VISA c Circle 55 on inquiry card. Ail merchandise sold by California Digital is premium grade. Shipping: First five pounds $2.00; each additional add $.40 Foreign orders 10% shipping. Excess will be refunded. California residents add 6% sales tax. COD's discouraged. Open accounts extended to state supported educational institu- tions and companies with a "Strong Dun & Bradstreet. " Warehouse: 15608 Inglewood Blvd. Visitors by appointment. GREEN PHOSPHOR MONITOR The new Zenith ZVM-121 fea- tures a P31 green phosphor tube along with 15 MHz bandwidth. Switch selectable Tor 40/80 char- acter screen. Fully compatable with 80 column Apple cards. VDM-Z131 20 lbs. $ 119 10 4- '109 1004-*99 . Shugart Associates 801/ R Disk Drive 15 lbs. Shugarl 801 /It with CP.BOfl power supply, nu plele In duul enclosure wiiti .ill ihi' m.-cessar- Documentation Included. 30 pounds. MSB- Same as ut>OVo but with two Shugftrt H01R 'lis SO pounds. .MSO-2H01 Disk drive cable. 6 Feet SO conductor with edge e nt both ends. WCA-830S ?25.00 Bs>orl Disk drives. 220V. SOMHs add 550.00 pe: SHUGART 801R S I i mm i dgft NEW from Shugart Technology s Megabyte Hard Disk Drive Packaged In the same physical size as the industry stan- dard 5 1/4" minifloppy disk drive. The micro-Winches- ter stores thirty times as much data (6.38 megabytes unformatted), accesses data twice as fast (170 milli- seconds) and transfers data twenty times faster (5.0 megabits per second. ) The STIjOG is factory sealed to protect the media from environmental contaminates. Requires only DC voltage. Dual California Digital 5 1/4" enclosure, t0 Superbrain84D SYSSB84D zttbQ KorthstarfifQ SY8N64Q 3295 Norihstar 64l> SYSNfMIJ 2805 NEC/PCB0OO SYSi'CaOOO mill Apple II Plus SYSAP 1170 = == =V= Display = ^ =_=T= Terminal IBM Direct Price >1 29§ California Digital $ 1195 discount price Correspondence quality printing. A lol of printers costing a lot more can't touch the MX-WFs performance. It gives you a choice of 40. 80, 66 or 112 col- umns of punting in .is many as four distinct printing density modes, a total of twelve different combinations which cm | accommodate nearly anv printing requirement. Bidirectional printing. Logical seeking of shortest lines. 80 CPS. &4 graphics characters Forms handling. The list of standard features goes on ami on. The fact is thai there are few printers that can compete with the MX-80 -it ANV price. And none— ZERO - In its extraordi- narily affordable price range. iBCDEF BH I J 1 LMWDPQRSTUVWX Y JABCDEF SI 1 1 Parallel Interface 7720A S3 Programabte Timer 77-10A 99 Analog Digital converter 7-170A i)'.< MICROSOFT PRODUCTS Apple to Z-B0 CPU card 379 U.C. HAVES PRODUCTS Microi.iiniem for Apple Slfl COMPUTER STOP PRODUCTS Double Vision / BO Column Video 289 INTERACTIVE STRUCTURES 1G Channel A/1) card AIO/S 275 MOUNTAIN COMPUTER PRODUCTS Intro X-10 system for BSR 5236 intro X-10 card onlv 16! 16 channel AD/DA 8 oil 31i Apple Clock battery back-up 22: Supertalker SD200 24! ROM Plus With filter lfi: ROM Writer/Programmer 1 18 APPLE BRAND PRODUCTS Apple Language curd 45C Floppy disk wtth controller 56C Moppv disk without controller 49; Apple-parallel interface 17: SSM MICROCOMPUTER Dual serial par:illel Interface AIO SORRENTO VAELKV ASSOCIATE •alia (Pascal) S-100 BOARDS Assembled • Tested • Burned-in Calif. Computer 81 0A ('-no DMA. iXOtt HDC Codboui E-80 34 Ml, l.MII/ lillC ti/HO a«j«ii>oui soaa/aoafi dui G !>lt HDC oaa Measurement Svs f]i: S 7 -110 -i serial 2 parallel r ;,i tun. cl.oclt. 8 vector BDC M/.HO si) Systems SBC- '(II) /. 80 wtth serial K 1 .U-alle I/O pons I1DC SBC3 r,i..--L-i. 1 nc-i Ingle board cpu '■ noppv itn.lle plus I/O HDC M)C1 MAIM 'HAMES Calif. Computer 200 A 12 slot i;x.\i -C220D TBI 12 slot tabk KX.M -112 TEI ?2 slot tabl. IJNM - ru Godhotn mainfrn 1-XM -OMI MEMORY BOAR1 C ilil. !.:.■■■ |.Ut.-!' 083A 61k v HD.\: -C'Oti'. cut. Computer II!'. 1 JK BUM -C201S Cilif. Computer II (J .: 2k Bin -C2(i:i2 ! BOARDS Researeti 32K . 27tu BUM-UPS! 111-100 proeran.nier UliM-PUH) mlile dwnsttji, HD1 -Ml s'i Systeixa Versafloppy 11 double ctensiiy Mul -\l :• Tarhell D/D BUF-TF2 Morron UesifiH Di.:l. Jockey 1 sinsle density HUI--1U! Morrow Deaicn Disk Jockev II double density BU1--UJ2 L\TKH1 ACE BOARDS Calif. CoiKputer 271H I/O ■1 serlal/2 par I BUT-C2T18 Morrow Designs Sniichboard 2 serial/4 pari HDT-MSH Morrow Designs Multitioard i swtal/3P. ■•• BUT-11MH Oodboul tnterfac.^r One 2 bcvUiI/2 par 1 BOS-tifil 1 .u Bjoui btterfueer run 1 BerUt/3 par I HDS-CIi: 1 Sl'i.CIALIl V BOAaiJS gl' Ctw puter real n" u Rotron Muffin Fan *14 77 1 .Ulltl j|] Spuctru. use 1). c. II ve5 S-100 Ml UDS-11M1 Mullet. Products extender board K in ir proU kt liDS MTHl Mull n 'rothtcti Cpio-c .r kit BUS HOC J12.00 4.50 1.99 2.15 2.49 3403 Five Inch Ten Sector for Horizon, Zenith/Heath 4.50 1.99 2.15 2.49 3405 Five Inch Sixteen Sector Vector Graphics 4.50 1.99 2.15 2.49 3431 Five Inch Soft Sector with Reinforced Hub Ring 4.65 2.19 2.35 2.69 3060 Eight Inch Single Side Diablo, IBM 3740 5.00 2.19 2.35 2.69 3090 Eight Inch Double Density Radio Shack Model II 6.50 2.95 3.19 3.49 3114 Eight Inch Double Side Double Density 7.00 3.49 3.75 4.95 Individual Address City \ Card No. Company Phone State Zip Exp. Computer Sub Total Tax Shipping Total California DiqiTAl Order Toll Free! w~ * . . v » r, . « »- . M . . « ,. (800) 421.5041 4738 -156th Street • Lawndale, Calif. 90260 (213)679-9001 1858 EVERGREEN • DUARTE, CALIFORNIA 91010 • TELEPHONE (213) 357-50( JUST WRAP KIT Just Wrap tool for daisy chain wiring. Tool strips as it wraps and cuts. Includes one 50 foot spool of wire. Part No. Description Price JW-1' Just Wrap Tool $14.95 JWK-6 Tool w/4 Spools and JUW1 24.95 R-JW* 50 Ft. Replacement Wire 3.49 JUW-1 Unwrapping Tool 3.49 •Specify Color: Red, Blue, White or Yellow. Regular Modified Wrap Wrap HAND WRAP TOOL Description Price Regular $6.95 Modified 7.95 TERMINALS • .025 HWt.l " mill NIHIL tip] (0,63mm) Square Post mrr-i • 3 Level Wire- MM Wrapping ■wn • Gold Plated 25 PER PKG. Part No. Description Price WWT-1 Slotted Terminal $4.98 WWT-2 Single Sided Terminal 2.98 WWT-3 IC Socket Term. 4.98 WWT-4 Double Sided Terminal 1.98 INS 1 Insertion Tool for above 2.49 SOCKET WRAP - ID •••••••••••• Slipped onto »K1»K17HI»»fl22»» soo P k P et before Ur«|>-ID 12 II 10 1 8 7 6 5 « 3 2 1 wrapping to identify pins. Bulk Bulk Part # Price Price Part # Price Price 14ID 1.49/10 5.50/100 22ID 1.49/5 5.95/50 16ID 1.49/10 5.95/100 24ID 1.49/5 5.95/50 18ID 1.49/10 5.00/50 28ID 1.49/5 6.50/50 20ID 1.49/5 5.00/50 40ID 1.49/5 5.00/25 PRODUCTS IP.C.B. TERMINAL STRIPS The TS strips provide positive screw activated clamping action, accom- modate wire sizes 14-30 AWG (1,8-0, 25mm). Pins are solder plated copper, .042 inch (1mm) diameter, on .200 inch (5mm) centers. Part No. Description Price TS- 4 4-Pole $1.69 TS- 8 8-Pole 2.59 TS-12 12-Pole 3.49 TS6MD 2-Pole Interlocking 3/1.79 DESOLDERING PUMP Easy one hand *• operation. Rugged all metal construction. Replaceable TEFLON® Tip. Self cleaning on each stroke. Suction precisely regulated for reliable desoldering without damage to delicate circuitry. DSPI Desoldering Pump $9.95 LOGIC PROBE > Compatible with all logic families us- ing a 4 to 15V power supply. Thresholds automatically programm- ed. Visual indication of logic levels to show high, low, bad level or open cir- cuit logic pulses. • 10 N sec. pulse responses • 120 K input impedence. • Automatic resetting memory. • Includes tip with protective cap & coiled cord. PRB-1 $36.95 LOGIC PULSER Superimposes a pulse train (20 pps) or a single pulse onto the circuit node under test without un-soldering IC's. • Automatic polarity sensing • 2 us pulse width • Finger tip push button actuated • Includes tip with protective cap & coiled cord. PSL-1 $48.95 VACUUM VISE Unique vacuum-based light duty vise for precision handling of small components and assemblies. Rugged ABS construction. XW (32mn travel for maximum versatility. Also features screw lugs for permanent installation. VV1 Vacuum Vice $3.49 jgjfc. .■jfA Kg- HOBBY- ^/Al ^t WRAP 1 ROBOTIC ARM Completely ^tt^^^k «.„., M m nation or ^mt Assemb y^^H ^B ^P tic Pricinles A • Automation or Robollc Assembly . • Education in Robotic Prlclple! • Artificial Inlellgence Experiments • Computer Art and Games $1695 00 Armbasic Sotlware lor TRS-80 eicm, ^Applications Manual *"9 AppllcallonsJRefurence Manual $16" California Computer Systems 2200 SUPER S-100 BUY! VISTA COMPUTE" Dalasavei'-UniriofiuplaOiePS 395.00 New Vocalyier'-Voico CartJ 225.00 Ne* Vi5ion80"'80i24CarrJ ... 325 00 New Vision J0'-40 col BfiriancemeM 175.00 New AflOOOjaaPeniStyB- Controller E95 00 New Microsoft Z-80 Softened .. . !5900 MicrosolMSKRarrcaro IB9.00 SSMAIOSeiial/ParallonO . .165.00 CCSABynchfonou>7710ASeiial .. . .139.00 Apple Joyillcfc'GESU" 54.35 Mountain Computor Romplus - 169.00 Rom Writer 159.00 lntraWX-10 ... 180 00 lniiof/X.10 Remote Cont Syj 249 00 SuperTalkor ... 27500 MusrcSyitan- 49900 CPS Multifunction 229.00 New Expansion Chassis 699 00 New □C Hayes Mlcfomoflem II .,., , .29900' New DC Hayes Smarl MorJom 349,95 New Tliund ere lock . . 125.00 New X-10 HO Option" .... 49.00 New Pascal For Anove" .;9oo New CCSPar allot Ca'07! Apple Compute' Apple H i-SpecO Seri fcipplG// Buy a System and Save • 12 Slot Mainframe • 64 bynamic HAM • CP/M™ 2.2 • Z-80 CPU 4 MHz w/Serial 10 • Double Density Disk Controller • Interface to Vista V-1000 Chassis SPECIAL PACKAGE PRICE -poo OQ FOR COMPLETE SYSTEM 'O y9 - with (2) Shugart Double Density Floppys mounted. add 1495. 00 Proto Clips Lii-PiriCLiO PC-16 :'.i-t',., ciip PC-a^ ..or,., ci.p PC-io Proto Boards 21.00 PB-203A 25 00 PB-203A-h 43 00 54 00 97 00 149.00 129 00 Novation: AUTO-CAT™ Automatic Answer Direct Connect 0-300 Band List 279 95 ACP245 95 OAT™ Lis ' 198 °" Answer Originate ACP169 00 D-CAT direct Connect 1 0-300 Band. List 249"' acp189 00 New #PPta software Visicalc — Now Better Than Ever 169.00 Visiplol— Graph your Visicalc Worksheels 149.00 Visitrend/Visiplot — Visiplot w/Trend Analysis 239.00 Visidex— The Ultimate DBMS Visicalc Compatible 219.00 Visiterm— Communicale w/other Systems 209.00 BPI General Ledger 299.00 BPI Accounts Receivable 299.00 BPI Inventory 299.00 Stockfile Inventory System 349.00 Infotory Inventory System 289.00 Microcom Microcourier 229.00 Microcom Microtelegraph 229.00 Accounting Plus II Biz Pkg. 1250.00 Stoneware DB Waster 189.00 Stoneware Utility Pkg (For above) 89.00 We only offer Apple CPM software which has been evaluated by our software staff. WORDSTAR-The Benchmark of Wordprocessing software requires Z-80 & 80x24 349.00 VTS-80 CP/M-Wordprocessor has no screen menus uses new keycaps (supplied) to display Key functions 319.00 New MAIL-MERGE-A Wordstar Enhance' ment Pkg. allows lorm-letter genera- tion & chained printing 169.00 SPELLGUARD-Will proofread Wordstar & VTS-80 Text hies against an expandable 20.000 word dictionary 169.00 SUPER SORT-Wtll sort, merge. & perform record selection on your CP/M Data Files 169.00 FORTRA 80-By Microsoft 195.00 COBOL 80 Bv Microsofl 749.00 ACS BASIC ACCOUNTING SYSTEM, Total accounting system includes G'L, A/R. A/P. PAYROLL 699.00 New Breakthru in Apple IT Mass Storage! Vista A800 Quad^Density DMA 8' Controller Disk ^ Model A800. . . . only$595 00 [Special Complete Subsystem Offer | • V1000 w/two Qume Datatrack 8 • Cable, ready to run • A800 Apple II 8" Disk Controller Total Value $2939 00 your price$2495 00 Rockwell Sin 9' e Board Computers AIM 65W/1K A!M65w/4K SK BASIC ROM l 4K ASSEMBLER v POWER SUPPLY ENCLOSURE 'TOTAL SYSTEM w/4K SYNERTEKSYM-1 SO Z-80 STARTER KIT SO 2-80 STARTER KIT AST SD SBC 100 Z-80 A&T SD SBC 200 Z-80 A&T RCACOSMACVIP CROMEMCOZ-80SBC 9.00 ROM 84.00 64.95 49.95 669.00 239.00 367 00 450.00 367.00 399.00 199.00 44900 A ATARI 800 & 400 Personal Computer System ATARI 800 $799 00 ATARI 400 $37500 ATARI 800 Includes: Computer Console, BASIC Lang. Cartridge. BASIC Language Programming Manual. 800 Operator's Manual w/Notebook, 1 6K RAM Module, Power Supply. TV Switch Box. BK RAM 16K RAM BM Interim.!- Program fieco'Qf r Stlfiin- »0M nmiditi Eflucat-xSySSrti Mailer Cal"Sge MX BASIC 499 00 hw* Finance 295 DO i htitki smm Ciiuii 'Tin-i 795 00 uS H.5IMV «» US GowrniT-OT 91 9S SuMrvisorv SuW 189.95 fluid History drtesie-'ni MBO Bast SccuMigy Cou^si nt AKOjit"*) t/ea! CijsspCS iEiqi>jni Buiness Crjinnvjr«caicir Cut BASIC «J'T r'aqumi ". V.U 'Jprnv, Woflii" IftK HMf We",,!-, Va]ul' Outinii P.O. Box 17329 Irvine, Calif. 92713 Direct Order Lines: (714) 558-881 3 (800) 854-8230 or (800) 854-8241 Circle 8 on inquiry card. DRIVER'S LICENSE « OR MAJOR CREDIT CARD ft IS REQUIREDON ALLCHECKS MONEY ORDER OR CASHIER CHECK WILL FACILITATE THE SHIPMENT OF YOUR PURCHASE. ^yUDSANeED^ - Y TT=^COMPUTER ^'AlreODUCTS FIRST TO OFFER PRIME PRODUCTS TO THE HOBBYIST AT FAIR P RICES ! 1 ■ PrOVeil Quality Factory tested products only /^SaT^\ 2. Guaranteed Satisfaction ( 4i&f Call For Special School Discounts x*9.9 5 "V-DRIVE" THE LAST WORD IN 8" FLOPPY-DISK ENCLOSURES THi VISTA V-1000 FLOPPY DISK DRIVE SUBSYSTEM • D*uMC^aasiwmrtBrid9rtB»^icr«ssla*T«|X)SKi™nBartlmajitrio«Bui»l B mdndy wd Hectncaly aawnatate srtfc sided dmes— rcluJnj Hie nasi pr«ular B- red WreftsW and Sryjart Itocpy dr» Mn aril 8- rch streaming we unts • S forage capacity lrwn0ilD40nMoaeyW • ■n&sliar ajaiTy cabnei wm* «a (rail be»l • Me* alUL art OS r(A standards* MHOMl Savfigs! Fran and mat mma rai monts provttd .(' ■■ em cftarge ino ntamaf skta! • Desk of rat* mourtabre • Fmuk mdUB towirwn ««tt nmowat* sir assemrjfy that atom easy cab net wsrl lormgand n-.winj m Drrves pul out lot easy wvw art martenance. DISCOUNT PRICES CABIHFT S 395 CABINET aM Bl sngte sow crrves (tadufrg pcwar 5up>y & caUel S1495 CABINET «H .(2> do»e sasd onves [retmg pom 3joti & cat*-]. S1995 for TRS80? MODEL I, PMC 80. ZENITH H89, S-100, etc. ONLY310 00 ea. MODEL V-801, 80 TRACKS, SS ONLY425 00 ea. 2 DRIVE CABLE. . 29.95 4 DRIVE CABLE. . 39.95 ^ MOSTEK MK4015 4K Dynamic RAM Refresh while supply lasts only .49° Pin equivalent to MK4027 except has 1 ms. S-100 WW $2.99 each FIRST QUALITY AT SURPLUS PRICE 2708 EPROMS PRIME-450 Ns. 8 for $29.95 4K STATIC RAM SELL-OFF Zilog 6104-4 Same as TMS 4044 but designed specifically for Z-80 based systems. This is full-spec 4Kx1 RAM. 450 Ns. While supply lasts $1.49 each. TTTTTTTTT SPECIAL PURCHASE $59.95 Limited Supply $59.95 16K Affair RAM Boards. Fully Populated as is. FLOPPY DISK DRIVES • Double Density ACP LOW PRICE $569.95 TandomTMlOO-l SV." Duk Drive 249.95 MPI B51-5V.". 40 iracka 239.95 Shugan SA400-5V<" 35 tracka 295.00 Shugarl 800/801 R 8" 449.00 Sl«mnn« Shugan Compallble Model FDD-1 20-BD 429.00 PERSCI Model 377 Dual 1195.00 MPI B52 5 V Dual 348.00 WANGO/SIEMENS 82 290.00 MPI 91 Double Track Denalty Single Side, 60 Tracks 375.00 MPI 92 Double. Trick Penalty Double Side, 1 60 Track. . . . 475.00 6800 MICROMODULE™ PRICE LIST MODELNO DESCRIPTION PRICE 960OA 9609 9601 9602 9603 9604 9605 9610 6 Slot Mother Card Cage 8 Slot Mother Board Power Supply DC Input Power Supply Utility Proto Board 1611 Arilh. P'OC/Memory Module 9612 Buffered Uhlily Proto Board 9616 32K EPROM/RAM Module 9617 EPROM Programming Head 96.20, 16, Channel Parallel I/O Module 9622 Serial-Parallel I/O Module 9627 16K Sialic RAM Module 470ns 9629 32K Slanc RAM 450ns 9629A 32K Sialic RAM 200ns 9630 Card Extender 9640 Multiple Programmable Timer 9650 8 Channel Duplex Serial I/O Mod. 9655 Intelligent Tape Controller 96103 32/32 I/O Module 96702 Contact Closure Module UNPOPULATED BOARDS 'Also Available) $24.95 TRS-80/APPLE S24.95 MEMORY EXPANSION KITS. 41 16's. 16K 1200/250 ns.j 8 pes for S24.95 nnnn Specify Computet If IA IUI Call For Volume Pricing ■■"■■■ 16K CENTRONICS PRINTER Model 737 • CenUonics complete printer • The 737 has everything Check and compare the features. • New low pnee $835.00 32K STATIC RAM BOARD 2 or 4 MHz Expandable uses 2114L's S-100 16K4 MHz Kit . .159.95 16K4 MHzA&T ,217.95 32K MHz Kit . 289.95 32K4MHzA&T 339.00 Bare Board 39.95 Bare Bd. w/all parts less mem 99.95 NEW! from Zilog Z-8 CPU comes with Tiny Basie & debug program on the I.C. BIPOLAR CPU SALE Signetics 8x300 8 bit CPU While stock lasts 14.95 ea. UV "Eprom" Eraser ~ Model UVS-11E S69.95 ModelS-52T... S325.00 NON-LINEAR SYSTEMS. INC/flK TOUCHY-TEST 20 DIGITAL *._.»»- MULTIMETER $31 9 95 * BECKMAN c$£ DIGITAL MULTIMETERS >Jo TECH 300 Digital Multimeter $110 ** TECH 310 Digital Multimeter S140 TECH 330 Digital Multimeter S189 VC-201 Vinyl Carrying Case 510 DC-202 Deluxe Carrying Case 524 HV-211 High Voltage Probe 535 RP-221 RP Probe 535 Ct-231 AC Current Clamp 542 DL-241 Delxue Test Lead Kit S10 TL-242 Square Test Leads S6 INTERSYSTEMS The Preferred S-100 Box The new Series II CPU Board features a A MHz Z-80A CPU and full-feature front pane!. 20-slot actively terminated mother- board, with 25 amp power supply (50/60 Hz operation, incl. 68 cfm fan). DPS-1, List $1795 ACP Price $1499 SYSTEM 2A with Z-80A CPU MHz, 64K RAM, I/O Board, 20 slots, front panel, double density disk controller board. Full 1-year warranty. List $3795 ACP Price $2995 • Z-80A CPU 4 MHz • 5 user programmable function keys ■ 82 Keys with numeric keypad • 160x100 n NEC PC-8000 Series Microcom puter System. NEW INTRO PRICING $1099.00 mpuler w'32KRAM . SI 295.00 I PC-8012A l;0 Unit w-32K RAM, , Expansion slots 795.00 PCB031A Dual Mini-Disk Drive Unit 1295.00 PC-8032A Add-On Dual MInl-Dlsk Drive Unit 1095.00 I PC-8023A Impact Matrix Printer. I Tractor/Friction Feed 660.00 [ PC-8094A Cable for PCB023A Printer 49,95 JB-1201M(A) High Resolution Green Monitor 265.00 JC-1202DH(A) High Resolution Color Monitor w/RGB Input 1195.00 PC-8091A RGB Cable lor JC-1202DH(A) Color Monitor 19.95 3asic Language Learning Guide 3 C-8001A Microcomputer Reference Manual .... PC-B012A I/O Unit User's Manual | PC-B031A Dual Disk User's Manual 239.00 1049,00 17.95 19.95 19.95 RETAIL STORES OPEN MON-SAT MICROPROCESSORS Z8001 16bittc>8Mb. . .5189.00 Z8002 16 bit to64K .... 149.00 280 995 Z80A 13.95 F-8 138501 16.95 2650 16.95 CD 1802 9.75 B080A 4,75 808DA-4MH! 19 95 SALE 8085 14.95 6008-1 14 95 2901 9 90 2901 A 14 95 2903 4-bilSupersl.ee 29 95 TMS9900JL 49.95 CP160O ... 39.95 6502 9.95 65Q2A ... ... 16.95 IM61O0 29 95 6800 11-75 63O0B 2 MHz 19 95 6802P .... 1795 8035 14.95 8039 19-95 INS8073N 24.95 8755 4995 8748 69 95 6B09 3795 8086 69 95 ADVANCED SUPPORT AM9511 Anth, Processor .175.00 9512 Anth Processor 175.00 9513 Umv, Timing . .. 79.95 AM9517 DMA Controller 18 95 AM95 19 Universal Interrupt 18 95 Z-80 SUPPORT CHIPS Z80-PIO 2 5 MHz 8 75 2S0A-PIO 40MHz .. 12.95 Z80-CTC 2 5 MHz 8.75 Z60A-CTC 4 MHz 12 95 ZB0-DMA 2.5 MHz . 29 95 Z60A-DMA 4.0 MHz.. 36.95 Ze0-SIO/0 2 5 MHz.... 35.95 Z80A-SIO/0 4 MHZ 39.40 Z80-SIO/1 2 5 MHz... 35.95 Z80A-SIO/1 4 MHz 39.40 ZS0-SIO.2 2.5 MHz ... .35 95 280-SlO 2 4 MHz 39 40 8080/8085 SUPPORT 8155/8156 I/O 24.95 8755 I/O with Eprom 84.95 8202 Dyn Ram Com 34 95 B205.74S 138 Decoder ,., 3 95 8212 8 btt I/O 2 75 82T4 Priority Ini 5.25 B216 Bus Driver 2.75 8224ClockGen 295. B224-4(4MHz> 9.75 8226 Bus Driver 2.95 BT26 Bus Drivei 2 95 B22BSy9. Control 4.50 823BSys Cont 5.50 8243 HO Exp . . . 9.50 8250Asyn.Comm 15.95 8251 Prog I/O ... 5.95 B253 Int. Timer . 12.95 8255 Proo. I/O ... 6.50 9257 P-o(j DMA 16.95 8259 Prog Int 15 95 8275 CRT Coniroller 45 95 8279 Prog. Keyboard 15.95 6800 SUPPORT CHIPS 6810 128 « 8 Ram 4.75 6B20 . .6.50 6821 6 50 6828 Priority Int . 10.75 5834-1 512 ■ 8 Eprom .... 16.95 6B45.HD46505CHTCortl. ..29.95 6847 Color CRT 29,95 6850 ACIA. . . ...5.95 6B52 Se'ial Adapter . . 5.95 6B60 Modem .. . 10 95 >?££2 '.'adulator . 11.95 6871A l.OMHz OSC 25.95 6875 ... 6.95 6880BusDnver 2.19 MC684S8 19.95 68047 24.95 6502 SUPPORT CHIPS 6520 PIA 7 50 6522 Mull . .1 1.95 6530-002.003.004.005 .. .21.95 6532 ... . 19-95 6551 . 19.95 BIPOLAR PROMS We do Custom Programming 82S23'6330/56O0/74S1B8 4.25 82S115(512x8,TS 12.95 82S123,'56lO'74S28B|32x8iTS. 4.25 82S126'5603'74S387|256x4)OC 4.25 82S129 5623'74S287 (256x4|TS 4.25 82S130.. , 5604.74S570(5l2x4)OC 6.50 82S13U74S571 (512x4)TS 6.95 82S137/74S573(1024xd)TS . . . 12.95 82S141/3624/74S474 (512xB)TS 12.95 82S147/74S472(512x8)TS 12.95 74S47iy6309(256x6)TS 7.95 MOS PROMS 2764 (BKxBlTS 89.95 2732|4Kx8)TS 16.95 2716/2518;5V(2Kx8lTS B.95 TMS2716, = 5V. 12V 17.95 275B.5V, (450N5J 7.50 2708 UJ50N5I 5,75 270B (650rJsl 5.25 1702A 5.75 MM5203AQ 14.50 MM5204Q 9.95 CHARACTER QEN. 2513-001 (5V)Upper 9,50 2513-005 (5V| Lower 10.95 2513-ADM3 [SV) Lower. . . . 14.95 MCM88710 Ascll Shifted 12.95 MCM66740 Math Symbol 13.45 MCM66750 Alpha Control 13.45 U ARTS/BAUD RATE TR1602BI5V I2vi 395 AY51013I5V. 12VI A. 95 AV5101AA/1612 (5-'4Vi 6 95 AY51015A/ia63 |5VI 6 95 IM6402 7.95 IM6403 8.95 2350 USPT 9 95 1671BAs!'os 2495 SALE TR1472B S.SS MC1A41 1 11.95 4702 1rt95 WD1941 9 9^ COM 5016 16.95 INS 8250 15.96 KEYBOARD ENCODERS AY5-2376 13.75 AY5-3600 13.75 STATIC RAMS ? 1L02 -450ns /sfrLfc N 2IL02 250ns (» A0 2 1 2, KJ&S 1 30 1 59 375 25-99 1 25 1 55 3 65 ZS5 res 211JNI450WS.1 3.75 3.50 3 25. 21 1.1L-J50ns l 4045l Z114L-450ns |40A5) 4 ("5 4 2F. 3.95 .lO'i-l ^50 ns 8 95 7 50 6 9C 4044 4 50ns. 8 75 f98 EWM4402 7 95 7 25 S2h AMD91 40/41 10.95 10 25 9 25 AMD9130/31 11 95 »0 2E 1101 195 175 p?i:'!):-*):i425[45fisi 8 35 65IQ IK . 1 CMOS 7 95 7 95 8 95 G 95 934 1[i ')<){! 'i.-i'- f)f>0 FLOPPY DISK I/O 1771-01 8"& Minillopriy .24.9 1781 Dual Floppy 29 9 1791-01 Dual Floppy 36 9 1791-02 Dual Floppy 44.S 1793 DO. DS Floppy ..... 44.5 1797 DD, DS Floppy 54.5 1691 Data Separator . . . 1B.S 2143ClockGen 1B.9 DYNAMIC RAMS 416/4116 16K(16Pin) Setol8416s200N5 41158K(16Pin) 4050 4K, 1 [18 P.ni 2.49 2495 2.49 ■195 4060 -IK » 1 (22 Pin) 4 95 4096 -IK . 1 (16 Pjnl 2104 -IK , 1 |16P.nl 4027 4Kx 1 (16Pinl,'UPD414 3 95 4 75 . .4.95 52G1 195 R A\f "03 5262 1 95 0*+^ 40O8L 113. 511 J? AMS USS $19.95 6002 .95 7 95 1 50 SOCKETS * Pin. | Wire Wrap 3 Laval Lo-Pro Solderlail Tin Gold 14 15 19 20 32 36 35 1 IB 59 84 69 99 2J 79 24 38 65 i 20 43 1 10 1 49 3G SO 1 -SO ZERO INSERTION FORCE 16P.n S^50 24P.n S7 50 40 Fin S1025 LED READOUTS Pin Hi Jta C*i □ .704 300 Red 0.707 300 Red FN03S? 35/ tel FND5Q1 SOD Red FN0503I500I 500 Red FNDS07|510, 500 Red Crnvi Catnsdei + n -■■D'-.i'" 3 Red FHD530 500 Gree FMD550 500 Dran FHDB03 18001 SOO Red friMDrieiO) 800 Red rP5082-'340 600 Red H=5082'300 600 Bed IP50B2-7731 300 Red MAN2A MAN10A KAN] 061 WMV:vi 300 Red 300 Giccn 300 Green , OvsrHan CA L- IC SPECIAL PURCHASE 82S09 64x9 Ram 8.95 DPB304 Octal Driver 2.95 DAC86EXD/ACorw 6.95 MC1650 Hi Speed AID 7 95 MC6852SSDA 3.49 HC1014S 16x4 ECL Ram 4 50 MK38507F8CPU ^.95 MK3853 Static Mem I/O 4.95 SN75136 .46 78M06 .49 MC10210 .89 79M06 .49 LM339 .79 74157 .49 LM710CN .29 74161 .49 LM711CN .29 74C74 ,39 ICM ,'O-ir. Precision StonWalCh .... 23 95 ICM 7207 Oscillalor Conttoller 7.50 Seven Decade Counter 7208 IS. 95 MC14433P3'; Digit A/0 Converter 13 95 ICL 821 1 Voltaqe Reference 1 95 LM IB50N Ground Fault IC 3/1 00 LM 290ON Quad Amplifier 2/1 00 LM 2917N Fret), to Volt Conv 2/1 99 AY-3-3550 4i« digit DMM 24 95 AY-5-3507 40MHz DVM 9 95 MEM 4963 Mosfet Smim. DmocIO' 7 95 27S08 32 . 8 Prom (IM 56001 2 95_ ULN 2003A 7 channel Driver 99 MCM 14505 64 bit Sialic Ram 695 MOC 1003 (4N2S|Opto Coupler 3/1.00 SPX33 Oplo Coupler 3/1 .00 IH 5045 CMOS Switch DBST 4.50 UA3045 Trans. Array 1.25 TR 1 402 A U ART 1 ,95 MJ< 1007 Dyn. Mem. Shift Reg 3.95 5318 TV Ch, Disp. Circuit 4.5D 80B0A 8 Bit CPU 4.95 6700 CJ B Bit A/D 9.95 MM52BO/VPD411/C2 107/TMS4O60/ 4Kxl Dynamic 22 Pin RAM 1.75 6604/VPD 414/4027/2660/MK 4096/ 4Kx1 Dynamic 16 Pin 1.95 ■520/25 1488/1489 .2/199 LM323K 495 MC1372 B.95 i/M'J29rV4A/B . .2 95 A 4558 3/1 99 RC4136. 2/1.' FLOPPY CHIP SET Double Density Double Sided Includes- 1797 $79.95/set -Ml A/D CONVERTERS 87Q1 10 hit Binary 9400 ViHI lo Freq Conv 7 8750 3'; Digit BCD 13 1408L6 6 bil 3 1408L8 8 bil 5 DACOI D to A 5, DAC08 9 DAC 100 9 TV CHIPS/SOUND AY38500-1 6 Games B/W 4 AY3851 5 Colo- Convener 2 AY38603-1 Roadrace G.i AY38606-I Wipeoul Gan AY38607-' Shootmy Gal AY38910 Sound General SN76477 Tl Sound Gene. MM5320-21 TV Synch G !.'M53C9 P'escaler LM1889 PF Modulator MM 57 100 NSC ColO' TV MM57104 Clock Gen m&p Modulate" 13.50 22 00 13 50 29 95 WAVEFORM GEN. 803B Function Gen. MC4024VCO LM566 VCO 1 95 XR2206 Function Generator 5.25 SHIFT REGISTERS 2504V 2507V 2517V 2524V 2525 . 2527 2528 2529 2533 2.95 MM500H 50 MM5056N 2-95 MM5060N 2 95 2510A 1 95 5 95 9.95 334: CTS DIPSWITCHES CTS206-2 1 75 CTS206-7 1 75 CTS206-4 l 75 CTS206-8 1 95 CTS206-5 1 75 CTS206-9 1 95 CTS206-6 1 75 CTS206-10 1 95 CONNECTORS (GOLD) DB25P(RS232I 3 25 DB25S Female 375 Hood 1 25 Set w/Hood. Sale S/50 22/44 W/W. S.T.KIM 2.95 43/86 WAV. S/T, MQT 6 50 5O/1C0 S-100 Connector W/W 4 95 50/100 S-100 Connector Sri 3 95 S-100 Hound Board $34,95 8O80ACPU 34 95 32K Sialic RAM (21 141 39.95 BK Eprom (27081 2708/2716 Eprom ACP Proto 8d Vecior 8800 Proto Vector 8B03 11 slot ME ACP Exlender w/Conn . 13 Slol MotherBoard(WMC) 32.95 9SlolMolherBoard|WMC) 29 95 SSiotMolheJiExpandabie) 34.95 Floppy PCB (8-SriUGARP 3995 SI 00 IAY5-69 1 01 Sound Bd 34 95 Apple Sound Bd 24.95 3495 22 95 22.20 2995 18.95 LM3B0 1 25 VERBATIM DISKETTES 100% CERTIFIED ERROR-FREE! 25 THICKS. DOUBLE DENSITY. SINGLE-SIDE D S'< PHICE'BOX 10 I299S > 123 95 S2995 TYPE DESCRIPTION PI 525-01 Salt Sectored TRS BO etc 525-10 10 Hole Hard NS Aprjie etc 525-16 16 HtfeHarrJ Mcropoiis ■ i.) i II THICK DOUBLE DENSITY- SINCLE SIDEI S'A" W/HUB REPHFOHCEMENT PIIHG 577-01 Soft Sectored. TRS BO. etc 577-tO 10 Hole Hard NS Ancle ere ■577-16 16 Hole Hard MicrWOliS • 40 TRACKS. DOUBLE SIDED DOUBLE DENSITY 5'. S50-P1 Soft Sectored SA 450 MPI 52 550-10 10 Mole Hard BASF WANGCO 550-16 16 Hole Hard Mao' • B M 1 00% CERTIFIED DISKETTES FO8O0-O1 Soli Single Oensilv. 3740 S3351 FO8O0-32 32 Hard Single Density Strug 3351 FDB02-01 Soft OouOle Density 3740 4481 FO85D-01 Soil OouB^ Sided. Ooot* Oensny 3740 49BI VOLUME DEALER PRICING AVAILABLE WE ALSO STOCK DYSAN-CALL ^PRINTERS rTT EPSON •*< MX-BO $495.00 MX-80FT 595,00 MX-100 895.00 MX-70 425.00 Centronics 739 799.00 Vista V-300/25 ops . ....1495.00 V-300/45cps 1795.00 Malibu 165 1995.00 AnndoK 9500/9501 1450.00 Base II 800 MST 549.00 \TERMINALS . .S799 . .1849 S995 AddS Viewpoint S599 Ampex Dialog 80 J1025 Soroc IO120 $699 IQ135 $899 IQ140 1149.00 ef SANYO M ONITOR S" v y_M4509 9"BW Sale Price 159.95 OM5012 12'B/W 239.00 DM5112l2"Green 249.00 DM6013 13- Color 415.00 NEC Green 259.00 AMDEK/LEEDEX Video 100149.00 AMDEK/LEEDEX13"Color 399,00 AMKEKJLEEDEX 12' Green 179.00 S32 25 3225 32 25 (3695 $3895 139 35 TERMS: Use check. M/C, VISA. AMEX, CB. or COD COD requires 25% deposit. Charge Orders please include eipiralion date. Foreign pay U.S. Funds. Order by phone, mail TWX. MINIMUM $1000. Please elude magazine issue and phone SHIPPING: USA add S2.00 for f 2 lbs. For surface add 30C tor at tional lbs. For air add 70C lor a( lional lbs FOREIGN: Add 10% St ping and handling. CQD's $1 .85 extra, Not responsible loi lypos. Some ilems subject to prior sate, We re serve right to limit quantities, somi items subiect to precious metal adder Retail pricing may vary from Mai Order. Wo reserve the right to suo slilule manulacturer. STORE Hi! 131Q-B E rj: STORE »2: 542 W. Tri "Retail prices may vary. '. CA 95131 • (408) 946-7010 P.O. Box 17329 Irvine, Calif. 92713 Direct Order Lines: (714) 558-8813 (800) 854-8230 or (800) 854-8241 Circle 8 on Inquiry card. FOR INTERNATIONAL ORDERS: 1310 E. Edinger (714) 953-06U4 Santa Ana. CA92705 TWX:910-S95-1565 5N7400N SN7401N SN7402N 5N7403N SN7404N 5N7405N SN7406N SN7407N SN7408N SN7409N SN7410N SN7411N SN7412N SN7413N SN7414N SN7416N SN7417N SN7420N SN7421N SN7422N 5N7423N SN7425N SN7426N SN7427N SN7428N SN7430N SN7432N SN7437IM SN743BN SN7439N SN7440N 5N7441N SN7442N SN7443N SN7444N SN7445N SN7446N SN7447N SN7448N SN7450N SN7451N SN7453N SN7454N SN7459A SN7460N SN7470N 74LS0O 74LS01 74LS02 74LS03 74LS04 74LS05 74 L SOB 74LS09 74LS10 74LS11 74LS12 74LS13 74LS14 74LS15 74 L 520 74LS21 74LS22 74LS26 74L527 74LS28 74LS30 74LS32 74 L 533 74L537 74LS38 74LS40 74LS42 74LS47 74LS48 74 L 549 74L551 74LSS4 74LS55 74LS73 74L574 74LS75 74L576 74 LS78 74LS83 74 L 585 74LS86 74 L 590 74SO0 74S02 74S03 74S04 74505 74 SOS 74509 74S10 74S11 74515 74520 74522 74S30 74S32 745 38 74S40 74551 74564 74565 74S74 74586 745112 74SU3 745114 7400 SN7472N SN7473N 5N7474N SN7475N SN7476N SN7479N SN74B0N SN7482N SN7483N SN74B5IN SN7486N SN7489N SN7490N SN7491N SN7492N SN7493N SN7494N SN7495N SN7496N SN7497N SN74100N SN74104N SN74105N SN 74107 N SN74109N SN74116N SN74121N SN74122N SN74123N SN74125N SN74126N SN74132N SN74136N SN74141N SN74142N SN74143N SN74144N SN 74145 N SN74147N SN74148N SN74150N SN741S1N SN74152N SN741S3N SN74154N SN74155N lUII I SN74156N SN74157N SN74160N SN74161N SN74162N SN74163N SN74164N SN74165N 5N74166N SN74167N SN74170N SN74172N SN74173N SN74174N SN74175N SN74176N 5N74177N SN74179N SN74180N SN74181N SN74182N SN74184N 5N74185N SN74190N SN74191N SN 74192 N SN74193N SN74194N SN74195N SN74196N SN74197N SN74I98N SN74199N SN 74221 N SN 74251 N 5N74276N 5 N 74279 N SN 74283 N 5 N 74284 N SN742B5N 5N74365N SN74366N SN74367N 5 N 74368 N SN 74390 N SN74393N 74LS 74L592 74LS93 74LS95 74LS96 74LS107 74LS109 74LS112 74LS113 74LS114 74L5122 74LS123 74LS125 74LS126 74LS132 74LS133 74LS136 74L513B 74L5139 74LS1S1 74LS153 74L5154 74LS155 74LS1S6 74LS157 74LS158 74LS16Q 74LS161 74LS162 74LS163 74LS164 74LS165 74LS168 74LS169 74 LSI 70 74 LSI 73 74 LSI 74 74LS175 74LS181 74LS190 74LS191 1.15 1.15 1.15 1.15 74LS192 74LS193 74LS194 74LS195 74LS197 74LS221 74LS240 74LS241 74LS242 74LS243 74 L 5244 74 L 5245 74LS247 74LS248 74LS249 74LS251 74LS2S3 74LS257 74LS258 74LS260 74LS266 74LS273 74LS279 74LS283 74L5290 74LS293 74L5298 74LS352 74LS353 74LS365 74LS366 74LS367 74LS368 74LS373 74 LS374 74LS375 74 L 5385 74LS393 74LS399 74LS670 81LS95 81LS97 74S 74SI24 745133 745134 74S135 74S136 74S138 745139 74S140 74S151 745153 74S157 74S15S 745150 74S174 74S175 74 S 188 745194 745 19S 74S196 74S240 74S241 745242 2.95 1.95 1.95 1.95 2.95 2.95 125 74S243 745244 74S251 745253 74S257 74 S 258 74 S 260 745280 74S287 74S288 745373 74S374 74S387 74S471 74S472 745473 74S474 74S475 745570 74S571 74S572 74S573 74S94Q 74S941 2.95 1.19 1.19 1.19 2.49 2.49 2.49 2.95 10.95 10.95 10.95 12.95 12.95 5.95 5.95 9.95 9.95 3.15 3.15 4-Digit 16 Segment Alphanumeric Intelligent Display with Memory, Recorder, Driver End-siflcknblB. 4-charBciar packago, High con- trast, IGOmil high, magnified monolithic characters. 64-Chaiacter ASCII format. Built-in memory, docodar, mu I lip lexer and driver*. Dirocl access to each digit independently and asyn- chronously. Five volt logic. TTL compatible. Fiva volt power supply only. Independent cursor func- tion. Siie; 1"L x l-3/16"H x .225"0. DL-1416Alphonumoric Display S19.95 en. r n 10-Segment Bargraph Displays (with On-Board Driver IC-Chip) Size: 2 M L x 7/8"H x 3/16"D Bar or dot display mode externally selectable by user. Packages are end-stackoblo for expanded displays. Can bo cascaded to 10 arrays (100 bargraph elements). LEO current programmable from 2mA 1o 30mA. Stable internal voltage reference forfullscalaanalDginputB from 1.2 to 12V. Each LGD output of driver IC with axtornai access. Siia; 2"x7/8"x3/16". NSM3914 Linear Function (10 bars red) 16.96 NSM39146 Linear Function (6 bars green/4 red) 6.96 NSM391E Logarithmic Function (10 bars red) E.96 NSM39168 Logerlthmlc Func. (6 grn./2 yoll./2 rd.l 6.96 NSM3916 VU-Matar Function M0 bars red) 6.96 NSM39168 VU-MetorFunc.tBgrn./2yall./2rd.) 6.96 DISCRETE LEDS XC556R .200" red XC556G .200" green XC556Y .200" yellow XC556C .200" clear XC22R .200" red XC22G .200" green XC22Y .200" yellow MV10B .170" red MV50 .085" red XC209R .125" red XC209G .125" green XC209Y .125" yellow XC526R .185" red XC526G .185" green XC526Y .185" yellow XC526C .185" clear C.A. D.D. - D Type MAN 1 MAN 2 MAN 3 MAN 52 MAN 54 MAN 71 MAN 72 MAN 74 MAN 82 MAN 84 MAN 3620 MAN 3630 MAN 3640 MAN 4610 MAN 6510 MAN 6630 MAN 6640 MAN 6650 MAN 6650 MAN 6710 MAN 6740 MAN 6750 DLO304 DLO307 DLG500 Con- |.200(Tiy.Q Red/Green Diffused Si-Color LED Part No. 1-99 100+ RL-2 . .$.39ea.or3/S1.00 Polaris C.A.— r 5x7 D.h C.C.— r. C.A.— g C.C.-g C.A.— r C.A.-r C.C.— n C.A.— i C.C.— y C.A.— c C.A.— c c.c— C C.A.-c C.A.— orange— DD .560 C.A. C.C— c C.C.-c C.A. C.A. c.c- c.c- c.c. C.A.— c c.c- Price 2.95 —orange : 1 -DD . orange t 1 —orange -red— DD -red— DD -red * 1 orange Type DLG507 DL704 DL707 DL728 DL741 DL747 DL750 DL0847 DLO850 DL33B FND358 FND357 FND500 FND507 HDSP-3401 HDSP-3403 H DSP- 3406 5082-7751 5082-7760 5082-7300 5082-7302 5082-7340 4N28 LIT-1 MOC3010 RHD — Right Hand Decimal Ht .500 .600 .110 Polarity C.A.-green C.C— red C.A.— red C.C— red C.A.— red C.A.— red C.C— red C.A. —orange C.C. -orange C.C— red C.C. i 1 .357 C.C. .357 C.C (FND503) ,5oo C.A. (FND510) .500 C.A.-red .800 C.C. -red .800 C.C. red +1 .800 CA..R.H.D.— red .430 C.C.R.H.D.— red .430 4x7 Numeric (RHD).600 4x7Numeric(LHD).600 4x7Hxdcl.(0-9/A-F) .600 Photo XsfstorOpto-lsol. Photo Xsistor Opto-lsol. .69 Optically Isol.TrlacDriver 1.25 Price 1.25 1.25 1.25 1.49 1.25 1.49 1.49 1.50 1.50 1.50 1.25 1.25 22.00 22.00 22.50 SOCKETS PartNo. Pins Price 214-3339 14 pin 5.95 216-3340 16 pin 6.49 218-3341 18 pin 7.95 220-3342 20 pin 8,95 Test RECEPTACLES t«xtool sockets ZERO INSERTION FORCE Nickel Boron Plating G.F. PSF Plastic Body For testing IC's PartlMo. Pins Price 222-3343 22 pin 9.95 224-3344 24 pin 9.75 228-3345 28 pin 11.95 240-3346 40 pin 12.95 LOW PROFILE (TIN) SOCKETS 8 pin LP 14 pin LP 16 pin LP IB pin LP 20 pin LP 22 pin LP 24 pin LP 28 Pin LP 36 pin LP SOLDERTAIL (GOLD) STANDARD 8 pin 5G 14 pin SG 16 pin SG 18 pin SG 24 Pin SG 28 pin SG 36 pin SG 40 pin SG * Nicket Boron Plating * G.F. PSF Plastic Body * Wire Wrap Contacts Part No. Pins Price 214-3592 14 pin 9.75 216-3593 16 pin 9.95 218-3594 18 pin 10.95 220-3595 20 pin 11.95 Part No. Pins Price 222-3596 22 pin 12.95 224-3597 24 pin 12.75 228-3598 28 pin 13.95 240-3599 40 pin 15.95 SOLDERTAIL STANDARD (TIN) 24 pin ST 28 pin 5T 36 pin ST 8 pin WW 10 pin WW 14 pin WW 16 pin WW 18 pin WW 20 pin WW 22 pin WW 24 pin WW 28 pin WW 36 pin WW 40 pin WW WIRE WRAP SOCKETS (GOLD) LEVEL #3 Part No. Function 70451PI CMOS Precision Timer 7045EV/KII- Stopwatch Chip, XTL 7106CPL 3i/i Digit A/D (LCD Drive) 7106EV/Klt* IC, Circuit Board. Display 7107CPL 3Vi Digit A/D (LED Drive, 7107EV/KII' IC, Circuit Board, Display 7116CPL 3Vi Digit A/D LCD Dls. HLD. 7117CPL 3>« Digit A/D LED Dis. HLD. 7201IDR Low Battery Volt Indicator 7205IPG CMOS LED Stopwatch/Timer 720SEV/KU* Stopwatch Chip, XTL 7206CJPE Tone Generator 7206CEV/Klt* Tone Generator Chip, XTL 7207AIPD Oscillator Controller 7207AEV/KH" Freq. Counter Chip, XTL 7208IPI Seven Decade Counter 7209IPA Clock Generator 7215IPG 4 Func. CMOS Stopwatch CKT 7215EV/KU* 4 Func. Stopwatch Chip, XTL 7216AIJI 8-Dlglt Univ. Counter C.A. 7216CIJI B-Dlglt Frea. Counter C.A. 7216DIPI 8-Dlglt Freq. Counter C.C. 72I7IJI 4-Dlgit LED Up/Down Counter 721BCUI 8-Dlglt Univ. LED Drive 7224IPL LCD 4'/i Digit Up Counter DRI 7226AIJL 8-Dlglt Univ. Counter 7226AEV/KU- 5 Function Counter Chip, XTL 7240IJE CMOS Bin Prog. Timer/Counter 7242IJA CMOS DIWde-by-256 RC Timer 7250 IJE CMOS BCD Prog. Tlmor/Counte, 7260IJE CMOS BCD Prog. Tlmer/Countei 7555IPA CMOS 555 Timer (8 pin) 7556IPD CMOS 556 Timer (14 pin) 7611BCPA CMOS Op Amp Comparator 7612BCPA CMOS Op Amp Ext. Cmvr. 7621BCPA CMOS Dual Op Amp Comp. 7631CCPE CMOS Trl Op Amp Comp. 7641CCPD CMOS Quad Op Amp Comp 7642CCPD CMOS Quad Op Amp Comp 7660CPA Voltage Converter B038CCPD Waveform Generator 8048CCPE Monolithic Logarithmic Am 8069CCQ 5Qppm Band-GAP Volt Ref. 8211CPA Volt Re(/lnd!cator 8212CPA Volt Ret/indicator PricB 14.95 24.95 16.95 34.95 15.95 29.95 18.95 17.95 2.25 12.95 19.95 5.15 12.95 6.50 13.95 17.95 3.95 13.95 19.95 32.00 26.95 21.95 12.95 10.95 11.25 31.95 74.95 4.95 2.05 6.00 S.2S 1.45 2.20 5MV 2.25 5MV 2.95 5MV 3.95 10MV 5.35 10MV 7.50 10MV 7.50 2.95 4.95 21.60 Hode 2.50 2.95 2.95 74C00 74C02 74C04 74C08 74C10 74C14 74C20 74C30 74C42 74C48 74C73 74C74 74C85 74C86 74C89 74C90 74C93 74C95 74C107 74C151 74 C 154 74C157 74C160 74C161 74C162 74C163 74 C 164 74C173 74 C 174 74C175 74C192 74C193 74 C 195 74C 1.59 74C221 74C240 74C244 74C373 74C374 74C901 74C903 74C911 74C912 74C915 74C917 74C922 74C923 74C925 74C926 B0C95 80C97 2.25 2.25 2.49 2.59 10.95 5,49 5.75 7.50 7.50 LH00O2CN LM10CLH LM11CLH LH0070-OH TL071CP TL072CP TL074CN LH0O82CD 2 TL0B2CP TL0B4CN LH0094CD : LM300M LM301CN LM302H LM304H LM305H LM307CN LM308CN LM309H LM309K LM310CN LM311/CN LM312H LM317MP LM317T LM317K LM318CN LM319N LM320K-5 LM320K-12 LM320K-15 LM320T-5 LM320T-12 LM320T-1S LM323K LM324N LM329DZ LM331N LM334Z LM335Z LM336Z LM337T LM337MP LM338K LM339N LM340K-5 LM340K-12 LM340K-15 LINEAR LM340T-5 1.25 LM340T-12 1.25 LM340T-15 1.25 LM341P-5 .75 LM341P-12 .75 LM 34 IP- 15 .75 LM342P-5 .69 LM342P-12 .69 LM342P-15 .69 LM34BN LM350K LF351N LF353N LF3SSN LF356N LM358N LM359N LM370N 5.75 1.10 LM373N LM377N LM3B0N LM381N LM382N LM384N LM386N-3 LM387N LM3B9N LM392N LF39BN LM399H TL494CN TL496CP NE510A NE529A NE531H NE536H NES40H NE544N NE550A NES55V LM556N NE564N LM565N LM566CN LM567V NES70N LM702H LM703CN LM709N LM710N LM7UN LM723N LM733N LM739N LM741CN MC1741SCG LM747N LM748N LM1014N LM1310N LM1458CN LM14SBN LM1489N LM1496N LM1S56V LM1800N LM3871N LM1872N LM1B77N-9 LM1B89N LM1896N LM2002T LM2877P LM2878P LM2896P-1 LM3189N LM39Q0N LM3905CN LM3909N LM3914N LM39J5N LM3916N RC4136N RC4151NB RC4194TK RC4195TK LM45O0A ICLS038B LM13080N LM13600N 751 38 N 75450 N 754S1CN 75492 CA3O10H CA3013H CA3023H CA3035H CA3039H CA3046N CA3059N CD4000 CD4001 CD4002 CD400S CD4007 CD4009 CD4010 CD4011 CD4012 CD4013 CD4014 CD4015 CD4016 CD4017 CD4018 C D4019 C D4020 CD4021 CD4022 CD4023 CD4024 CO4025 CD4026 CD4027 CD4028 CD4Q29 CD4030 CD4034 CD4035 CD4040 2.15 3.25 2.49 1.35 1.30 3.25 CA-LINEAR 3.25 CA3060N CA3080H CA3081N CA3082N CA3083N CA3086N 2.00 2.00 1.60 CA3089N CA3096N CA3130H CA3140H CA3160H CA3401N CA3600N 1/4 WATT RESISTOR ASSORTMENTS -5% CD-CMOS CD404) CD4042 CD4043 CD4044 CD4046 CD4047 CD4048 CD4049 CD4050 CD4051 CD4052 CD4053 CD4056 CD4059 CD4060 CD4066 CD4068 CD4069 CD4070 CD407I CD4072 CD4073 CD4075 CD4076 C D40/8 CD4081 CD4082 CD4093 2.95 9.95 1.49 CD 4098 CD4506 CO4507 C D450B CD4510 CD4511 CD4S12 CD4514 CD45I5 CD4516 CD4S18 CD4519 CD4520 CD4526 CD4S28 CD4529 CD4543 CD4562 CD4566 CD45B3 CD4584 CD4723 CD4724 MC14409 MC14410 MC14411 MC14412 MC14419 MC14433 MC14538 MC14541 ASST 1 5ea. 10 Ohn 27 Ohn 12 Ohn 33 Ohn 15 Ohn 39 Ohn 18 Ohn 47 Ohn 22 Ohm 56 Ohm 50 pes. $1.95 ASST 2 5ea. 68 Ohn 180 Ohn 82 Ohn 220 Ohn 100 Ohn 270 Ohn 120 Ohn 330 Ohn 150 Ohm 390 Ohm 50 pes. $1.95 ASST 3 5ea. 470 Ohn I.2K 560 Ohn 1.5K 680 Ohn 1.8K 820 Ohn 2.2K IK 2./K 50 pes. $1.95 ASST 4 5ea. 3.3K 8.2K 3.9 K 10K 4.7K 12K 5.6K 15K G.8K 18K 50 pes. $1.95 ASST 5 Boa. 22K 56K 27K 68K 33K S2K 39K 100K 47K 120K 50 pes. $1.95 ASST 6 5ea. 150 K 390K I80K 470K 220K 560 K 270K 680K 330K B20K 50 pes. $1.95 ASST 7 5ea. 1M 2.7M 1.2M 3.3M 1.5M 3.9M 1.8M 4.7M 2.2M 5.6M 50 pes. $1.95 CAPACITOR CORNER 50 VOLT CERAMIC DISC CAPACITORS Value 1-9 10-99 100+ Value 1-9 10-99 100-t 10 pf .08 .06 .05 -OOlpF . .08 .06 .05 22 pf .08 .06 .05 .0047uF .08 .06 .05 47 pf .08 .06 .05 .Ol^F .08 .06 .05 100 pt .08 .06 .05 -022yF .09 .07 .06 220 pf .08 .06 .05 .047uF .09 .07 .06 470 pf .08 .06 .05 .1/iF .15 .12 .10 100 VOLT MYLAR FILM CAPACITORS .OOlmf .12 .10 .07 I .022mf .13 .11 .08 .0022mt .12 .10 .07 .047m( .21 .17 .13 ,0047mt .12 .10 .07 .lmt .27 .23 .17 .Olrnf .12 .10 .07 I .22mt .33 .27 .22 +20% DIPPED TANTALUMS (Solid) CAPACITORS ASST. 8 R Includes Resistor Assts. 1-7 (350 pes.) $10.95 ea. .1/35V . 15/35 V . 22/35 V . 33/35 V . 47/35 V .68/35 V 1.0/3SV .39 .29 .39 .34 .29 1.5/35V 2. 2/35 V 3. 3/25 V 4. 7/25 V 6.8/25V 15/25V 22/6V .41 .37 .29 .SI .45 .34 .79 .69 .55 1.39 1,25 .95 1.95 2.79 11,95 1.95 17.95 18.95 15.95 15.95 MINI. ALUMINUM ELECTROLYTIC CAPACITORS S10.00 Min. Order - U.S. Funds Only Calif. Residents Add 6% Sales Tax Postage- Add 5% plusSI Insurance ; CATALOGS J a ■HM»H;H?II«H Spec Sheets - 25rf Send 86(( Postage for your FREE 1982 JAMECO CATALOG PHONE ORDERS WELCOME (415) 592-8097 MAIL ORDER ELECTRONICS - WORLDWIDE 1355 SHOREWAY ROAD, BELMONT, CA 94002 PRICES SUBJECT TO CHANGE Axial .47/50V 1.0/50V 3. 3/50 V 4. 7/25 V 10/25V 10/50V 22/25 V 22/50V 47/25 V 47/S0V 1O0/25V 10Q/S0V 220/25V 220/50V 4 70/25 V 1000/16V 2200/ 16V 1-99 100-499 500+ .18 .15 .11 Radial .47/25V .47/50V 1.0/16V 1.0/25 V 1.0/SOV 4. 7/16 V 4. 7/25 V 4.7/50V 10/ 16 V 10/25V 10/50V 47/SOV 100/16V 100/25 V 100 /50V 220/ 16 V 4 70/25 V 1-99 100-499 MW+ .15 .13 .12 .15 .13 .12 .25 .23 .21 .35 .31 .27- 516 BYTE October 1981 Circle 189 on inquiry card. /I slSductor Clock Modules 12V DC AUTOMOTIVE/ INSTRUMENT CLOCK APPLICATIONS: vdasri i itoc et auto/ • After RV clocks • Aircraft-marine elks. • 12VDC oper. instru. • Portable/battery nts. Features:Bright 0.3" green display. Internal crystal time- base. 1 0.5 sec. /day accur. Auto. display brightness control logic. Display color filterable to blue, blue-green, green & yellow. Complete -just add switches and lens. MA 1 003 Module c3.05»lxi.75"hx^8»d) . $ 1 6.95 CLOCK MODULES Red Digital LED Clock Module Dig. LED Alarm Clock/Thermometer lital LED Clock/Timer Red Digital LED Clock & Xformer Red Digital LED Clock MA1032 CBA .5" Digital LCD Clock MA1043 .7" Green Digital LED Clock TRANSFORMERS 102-P20 Xformer for MAI 023, 1043 Si 5036 Mods. 102-P22 Xformer for MA1026 Clock Modules 102-P24 Xformer (or MA1010 Clock Modules MA1023 . MA102G . MA5036 .3" Red Dig MA1002 .1 MA1010 . B.95 18.95 6.95 9.95 7.95 17.95 8.95 3.49 3.49 3.49 8 OHM SPEAKER 254" -8 Ohm -.25 watt A0201 S1.25ea. 2/S1.95ea. 1D/S7.95ea. BATTERY HOLDER •Holds 2 ea. C cells • Aluminum Case •5" leads bh-801159 $.45 each 10/S3.95 BATTERY HOLDER •Holds 4 ea. C cells • Plastic case •9" leads $.49 ea. 1 0/S4.25 EPROM Erasing Lamp • Erases 2708, 2716, 1702A, 5203Q, 5204Q, etc. • Erases up to A chips within 20 minutes. • Maintains constant exposure distance of one inch. • Special conductive foam liner eliminates static build-up. • Built-in safety lock to prevent UV exposure. • Compact - only 7-5/8" x 2-7/8" x 2" • Complete with holding tray for 4 chips. UVS-11EL Replacement Bulb S16.95 UVS-11E $79.95 JOYSTICKS JS-5K 5K Linear Taper Pots S5.25 JS-100K 100K Linear Taper Pots S4.95 JVC-40 40K (2) Video Controller in case . . , $4.95 6-Digit Clock Kit • Bright .300 h ode display • Uses MM5314 • Switches ■i hold r ides y viewable to 20 ft. Simulated walnut case 115 VAC operation 12 or 24 hr. operation I compo nsforme nts, JE701 $19.95 JE215 Adjustable Dual Power Supply General Description: The JE215 is a Dual Power Supply with independent adjustable positive and nega- tive output voltages. A separate adjustment for each of the supplies provides the user unlimited applications for IC current voltage requirements. The supply can also be used as a general all-purpose variable power Supply. FEATURES: ■ Adjustable regulated power supplies, pos. and neg. 1.2VDC to 15VDC. • Power Output (each supply); 5VDC ©> 500mA, 10VDC® 750mA, 12VDC@500mA, and 15VDC@ 175mA. Two, 3-termlnal adj. IC regulators with thermal overload protection. Hoatsink regulator cooling LED "on" indicator Printed Board Construction 120VAC input • Size: 3-1/2"w X 5-1/16"L x 2"H JE215Arij.Dua)PowerSupply Kit(asshown) . . $24.95 JE200 Reg. Power Supply Kit(5VDC, 1 amp) . . $14.95 JE205 Adapter Brd. (to JE200) i5,±9 & ±12V. $12.95 WJE210 Var. Pwr. Sply. Kit, 5-15VDC.to1.5amp. $19.95 MICROPROCESSOR COMPONENTS — B080A/8080A SUPPORT DEVICES - SBQBOA CPU OP821; 8-Sil Input/Output DPS2H Priority Interrupt Control DP8216 al-Dlrecllonal But Driver DP82Z* Clock General or/ Driver DPS226 Bui Dilvor DPB228 System Controller/Bus Driver OP8I38 System Controller 1NS8243 I/O Expander 'or 48 Series INSB2S0 DP8251 DPS253 DP67S5 DPS2S9 DP6275 OPS219 DP830J DP830-1 DPS 307 DPS308 DP8310 DPB311 Prag. Cornm. I/O (USAP.T) Ocia a Peru 6800/6800 SUPPORT DEVICES - MC68CO MPU MC6802CP MPU Willi MC68I0API 12Sx! Stat- MC6SS1 Peripheral ;j RAM t [MCW20] zao (jsoci Z80A [7so-i: CDP1B02 INSS03SN-6 INSB039N-6 lfJSSWON-6 INSSO70N INSS071N pias TMS990CJL ROM (MC68A30-8) ■Stlte Bui. Trans. (MCIT») -MICROPROCESSOR CHIPS MPU iv/Cloch MPU— 8-BH (6 CPU— Sgl.cnl CPU ( lower i/iolMM5290J) IIME116-4 16K (2Kx8) Sialic 200ns 82S25 64 Bit RAM (16»40C) IK Dynamic 16-Oln JPD414/MK4027 rMS1044-45NL rM5*04S ^ %JUES3EI33ER (415)592-809? MAIL ORDER ELECTRONICS - WORLDWIDE 1355 SHOREWAY ROAD, BELMONT, CA 94002 10/81 PRICES SUBJECT TO CHANGE BOOKS National Semiconductor — Intarall — Intel 30001 National CMOS Data Book *6.95 (&W pages) 74C, CD4O00, and A/D Converters 30002 National Interface Data Book tG.96 (704 pogos) DP, DS8000, OS3500, DS75OO0, etc. 30003 National Linear Data Book S7.96 11376 pagesl LM, LF, ADC, DAC, LH Series 30004 National Series 80 - Board Level Computer 1224 pages) . . M.96 30005 National TTL Logic Data Book S6.9E 1624 pages) 74O0,LS,L,H.S. and DM8000 Se;ies 30006S Buy above IS) 30001 ,2,3,4,5 ea a eat «4.96/lot 30009 Intersil Dam Book (1074 pages) SG.95 □10400 Intel Component Dota Catalog 410.00 Full data shoots for Intel's products incl. memory devices, microproc., peripherals 8 indust./mil. products 11328 pages) 205610 Intel Peripheral Design Handbook (7.50 Full data sheets, appl. notes for Intel peripheral device components 1644 pages) AC and DC Wall Transformers m ^^^^^Vgm 9'rrei, power lu]iplie) 01 ■ / llCippliciinon. Part No. Input Output Price AC 250 1 17W60Hz 12 VAC 250mA S3. 95 AC 500 117V/60H2 12 VAC 500mA $4.95 AC1000 1 17V/60HZ 12 VAC 1 amp $5.95 AC17O0 1 17V/6DHz 9 VAC 1.7 amp $3.95 DV 9200 1 1 7V/60Hz 9 VDC 200mA $3.25 DC 900 120V/60HZ 9 VDC 500mA S3. 95 CONNECTORS DB25P D-Subminiature Plug $2.95 DB25S D-Subminiature Socket $3.50 D20418-2 ScrewLockHdwr.(2l DB25S/P 2/$.99 DB51225 Cover for DB25P/S $1.75 22/44SE P,C. Edge 122/41 Pinl $2.95 UG88AJ BNC Plug $1.79 UG89/U BNC Jack $3.79 UG175/U UHF Adapter S .49 S0239 UHF Panel Recp $1.29 PL258 UHF Adapter $1.60 PL259 UHF Plug $1.60 UG260/U BNC Plug $1.79 UG1094/U BNC Bulkhead Recp $1.29 TRS-80 16K Conversion Kit Expand your 4K TRS-80 System to 16K. Kit comes complete with: *8ea. MM5290(UPD416/4116H6KDyn. RamsCNS) * Documentation for Conversion TRS-16K2 M50NS $29.95 TRS-16K3 -200NS $24.95 TRS-16K4 "250NS $19.95 JE610 ASCII Encoded Keyboard Kit The JE610 ASCII Keyboard Kit can be interfaced into most any computer system. The kit comes complete with an industrial grade keyboard switch assembly (G2*keys), IC's, sockets, connector, electronic compo- nents and a double-sided printed wiring board. The keyboard assumbly requires +5V @> 150mA and -12V @ 10 mA for operation. Features: 60 keys generate the 126 characters, upper ana lower case ASCII set. Fully buffered. Two user-define keys provided for custom applications. Caps lock for upper-case-only alpha charac- ters, Utilizes a 2376 (40-pin) encoder read-only memory chip. Outputs directly compatible with TTL/DTL or MOS logic arrays. Easy Interfacing with a 16-pin dip or 18-pin edge connector. Size: 3K"H x 14'/ a "W x 8%"D JE610/DTE-AK ^&^XJ] ...$124.95 ■rein i/:+ 62-Key Keyboard, PC Board, a -wane JbblO Kit & Components (no case) $ 79.95 K62 62-Key Keyboard (Keyboard only) . . .$ 34.95 DTE-AK (case only - 3VHxll"Wx8VD)$ 49.95 JE212 - Negative 12VDC Adapter Board Kit NE'Wl? for JE610 ASCII KEYBOARD KIT -, ovides-12VDC from incoming 5VDC . .$9.95 JE600 Hexadecimal Encoder Kit FULL 8-BIT LATCHED OUTPUT 19-KEY KEYBOARD fo i seque or 8-bit memory circuits. Thrt vided for user operations wi: output available. The outputs i with 9 LED readouts. Also incl Feature al key entries [croprocessor additional keys are pro- i one having a bistable e latched and monitored ded Is a key entry strobe. latched output for use. Three user-define keys with one being bistable operation. Debounce circuit provided for all 19 keys. 9 LED readouts to verify entries. Easy interfacing with standard 16-pin IC connector. Only +5VDC required for operation. Size: 3'/i"H x 8'/*"W x 8 J /«"D (After assembled is pictured above) ■ ■ JE600/DTE-HK $99.95 K19 19-Key Keyboard [Keyboard only) .... $14.95 DTE-HK (case only — 3V;"Hx8V."wx8*."D) $44.95> Circle 189 on inquiry card. BYTE October 1981 517 v, + NT S-IOOCPU CPU* •OODBOUT I MHZ Z80 CPU 24 Bit Addressing UnKit $225.00 AST. $198.00 CSC 3-6 MHZ $375.00 8.BT 180U GBT 160A SBT 180C DUAL PROCESSOR SOW BOSS ■ OODBOUT 5 MHZ Provides true 16 Bit Power with a standard ^0 MC l"9. 1 25.00 J*n 9.00 r SbltS-100 bus QBT1612U 1/nK/f $295.00 QBT1612A A&T $399.00 QBT1612C CSC $498.00 BOARD WITH BOW OMLT QBT 161U UnKIt $235.00 QBT161A AST $305.00 QBT161C CSC $399.00 mo zao cpu-ca. coup, syst. 214 MHZ Z80A CPU with RS-232C Serial I/O Port complete with Monitor PROM lor 2422 Disk Controller CCS2B10 AST $280.00 cn no cro ■ bail 2/4 MHZ will accept 2716, or 2732, or RAM RUN/STOP and single step switches SSMCB2K Kit $260.00 SSMCB2A AST $310.00 SSMZ80M $89.00 $183.00 $225.00 $59.00 SSM Zao Monitor CBIASOSOCPU 8080CPU, 1K RAM, Holds 1 2708, 1 8 Bit parallel input port. SSMCB1A Kit SSMCB1A AST SSMS080M SM 8080 Monitor S-IOORAM ME STATIC BAM ■ OODBOUT RAM 17, 10 MHZ, 2 Watt, DMA Compatable QBT-175A48 AST 48K $950.00 QBT-175C48 CSC 48K $1050.00 QBT-175A64 AST 64K $900.00 QBT-175C64 CSC 64K $1395.00 MK DYNAMIC BAM - CO 4 MHZ, on board refresh, DMA compatable, 24 bit address. AST $599.00 raw STATIC BAM • OODBOUT RAM 20 10 MHZ, 4K byte block disable, available 16, 24, or 32K AST 16K $319.00 CSC 16K $418.00 AST 24K $449.00 CSC 24K $539.00 AST 32K $449.00 CSC 32K $720.00 32K STATIC BAM ■ CCS 4 MHZ, Bank select, 8116 bit data CCS-2032 AST 32K $599.00 16K STATIC RAM - OODBOUT RAM 14, 10 MHZ, 24 bit addressing QBT-143A AST 16K $169.00 QBT-143C CSC 16K $399.00 14K STATIC BAM - CCS 4 MHZ, 8/16 bit data, bank select CCS-2116A AST 16K $299.00 SK STATIC BAM - OODBOUT Econoram II 2MHZ, 8K, No doubt, the most popular S-1O0 RAM ever built. QBT-114U UnKIt 8K $99.95 CCS-2M5A QBT-184A18 GBT-1S4C16 QBT-164A24 QBT-164C24 QBT-164A32 QBT-164C32 S-IOOROM FBI PBOM nOOBAMMBB - SSM 'programs 2708 or 27i6's, operates •a 4K/8K EPROM board as well. SSM-PB1K Kit $154.95 SSM-PB1A A&T $219.00 ICOMOBOM 270* - OODBOUT 16K x 8 EPROM Board using 2708, Power on lump to any 256 byte 125U UnKIt $85.00 QBT125A AST $120.00 QBT125C CSC $175.00 S-lOO DISK CONTROLLERS DISK I - OODBOUT DMA, Soil Sector, Controls 8" or S'A", single or double density QBT171A AST $450.00 QBT171C CSC $555.00 QBT CPM80 CP/M 2.2 lor Z80/8085 with Manuals S BIOS 8" S. O. disk $1 75.00 QBT CPM86 CP/M for 8086 with manuals SBIOS8"S/Ddisk $300.00 2422A - CA. COMF. STST. I/O Mapped, controls 8" or 5V< ", single or double density CCS- 2422 AST with CPM 2.2 8" S.D.... $365.00 DISK JOCKEY I - MORROW . kA Single density disk controller with JN serial I/O, controls 8" MDSDJ1108 AST $219.00 DISK JOCKET 2D - MOBBOW I/O Mapped, controls 8", single or double density, serial I/O DSDJ2208 AST with CP/M 2.2 $375.00 DISK DRIVES SOn-SHUOABT Single sided double density most popular 8" drive SHU80IR $425.00 ea. or 2 or more $395.00 SHUSA80IRM Manual lor 80IR drives $10.00 DM -•BUI Data track 8 double sided, double density QME-DT8 $625.00 ea. or 2 or more $600.00 ea. DISK CABINETS v-ioo - TOTA Dual 8" drive cabinet with power supply. Rack or Desk Mount V1S-V100 $395.00 SINQLE 8" • Q.T. Single 8" cabinet with power supply QTC-DDC8 $195.00 S" CABIMBTS - VISTA VIS-9B01 Single 5" with P.S $75.00 VIS-9802 Dual 5" With P.S $95.00 S-lOO DISK SUBSYSTEMS DISCUS StNOLI BOSS MOBBOW 8" DBL Density drives with cabinet, power supply controller, with CP/M 2.2 and Microsoft Basic MDSF1218 Single Drive System $950.00 MDSF1228 Dual Drive System $1598.00 DISCUS DOUBLE HDID - MOBBOW 8" DBL Density/sided drives with cabinet Power supply controller, with CP/M 2.2 and Microsoft Basic MDSF2218 Single Drive System $1250.00 MDSF2228 Dual Drive System $2195.00 26MB HARD DISK - MORROW Special purchase, limited stock ■ 26MB formatted hard disk complete with cabinet, P.S., Controller, CPM 2.2 and Microsoft Basic MDS-M26S 26 MB Subsystem List $4495.00 SALE * $3495.00 • SAVE SLOOO.OO FLASH!! Purchase the GBT-1612A (CPU 8085-8088) and GBT-175A (64 RAM 17 64K) together for $1195.00 See page 203 for further details. Order pdp spec n *$$&>» MOO I/O BOARDS SYSTEM SUFFOBT I ■ OODBOUT Serial port (software prog baud), 4K EPROM or RA M provision, 15 levels of Interrupt, real time clock, optional math processor QBT-162U UnKIt $295.00 1 GBT-162A AST $360,001 GBT162C CSC $480,001 GBT 9512 Math Ohio $195.00 1 MFX CHANNEL BOARD - OODBOUT I/O Multiplexer, using 8085A-2 cpu on board GBT-166A QBT-166C GBT-133A GBT-133C AST. CSC. $450,001 $550.00 1 DREBrACKB I ■ OODBOUT Two Serial I/O AST $219,001 CSC $296.00 1 DfTERTACEB n - OODBOUT Three parallel, one serial I/O board QBT-150A AST $219,001 QBT-150C CSC $298.00| INTERFACED III - OODBOUT Eight channel multi-use serial I/O board GBT1748A A&T $629.00 I GBT1748C CSC $ 775.00 | INTERFACES 3 WITH 5 SERIAL PORTS GBT1745A AST $559.00 I GBT1745C CSC $629.00 1 MULTI I/O - MOBBOW DEMONS Three Serial, Two parallel MDSMB3200 AST SWRCIIBOABDMOBROW DESKMS Two serial I/O, four parallel I/O, one status port, one strobe port $309,001 MDSSB2411 AST. $239,001 SSMI04K SSM 104 A SSMSBIK SSMSBIA SSMSBIS I/04-SSM Two serial I/O, two parallel I/O Kit $210,001 AST $260.00 1 Music synthesizer board Kit $249,001 AST $31 0.00 1 Software $ 25.00 1 GBT-144U GBT- 144 A GBT-2D S-lOO VIDEO BOARDS SPECTRUM • OODBOUT Color Graphics board with Parallel I/O. UnKit. AST Sublogic Software. $299,001 $349.00 1 $ 35.00 1 VB-31 80 x 24 or 48 character video display Memory Mapped, Parallel Keyboard port SSM-VB3K24 Kit 80x24 $349.00 1 SSM-VB3A24 AST 80x24 V29.001 SSM-VB3UP upgrade Kit. ss,4» $ 30.00] VU-tuf I/O Mapped Video Board, with Parallel Keyboard port. 64x16 SSM-VB2K Kit $169,001 SSM-VB2A A&T $229.00| VMC-SSM Memory Mapped Video Board 64x16 character display I or 64x16 graphics dislplay SSM-VBICK Kit S16S.0O I SSM-VBICA A&T S220.00| S-lOO MOTHERBOARDS MOTHERBOARD ■ OODBOUT Active termination. 6-12-20 slot QBT-153U Unkit 6 slot $ 89.00 1 QBT-153A AST 6 Slot $119,001 QBT-154U Unkit 12 slot $129,001 QBT-154A A&T 12 slot $149.00 I QBT-15SU Unkit 20 slot $174,001 QBT-155A A&T 20 slot $189.00 | S-IOO MISC CK017 ACTIVE TERMJHATOR-OODBOUT QBT-108U Kit $ 2S20-CCS Extender/terminator, Active and/or passive CCS2520AK Kit $ 59.00 | EXTENDER/ LOOIC PROSE-MULLEN MUL-CK004 SSM-OB1K SSM-OB1A LSI PRIORITY rONE~l ELECTRONICS 9161-B DEERLNG AVE. • CHATSWORTH, CA 91311 Kit . OBI VECTOR JUMP - SSI with prototyping area Kit A&T $ 59.00 85.00 9000 1 <*&»&,* ***^ Tonus. USj VISA. MC BAC, Chock Monoy Older, US. Funds Only. CA residents add 6% Sales Tax. MINIMUM PREPAID ORDER S15.CO. Include MINIMUM SHIPPING 8t HANDLING c S250 tor the (tat 3 lbs., plus 25< tor oach additional pound Orders over 50 lbs. sont trelaht, collect. Just In case.please Include your phone no. Prices subject to change without notice. We will do our best to maintain prices thru October. 1981. SOCKET and CONNECTOR prices based on GOLD, not exceeding S700.00 per oz. Sail Prices Valid only H VCt/ mention publication and month Credit Card lo rdor«_wfflbechcjaedapproprlate&eiaht. Circle 305 on inquiry card. BBBl BBl i' STAR MODEM FROM LIVERMORE LIST PRICE to 300 baud data rate. Compatible Ipiyy.UU with Bell 103 and 113. Answer/ SALE PRICE Originate. Full/Half Duplex. Special Ql^O ^\^\ self test features. V L&T,\J\J RS232 and "D" SUB-MINIATURE CONNECTORS fa ^ifliWi%\ ^S L^mLJ mm^7 P= Plug, MaleType - S= Socket, Female Type - C= Cover, Hood PART NO. CND-DE9P CND-DE9S CND-DE9C CND-DA15P CND-DA15S CND-DA15C CND-DB2SP CND-DB2SS CND-DB51212 CND-P25H CND-DB5122E CND-DC37P CND-DC37S CND-DC37C CND-DD50P CND-DBSOS CND-DD50C CND-D2041B CND-RS2328F CND-S730360 DESCRIPTION 9 pin male 9 pin icmole 9 pin cover IS pin male 15 pin female 15 pin cover 25 pin male 25 pin female 1 pc. grey hood 2 pc. grey hood 2 pc. black hood 37 pin male 37 pin female 37 pin cover 50 pin male 50 pin female 50 pin cover Hardware set 2 pr. RS232, DB25P, EIA Class 1 cable 8 con. 8 ft. Cent. 700 Series Printer connector 1-9 S 2.10 $ 2.70 $ 1.50 $ 2.75 $ 3.95 $ 1.50 $ 3.50 $ 4.60 $ 1.60 $ 1.50 $ 1.90 $ 5.80 $ 8.70 $ 1.80 $ 1.75 $11.65 $ 2.00 $ 1.00 PRICE 10-24 $ 1.90 $ 2.40 $ 1.25 $ 2.45 $ 3.60 $ 1.30 S 3.25 $ 4.35 $ 1.45 $ 1.25 S 1.65 $ 5.10 S 7.70 S 1.55 $ 7.75 $10.25 $ 1.80 $ .80 25-99 i 1.70 $ 2.10 S 1.10 $ 2.15 S 3.20 $ i.io $ 3.00 S 4.20 $ 1.30 $ 1.10 $ 1.45 $ 4.45 $ 6.70 $ 1.30 $ 6.70 $ 8.90 $ 1.60 $ .70 $19.95 $17.95 $15.95 $ 9.00 $ 7.50 $ 6.00 MICROCOMPUTER PRODUCTS PART NO. PRICE 2016P3 2114N3L 5257N3L 2732 2716 2708 8/S100.00 8/S28.00 8/S50.00 8/S120.00 8/$50.00 8/S32.00 6502 SERIES PART NO. PRICE 8080 SERIES PART NO. PRICE INS 8080A $5.50 INS 8085A $19.95 DP8212N $2.95 DP8214N $5.25 DP8216N $2.95 DP8224N $3.25 DP8224-4N $9.95 DP8226N $3.50 DP8228N $5.55 DP8238N $5.55 INS8250N $15.00 INS8251N $7.50 INS82S3N $17.95 INS8255N $6.80 INS8257N $16.45 INS8259N $18.00 INS8275N $59.95 INS8279N $49.95 Z80 SERIES Z80A $14.95 Z8OAF10 $14.95 Z80ACTC $13.95 Z80ADMA $45.00 Z80ASItlO $59.95 Z80ASr01 $59.95 Z80AS102 $59.95 6502 6502A 6520 6522 6530-002 6530-003 6530-004 6530-005 6532M 6551M $12.95 $18.95 $8.95 $10.95 $21.95 $21.95 $21.95 $21.95 $21.95 $21.95 6800 SERIES PART NO. PRICE MCS800P MC6802P MC6808P MC6809P MC6821P MC6828P MC6840P MC6845P MC6847P MC6850P MC6852P MC6854P MC6860P MC6662P MC6875L MC66710P MC66750P UARTS PART NO $11.95 $17.95 $9.95 $34.95 $5.95 $14.95 $14.95 $31.00 $14.95 $5.41 $5.79 $24.95 $10.89 $12.00 $7.40 $12.50 $12.50 PRICE FLOPPY DISC CONTROLLER AY51013A TR1602B TR1863 IM6402 $5.95 $5.95 $6.95 $7.95 FD1771B-01 FD1791B-01 $24.95 $44.95 VSEM1 S-100 "ANY DIP" has full power and ground planes back to back. Boards accommodates .3. .4. .6, .9" Dips. 1-4 5-9 10-24 $24.67 S22.34 $20.02 APPLE PLUGBOARD Vector 4509 Peripheral Interface Plugboard for construction of custom circuits. Plug compatible with Apple II, Commodore PET and Super Kim microcomputers. VCT-4609 1-4 5-9 10-24 $20.74 $18.79 $16.84 SHEET! Universal Microcomputer/ processor plugboard use with S-100 bus. Complete with heat sink & hardware. 53" x 10" x 1/16". 1-4 5-9 10-24 $22.48 $20.37 $18.26 VCT-8801-1 Same as 8800V except plain, less power buses & heat sink. 1-4 5-9 10-24 $15.67 $14.24 $12.82 Plugboards from ^ EUrCTKOMCS ^ CompuPro' 10 MHZ 16K A&T STATIC S-100 RAM Lists349.oo $169.00 Ea I3/S450.00 • Operates up to 10 MHZ (90 ns RAM Chips) • Assembled & Tested • Meets or exceeds all IEEE 696/S-100 specifications (including timing). • Fully static design eliminates the timing problems associated with dynamic memories. • Switch selectable choice of 24 address lines conforming to the IEEE 696/S-100 extended addressing specifications, or 16 address lines as used in older S-100 systems. • Ideal for multi-user installations. • Board is addressable as one 16K x 8 block on any 4K boundary. • Switch selectable PHANTOM disable and write protect. • + 5 Volt operation (requires no other supply voltages). • Low power operation (900 mA typical, 1200 mA maximum).' 1 year Factory Warranty. VCT-3682 9.6" x 4.5" $13.63 VCT-3862J6.5"x4.5" $11.04 Hi-Density Dual-ln-Ltne Plug- board for Wire Wrap with Power & Grd. Bus Epoxy Glass 1/16" 44 pin con. spaced .156 VCT3677 9.6"x4.5" ¥CT-3667 96"x4.5" $13.33 VCT-3677-2 6.5"x4.5" $10.68 Gen. Purpose D.I.P. Boards with Bus Pattern for Solder or Wire Wrap. Epoxy Glass 1/16" 44 pin con. spaced .156 VCT-3662 6.5"x4.5" $8.69 VCT-3662-2 9.6" x 4.5" $10.85 P pattern plugboards for IC's Ex- poxy Glass 1/16" 44 pin con. spaced .156 VCT-3690-12 $26.64 CARD EXTENDER Card Extender has 100 contacts 50 per side on .125 centers- Attached connector-is compati- ble with S-100 Bus Systems. VCT-3690 6.5" 22/44 pin .156 ctn. Extenders ...$15.86 1/16 j/eetot BOARD .042 diaholes on 0.1 spacing for IC's Phenolic PART NO. SIZE VCT-64P44-X 4.5" x 6.5" VCT-169P44-X 4.7" x 17" Epoxy Glass VCT-64P44 4 5" x 6.5" VCT-84P44 4.5" x 8.5' VCT-169P44 4.5" x 17" VCT-169P48 8.5" x 17" PRICE 1-9 10-19 $1.56 $1.40 $3.69 $3.32 TRS-80/APPLE MEMORY EXPANSION KITS 4116'sRAMS from Leading Manufacturers (16Kxl 200ns) 8 for $20. 00 Add $3.00 for programming Jumpers for TRS-80 Keybaord POWERLINE INSOLATOR GOF-IBAHW3 SH. WT. 3 lbs. List Price $59" Sale Price $29.00 A MUST FOR EVERY OFFICE WITH DATA PROCESSING EQUIPMENT SEND $r° for 60 Page CATALOG 6 OUTLET MULTI USE CORD REEL t SH.WT. 5 LBS. r G0F-CRl 22 It. Cord $24.95 GOF-CR50 50 ft. Cord S49.95 SPECIAL PURCHASE j^GOLD B(» ^ EtECTRONfCS ^ Now...a place to put this CompuPro or other S-1 00 boards. The enclosures are available in either desk top or rack mount (including slides) and both have the following features: Enclosure • Quiet fan provides for cool system operation. • Two switched convenience outlets on the rear. • Line filter for electrical noise suppression. • dCircuit breaker for safe operation. • Ughted RESET BUTTON FOR "POWER ON" indication. • Punchouts on rear for 12 DB-25 connectors. • Punchouts on rear for 2 DD-50 connectors. • Positive pressurized for ease of filtration. • Provisions for mounting a front panel. • Physically 18.5" deep, 7" high, 17" wide (rack front panel 19" wide). Motherboard • Actively terminated at both ends of motherboard. • Ground shield between every signal trace. • Convenient power plug for connecting all D.C. power. • RESET connector provided • Front panel provisions on the 20 slot version. • Extra power connectors for more efficient power distribution 1 2 slot and 20 slot versions. • Thorough by passing of all power lines. Power Supply • Twenty-five Amps at 8.0 volts D.C. • Three Amps each at + 16 and - 16 volts D.C. • Outputs vary less than 5% over input range of 100 AC to 130 VAC. • Constant voltage transformer. • All outputs fused. With all the features listed above, the individual assembling a system can be sure that he will have the very best foundation possible for an I EEE 696-8-1 00 system that will give years of reliable service. And because of the constant voltage transformer the power outputs can be kept near the minimum required with no wary about system failure. This allows the system to run cooler, and the requlators to stay cooler also. UST OUR PRICE PRICE GBTENC20RM 20 Slot Rack Mount $895.00 $825.00 GBTENC20DK 20 Slot Desk Top $825.00 $700.00 Shipping Weight 55 lbs. Circle 306 on inquiry card. 16K Memory ALL MERCHANDISE 100% GUARANTEED! 4116-200ns 8/17.50 CALL US FOR VOLUME QUOTES LS SERIES 8200 MPU'S 74LSOO 74LS01 74LS02 74LS03 74LS04 74LS05 74LS0B 74LS09 74LS10 74LS11 74LS12 74LS13 74LS14 74LS15 74LS20 74LS21 74LS22 74LS26 74LS27 74LS28 74LS30 74LS32 74LS33 74LS37 74LS38 74LS40 74LS42 74LS47 74LS48 74LS49 74LS51 74LS54 74LS55 74LS63 74LS73 74LS74 74LS75 74LS76 74LS78 74LS83 74LS85 74LS86 74LS90 74LS91 74LS92 74LS93 74LS95 74L596 74LS107 74LS109 74LS1 1 2 74LS113 74LS114 74LS122 74LS123 74LS124 74LS125 74LS126 74LS132 74LS136 74LS137 74LS138 74LS139 74LS145 74LS147 74LS148 74LS151 74LS153 74LS154 74LS155 74LS156 74LS157 74LS158 74LS160 74LS161 74LS162 74LS163 .25 .25 .25 .25 .25 25 .35 .25 .25 .35 .35 .45 1.00 .35 .25 .35 .25 .35 .35 .35 .25 .35 .55 .55 .35 25 .55 .75 .75 75 .25 .35 .35 1.25 .40 .45 .50 .40 .50 .75 1.15 40 .65 .89 .70 .65 .85 .95 .40 .40 45 45 .50 45 .95 2.99 .95 .85 75 .55 .99 75 .75 1.20 2.49 1.35 .75 75 2.35 115 95 75 75 .90 .95 .95 .95 74LS164 74LS165 74LS166 74LS168 74LS169 74LS170 74LS173 74LS174 74LS175 74LS181 74LS189 74LS190 74LS191 74LS192 74LS193 74LS194 74LS195 74LS196 74LS197 74LS221 74LS240 74LS241 74LS242 74LS243 74LS244 74LS245 74LS247 74LS248 74LS249 74LS251 74LS253 74LS257 74LS258 74LS259 74LS260 74LS266 74LS273 74LS275 74LS279 74LS280 74LS283 74LS290 74LS293 74LS295 74LS298 74LS324 74LS352 74LS353 74LS363 74LS364 74LS365 74LS366 74LS367 74LS368 74LS373 74LS374 74LS377 74LS378 74LS379 74LS385 74LS386 74LS390 74LS393 74LS395 74LS399 74LS447 74LS490 74LS668 74LS669 74LS670 74LS674 74LS682 74LS683 74LS684 74LS685 74LS688 74LS689 LINEAR LM301V LM308V LM309K LM311 LM317T LM317K LM318 LM323K LM324 LM337K LM339 LM377 LM380 LM386V LM555V LM556 LM565 LM566V LM567V LM723 LM733 .34 .98 1.49 64 1.95 3.95 1.49 4.95 .59 3.95 .99 2.29 1.29 1.50 39 69 .99 1.49 1 29 49 .95 .95 2.40 1.75 1.75 1.75 .80 .95 .95 2.15 9.95 1.00 1.00 .85 .95 1.00 .95 .85 .85 1.20 1.85 1.85 1.85 1.85 1.75 2.85 .76 1.25 .99 1.30 .85 .85 .85 2.85 .65 .55 1.65 3.35 .55 1.98 1.00 1.25 1.85 1.05 1.20 1.75 1.55 1.55 1.35 1.95 .95 .95 .70 .70 1.85 1.80 1.45 1.18 1.35 1.90 .65 1.90 1.90 1.65 1.70 .37 1.95 1.69 1.89 2.20 9.65 3.20 2.30 2.40 2.40 2.40 2.40 LM741V .29 LM747 .79 LM74SV .59 LM1310 2.90 MC1330V 1.89 MC1350V 1.29 MC1358 1 79 LM1414 1.59 LM 1458V .69 LM1488 .99 LM1489 .99 LM1800 2.99 LM1889 2.49 LM39O0 59 LM3909V .98 LM3914 3.95 LM3915 3.95 LM3916 3.95 75451V 39 75452V 39 75453V 39 8202 8205 8212 8214 8216 8224 8226 8228 8237 8238 8243 8250 8251 8253 8253-5 8255 8255-5 8257 8259 8272 8275 8279 8279-5 8282 8283 8284 8286 8287 8288 8289 45.00 3.50" 1.95 3.90 1 85 2.50 1.85 4.95 19.95 4.95 4.50 14.95 5.50 9.85 9.85 5.25 5.25 9.00 7.00 39.95 29.95 10.50 10.50 6.65 6.65 5.80 6.65 6.65 25.00 49.95 6800 6800 6802 6809 6810 6820 6821 6828 6834 6840 6843 6844 6845 6847 6850 6852 6860 6862 6871 6875 6880 6.95 1 1.95 37.95 4.60 4.95 4.95 9.95 16.95 14.95 42.95 44.95 29.95 15.95 4 75 5.75 10.95 11.95 25.95 6.95 2.95 1702 2708 2758 TMS2516 2716 2716-1 TMS2716 TMS2532 2732 2101 2102-1 21L02-1 2111 2112 2114 2114L-2 2114L-3 2114L-4 TMS4044-4 TMS4044-3 TMM2016 HM6116 4027 4116-150 4116-200 4116-300 4164 8035 8039 8080A 8085 8155 8156 8185 8185-2 8741 8748 8755 16.95 19.95 3.95 12.95 99.95 39.95 11.95 11.95 29.95 39.95 39.95 69.95 49.95 Z80 Z80 Z80A Z808 Z80-PI0 Z80A-PI0 Z80-CTC Z80A-CTC Z80-0AHT Z80A-DART Z80-DMA Z80A-DMA Z80-SIO/0 Z80A-SIO/0 Z80-SIO/1 Z80A-SI0/1 Z80-SI0/2 Z80ASIO/2 Z80-SIO/9 Z80ASIO/9 8.95 9.95 19.95 6.50 8.60 6.50 8.65 15.25 18.75 17.50 27.50 23.95 28.95 23.95 28.95 23.95 28.95 17.95 22.95 T.V. CIRCUITS MC1330 MC1350 MC1358 LM380 LM386 LM565 LM741 LM1310 LM1800 LM1889 1.89 1.29 1.79 1.29 1 50 .99 .29 2.90 2.99 2.49 EPROMS 256 x 8 1 024 x 8 1 024 x 8 2048 x 8 2048 x 8 2048 x 8 2048 x 8 4096 x 8 4096 x 8 (1us) (450ns) (450ns)(5v) (450ns)(5v) (450ns)(5v) (350nsM5v) (450ns) (450ns)(5v) (450ns)(5v) STATIC RAMS 256 x 4 1 024 x 1 1 024 x 1 256 x 4 256 x 4 1024 x 4 1024 x 4 1 024 x 4 1 024 x 4 4096 x 1 4096 x 1 2048 x 8 2048 x 8 (450ns) (450ns) (450ns)(LP) (450ns) (450ns) (450ns) (200ns)(LP) (300ns)(LP) (450ns)(LP) (450ns) (300ns) (200ns) (200ns) JDR MICRODEVJCES, INC IS PROUD TO ANNOUNCE THE OPENING OF OUR NEW RETAIL SHOWROOM BAY AREA RESIDENTS STOP BY 1224 BASCOM AVE. MISC. 8T26 1.69 3242 9.95 8T28 2 49 AY5-1013 3.96 8T95 99 TR1602 4.95 8T96 .99 1M6402 7.95 8T97 .99 1771 24.95 8T96 .99 1791 36 95 1488 .99 1793 49,95 1489 .99 UPD765 39.95 DM8131 2.95 8272 39.95 1441 1 9.95 74C923 5.95 TRANSISTORS PN2222 2N3904 2N3906 2N3055 IN4148 IN4004 10/1.00 10/1.00 10/1.00 .79 6502 6502 6.95 6502A 12.95 6504 6.95 6505 8.95 6520 4.95 6522 9.95 6532 14.95 6551 14.95 4.95 395 9.95 7.95 5.95 12.95 9.95 19.95 16.50 1.95 .89 1.29 2.99 2.99 8/17.95 8/22.95 8/21.95 8/18.95 3.49 3.99 CALL CALL DYNAMIC RAMS 4096 x 1 (250ns) 2.50 16,384 x 1 (150ns) 8/19.95 16,384 x 1 (200ns) 8/17.50 16,384 x 1 (300ns) 8/16.95 65,536 x 1 (200ns) CALL LP = LOW POWER 8pcs 4.50 3.50 8.95 6.95 5.50 11.95 8.95 17.95 15.95 100pcs 1.85 .85 1.15 2.49 2.79 2.10 2.45 2.45 2.25 3.25 3.75 100pcs 2.00 2.35 1.95 1.85 100/8.99 100/8.99 100/8 99 10/6.99 25/1.00 10/1 00 MA1012A CLOCK MODULE W RED LED CHARACTERS 12-HOUR FORMAT FACTORY ASSEMBLED JUST ADD SWITCHES COMPLETE WITH SPECIAL TRANSFORMER AND SPECS. $8" ea. 3/$24 00 CALL JDR BEFORE YOU BUY! WE WILL BEAT ANY COMPETITORS PRICES 800-538-5000 800-662-6233 {CALIFORNIA RESIDENTS! DIP SWITCHES 4 position .85 5 position .90 6 position .90 7 position .95 8 position .95 CONNECTORS RS232MALE 3.25 RS232 FEMALE 3.75 RS232HOOD 1.25 S-100ST 3.95 S-100WW 4.95 LEDS Jumbo Red 10/1.0C Jumbo Green 6/1.0C Jumbo Yellow 6/1.0C 5082-7760 .43'CC .79 MAN74.3'CC .99 MAN72.3'CA .99 IC SOCKETS VOLT/ 1-100 100p 8 pin ST .13 7805T .89 7905T .99 14 pin SI .15 7808T 99 791 2T .99 16 pin ST .17 7812T .89 791 5T 1.19 18 pin ST .20 781 5T .99 7924T 1.19 20 pin ST .29 7824T .99 22 pin ST .30 24 pin ST .30 28 pin ST .40 7805K 1.39 7905K 1.49 40 pin ST .49 7812K 7815K 1.39 1.39 7912K 79L05 1 .49 .79 ST = SOLDERTAIL 8 pin WW .59 14 pin WW .69 78L05 .69 79L12 79 16 pin WW .69 78L12 .69 79L15 .79 18 pin WW .99 78L15 .69 LM317K 3.95 20 pin WW 1.09 22 pin WW 1.39 1 LM3U9K 1.49 LM323K 4.95 24 pin WW 149 1 LM317T 1.95 LM337K 3.95 28 pin WW 1.69 1 40 pin WW 1.99 1 T=TO-220 K= =TO-3 L=TO-92 WW = WIREWRAP JDR MICRODEVICES, INC. aftffp- 1224 Bascom Ave. (l '^ Campbell, CA 95008 ifs/it'' 800-538-5000 • 800-662-6233 (Calif.) & 408-247-4852 Circle 190 on inquiry card. TERMS: For shipping include $2.00 for UPS Ground, $3.0 UPS Blue Label Air. $10.00 minimum order. Bay Area I dents add 6VS% sales tax. California Residents add 6% ! tax. We reserve the right to limit quantities and subst manufacturer. Prices subject to change without nc Send SASE for complete list. 2716 EPROMS 450NS (5V) 8/5.50 ALL MERCHANDISE 100% GUARANTEED! CALL US FOR VOLUME QUOTES CMOS 74C0O .35 74C374 2.75 4019 .45 4098 2.49 74C02 .35 74C901 .80 4020 .95 4099 1.95 74C04 .35 74C902 .85 4021 .95 14409 8.95 74C08 .35 74C903 .85 4022 1.15 14410 8.95 74C10 .35 74C905 10.95 4023 .35 14411 9.95 74C14 1.50 74C906 .95 4024 .75 14412 12.95 74C20 .35 74C907 1.00 4025 .35 14419 2.95 74C30 .35 74C908 2.00 4026 1.65 4502 .95 74C32 .50 74C909 2.75 4027 .65 4503 .65 74C42 1.75 74C910 9.95 4028 .80 4508 1.95 74C48 2.10 74C911 10.00 4029 .95 4510 .95 74C73 .65 74C912 10.00 4030 .45 4511 .95 74C74 .85 74C914 1.95 4034 2.95 4512 .95 74C76 .80 74C915 2.00 4035 .85 4514 1.25 74C83 1.95 74C918 2.75 4040 .95 4515 2.25 74C85 1.95 74C920 17.95 4041 1.25 4516 1.55 74C86 .95 74C921 15.95 4042 .75 4518 1.25 74C89 4.50 74C922 5.95 4043 .85 4519 1.25 74C90 1.75 74C923 5.95 4044 .85 4520 1.25 74C93 1.75 74C925 6.75 4046 .95 4522 1.25 74C95 1.75 74C926 7.95 4047 .95 4526 1.25 74C107 1.00 74C927 7.95 4049 .55 4527 1.95 74C150 5.75 74C928 7.95 4050 .55 4528 1.25 74C151 2.25 74C929 19.95 4051 .95 4531 .95 74C154 3.25 74C930 19.95 4053 .95 4532 1.95 74C157 1.75 4000 .35 4060 1.45 4538 1.95 74C160 2.00 4001 .35 4066 .75 4539 1.95 74C161 2.00 4002 .25 4068 .40 4543 2.70 74C162 2.00 4006 .95 4069 .35 4555 .95 74C163 2.00 4007 .29 4070 .35 4556 .95 74C164 2.00 4008 .95 4071 .30 4581 1.95 74C165 2.00 4009 .45 4072 .30 4582 1.95 74C173 2.00 4010 .45 4073 .30 4584 .95 74C174 2.25 4011 .35 4075 .30 4585 .95 74C175 2.25 4012 .25 4076 .95 4702 12.95 74C192 2.25 4013 .45 4078 30 4724 1.50 74C193 2.25 4014 .95 4081 30 80C07 .95 74C195 2.25 4015 .95 4082 30 80C95 .85 74C200 5.75 4016 .45 4085 .95 80C96 .95 74C221 2.25 4017 1.15 4086 .95 80C97 .95 74C373 2.75 4018 .95 4093 .95 80C98 1.20 74S00 SERIES 44 74S74 .69 74S163 3.75 74S258 1.49 48 74S85 2.39 74S168 4.65 74S260 1.83 48 74S86 1.44 74S169 5.44 74S274 19.95 79 74S112 1.59 74S174 1.09 74S275 19.95 79 74S113 1.98 74S175 1.09 74S280 2.90 48 74S114 1.50 74S181 4.47 74S287 4.75 98 74S124 2.77 74S182 2.95 74S288 4.45 69 74S132 1.24 74S188 3.95 74S289 6.98 88 74S133 .98 74S189 14.95 74S301 6.95 70 74S134 .69 74S194 2.95 74S373 3.45 68 74S135 1.48 74S195 1.89 74S374 3.45 98 74S138 1.08 74S196 4.90 74S381 7.95 48 74S139 1.25 74S197 4.25 74S387 5.75 98 74S140 1.45 74S201 14.95 74S412 2.98 87 74S151 1.19 74S225 8.95 74S471 9.95 68 74S153 1.19 74S240 3.98 74S472 16.85 44 74S157 1.19 74S241 3.75 74S474 17.85 78 74S158 1.45 74S251 1.90 74S482 15.60 79 74S161 2.85 74S253 7.45 74S570 7.80 25 74S162 3.70 74S257 1.39 74S571 7.80 PROMS 74S188 (82S23) OC 32x8 3.95 74S287 (82S129) TS 256x4 4.75 74S288 (82S123) TS 32x8 4.45 74S387 (82S126) OC 256x4 5.75 74S471 TS 256 x8 9.95 74S472 (82S147) TS 512x8 16.85 74S474 (82S141) TS 512 x 8 17.85 74S570 (82S130) OC 512x4 7.80 74S571 (82S131) TS 512x4 7.80 7400 SERIES 7400 .19 74128 .55 7401 .19 74132 .45 7402 .19 74136 .50 7403 .19 74141 .65 7404 .19 74142 2.95 7405 .22 74143 2.95 7406 .22 74144 2.95 7407 .22 74145 .60 7408 .24 74147 1.75 7409 .19 74148 1.20 7410 .19 74150 1.35 7411 .25 74151 .65 7412 .30 74152 .65 7413 .35 74153 .55 7414 .55 74154 1.40 7416 .25 74155 .75 7417 .25 74156 .65 7420 .19 74157 .55 7421 .35 74159 1.65 7422 .29 74160 .85 7423 .29 74161 .70 7425 .29 74162 .85 7426 .29 74163 .85 7427 .29 74164 .85 7428 .45 74165 .85 7430 .19 74166 1.00 7432 .29 74167 1.95 7433 .45 74170 1.65 7437 .29 74172 5.95 7438 .29 74173 .75 7440 .19 74174 .89 7442 .49 74175 .89 7443 .65 74176 .89 7444 .69 74177 .75 7445 .69 74178 1.15 7446 .59 74179 1.75 7447 .69 74180 .75 7448 .69 74181 2.25 7450 19 74182 .75 7451 .23 74184 2.00 7453 .23 74185 2.00 7454 .23 74186 18.50 7460 .23 74190 1.15 7464 .39 74191 1.15 7465 .39 74192 .79 7470 .35 74193 .79 7472 .29 74194 .85 7473 .34 74195 .85 7474 .35 74196 .79 7475 .49 74197 .75 7476 .35 74198 1.35 7480 .59 74199 1.35 7481 1.10 74221 1.35 7482 .95 74246 1.35 7483 .50 74247 1.25 7484 .50 74248 1.85 7485 .65 74249 1.95 7486 .35 74251 .75 7489 4.95 74259 2.25 7490 .35 74265 1.35 7491 .40 74273 1.95 7492 .50 74276 1.25 7493 .49 74279 .75 7494 .65 74283 2.00 7495 .55 74284 3.75 7496 .70 74285 3.75 7497 2.75 74290 .95 74100 1.00 74293 .75 74107 .30 74298 .85 74109 .45 74351 2.25 74110 .45 74365 .65 74111 .55 74366 .65 74116 1.55 74367 .65 74120 1.20 74368 .65 74121 .29 74376 2.20 74122 .45 74390 1.75 74123 .55 74393 1.35 74125 .45 74425 3.15 74126 .45 74426 .85 74490 2.55 NEED FAST PARTS? DYNAMIC RAMS 4116 150NS 16Kx 1 8/19.95 4116 120NS 16Kx 1 8/29.95 STATIC RAMS 2147 55NS 4Kx 1 9.95 6116 150NS 2Kx8 CALL 6116 120NS 2Kx8 CALL EPROMS 2716-1 350 NS 2Kx8 12.95 2732A 250NS 4Kx8 25.95 2732A-2 200 NS MPU's 4Kx8 32.95 Z-80B CPU 6mHz 19.95 Z-80B CTC 6mHz 17.95 Z-80B PIO 6mHz 17.95 68 BOO CPU 2mHz 10.95 68B21 PIA 2mHz 12.95 68B50 ACIA 2mHz 12.95 8085A-2 CPU 5mHz 16.95 APPLE OWNERS EXPAND YOUR 48K COMPUTER TO 64K SUPER RAM • II PLUG IN SLOT f) l!K mx™,mmims GOLD PLATED CONTACTS INCLUDES 5 JUMPER OPTIONS INCLUDES 5 RAM-ROM OPTIONS I ENJOY THE BEST OF BOTH WORLDS 1 16K RAM (RANDOM ACCESS MEMORY) I THIS IS SOPHISTICATED FIRMWARE EXPANDS YOUR 48K APPLE TO 64K | OF PROGRAMMABLE MEMORY ELIMINATES THE NEED FOR APPLESOFT' OR INTEGER BASIC ROM CARD ALLOW YOU TO RUN APPLE'S NEW FORTRAN PACKAGE. ALSO PASCAL AND PILOT KEYBOARD CONTROL SELECTION OF RAM OR MOTHER BOARD ROM LANGUAGE INCLUDES INSTALLATION INSTRUCTIONS AND APPLICATIONS NOTES THE SOFTWARE DEVELOPED BY VARIOUS VENDORS FOR YOUR (64K) SHOULD NOW WORK AS THEY ADVERTISED THE MOST VERSATILE RAM EXPANSION ON THE MARKET TODAY UNIQUE 1 YEAR WARRANTEE! $168.00 APPLE FAN "COOL-/T" TAN COLOR • SAVE DOWN TIME • LONG LIFE MOTOR • LOW NOISE IS A MUST • SAVE REPAIR CHARGES • INCREASES RELIABILITY • CLIPS ON — NO HOLES OR SCREWS • MINIMUM QUIETNESS IS DUE TO THE DRAW EFFECT OF AIR THROUGH YOUR COMPUTER AND A SPECIAL FAN AND MOTOR DESIGN • THOSE EXTRA PLUG-IN CARDS CAN CAUSE EXTRA HEAT HOW TO HOOK IT UP 1. Clip it on your APPLE 2 Unplug your 1 20V cable {you won't need it) 3. Plug short 120V cable Irom Super Fan II to the back ot your computer 4. Plug the supply cable Irom Super Fan II to your 120V power source 5. Turn on the rocker switch and a built-in red ready light comes on 6. You are all set "COOL IT" UNIQUE 1 YEAR WARRANTEE! $69.00 •APPLE IS A TRADEMARK OF APPLE COMPUTER INC. master charge! JDR MICRODEVICES, INC. g^c' 1224 Bascom Ave. Campbell, CA 95008 800-538-5000 • 800-662-6233 (Calif.) 408-247-4852 TERMS For shipping include $2.00 lor UPS Ground. $3.00 lor UPS Blue Label Air. $10.00 minimum order Bay Area Resi- dents add 6'/?% sales tax California Residents add 6% sales tax. We reserve the right to limit quantities and substitute manufacturer. Prices subject to change without notice. Send SASE tor complete lisl Circle 190 on inquiry card. 4K STATIC RAM 8/$20.00 2114 LOW POWER 200 NS 74LS00 74LS00 .25 74LS123 .90 74LS259 2.80 74LS01 .25 74LS124 2.95 74LS260 .60 74LS02 .25 74LS125 .90 74LS261 2.45 74LS03 .25 74LS126 .80 74LS266 .50 74LS04 .25 74LS132 .75 74LS273 1.60 74LS05 .25 74LS136 .50 74LS275 3.30 74LS08 .30 74LS138 .75 74LS279 .50 74LS09 .25 74LS139 .75 74LS280 1.95 74LS10 .25 74LS145 1.10 74LS283 .95 74LS1 1 .30 74LS147 2.25 74LS290 1.20 74LS12 .30 74LS148 1.25 74LS293 1.80 74LS13 .40 74LS151 .75 74LS295 1.00 74LS14 .75 74LS153 .75 74LS298 .95 74LS15 .30 74LS155 .90 74LS299 2.50 74LS20 .25 74LS156 .90 74LS323 3.95 74LS21 .30 74LS157 .75 74LS324 1.75 74LS22 .25 74LS15B .75 74LS347 1.95 74LS26 .30 74LS160 .90 74LS348 1.95 74LS27 .35 74LS161 .90 74LS352 1.50 74LS28 .35 74LS162 .90 74LS353 1.50 74LS30 .25 74LS163 .90 74LS363 1.35 74LS32 .35 74LS164 .90 74LS365 .90 74LS35 .55 74LS165 .90 74LS366 .90 74LS37 .50 74LS166 2.00 74LS367 .65 74LS38 .35 74LS168 1.70 74LS368 .65 74LS40 .25 74LS169 1.70 74LS373 1.15 74LS42 .50 74LS170 1.70 74LS374 1.75 74LS47 .75 74LS173 .75 74LS375 .65 74LS48 .75 74LS174 .90 74LS377 1.40 74LS49 .75 74LS175 .90 74LS385 1.85 74LS51 .25 74LS181 2.10 74LS386 .60 74LS54 .35 74LS189 9.95 74LS390 1.85 74LS55 .35 74LS190 .95 74LS393 1.85 74LS63 1.20 74LS191 .95 74LS395 1.60 74LS73 .35 74LS192 .80 74LS399 1.65 74LS74 .40 74LS193 .90 74LS424 2.95 74LS75 .50 74LS194 .95 74LS447 .35 74LS76 .40 74LS195 .90 74LS490 1.90 74LS78 .50 74LS196 .80 74LS630 75.00 74LS83 .75 74LS197 .80 74LS640 3.00 74LS85 1.10 74LS221 1.15 74LS641 3.00 74LS86 .40 74LS240 1.15 74LS642 3.00 74LS90 .60 74LS241 1.15 74LS645 3.00 74LS91 .80 74LS242 1.85 74LS668 1.65 74LS92 74LS93 .65 .60 74LS243 74LS244 1.85 1.00 74LS669 74LS670 1.85 2.15 74LS95 .80 74LS245 1.95 74LS674 9.60 74LS96 .80 74LS247 .75 74LS682 3.15 74LS107 .40 74LS248 1.20 74LS683 2.25 74LS109 .40 74LS249 .95 74LS684 2.35 74LS112 .40 74LS251 1.25 74LS685 2.35 74LS113 .40 74LS253 .80 74LS688 2.35 74LS114 .50 74LS257 .80 74LS689 2.35 74LS122 .45 74LS258 .80 4000CMOS 4000 .35 4040 .95 4501 .50 4001 .35 4041 .95 4502 .95 i 4002 .35 4042 .75 4503 .65 4006 .95 4043 .85 4505 8.95 4007 .35 4044 .85 4506 1.25 4008 .95 4046 .95 4507 .95 4009 .45 4047 .95 4508 1.95 4010 .45 4048 .75 4510 .95 4011 .35 4049 .55 4511 .95 4012 .35 4050 .55 4512 .95 4013 .45 4051 .95 4514 2.25 4014 .95 4052 .95 4515 2.25 4015 .95 4053 .95 4516 1.50 4016 .45 4055 ; 2.75 4518 1.25 4017 .95 4056 2.75 4519 1.25 4018 .95 4059 9.95 4520 1.25 4019 .45 4060 ■ 1 .25 4522 1.25 4020 .95 4066 .75 4526 1.25 4021 .95 4068 .40 4527 1.75 4022 .95 4069 .40 4528 1.25 4023 .35 4070 .40 4531 .95 4024 .75 4071 .30 4532 1.75 4025 .35 4072 .30 4539 1.75 4026 * 1.95 4073 .30 4543 1.95 4027 .65 4075 .30 4553 4.95 4028 .80 4076 95 4555 .95 4029 .95 4078 .50 4556 .95 4030 .45 4081 .40 4558 2.25 4031 ■ 1.50 4082 .40 4568 5.95 4032 2.75 4085 .95 4581 1.95 4033 ; 2.75 4086 .96 4582 1.95 4034 ; !.75 4093 .95 4584 .95 4035 .85 4094 ; J.95 4585 .95 4037 ■' >.50 4099 1 .75 4702 9.95 74S00 74S00 .40 74S163 3.70 74S02 .45 74S168 4.60 74S03 .45 74S169 5.40 74S04 .75 74S174 1.05 ', 74S05 .75 74S175 1.05 74S08 .45 74S181 4.45 74S09 .75 74S182 2.90 74S10 .65 74S188 3.90 74S11 .80 74S189 14.90 74S15 .65 74S194 2.90 74S20 .65 74S195 1.85 74S22 .75 74S196 4.85 74S30 .45 74S197 4.20 74S32 .95 74S201 14.90 74S37 1.85 74S225 8.90 74S38 1.65 74S240 3.95 74S40 .40 74S241 3.70 74S51 .75 74S251 1.85 74S64 .75 74S253 7.40 74S65 1.20 74S257 1.35 74S74 .65 74S258 1.45 74S85 2.35 74S260 1.80 74S86 1.40 74S274 19.90 74S112 1.55 74S275 19.90 74S113 1.95 74S280 2.85 74S114 1.45 74S2B7 4.70 74S124 2.75 74S288 4.40 74S132 1.20 74S289 6.95 74S133 .95 74S301 6.90 74S134 .65 74S373 3.40 74S135 1.45 74S374 3.40 74S138 1.05 74S381 7.90 74S139 1.20 74S387 5.70 74S140 1.40 74S412 2.95 74S151 1.15 74S471 9.90 74S153 1.15 74S472 16.80 74S157 1.15 74S474 17.80 74S158 1.40 74S482 15.50 74S161 2.80 74S570 7.75 74S162 3.70 74S572 7.75 74C00 CMOS 74CO0 .35 74C195 2.20 74C02 .35 74C221 2.20 74C04 .35 74C240 2.20 74C08 .35 74C244 2.20 74C10 .35 74C373 2.70 74C14 1.45 74C374 2.70 74C20 .35 74C901 .80 74C30 .35 74C902 .80 74C32 .50 74C903 .80 74C42 1.70 74C904 .80 74C48 2.05 74C905 10.90 74C73 .65 74C906 .90 74C74 .85 74C907 .90 74C76 1.90 74C908 2.00 74C83 1.90 74C909 2.70 74C86 .90 74C910 9.90 74C89 4.50 74C911 9.90 74C90 1.70 74C912 9.90 74C93 1.70 74C914 1.90 74C95 1.70 74C915 1.90 74C107 .95 74C917 2.70 74C150 5.70 74C918 1.90 74C151 2.20 74C920 16.00 74C154 3.20 74C922 5.90 74C157 1.75 74C923 5.90 74C160 1.95 74C925 6.70 74C161 1.95 74C926 7.90 74C162 1.95 74C927 7.90 74C163 1.95 74C928 7.90 74C164 1.95 74C929 7.90 74C165 1.95 74C930 7.90 74C173 1.95 74C932 1.95 74C174 2.20 74C941 2.75 74C175 2.20 74C989 9.90 74C192 2.20 80C95 .85 74C193 2.20 80C96 .90 80C97 .90 88C30 3.95 82C19 4.95 88C29 3.95 800-426-2668 206-643-0792 LINEAR 7805CT .85 LM301V .75 LM567V 1.25 LM308V .75 LM723 .50 781 2CT .85 LM309K 1.50 LM733 .95 781 5CT .95 LM311V .60 LM741V .30 LM317T 1.90 LM747 .75 7805KT 1.40 LM317K 3.75 LM748V .60 781 2KT 1.40 LM318N 1.50 LM1414 1.50 7815KT 1.40 LM323K 3.75 LM 1458V .65 78L05 .65 LM324N .60 DS1488N 1.00 78L12 .65 LM337K 3.95 DS1489D 1.00 7905CT .95 LM339 .75 LM1889 2.45 7912CT .95 LM377 2.25 LM3900 .60 791 5CT 1.15 LM380 1.25 LM3909 .90 LM386V 1.25 LM3914 3.75 7905K 1.50 LM3915 3.75 791 2K 1.50 LM555V .40 LM3916 3.75 79L05 .75 LM556 .70 DS75451 .40 79L12 .75 LM565 .95 DS75452 .40 ■79L15 .75 LM566V 1.50 DS75453 .40 ■ ■ ■ ' • HANLEY ENGINEERING CORP 13400 Northrup Way #20 Bellevue, WA. 98005 1-800-426-2668 1-206-643-0792 Include 3.00 for Ups Ground Include 4.00 for Ups Blue Include 4.00 for 1st Class Mail Washington State add 5.4% Sales Tax 524 BYTE October 1981 Circle 164 on inquiry card 16K Memory 8/$16.00 4116 200NS 8200 8156 8185 8202 8205 8212 8214 8216 8224 8226 8228 8238 8243 8251 A 8253 8255A-5 8257-5 8259A 8271 8272 8275 8279-5 8282 8283 8284A 8286 8287 8288 8289 8755A 11.25 29.95 45.00 3.95 1.90 3.85 1.80 2.50 1.80 4.90 4.90 4.50 5.45 9.80 5.20 8.95 6.95 60.00 39.95 29.95 10.00 6.60 6.60 5.75 6.60 6.60 25.00 49.95 45.00 CPU 8085A 8085A 8085A-2 8086 8088 8748 3.95 8.95 11.95 99.95 39.95 30.00 Z80 ZBO 6.70 zaoA 7.25 Z80B 19.00 ZBO PIO 6.00 Z80A IO 7.10 Z80B PIO 15.50 ZBO CTC 6.00 Z80A CTC 7.10 Z80B CTC 15.50 ZBO DMA 18.50 Z80A DMA 22.50 Z80 SIO / 18.50 Z80A SIO/0 22.50 ZBO SIO/1 18.50 Z80A SIO / 1 22.50 Z80 SIO/ 2 18.50 Z80A SIO/2 22.50 6800 3242 8.00 3480 9.00 : 6800 5.75 6802 11.00 6809 25.00 6810 3.50 6821 3.50 6840 9.00 6843 41.00 6845 22.00 6847 12.25 6850 3.50 6852 3.50 6875 7.00 6B80 1.80 6882 4.70 I 6885 1.80 6888 1.80 6B89 1.80 6B488 12.50 6502 6502 7.90 6502A 10.00 6504 8.45 6504A 9.30 6512 9.20 6512A 10.00 6520 4.40 6521 6.15 6521A 6.70 6522 8.75 6522A 11.70 6532 11.25 6532A 12.40 6545-1 22.50 6545A-1 28.95 6551 11.95 6551A 12.95 CALL HANLEY FIRST 800-426-2668 206-643-0792 EPROMS 2708 AMD 3 Supply 450NS 3.50 2716 Hitachi + 5 450NS 7.00 2716 National + 5 450NS 7.00 2716 Intel + 5 450NS 7.00 2716-1 Intel + 5 350NS 9.50 2716 T.I. 3 Supply 450NS 7.50 2716 Motorola 3 Supply 450NS 7.50 2732 NEC + 5 450NS 16.00 2732 Mitsubish + 5 450NS 16.00 2732 Intel + 5 450NS 17.00 7232A Intel + 5 250NS 17.00 2732A - 3 Intel + 5 300NS 16.00 2732A - 2 Intel + 5 200NS 20.00 2532 Hitachi + 5 450NS 18.00 AUGAT LOW PROFILE SOCKETS These Are High Reliability Ind ustry Standard Sockets 8PIN 208-AG29D .10 8PIN 208-AG29D .10 14PIN 214-AG29D .16 16PIN 216-AG29D .18 18PIN 218-AG29D .20 20PIN 220-AG29D .22 22PIN 222-AG29D .24 24PIN 224-AG29D .26 28PIN 228-AG29D .28 40PIN 240-AG29D .42 4K x 1 STATIC RAM 4164 64 x 1 MOTOROLA MCM6641-20 4044-200NS EQUIV. 200 NS $4.50 CALL SOLID STATE SCIENTIFIC HITACHI 256 x 4 CMOS RAM 450NS 2K x 8 CMOS RAM 1S0NS SCM5101E-1 Pin Compatible with 2716 $3.75 HM6116P-3 CALL HANLEY ENGINEERING CORP 13400 Northrup Way #20 Bellevue, WA. 98005 1-800-426-2668 1-206-643-0792 Include 3.00 for Ups Ground Include 4.00 for Ups Blue Include 4.00 for 1st Class Mail Washington State add 5.4% Sales Tax Circle 164 on inquiry card. BYTE October 1981 525 Unclassified Ads FOR SALE: H-8, serial I/O board, 20 K programmable memory, Extended BASIC, and all documentation. $500. 10% with balance COD. M H Endres, Box 8, Spirit Lake ID 83869. |208J 623-591 I. FOR SALE: Slightly used Apple (I disk drive without con- troller. Less than 6 months old. S250 or best offer. Bill Wertlmg, 14 Rego Ave. Centereach NY I 1720. FOR SALE: Complete system: IMSAI 8080 computer with 64 K memory, Lear-Siegler ADM-3 terminal, and Altair disk dnve. Good condition. Best offer on all three. Jim Fritz. 1413 Harmony Ln. Annapolis MD 21401, (301) 757-7019. WANTED: Complete documentation for Digital Systems DSC -2 microprocessor and disk, Texas Instruments TI-810 printer, and ADM-3A terminal. All missing when purchased at auction. Also, need information on adding lowercase to printer and display. Please state price in letter. N C Helmkay, POB 446, Milliken Ontario. L0H I K0 Canada, [4 1 6) 297-4337 after 6 PM ET FOR SALE: Complete Space Invaders board set. including power-supply board [the arcade version). An 8080A-based computer with high-resolution composite video output and ex- tensive sound-synthesizing capability. No read-only memo- ries—needs 21 1 6. 2708, or equivalent. Full schematic included, program listing available. S 150. Send check or SASE for more information. Rom Mahboubi, 9 1 S Orange Ave, Short Hills NJ 07078. FOR SALE: IBM 3275 Model 2 display terminal with key- board and documentation. Excellent condition. S 1 200. B Pelkey. [305) 862-0875. FOR SALE: ASR33 Teletype with paper-tape reader/punch, modem, touch-tone telephone pad. and stand; S425. Altair 8800A computer with S- 1 00 bus, 24 K programmable memory, and serial/parallel I/O; S550. Heathkit IM-16 voltmeter; SI8. TRW MPY-16 high-speed 16- by 16-bit multiplier chip; S40. Lenny Heath. 6618-D Lake Hill Dr, Raleigh NC 27609. |919) 876-4168. FOR SALE: Heath H-14 printer. Like new. S400 plus ship- ping. Dr Walt Atkins, Qtrs 44I0A. USAF Academy CO 80840. (303) 472-1362. FOR SALE: BYTE #1 thru August 1979. 48 issues; S 100 or best offer. Extra BYTEs #1 thru #4; best offer. Kilobaud Micro- computing #1 thru August 1978. 20 issues. S50 or best offer. Extra Kilobaud Microcomputing #l thru #5; best offer. HP-524D counter, 525C 100 thru 500 MHz, 525A 10 thru 100 MHz, 526A video amplifier, 526C period multiplier, plug-ins, manuals, used as laboratory standard, best reasonable offer. Sandy Frazier. 5325 Curry Ford Rd #A203, Orlando FL 32806. WANTED: A source of programs on Tarbell cassettes. I've just bought a Tarbell interface board to act as archival storage, and want to correspond with a Tarbell users group or an in- dividual with programs to sell or trade. Has anybody interfaced the Tarbell board to the Mega tape system, ALPHA- 1 . using the S- 1 00 bus? I would like to hear from you. Duane L Erwm, 335 S Wabash. Bradley IL 60915, [815) 933-7566 days. WANTED: Computer Music Journal back issues; volume 1. numbers 1 , 2, and 4. John Valente, Box 9, Marlboro VT 05344. WANTED: Used Apple II disk drive [DOS 3.3) with con- troller card. Give price and all pertinent details. Michael Levin. 18 Peacock Farm Rd. Lexington MA 02173. [617] 862-5134 collect. FOR SALE: Model ASR33 teletypewriter. Extra ribbons and paper. Manuals and schematics. S450. Will deliver within 200 miles of Alamogordo. David L Marshall. 1803 Scenic Dr, AlamogordoNM 88310. |505) 437-6374. WANTED: A Digital Group Systems digital cassette drive (Phi-Deck). It should be in good condition with the original con- nectors, and in the range of S50 to S 100. Send name, phone, hours you can be reached, and price. Brad Manske, 1 3 1 5 W 5th. North Platte NE 69101. FOR SALE: Heath-89 48 K programmable memory, serial interface board, one floppy. HDOS plus Heath BASIC and as- sembly-language programming courses, and extras. SI 900. John Guernero, 172 Ludlam Ave. Elmont NY I 1003, |516) 354-1797. FOR SALE: KIM- 1 microcomputer with manuals and power supply; S 125. KIM 6502 software [books, games, applications); S20. 77-key ASCII-encoded, word-processing keyboard. Ex- cellent condition, documentation included; S45. Mark Beall. 2505 Manorwood Dr, Puyallup WA 983 7 1 . FOR SALE: Integer firmware card for Apple II plus. Includes Programmer's Aid No. I; S 100. Fied M Gentile. 10182 Valley Forge Dr, Huntington Beach CA 92646. (714) 962-844 7 FOR SALE: AJ 841 terminal. IBM 2741 equivalent with acoustic coupler. Like new. Recently factory adjusted 15-mch wide platen. Very high-quality Selectnc mechanism S840. R Dobbs, I 746 Clarkson Rd #G, Richmond VA 2322^. SWAP: TRS-80 Model I, Color, or Model III cassette pro- grams. Games, information processing, and machine-language monitor. No business or education. Also, have M3 machine- language utilities and programs. Send cassette with a few of your programs and your needs (500 bps for I and III) and I will return it with the best of mine. Would also like information on your M3 disk experiences. Steve Kolokowsky, 8 Wilson Ct, Spring Valley NY 10977. FOR SALE: Heath H-14 printer. Nearly new. calibrated at a Heath center. S490. Neal De Loye. Rte 1. Onalaska Wl 54650, (608) 783-7767 evenings. FOR SALE: Ithaca Intersystems Z80-based S-100 processor board. Socketed, populated |on-board 2708 I K EPROM in- cluded), assembled and tested; S 110. SI 00 8 K Ithaca Inter- systems static-memory board. Uses 2102 chips, fully socketed, 2 K populated; S60. Parallel ASCII keyboard. Assembled and tested, in chassis with power supply. TTL parallel ASCII output with data-valid strobe; 560. Highest bidder takes. Send SASE Roy Makrucki, 251 Pleasant Ridge Dr. Saline Ml 48176, |3!3) 429-1286. WANTED: Hewlett-Packard HP-9 7 calculaiot H Verhoeven. Box 4636, Mountain View CA 94040. FOR SALE: Quest Super ELF with low-address display op- tion. S85. Glenn Andreas. Rte 1-7600 Hwy D East. Lake Tomahawk Wl 54539. FOR SALE: 10 MHz 8086 processor; S60. Intersil IM6100 Family Sampler (PDP-8 with I K read-only memory monitor, 256 words programmable memory, serial I/OJ; S50. Program- mable/EPROM memories (eight 4 K by I programmable memo- ries, six 2716 and one 2708 EPROMs); S75. IC grab bag [forty- five 7400 series digital, ten op amps, voltage regulators, seven segment LEDs); S 1 5. Gregg Marshall. 967 Almond Dr, Oakley CA 94598. FOR SALE: 32 K TRS-80 Model I with TRS-80 disk drive and TRSDOS. Includes all manuals, cassette player, all cables, and TRS-80 Editor/Assembler. Other software includes Space In- vaders and other games. S1800. Robert Topping, 17 Cognac Dr, Lake Saint Louis MO 63367. FOR SALE: Brand-new SD Systems SBC-200 single-board computer and SD Systems Versafloppy II disk controller. Assembled and tested by SD Systems. Total list price is S840. Will sell for S600 if purchased together. James Adams, 6405 Maryland Ave, Hammond IN 46323, (219) 844-4691. No col- lect calls accepted. FOR SALE: New original package: LOBOS 8-inch dual- drive cabinet plus power supply, Technico TI9900, 16-bit pro- cessor system, 64 K programmable memory, disk-controller board, DOS, 3.0 Super BASIC plus EAL. Perfect operating condi- tion. Full documentation and schematics. S3500 or best offer. Sam White, 643 Indiana Ave. Venice CA 90291. (213| 549-2500 or 396-0936. FOR SALE: Word processor/text editor for North Star. In- cludes utility programs with documentation on disk. Needs only 24 K. BASIC, and one disk. Easy-to-use line-oriented editor works with any ASCII terminal, including Teletype or CRT. Word processor allows commands in the file, and chaining to other text files, like subroutines in a program. S30. Mark Arnold, 1400 Grand Ave. Laramie WY 82070. FOR SALE: Commodore PET 2001 computer. Original 8 K version with video buffer and twelve program tapes, including Microchess 2.0- S500. Floyd Wilson, 903 W Sweet Ave, Bismarck ND 58501. (701) 258-9023. FOR SALE: MicroAce ZX80 2 K [like Sinclair) with manual [Sinclair manual, too) and power pack in original box. Works good. Fantastic for the beginner learning BASIC or the ex- perienced Z80 machine-language programmer. First money order for SI 29 takes it. M Neidich, 18 Hillside Ln N. Syosset NY I 1791. (516) 921-3603. UNCLASSIFIED POLICY: Readers who are soliciting or giving advice, or who have equipment to buy, sell or swap should send in a clearly typed notice to that effect. To be considered for publication, an advertisement must be clearly noncommercial, typed double spaced on plain white paper, contain 75 words or less, and include complete name and address information. These notices are free of charge and will be printed one time only on a space available basis. Notices can be accepted from individuals or bona fide computer users clubs only. We can engage in no correspondence on these and your confirmation of placement is ap- pearance in an issue of BYTE. Please note that it may take three or four months for an ad to appear in the magazine. FOR SALE: VDB-8024 video board. S-100. assembled and tested, 80 columns by 24 lines. Video enhancements include scroll, tab, reverse, blinking, and underline. Protect feature. 32 special characters, including Greek and math symbols. Ad- dressable cursor. Very fast. Complete documentation included Still under warranty. S275 plus COD. Tom Kirby. 318 W Clay, Blacksburg VA 24060. FOR SALE: Alpha Micro computer system: AMI00 64 K processor, SOROC IQ 120 terminal, AM20O floppy-disk con- troller board, AM300 G port serial I/O mux. Wangco/Orbis 87 dual-disk dnve. TI-8 1 serial printer. Business software available Best offer. Ron Bogaards, 108 Peace St. Pella IA 50219. (515) 628-9295. FOR SALE: SwTPC 68/2, two serial, one parallel. 20 K pro- grammable memory, 4 K EPROM. EPROM programmer and eraser, JPC cassette interface and recorder, CFM. two memory- mapped video boards, lots of software, and twenty cassettes In excellent condition with complete documentation for S600. Also, AC-30; S75. Send SASE for more details. Joe Williams. 2780 Janitell Rd. Colorado Springs CO 80906. |303) 599-4828 or 473-8060 evenings. FOR SALE: S-100 boards: TDL Z80 ZPU, SMB1, SMB2. parallel I/O (4 ports], four 16 K programmable memories, Jade Z80 4 MHz. S50 each. KIM-I system: 40 K. ASCII keyboard. TV interface, power supply, software, and BASIC. S 160. Jade: two 8-inch dual-disk/double-density controller drives. PROM boot, CP/M 2.2, cabinet, power supply, cables, manuals, system disks, and utilities. For S-100. Used approximately two hours. Cost S 1400. Sell S700. Send money order or cashier's check and phone number (confirmation of sale). Brian Graves. Abbot Hill Rd, Wilton NH 03086. 526 October 1981 © BYTE Publications Inc Reader Service Inquiry No. Page No. 1 47th STREET PHOTO 437 2 A B DIGITAL DESIGN 55 3 AB COMPUTERS 495 4 ABM PRODUCTS 424 5 ACKERMAN DIGITAL SYS 58 • ACTION COMPUTER 167 6 ADAPTIVE DATA & ENERGY 145 7 ADDMASTER CORP. 504 8 ADV.COMP.PROD. 514, 515 9 ADV.MICRO SYS. 66 10 ADV.OPERATING SYS. 143 11 ADVANCED TECH 494 12 ADVENTURE INT'L. 117 • ALF PRODUCTS, INC 382 13 ALPHA BYTE STORAGE 51 14 ALPHA BYTE STORAGE 124, 125 15 ALSPA COMP.SYS. 496 17 ALTOS COMP.SYS. 88, 89 428 AMERICAN COMP. & ENG 107 18 AMDEK CORP. 162 19 AMER.COMP.EXCH. 494 • AMER.SFTW.CLUB 219 21 AMER.SQUARE COMP. 237 22 ANCIE LABS 106 23 ANCRONA222 24 ANDERSON JACOBSON 440 25 ANTEX DATA SYS. 130 26 APPARATINC 129 27 APPARAT INC 327 • APPLE COMPUTER INC 12 28 APPLE COMPUTER INC 13 425 APPLE COMPUTER INC 13 29 APPLIED ANALYTICS 132 30 ARTIFICIAL INTL.RESRCH 494 31 ASAPCOMP.PROD.INC. 314, 315 32 ASAPCOMP.PROD.INC. 345 33 ASHTON-TATE 282, 283 427 ATLANTIC COMPUTER, IND. 336 34 ATARI 347 35 ATARI.INC. 61 16 ATON INT'L. 142 418 AURORA 371 36 AUTOCONTROL INC 210 37 AUTOMATED CONTR.SYS. 500 38 AUTOMATED EQUIPMNT. 433 39 AUTOMATED EQUIPMNT. 457 • AVOCET 224 40 B&B ELECTR. 496 41 BASF SYSTEMS 303 ■ BELL.JOHN ENGI1 481 • BETA COMP.DEVICES 259 43 BISON PRODUCTS 491 44 BIZCOMP 301 45 BLUE LAKES COMPUTING 296 46 BOURBON ST.PRESS 450 47 BOWER-STEWART 494 49 BUSINESS OPERTING SYS 27 50 BUSINESS WEEK 281 • BYTE BOOKS 233 51 BYTE BOOKS 234 52 BYTE BOOKS 235 53 BYTE BOOKS 236 • BYTE PUBL.INC. 398 • C.S.MARKETING 165 61 CALIF.COMP.SYS 91 54 CALIF DATA CORP 492 55 CALIF. DIGITAL 509, 510 56 CALIF. DIGITAL 511 • CALIF. MICROCOMP. 369 58 CAMBRIDGE UNIV. PRESS 358 59 CAMEO ELECTR. INC 119 60 CAMRODEN CO..THE 502 • CARRINGTON CO..THE 502 62 CDR 498 81 CDS 354 63 CER-TEK INC 502 64 CHECK-MATE 496 65 CHECKS-TO-GO 118 66 CHIPS & DALE 500 67 CHRISLIN INDUSTRIES 271 68 CMC.INT'L. 389 69 CODE WORKS.THE 122 70 COLONEY PRODUCTIONS 443 71 COLONIAL DATA SERVICE 362 73 COMPILER SYS. INC 335 74 COMPONENTS EXPRESS 360 75 COMPUDIAL.INC. 104 76 COMPUMART 120, 121 78 COMPUPRO/GODBOUT 203 77 COMPUPRO/GODBOUT 248, 249 79 COMPUSERVE 262, 263 80 COMPUTER AGE 434 82 COMPUTER DISC.OF AM. 272 83 COMPUTER EXCHANGE 276, 277 Inquiry No. Page No. 84 COMPUTER FURN.& ACCSS. 421 85 COMPUTER MAIL ORDER 289 86 COMPUTER PLUS 496 87 COMPUTER SHOPPER 445 88 COMPUTER SPCLTIES. 100, 101 89 COMPUTER STOP, THE 483 • COMPUTER WRHSE. 123 90 COMPUTERS ETC. 409 91 COMPUTERS ETC. 418 92 COMPUTERS ETC. 450 93 COMPUTERS PERIPH.UNLTD 395 94 COMPUTERS WHOLESALE 485 95 COMPUTERWARE 338 96 COMPUTEX CORP 254 97 COMPUTIQUE337 412 COMPUVIEW PROD.INC. 68 413 COMPUVIEW PROD.INC. 68 98 COMPUVIEW PROD.INC. 69 99 CONCOMP IND. 371 399 CONCOMP IND. 384 101 CONCORD COMP.PROD. 435 102 CONSUMER COMP. 148, 149 103 CONSUMER COMP. 503 105 COVER CRAFT 220 106 CPI 134 107 CPU SHOP, THE 479 108 CROMEMCO CM, 1 109 CROMEMCO 2 • CYBERNETICS, INC. 293 407 D &W DIGITAL 174 • DATA DISCOUNT CTR 416 111 DATAFACE2B ■ DATASAAB 246 414 DATASOFT355 112 DATASOUTH COMP.CORP. 159 113 DATASOUTH COMP.CORP. 348 114 DELTA PRODUCTS 275 117 DESIGNER SOFTWARE 103 • DFS COMP.FORMS 286 118 DIABLO SYS INC 261 119 DIGIAC CORP 387 120 DIGITAL ELECT.SYS. 164 121 DIGITAL GRAPHIC SYS 302 122 DIGITAL MARKETING 6 123 DIGITAL MARKETING 307 124 DIGITAL RESEARCH 171 125 DIGITAL RESEARCH 377 • DIGITAL RESEARCH COMP. 493 126 DILITHIUM PRESS 453 127 DISC/3 MART INC. 380 128 DISCOUNT SFTW.GRP.THE 274 • DISK SUPPLY 442 129 DISKONNECTION.THE 504 130 DUAL SYS.CONTROL CORP. 60 131 DUAL SYS.CONTROL CORP. 62 132 DUAL SYS.CONTROL CORP. 64 133 DUOSOFT CORP. 181 140 DUPRE ENTERPRISES.INC. 397 134 DYMARC IND. 393 135 DYNACOMP 330, 331 137 ECOSOFT292 • EDMUND SCIENTIFIC CO 180 138 ELECTROLABS 490 139 ELECTRONIC CONTROL 270 141 ELECTRONIC SPCLISTS 391 142 ELECTRONIC SYS.FURN 420 143 ELECTRONICS CENTER 488 • ELECTROVALUE 260 416 ELLIS 460 410 EMPIRE SYS.CORP 502 144 EMPIRICAL RESRCH GRP. 502 145 EMPIRICAL RESRCH GRP. 504 • END USER SOFTWARE 350 147 EPSON AMERICA 297 148 EQUITABLE MONEY MRK. 447 • ESCON 398 149 ESSEX PUBLISHING 390 150 EXPOTEK 439 ' FAIRCOM 256 151 FARNSWORTH COMP.CTR. 374 152 FINANCIAL SFTW.SYS. 502 153 FORETHOUGHT PRODUCTS 364 154 FREDERICK COMP.PROD. 431 155 FSS 496 274 FUTRA317 156 FYI INC. 496 157 GEORGIA EXEC.MICRO 294 158 GIMIX INC 46 159 GIMIX INC 492 160 GRAFFCOM SYS. 20 161 H & ECOMPUTRONICS 255 162 H & E COMPUTRONICS 257 163 HANDICRAFTS 504 164 HANLEY ENGNRING 524, 525 Inquiry No. Page No. 165 HAPPY HANDS 386 166 HAYDEN BOOK CO INC 363 167 HAYES MICROCOMP.PROD. 161 • H EATH COM PAN Y 1 6, 1 7, 21 7 168 HEWLETT-PACKARD 137 169 HOUSTON INSTRUMENTS 49 170 HOUSTON INSTRUMENTS 49 171 HOWE SOFTWARE 498 172 I. B.C. 188 426 IMS INT'L. 67 174 INFOSOURCE.INC. 128 175 INMAC 386 176 INNER ACCESS 504 177 INNOVATIVE PROD. 312 178 INNOVATIVE SFTW.APPL. 72 179 INSOFT CORP. 53 180 INTEGRAL DATA SYS. 63 181 INTEGRAND 384 405 INTEL 152, 153 183 INTERTEC DATA SYS. 175 184 IPEX INT'L. 494 185 ITHACA INTERSYSTEMS 8, 9 186 ITHACA INTERSYSTEMS 239 187 JADE COMP.PROD. 506, 507 188 JADE COMP.PROD. 508 189 JAMECO ELECTR. 516, 517 190 JDR MICRODEVICES 522, 523 191 JIM-PAK 497 192 KADAK PRODUCTS 196 • KENGORE CORP. 496 421 KRAMER SYS.INT'L 399 193 KV 33 494 194 L & S 502 195 LABORATORY MICROSYS. 496 196 LEADING EDGE PROD Clll 197 LEAPAC SERVICES 358 198 LIFEBOAT ASSOC. 213 199 LIFEBOAT ASSOC. 341 200 LIFEBOAT ASSOC. 361 201 LNW RESEARCH 285 202 LOGICAL DEVICES 492 203 LOGO COMP.SYS. 365 204 LOMAS DATA PRODUCTS 441 205 LYBEN COMP.SYS. 498 206 MACROTRONICS 492 207 MACROTRONICS 502 208 MAGNOLIA MICROSYS. 469 209 MALIBU ELECTR. CORP. 215 210 MARKETLINESYS INC390 211 MARTEC 373 212 MARYMAC INDUSTRIES 112 213 MASTER ELECTR. INC. 238 214 MAXELL DATA PRODUCTS 287 • MCGRAW-HILL BOOK CO. 225 • MCGRAW-HILL BOOK CO. 268 • MCGRAW-HILL BOOK CO. 465 215 MEADE'S DATA SYS. 500 216 MEAS.SYS. & CONTROLS 29 • MEAS.SYS. & CONTROLS 31 • MEDIAMIX98 217 MENTOR SOFTWARE 494 218 MERRIMACK SYSTEMS 260 219 META TECHNOLOGIES 470 220 MICRO AGE COMP.STORE 169 221 MICRO BUSN. ASSOC. 373 • MICRO BUSN. WORLD 295 222 MICRO COM 353 • MICRO COMP.DISC.CO. 426 223 MICRO COMP.DISTR. 394 224 MICRO DATA BASE SYS 109 225 MICRO FOCUS 97 226 MICRO HOUSE 73 227 MICRO MANAGEMENT SYS. 449 428 MICRO MINT 107 228 MICRO PRO INT'L. 241 229 MICRO WORKS, THE 212 230 MICROACE 461 231 MICROCOMP.TECH.INC. 313 232 MICROCOMPUTER APP. 388 233 MICROCRAFT SYS 298 234 MICROMAIL218 235 MICROMATE ELECTR.INC. 432 • MICROPERIPH.CORP.THE 500 236 MICROSETTE INC. 232 237 MICROSOFT (CPD) 191 238 MICROSOFT (CPD) 199 239 MICROSTUF.INC. 18 240 MICROTAX 216 241 MICROTECH EXPORTS 397 242 MIDDLETON.WILSON 500 243 MIKOS 488 244 MILLER MICROCOMP.SERV. 415 245 MIN MICROCOMP SFTW 111 246 MINI COMP.SUPPLIERS 374 To get further information on the products advertising in BYTE, fill out the reader service card with your name and address. Then circle the appropriate numbers for the advertisers you select from the list. Add an 1 8