FEBRUARY 1985 VOL. 10, NO. 2 Today: there are more Apples in schools than any other computer. Unfortunately, there are still more kids in schools than Apples. So innocent youngsters (like your own) may have to fend off packs of bully nerds to get some time on a computer. Which is why it makes good sense to buy them an Apple" 11c Personal Computer of their very own. The lie is just like the leading com¬ puter in education, the Apple He. Only smaller. About the size of a three-ring note¬ book, to be exact. Even the price of the lie is small — under $1300* Of course, since the lie is the legiti¬ mate offspring of the He, it can access the world's largest library of educational soft¬ ware. Everything from Stickybear Shapes™ for preschoolers to SAT test preparation programs tor college hopefuls. In fact, the lie can run over 10.000 programs in all. More than a few of which you might be interested in yourself. For example, ,3-in-l integrated busi¬ ness software. Home accounting and tax programs. Diet and fitness programs. Not to mention fun programs for the whole family. Like "Genetic Mapping' and With a He. your kui can do something constructin' after school like leant to urite stones Or learn to fly Or even learn something slightly more advanced Like multivariable calculus MATH MAZE D«i49nUJo« “Enzyme Kinetics.” And the Apple lie comes complete with everything you need to start computing in one box. Including a free 4-diskette course to teach you how—when your kids get tired of your questions. An RF modulator that can turn almost any TV into a monitor. As well as a long list of built-in features that would add about $800 to the cost of a smaller-minded computer. 128K of internal memory—twice the power of the average office computer. So while your children’s shoe sizes A built-in disk drive that would and appetites continue to grow at an drive up the price of a less-senior machine. And built- in electronics for adding accessories like a printer, a modem, an AppleMouse or In its optional carrying case, the i even run from lie alarming rate, there’s one thing you know can keep up with them. Their Apple He. To leant more about it, visit any authorized Apple dealer. Or talk to your own computer experts.^^ As soon an extra disk drive when the time comes, as they get nome from school. * The FTC is concerned about price fixing. So this is only a Suggested Retail Price. You can pay ’ more if you really want to. © 19&f Affile Computer Inc. typle and the Apple lorn are registered trademarks of Apple Computer Inc. Stickybear Shapes is a trademark of Optimum Resource. For an authorized Apple dealer nearest you call ( 800 ) 538 - 9696 . In Canada, call ( 800 ) 268 7796 or ( 800 ) 268 - 7637 . CONTENTS FEATURES Introduction .96 The HP Integral Personal Computer by Phillip Robinson .98 Hewlett-Packard's new all-in-one system makes UNIX truly portable. Garcias Circuit Cellar: Build a Serial EPROM Programmer by Steve Ciarcia .104 Steve devises an affordable version of an essential tool for hackers. The Macintosh Office by John Markoff and Phillip Robinson .120 Appldfalk networks the Macintosh and its new laser printer. C to Pascal by Ted Carnevale .138 This program can make the conversion process less tedious. Simulate a Servo System by Don Stauffer .147 Model complex engineering problems on personal computers. Introduction to Image Processing by Jeffrey L. Star .163 Manipulate images to make them more informative. THEMES Introduction .174 The Birth of a Computer conducted by John C. N ash .177 In this interview. James H. Wilkinson discusses the building of a computer designed by Alan Hiring. A LowCost Data-Acquisition System by K iyohisa Okamura and Kamyab AghaiTabriz .199 A compromise between cost and quality, this system is adequate for many research projects. Fourier Smoothing Without the Fast Fourier Transform by Eric E. Aubanel and Keith B. Oldham .207 The authors present an in-depth look at a technique for removing noise from your data. Paranoia: A Floating-Point Benchmark by Richard Karpinski .223 Tfest the quality of your software, not just its speed. Modeling Mass-Action Kinetics by Alan Curtis .239 In the future, microcomputers may have a substantial role in major scientific computations. Viewing Molecules with the Macintosh by Earl J. Kirkland .251 A BASIC program provides 3-D images of complex molecules. Laboratory Interfacing by Lincoln E. Ford, M.D.263 A medical researcher examines the capabilities and limitations of an important laboratory device. Interfacing for Data Acquisition by Thomas R. Clune .269 Three interfaces are compared. I 174 REVIEWS Introduction 286 Reviewer's Notebook by Glenn Hartwig .289 NewWord by John Wellborn and Nahci Reel .291 A word processor from some of the creators of WordStar. BYTE (ISSN 0360-5280) is published monthly by McGraw-Hill Inc Founder lames H. McGraw (1860-1948) Executive, editorial, circulation, and advertis¬ ing offices: 70 Main St.. Peterborough. NH 03458. phone (603) 924-9281 Office hours: Mon—Thur 8:30 AM — 4:30 PM. Friday 8 30 AM — 1:00 PM. Eastern Time. Address subscriptions to BYTE Subscriptions. POB 590. Martinsville. N| 08836 Postmaster send address changes. USPS Form 3579. undeliverable copies, and fulfillment questions to BYTE Subscriptions. POB 596. Martinsville. N| 08836. Second-class postage paid at Peterborough. NH 03458 and additional mailing offices Postage paid at Winnipeg. Manitoba Registration number 9321 Subscriptions are $21 for one year. $38 for two years, and $55 for three years in the USA and its possessions In Canada and Mexico. $23 for one year. $42 for two years. $61 for three years. $69 for one year air delivery to Europe 17.100 yen for one year surface delivery to lapan $37 surface delivery elsewhere. Air delivery to selected areas at additional rates upon request Single copy price is $3 50 in the USA and its possessions. $3.95 in Canada and Mexico. $4.50 in Europe, and $5 elsewhere Foreign subscriptions and sales should be remitted in United States funds drawn on a U S. bank Please allow six to eight weeks for delivery of first issue. Printed in the United States of America. 2 BYTE • FEBRUARY 1985 COVER ILLUSTRATION BY ROBERT TINNEY VOLUME 10. NUMBER 2. 1985 Janus/Ada by M ark J. Welch . 295 A nonstandard subset of Ada for MS-DOS and CP/M-80. The Epson Geneva PX-8 by Rich Malloy . 302 It weighs five pounds and features a CMOS Z80 microprocessor Two Modula-2 Compilers for the IBM PC by Kevin Bowyer .311 Price is but one of the differences between these implementations. E-Mail for the Masses by Wayne Rash Jr.. 317 Comparing two electronic-mail services. MCI Mail and EasyLink. Mannesmann Tally MT 160 by Marie J. Welch . 325 A dot-matrix unit with a variety of print modes. Review Feedback 331 Readers respond to previous reviews. KERNEL Introduction 337 Computing at Chaos Manor: Troubles by lerry P ournelle .339 Jerry's usual look at a variety of products includes a section on the proliferation of computer books. Chaos Manor Mail conducted by jerry P ournelle .359 Jerry's readers write, and he replies. BYTE Japan: Disks and Printers by William M. Raike .367 Our correspondent in Japan describes important new peripherals displayed at the 1984 Data Show. BYTE West Coast What Next? by John Markoff. Phillip Robinson, and Ezra Shapiro .371 Our West Coast editors report on Thunderscan. the ins and outs of windowing, new workstations, and more. BYTE U.K.: Realizing a Dream by Dick Fountain .379 The Whitechapel Computer Works MG-1 personal workstation is almost a dream computer—and it costs less than its competitors. Computers and Law: Copying Mass-Marketed Software by Robert Greene Sterne and Perry J. Saidman .387 This column debuts with a look at two Lotus lawsuits settled out of court. Circuit Cellar Feedback conducted by Steve Ciarcia .393 Steve answers project-related queries from readers. Editorial: Service and Support. 6 Microbytes. 9 Letters. 14 Fixes and Updates. 33 Whats New. 39. 421 Ask BYTE. 48 Clubs & Newsletters. 59 Book Reviews .65 Event Queue. 83 Programming Insight. 399 Books Received. 409 Unclassified Ads. 477 BYTE's Ongoing Monitor Box. BOMB Results. 478 Reader Service. 479 286 ~ wmmmur Address ail editorial correspondence to the Editor. 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 Copyright © 1985 by McGraw-Hill Inc All rights reserved Trademark registered in the United States Patent and Trademark Office. 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 flat fee of SI 50 per copy of the article or any part thereof Correspondence and payment should be sent directly to the CCC. 29 Congress St.. Salem. MA 01970 Specify ISSN 0360-5280/83 SI 50 Copying done for other than personal or internal reference use without the permis¬ sion of McGraw-Hill Inc. is prohibited Requests for special permission or bulk orders should be addressed to the publisher BYTE is available in microform from University Microfilms Internatjonal. 300 North Zeeb Rd Dept PR. Ann Arbor. MI 48106 or 18 Bedford Row. Dept PR. London WCIR 4 El England Subscription questions or problems should be addressed to: BYTE Subscriber Service. POB 328. Hancock. NH 03449 SECTION ART BY EUGENE MIHAESCO FEBRUARY 1985 • BYTE 3 Inquiry 220 MicroTime 800-miCR0 84 SAVE ON ZENITH ZENITH (?) THE BEST IBM COMPATIBLE SANYO COMPUTERS ALL MODELS ADA ILABLE HIE HflUE ALL EPSON PRINTERS IN STOCK RT LOW PRICES IOMEGA BERNOULLI BOR IBM PC 20 MEGABYTE ULTRA FAST REMOUABLE STORAGE EVE(APPLE) PORTABLE 2 DRIVES 6502+Z 80 A CITOH OKIDATA BROTHER DIABLO VE SPECIALIZE IN SYSTEM SALES ♦ ♦ ♦ CALL US FOR THE LOWEST PRICES ON ALL COMPUTER PRODUCTS 800 - 642-7684 IN ARIZONA 602-791-9030 IBM is • registered trademark ol International Business Machines. Corp. 411 West Grant Road Tucson, Arizona 85705 BYTE EDITOR IN CHIEF Philip Lemmons MANAGING EDITOR Gene Smarte CONSULTING EDITORS Steve Ciarcia Jerry Pournelle SENIOR TECHNICAL EDITORS G. Michael Vose. Themes Gregg Williams TECHNICAL EDITORS Thomas R Clune Jon R. Edwards Richard Grehan Glenn Hartwig. Reviews Richard Krajewski Ken Sheldon Richard S. Shuford Jane Morrill Tazelaar Eva White Stanley Wszola Margaret Cook Gurney. Associate Alan Easton, Drafting WEST COAST EDITORS Ezra Shapiro. Bureau Chief. San Francisco John Markoff. Senior Technical Editor. Palo Alto Phillip Robinson. Senior Technical Editor. Palo Alto Donna Osgood, Associate Editor. San Francisco Brenda McLaughlin. Editorial Assistant. S an Francisco NEW YORK EDITOR Richard Malloy. Senior Technical Editor MANAGING editor. ELECTRONIC PUBLISHING AND COMMUNICATIONS George Bond USER NEWS EDITORS Anthony J. Lockwood. What's New Mark Welch. Microbytes CONTRIBUTING EDITORS Dennis Allison, at large Mark Dahmke. video, operating systems Mark Haas, at large Rik Jadrnicek. CAD. graphics, spreadsheets Mark Klein, communications Alan Miller, languages and engineering John C. Nash, scientific computing Dick Pountain. U K. William M. Raike. J apan Perry Saidman. computers and law Robert Sterne, computers and law Bruce Webster, software SENIOR VICE PRESIDENT PUBLISHER Harry L. Brown ASSISTANT PUBLISHER Michele P. Verville PUBLISHER S ASSISTANT Doris R. Gamble ADVERTISING SALES J. Peter Huestis. Sales Manager Sandra Foster. Administrative Assistant advertising Lisa Wozmak. Supervisor Robert D. Hannings. Senior Account Manager Marion Carlson Karen Cilley Lyda Clark Michele Gilmore Denise Proctor advertising/production Wai Chiu Li. Quality Control Director Julie Nelson. Advertising/Production Coordinator Linda J. Sweeney, Advertising/Production Coordinator CIRCULATION Gregory Spitzfaden. Director Andrew Jackson. Subscriptions Manager Cathy A. R. Drew. Assistant Manager Laurie Seamans. Assistant Manager Susan Boyd Phil Dechert Mary Emerson Louise Menegus Agnes E. Perry Jennifer Price James Bingham. Single-Copy Sales Manager Linda Turner, Assistant Manager Carol Aho Claudette Carswell Karen Desroches MARKETING COMMUNICATIONS Horace T. Howland. Director Vicki Reynolds. Marketing Associate Priscilla Arnold. Marketing Assistant Stephanie Warnesky. Graphic Arts Supervisor Sharon Price, Graphic Arts Designer Doug Webster. Director of Public Relations Wilbur S. Watson. Operations Manager. Exhibits Patricia Akerley, Research Manager Cynthia Damato Sands. Reader Service Coordinator COPY EDITORS Bud Sadler. Chief Dennis Barker Elizabeth Cooper Anne L. Fischer Nancy Hayes Lynne M. Nadeau Paula Noonan Joan Vigneau Roy Warren Williamson ACCOUNTING Daniel Rodrigues. Business Manager/Controller Kenneth A. King. Assistant Controller Vicki Weston. Accounting Manager Linda Short. D/P Manner Edson Ware. Credit Marilyn Haigh Diane Henry Vern Rockwell JoAnn Walter assistants Peggy Dunham Martha Hicks Beverly Jackson Faith Kluntz. Copyrights and Permissions Lisa Jo Steiner building services/traffic Anthony Bennett. Building Services Manager Brian Higgins Mark Monkton RECEPTIONIST L. Ryan McCombs ART Rosslyn A. Frick. Art Director Nancy Rice. Assistant Art Director PERSONNEL Cheryl A. Hurd, Office Manager Patricia Burke. Personnel Coordinator PRODUCTION David R. Anderson. Production Director Denise Chartrand Michael J. Lonsky Jan Muller Sherry McCarthy. Chief Typographer Nan Fornal Len Lorette Kathy Quist Donna Sweeney BYTE BUSINESS PHONES Pete Huestis. 603-924-6137 Horace Howland. 603-924-3424 Doug Webster. 603-924-9027 Brad Browne. 603-924-6616 Advertising. 603-924-6448 Circulation. 800-258-5485 Editorial and Business Office: 70 Main Street. Peterborough. New Hampshire 03458. (603) 924-9281 West Coast Offices: McGraw-Hill. 42 5 Battery St., San Francisco. CA 9411 I. (41 5) 362-4600 McGraw-Hill. 1000 Elwell Court. Palo Alto. CA 94303. (415) 964-0624 New York Office: 1221 Avenue of the Americas. New York. NY 10020. (212) 512-2000 Officers of McGraw-Hill Information Systems Company: President: Richard B Miller Executive Vice Presidents: Frederick P lannot. Con- \ jjJ struction Group Russell C. White. Computers and Communications Group: I Thomas Ryan. Marketing and International Senior Vice Presidents: Francis A Shinal. Controller: Robert C Violette. Manufacturing and Technology Vice Presidents: Fred O lensen. Planning and Development: ■ ■nil Margaret L Dagner. Human Resources Officers of the Corporation Harold W McGraw |r. Chairman: loseph L. Dionne. President and Chief Executive Officer: Robert N. Landes. Senior Vice President and Secretary. Ralph I Webb. Treasurer and our hit operations UNIX, not for it We provide megabytes-with en running even the me modate up to 16 users-all with plen But we give you even more. 100 series, bytes. A high speed 50 megabyte hard disk drive is standard on the sys¬ tems. And you can ex¬ pand the hard disk capacity up to 1200 megabytes using stan¬ dard SMD drives. You can add floating point graphics. Video digitizing imaging. Communications UNIX is a trademark of Bell Laboratories. IBM is a trademark of International Business Machines Corp. Cromemco’ Inquiry 76 FEBRUARY 1985 • BYTE 5 EDITORIAL Service and Support When computers are working they keep us entertained, or at least oc¬ cupied. That's why happy customers seldom praise the retail stores and mail-order businesses that sold them their computer equipment, and why we hear much more criticism of com¬ puter dealers. Often retail salespeople are decried for knowing little about the computers and software they sell and mail-order firms for providing less customer support than retail stores. But the reality varies from store to store and transaction to transaction. 1 have had nothing but good experi¬ ences with mail-order companies, in¬ cluding free replacement of 100 flop¬ py disks when three of ten in the first box wouldn't format properly I've bought software, a modem, a printer, and various supplies through phone orders to mail-order businesses. My experiences in retail stores have been mixed. I once heard a salesman tell a customer that Pickles and Trout were programming languages (they actually were two people who pro¬ duced a version of CP/M for the T&ndy Model II). On another occasion the sales staff of a retail store refused to go through the bother of taking an order for VisiCalc or to hold a copy for me from the next shipment. I went back several times only to find Visi¬ Calc sold out again and no one will¬ ing to take my order. (Finally, I bought VisiCalc through mail order and had no problems.) On the other hand, the retail salespeople at the computer store where BYTE made some recent purchases not only know what they are doing but also give technical sup¬ port when things go wrong. Street Addresses There is room for improvement in both mail-order and retail computer sales practices. The great concern with mail-order businesses is well expressed in a letter we received from John C. Gunn, director of con¬ sumer affairs for Priority One Elec¬ tronics of Chatsworth, California: "Although we are primarily an in¬ dustrial distributor, a measurable por¬ tion of our revenue comes from our 'mail-order' ads. We frequently hear horror stories about some poor soul who sent his money to a mail drop or post office box somewhere. . .and never saw any product or a dime of his dough. Incidents such as this hurt all of us.'' Priority One took an interesting practical step to counteract this prob¬ lem. "To assist in protecting unwitting consumers from unscrupulous adver¬ tisers,'' Gunn writes, "we lobbied strongly for the passage of a bill in¬ troduced by California Assemblyman Jack O'Connell. This law requires all advertisements in our state to carry the street address of the company placing the advertisement.'' We com¬ mend Priority One for its efforts to protect the interests of customers of mail-order businesses. Remote Diagnostics The convergence of computer and communications technologies offers an unprecedented opportunity for im¬ proving customer support. When a personal computer is connected to the telephone system through a modem, and if the operating system and hardware are still capable of tak¬ ing input from the serial port, then someone at the other end of the telephone line should be able to take control of the computer and put it through a series of diagnostic tests. The availability of such remote diagnostics would be a great conve¬ nience for computer users, retail stores, mail-order businesses, and manufacturers. Remote diagnostics would be much less expensive than shipping costs and would reduce or eliminate the problems sometimes caused by the consumer's inability to describe a problem in a way meaning¬ ful to technicians. Instead of lugging the machine back to the store or packing it up for shipment, the con¬ sumer could just connect the com¬ puter to the telephone and watch the diagnostics at work. In many in¬ stances, the consumer could learn what was wrong and how much it might cost to fix before sending out the equipment. The service or¬ ganization would know what type of repair was coming and be prepared to fix it. In some cases the machine wouldn't have to be sent out at all: there could be a software fix or a board swap. Some companies already furnish diagnostic disks. These disks are valu¬ able, but because of a lack of infor¬ mation needed to interpret the results of the tests, they tend to leave the customer poorly informed. Remote diagnostics would permit the service organization to use additional tests to identify the problem more precisely and then to tell the customer more about the extent of the repairs and potential costs. Since repair bills can range from $75 to more than $1000, mystery breeds distrust. Consumers often express suspicion about repair costs of the automobile and other famil¬ iar machines. Similar feelings of distrust about repairs of computer equipment could become much more pervasive. Remote diagnostics could reduce mystery and improve con¬ sumer confidence in the computer in¬ dustry. We hope the use of remote diagnostics becomes standard in¬ dustry practice. —Phil Lemmons, Editor in Chief 6 BYT E • FEBRUARY 1985 maxell FLOPPY DISK Maxell Gold. The floppy disk that turns Apples golden, keeps AT&T on-line, and makes every Tfexas Instrument a gusher. Whether you’re exploring for profits, reaching out for projections, or polishing your argument, there’s a Maxell floppy disk perfect for your computer. Consider the unique way we pack and bind our oxide particles for quality over the long run. Or our lifetime warranty. Maxell. The Gold Standard in floppy disks. Precious metal for virtually every computer made. maxell IT’S WORTH IT Maxell Corporation of America, 60 Oxford Drive, Moonachie, N.J. 07074 Inquiry 201 FEBRUARY 1985 • BYTE 7 Wordstar Wordprocessing and SuperCalc3 Integrated Spreadsheet now included Free with all Seequa computers. SEEQUA SHOWS YOU HOWTO GET AN IBM PC FOR JUST 81595 . BUY A CHAMELEON BY8EE0UA The Chameleon by Seequa does everything an IBM PC does. For about $1000 less than an IBM. The Chameleon lets you run popular IBM soft¬ ware like Lotus® 1-2-3™ and dBase II.® It has a full 83 key keyboard just like an IBM. A disk drive like the IBM. And a bright 80 x 25 character screen just like an IBM. But it’s not just the Chameleons similarities to the IBM that should interest you. Its advantages should, too. The Chameleon also has The Chameleon by SEEQ UA an 8 bit micro¬ processor that lets you run any of the thousands of CP/M-80® programs available. It comes complete with two of the best programs around, Perfect Writer™ and Perfect Calc.™ It’s portable. And you can plug it in and start computing the moment you unwrap it. So if you’ve been inter¬ ested in an IBM personal com¬ puter, now you know where you can get one for $1595. Wherever they sell Chameleons. COMPUTER CORPORATION 8305 Telegraph Road Odenton, MD 21113 Chameleon shown with optional second disk drive. To learn more about Seequa or for the location of the Seequa dealer nearest you. call (800) 638-6066 or (301) 672-3600. IBM is a registered trademark of International Business Machines Corporation. 8 BYTE • FEBRUARY 1985 Inquiry 277 MICROBYTES Staff-written highlights of late developments in the microcomputer industry. CP/M for the Macintosh IQ Software, Fort Worth, TX, is selling a version of CP/M-68K for Apple's 128K-byte Macin¬ tosh for $395, including Digital Research's C Compiler and Macro Assembler. CP/M 2.2 emulation is available for $195 extra but runs only on a 512K-byte Macintosh. A 512K-byte Macintosh is also required to access the mouse and pull-down menus. CP/M-68K disks are not compatible with other Macintosh disks. Superex, Micromax Unveil Macintosh Business Software Superex Business Software, Yonkers, NY, announced 25 new products for the Macintosh, priced from $20 to $800. The least expensive item is also the only hardware product in¬ troduced: MacSpeak is a $19.95 external speaker. All products should be available this month. Also included are business programs for cost estimating, time billing, inventory, finance, business letters, sales, and wholesaling. A complete accounting package with Accounts Payable and Receivable and General Ledger modules is $750. A Home Executive program is $90. Four engineering packages—for civil, mechanical, chemical, or electrical engineers—are $100 each. A MacScience series includes Physics or Chemistry formulas for $100 each. Statistics and job-hunting programs were also announced. Micromax, San Diego, CA, introduced Gallery, a business-accounting software series. The Finance module, which includes General Ledger, Accounts Payable and Receivable, and Cash Disbursement, is $795; industry-specific vertical applications are also planned. Conetic Introduces Desktop Management Software Conetic Systems Inc., San Leandro, CA, introduced Higgins, a specialized relational database program for the IBM PC XT or PC AT that includes an appointment calendar, telephone/ad¬ dress file, expense report, and message features. Information entered into the program is linked to related files; for example, the telephone directory is checked when an appoint¬ ment is made. Information for up to seven people can be tracked on one computer. A local- area-network version that exchanges nonprivate schedule information is also available. The single-user version of Higgins is $395. Lantech Offers UNIX-like Operating System for $129 Lantech Systems Inc., Dallas, TX, announced uNETix 2.0, a multitasking operating system for the IBM PC that it says is compatible with AT&T's UNIX operating system but costs just $129. Using optional $100 window-management software, PC users can execute up to 10 ap¬ plications concurrently; one of those could be a PC-DOS application running under Lantech's $50 PC Emulator. While a hard disk is recommended, Lantech says the operating system can run on a two- disk system. A separate version of uNETix is available for use in local-area networks. Smalltalk for PCs Digitalk, Los Angeles, CA, introduced Methods, a Smalltalk-80 object-oriented development system for the IBM PC. The $250 system includes a compiler, debugger, and text editor; it uses a text-based windowing system with pop-up menus. Methods requires an IBM PC with 512K bytes of RAM and two 360K-byte disk drives. Software Systems, San Francisco, CA, is also developing a Smalltalk for the Apple II, with later versions planned for 8088- and 68000-based systems. ( continued ) FEBRUARY 1985 -BYTE 9 MICROBYTES Software Teledelivery Efforts Falter At last year’s Winter Consumer Electronics Show, several companies announced or dis¬ cussed plans for electronic delivery of software. Some, including Xante, Romox, and Cumma Technology, planned to download to erasable programmable read-only memory (EPROM) cartridges at dealer terminals. Others, including Control Video’s GameLine and the Nabu Network’s cable service, downloaded programs directly to computers or video games. Xante, Romox, and Cumma have all ceased operations, mainly because of poor dealer response and the general collapse of the cartridge video-game market. Nabu's cable-TV- based software-downloading service continues to operate in Ottawa, Ontario, despite finan¬ cial troubles. Control Video Corp., Vienna, VA, said poor distribution and the general video- game slump led it to cancel its GameLine service for the Atari 2600 VCS. Control Video is now testing a new service which allows subscribers to play 20 games available each month as often as they wish for a $14.95 monthly fee, which includes rental of a 2000-bps modem from BellSouth. MasterLine is now available for Apple II and Com¬ modore 64 owners in Atlanta, Los Angeles. Houston, and Washington, DC. Separately, NBC announced that it would cancel the NBC Teletext service in late January. NANOBYTES Intel introduced the 82588 single-chip local-area-network controller. The 82588 can be used in low-cost baseband or broadband networks— including such IEEE 802.3 protocols as IBM’s PC Network and the developing STARLAN— at speeds up to 2 megabits per second. Initial pricing will be $45 each in large quantities. . . . Laserstore, Princeton, NJ, plans to sell a 2.5-gigabyte write-once optical streaming-tape drive. The drives should be available in large quantities in mid-1986 for about $2500. . . . Multi Solutions announced a licensing agree¬ ment with Computer Engineering & Consulting of Tokyo, under which CEC will translate Multi Solutions’ SI operating system for Japanese computers. Currently, SI runs on several 68000-based computers and is being translated by MSI for the IBM PC AT. The agreement guarantees a minimum of $40 million in royalties, according to Multi Solutions. . . . WATCOM Products Inc. has released two products developed at the University of Waterloo in Canada. WATFILE is a $295 data-management system for the IBM PC; JANET/2 is network¬ ing software for IBM's PC Cluster system. . . . Alphacom announced a 133-character-per- second printer at $249 that it says is compatible with Epson’s RX-80. . . . Corvus and NEC have agreed to jointly develop a single-chip controller for Corvus's Omninet local-area net¬ work. Currently, an Omninet controller requires three chips developed by Corvus. . . . Ad¬ vanced Micro Devices now offers a 10-MHz version of the 80186 processor. . . . Phoenix Software, Norwood, MA. has developed an IBM PC XT-compatible ROM BIOS and is developing software compatible with IBM's PC AT. Phoenix’s earlier IBM PC-compatible ROM BIOS code has already been licensed by AT&T, Kaypro, Tandy/Radio Shack, Wyse Technology, and Zaisan. . . . Rumors that TEindy would begin selling ACT computers in its Radio Shack stores are apparently false. Instead, the two companies announced a joint ven¬ ture to operate a chain of computer stores in Europe, called TA ComputerWorld. The stores will sell both Tandy and ACT computer products. . . . AST Research announced RamStak, a memory-expansion board for the Apple Lisa computer. The board can add up to 2 megabytes of memory to the Lisa; with 512K bytes, it’s priced at $1395. . . . Mosaic Elec¬ tronics, Oregon City, OR. announced Access-M, an expansion card for the Commodore 64 adding up to 1 megabyte of memory. The standard $195 card includes 64K bytes of RAM and RAM-disk software; additional memory is plugged into the card. . . . PortaAPL, a $275 APL interpreter for the Macintosh, was introduced by Portable Software, Cambridge, MA. PortaAPL adds a full-screen editor and access to many Macintosh ROM toolbox routines to the standard APL language but requires a 512K-byte Macintosh. . . . C Line Inc., Chicago, IL, announced a dBASE II-to-cEnglish converter. The $795 program converts standard dBASE II source code into cEnglish, which is then translated by the $900 cEnglish program into C, which is in turn compiled into machine language by a C compiler. 10 B Y T E • FEBRUARY 1985 TheTI855is the only printer with letter quality, draft speed, graphics, plug'in font modules..* all for under $ 1000 . Finally, the printer for all PC needs. The TI855 printer. The printer for all major PC’s. See for yourself today. Call 1-800-527-3500 for the dealer Texas ^ Instruments Creating useful products and services for you. DPF012BY This printout was not generated by the Tl 855. 2764-08 FEBRUARY 1985 -BYTE 11 Slide Cat from kodak introduces: THE CAT-QUICK SLIDE-MAKERS THAT WILL ©EASTMAN KODAK COMPANY, 1984 Turn CRT Data Into A Slide, Cat-Quick. “Now you can make presentation- quality instant slides from CRT screens, one at a time. Slides that integrate beautifully into the rest of your show. It's like having your own instant slide department. And you don’t have to be an audio¬ visual professional to do it. “Kodak's new cat- quick slide-makers are a versatile group of INS1A GRAPHIC Copy Stand Use this well-designed unit to make slides ^ pictures, printed material, and artwork up to II" x 17". Or small, three dimensional objects. Right in your office. In ordinary room light. state-of-the-art products designed to convert computer-generated material into slides, fast! “With our new imager, you can make instant slides (or prints) from just about any data that appears on your CRT screen...pie charts, bar charts, organization charts, etc. And you can use just about any size terminal—9-, 12-, 13-, even 19-inch screens. Direct KODAK INSTAGRAPHIC CRT Slide Imager Contains KODAK INSTAGRAPHIC Camera Back, KODAK INSTAGRAPHIC Slide Module, and KODAK INSTAGRAPHIC CRT Cone. Just add the appropriate CRT adapter to make instant presentation quality slides that integrate beautifully into the rest of your show. There ’s even an optional module that lets you make prints. conversion from CRT to slide can save you time, and money! For slides from hard copy use our sleek copy stand. Both methods are easy and affordable. Your options are many. You in buy one product, or the entire Make a single slide or entire presentation. Prove point, or wow an audience, use our camera back, module, and film to photograph images electronically transferred with many manufacturers’ video image recorders! And get results that make a grin begin. Kodak Instagraphic' color film _ . , Print KODAK CRT Adapters Make an instant slide or print from your screen, any screen — 9-, 12-, I3-, even 19-inch—with your choice of adapter to fit between the imager and the CRT screen. KODAK INSTAGRAPHIC Slide Mounter and Mounts Last step. Mount your slide quickly and easily with this simple-to-use device. Eases film into the slide mount auto¬ matically so you never have to snap the mount together or touch the image area. Kodak Instaqraphic’ ID color film Side saraaaas. rrr-* 1 . r -. T To learn more these new siaie-oi-the-art products, call 1800 44KODAK, Ext 233 (1 800 445 6325, Ext 233), or use the coupon below. Or contact your local dealer in Kodak audiovisual products, listed in the Yellow Pages under ‘AV equipment and supplies.’ ” New cat-quick slide-makers from Kodak. THEY’RE GONNA MAKE YOU GRIN, Eastman Kodak Company, Dept 412 L Motion Picture and Audiovisual Markets Division Rochester, NY 14650 □ Please have a representative call me. A8071 □ Please send me your informative Slide Cat brochure. A8072 KODAK INSTAGRAPHIC Color Slide Film Shoot just one slide or an entire presentation. One- at a-time exposure means you waste no film, waste no money. If you need instant color prints of CRT displays,' use KODAK INSTAGRAPHIC Color Print Film and substitute the KODAK INSTAGRAPHIC Print Module. Inquiry 345 FEBRUARY 1985 • BYTE 13 LETTERS CP/M Plus for the Model 4 Editor's note: I n the following sequence of letters, reader William F. Crowell addresses Tandy Cor¬ poration Chairman John Roach. BYTE (having received a copy of Crowell's letter ) responds to Crowell, and David Krebbs of Tandy replies to Crowell. Dear Mr. Roach, I am a longtime computer customer of T^ndy Corporation. I presently own two Model Is, a Model 4. and a Model 4P. For over 18 months now, since it was first an¬ nounced. 1 have been waiting to receive a working version of Model 4 CP/M Plus. First, I had to wait 13 months after Tkndy announced the product before it was even released. (However, this didn't stop Tkndy from advertising the product as available during this entire period of time, presum¬ ably to sell more Model 4s to customers who want to run CP/M Plus.) I immediate¬ ly bought a copy. As you know, however, the original release was full of bugs. I volunteered to beta-test the new preliminary version 1.1. which I did. I im¬ mediately discovered that random access failed miserably. Then I observed from the source code. RANDOM.ASM. that virtual¬ ly nothing had been done to implement ran¬ dom access on the Model 4 hardware en¬ vironment. 'fandy calls this an operating system? How could the company even release it in the first place without random access? Also, the BIOS is supposed to emulate a DEC VT-52 terminal, but it doesn't. Many of the VT-52 control codes don't work. Fur¬ ther. the promised CBASIC has never been released, and there is no release date that I am aware of. How is it that T^ndy is able to release so much other TRS-DOS software, but it takes over 17 months now to merely write a correct BIOS for CP/M Plus? This rather obviously represents a violation of the antitrust laws. Why haven't the popular magazines reported this irresponsible and reprehen¬ sible conduct by Tkndy? Are they afraid of losing your advertising? You are hereby placed on notice that I will attempt to file a class-action suit against T^ndy Corporation for consumer fraud, breach of contract, antitrust, and possibly other causes of action unless working versions of CP/M Plus and CBASIC are available for purchase and the work¬ ing version of CP/M Plus is provided to purchasers of the original version within 30 days of this date. I am sorry to take such an unfriendly tone in this letter, but apparently threats of legal action are the only thing that T^ndy understands. William F. Crowell Attorney Oakland. CA BYTE replies: We called Mark Yamagata of Tandy re¬ garding CP/M Plus for the Model 4. Mr Yamagata quickly admitted that there were bugs in the product. He added that the new version was almost ready but that one more bug had to be worked out. He said the new version would be avail¬ able by the end of October. He also said that all registered users would be advised of the new version, which will be avail¬ able to them at no charge. We hope the new version solves the problems you ve encountered with CP/M Plus: if not. or if Tandy fails to ship the new version. please let us know so we can report on it. As to magazine policies on publishing letters to the editor ; we receive far more letters than we can publish. We try to choose those of greatest interest to the greatest number of readers. When we receive copies of complaints like yours, we generally call the company involved and try to obtain information about how the problem can be solved. If a solution appears imminent, we call the author of the letter and inform him or her. By the time we could publish the letter, the reason for the complaint will have dis¬ appeared. In this case, the solution appears to have been imminent’’ for a long time. We hope that CP/M Plus is now fully func¬ tional on the Model 4. Tandy replies: Dear Mr. Crowell. I regret your problems with Model 4 CP/M Plus, but I can do no more than to repeat some of the points that I men¬ tioned during our previous telephone conversations. You are correct in observ¬ ing that Model 4 CP/M Plus got onto the market later than we originally intended and that the initial release had bugs. This, as you know, is not at all unusual with software. Virtually all software packages do contain bugs when they are first released, and these bugs are subse¬ quently removed as later versions of the software packages come into the market. From your letter I infer that you do not regard the version of Model 4 CP/M Plus that we are now selling as a "working ver¬ sion.' ' / must respectfully disagree. It is the position of Tandy Corporation that our Model 4 CP/M Plus software package is quite adequate for the purposes for which it is intended, and retail sales to date, as well as user feedback, indicate that the public agrees with us. I am sorry if this particular software package is not suitable to you in some way or ways, but you will understand. I trust, that it is not possible for us to design our products so that they are perfectly acceptable in every respect to every single member of the buying public. Regarding your comments on the VT-52. please note that the first release of the Model 4 CP/M Plus manual did contain errors on the decimal values assigned to the VT-52 emulation codes. The correct codes have been sent to you by Mr. James Brown, of this office, and a Publication Change Notice has been submitted for future editions of the manual. You will find that the VT-52 con¬ trol codes will work correctly with the in¬ formation that Mr. Brown sent to you. ( continued ) LETTERS POLICY: To be considered for pub¬ lication. a letter must be typed double-spaced on one side of the paper and must include your name and address. Comments and ideas should be ex¬ pressed as clearly and concisely as possible. Listings and tables may be printed along with a letter if they are short and legible. Because BYTE receives hundreds of letters each month, not all of them can be published. Letters will not be returned to authors. Generally, it tabes four months from the time BYTE receives a let¬ ter until it is published. 14 BYTE • FEBRUARY 1985 Portable Backup! ‘IBM is a trademark of International Business Machines. Compaq is a trademark of Compaq Computer Corpora¬ tion. NCR is a trade¬ mark of NCR Corporation. Inquiry 202 Back Up All the Hard Drives in Your Office. The MaynStream offers fully portable hard drive backup employing the latest software technology. It is compatible with IBM, Compaq, and NCR personal computers* and comes with an industry-leading 1-year warranty. O ' Maynard Electronics 430 E. SEMORAN BLVD., CASSELBERRY, FL 32707 305 / 331-6402 TAPE BACKUP SYSTEM BY MAYNARD ELECTRONICS A New Tool For ■ /i 1—— r / III I i "— /_ Real Estate Prol Real Estate Investment has become a complex and sophisti¬ cated challenge. Today's investor is faced with an ever-increasing difficulty in forecasting expenses and value, and a bewildering array of financing options and tax laws. Now, R*E*A*P™ gives you a powerful analytical tool for making rapid and informed decisions on the income potential and liquida¬ tion value of a property Although written by financial professionals to the e)pctiijig~ specifications of the sophisticated investor, R*E*A*P” remains easy to use by anyone buying or selling property R*E*A*P , “ forecasts expense, loan, tax, and depreciation data, enabling you to build a comprehensive financial model of any real estate investment. Some Special Features: • Allows all data categories to be altered and recalculated I for true "what if" analysis. r t~~j — f-— L I I / T Saves data for future analysis or manipulation. I • Automatically adjusts for calendar year. [ r —f - 1 I I «* Forecasts expenses by 3 user selected methods. Printed Reports: • Adjusted tax basis • Capital gain at sale • Sales proceeds, after taxes • Income and expen: SPECIAL INTRODUCTORY PRICE $ 149 R*B*A*F“ is available for: IBM-PC/XT* and COMBMIBLES (including 80)86 micro¬ processor), APPLE III*. APPLE II* and lie*. Requires I28K of RAM and 2 disk drives. MANUAL ONLY: $15 PLUS SHIPPING Mass, residents add 5% sales tax. 10 DAY MONEY-BACK GUARANTEE VISA OR MASTERCARD TOLL-FREE ORDER LINE 1 • 800 ■ 637 ■ 0012 Call or write today! 124 St. Mary's S Boston, MA 02; (617) 267-3592 ANALYSIS SOFTWARE rr** .. Tr^- L 7—- j f—— pi m q 1 L letters we CP/ » flte that the catff y ° u as w eU. bv th UibZ St ° resata retoi ' SnOWavail able uccupJZ'^'"^ , SS‘ Ski0n « that we shall a £ business and / a ^ Pirate Confesses Dav,d Krebbs Cuc^ ~'' m Puter Corner Services Radio Shack r EBI c,l f ^ k Com P»t< r~~l - i - l-i! I / sDen? derstand that the ■Trademarks of Microsoft and Apple Computer p / rron ^ - pi 5 detTi, Z&ZZZZZ StsSsri ien'fT Shonof >Zi"S 0, ”f>»are io?ou“i y 01 p "®»e ’ l»» one reason i r ^f, package or two ' on one is con- FEBRUARY 1 985 ages; T ^e'sar PUter us t s,ze demonstration disk k d ° rs k do in fact offer Inquiry 55 ( continued ) What every Apple owner should know about WORD juggler: There's nothing to memorize, either. Because Word Juggler comes with replacement keycaps—and a special keyboard template—which identify principal editing and formatting commands. So you can focus your efforts on using the program, not learning it. Quark 2525 West Evans, Suite 220 Denver CO 80219 Inquiry 264 Quark and Word Juggler are trademarks of Quark Incorporated. Apple is a registered trademark of Apple Computer, Inc. Ask about our specially-priced educational version. Fact is, no other word processor for your Apple lie or lie gives you this unique combination of power, functionality and ease of use. And if all these advantages aren’t compelling enough, check the price. Suggested retail is only $189. So visit your favorite dealer today. Ask for a complete demonstration—and for a copy of our brochure, “What Every Apple Owner Should Know About Word Juggler." If you don't have a favorite dealer, but would like one, just call 1 (800) 543-7711. We’ll fix you up. If you own an Apple lie or 11c—or you’re planning to buy one—here are a few things you should know about Quark’s Word Juggler word processor. First of all, Word Juggler is the only word processor that gives you a powerful spelling checker and a built-in telecom¬ munications feature. So you can create a document—check it for spelling errors—and then send it via electronic mail. All with just one program. Plus, Word Juggler is the most easy-to-use, professional word processor you can buy for your Apple. Virtually every function—even complicated “cut-and-paste" tasks—can be accomplished with a single keystroke. Copyright 1985. Quark Incorporated Photography by Barbara Kasten LETTERS FINALLY! MAIL ORDER SERVICE YOU CAN DEPEND ON! BUSINESS SOFTWARE PROFESSIONAL SUPPORT PLUS RELIABLE PERSONALIZED SERVICE AND WE LL STILL BEAT MOST PRICES IN THIS MAGAZINE! WORDSTAR SYMPHONY SIDEKICK MULTIMATE TURBO LOTUS PR0PAK (C.P.) PASCAL 1-2-3 (C.P.) $243 $409 $39 $253 $39 $295 AIO Typequick 85 85 ALPHA SOFTWARE Data Base Manager 295 179 AN0ERS0N-BELL Abstat 395 267 ASHTONTATE D Base II 265 D Base III 363 Framework 363 Friday 169 ATI Training Word Star 75 45 Training dBase II 75 45 BORLAND INTERNATIONAL Toolbox 49 40 CDEX Advanced Lotus 1-2-3 70 45 CHANG LABS Rags to Riches Ledger 99 79 CONDOR Condor 3 650 249 CONTINENTAL SOFTWARE Home Accountant Plus 150 99 DIGITAL MARKETING Writers Pak 295 199 Footnote 99 84 Datebook II 295 179 Notebook 150 98 Proofreader 50 38 Grammatik 75 65 ENERTR0NICS Energraphics W/Plot Opt 450 297 FOX & GELLER DGraph or Quickcode 295 159 dUtil 99 58 FOX RESEARCH 10 Base 495 399 FUNK Sideways 60 45 HARVARD SOFTWARE Harvard Project Mgr HERITAGE 395 240 Smart Key IUS 90 65 Easy System II 395 184 General Ledger 595 319 Accounts Payable LEXIS0FT 595 319 Spellbinder LIFETREE 495 239 Volkswriter Deluxe LIVING VIDEO TEXT INC. 295 158 Think Tank (IBM) 195 149 Think Tank (Mac) MOBS 150 109 Knowledgeman MECA 500 299 Managing Your Money MICROPRO 199 135 WordStar 350 195 SpellStar 99 79 CorrectStar 145 99 MailMerge 99 79 InfoStar 495 248 WordStar 2000 CALL WordStar 2000 Plus MICRORIM CALL R Base 4000 495 299 Extended Report Writer MICROSOFT 150 119 Multiplan 250 139 Word/Mouse 475 319 Chart (Mac) 125 99 Cash Plan (IBM) MICROSTUFF 150 50 Crosstalk 195 98 MONOGRAM Dollars and Sense (IBM) 179 149 Dollars and Sense (Mac) OASIS 149 119 Word Plus 150 105 Punctuation and Style PACIFIC DATA SYSTEMS 150 95 Money Track PEACHTREE 295 219 Peachtext 5000 425 185 CalendarManagement 195 165 Decision Manager 625 495 Business Graphics System 295 219 Peachpak 4 PETER NORTON 395 199 Norton Utilities PRENTICE-HALL 100 65 Execuvision 395 299 SELECT INFORMATION SYSTEMS Select Word Processor S0RCIM 295 199 SuperCalc 2 295 154 SuperCalc 3 395 199 SOFTWARE PRODUCTS INT’L Open Access TYL0G 695 349 dBase Window WARNER SOFTWARE INC. 249 155 The Desk Organizer WOOLF SYSTEMS 195 129 Move It 150 85 Free UPS shipping on orders over $1,000.00 CALL FOR PRODUCTS YOU DON’T SEE HERE! CALL FOR OUR FREE CATALOG TO ORDER CALL TOLL-FREE: TERMS: • Call for shipping charges and support policies • Full guarantee against manufacturers defects • Allow 3 weeks for checks to clear • Prices may change • Call for availability • No cash refunds! Due to our low prices, all sales final. _ (800) 235-3020 (USA) (800) 235-3021 (CA) (415) 382-9085 BUSINESS SOFTWARE 448 IGNACIO BLVD., STE. 332 NOVATO, CA 94947_ • SAME DAY SHIPMENT ON MOST ORDERS • Prompt UPS service • Authorized purchase orders accepted • Dealer, institutional and quantity discounts available • No surcharge for credit card purchases • VISA & Mastercard accepted • COD determine if they will satisfy your needs. I try to study a product as much as I can from reviews in the trade publications. I then select one or two similar packages and attempt to find people who are using them. 1 obtain a copy (or the original) and the product's documentation, and I try the package out for a month or so. If I like the product, I then purchase a "legitimate" version of it, or else I erase my copy or return it to the lender. In this respect I am probably more ethical than most in that I will buy a legitimate copy of any software that I intend to use on my machine for any length of time after I have already ob¬ tained a pirated version of it. I seek only to protect my investment, and I will discontinue this practice when I can obtain a full-function demonstration disk of a package that I intend to purchase. I somehow expect that quite a number of software vendors would be opposed to a 30-day trial arrangement because their products wouldn't stand up to head-to- head competition. Name and address withheld No Support from Apple I would like to confirm the lack of available Apple documentation noted in Dennis Doms's letter ("A Call for Better Apple Sup¬ port." September 1984, page 14). After purchasing an Apple lie in May to complement my lie while I was traveling, I was immediately confronted with a lack of technical details needed to connect my "non-Apple" peripherals to the lie. What are the pin connections on the serial ports? What are the memory locations that control baud rate, characters per line. ACIA status, etc? Since I travel extensively I thought I could pick up the Apple II c Reference Manual in one of the many authorized Apple dealers I visit when out of town. After visiting over 30 stores in New York. New Jersey, southern California, and Oregon, I have been unable to find the reference manual. I hope that letters like Dennis's and mine will stir Apple into getting the publications into the hands of the thousands of Apple users who want to know all there is to know about one of the most revolutionary products of our times. George W. Ziegler, Jr. Mahwah. NJ I read with interest Dennis Doms's letter describing his problems obtaining Apple documentation. ( continued ) 18 BYTE • FEBRUARY 1985 Inquiry 110 And you thought there was only one "Graphics Card'/ AST introduces Preview! for $100 Less Now you have a choice for bit¬ mapped graphics. Priced at $399— $100 less than what you'd expect —AST's Preview! brings high resolu¬ tion bit-mapped graphics and clear, crisp text to your IBM® PC, XT or AT monochrome screen. And there's no standard like AST quality. Preview! provides all the features and functions you'd expect, like bit-map addressing the maximum supported 720 horizontal pixels by 348 vertical lines for two pages of full-screen high resolution graphics, an IBM PC-compatible parallel printer port and Hercules™ bit-mapped graphics card compatibility. It works with all kinds of soft¬ ware too, no other card offers more. New generation integrated business programs, bit-mapped text process¬ ing and advanced windowing appli¬ cations are specialties. Then there's the nonstandard fea¬ tures AST is famous for—consistent quality, reliability, comprehen¬ sive documentation, service, support and extra value. We include our SYMPHONY WORD FRAMEWORK \ i x m \ % \ \ m WaVxW \ V- \*>\ Xt. S ;,V \ \ ' ’ '“V* ; v \ MetaWINDOW 1 . ♦, v c, •> ■:* -J SuperPak™ RAM disk simu lator and printer spooler utility diskette. Judged by PC WORLD readers as a World Class Winner for the past two years, it's worth $45 by itself. The leadership strength that makes our consistent quality so affordable is carried throughout our complete line of PC enhance¬ ment products. We offer a family of graphics products which provide a variety of features from serial ports to expansion memory, as well as multifunction boards, micro-to- mainframe communications, local area networks and disk subsystems. So you can settle for the com¬ mon, ordinary graphics card and hope for the best. Or you can pay $100 less and know you have the best—Preview! only from AST. For more information and dealer loca¬ tions call our Customer Information Center (714) 863-1333, Ext. 5249. Or write, AST Research, Inc., 2121 Alton Avenue, Irvine, CA 92714 TWX: 753699AST UR. FEATURES • 64K Screen Memory • 7 Ivo Pages of High Resolution 720 Hori¬ zontal PELS by 348 Vertical Line Bit- Mapped Monochrome Graphics • 80 Character By 25 Line IBM PC- Compatible 7 ixt Display • Standard IBM Charac¬ ter Set • Compatible With Popular Bit-Mapped Graphics, Text and Windowing Applica¬ tions Software • Parallel Printer Port » SuperPak Utility Diskette • Hercules Compatible Preview! and SuperPak trademarks of AST Research. Inc. IBM trademark of International Business Ma¬ chines Corp. Hercules Graphics Card trademark of Hercules Computer "technology. Lotus 1-2-3 and Symphony trademarks of Lotus Development Corp. Framework trademark of AshtonTate. Word trade mark of Microsoft. Inc. MetaWINDOW trademark of Metagraphis Inquiry 5 for Dealers. Inquiry 6 for End-Users. RCSCRRCH INC. Available for the IBM PC, AT, XT, jr.,* and true compatibles CLEAR THE DESK, SIDEKICK’S HERE! The Super ALWAYS JUST A KEYSTROKE AWAY ... No matter what software you’re running! WHETHER YOU’RE RUNNING LOTUS, WORDSTAR, dRASE OR WHATEVER ... JUST A KEYSTROKE AND A SIDEKICK WINDOW OPENS •A CALCULATOR * AN APPOINTMENT CALENDAR 11:39:23 9/14/1984 Cost of Materials $28.69 Rent $5.88 Advertising $45.08 Salaries $35.08 :8 help #-save sfehnew file '^i-iwport data iftPexpand iFTcontract $5 495 opy-protected $8495 noncopv-protected 30 DAY MONEY BACK GUARANTEE Here’s Sidekick in action. That’s Lotus 1-2-3 running under¬ neath. In the Sidekick Notepad you can see data that’s been imported from the Lotus screen. On the upper right, that’s the Sidekick Calculator. NOW . . . Whether you’re working in dBase, Lotus, Wordstar or whatever ... you can unleash the full power of your computer ... and make a lot of extra space on your desk at the same time. Whenever you’re using your computer. . . from start to finish of your session . . . Sidekick™ will be there . . . ready to serve. And it’s as lightning-fast and compact as only Borland knows how to make it. There’s a notepad that has a full-screen editor that can time and date stamp your notes, and then save them to disk. You can even pull information into the notepad directly from the screen of your “underlying” software. Suppose you’re working in Lotus and the phone suddenly rings. Give your Sidekick a call and it pops right up over Lotus with the notepad you need. Or an appointment calendar... one you can never misplace. What if you need to do a quick calculation? A keystroke instantly brings up the calculator. And the results of your calculations can even be transferred to your “underlying” software. Need to make a phone call? Up pops your personal phone directory. Type in the name you want... and Sidekick jumps right to the phone number. Another keystroke, and the phone is automatically dialed for you. f There’s lots more, too. You can move the Sidekick windows anywhere on the screen you like. And you can have as many on screen at a time as you need. There’s even an on-line help window for each of Sidekick’s features. We designed it because we needed it If you’ve ever been writing a report and needed to do a quick calculation, or jot down a note, then you need Sidekick, too. fOnly with Hayes Smartmodem and compatibles GOT YOUR SIDEKICK YET? SIDEKICK IS AVAILABLE AT YOUR NEAREST SOFTWARE DEALER, OR DIRECT FROM BORLAND. For VISA and MasterCard orders, call 1(800) 255-8008: in California call (800) 742-1133. Lines are open 24 hours a dav. ' davs a week. Inquiry 33 _ S54.95 SideKick copy-protected _ S84.95 SideKick noncopy-protected (Prices include S5 shipping and handling per order.) Check □ Money Order □ VISA □ MasterCard □ Card * __ Expiration Date _ Please be sure your system is an IBiM PC, AT, XT jr. or a true PC- compatible. PCjr, users must order noncopy-protected version. NAME _ ADDRESS _ CITY/STATE/ZIP _ TELEPHONE_ California residents add 6% sales tax. Outside USA add S10; payment must be by bank draft payable in the US and in US dollars. COD and purchase orders will not be accepted. m BORIPHD •)) INTERNATIONAL Borland International 4113 Scotts Valley Drive Scotts Valley, California 95066 TELEX: 172373 818 LETTERS After several years of CP/M experience. I purchased an Apple lie in May. I have written and phoned Apple in Cupertino, the Apple distributor in Charlotte, and two Apple dealers. The response I have got¬ ten is difficult to accept. Based on the in¬ formation I have to date, the Apple lie Technical Manual. ProDOS Technical Manual. Pro DOS Users Kit. and Applesoft Technical Manual volumes 1 and 2 are unavailable and there is no official date for delivery My choice of the lie was based on the promise of true portability by the end of 1984. The present availability of carrying cases and portable power supplies coupled with the continued assurance, by Apple, of the flat-screen display in 1984 will provide the hardware I expected when I chose the lie. The total lack of technical information for the lie and the operating system will make software development almost impossible. Don Overton Atlanta. GA I found the letter by Dennis Dorns con¬ cerning the lack of technical support by Apple for its new ProDOS System very true. I am one of those newcomers to computers. It is indeed a nightmare try¬ ing to make sense out of Apple ProDOS from the scant instructions supplied with the Apple lie. For months I have been trying to buy several of Apple's manuals on ProDOS. especially BASIC Programming with ProDOS. The authorized Apple dealer has no idea when his shipment will come in. In my opinion any machine, no matter how excellent it may be, is no better than the instructions that teach the operator how to use it. It seems a pity that a com¬ pany that can spit out machines at such a terrific rate cannot supply the bare tools the operator needs to operate that machine. Imagine that same company's concern if. when its new production line was ready to roll, it found it had few in¬ structions on how to operate it. David D. Perry Ridgecrest. CA Take Back Your Mac I am outraged. Apple's original descrip¬ tions of the Macintosh, as quoted in the press, made it clear that the Macintosh was a 512K system that was being released in a temporary 128K version due to failures on the part of Apple's suppliers. Now we are told (in defiance of the ex¬ perience of any user of the machine) that the 128K Macintosh is a useful computer and will continue to be sold at the original price, while a 512K version will cost $1000 more. What's more, any purchaser of the earlier 128K machine who desires to up¬ grade to 512K must pay the $1000 dif¬ ference in price. This policy is as blatantly unscrupulous a case of bait-and-switch as was ever practiced. As a professional programmer. I was in¬ trigued and excited by the concept of the Macintosh and eagerly awaited the release of the real. 512K. machine. As a consumer. I am disgusted by Apple's business prac¬ tices and have no intention of throwing good money after bad. I am especially frustrated by this decision of Apple's, since I am sure that it will strangle the Macin¬ tosh in its cradle, and so my already sub¬ stantial investment in the machine will have been for nothing. Kirk Rader Los Angeles, CA I openly plead for a programmer or pro¬ gramming team somewhere to develop RAM-disk software to use the 512K RAM on the "fat Mac'' as a RAM disk as well as for memory. A logical configuration to emulate the 128K Mac would be 128K memory with a 384K RAM disk. Later, variable options of more memory and less RAM would be nice, but they are not essential initially. Good programs like Microsoft Word can use disk I/O to make files larger than memory and would not be limited by the main-memory constraint, but rather only by the RAM-disk memory constraint. Such a RAM disk must permit copying data to and from it. programs to and from it, and opening it. So designed, the system and major programs that use disk overlays could be loaded into RAM. with conse¬ quent lightning-speed operation. I believe such software is essential for the Mac to appeal to business. It would also make software development itself easier and faster. I've checked, and apparently Apple's own programming philosophy is opposed to this concept. If someone does do this. I hope he or she sells it for a reasonable price ($50 or less) or else releases it ac¬ cessibly into the public domain. Without such a development, my company will probably never buy a Mac and will prob¬ ably never develop software for it. Don Slaughter MicroCost Software Seattle. WA Perhaps two of the most often used words throughout articles dealing with the Macintosh are 'potential'' and "wait.'' The Macintosh was introduced over nine months ago. and still there is a lack of varied and practical software available for the computer. On the day of its introduc¬ tion Apple announced that "hundreds' of software companies had already had the Macintosh for up to two years. Software for the machine would be available in a torrential flood in a matter of weeks. Nine months later a real word processor (i.e., capable of handling more than eight or nine pages) is still not available, nor can I find a spelling checker, a true database manager, or a high-level language. If soft¬ ware companies have had over two years to work on their products and still have not fully developed what could be con¬ sidered "standard'' software products, just how long is the Macintosh software-devel¬ opment cycle? Is Apple truly supporting its software developers? Added to the problem of third-party software is the lack of support software from Apple itself. Nine months after the computer was introduced, an assembler has not even been made available, nor is a communication program like Maderm available yet. Neither of these programs is particularly tricky to write, and. in fact. Apple must have had a 68000 assembler in house for quite a while (rehosting an assembler from the Lisa to the Macintosh takes over nine months?). Many trade magazines and journals ap¬ parently wonder about these same prob¬ lems. Often an attempt is made to ra¬ tionalize Apple’s tardiness and lack of sup¬ port. The most common story is: "The Macintosh is a radically new computer re¬ quiring programmers to adapt to a com¬ pletely different kind of style, and besides. 128K of memory makes for a tight squeeze on programs. When the 512K Macintosh is available, all kinds of fancy programs will appear and life will be wonderful again." Well, the 512K Macintosh was recently announced. Now I can easily find several stores advertising the 128K Macintosh for $1600 and the 512K Macintosh for $2400. Yet Apple wants the people who have already paid $2 500 to fork over another $995 for the 512K upgrade. The entire computer obviously costs far less than $1000 to make, since that is the price the university consortium schools pay. and you can be certain that Apple is not so dedicated to education that it would pass up this additional source of profit. If 128K is such a burden on software de¬ velopers. why wasn't the computer re¬ leased after the expanded memory was 22 B Y T E • FEBRUARY 1985 LETTERS available? This would have given devel¬ opers more time to work on their software as well. If Apple felt it just had to be in the market with a machine like the 128K Macintosh, why was it priced so high? At least Apple could have promised all the early purchasers a fair price (or even no cost) on the upgrade. I truly feel that Apple has treated its customers unfairly and with a certain amount of contempt. Prior to owning any Apple product I had a great deal of trust and respect for the company. In fact, it was that trust and respect that convinced me to buy a Macintosh even though I was aware of its limitations. I felt certain that Apple would take care of its customers. However, since buying a Macintosh, that trust and respect has gone. Even though I could recommend no alternative. I would not advise anybody to buy a Macintosh. Instead. I would recommend waiting un¬ til Apple straightens up or until another company recognizes the void and fills it. R.S. Luebkeman Rancho Cucamonga, CA Choosing a Campus Computer We have recently undertaken a project to introduce the use of microcomputers in the junior/senior Physical Chemistry course at the University of Florida. Al¬ though the students are reasonably mature and mathematically sophisticated, they have shown a surprising reluctance to "get their feet wet" via hands-on work with the microcomputers available for the course (six Sanyo MBC 555 units, chosen for their low price, reasonably good graphics, and ability to use the 8087 math coprocessor). There are several problems in introduc¬ ing a microcomputer course as described above at a large state institution such as the University of Florida (35,000 students), where no requirement exists that students purchase a microcomputer (not to men¬ tion a specific brand of microcomputer). Even if money were available to fund pur¬ chase of sufficient machines to handle ap¬ proximately 4000 technical students per year, along with space to house them, there remains the possible objection that the entire enterprise would be at least "type-specific." Thus we might select MS- DOS, Microsoft BASIC, and WordStar, which would slant the situation toward IBM PCs and/or compatibles. This might lead to a loud chorus of objections from Macintosh supporters, for example. ( continued ) BAY TECH'S MULTIPORT-FOLIO YOUR BEST SOURCE FOR HIGH QUALITY, HIGH PERFORMANCE, DATA COMMUNICATIONS PRODUCTS Adds terminals to your computer, For example: 12 terminals can contend for 6 ports on a first come, first serve basis. Star network capable of any port-to-port connection with up to 18 ports communicating simultaneously. Enables up to 8 computers to automatically share a single printer. Multiport models with 5 to 18 ports, $279 to $1,750. Allows up to 8 computers to use the same data communication line simultaneously. BAY TECHNICAL ASSOCIATES P. O. BOX 387 BAY ST. LOUIS, MS 39520 Expands your single RS232C serial port to 4 or 8 ports. Even more ports by cascading. CALL US TOLL-FREE 1-800-523-2702 Telex: 910-333-1618 (BAYTECH) EasyLink: 6277-1271 PORT CONTENTION PORT NETWORKING PRINTER SHARING PORT MULTIPLEXING PORT SWITCHING Inquiry 29 FEBRUARY 1985 • BYTE 23 LETTERS While some may disagree, 1 feel that the situation is more acceptable if reasonable alternate-brand selections do exist, such as the IBM PC. Seequa Chameleon, Eagle. Zenith 150. Tava. T^ndy 2000. etc. How¬ ever. selection of a unique machine such as the Macintosh is virtually an endorse¬ ment of a specific brand rather than type, to the exclusion of all others. I would be interested in hearing from others concerning this dilemma. Please write to me at the Chemistry Department. University of Florida. Gainesville. FL 32611. Robert J Hanrahan Gainesville. FL Icons Are Arcane Circa 5000 years ago. writing was invented in ancient Mesopotamia. This earliest known script, cuneiform, was derived from pictographic symbols that became stylized and standardized in form. Eventually it became mixed with phonetic elements un¬ til it was almost entirely phonetic. Our alphabet is most probably ultimately derived from ancient Egyptian—also originally a pictographic system. The point is this. Over thousands of years a phonetic and finally alphabetic system was devel¬ oped. To anyone who has gone through the painful process of learning cuneiform or Egyptian, the superiority of the alphabet is readily apparent. A picto¬ graphic system (Apple's "icons") requires that the user learn many, many symbols. My contention is that though users may find icons more "user friendly." ultimate¬ ly. as systems and software become more complex, the icon system will become more unwieldy and arcane than present systems. As a humanist who uses computers ex¬ tensively in my work. I would like to see user interfaces developed for micros that are faster, more streamlined ("elegant"), and smarter ( knowledge-based ) to aid in the learning process. It doesn't take the uninitiated user long to grow impatient with the Mac. Ann Marchant Berkeley. CA Bravo, Borland! This is the kind of letter I would like to be able to write more often. It's about the people at Borland International, who distribute Tlirbo Pascal and, if we are lucky, a lot of other programs. I've already spoken to Borland's pro¬ grammers about a problem, and with a completely satisfactory result. The latest event was my ordering of the Commodore 64 CP/M version of Tlirbo Pascal. When it arrived, it was an MS-DOS disk, which I couldn't use. I scribbled a note on the in¬ voice and mailed the whole package back the same day, the same way it arrived, at a cost of about a dollar in postage. Today the United Parcel Service truck pulled up and delivered the correct replacement package—Second Day Air. It cost Borland $4. That is class. William T. Powers Northbrook. IL Sage Defended I wish to respond to Dr. Richard Peskin s appraisal of Sage computers ( A Second Opinion on the Sage." September 1984, ( continued ) Graphics Takes A Quantum Leap Forward! W?rl THE INOVION PERSONAL GRAPHICS SYSTEM FEATURES: • The most advanced color mapping capabilities available. • 250,000 simultaneously displayable colors. • A palette of 2.1 million colors. • Frame Grabber/Digitizer to capture TV, VCR or Video Camera pictures. • Quality three-dimensional texture capabilities. • Built-in Icon/Menu software. • Completely Mouse/Trackball driven. • Fonts, Brushes, Microscope, Pat¬ terns, and Rotations. ► A complete stand alone system. * A 19” enhanced color monitor. * 780K Graphics Memory. * 512 x 480 pixel display with 24 bits per pixel. ► RS232C port allows access to all system functions and memory. » NTSC composite video and NTSC RGB signal. 1 1-year warranty on graphics genera¬ tor and 90-day warranty on enhanced monitor. ► Special introductory 30-day satis¬ faction guarantee. * Complete system for $4,495 r ■ill'll iBH-gCEESaBI ML <11 24 BYTE* FEBRUARY 1985 Inquiry 147 Introducing the Hercules" Graphics Card for the technical user. OK. We confess. The Hercules Graphics Card in the picture above isn’t a special version for the tech¬ nical user. In fact, it’s exactly the same as the standard Hercules Graphics Card running programs like 1-2-3™ and Symphony™ in more than 100,000 IBM® PCs. We just wanted to make the point that the Hercules Graphics Card is not only big with business users—it’s also the most popular high resolution graphics card for the technical user. Why? We run more software than anyone else. The Hercules Graphics Card is supported by more technical software than any other hi-res graphics card. There are word proc¬ essors that can produce publication quality documents with mathematical formulas. There are programs that enable your PC to emulate a graphics terminal and run mainframe graphics software. There are toolkits of graphics utilities that can be linked to popular program¬ ming languages. There are CAD pro¬ grams that can provide features normally associated with $50,000 systems. And we supply free software with each card to do hi-res graphics with the PC’s BASIC. No one else does. Hardware that set the high performance standard. When we introduced the Hercules Graphics Card in August, 1982, it set the standard for high resolution graphics on the PC. But we didn’t stop there. In the past two years, we’ve continually refined the original design. Tbday’s Graphics Card gives you two graphics pages, each with a resolu¬ tion of 720h x 348v, and a parallel printer port- standard. A 2K static RAM buffer elegantly eliminates scrolling flicker. And our exclusive safety switch helps prevent damage to your monitor. Convinced? Good. Now, how about a little color? Should you want IBM compatible color graphics for your sys¬ tem, then the new Hercules Color Card is the smart way to go. It gives you a parallel printer port and a size small enough to fit in one of the XT’s or Portable's short slots. And both Hercules cards are compatible with the new AT™ and backed by our two year warranty. Call 800 255-5550 Ext. 408 for the name of the Hercules dealer nearest you and we’ll rush you a free info kit. See why the company that made the first graphics card for the IBM PC still makes the best. Hercules. We’re strong on graphics. Address: Hercules, 2550 Ninth St., Berkeley, CA 94710 Ph: 415 540-6000 Tblex: 754063 Trademarks/Owners: Hercules/Hercules Computer Technology, 1-2-3, Symphony/Lotus Development; IBM, AT/International Business Machines Inquiry 135 FEBRUARY 1985 -BYTE 25 LETTERS page 18) as lacking "many architectural features needed for multiuser, multitask¬ ing applications. This is a gross distortion of the facts, since, from the beginning. Sage has supplied an excellent multiuser BIOS capable of supporting not only multiple users but multiple operating sys¬ tems running simultaneously. I know of no other supermicro that can make this claim. Even single-user operating systems such as Softech's UCSD p-System appear to be multiuser on the Sage as multiple copies are run in memory partitions isolated by the Sage MU BIOS. The BIOS allows easy configuration of each user's time slice and priority, flexible mapping of RAM disks (yes, more than one!), memory and disk partitions, and serial ports and peripheral devices. Different operating systems may be allowed access to shared disk space. At last count, at least 11 operating sys¬ tems are supported, including CP/M 68K. Volition's Modula-2 system. HyperFORTH. and Whitesmiths's UNIX-like multiuser Idris. The Idris implementation currently available was ported to the Sage by Rakon. an Australian company. Rakon's version re¬ portedly runs 2.5 to 5 times faster on the same hardware as Logos Information Sys¬ tems’ (Dr. Peskin's firm). In this light. Dr. Peskin's opinion about Sage can hardly be characterized as ’objective technical assessment.” The new products announced in September by Sage (now Stride Micro) will have a hardware memory-management option to support UNIX System V with Berkeley enhancements. They also run faster (10 MHz standard. 12 MHz optional), support hardware floating point, utilize the industry standard VME bus, come stan¬ dard with Omninet networking hardware, and are even lower in cost. Ja i Gopal Singh Khalsa Millis. MA Improving the IBM Keyboard Where I work we have IBM PCs and X'ft in abundance. People are always griping about the poorly designed keyboard, i.e.. the long reach to the Return key and the dual-function 10-key pad/cursor controls that perform only one of their roles at a time. The complaints peaked around budget time, when data entry to spread¬ sheets became a paramount hassle. We found a partial remedy, however. Instead of switching between the 10-key pad and the cursor controls by using the Num Lock key. we found it easier to divide the labor between our two hands by locking in the 10-key pad for data entry and then, to move to another cell, holding the left shift key down with our left hands and moving the cursor with the 10-key pad that then functions as a cursor control. Granted, this is not a perfect solution, but the roar did quiet. Now we'd like to know how to solve the problem of the reach to the Return key. W. TfcAvis Good Summit. NJ Software Swapping In response to Dear Thieves” (August 1984, page 18). William Wright has ex¬ pressed the opinion that it is entirely ( continued ) MicroSim's Probe is an interactive, comprehensive graphics post processor progam option that gives outstanding visual enhancement to your PSpice work. PSpice The circuit simulator that brings mainframe advantages to your micro. Now the industry-standard Spice, minus Spice’s original “bugs” has been brought to the IBM-PC. With PSpice, the electrical engineer can try out a circuit right at his or her desk without having to build it. Design and check in 20 minutes what normally takes four to eight hours and the wiring of two dozen transitors on a breadboard. Take chances. Explore. Re-work. Without the worry that someone’s waiting for the mainframe. • AC, DC and Transient Analysis • Up to 120 transistors per circuit • One-fifth the speed of VAX-11/780 • Affordably priced at $950 (Quantity price breaks) MicroSim Corporation 14101 Yorba Street • Tustin, CA 92680 • (714) 731-8091 VAX is a trademark of Digital Equipment Corporation IBM-PC is a trademark of International Business Machine Corporation 26 BYTE* FEBRUARY 1985 Inquiry 217 for Dealers. Inquiry 218 for End-Users. Apple Owners: Increase your Display up to 455% and Get The Big Picture! | 40-Columns • 80-Columns You know the importance of “Bottom Line” and cash-flow management in your daily operations. Original 40-column spreadsheets were adequate, 80-column spreadsheets were better, but even with 80-columns you still waste valuable time scrolling your spreadsheet searching for data. The Videx UltraTerm will provide you the tool you need to reduce wasteful searching, and free up your time to make important business decisions. Just look at the actual display photo above. The dark green portion of the spreadsheet represents the amount of information you get with a standard Apple display. The medium green area shows you what you get with ordinary 80-column displays. Nice. But not enough. With UltraTerm, your business “Big Picture” is exploded up to a full 128-columns by 32-lines (as shown by entire photo above), or 455% more data than you’ve previously had to work with. In addition to the obvious benefits of using the UltraTerm with your spreadsheet, you can gain depth,breadth,and power when using the new generation of word processors that exploit the UltraTerm’s vast array of display capabilities. Word processors that currently use UltraTerm’s expanded display formats include WORD¬ STAR, Word Juggler //e, Letter Perfect, Executive Secretary, Apple Writer II (with Videx Preboot), and Write Away. So, contact your local computer dealer today! If they are out of stock you can call Videx directly. Get THE BIG PIC¬ TURE today! Suggested Retail Price—$379.00 UltraTerm is a trademark of Videx. Inc. Apple is a trademark of Apple Computer, Inc. Visicalc is a trademark of VisiCorp. Inc. idex 1. Except colors which were added for illustrative purposes only. 1105 NE Circle Blvd., Corvallis, OR 97330 2. Assuming VisiCalc and Apple 40 x24 display. Inquiry 324 503-758-0521 NEW from BORLAND! % ■iffy 0 ~ t TURBO TOOLBOX & TURBO TUTOR 4 jr * . *• * ’ TURBO is much better than the Pascal IBM sells/' Jerry Pournelle, Byte. July 1984 “TURBO PASCAL appears to violate the laws of thermodynamics. You won’t find a comparable price/ performance package anywhere. It is simply put. the best software deal to come along in a long time. If you have the slightest interest in Pascal. . .buy it/’ Bruce Webster. Softalk IBM: March 1984 BORLAND INTERNATIONAL GIFT PACK ONLY, A SAVINGS OF $30! 2 What a gift for you and your friends! The extraordinary TURBO PASCAL compiler, together with the exciting new TURBO TOOLBOX and new TURBO TUTOR. All 3 manuals with disks for $99.95. TURBO PASCAL Version 2.0 (reg. $49.95). The now classic program development environment still includes the FREE MICROCALC SPREAD SHEET. Commented source code on disk • Optional 8087 support available for a small additional charge NEW! TURBO TOOLBOX (reg. $49.95). A set of three fundamental utilities that work in conjunction with TURBO PASCAL. Includes: • TURBO-ISAM FILES USING B + TREES. Commented source code on disk • QUIKSORT ON DISK. Commented source code on disk • GINST (General Installation Program) .Provides those programs written in TURBO PASCAL with a terminal installation module just like TURBO'S! • NOW INCLUDES FREE SAMPLE DATABASE . . . right on the disk! Just compile it. and it’s ready to go to work for you. It's a great example of how to use TURBO TOOLBOX ana, at the same time, it's a working piece of software you can use right away! NEW! TURBO TUTOR (reg. $29.95). Teaches step by step how to use the TURBO PASCAL development environment—an ideal introduction for basic programmers. Commented source code for all program examples on disk. 30 DAY MONEY BACK GUARANTEE Available at your nearest software dealer. For VISA and MASTERCARD order call toll free: l-(800)-2 55-8008 l-(800)-742-1133 (Lines open 24 hrs., 7 days a week) Dealer and Distributor inquiries welcome (408) 438-8400 CHOOSE ONE (please add $5.00 for handling and shipping U.S. orders) _ All Three-Gift Pack $ 99.95 + 5.00 SPECIAL! _ TUrbo Toolbox $49.95 + 5.00 _ All Three & 8087 139.95 + 5.00 SPECIAL! _Hirbo Thtor 29.95 + 5.00 _ Ttirbo Pascal 2.0 49.95 + 5.00 Hirbo 8087 89.95 + 5.00 Check _ Money Order_ VISA_ MasterCard_ Card #: _ My system is: 8 bit _ 16 bit. Operating System: CP/M 80 _ Computer: Exp. date: Shipped UPS CP/M 86. _ MS DOS _ Disk Format: PC DOS , Please be sure model number & format are correct. NAME: _,_ ADDRESS: _ CITY/STATE/ZIP: TELEPHONE:_ California residents add 6% sales tax. Outside U.S.A. add $15.00 (if outside of U.S. A. payment must be by bank draft payable in the U.S. and in U.S. dollars). Sorry, no C.O.D. or Purchase Orders. is >)) BORlPflD l» INTERNATIONAL 4113 Scotts Valley Drive Scotts Valley, California 95066 TELEX: 172373 Inquiry 101 Eco-C Compiler Release 3.0 We think Rel 3.0 of the Eco-C Compiler is the fastest full C available for the Z80 environment. Consider the evidence: Benchmarks* (Seconds) Benchmark Eco-C Aztec Q/C Seive 29 33 40 Fib 75 125 99 Deref 19 CNC 31 Matmult 42 115 N/A * Times courtesy of Dr David Clark CNC - Could Not Compile N/A - Does not support floating point We ve also expanded the library (120 func¬ tions), the user’s manual and compile-time switches (including multiple non-fatal error messages). The price is still $250.00 and includes Microsoft's MACRO 80. As an option, we will supply Eco-C with the SLR Systems assembler - linker - librarian for $295.00 (up to six times faster than MACRO 80). For additional information, call or write: a ■COaOFTfflNC. (317) 255-6476 6413 N. College A ve. • Indianapolis, Indiana 46220 PC FORTH ™ IBM PC & XT, HP-150, Macintosh, Apple II, CompuPro, Sage & CP/M-68K, Wang PC, All CP/M and MSDOS computers. WITH Eli FORTH Try the professional language offering the utmost performance in the shortest development time. Transport your ap¬ plications between any of our enhanced 83-Standard compilers or expanded 32-bit versions. Choose from our wide selection of programming tools including native code compilers, cross-compilers, math coprocessor support, and B-Tree file managers. All fully supported with hotline, updates, and newsletters. Laboratory Microsystems Incorporated Post Office Box 10430, Marina del Rey, CA 90295 Phone credit card orders to (213) 306-7412 30 BYTE • FEBRUARY 1985 Inquiry 173 LETTERS wrong and dishonest to copy software, even for one's own use. He is absolutely right. But his statement is incomplete. The software industry, in general, has shown a total disregard for honesty in its marketing. A large portion of the available software is sold without proper testing. It is tested by us. after we pay a ridiculous price for it. Customer support just does not exist, and the documentation is often a joke. According to the "rules" I must buy WordStar for each machine in the office. And I do not have backup protection with some software. Even after paying their price I am held ransom! My complaint is not against all software publishers. Lotus, for example, has done a wonderful job of documentation and service. Mr. Wright is right. But incomplete. TWo wrongs don't make a right. But as long as the publishers are so blatant in their dis¬ honesty. software swapping will be with us. Dave Churcher Rye, NH Swift Remark I really got a big laugh out of Paul Bern¬ stein's letter ("Computers and Lawyers." August 1984. page 16) about the "argu¬ ment" between him and his fellow lawyer Robert Wilkins over whether lawyers need to know "terms such as RAM. bps.. . . and other foreign, often unnecessary technical terms."’ That from lawyers. ". . .a Society |that| hath a peculiar Cant and Jargon of their own. that no other mortal can understand, and wherein all of their Laws are written, which they take special Care to multiply; whereby they have wholly confounded the very Essence of Tfuth and Falsehood, of Right and Wrong." No comment could better be made on the subject than that by Jonathan Swift in Gulliver's Travels, Part 4: A Voyage to the Country of the Houyhnhnms, Chapter 5. William E. White Miami, FL Modula-2: Overrated? After reading all those pro Modula-2 and Ada articles in BYTE (August 1984), I at first feared l was the only one who har¬ bors mixed feelings concerning these lan¬ guages. I was relieved to find David V. Mof¬ fat's "UCSD Pascal vs. Modula-2; A Dis¬ senting View" (page 428). While I don't agree with all of Mr. Mof¬ fat's views (e.g.. that the lack of publica¬ tions on Modula-2 will become less ( continued ) / from Microcomputer Accessories, Inc. TOP DRAWER! pli | * i , -Is Absolutely first class. Our Keyboard Storage Drawer is tops—it can turn your narrow credenza or typewriter return into a perfect work station. From a reinforced platform on pro¬ tective felt pads, the cantilever drawer extends on industrial strength ball bearing glides and locks into working position. The scratch resistant finish matches IBM colors. Optional locking device. Also available—an under-desktop suspension model—the bottom drawer. But still “top drawer!” Microcomputer Accessories, Inc 5721 Buckingham Parkway P.O. Box 3725 Culver City, California 90231 Telephone 213/641-1800 inquiry 355. In Europe: Inquiry 356 for Dealers. N.V. Microcomputer Accessories Europe S.A, Rue de Florence 37 1050 Bruxelles, Belgique Telephone 02/538.61.73 These and other fine products are available at Sears Business Systems Centers, Computer- land, Businessland, IBM Product Centers and other computer/software retail locations. Rolltop Disk File Security Alarm LETTERS distinct in the future). I'd like to point out a couple of items that have escaped men¬ tion so far. The improved readability of Modula-2 source, achieved by the no-longer-needed BEGIN...END brackets that contain Pascal compound statements, is obviated be¬ cause of the END statement that ter¬ minates all control structures apart from REPEAT. I would have preferred a specific end statement for each control statement, like ENDDO. ENDWHILE. ENDLOOP. ENDIF, etc. Pascal's lamented rigid order in which declarations have to be made shows its main advantage when it comes to soft¬ ware maintenance. I wouldn't want to look for that doubly defined global variable that crept in when an existing program was extended, were it possible to declare said variable anywhere near the pro¬ cedure that used it first, let alone in some external module. I find Modula-2's IF not much of an im¬ provement over that of Pascal as far as nested IFs are concerned, the latter of which I tend to avoid and use logical ex¬ pressions instead. Taking Robert J. Paul's recipe example (“An Introduction to Modula-2,'' August 1984, page 195). wouldn't you agree that IF (oregano IN recipe[1]) AND (thyme IN recipe[1]) THEN WRITELN( ‘Use oregano & thyme’) ELSE WRITELN( ‘Use only thyme’); is easier to understand than what ap¬ peared on page 198? Edmund Ramm Kaltenkirchen, West Germany What a shame that you did not include the article “UCSD Pascal vs. Modula-2: A Dis¬ senting View'' by David V. Moffat in the theme section of your August issue; it would have provided some balance in what was an informative but rather biased section. I write to support Mr. Moffat's thesis that Modula-2 has yet to be proved a signifi¬ cant improvement over UCSD Pascal. Hav¬ ing used UCSD Pascal since 1980, I can link in assembly-language routines, build libraries, and write units with hardly a sec¬ ond thought. For programmers, the in¬ equality of Benefits of Modula-2 > Cost of software + time to re¬ learn + time to rewrite old routines must be clearly shown to be true. I have yet to be convinced that the benefits outweigh the value of Pascal experience. Could it be that those software companies that have sold thousands of Pascal com¬ pilers in the past few years now fear that they are beginning to saturate the market and are promoting Modula-2 as a means of maintaining company profits? One small point: Am I the only one who finds that dozens of ENDs. some for IFs, some for FORs, some for LOOPs. make Modula-2 programs less easy to read than Pascal programs? Stuart A. Bell Sid mouth. Devon. England (continued on page 416) 1040 INDIVIDUAL 540 CALIFORNIA IT 201 NEW YORK I ^C^PQRATO N 106^5PARTNERSHIP Taxtime is a highly integrated tax preparation program for use as a template with Lotus 123 and Symphony. It takes only 10 seconds to recalculate all forms, is easy to use, and is IRS approved. Federal 1040 and state forms are $95.00, corporate returns are $195, and annual updates are only $45 to $75. All programs require Lotus 123 version 1A and 256Kb or more memory. To order programs or free detailed catalog phone 800-227-2634 ext 998, or in Calif 800-772-2666 ext 998. ril ril # ” A product of Austin Scientific, Inc. I *1Y I 1lllf I 1259 El Camino, Suite 260 I U V I I III! Menl ° Park > CA 94025 123 and Symphony are trademarks of Lotus Development Corporation. 32 BYTE • FEBRUARY 1985 Inquiry 26 FIXES AND UPDATES BYTE'S BUGS C Listing Bug Bob Bonomo picked out a bug in the C source listing for the quicksort function in the October BYTE Japan. (See "Bits and Pieces’’ by William M. Raike. page 369.) In listing 1 on page 374. the third WHILE statement should read: while (j > i && strcmp(base|j|. pivot) > =0) Our thanks to Mr. Bonomo. A Case of Misidentification A caption in our product description of the TUndy 1000 incorrectly identifies a screen display. (See The TUndy 1000” by G. Michael Vose. December, page 98.) On page 101. the caption identifies the screen display on the right as being pro¬ duced by DeskMate. The photo actually depicts a screen from IBM's HomeWord. a word-processing program that also runs on the TUndy machine. HomeWord is pro¬ duced by IBM's Entry Systems Division in Boca Raton, Florida. Penny Wise, Pound Foolish? A note arrived from Paul Hills of Launceston in Cornwall. England, telling us that we misstated the annual subscrip¬ tion fee for his club’s newsletter. (See Clubs & Newsletters. August, page 68.) The 6809 User Group Newsletter is available for £3 annually. Overseas subscriptions are $4.70 in the U.S. and $6 in Canada. Weather Report Incorrect Charles S. Barnaby. vice president of the Berkeley Solar Group, sent us a clarifica¬ tion concerning the computer service that his company offers. In Matthew Lesko's article "Low-Cost On-Line Databases” (October, page 167), it was incorrectly stated that the Berkeley Solar Group offers "the latest weather.” The Berkeley Solar Group has a large collection of weather data; however, this data is based on records at least several years old. The data is suitable for use with building energy-analysis software. Portions of this information are available through interactive inquiry but the bulk of it serves as input for hour-by-hour building simula¬ tion programs. The weather data is available for users of the Berkeley Solar Group's building energy-analysis software, which includes such programs as DOE-2. CALPAS3. and FCHART. The data can be used for other purposes, but its purchase must be negotiated on a case-by-case basis. We thank Mr. Barnaby for clarifying this inaccuracy on our part. The Berkeley Solar Group can be reached at 3140 Martin Luther King Jr. Way. POB 3289. Berkeley. CA 94703. (415) 843-7600. Books Have American Distributor Jeffrey A. Blackman of the Computer Science Press in Rockville. Maryland, sent us some information about five books mentioned in the November Books Received section (page 495). The books. A First Course in Formal lan¬ guage Theory. From Logic to Computers. LISP Pro¬ gramming. Microcomputers and Their Commercial Applications, and UNIX for Users, are all published by Blackwell Scientific; however, they are distributed in North America by the Computer Science Press. If you wish to order these books, con¬ tact Computer Science Press Inc.. 11 TUft Court, Rockville, MD 20850. (301) 2 51-9050. Windy Day Bug Mark R. Parker of Seattle. Washington, saw an error in listing 1. the Module Windy- Day. in Eric Eldred's review "Volition Sys¬ tems' Modula-2” (June, page 353). In the procedure OpenWindow (page 356). the line: Open (wind, 0, 1, 39); should read: Open (wind, 0, 0, 1, 39); because a call to open requires five parameters. The omitted second zero places the message at the upper left-hand corner of the screen. Also, the comment "Phony” should be changed to "little busy bee.” New Telephone Number Microserve in Tyler. Tfexas. which was men¬ tioned in the October BYTE, has a new telephone number for its network. (See "Low-Cost On-Line Databases’’ by Matthew Lesko. page 167.) The new telephone number is (214) 581-3722. Photo Credits Due We inadvertently neglected to credit Lee Wright, a freelance photographer based in Medford. Massachusetts, for snapping the photos that accompanied Henry Brugsch’s article in the Guide to the Apple Personal Computers, a special supplement to the December BYTE. (See "Apple's New Modem and Access II.” page A58.) We apologize for this oversight. Address Change Sinclair Research, whose ZX Spectrum + was featured in the December BYTE What's New. has relocated. (See page 435.) The new address is Sinclair Research. Berkeley Square House. London W1X 5LB. England; tel: 01-499 2666; Tfclex: 265212. FEEDBACK More on POPLOG In the October BYTE U.K.. we inadvertently listed Aaron Sloman as the distributor for POP-11 and POPLOG. a pair of tools avail¬ able to researchers in artificial intelligence. (See "Pop and Snap” by Dick Pountain. page 381.) Mr. Solman informs us that POPLOG is marketed in the U.S by Systems Designers Ltd. International. Suite 201. 5203 Lees¬ burg TLrnpike. Falls Church. VA 22041. (703) 820-2700. In the U.K.. it's available from Systems Designers Ltd.. Systems House. 1 Pembroke Broadway. Camberley. ( continued) FEBRUARY 1985 -BYTE 33 FIXES & UPDATES and Bus Extenders For: IBM PC, PCjr & COMPATIBLES UNIBUS, Q-BUS & RAINBOW 100 MULTIBUS, VMEbus STD & S-100 Full IEEE-488 functionality, with the most com¬ prehensive language and operating system cover¬ age in the industry. It takes experience to make IEEE-488 systems work with nearly 4000 devices available from more than 500 different manufac¬ turers, and experience is what enables National Instmmfints tn takfi the GPIB to the Your personal guarantee of unsurpassed customer support and satisfaction. CALL 1-800-531-GPIB for instant access to 100 + man-years of GPIB experience. IBM and PCjr are trademarks of International Business Machines, MULTI¬ BUS is a trademark of Intel, DEC, UNIBUS, Q-BUS, and Rainbow 100 are trademarks of Digital Equipment Corporation 12109 Technology Blvd. Austin, TX 78727 1-800-531-5066 512/250-9119 Telex: 756737 NAT INST AUS Surrey. GUI5 3HX; tel: 0276 62244. Mr. Sloman has informed us that “POP- LOG is now the main official AI software development environment in the U.K. for Prolog and POP-11. The existing toy' LISP component (suitable for teaching) is being replaced by COMMON LISP" POPLOG. according to Mr. Sloman. comes with a large collection of on-line help files, teaching files, and libraries of utilities and demonstration programs. Mixed languages are supported, and a multiwindowed screen editor VED can be used with all three main languages. It runs Speaking of Least Squares Steven A. Ruzinsky saw a number of doubtful statements in Marco Caceci and William Cacheris's article “Fitting Curves to Data” (May. page 340). He cites these remarks: This is called the least-squares criterion. For random errors randomly generated (usual¬ ly a reasonable assumption), this is the best criterion of all. “This is simply untrue,” says Ruzinsky. “In order for least squares to be the best criterion, the errors must have indepen¬ dent and identical normal (Gaussian) dis¬ tributions. In situations meeting this re¬ quirement. least squares can be a max¬ imum likelihood estimate of the param¬ eters. For situations where the errors are not Gaussian, least squares is suboptimal. A good counter example to the authors' statement is the case where the errors have a binary distribution, e.g., a random sequence of Is and - Is. In this case. I Electronic Yellow Pages in LA The vice president of Buy-Phone Inc., David Lappen, sent us information about his company's database, which was left out of Matthew Lesko's article “Low-Cost On-Line Databases.'' (See October, page 167.) Buy-Phone is an “electronic yellow pages” system serving the Los Angeles area. It has more than 10,000 listings in 2 5,000 search categories, ranging from current movie listings, restaurant and department store offerings, to computer outlets. Access is free of charge to users. Busi¬ nesses pay $150 for a year's worth of ad¬ vertising; ads can be changed daily at no extra cost. Personal ads, which are also free, can be posted for two weeks. At 300 bps, call Buy-Phone at (213) 474- 0270. At 1200 bps. call (213) 470-4679. on VAX computers under VMS and Berkeley UNIX. It's also available "on a growing number” of M68000-based UNIX machines. In North America it's $10,000. with a ninety-percent (90%) discount for educational institutions. “At present” writes Mr. Sloman. “POPLOG is too big for most personal computers. Our hope is that it will not be long before machines with at least 2 megabytes of RAM and 40 to 100 mega¬ bytes of backup storage will be cheap enough to make POPLOG much more widely available for educational use.” believe one will find a minimax fit (also called “Chebyshev” or “1 oo ') much more statistically efficient than least squares.” Mr. Cacheris notes that the first state¬ ment was intended to be broad and that least-squares analyses are often used under less than optimal conditions since the results can be checked by various methods, such as sensitivity analysis. “Least-squares method is certainly best when the errors have identical distribu¬ tions . . . (which) we mentioned towards the end of our article when describing sensitivity analysis. We state that several synthetic data sets ... are made by add¬ ing identical normal distributions to the error¬ less curve. Thus, the least-squares fits to these synthetic data sets are the best fit to these data sets and the values of the parameters obtained should approach the experimental data's values of the param¬ eters if the error in the experimental data has identical normal distributions.” BYTE'S BITS Public-Domain Software Library The Houston Area League of PC Users (HADPC). a group of 1000-plus IBM Per¬ sonal Computer fans, maintains a library of public-domain and “shareware” (i.e., pay if you like it) software. Disks are available from the library for $2 per disk. For a listing of titles, send a self-addressed, stamped envelope to Nelson Ford. HAL- PC Librarian, c/o The Public Library. POB 61565. Houston. TX 77208. Software authors wishing to share their public-domain or shareware programs are encouraged to contact the group presi¬ dent. Duane Hendricks. Other users groups interested in trades should contact Jack McClure at POB 610001, Houston, TX 77208. ■ 34 BYT E • FEBRUARY 1985 can add on all sorts of helpful accesso¬ ries. Like a printer, a modem for elec¬ tronic mail, a mouse for even easier operation and all the memory you need—up to 640K. If you’d like to meet this terrific computer, go to your nearest Author¬ ized NCR Personal Computer Dealer. Just ask for the computer every¬ body gets along with. For the name of your nearest dealer, call toll-free: 1-800-544-3333. In Nebraska call: 1-800-343-4300. Inquiry 230 □00 A BETTER PERSONAL COMPUTER. IT'S EXACTLY WHAT YOU'D EXPECT FROM NCR. PtOPlE.TOO. &P/ffl', Getting along with all kinds of people is one of the most endearing qualities of the NCR PC4. It gets along with bosses, secre¬ taries, accountants, engineers, lawyers, everybody. Even first-timers take a liking to this computer the moment they take it out of the box. Perhaps its good looks have a lot to do with this. But its beauty is more than skin deep. Its smart, integrated cabinet takes up precious little space on your desk. There are no complicated wires or clumsy boxes to set up. All you have to do is plug it in. The keyboard is the same familiar layout your fingers know and love. Plus a couple of nice touches. Like separate cursor keys and a separate numeric keypad to make it easier to work with programs that have long lists and lots of numbers. The NCR PC even comes with two special self-teaching programs that will have you computing in a matter of minutes. NCR PAL shows you how to use the computer itself. NCR TUTOR introduces you to word processing, spreadsheets and other popular busi¬ ness programs. And if you get lost along the way, there’s a built-in HELP command you type in to get you back on track. Add all this up and you start to see why the NCR PC is so compatible with people. Of course, it’s also compatible with thousands of programs available at computer stores everywhere. And it’s compatible with industry standard hardware. Which means you THE NCR PC IS COMPffTIBli WITH © 1984 NCR Corporation. Great Ideas look even better on a Princeton monitor Your Great Ideas deserve the best image you can give them. But, just as a music system's performance depends on the speakers, your computer system is limited by the quality of your monitor. Monitor performance can be measured. That's something you should know about. In other words, your Great Ideas should be seen, not blurred. Friends, Romans, countrymen, tend me your eyes , W. Shakespeare composing Great Ideas on a Princeton Monitor 36 B YT E • FEBRUARY 1985 "hings you should know about monitors Resolution The quality of i color monitor's image is lirectly related to its resolution, 'he greater the number of dots ivailable within a given area for lisplaying an image the greater he resolution. $ The PRINCETON SR-12 nonitor features an extra¬ ordinary 640x480 (non-inter- aced) resolution. The result is an extremely high quality, flick- ?rless image with text that ap¬ proaches monochrome quality. A/hen used in conjunction with he PRINCETON Scan-Doubler :ard, the SR-12 runs from a standard IBM or equivalent color :ard, maintaining complete com¬ patibility with all IBM software. Dot pitch The image on an RGB color monitor is made up of a series of tiny dots. Dot pitch measures the distance between those dots. Anything finer than .38mm is considered high resolution. 0 The PRINCETON HX-12 RGB color monitor, with a dot pitch of .31mm, offers the finest resolution in its class. The HX-12 delivers 16 crisp, sharp colors including clean whites without color bleed—a not-so-easy accomplishment in an RGB monitor. Price All Princeton monitors set the price/performance stand¬ ard in their class. The SR-12 at $799 compares favorably with monitors costing hundreds more. The HX-12 is in a class by itself at $695. 0 The PRINCETON MAX-12, with easy-on-the-eyes amber phosphor, sets the standard for monochrome monitors at $249. The MAX-12's dynamic focusing circuitry ensures sharpness not only in the center but also in the edges and corners. And it runs off the IBM PC mono¬ card—no special card is required. All three monitors feature a non-glare screen and an IBM compatible cable. A PCjr adapter cable is also available for the HX-12. And to see your Great Ideas from the best possible angle, you can put your Princeton monitor on the Princeton Undergraduate Tilt and Swivel Base for only $39.95. Or, while supplies last, get the Undergraduate FREE with the purchase of a MAX-12 monitor. Image The ultimate test of any monitor is how the image looks to your own eyes. Compare the Princeton monitors side-by-side with the competition at Computerland, Entre or your local independent dealer. For more information call toll-free: 800-221-1490 Ext. 804 GRAPHIC SYSTEMS 170 Wall Street Princeton NJ 08540 TLX 82M02 PGS Prin Do it soon. You and your Great Ideas deserve the best. Technologically tuned for excellence Inquiry 255 FEBRUARY 1985 • B Y T E 37 for people who THOUGHT THFY'P NEVER MEET THE PERFECT IO We've got one to knock your socks off. The StarWriter’" Y10 from C. Itoh. What sets this letter quality daisy wheel apart is its fabulous figure. Priced at only $595. This little beauty prints 22 letter perfect characters per second. And like the rest of C. Itoh’s fine printers, the StarWriter Y10 acts without acting up. That’s because it has been thoroughly tested and proven on the job to assure reliability. And it comes with a full year’s warranty, backed by over 400 authorized service centers coast to coast. The Y10 is an awful lot of printer for very little money. But that’s not surprising when you consider that C. Itoh’s been producing superior printers for over a decade. What’s more, it has the strong backing of our 126- year-old parent company with over $60 billion in annual sales. And the StarWriter Y10 is compatible with most of the popular PCs. It has a 256- byte buffer. And there is a full line of accessories available such as a cut sheet feeder and tractor feed. Little wonder C. Itoh printers are No. 1 worldwide, with over 2.2 million sold annu¬ ally. And with the StarWriter Y10 we’re aim¬ ing to keep it that way. To meet your own perfect 10, just see your local C. Itoh printer dealer. Or for more information call 1-800-423-0300. Or write C. Itoh Digital Products, Inc. 19750 South Vermont Avenue, Suite 220, Torrance, CA 90502. DIGITAL PRODUCTS f StarWriter is a Trademark of C Itoh Digital Products. Inc 1985 C Itoh Digital Products. Inc 38 BYTE* FEBRUARY 1985 Inquiry 38 for Dealers. Inquiry 39 for End-users. WHAT’S NEW R adio Shack's battery- powered notebook-size Model 200 has a flip-up 16-line by 40-column LCD and a built-in 300-bps auto¬ dial modem. The Model 200 comes with 24K bytes of RAM and 72K bytes of ROM. and it includes word¬ processing. spreadsheet, telecommunications, and address-book programs. Memory can be expanded with two 24K-byte banks of RAM, for a total of 72K, and a 32K-byte ROM chip. The system's keyboard has 60 full-travel sculptured keys, 12 special- and general- purpose function keys, and a power switch that is auto¬ matically depressed when the LCD/cover is closed. A cassete interface and parallel and serial ports are standard. The Model 200 weighs 4 l A pounds and measures \\ 3 A by 8/2 by 2 3 / ]6 inches. Although the Model 200 uses the same processor as the Model 100. changes in ROM will prevent Model 100 machine-language programs from running on the Model Datavue Portable Includes Disk Drive, 80 by 25 Display Q uadram's Datavue 25 is a 14-pound portable computer with a 360K-byte 514-inch disk drive and a pivoting 80-character by 25-line LCD. It features an 8 3-key keyboard that com¬ municates with the com¬ puter through infrared signals. The Datavue 2 5 has an 80C88 microprocessor, a real-time clock. 128K bytes of memory and serial and parallel ports, it is powered either by an AC adapter/ recharger or by built-in bat¬ teries that last up to four hours. Monochrome graphics are available in either 640 by 200 resolution or 320 by 200 resolution with four levels of gray An internal 300-bps modem is an op¬ tion. Memory can be ex¬ panded to 2 56K bytes using 64K-byte chips or to 1 megabyte using 2 56K-byte chips. Quadram also plans to release an external IBM PC-compatible bus- expansion chassis and an external second floppy-disk drive. The Datavue 25 should be available in March for $2195. Contact Quadram. 43 55 International Blvd., Norcross. GA 30093. (404) 923-6666. Inquiry 601 200; BASIC programs will work on both. Other dif¬ ferences are a modified cur¬ sor key cluster, enhanced word-processing features, Microsoft's Multiplan spread¬ sheet in ROM, calculator function available from any program, and optional pulse or tone dialing. Normal bat¬ tery life is 10-16 hours depending on RAM size, or you can install rechargeable nickel cadmium (nicad) batteries. The Model 200 will retail for $999; 24K-byte add-on modules cost $249.95 each. Contact Tkndy/Radio Shack. One T&ndy Center. Fort Worth. TX 76102. or your local Radio Shack store. Inquiry 600 Model 1131 Compass Has 128-column LCD G RiD Systems’ Model 1131 Compass is a port¬ able computer with a 2 5-line by 128-column electro¬ luminescent display (ELD). GRiD says that the durable 10 -pound computer is built to stand a shock equal to 130 Gs. The Model 1131 features 2 56K bytes of RAM (expandable to 512K bytes). 384K bytes of nonvolatile bubble memory, a 300/1200- bps auto-dial/auto-answer modem, and the MS-DOS operating system in ROM. The Compass Model 1131 costs $6795; with 512K bytes, it's $7995. The price of the original Model 1100 is now $42 50. Contact GRiD Systems Corp., 2535 Garcia Ave., Mountain View. CA 94043. (415) 961-4800. Inquiry 602. ( continued ) FEBRUARY 1985 -BYTE 39 WHAT'S NEW Visage Videodisc Software Development System V isage has introduced a series of products for developing interactive videodisc software. Using an IBM PC or compatible per¬ sonal computer, a standard videodisc player, and Visage's controller card and software, developers can create interactive programs for educational applications using images from video¬ discs overlayed with computer-generated text and graphics. Visage's V:Link 1000 in¬ cludes an IBM PC expansion card and language-interface software, which together support NTSC graphics with 2 56 by 192 overlay capabili¬ ties. The V:Link 1500 adds the ability to switch between a 2 56 by 192 overlay and a 320 by 200 nonoverlay im¬ age. while the V:Link 1550 allows both 256 by 192 and 320 by 200 graphics to be overlayed on videodisc images. Prices range from $1150 to $2150. The V:Station 2000 family all feature IBM PC-com¬ patible computers with 2 56K bytes of RAM. one or two floppy disks, the V:Link 1550 graphics board, and a 13-inch RGB color monitor. Some of the V:Station con¬ figurations also include medium- or high-resolution touchscreens. 10-megabyte hard disks, and 512K bytes of memory. Prices range from $5995 to $10,850. Visage's products support the KoalaPad. Bit Pad. and Microsoft Mouse as graphics input devices. Optional sup¬ port packages allowing the Visage software and hard¬ ware to be used with BASIC. Pascal. dBASE II. and 8088 assembly language cost $295 each. V:Paint I and II. $500 each, use the Micro¬ soft Mouse ($12 5 extra) to create images. Cables are available to link the V:Link B ritewriter is a four-pen color plotter that NEC says is compatible with Hewlett-Packard plotters. The Britewriter can plot at a speed of 60 millimeters per second (mm/s) in low-speed Commodore Announces C ommodore's B128 runs any program written for the Commodore 64 and has a number of additional capabilities. This sytem has 128K bytes of memory, ex¬ pandable to 512K, and it can display 80 columns by 2 5 lines of text in color on an optional monitor. In addi¬ tion to the 8500 processor. card to Sony. Pioneer. RCA. and Hitachi videodisc players. Visage supplies its V:EXEC mode and 112 mm/s in high¬ speed mode. Characters can be drawn at 4.6 cps in one color or 2.6 cps in four col¬ ors. The plotter comes with black, blue, green, and red felt-tip pens; an optional set 128K Computer which is used to run Com¬ modore software, the B128 includes a 2-MHz Z80 co¬ processor to run most CP/M-80 programs. The 92-key keyboard has a numeric keypad. 4 cursor keys. 4 numbered shiftable function keys, and 4 special- purpose function keys. Like the 64, the B128 can display and V:Draw software and one language interface with all V:Link and V:Station products. Contact Visage of colors includes violet, orange, brown, and pink pens. The plotter can be used with plain paper or transparencies up to 8 Vi inches wide. The Britewriter is available with parallel or RS-232C serial interfaces. It features a 256-byte character and in¬ struction memory and sup¬ ports the ASCII character set. Because it uses the same commands as Hewlett- Packard 7470 and 7550A plotters, it works with most graphics programs that support Hewlett-Packard plotters. The Britewriter plotter will retail for $599. Contact NEC Information Systems Inc.. 1414 Massachusetts Ave.. Boxborough. MA 01719. (617) 264-800. Inquiry 604 16 colors and 8 indepen¬ dently movable sprites and can generate sound in three voices each with a range of eight octaves. The B128 comes with the same serial, expansion, user, and joystick ports as the 64; it also in¬ cludes video interfaces for a standard television or an RGB or NTSC monitor. Commodore also intro¬ duced a faster disk drive for the Commodore 64 and B128. It transfers data to the 64 at 320 cps, or to the B128 at 2000 cps. or. when running CP/M. 3200 cps. The Commodore B128 will sell for less than $400. Con¬ tact Commodore. Computer Systems Division. 1200 Wilson Dr.. West Chester. PA 19380. (215) 431-9100. Inquiry 605 Inc.. 12 Michigan Dr.. Natick, MA 01760. (617) 655-1503. Inquiry 603. ( continued ) 40 BYTE • FEBRUARY 1985 NEW PRODUCT NEWS FROM TELETEK Name Company Address_ Sacramento, CA 95838 (916) 920-4600 Telex #4991834 Answer back — Teletek Inquiry 310 I'm interested ^ in information regarding: □ Systemaster II □ SBC 86/87 □ Z-150 MB □ Evaluation Program □ Teletek's S-100 Board Line Systemaster II. Responding to market demand for speed and in¬ creased versatility, Teletek is proud to announce the availability of the next generation in 8-bit technology — the new Systemaster II! The Systemaster II will offer two CPU options, either a Z80B running at 6 MHz or a Z80H running at 8 MHz, 128K of parity checked RAM, two RS232 serial ports with on-board drivers (no paddle boards required), two parallel ports, or optional SCSI or IEEE-488 port. The WD floppy disk control¬ ler will simultaneously handle 8" and 5%" drives. A Zilog Z-80 DMA controller will provide in¬ stant communications over the bus between master and slave. Add to the DMA capability a true dedicated inter¬ rupt controller for both on¬ board and bus functions, and the re¬ sult is un¬ precedented performance. Systemaster II will run under CP/M 3.0 or TurboDOS 1.3, and fully utilize the bank switching features of these operating systems. EELETEK SBC 86/87. As the name indi¬ cates, Teletek's new 16-bit slave board has an Intel 8086 CPU with an 8087 math co-processor op¬ tion. This new board will provide either 128K or 512K of parity checked RAM. Two serial ports are provided with individually programmable baud rates. One Centronics-compatible parallel port is provided. When teamed up with Systemaster II under TurboDOS 1.3, this 5MHz or 8MHz multi¬ user, multi-processing, combina¬ tion cannot be beat in speed or feature flexibility! MH? SBC mi s/swmwnf WD Z-150 MB Teletek Z-150 MB. Teletek is the first to offer a RAM expansion board designed specifically for the Z-150/Z-160 from Zenith. The Teletek Z-150 MB is expandable from 64K to 384K. Bring your Z-150 up to its full potential by adding 320K of parity checked RAM (or your IBM PC, Columbia, Compaq, Corona, Eagle, or Seequa to their full potential). The Teletek Z-150 MB optionally provides a game port for use when your portable goes home or a clock/ calendar with battery backup! Evaluate the Systemaster II, SBC 86/87 or Teletek Z-150 MB for 30 days under Teletek's Eval¬ uation Program. A money-back guarantee is provided if not com¬ pletely satisfied! All Teletek products carry a 3-year warranty. (Specifications subject to change without notice.) 4600 Pell Drive WHAT'S NEW Modular Robot Kit C ybot's Tlitor is a modular robot with a five-axis arm designed for educational and training uses. Because the robot can be dismantled and reassem¬ bled many times, it helps you understand how robotics work. The package includes the robot arm. complete with five motors and a gripper, and the Controller module, which has one free S-100 card slot for custom applica¬ tions. a standard RS-232C serial port, and an interface for an optional "teach pen¬ dant." You can control the robot arm by sending ASCII commands from a personal computer through the RS-232C port or by directly manipulating the arm with the teach pendant. Also available is an Op¬ tical Encoder Set. Since the set indicates the actual posi¬ tion of one of the motors (five are needed to monitor all five axis motors), a full feedback loop can be used to make sure the robot arm is precisely where it's sup¬ posed to be. The complete Cybot Tutor robotics kit costs $3395. The optional teach pendant is $129.95. Each Optical En¬ coder Set is $70. Parts of the robot kit can be pur¬ chased separately. Contact Cybot Inc.. 12 510 128th Ave. NE. B-5. Kirkland. WA 98034. (206) 823-4156. Inquiry 606 Computer Satellite Service S atellite Broadcast Net¬ work has announced a satellite service that will transmit financial and news information to personal computer owners. SBN plans to have the service opera¬ tional in May. You will need a 12-GHz satellite-receive antenna, a low-noise amplifier, a solid-state receiver, and SBN's demodulator; all are available from SBN for $695. SBN will also charge a fee for access to each type of information, starting at about $2 5 per month. SBN will use multiple 9600-bps channels. Some channels will broadcast news and weather information, others will transmit stock and commodity prices. One channel might permit down¬ loading of software sample programs, while another could include special-interest database information. A user could place a request for special database infor¬ mation with modems and telephone lines, but the response could be broad¬ cast via satellite to avoid phone charges. A special header code would ensure that only one person could decode the information. Contact Satellite Business Network Inc.. 212 West Superior St.. Chicago. IL 60610. (312) 266-9844. Inquiry 607 Sord Adds 80 by 25 Display to IS-U S ord has released a ver¬ sion of its IS-11 Consul¬ tant computer with an 80-character by 25-line liquid-crystal display and a built-in 300-bps modem. The 6 ‘/ 2 -pound IS-11C has 80K bytes of RAM (expandable to 144K), 72K bytes of ROM. a 128K-byte microcassette tape drive. 62 full-travel sculptured keys plus 8 special function keys, and a CMOS Z80A microprocessor running at a speed of 3.4 MHz. In addition to parallel and serial ports, the IS-11C can interface with a bar¬ code reader, a separate numeric keypad, and op¬ tional 64K-byte ROM car¬ tridges. Word-processing and communications software are standard in ROM. The IS-11C should be avail¬ able this month for $1495. For more information, con¬ tact Sord Computer of America Inc., 645 Fifth Ave.. New York. NY 10022. (212) 759-0140. Inquiry 608 ( continued ) 42 BYTE • FEBRUARY 1985 PROBLEM? UNIX™ and DOS™ At the Same Time! Looking at an IBM PC/AT? Happy with DOS but want UNIX? Happy with UNIX but want DOS? Want them working together? Get The Connector!™ The Connector is a revolutionary product that allows DOS applications to run on the IBM PC/AT or XT under VENIX/86 (the first licensed AT&T UNIX operating system for the IBM PCs) or PC/IX. That means you can add one or more terminals to your AT which runprograms using multi-user VENIX/86 to share the disk and printer. Switch between UNIX and DOS at the console with a single command. And run more than one task simultaneously. Like running a spelling check in the background while you print a report and run Lotus 1-2-3™ or dBasell™ Get yourself an AT and load it with VENIX. Collect your DOS and/or UNIX applications. We’ll supply The Connector. The right solution to your software per¬ sonality problems. Call for complete details. Unisource Software Corp., Department 4109, 71 Bent Street, Cambridge, MA 02141. Telex 92-1401 /COMPUMART CAM Also available on the PC/XT and compatibles. UNIX is a trademark of AT&T Technologies, Inc. DOS is a trademark of Microsoft. Inc. PC/AT and PC/XT are trademarks of IBM. The Connector is a trademark of Uniform Software Systems, Inc. VENIX/86 implementation by VcnturCom. Inc. 1-2 } and LOTUS are trademarks of Lotus Development Corp dbasell is a trademark of Ashton-Tate. Inquiry 318 Getting UNIX Software Down to Business FEBRUARY 1985 • BYTE 43 WHAT'S NEW Digital Filtering Chip for Speech Processing K urzweil Applied In¬ telligence has intro¬ duced the KSC 2408 digital filter chip for use in sound¬ processing applications. Each of the eight filters in the KSC 2408 processes 24 bits of information (with 48 bits accumulated at a time). Each of the filters processes information in a given fre¬ quency range; Kurzweil says that dozens of filters—or many 2408 chips—would be needed to divide up the fre¬ quency spectrum of the human voice enough to make speech recognition possible. The 2408 can process sound up to a sampling fre¬ quency of 12 5 kHz (12 5,000 cycles per second) if only two filters are activated; if all eight filters are activated, the maximum sampling rate is 32 kHz. Since the chip is programmable, it can be used for other types of digital filtering, including high-pass, band-pass, or low- pass. Kurzweil plans to market a 10,000-word vocabulary speech-recognition system and is working on develop¬ ment of a voice-activated typewriter. Company founder Raymond Kurzweil earlier developed the Kurzweil Reading Machine, which can read text for the blind regardless of the typeface, and the Kurzweil 2 50 digital keyboard (music synthesizer). The Kurzweil 2408 digital filter chip costs $81 for a 3-MHz version or $101 for a 6-MHz version; quantity dis¬ counts are available. Contact Kurzweil Applied Intelligence Inc., 411 Waverley Oaks Rd.. Waltham. MA 02154, (617) 893-5151. Inquiry 609. Twelve Million Instructions per Second A ccording to Cromemco. its Maximizer copro¬ cessor subsystem executes an average of 12 million in¬ structions per second. The Maximizer features a 2900-series ECL (emitter- coupled logic) bit-slice pro¬ cessor running at 48 MHz. It also has 16K bytes of 50-ns RAM. 16 dual-port registers, and 4096 48-bit words for downloaded microcode in¬ structions. Cromemco says the chip's speed is en¬ hanced by the use of a 60-ns multiplier chip and a doubly pipelined instruction path. Most instructions ex¬ ecute in 62.5 ns, though some may take as long as 12 5 ns. The Maximizer comes on two S-100 (IEEE-696) bus boards that plug into Cromemco's microcom¬ puters. The system runs under the company's Cromix operating system, and it will soon run under UNIX System V as well. The Maximizer supports FORTRAN, Pascal, and C. Also available is MAXASM. a microcode assembler used to write custom microcode for applications where ex¬ ecution speed is critical. D ata Access Corpora¬ tion's DataFlex 2.1 is a 16-bit version of the com¬ pany's multiuser relational database programming system. It permits over 16 The Maximizer retails for $3495; the MAXASM Micro¬ code Assember costs $2995. Contact Cromemco Inc., 280 million records per file, up to 250 files, each as large as the operating system will handle (up to 2 gigabytes, 32 megabytes in MS-DOS), and use of unlimited RAM. Bernardo Ave.. POB 7400. Mountain View, CA 94039. (415) 964-7400. Inquiry 610 The package includes a relational database com¬ mand language, a custom menu system, and an ap¬ plication generator. Versions of the program are available for such operating systems as MS-DOS/PC-DOS 1.1 through 3.1, CP/M. CP/M-86, Concurrent CP/M-86. MP/M. MP/M-86, and TUrboDOS. DataFlex also operates under a number of network¬ ing systems. Pricing depends on the computer, operating system, and number of users; a single-user IBM PC version is $995. A separate run-time version is available. For details, contact Data Access, 852 5 Southwest 129 Terrace, Miami. FL 33156-6565. (305) 238-0012. Inquiry 611. (continued on page 421) Data Access Enhances Database Program 44 BYTE • FEBRUARY 1985 Need RGB color and TTL monochrome support from a A- single board? *4; 7 / There's ■T - y only one INrELUGENr -#w decision! r INrELUGENr B-450 Mono/Color Display Card Color Graphics Mode: 640 dots x 200 lines TTL Monochrome Mode: 640 dots x 350 lines Interlace Mode: 640 dots x 400 lines ook no further, the INTELLIGENT B-450 has it all. Designed to work with the IBM PC, PC XT, and PC AT, the INTELLIGENT B-450 is also suitable for IBM PC look-alikes. In addition to a parallel printer port, the B-450 has fourteen different screen modes which cover everything from medium-resolution monochrome text to high-resolution color graphics with interlace. Everyone from the ordinary user to the CAD/CAM specialist will find the B-450 is just right. Sound good? With a suggested retail price of only $294, it's nothing less than great! IBM and IBM PC are registered trademarks of International Business Machines Corporation. INrELUGENr DATA SY51EM Intelligent Data System, Inc. 14932 Gwenchris Ct., Paramount, CA 90723 Free Tel: (800)325-2455 Calif. Tel: (213)633-5504 Telex: 509098 Inquiry 150 FEBRUARY 1985 • BYTE 45 Compupro System Component, Components are the essence of your computer. Without the right components, you’re restricting your system’s potential for maximum productivity. CompuPro components enable you to make the most of your computer’s capabilities. Choose from more than 25 boards to build or expand your system .. .to any of our ten fully integrated models. You can add more users to your CompuPro system, increase its memory, add a hard disk drive—all with modular components that mesh perfectly with your existing system. Since 1973, our design team has been recognized for creating the highest performing, most reliable products at the lowest possible price. For the toughest business, scientific and industrial com¬ puting environments—across the country and around the world—make CompuPro IEEE 696/ S-100 components the essence of your system. Cpu Boards CPU 68K™ 68000-based board with sockets for memory management unit and up to 8Kx16 (16 Kb) of EPROM. CPU 86/87I M 8086-based board with sockets for 8087 math processor and 80130 firmware chips. Compatible with 8- and 16-bit memory. CPU 8085/88I M The original, much imitated dual processor board delivers 8-bit, 16-bit, or 8- and 16-bit computing capability. CPU-Z ™ Includes all standard Z80B features. Downward compati¬ bility with the vast library of 8080 software. CPU 32016I M A true 32-bit processor for the desktop micro¬ computer. Compatible with 8- and 16-bit memory. CPU 286™ Based on the high-performance iAPX 80286/1016-bit processor. 100% software compatible with 8086 and 8088 proces¬ sors for unprecedented speed and power. Cmos Static 12 Mhz Memory Boards RAM 22I M 256Kx8 or 128Kx16—works automatically with 8- or 16-bit processors. A low-power, high-density RAM board. RAM 23I M 128Kx8 or 64Kx16—works automatically with 8- or 16-bit processors. A low-power, high-density RAM board. ti/immmm 512K or 2 Mb disk memory board. Emulates disk drive operation and runs under CP/M® or MP/M™ Can increase operating speeds up to 3500%. Expandable up to 4 Mb for even more storage. 46 BYTE* FEBRUARY 1985 'Dual Floppy Disk Subsystem Two 8" floppy drives provide up to 2.4 Mb of formatted storage. With all-metal enclosure, Disk 1A™ controller, rugged power supply, cables, and software: Digital Research’s CP/M-80™ and CP/M-86® 8 ” Floppy Hard Disk Subsystem \ One or two 8" floppy disk drives and one 20 Mb, 40 Mb or 80 Mb hard disk drive in all-metal enclosure with controller, rugged power supply, cables and software. CP/M-80 and CP/M-86. Disk Controller Boards Disk 1AI M High-performance, high-speed floppy disk controller for 8" and 5V4 * drives; reads and writes most popular formats. Disk 2™/Selector Channel™ A high-performance 8" Winchester disk controller with high operating speed and flawless DMA. he Essence Of Computing System Support 11 Clock/calendar; math processor option; RS-232C serial port; interval timers and interrupt controllers; plus many more useful features. CompuPro’s extensive System 816 series of fully integrated single- and multi-user microcomputers includes eleven IEEE 696/S-100 bus models offering 8-, 16- or 32-bit operation, and our CompuPro 10 and CompuPro 286 business computers. All are CP/M or MP/M based, enabling users to access more than 3,000 industry standard application programs. Desktop Enclosure 2 With shielded/terminated 21-slot motherboard, power supply, fan, dust filter, rugged all-metal construction. “Bits, Bytes and Buzzwords” is a primer for those who want to get started right in business computing. 25 pages. “CompuPro Product User Manuals,” Volume 1.250-plus pages. “CompuPro Product User Manuals,” Volume 2.300-plus pages. “Interfacing to S-100/IEEE 696 Microcomputers,” by Mark Garetz and Sol Libes. 321 pages. Individual technical manuals also available. E33SB All CompuPro products are backed by a one year limited warranty with a two year option. We also offer nationwide on-site service by Xerox Americare™-free with the purchase of designated systems. Disk 3™ A high-performance Winchester disk controller for 5V4" hard-disk drives. High speed “burst mode” DMA transfers each disk sector in a block. Interface Boards Interfacer 3™ Eight RS-232C serial ports (2 synchronous/asynchronous, 6 asynchronous). Interfacer 4I M Three RS-232C serial ports, one parallel port, one Centronics parallel port. The Essential Computer CompuPro. 3506 Breakwater Court, Hayward, CA 94545 EJESB Multi-user system front-end processor with 16K on-board RAM. Intended for OEM applications only. High-Performance Motherboards Quiet, fast and reliable. Shielded with active termination. A variety of formats (6,12 or 21 slots) offers maximum flexibility. Inquiry 58 For further information and the location of the participating Full Service CompuPro System Center nearest you, call 1-800-367-7816. In California call (415) 786-0909 ext. 206. ^1984 CompuPro CP/M and CP/M-86 are registered trademarks and MP/M and CP/M-80 are trademarks of Digital Research Inc. SuperCalc is a trademark of Sorcim Corp. dBASE II is a registered trademark of Ashton¬ Tate Americare is a trademark of Xerox Corp. MDRIVE is a registered trademark and CPU 68K. CPU 86/87, CPU 8085/88, CPU-Z. CPU 32016. CPU 286, Disk 1A. Disk 2. Selector Channel, Disk 3, RAM 22. RAM 23. Interfacer 3, Interfacer 4, System Support 1. MPX-1 and The Essential Computer are trademarks of CompuPro FEBRUARY 1985 -BYTE 47 ASK BYTE Conducted by Steve Ciarcia Corona Compatibility Dear Steve. I've had my Corona PC for about a year now. and for the first time I've run into an incompatibility with the IBM PC. The prob¬ lem is that the IBM PC has an extra open socket built into it to add a ROM or EPROM, and the Corona doesn't. A few programs on the market make use of this socket, including a genetics program I am interested in. Is there a fairly simple way to add an extra ROM chip? Another problem is that my BIOS is writ¬ ten on a 28-pin 2764, while the chip for the genetics program is on a 24-pin 2732A. How can I use the 2732 in my Cor¬ ona, and what is the difference between a 2732 and 2732A anyway? Yet another problem is the Corona's in¬ compatibility with IBM graphics. Tb get graphics on the IBM, you must buy a graphics color card, which uses memory locations B800 to BCOO hexadecimal. On the Corona, different RAM locations are used for graphics. Is there a way to modify programs that need the color card (e.g., Flight Simulator) so that they will work on the Corona? It may not be that difficult because there is a graphics driver by HST, which if loaded before Lotus 1-2-3, enables 1-2-3 to draw graphs perfectly on my screen. Richard Berman King of Prussia, PA You should be able to add a ROM to the Corona by installing it on an expan¬ sion board with the proper interfacing circuitry. This could be built on a PC pro¬ totyping board, such as those produced by Vector Electronic Co., POB 4336, 12460 Gladstone Ave, Sylmar, CA 91342, (818) 365-9661. Since all 20 address lines are available in the I/O channel (expan¬ sion slots), you can set up the address¬ ing as required for the ROMs with your genetics program. There could be inter¬ ference between the Corona's BIOS ROM and the add-on ROM. IBM uses 40K bytes out of the 48K bytes of reserved ROM space, and I suspect that the Corona uses the same space to preserve compatibility with IBM. The 2 732s are programmed at -h 25 V, while the 2 732As require only 21 V. A possibility exists that the HST graph¬ ics-driver program you mention may allow you to run the new Microsoft Flight Simulator on your Corona but not the original version. The new version can be loaded from DOS with the command FS. so a driver can be loaded ahead of the program. The original version could be loaded only by rebooting, which of course wipes out the graphics driver. See your dealer for a demonstration before you buy because there may be other in¬ compatibilities not fixed by the HST driver.— Steve Source Book Needed Dear Steve, As a computer counselor, I help clients with hardware and software purchases, checking sources and buffering clients from high-pressure salespeople. Since I am not affiliated with any computer manu¬ facturer or outlet, I do not limit my clients to the selections of a particular store. However, this lack of affiliation means that I do not receive promotional materials, which limits my effectiveness. Can you recommend any source book that lists various computer manufacturers and gives at least minimal specifications on their products? Patricia Selk Stafford, VA Many sources of information of the type you need are available. First, most computer magazines, including BYTE, publish reviews of microcomputers, pe¬ ripherals, and accessories. These are a good source of unbiased information. Second, you can get promotional infor¬ mation from manufacturers by writing to them on your letterhead, explaining your needs. Their addresses are available in ads in BYTE and other magazines and are frequently published in buyers guides and directories available at most com¬ puter stores and many bookstores. A third source is companies that spe¬ cialize in publishing survey reports on this type of equipment. One of these is Data- pro Research Corporation, 1805 Under¬ wood Blvd., Delran, NJ 08075, (800) 257-9406 -Steve Drive-Head Problem Dear Steve. I bought an Atari 800 and two Atari 810 disk drives three years ago. Some time ago. one of the drives began to have prob¬ lems. Before realizing that it was only a burned-out IC. I measured the head's resistance with a digital tester. Since then, the drive seems to be able to write but does not read. I think I've magnetized the head. I tried to demagnetize it with various methods (including the use of a commer¬ cial head demagnetizer for cassette recorders), but I haven't had any success. If you think I must replace the head, could you tell me where I could buy it? Odino Ciai Buenos Aires, Argentina Digital testers normally do not supply enough current to damage a disk-drive read/write head. You did not say whether you could write to a disk and read it from the other drive. It is possible that the alignment of the head was disturbed when you were making your tests. Try some cross-checks to see if that is the case. Also, check the obvious things, such as dirt on the head and a worn head-load pad. The head-load pad is a little felt pad that keeps the disk in contact with the head. If it is worn, data may not be prop¬ erly read or written. Check the continui¬ ty of the read head with an ohmmeter or your digital tester. If the head coil is open, see if there is a mechanical break in the wiring. If you are convinced that the head is defective, a replacement can be obtained from Micro Peripherals Inc., 9754 Deer- ing Ave., Chatsworth, CA 91311, (213) 709-4202- Steve Sharing Files Dear Steve, We have several Eagle PCs in our analytical laboratory, all of which use two pieces of software: pfs:File and Lotus ( continued ) 48 B Y T E • FEBRUARY 1985 COPYRIGHT © 1985 STEVEN A. CIARCIA. ALL RIGHTS RESERVED. U*X4*J f €***+*/ 4^# SUV ^v*^Ar ^Uv 4 ^* 2 * C^ThsCt^UZZO' ^v /v C&*%£.**+*&+ #^W ^ K#<» SSS^L tribute to S en Better sooner Better Sooner. Computers don't ever get headaches. But the people who use computers do. Quite clearly, as PC Magazine spells out, that's not the only trouble they're having. In case you're tempted to dis¬ miss this as trivial, there are two things you should be aware of: First, more than twenty states are already preparing legislation to force some improvements. Second, if computer users suffer, so does business. Because computers are only as fast and accurate as the people who operate them. You are not a machine. Computers are designed by engineers. They usually know a lot about technology but very little about people. Which is why so many com¬ puters are technically impressive but strangely unnatural to use. Ericsson, in its very Swedish way, has al¬ ways believed that excellent er¬ gonomic design isn't a privilege. It's a right. That it isn't a noble ges¬ ture but demon¬ strably good for business. It's an attitude that has made Ericsson No. 1 in Europe twice over: First, as the giant of European telecommunications. Then again as Europe's biggest workstation company by far. (You couldn't ask for a better marriage of technology for the future.) Here is one example of how they got there. It's the first of a whole range of computers to be introduced in the U.S.A. The Ericsson P C. It's Ergo-Intelligent.™ Ericsson has spent $300 mil¬ lion finding ways to make people and computers work better together. Here are some of the results. Ergo-Screen.™ Aspirin gets rid of a headache. Ergonomics gets rid of the cause. The Ericsson PC monitor has a non-glare screen. With restful amber characters on a specially developed, low- fatigue background color. Even the shape of the actual characters was specially developed to allow easier recognition of difficult to distinguish letters like O and Q. On the monochrome monitor, the resolution is double that of IBM's, so clarity is remarkable. You can even have characters and graphics on the same screen. Ergo-Arm.™ ^^^^^^and muscle pain from inadequate height ^^^^and angle adjustment. Ergo-Arm lets you move your screen exactly where you want it. Better than back pain, wouldn't you agree? Ergo-Touch.™ The keys are full-size and the layout is ergonomically planned for greater accuracy and speed. Yet the keyboard is 20% more compact arjd less than half the weight of IBM's. Even the cord is adjustable to suit left- or right-handers. Ergo-Color.™ Even the color of the case is ergonomically selected to be rest¬ ful to the eye over many hours. I Ergo-Space.™ The system unit is one- third smaller than IBM's. It even fits under your desk in a vertical rack. So your desktop is ^ your own again. IBM Compatible. Many companies claim to be compatible. Some are. Some are stretching the truth. The Ericsson PC boasts the highest compatibility rating there is. It's operationally compatible. You can take advantage of thousands of PC-compatible pro¬ grams already available. In fact, with the best-selling software, the program and data disks are interchangeable with those of the IBM PC. Service. Not Excuses. Ericsson wouldn't give you anything less than on-site or carry-in service. The choice is yours. 3 Free Offers. Ericsson will send you reveal¬ ing literature on ergonomics. Also a detailed brochure on the Ericsson PC. And arrange a hands-on test if you ask for it. Call toll-free 1-800-FOR-ERGO. Computer-induced problems (%) Eye strain 55% Back pain 43% Headaches 30% Shoulder 25% Hand/wrist 18% Neck pain 15% (Source: “Ergonomic Principles in Office Automation" Pub. 1983 by E.I.S. AB, Sweden.) IBM is a trademark, of International Business Machines Corp. Inquiry 108 FEBRUARY 1985 • BYT E 63 @Sanyo 555-2’s IMow 51 Dollars Less For months o competitor hos been selling Sonyo 555-2 s for o bit less fhon Scottsdole Systems no more Of course we still include more free sofrwore like Cl) Sketch (2) 15 Gomes (3) Doremote (4) Diognosrics ond Utilities. (5) P C. Filer ond (6)1.5 Monoger And now we hove rhe best price for the 555-2 os well os the other models. Plus if you mention this od when you buy your Sonyo from Scottsdole you con buy on RS-232 port or on extro 128K of RAM ot the some time for o mere $69 To poraphrose Bogey if you don r buy your Sonyo from Scottsdole Systems you II regret it: moybe not today moybe not tomorrow but soon ond for rhe rest of your life Ask obout our open access package Columbia’s If you re looking for moximum compotibiliry minimum prices notionwide service you I should consider buying o Columbio from Scottsdole Systems Eoch system comes with MS DOS 2 1 Bosico2.0 Perfect Writer Cole Speller Filer Fost Grophs Home Accountont Plus Space Commonders ATI Tutoriols ond T I M IV dora bose manager We hove the best prices on oil Columbios mcluding the new 1600 IV Plus or VP Plus with 256K keyboord ond video cord for Closeout ^Sanyol 100’s| Sonyo MDC 1100 computers with two built-in 360k drives 12 green phospher monitor 60 column/25 line disploy plus over $2000 of the best-selling Micropro software including WordStar ColcStor MoilMerge SpeHstor ReportStor DoroStor CP/M ond BASIC Not o souped up Commodore or o portable with unknown software - but o powerful combina¬ tion of hordwore ond software for business use while they lost The Silver Fox™ Trots Through Lotus like 1,2,3 The Silver Fox hos olwoys run hundreds of programs originally written for rhe IBM-PC Now with its new compatible video board ond GW Basic it runs the most popular ond powerful software m microcomputing including Lotus 12 3 dBASE II Mulfiplon the PFS senes ond even Right Simulator Yet you still get on incomparable combination of hardware ond software ot o price rhot invites componson MORE HARDWARE Eoch Silver Fox comes with on 6066 CPU 256K of RAM monochrome ond color video ond o printer port oil on o single board Plus you get more thon twice rhe storoge of o standard PC 1 6 Megobytes on dual 5 1/4' floppys ond the Fox will reod ond write to oil popular PC formots. Stondord equipment also includes o better keyboord ond c «2" high-resolution green monochrome monitor with o full 25x80 column disploy And olrhouar* the Silver Fox doesn t hove compatible expansion slots you con odd serial ports modems plotters printers joysticks ond 8087 co-processor ond/or o hard d*sk Because rhe Silver Fox is born on o totolly ouromoted line in japan it is simply more reliable than PCs thot ore ossembled by hond So we wepTTI MICTRO (U.S.A.) INC. 1807 S. SAN GABRIEL BLVD. SUITE B SAN GABRIEL, CA 91776 TEL: (818) 288-8422, (408) 738-3105 IDEALER, OEM, DISTRIBUTOR WANTED] IBM is a trademark of I B M. Corp. ly taken its place as a seminal computer science idea. It was central to Hiring's lifelong inquiry into the idea that machines could be intelligent. However, his later, little- publicized ideas about how computing machines might work form the bulk of the biographer's most interesting revisions to the historical record. During his Enigma-deciphering work, Hiring designed and helped construct a machine called the Bombe, an electromechanical device that calculated the permutations of the Enigma’s enciphering rotors. It used relays as switches and was a specialized, high-speed calculating machine. Hiring's work on the Bombe enabled others in the Bletchley Park group to develop the Colossus, the machine that some historians consider the first computer. The Colossus began service in December of 1943, but Tur¬ ing played no part in its design or construction. In con¬ ceiving and building the Bombe, however, and later machines like the Delilah (a telephone-voice enciphering device). Hiring began fermenting the ideas that he would later develop to construct a version of his Universal machine. The distillation of these ideas appeared in "Proposed Electronic Calculator,'' a late-1945 report prepared in con¬ junction with his new responsibilities as senior scientific officer with the Mathematics Division of the National Physical Laboratory (NPL) in Bushy Park, Tbddington. In this report, Hiring laid out plans to construct a machine later named the ACE (automatic computing engine), a proj¬ ect in response to the American scientific community's efforts to build a digital computing machine. The plan outlined the construction of a true automatic electronic digital computer with internal program storage , a fully devel¬ oped scheme broader in scope than those conceived by John von Neumann and others. But to Hiring it was an old idea. An Innovator The stored-program concept was a natural one to Hiring because it was essentially the same idea that he developed in connection with the "instructions on paper tape'' idea that was central to his Universal machine. The ACE report described how the stored-program concept would apply to a computer. The report's discussion of how the machine's instruction tables would be created leads to Hodges's claim that Hiring "... invented the art of com¬ puter programming.'' This art. in Hiring's words, would find that "Instruction tables will have to be made up by math¬ ematicians with computing experience and perhaps a cer¬ tain puzzle-solving ability.'' Hiring later wrote routines, in conjunction with J. H. Wilkinson (see the interview on page 177), to perform floating-point arithmetic that enabled pro¬ grammers to multiply two numbers without knowing what was really happening inside the machine, thus presaging the development of high-level languages. His notes for the ACE report talk about "subsidiary" routines and about "burying" and "unburying'' an area of memory contain¬ ing information vital to a program returning from a sub- 66 BYTE* FEBRUARY 1985 Inquiry 40 BOOK REVIEWS sidiary routine. (This is known today as "pushing" and "popping" the stack.) He even envisioned the use of remote terminals, claiming that "It would be quite possi¬ ble to arrange to control a distant computer by means of a telephone line." Although he left the NPL before the ACE machine was built because he was unable to deal with the politics of bureaucracy Hiring nonetheless walked through the front door of British computing. Taking up the post of Deputy Director, Royal Society Computing Laboratory at Man¬ chester University, he arrived in time to witness the fru¬ ition of the other English attempt to build a computer. Driven by the efforts of M.H.A. Newman (a former pro¬ fessor of Hiring’s and the first reader of "Computable Numbers") and Cambridge mathematician M.V. Wilkes, the university assembled a team of wartime electronics engi¬ neers and Bletchley Park mathematicians to work on de¬ veloping a computing machine. The major difference be¬ tween the Manchester machine and Turing's ACE was the type of memory used. The ACE used acoustic delay lines made of thin tubes filled with mercury, capped on each end by piezoelectric crystals. A signal traveling between crystals through the mercury was "stored" for a microsec¬ ond. The Manchester machine used electrostatic tubes, primarily cathode-ray tubes that stored information as a charged phosphor, refreshed every millisecond, on the tube's screen. Less encumbered by bureaucratic entanglements than the NPL, the university's computer, later called the Mark 1, executed its first program on June 21, 1948. Hiring became a programmer of the Mark 1; for the rest of his life, which presumably ended by his own hand a scant six years later, he worked on research that interested him but led to no significant discoveries. But during this time he exchanged ideas with other Manchester faculty members, including Michael Polyani, whose disdain for the idea of intelligent machines gave rise to the debate that spurred Hiring's creation of the test that later carried his name. The Hiring test was put forth in an article called "Com¬ puting Machinery and Intelligence" in the October 1950 issue of Mind. Its now-famous central thesis was that if a machine's response to interrogation was indistinguishable from a human's, then the machine exhibited intelligent behavior. Hodges’s treatment of the intellectual accomplishments of Hiring's life is a major contribution. The book is a foun¬ tainhead of stimulating thought—discussing Hiring's ideas on the determinism/free-will dialectic, for example—and historical minutiae. Hodges reveals, for example, that Mark 1 program code was written in base 32 arithmetic nota¬ tion, a modification of Baudot teleprinter conventions. Hir¬ ing found it easy to think in this notation and confused his colleagues by writing base 32 numbers on the blackboard when explaining an idea. A slash (/) was the symbol that represented the number 0 in this notation and is the likely origin of today's convention of writing Os with (continued) ID D O ID CC Z o Q. D > Q. O O ID ID CC z < CC CC < £ D ID > < o cc D O LL. O c n 5 cc ID X I- o o ID -> CO D t/> CO < 64K S100 STATIC RAM $ 159° k ? t NEW! LOW POWER! 150 NS ADD $10 BLANK PC BOARD WITH DOCUMENTATION $49.95 SUPPORT ICs + CAPS $17.50 FULL SOCKET SET $14.50 FULLY SUPPORTS THE NEW IEEE 696 SI00 STANDARD (AS PROPOSED) FOR 56K KIT $145 ASSEMBLED AND TESTED ADD $50 features: PRICE CUT! * Uses new 2K x 8 (TMM 2016 or HM 6116) RAMs. * Fully supports IEEE 696 24 BIT Extended Addressing. * 64K draws only approximately 500 MA. * 200 NS RAMs are standard. (TOSHIBA makes TMM 2016s as fast as 100 NS. FOR YOUR HIGH SPEED APPLICATIONS.) * SUPPORTS PHANTOM (BOTH LOWER 32K AND ENTIRE BOARD). * 2716 EPROMs may be installed in any of top 48K. * Any of the top 8K (E000 H AND ABOVE) may be disabled to provide windows to eliminate any possible conflicts with your system monitor, disk controller, etc. * Perfect for small systems since BOTH RAM and EPROM may co-exist on the same board. * BOARD may be partially populated as 56K. 256K S-100 SOLID STATE DISK SIMULATOR! WE CALL THIS BOARD THE “LIGHT-SPEED-100 " BECAUSE IT OFFERS AN ASTOUNDING INCREASE IN YOUR COMPUTER'S PERFORMANCE WHEN COMPARED TO A MECHANICAL FLOPPY DISK DRIVE. PRICE CUT! BLANK PCB (WITH CP/M* 2.2 PATCHES AND INSTALL PROGRAM ON DISKETTE) *69 95 (8203-1 INTEL $29.95) FEATURES: * 256K on board, using + 5V 64K DRAMS. * Uses new Intel 8203-1 LSI Memory Controller * Requires only 4 Dip Switch Selectable I/O Ports. * Runs on 8080 or Z80 S100 machines. * Up to 8 LS-100 boards can be run together for 2 Meg. of On Line Solid State Disk Storage. * Provisions for Battery back-up. * Software to mate the LS-100 to your CP/M* 2.2 DOS is supplied. * The LS-100 provides an increase in speed of up to 7 to 10 times on Disk Intensive Software. * Compare our price! You could pay up to 3 times as much for similar boards. $229°° #LS-100 (FULL 256K KIT) THE NEW ZRT-80 CRT TERMINAL BOARD! A LOW COST Z-80 BASED SINGLE BOARD THAT ONLY NEEDS AN ASCII KEYBOARD, POWER SUPPLY. AND VIDEOMONITOR TO MAKE A COMPLETE CRT TERMINAL. USE AS A COMPUTER CONSOLE, OR WITH A MODEM FOR USE WITH ANY OF THE PHONE-LINE COMPUTER SERVICES. FEATURES: * Uses a Z80A and 6845 CRT Controller for powerful video capabilities. * RS232 at 16 BAUD Rates from 75 to 19,200. * 24 x 80 standard format (60 Hz). * Optional formats from 24 x 80 (50 Hz) to 64 lines x 96 characters (60 Hz). * Higher density formats require up to 3 additional 2K x 8 6116 RAMS * Uses N.S. INS 8250 BAUD Rate Gen. and USART combo 1C. * 3 Terminal Emulation Modes which are Dip Switch selectable. These include the LSI-ADM3A. the Heath H-19, and the Beehive. * Composite or Split Video. * Any polarity of video or sync. * Inverse Video Capability. * Small Size: 6.5 x 9 inches. * Upper & lower case with descenders. * 7 x 9 Character Matrix. * Requires Par. ASCII keyboard. BLANK PCB WITH 2716 CHAR. ROM, 2732 MON. ROM $49 95 SOURCE DISKETTE - ADD $10 SET OF 2 CRYSTALS - ADD $7.50 WITH 8 IN. a ap SOURCE DISK! $00^0 (COMPLETE KIT, (CP/M COMPATIBLE) # ZRT-80 2K VIDEO RAM) Digital Research Computers P.O. BOX 461565 • GARLAND, TEXAS 75046 • (214) 225-2309 Call or write for a free catalog on Z-80 or 6809 Single Board Computers, SS-50 Boards, and other S-100 products. TERMS: Add $3.00 postage. We pay balance. Orders under $15 add 75« handling. No C.O.D. We accept Visa and MasterCard. Texas Res. add 5-1/8% Tax. Foreign orders (except Canada) add 20% PAH. Orders over $50 add 85« for insurance. FEBRUARY 1985 • BYTE 67 BOOK REVIEWS Prini • spreadsheets • text • graphics in any order! riShuffleBuffer • Has Random Access Printing ... an intelli¬ gent processor which stores phrases, pas¬ sages, entire letters, spreadsheets, graphics and commands, then prints the Information in whatever order you want, as many times as you want. ShuffleBufler • Has FIFO printing (first-in, first-out)... acts as a reservoir, accepts data at computer speed, prints on its own, freeing the computer for further tasks. • Has BYPASS Printing .. . permits interruption of long-term buffer operations for straight-thru short-term printing. PLUS Data compression ... expands memory stor¬ age to 4 times. Infinite copy capability. Sim¬ ple erase feature to clear buffer. Compatible with virtually any serial or parallel computer, serial or parallel printer (letter quality or dot matrix) as well as plotters and modems. WRAP it all up with SHUFFLE/BUFFER! Call or write for the dealer nearest you: Interactive Structures Inc. 146 Montgomery Avenue Bala Cynwyd, PA 19004 Telephone: (215) 667-1713 a slash through them (also a good way to differentiate 0 from the letter “O"). TLiring was also fascinated throughout his life by the natural occurrences of flower petals, fir-cone florets, and sunflower seeds in a Fibonacci number sequence. Aside from its contributions to the historical record, this book is a fascinating human story. Turing's disdain of social conventions, his lack of social graces, and his individuali¬ ty brought him both pleasure and pain. Though not a psy¬ chological history, A lan Hiring: The Enigma explores the human side of the man who gave life to some remarkable ideas. Equally important, the study remains aware of the role played by the circumstances of a man's life in the development of his thought. Turing's ideas could have taken a much different tack were it not for a world war and a German cipher machine. The major unanswered question about Alan TUring is why he took his life. There was a homosexual scandal, resulting in a conviction for violation of sexual decency laws, and a subsequent agonizing year of drug treatment with female hormones. But his suicide came a full year after the end of the treatments and probation for his of¬ fense. Hodges closes his book with a 15-page discussion of government debates about excluding homosexuals from sensitive scientific and research posts for fear of their susceptibility to blackmail and coercion. But he never satisfactorily answers the question, Why suicide? Turing's mother never accepted this verdict, claiming that Alan's death was accidental. If Hodges explored the other possibilities, he doesn't reveal his findings. Though minor, there is one flaw in this book: it is plagued with editing and typographical errors, no doubt a result of the complexity of the manuscript. Anyone in¬ terested in the idea of intelligent machines should have no problem overlooking these errors. The book is never¬ theless a major work in the history of computer science. Well indexed and containing 28 pages of bibliographic notes, it is a valuable resource for information about the people who created the technology and the papers they wrote describing their ideas. G. Michael Wose is BYTE's senior technical editor for theme articles. He can be contacted at POB 372, Hancock. NH 03449. COMPUTER GRAPHICS PROGRAMMING Reviewed by Judith L. Maggiore T he Graphical Kernel System (GKS) is the international standard for computer-graphics software. Computer Graphics Programming is an important addition to the stan¬ dard document defining GKS because it explains concepts, examples, and figures that could not be included in the standard document. Gunter Enderle, Klaus Kansy. and Gunther Pfaff are in a good position to write about that ( continued ) 68 BYT E • FEBRUARY 1985 Inquiry 152 WHY INVEST $90 IN MODULA-2? BECAUSE YOU’RE COMPETING WITH PEOPLE WHO BELIEVE THE BEST PROGRAMMING METHOD IS THE ONE THEY ALREADY KNOW. Whoever decided to make the switch from Roman Numerals to a more efficient notation for doing arithmetic should be a hero. His friends probably reacted as if he’d asked them to learn a whole new language. We think you'll see the parallel with Modula-2, especially after you try it. Niklaus Wirth, creator of Mod¬ ula-2, asserts that Modula- 2 is an abstract tool for the control of com¬ puting machinery: “In my opinion, the term programming language is ill chosen and misleading. Pro¬ gram notation would be eminently more appropriate.” We’re not proposing that you learn a “new language.” That would be like arguing the merits of English versus French. But it does make sense to avail yourself of the most efficient known technology for controlling computing machinery -- while your competition is left in the dark ages. Compared to Modula-2, whatever program notation you’re now using is like doing your arithmetic in Roman Numerals. In this limited space, we won’t try to prove that Modula-2 is the best available competitive tool for the serious computer entrepreneur. “Such matters,” according to Frank Herbert (DUNE), “can only be tested in the crucible of survival, not in the play of symbols.” The question is, for $90, can you afford not to test our claim? No other company in history has made it as easy for you to do business. Our entire object-program licensing agreement is on this page. So put some distance between yourself and those who believe the best programming method is the one they already know. MODULA-2 COMPILERS FOR IBM PCs, MACINTOSH, LISA AND APPLE lls — $90 Modula-2 compiler and interpreter with enhanced, bit-mapped graphics are available for Apple’s Lisa, Macintosh and II computers; IBM’s PC, XT and compatibles (MS-DOS 2.0); and others to be announced. ABOUT MACMODULA-2™ MacModula-2 is what 128KB Macintosh users have been waiting for. Over 400 of the ToolBox ROM routines are supported, includ¬ ing pull-down menus, multiple windows, multiple fonts, QuickDraw graphics, the ROM-based serial driver, the sound driver, mouse support, etc. The M-code interpreter reduces memory requirements for 128KB Mac systems, yet executes at up to 75% of native-mode speeds if extensive use is made of the ROM routines. Also included with MacModula-2 is a full¬ screen, mouse-driven editor, a Transfer Menu facility that reduces the need for returning to the desktop between compiles, links and edits, and a Resource Maker that allows the entrepreneur to ship modifiable menus to customers, without shipping the actual Mac- Modula-2 source code. THE IDEAL MODULA-2 ENGINE We’d love to introduce you to the Lilith. It’s a workstation computer with bit-map graph¬ ics, three-button mouse and a bit-slice proc¬ essor. The Lilith was designed by the original Modula-2 team at the Swiss Federal Institute of Technology (ETH) as the ideal Modula-2 engine. Over 200 have been placed into aca¬ demic and research environments. Now Modula Corporation makes a commercial ver¬ sion for your more demanding problems. Just call 800/LILITH2 to hear about customer benchmark reports. SOFTWARE LICENSE Join us in a commitment to personal integ¬ rity. Our prices are fair. Unlike program license agreements you can’t help but violate, we’ve tried reTHINKing a few things. Perhaps we can start a trend that makes violation of another’s intellectual property unfashiona¬ ble. Without all the “whereas” and “herewith” language, here’s our attempt to transfuse integrity into the entrepreneurial bloodstream: You agree to treat the information we send you as if it were a book, with the exception that you are granted the right to make backup copies. Simple, Pournelle logic! In the spirit of the "book" analogy, you are free to take your book to another house (or computer) with you. This, of course, means someone at your own house (or computer) cannot simultaneously read it. Similarly, you can loan your book to a friend. But there can be no possibility you can read it at the same time You may sell your book, only if the new owner agrees to these same conditions (which means a copy of this agreement, signed by the new owner, must be sent to us). Finally, just as in a book, it lacks integrity to substitute your name for that of the legitimate author. As for our warranties: Defective software may be returned within thirty days for a replacement But just like any other self-help book, its value to you is what you make of it. No matter how badly it damages your life, or that of your customers, we re not obligated to do anything whatsoever about it. Now, it’s time to plqy “How'd- you-like-to- see-something-rea//y-scary?” When you send us your check or credit card authoriza¬ tion, enclose this page (or a copy) with an original signature. Violate this agreement of integrity, and you’ll get a doozer of a course in integrity at the claws of our attorneys; and they'll tell your mother. MODULA CORPORATION reTIIINK 1673 West 820 North, Provo, UT 84601 801/375-7400 or 800/LILITH2 In addition to information on the Lilith, please send me the Modula-2 Compiler at $90 for the □ IBM PC or XT, or the Apple □ lls, □ Lisa or the □ Macintosh. Utah residents include 6% sales tax. $10 handling and postage for all orders. $_Total amount enclosed/authorized. My signature below, besides being a possible credit card authorization, indicates my agreement to all the above terms. □ My check is enclosed □ Please bill my □ VISA / □ MASTERCARD Card number Expiration Signature Date Print/type full name Title Company Phone Address City State Zip Copyright © 1985 by Modula Corporation IBM'" IBM Corp., AppleApple Computer Inc., MS T “ Microsoft., Advertising by The Rick Bennett Agency, 408/258-2708. Inquiry 224 FEBRUARY 1985 • BYTE 69 Inquiry 50 cnmiK TfllTTTTl V y ftllllllt edicol and Dental rJ-^i • Appointment Scheduling • Private Patient Billing • Third Party Claim Form Preparation • Medical Diagnostic Records • Word Processing • Continuous Financial History ISin. MAC MS-DOS. TM WANG 4 CLrJ>: xinniixy Xjiiiimy MICRO COMPUTER DIVISION 55722 SANTA FE TRAIL Yucca Volley, Ca. 92284 ( 619 ) 365-9718 Macintosh meets Epson. For under $130, HanZon can enhance any Epson printer to Apple® standards. The HanZon Universal Interface Card plugs into your Epson MX, FX or RX. This combination delivers total compatibility with any software—even MacPaint™ and AppleWorks— that you run on the Macintosh™ or Apple lie. Ask your Epson dealer or call (206) 487-1717. HAN/ON Compute* Enhancements 18732 142nd Ave. N.E.. Woodinville. WA 98072 Apple and MacPaint are trademarks of Apple Computer Inc Macintosh is a trademark licensed to Apple Computer Inc BOOK REVIEWS standard because they have been involved in its design and review for several years. The history of computer graphics has been one of frag¬ mentation and separation. The subject is broad, covering areas including computer-aided design (CAD), business graphics, mapping, video games, and more. Each area had its own preferred hardware for displaying pictures. CAD applications used vector-refresh devices, while business graphics used storage tubes and pen plotters. The intro¬ duction of raster devices led to even more diversity. Soft¬ ware was tailored to take advantage of the capabilities of a particular device. As well as being device-dependent, computer-graphics software was also application- and sys¬ tem-dependent. There was little relation between the soft¬ ware used to design circuits and the software used to draw histograms. This situation meant that graphics programs were useful only for the application, operating system, and device for which they were specifically designed. As graphics devices became less expensive, more peo¬ ple discovered computer graphics. The advantages of be¬ ing able to display data as pictures are obvious. Once the prohibitive cost was removed, computer-graphics users proliferated. These new users of computer graphics were not interested in designing whole new systems—they were interested in using computers to draw pictures. At this point, the field was ripe for a standard. The de¬ velopment of this standard began in the mid 1970s, with many organizations participating. In the United States, standardization was initiated in 1974 by the Association for Computing Machinery's Graphics Standards Planning Committee, part of the special-interest group on computer graphics. This work was taken over by ANSI (American Na¬ tional Standards Institute) committee X3H3, one of the major contributors to the review of GKS. The work of all the committees in various countries was consolidated under the auspices of the International Standards Organization (ISO) and eventually led to the development of GKS. The authors estimate that there were 50 man-years of effort devoted to the development of the graphics standard. Computer Graphics Programming has something for every¬ one. The novice to computer graphics will find the defini¬ tions of graphical terms and concepts very valuable. Ex¬ perienced graphics users and experts will find the book the best help available for understanding GKS. Applica¬ tions programmers who plan to use an implementation of GKS will probably use this text daily as a reference. Im¬ plementors of GKS will find the sections on device and language interfaces and implementation styles invaluable. Students and teachers on either the undergraduate or graduate level can use Computer Graphics Programming as a text or reference for a course in computer graphics. Well Organized The authors have organized this book very well. Section I contains an overview of the standard's general concepts ( continued ) 70 BYTE • FEBRUARY 1985 Inquiry 130 The Toshiba P1351 is the ultimate 3-in-One printer. Other printers try to approach our level of graphics sophistication. Other dot matrix printers can come close to us on speed. And there are even a couple of printers with a 24-pin dot matrix print head similar to ours. But our combination of graphics, speed and letter quality makes the Toshiba P1351 stand alone. Intelligence with an eye for detail. The Toshiba P1351 comes with one of the most advanced print heads in the industry. A unique high-density 24-pin dot matrix print head that produces amazingly sharp 180 x 180 dot-per- square inch, fully dot-addressable graphics. So you get unbeatable high-resolution charts, graphs and illustrations no one can duplicate. And it's supported on popular graphics software like Lotus 1-2-3™ Intelligence that’s unlimited. The Toshiba P1351 does more than give you access to three resident typefaces for word processing. It also gives you the ability to down¬ load an unlimited variety from a growing library of IBM-compat¬ ible software typefaces. They're all stored on floppy disk. And you get programming access to five typefaces at any time. Intelligence that’s letter-perfect Our unique print head gives you letter-quality results from any typeface you choose. And with Qume SPRINT 5™ emulation, the Toshiba P1351 can give you those results from almost every popular word processing program. Of course, it's fully IBM-compatible. And there's even an optional forms tractor or sheet feeder for paper handling versatility. Intelligence and speed. You won't have to sacrifice speed for letter-quality printing. Because the Toshiba P1351 gives you the best of both. Sharp, clean letter copy at 100 cps. And even faster draft copy at 192 cps. Intelligent and dependable. The Toshiba P1351 3-in-One™ printer is also engineered and built with a very intelligent attitude toward depend¬ ability. And optional third party 24-hour service is also available. That's why, over the past four years, more than 200,000 intelligent buyers have depended on Toshiba 24-pin printers. So make the intelligent move. To the Toshiba P1351, the first 3-in-One printer with a good head for graphics. And everything else. For more information, call 1-800-457-7777, Operator 32. Lotus and 1-2-3 are trademarks of Lotus Development Corporation SPRINT 5 is a trademark of Qume Corporation In Touch with Tomorrow TOSHIBA TOSHIBA AMERICA. INC. Information Systems Division Inquiry 314 FEBRUARY 1985 • BYTE 71 Micros. Mice. When you can’t stop by your local Micro Mart Store, call us direct. ORDERSONLY 1 - 800 - 241-8149 At Micro Mart, we’ve got our finger on the pulse of the microcomputer industry. And, from our retail stores to our telemarketing divisions, we’re in touch with the very latest developments, the newest products and the cutting edge of expert advice. When you need the right product at the right price, remember the sales, service and support our local store experts and national distribution center can give you. So if you can’t drop by your local Micro Mart Store, let us point you in the right direction. Ask for your best price and expert advice. Dot Matrix EPSON FX80/100._ EPSON RX80/100._ EPSON LQ1500._ MAYNARD Complete line._ Graphic Cards EPSON JX80, color printer. OKIDATA 92 & 93, ML84, (200cps.), w/opt. IBM PROMS, Pacemark 2410, (350 cps)- TOSHIBA P-1351 & 1340. _$1295/$799 DATAPRODUCTS PRISM 8050 Color, 132col., 200 cps._$1295 STARMICRONICS Complete line._ STB Graphics Plus 11, color & mono, w/par. port & software-$369 HERCULES Mono & color graphics cards support Lotus._ PLANTRONICS ColorPlus + , HiRescolor bd., par. port w/software.. AT&T Personal Computer. Innovative hardware for a wide range of business applications. 128 K expandable to 640K, 2-360K, DS/DD Disk Drives, Monochrome Display, IBM Compatible_Special introductory price. TEXAS INSTRUMENTS 855. _$729 NEC Pinwriters, P2&P3, 180 cps_ DIABLO C-Series C-150. Color inkjet, IBM color compatible._$985 letter Quality N EC Spin writers 2050,3550, 8850. _ DIABLO 630/630ECS _$1395/$1795 C-ITOH Starwriter, (40 cps), Printmaster, (55 cps)_$950/$ 1299 We carry a full range of form handling options. Floppy Disk Drives_ TANDON TM100-2, DD/DS, 360K. 1/2 HEIGHT DISK DRIVES From SHUGART, TEAC. PC, XT & AT compatible_$119 Hard Discs_ Micro Mart carries all the major brands If you don’t see it—ask for it. PEACHTREE PERIPHERALS P-10,20&50, auto boot, int. & ext_Start @ $845 SYSGEN 10& 20 Meg w/streamer tape..$2395/$2795 SYSGEN Image & Quickfile, streamer tape back-up for your IBM XT & AT._ BERNOULLI TECHNOLOGY Hard Disc Subsystems._$2895 MAYNARD Complete line of hard disc subsystems.. TECMAR Graphics Master, HiRes color & mono supports Lotus._$459 QUADRAM QUADCOLOR I&II, color cards._ PARADISE SYSTEM Multi-display or Modular Graphics Cards, color & mono, par. port._Starting @ $299 Software _ Accounting SORCIM/IUS Complete line including windows.. BPI ACCOUNTING Complete line._ Spreadsheets & Integrated Packages ASHTON-TATE Framework. _$345 LOTUS Symphony and Lotus. _ MICROSOFT MultiPlan, w/templates._ k MDBS Knowledge Man._ ^SORCIM SuperCalc3, Vers. 2.0_ i SPI Open Access. _ Enhancements & Utilities SOFTCRAFT Fancy Font.. FOX & GELLER Complete line of enhancements for dBase II, III &Rhase 4000. NORTON Utilities._$65 ROSESOFT ProKey 3.0. _$89 LEADING EDGE Color PC, 256K, 2-360K DS/DD Disk Drives, Amdek Color 600._ $1995 MINDSET Personal Computer, 256K, 2-360K DS/DD Disk Drives, W/Mindset Mouse._$1795 Networking/Protocol Conversion_ SNA & BISYNC 3780, 5251,3274,3278.. EMERALD Hard disc drives w/back-up_ Chips INTEL 8087 High speed coproc. $169^fc 64K RAMCHIPS. $35/64K^ 256K RAMCHIPS. PC TURBO 186 by ORCHID. 80186 coprocessor board_$829 IRMA/IRMA LINE Replaces 3278’s w/PC’s_$899/$ 1099 FORTEGRAPH for IRMA , upgrades IRMA to 3278 graphics capability.. IRM APRINT Enhances IRMA graphics._ PCnet By ORCHID, complete line._Start @ $299 BLUE LYNX 5251 Mod 12 & 3276 Emulators by TECHLAND_ SANTACLARA PC Terminal_ Printers & Plotters_ Thousands in stock. HOUSTON INSTRUMENTS Plotters and Digitizers. Multifunction Boards We have a complete line of multifunction bds . compatible with the Portable, AT, XT, & Jr, SIX PAR 64-384K, multifunc. MEGAPLUS 64-512K, max. 8 func. I/O PLUS Ser.,Clk.,Splr., Ramdisk,opt. 2nd Ser., Par. & Game.. QUADRAM QUADBOARD, 64-384K multifunc- TECMAR CAPTAIN, 64-384K, multifunc._$249 TALLTREE J-RAMII, 0-512K, w/software._ TALLTREE J-RAMIIX, 0-512K, w/software_$129 MICROLOG BABY BLUE II, 64-256K, Z80 coproc., + software._ ORCHID PC Blossom, 64-384K, w/opt. PCnet Piggy-Back_$259 Atlanta, New Orleans, Nashville, Miami, Tampa, Orlando 72 BYTE • FEBRUARY 1985 Advice. Price. CENTRAL POINT SOFTWARE Copy II PC. _$35 ATI Training _$55 SOFTSTYLE Set FX + and Printworks. Printer control packages_ SIDEWAYS Inverts printout_$45 BORLAND Sidekick. _$39 LIVING VIDEO TEXT Think Tank_ Compilers & Language Tools LATTICE C-Compilers._$299 MICROSOFT Complete line_ WORDTECH The dBase compiler_ DIGITAL RESEARCH Complete line_ BORLAND Turbo Pascal, Turbo Toolbox and more_$39/each Graphics & CAD Zsoft PC Paint Brush, mouse driven graphics._$95 DECISION RESOURCES ChartMaster/Sign-Master pkgs._ AUTODESK AutoCAD. Complete line. EN ERTRONICS Energraphics, graphics & CAD package._ MICROPRO ChartStar. _ Microsoft Mouse. Bus or serial mechanical mouse, comes with Mouse Menu software. Works with WORD and other popular software_$159 PC Mouse,/ro/w Mouse Systems. Serial optical 3-button mouse with Pop-Up™ Menus and PC Paint software. Preconfigured for all the most popular software._$159 MICROSOFT Chart._ DIGITAL RESF;ARCH Presentation Master_ Communications MICROSTUF CROSSTALK XVI. _$99 HAYES SMARTCOMII. _ Word Processors MU LTIMATE w/Spelling checker & tutorial .$259 SAMNA III, wd. processor._ MICROSOFT Word, w/or w/out mouse._ LIFETREE Volkswriter Deluxe. _ MICROPRO WordStar Pro Pack & Series2000. _$245 SSI WordPerfect. _ WORDMARC Wordmarc. _ Office & Project Planning Call for our Tax and Tax Planning packages. H A RVARD Harvard Project Manager. _$249 IUS Easy SalesPro _ MICROSOFT Project. _ Data Base Managers MICRORIM 4000ox6000, Report Writer&Clout options._ GMS SYSTEMS Power-base. _ WARNER SOFTWARE The desk organizer._ ASHTONTATE dBase II& III _ MICROSTUF Infoscope. _ Modems_ FiAYES Smart modem 300, 1200, & 1200B. _ RIXON 1200-4800BAUDsync.&async. models.. ANCHOR AUTOMATION Signalman Mark XII. _$259 VEN-TEL 1200 BAUD Half Card for the IBM Portable & XT._ POPCOM Popcorn, int. and ext. w/voice & data comm_ Miscellaneous Hardware Service & Repairs *On-Site —We have hundreds of service locations nationally. * Depot— Our National Service Center is one of the fastest in the US. *We have— A wide variety of services available. Just call us. ©Copyright Micro Mart 1984. Technology Corporate Campus 3159 Campus Drive Norcross, Georgia 30071 & Accessories DYSAN Diskettes, PC, XT & AT compatible_ MICRO MART Diskettes DS/DD, 7 yr. war._$19/10 KEYTRONICS5/50c£ 5151. Keyboards._ LQ SHEET FEEDERS Sheet feeders.. CURTIS Accessories._ For information or the store location nearest you, call ( 404 ) 449-8089 HAYES Mach II & Mach III joysticks.. PENCEPT Penpad, soft ware avail.. TOUCHSTONE TECHNOLOGY Touchstone I. Ten key pad w/ cursor control._ QUADRAM MICROFAZER, print buffer, 8-128K_ TR1PPELITE Back up power supply 200-1000 watts, and ISOBA R surge protectors, 4 & 8 plug. Monitors & CRT’s_ PGS MAX 12, amber, 720h x 350v._ PGS SR-I2, 690h x 480v, w/dual scan cd._ PGS HX-12, 690 Dot RGB._ QUADRAM QUADCHROME, 690 Dot RGB_ $775 AMDEK COLOR 300, 500, 600, 700, 710, 725, new complete line of HiRes RGB’s w/new low prices._ AMDEK 300A/300G, composite monitors _ $139/$129 AMDEK 310A, amber w/3 yr. war.. WYSE Terminals, 100,75,50, entire line in stock.. YOUR PERSONAL BLUE CHIP CARD MICRO MART 1234 567 890 123 m Micro Mart has financing options available. Ask for a Micro Mart Blue Chip Credit Card application today. $439 America’s PC Specialist. IBM is a registered trademark of International Business Machines Corporation. AT&T, Leading Edge, Mindset, Microsoft, Mouse Systems and their products, respectively, are trademarks of AT&T Information Systems, I eading Edge Products Inc., Mindset Corporation, Microsoft Corporation and Mouse Systems Corporal ion. All Prices are subject to change without notice. Ft. Lauderdale, Louisville, Tyson’s Corner, Rockville, Pittsburgh. Inquiry 211 FEBRUARY 1985 -BYTE 73 Inquiry 293 Sp COMPUTERS INCORPORATED COMPARE AND SAVE SOFTWARE Lotus 1-2-3 $309 Symphony 440 R Bos© 4000 309 D Bos© II 309 Sup©rCalcV©r. 245 D Bas© III 399 Framework 399 Project Mgr. 230 Wordstar Propak 390 Sidekick/Pascal 75 Home Accountant 110 The Accounting Partner GL/Ap/Ar/pr 285 Fortran 269 Multiplan w/budget 149 Microword w/Mouse284 C Compiler 310 PFS Holiday Pak 199 Multimate 275 Wordstar Propak 390 Knowledgeman 299 Fit simulator 37 WE SHIP OVERSEAS TEL: (415) 340-1006 851 Burlway Road *303 Burlingame, CA 94010 U.S.A. Telex: 470477 Mons HARDWARE AST 6 pack Plus 64K $265 AST Megapack 256K 395 64K (9 set) Chips 44 Hercules Monochrome 370 Tallgrass 12 to 70 MB call PCnet Blossom 64K 450 Modem 300/1200/1200 Hayes $199, $499, $425 USI Monitors Green/ Amb 130 PRINTERS Juki 6100.410 Epson Fx 100.690 Okidata 92.399 NEC 3550.1625 Qume Pro 20.599 We also carry Hundreds of Other Products at Discounts TERMS: Prices reflect 3% Cash Prepaid Discount on Cashier's Check. MO, Bank Transfer. California residents add sales tax. All prices sub¬ ject to change. Shipping UPS surface minimum $4.00 within USA continent. Monday thru Friday 9 a.m. to 5:30 p.m. We ship overseas. Real-Time Multitasking Executive ■ ROMable (< 3K) ■ No royalties ■ Source code included ■ Language interfaces ■ Low interrupt overhead ■ Inter-task messages Options: • C, Pascal, PL/M, Fortran Interfaces • CP/M-80 BDOS interface • IBM PC DOS interface • Extended memory (> 64K) •Configuration Builder Utility • Resource Manager • Buffer Manager • Integer Math Library • Real-Time C Library AMX, AMX86, Real-Time C areTM of KADAK Products Ltd. Z80 isTM of Zilog Corp. CP/M-80 isTM of Digital Research Corp. IBM, PC DOS areTM of IBM Corp. KADAK Products Ltd. AMX (for 8080) $800 U S. JL 206-1847 W. Broadway (for 6809) $950 U.S. sk Vancouver, B.C., Canada (for 8086) $950 U.S. ■■ V6J1Y5 Manual only $ 75 U.S. Telephone: (604) 734-2796 (specify processor) Telex: 04-55670 BOOK REVIEWS and vocabulary. The precise and clear definitions of graph¬ ical terms and concepts presented in this section should go a long way toward clarifying the vocabulary we need to talk about computer graphics. These basic terms and concepts form the basis of the more formal description of GKS found later in the book. Included in this section are chapters on the principles and goals used in the design of GKS and the interfaces to GKS. Since GKS is designed to be device- and system-independent, it must be inter¬ faced on one side to a specific language and on the other to the graphical hardware. Chapter 6 is especially useful because here the authors provide concise definitions of all the main ideas used in GKS. These definitions are followed by chapters that supply additional detail and amplification about each concept. The second section describes the process of the devel¬ opment of the GKS standard. The authors sketch briefly the history of computer graphics and the events that led up to the final GKS document. The most interesting part of this section is chapter 3, which presents some of the issues the developers of GKS had to resolve. Arguments pro and con on each issue and the ultimate decision of the committee are discussed. Section III, the largest part of the book, is a detailed description of the functional capabilities of GKS. Enderle, Kansy. and Pfaff explain all the functions and data struc¬ tures relevant to GKS. The definitions of the functions are presented in two parts. First is the language-independent version, taken directly from the GKS standard document. Next is the FORTRAN definition. Following the function definitions are examples of programs or program fragments using GKS. The examples are presented in both Pascal and FORTRAN and very clearly show typical uses of GKS by applications programmers. The book also includes some exercises in¬ tended to help students and teachers. Section IV will be most useful to the implementors of GKS. those people who will write the subroutine package that makes GKS available to applications programmers. This section covers methods of implementation, imple¬ mentation styles, interfaces to devices, and interfaces to specific languages. A mapping of the abstract data struc¬ tures of GKS to FORTRAN data structures is included. Other topics in this section are graphics metafiles, valida¬ tion of GKS implementations, and three-dimensional ex¬ tensions to GKS. Evaluation This book clarifies an area that is often confusing and obscure. Tferms and concepts are excellently presented. Anyone seriously involved in the use of GKS will find this book invaluable. More pictures and illustrations should have been in¬ cluded. A book on computer graphics needs lots of pic¬ tures. The second problem is minor. The use of the English language seems awkward at times. ( continued) 74 BYTE • FEBRUARY 1985 Inquiry 335 it C did for Programming Mark Williams has done for C Programming The C Pr< from MWC86 gets your C programs run¬ ning faster and uses less memory space than any other compiler on the market. Then csd, Mark Wilhamwfcvolutionary C Source Debugger, helps you debug faster. That’s The C Progranmiing Sys¬ tem from Mark Williams Compafl MWC86 MWC86 is the most highly optimized C compiler available anywhere for the DOS and 8086 environment. The bench¬ marks prove it! They show MWC86 is unmatched in speed and code density. MWC86 supports large and small models of compilation, the 8087 math coprocessor and DOS 2.0 pathnames. The compiler features common code elimination, peephole optimization and register variables. It includes the most complete libraries. Unlike its competi¬ tion, MWC86 supports the full C lan¬ guage including recent extensions such as the Berkeley structure rules, voids, enumerated data types, UNIX* I/O calls and structure assignments. Quality is why Intel, DEC and Wang chose to distribute MWC86. These in¬ dustry leaders looked and compared and found Mark Williams to be best. User Friendly MWC86 is the easiest to use of all compilers. One command runs all phases from pre-processor to assembler and linker. MWC86 eliminates the need to search for error messages in the back of a manual. All error messages appear on the screen in English. A recent review of MWC86 in PC World, June, 1984, summed it up: *Unix is a Trademark of Bell Laboratories. “Of all the compilers reviewed, MWC86 would be my first choice for product development. It compiles quickly, pro j duces superior error messages, and r j 'enerates quick, compact object j _ lib rary is small and fast the industry C libraries /’ csd C Source Debugger ; not content to write the best C compiler on the mar¬ ket. To advance the state of the art in software development, Mark Williams wrote csd. csd C Source Debugger serves as a microscope on the program. Any C expression can be entered and evalu¬ ated. With csd a programmer can set tracepoints on variables and expressions with full history capability and can single step a program to find bugs. The debugger does not affect either code size or execution time, csd features online help instructions; the ability to walk through the stack; the debugging of graphics programs without disturb- SIEVE Time in Seconds H Large Model ■ Small Model Size in Bytes □ Large Model ■ Small Model MWC86 DRI ing the program under test; and evalu¬ ation, source, program and history M^indows. csd eases the most difficult part of ' development — debugging. Because csd debugs in C, not assembler, a pro¬ grammer no longer has to rely on old- fashioned assembler tools, but can work as if using a C interpreter — in real time. The C Programming System from Mark Williams now supports the following libraries: Library Company Windows for C Creative Solutions Halo Media Cybernetics PHACT PHACT Associates The Greenleaf Functions Greenleaf Software Btrieve SoftCraft The C Programming System from Mark Williams The C Programming System from Mark Williams delivers not only the best C compiler for the 8086 but also the only C source level debugger. That’s why it does for C programming what C did for programming. The Mark Wil¬ liams C Programming System gives the programmer the MWC86 C compiler and the csd C Source Debugger for only $495. Order today by calling 1-800-MWC-1700. Major credit cards accepted. Technical support for The Mark Wil¬ liams C Programming System is pro¬ vided free of charge by the team that developed it. Mark Williams Company 1430 W. Wrightwood Ave. Chicago, 1L 60614 Inquiry 197 FEBRUARY 1985 • BYTE 75 BOOK REVIEWS Inquiry 349 for Dealers. Inquiry 350 for End-Users. Powerful Single Board Computer Includes CP/M Plus on Disk Z80 CPU M5C ICO uses the most popular microprocessor, the Z80. as its mam CPU MSC ICO runs at 4 MHZ without any wait states The whole system is incorporated into a high quality four layer PC board measuring only 145mm X 250mm |I0" x 6‘] The system requires only I 2 Amps at + 5 Volts and 0 1 Amps at +12 Volts Banked CP/M Plus Included CP/M Plus (3 0 banked| is included on disk with all manuals CP/M Plus is upwardly compatible with CP/M 2 2 and includes the SID debugger, the MAC and RMAC macro assemblers and the LINK-80 loader MSC-ICO's custom BIOS provides support for multiple disk formats and I/O device control System specific software for disk formatting, disk copying, defining function keys and modifying screen attributes is also included. 128Kb RAM One 64K bank of memory is devoted to CP/M and its disk cache blocks, while the other 64K bank is devoted to applications programs This arrangement not only provides more memory for programs, but it significantly increases the speed of disk I/O Internal Floppy Disk Controller MSC-ICO handles Shugart/AN5I standard floppy disk drives in a variety of sizes and formats • 8 SSSD. 243Kb •8 DSDD. 1.2Mb • 5-1/4 DSDO. 320Kb • 5-1/4 DSQO. 800Kb •5-1/4 QHD. 1.2Mb Up to four drives of any density or size can be con- netted to MSC-ICO Both 5 1/4 and 8 inch connectors are on-board to make disk drive connections easy High Speed CRT Controller MSC-ICO contains an 80 x 24 line memory mapped CRT controller Video output is composite or separate to match any monitor Attributes such as insert and delete line, reverse video, and semigraphics are supported Cursor escape sequences are an extension of DEC'S VT52 and can be easily reprogrammed to emulate most standard terminals $599 Assembled. Tested Includes CP/M 3 0 on disk New Items: • MSDOS Coproct ssor • 68000 C , • 80X24 LCD Driver • Ha/d/RAM Disk • i . Single Boar. : Mountain 8ida Oomouter Video, 128Kb. CP/M Plus™, and more Two RS232C Ports MSC-ICO communicates with printers, modems, plot¬ ters. and other standard RS232C devices through Its two serial ports These ports are independently pro¬ grammable for baud rates, stop bits, data format and parity Synchronous communication on Port A is jumper selectable Centronics Parallel Port A standard Centronics parallel port allows MSC-ICO to communicate with printers and other parallel devices Parallel Keyboard Port MSC-ICO connects to any ASCII parallel keyboard of positive or negative polarity with a negative strobe A type-ahead buffer and programmable function keys are provided by MSC-ICO's custom BIOS 16 Bit TTL I/O Port This port allows you to access printers, relays. LED's. DAC's, ADC s, switches, EPROM programmers and many other devices Clock Calendar The battery backed up clock calendar provides time and date information to CP/M for file stamping The clock can also be accessed from applications programs External Bus MSC-ICO's 50 pin bus connector provides expansion for a hard disk controller. RAM disk, graphics or a 68000 system Please call or write for more information on these options MSC-ICO Saves Time and Money With MSC-ICO's low cost and quality worksmanship. why spend time, energy and money to design, debug and test your own system Whether you require single units or large volume quantities we can meet your needs Order your evaluation unit today' Manufactured by Southern Pacific Limited 1-3-18 Tsurumichuo Tsuruml, Yokohama, JAPAN 230 9 045 501 8842. Telex 3822320 SPACIF J USA Distributor ARTISOFT, Inc. P O. Box 41436. Tucson. Arizona 85719 9 |602J327-430S TIME Time is money! Moore helps you save both with the most complete catalog selection of computer supplies and the kind of old fashioned service only modern technology can provide. Request your FREE catalog today! Mail this coupon to: Moore Computer Supplies Catalog P.O. Box 20, Wheeling, IL 60090 Or call toll-free: 1 - 800 - 323-6230 < i YOUR NAME TITLE BUSINESS PHONE COMPANY NAME ADDRESS CITY STATE ZIP CODE COMPUTER MAKE AND MODEL TYPE OF BUSINESS NO. OF EMPLOYEES Dept 164921 It's too early to tell what effect GKS will have on the computer-graphics industry. It will be interesting to see how GKS stands up in light of recent developments. What¬ ever the future of GKS. it is a very important development now, and Computer Graphics Programming is indispensable to anyone wishing to understand and use GKS. Judith L. M aggiore programmed graphics for three gears prior to teaching computer science classes and computer-graphics seminars at Keene State College (Mathematics Dept., Keene, NH 03431). DATA STRUCTURES AND PROGRAM DESIGN Reviewed by Edward Brent T he boundary between writing programs that merely get by and designing programs that perform complex tasks efficiently is one that many programmers never cross. Yet it is a boundary that is fundamental to the develop¬ ment of programming as a discipline. People who program by the seat of their pants and hold their programs together with the electronic equivalent of spit and baling wire must give way to trained programmers who develop finely crafted, efficient, and maintainable programming solutions to difficult problems. The selection and design of ap¬ propriate data structures and algorithms is a crucial ele¬ ment of professional-quality programming. The central role of data structures in professional programming is in¬ sightfully examined by Robert L. Kruse in Data Structures and Program Design. Audience In the preface Kruse indicates this book includes all the topics of specific courses recommended and offered by ACM (Association for Computing Machinery) Curriculum 78. The prerequisite for the book is a first course in pro¬ gramming. or equivalent experience, and elementary ex¬ perience with Pascal. I find the book suitable for a second course in computer programming. However, it could also be of value to pro¬ grammers not enrolled in a computer science course but interested in upgrading their programming skills. But the issues of selecting appropriate data structures should not be relegated to a second course on computing. Because the selection of data structures is such an im¬ portant aspect of quality programming, it should not be left for more advanced books. Kruse consistently highlights the distinction between abstract structures and their implementations. He begins by addressing the programming principles of top-down refinement, program design, and review and testing; he illustrates these principles with extended examples. In chapters 2 and 5, Kruse discusses the more impor¬ tant structures: stacks, queues, and other lists in both con¬ tiguous and linked representations and binary trees. He ( continued ) 76 BYTE* FEBRUARY 1985 Inquiry 225 Genlech COMPUTERS IBM SYSTEM SPECIALS 256K. 2 Drives $Call 256K 2 Drives, color graphics, printer adaptor & PGS HX-12 monitor $2499 256K 1 Drive & 10 MB Hard Disk $2459 TWO USER SYSTEM (mcl 10 MB Advanced Digital PC Bd & Terminal) $3859 COLUMBIA MPC 4220 (256K. 2 Drives) SCall PROFESSIONAL (10 MB. w/tape backup) $Call VP 2220 (Portable w/256K) SCall COMPUPRO 10 (10 MB Multi-user) SCall CORONA PC-22 (256K. 2 Drives) SCall Portable PC-22 (256K. MS-DOS 2 0) SCall CORONA PC-22 (256K. 2 Drives) SCall Portable PC-22 (256K, MS-DOS 2 0) SCall FUJITSU MICRO 16s (8086/Z80A) $1995 MORROW DESIGNS Pivot. MD2. MD3 MD5. MD11 SCall NEC PC-8801A (Z80A. 64K. 2 Drives. 12" Monitor. WordStar MailMerge. Multiplan NBASIC) $1149 APC-III Specials w/ printer & Software SCall SANYO MBC 550-2 (8088 128K. 1 DSDD Drive (320K) WordStar. CalcStar. EasyWnter) SCall MBC 555-2 (550-2 Plus 1 Add Drive, Mailmerge. Spellstar & Infostar) SCall SEEQUA Chameleon/Plus (8088/Z80) SCall SWP Micro Computer Products Co-Power-88 Board (8088 w/ 256K 1 MB) For KAYPRO 2, 4 A 10 SCall TELEVIOEO 1605 (8088 128K 2 Drives. DOS 2 0) SCall TPC-II (Portable Version of Above) SCall ZENITH Z-151-52 (8088. 2 Dr. 320K RAM) SCall ZW 151-52 (1 Dr. 10 MB Hard Disk) SCall FOR IBM PC/XT/AT & COMPAQ ADVANCED DIGITAL Multi User Bd (8086) SCall AST RESEARCH INC ADVANTAGE" (Multi Ftn Bd for AT) SCall MEGA PLUS II (64K. Ser & Clk) $279 SIX PACK PLUS (64K. Ser/Par. Clk) S259 MONO GRAPH PLUS Card SCall QUADRAM EXPANDED QUADBOARD (S. P. Clock. Game) 64K $259 384K $429 QUAD 512+ (Serial Port. Maximum 512K) 64K $229 256K $349 QUADCOLOR I (Video Board) $199 HERCULES Graphics Board (720x384) $339 Color Card (RGB Composite. Parallel) $169 INTEL 8087/80287 Math Co-Processor SCall KEYTRONIC Deluxe IBM Keyboard (5151) $199 MA SYSTEMS PC Peacock (RGB & Composite Parallel Port) $209 MICROLOG Baby Blue II (Z80B 64K Parallel & Serial Ports Clock/Calendar) $529 ORCHIO PC Turbo (80186 CPU. 8 MHz) SCall PANASONIC JA 551-2 (DSDD Thinline Drive) $149 PARADISE SYSTEMS Multi-Display Card $299 Modular Graphics Card $285 Module A/B SCall PLANTRONICS ColorPlus SCall STB SYSTEMS Graphix Plus II $319 Super Rio w/64K $289 TANDON TM 100 2 (DSDO Disk Orrve) $179 TEAC FD 55B (DSDD Thinline Drive) $159 TECMAR Graphics Master (640x400 RGB) $489 The Captain (w/ OK) $239 1st Mate (w/OK) $219 TSENG LABS Ultra Pak $489 HARD DISK APPLE MACINTOSH HARO DISKS NOW AVAILABLE! CORVUS. DAVONG & TECMAR CALL FOR PRICES! AMPEX 20 MB W/25 MB Tape Back-Up SCall EVEREX 10 MB Internal for IBM $795 MITAC 10 MB Internal for IBM $699 CORVUS Omnidrive (11 MB) $2079 Transporter $399 The Bank $1779 DATAMAC Trustor 10 $1129 DAVONG Universal External 10/21 MB $1875/$2595 IOMEGA Bernoulli Box/Bernoulli Plus SCall MAYNARD ELECTRONICS 10/20/30 MB SCall PEGASUS GREAT LAKES 10 MB Internal For IBM $959 23 MB External (w/ Controller) $Call SYSGEN 10/20 MB w/Tape Back-Up S2295/S2849 Image/Qic-File $799/$1199 TALLGRASS 12 MB External w/20 MB Tape Back-Up $2399 20 MB External w/20 MB Tape Back-Up $2499 TECMAR Remov Cartridge Winchester in PC (5 MB) $1569 10 MB w/ 5 MB Cartridge in Chassis $3119 XCOMP 16 MB External (For IBM. Apple. Kaypro & Morrow Designs) $1749 DOT MATRIX PRINTERS C-ITOH Prowriter 1 8510 AP. S329 DATA PRODUCTS All Models.SCall EPSON JX-80: Color Printer.$585 LQ-1500 $1109 RX-100 SCall RX-80/80 F/T SCall FX-80/100 SCall MANNESMANN TALLY MT 160L SCall MT 180L S789 Sprrit-80 $249 MT 1602 SCall MPI Sprmter/SX (Portable. 300 cps) SCall NEC P2 Pmwriter (180 CPS. 10" Carriage) $649 P3 Pinwriter (180 CPS, 15" Carriage). $869 OKIDATA Ask for NEW Apple Imagewriter Compatible ML 92 $Call ML 93 $Call ML 84(P) SCall Pacemark SCall PANASONIC KX-P1091/1093 $299/$Call STAR MICRONICS Gemini 10X $249 Gemini 15X $349 Delta 15 $459 Radix 10 $489 TEXAS INSTRUMENTS 850 RO $489 855 RO $759 TOSHIBA P1340 SCall P1351 $1289 LETTER QUALITY PRINTERS ABATI LQ-20 (18 CPS. 15" Carriage) $359 AMDEK 5040 (40 CPS) $1299 BROTHER/DYNAX HR-15 XL (20 cps. Diablo Compat.) S379 HR 25/HR 35 $619/$869 CORONA Laser Printer faster than HP $2699 DIABLO 620 API- $779 630 ECS/IBM $1979 JUKI 6100 (17 CPS. Diablo Compat.) SCall 6300 (40 CPS. Diablo Compat. 3K Buf ) $Call NEC 2030 $659 3510 $1269 3550 SCall 8850 $1879 OLYMPIA Compact RO/2 S349/S419 QUADRAM Quadjet (Ink Jet Printer) $759 QUME Sprint 1140/1155 $1299/$1479 Letterpro 20 SCall SILVER -REED EXP 500 (parallel or serial) $369 EXP 550 (p or s. 15" carriage) $449 STAR MICRONICS Power Type (18 CPS) $339 TRANSTAR T120/T130 $409/$569 PLOTTERS NEW!! POLAROID PALETTE!! SCall AMDEK DXY-100/Amplot II S599/S749 ENTER COMPUTERS Sweet-P SCall Six Shooter $799 HOUSTON INSTRUMENTS PC-595/PC-695 New" SCall DMP-40-2 $749 OMP-29 $1799 DMP 41/42 $2349 DMP-51/52 $3529 DT-11 Digitizer (1-Button Cursor) $679 DT-114 Digitizer (4-Button Cursor) $739 PANASONIC VP-6801A $1449 ROLAND DXY-101/800/880 SCall STROBE Model 200/Model 260 S519/S729 MONITORS AMDEK Video 300/30QA/31QA.$135/145/165 Color 300 $259 Color 500 $389 Color 600 $459 Color 700 $529 DYNAX Fortis FC10 (13" RGB) SCall MONITECH 12" Green/Amber $80 PRINCETON GRAPHICS HX-12 $469 SR-12 (690x480) $609 Max-12 (12" Amber. TTL) $179 QUADRAM Quadchrome $489 Quadchrome II $459 ROLAND MB 121G $135 MB-122G $155 CB-141 $269 CC-141 $559 TAXAN KG-12N $109 KG-12N/UY $119 210 (380x262) $259 420 (640x262) $439 ZENITH ZVM-123A $85 ZVM-122A $90 ZVM-135/136 $Call TERMINALS r ESPRIT Esprit 1 .... SCall Esprit II $479 Esprit III SCall ESP-6310 $559 QUME 102/102A $469/$489 103/108 (Green) $849/$519 TELEVIDEO 914/924 $519/$675 950/970 $Call Personal Terminal $419 w/ 300 Baud Modem $528 VISUAL 50/55/60 S559/S689/Call 102/300 SCall WYSE WY-50 $519 WY-75 $609 WY-100 SCall WY-300 $819 ZENITH Z-29 $649 Z-49 SCall ZTX-10 $329 ZTX-11 $389 COMMUNICATIONS FOR IBM BLUE LYNX 3278 SCall DCA Irma/Irmaline/IrmaKey SCall IDEAcomm 3278 $Call ANCHOR Mark VI $179 Mark XII $249 HAYES Smartmodem 300/1200 S199/SCall Smartmodem 1200B w/SmartCom II $399 NOVATION Smart Cat Plus 300/1200 w/Mite $329 PRENTICE POPCOM C100/X100 $289/$299 PROMETHEUS Promodem 1200 SCall QUADRAM Quadmodem SCall TRANSEND PC Modem Card 1200 $419 VEN TEL 300/1200 Half Card $439 SOFTWARE ASHTON TATE dBase Ill/Framework PRENTICE HALL VCN ExecuVision REAL WORLD MBSI Accounting LOTUS 1-2 3/Symphony MICROPRO WordStar 2000/Pro pack MICRORIM R Base 4000/Clout MICROSOFT Multiplan SAMNA Word III. SATELLITE SOFTWARE WordPerfect SOFTWARE PUBLISHING PFS Write CENTRAL POINT Copy II PC/PLUS SCall SCall SCall $319/$Call SCall $285/SCall $129 $375 $Call $97 $29 FOR APPLE ll/lle IL' APPLE Maclntosh/lle SYSTEMS . . . . . SCall ALS CP/M Card $279 Smarterm II (80 Column Card) $129 AST RESEARCH INC. Multi I/O Card $Call DIGITAL RESEARCH CP/M Gold Card w/64K $339 FOURTH DIMENSION 16K RAM Card $55 80 Column Card w/64K (lie Only) $129 HAYES Micromodem lie w/SmartCom 1 $239 Smartmodem 300/1200. $199/$479 INTERACT. STRU. PKASO Universal $125 MICROSOFT Premium Softcard (lie) $Call Softcard (Apple/Franklin) $229 MICROTEK Oumplmg-GX . $69 NOVATION J-Cat (Auto Orig/Answer. 300 Baud) $99 Apple Cat II (300 Baud) $209 212 Apple Cat II (1200 Baud) $389 103/212 Smart Cat (1200 Baud) $389 ORANGE MICRO Grappler* $109 Buffered Grappler+ (16K) $169 Grappler Interface for ImageWriter $Call PCPI Apphcard 6 MHZ $249 RANA Elite l/ll/lll SCall TRANSEND ASIO $125 Modemcard w/Source $239 MISCELLANEOUS | ~ RAM CHIPS 64K SET $Call 256K SET ... . $Call DOUBLE SIDED DISKETTES **SKC (10 box min). $12** 3M $30 Dysan $31 Maxell $30 Verbatim $30 PRINT BUFFERS QUADRAM Microfazer Parallel/Parallel 16K $139 64K $185 128K $239 Serial/Serial, Serial/Parl. Pari/Serial 8K $145 16K $155 64K $209 INTERACTIVE STRUCT ShuffleBuffer 32K $269 PRACTICAL PERIPHERALS Microbuffer 32K $209 .A. ATARI RANA1000.. $245 SURGE PROTECTORS EPD/CURTIS All models SCall NETWORX Wire Tree/Wire Tree Plus S45/S60 ULTIMA SF-600 $39 EMERGENCY POWER SYSTEMS TrippLite BC200-10 (battery mcl) $270 TrippLite BC425-FC (425 Watts) $429 SOLA ELECTRIC Mini UPS $Call CUSTOMER SERVICE 401 - 781-0020 ORDERS ONLY 800 - 843-4302 150 Broadway. Suite 2212, N.Y., NY 10038 HOURS 9-8 EST/MON-SAT Money Order Cashier s Ck. Personal Ck (2 Weeks To Clear) APO Orders Add 6H (minimum $7) Add For Net Terms All Returned Non-Detective Merchandise Are Sublet To 20H Restocking Charge GehTech Reserves the Right to Change Advertised Prices Inquiry 120 Inquiry 131 Friendly Computer Center, Inc. 1381 Coney Island Avenue. Brooklyn. New York 11230 EPSON RX 80 NEW RX-80 ft Plus FX 80 JX 80 color RX 100 Titan 2 Board for QX-10 FX 100 589 LQ 1500 _1005 "EPSON QX 10 w/VALDOCS Sorry No Mail Order Computer Displayed. & Sold in store only. APPLE HE Entry System NEW APPLE DUODISC DRIVE w/EXTENDED 80 COLUMN CARD APPLE TILT MONITOR IN STOCK MACINTOSH CALL NEW APPLE lie 895 DISK DRIVES-FOR IBM Teac v ? ht DS/DD 149 Rana 2000 IBM 149 ADD ON BOARDS FOR IBM AST Six Pack Plus 64K 249 00 Quadram Expanded Quadboard w/64K 259.00 Hercules Graphics Board 319 00 Hercules Color Card w/ Parallel Port 179.00 Koala Speed Key System 149.00 Mouse Systems Mouse w/Mouse w/P C Paint and Menue 159 00 Hayden Saragon III Chess 34.90 Microsoft Flight Simulator 1137.90 Hayden Saragon III for Mac 39.90 De Base III 349.00 Framework 379.00 SYMPHONY CALL MODEMS Hayes 1200B IBM 379.00 Hayes 1200 RS232 459.00 Hayes 300 RS232 195.00 Micromoden ME 235 00 HA/ES 300 for lie 239.00 New Hayes 2400 CAM Racal-Vadic 1200 EXT RS 232 349.00 Raca Vadic Internal w/George Software 349.00 CompuServe Starter Kit 28 95 The Source Starter Kit CALL Grappler Bufferd Plus 16K w/cable 149 00 LETTER QUALITY PRINTERS ONE TIME SPECIAL LIMITED QUANTITY C IT0H — Leading Edge 25 cps 15 Daisy Wheel , $449 IBM- HARD DISK SYSTEM IBM* PC256K 10 MEG W/1 DS FLOPPY IBM MONO CARD & MONITOR $3249 complete MONITORS Princeton HX-12 Graphics 459 00 New Amdek Color 300 269.00 New Amdek Color 700-Ultra Hires RGB 499.00 Amdek 310A 175.00 Comrex 5650 Hires 12' Green 99.00 Gorilla 12" Green 89.00 PRINTERS Juki-6100 37900 Juki-6300 CALL Juki-Tractor 6100 99.00 New Toshiba 1340 789.00 Toshiba 1351 1295 00 FOR MAIL ORDERS: Send Money Order Certitled Check Mastercard. VISA gladly accepted Add estimated price for shipping handling and insurance WE WILL SHIP ORDERS AT THE ADVERTISE0 PRICES GUARANTEED UNTl feb n IMS Appl* is a registered trademark ot Apple Computer, Inc IBM is a registered trademark ol International Business Machines TO ORnERCAll TOLL FREE roeoaon EmSS*" I (718) 252:9737 Friendly Computer Center, Inc. r 1381 Coney Island Avenue Brooklyn. New York 11230 ^ BOOK REVIEWS covers more advanced applications of trees, including AVL (Adelson-Velskii and Landis) trees, contiguous represen¬ tation of binary trees, lexicographic search trees, and ex¬ ternal searching. There is no discussion of graphs. Kruse examines algorithms for searching, looking up tables, accessing hash tables, and sorting. He presents an in-depth study of recursion. The author works out large, complex programs in detail, and he develops programs to index text and to evaluate mathematical expressions. In the appendixes. Kruse discusses techniques from combinatorial mathematics for assessing algorithms analytically. He also covers methods for manually remov¬ ing recursion and presents standard syntax diagrams and tables for Pascal. Pascal and Clear Examples Kruse illustrates principles using Pascal programs that have been tested on several compilers. I endorse this strategy; others have used pseudolanguages. For people using Pascal, the book is eminently useful and educational. You can enter the programs and try your own modifications. The book contains many in-depth examples of applica¬ tions of data structures to programming problems. Realistic examples include Conway's game of Life, a text¬ indexing program, and a program that evaluates mathe¬ matic expressions. 1 lost count of the number of times 1 came across valuable nuggets of information or explanations that clarified concepts I had read about in other books but failed to understand. Where other authors simply use pointers, Kruse discusses how pointers can be created even in languages in which they are not implemented. It is apparent that much of Kruse's time preparing this text was spent trying it out on students, polishing the prose, and clarifying important points. This book stands head and shoulders above others in making difficult con¬ cepts understandable. Unfortunately while Kruse covers most of the fundamen¬ tal data structures I expected, he does not include a chapter on graphs. Graphs are an important data struc¬ ture different enough from other data structures so as to require individual consideration. They have significant practical applications for scheduling programs, flow pro¬ grams, and trip planning. Data Structures and Program Design excellently covers data structures and algorithms for operating on them. Kruse is readable, covers topics in great depth, and does so without losing the reader. 1 recommend the book for a second course in any formal computer curriculum or as a resource and reference book for programmers who seek to improve their programming skills on their own. ■ Edward B rent, an associate professor of sociology and family and com¬ munity medicine (108 Sociology. University of Missouri, Columbia, MO 65211), has recently completed a post-doctorate fellowship in which he studied the role of data structures in artificial-intelligence programming. 78 B Y T E • FEBRUARY 1985 Inquiry 115 PEKOHNEl FILE HEaiHEF SMITH 26 RIDEOUT SP. HOLLIS Phone 617-882-6531 Social Security NimEei fate of hire 4/18/84 Job title SECRETARY E- • ■ V .ft& a&w sag A black border may appear around the Palette slide image, which will be imperceptible when projected. Now last minute presentations can be made from your personal computer. In color. In house. In minutes. Introducing Polaroid Palette. Whether your presentation is in 30 minutes or 30 days, the new Polaroid Palette Computer Image Recorder will make it easier. Priced at under $1800* it lets you make Polaroid instant 35mm slides or prints from personal computer-generated data. Right at your desk. So now you can create a presen¬ tation in minutes. Without sending out for processing, paying premiums for rush service or risking the security of your confidential information. Works with the graphics packages of the IBM PC or XT, DEC Rainbow or PRO, Apple He or 11+ and AT&T 6300. The Polaroid Palette is designed to work with many graphics software packages. In fact, when using such popular programs as Graphwriter, Chart-Master, Sign-Master, DR Draw and DR Graph, Palette can virtually double both the horizontal and vertical resolution of your monitor. Plus, a “backfill” feature reduces raster lines for a smoother, more finished appear¬ ance. The result—presentation quality slides. On-the-spot. Color 35mm slides, even from a black and white CRT Think of it as an artists palette. Be¬ cause Palette “paints” your graphs, charts and text. You’re choosing from up to 72 colors. If you don’t want red, press a few keys—it’s green. And if you’re not the artistic-type, Polaroid has developed a menu of color sets: combinations of colors that have been specially coordinated to complement your presentations. And all of this is yours, even if you have a black and white monitor. Lets you make last minute changes or add up-to-the-minute information. The Polaroid Palette is the fast, con¬ venient, low-cost way to prepare slides for your presentation. And perhaps even more important, Palette allows you to keep confidential information confidential. You won’t have to send your work out to anyone again. So why wait until the last minute to find out about Polaroid Palette? Call this toll-free number or return this coupon. Because with Palette you’ll make your deadlines, in no time. For a demonstration, call toll-free, or mail the coupon to Polaroid Corp., E.I. Marketing, Dept. 604, 575 Technology Sq., Cambridge, MA 02139. CALL 1-800-225-1618 □ Send information. □ Have representative call. Name-Title- Company -- Address- City_State-Zip- Telephone 1 - 1 - PC make and model- s Polaroid L B-2/85 j •Suggested list price. Polaroid* Inquiry 254 FEBRUARY 1985 • BYTE 89 EVENT QUEUE Apple II, lie , III and Apple compatible Universal for virtually all standard parallel printers. Famous for Graphics (LoRes, HiRes, SuperRes) (Logo Compatible) Terrific for text (even rotates spreadsheets to print sidewards) One set of commands for all printers. One command changes character sizes. Create your own printing fonts, alphabets and sym¬ bols ... bold face, underline, italics, subscript and superscript, HiRes Zooming. FREE Utility and Demon¬ stration Software Disk. CLEAR, comprehensive user documentation. PKASO/U ... for all the reasons you need an interface systems. Contact David Maier, Department of Com¬ puter Science. Oregon Grad Center, 19600 Northwest Walker Rd. Beaverton. OR 97006. March 25-27 • OPTICAL STORAGE TECHNIQUES-The Third Annual Conference on Op¬ tical Storage of Documents and Images. Shoreham Hotel. Washington. DC. Con¬ tact Technology Opportunity Conference. POB 14817. San Francisco. CA 94114-0817. (415) 626-1133. March 25-27 • CAI INVESTIGATED The TWenty-Sixth Interna¬ tional Conference of the Association for the Develop¬ ment of Computer-based In¬ structional Systems. Philadelphia. PA. Presenta¬ tions and panel discussions will explore the research and use of computers for direct instruction. Interest groups for educators. Con¬ tact ADCIS International Headquarters. Miller Hall 409, Western Washington University. Bellingham. WA 9822 5. March 25-28 • INTEGRATION, COMMU¬ NICATIONS, COMPUTERS IEEE INFOCOM '85. Washington. DC. Papers will address such issues as archi¬ tecture. protocols, gateways, and support. Contact Tbm Stack. IEEE INFOCOM '85. POB 639, Silver Spring, MD 20901, (301) 589-8142. March 25-28 • MACHINE VISION EYED The Applied Machine Vision Conference and Vision 85 Exposition. Cobo Hall. Detroit, MI. Contact Society of Manufacturing Engineers. One SME Dr.. POB 930. Dearborn. MI 48121. (313) 271-0777. March 25-28 Contact us tor a list of Authorized Dealers near you. 5S Interactive Structures, Inc. 146 Montgomery Avenue Bala Cynwyd, PA 19004 Telephone: (215) 667-1713 • JOINT CONFERENCE IN MINNESOTA-Updata '85: The Seventh Annual Minne¬ sota Joint Computer Con¬ ference. Radisson South Hotel. Bloomington. MN. A conference for data-pro- cessing professionals. The theme is "Meeting Tbmor- row's Challenge Tbday!" Contact Mick Williams. Stan¬ dard Iron. 4990 North Coun¬ ty Rd. 18. New Hope, MN 55428. (612) 533-1110. March 28-29 • WESTERN EDUCATORS MEET—Western Educational Computing Workshops. Uni¬ versity of California. Santa Cruz. A series of workshops and demonstrations that give educators hands-on ex¬ perience with computer ap¬ plication packages and com¬ puter hardware. Contact Hal Roach. Computer Services. Mount San Antonio College. 1100 North Grand Ave.. Walnut. CA 94542. March 28-29 • WEST COAST FAIRE The Tfenth Annual West Coast Computer Faire. Moscone Center. San Fran¬ cisco. CA. This is one of the largest computer shows. Contact Computer Faire Inc.. Suite 201. 181 Wells Ave.. Newton Falls. MA 02159. (800) 826-2680; in Massa¬ chusetts, (617) 965-8350. March 30-A pril 2 • COMPUTERFEST The 1985 Greater Baltimore Hamboree and Computer- fest. Maryland State Fair¬ grounds. Timonium. Exhibits, flea market, and forums highlight this annual event. Admission is $4, and the gates open at 8 a.m. Con¬ tact Baltimore Amateur Radio Club Inc., POB 95. Timonium. MD 21093-0095. (301) 561-1282. March 31 • FOCUS ON SOFTWARE Softcon, Georgia World Con¬ gress Center. Atlanta. The Spring and Fall Softcons have been merged into this event. Nearly 3000 software vendors are expected to participate. Seminars, panel discussions, forums, and 90 BYTE • FEBRUARY 1985 Inquiry 153 EVENT QUEUE workshops are planned. Registration is $35 for exhibits-only admission or $195 for a four-day con¬ ference and exhibits badge. Contact Softcon, Northeast Expositions. 822 Boylston St.. Chestnut Hill. MA 02167, (617) 739-2000. March 3 \-April 3 • TELECONFERENCING SEMINAR—Teleconferencing in the Marketplace. Interna¬ tional Congress Centre RAI, Amsterdam. The Nether¬ lands. A seminar for users and suppliers of telecon¬ ferencing services and facilities. For further informa¬ tion. contact International Congress and Convention Association. POB 5343, 1007 AH Amsterdam, The Netherlands. March 31-April 3 • MICROPROCESSOR IDEA EXCHANGE-The 1985 Microprocessor Forum. Bally's Park Place Casino Hotel. Atlantic City. NJ. Tutorials, forums, and ex¬ hibits will be held. A robotic maze contest will be held. On April 1 and 2, the 1985 IEEE VLSI Tfest Workshop will be held. Contact IEEE Computer Society, Suite 300, 1109 Spring St.. Silver Spring. MD 20910. (301) 589-8142. March 31-A pril 4 April 1985 • GULF COAST SHOW The Second Annual Gulf Computer & Office Show. Rivergate Convention Center, New Orleans. LA. Seminars, workshops, and product displays. Contact Gulf Computer & Office Show Management, c/o 119 Avant Garde. Kenner. LA 70065. (504) 467-9949. April 2-4 • MEET SOME NETWORKS Introduction to Network Architectures. Atlanta. GA. This course provides an understanding of the role of network architectures and explains their many forms. The fee is $795. Contact Elaine Hadden Nicholas. Department of Continuing Education, Georgia Institute of Technology, Atlanta, GA 30332-0385, (404) 894-2547. April 2-4 • ENGINEERING WITH MODULA-2—Software Engi¬ neering with Modula-2. Atlanta, GA. See February 20-22 for details. April 3-5 • COMMUNICATIONS TECHNOLOGY FOR THE NONVERBAL-The Fourth Annual Conference on Com¬ munication Technology: Technology and Nonspeak¬ ing Children, Joseph Stokes Auditorium. Children's Hospital of Philadelphia. PA. Up-to-the-minute information on the use of technology with nonverbal children will be presented. Concurrent sessions will address on¬ going research, computers, and treatment strategies. The registration fee is $95. Contact Joan Bruno, Children’s Seashore House, 4100 Atlantic Ave., POB 4111, Atlantic City. NJ 08404. (609) 345-5191. ext. 278. April 12-13 • GRAPHICS Computer Graphics '85. Dallas. TX. Tutorials and technical sessions on archi¬ tectural and engineering computer graphics, artificial intelligence, business graph¬ ics, and CAD/CAM. Contact National Computer Graphics Association. Suite 601, 8401 Arlington Blvd., Fairfax. VA 22031. (703) 698-9600. April 14-18 • OPTICAL STORAGE INVESTIGATED-The 1985 Materials Research Society: Symposium D. Golden Gate¬ way Holiday Inn, San Fran¬ cisco. CA. A mass-storage technologies symposium in- (continued) High performance to cost ratio... Programming Chips? Projects develop profitably with development hardware /software from GTEK. MODEL 7956 . (with RS232 option)_$1099. MODEL 7956 (stand alone) $ 979. GTEK’s outstanding Gang Pro¬ grammer with intelligent algorithm can copy 8 EPROMS at a time! This unit is used in a pro¬ duction environment when pro¬ gramming a large number of chips is required. It will program all popular chips on the market through the 27512 EPROMS. It also supports the Intel 2764A & 27128A chips. It will also program single chip processors. MODEL 7228 - $599 This model has all the features of Model 7128, plus Intelligent Programming Algorithims. It supports the newest devices available through 512Kbits; pro¬ grams 6x as fast as standard algorithims. Programs the 2764 in one minute! Supports Intel 2764A & 27128A chips. Supports Tektronics, Intel, Motorola and other formats. EPROM & PAL PROGRAMMERS —These features are standard from GTEK— Compatible with all RS232 serial inta-face ports • Auto select baud rate • With or without hand¬ shaking • Bidirectional XotVXcff • CTS/DTR supported • Read pin compatible ROMS • No per sonaiity modules • Intel, Motorola, MCS86 Hex formats • Split facility for 16 bit data paths • Read, program, formatted list commands • Interrupt driven — program and verily real time while sending data* Program single byte, block, or whole EPROM • Intelligent diagnostics discern bad and/or erasable EPROM • Verify erasure and compare commands • Busy light • Complete with Textool zero insertion force socket and integral 120 VAC power (240 VAC/50Hz available) • MODEL 7324 $1199 This unit has a built-in compiler. The Model 7324 programs all MM I. National and TI 20 and 24 pin PALs. Has non-volatile memory. It operates stand alone or via RS232. MODEL 7128 - $429 This model has the highest performance-to-price-ratio of any unit. This is GTEK's most popular unit! It supports the newest devices available through 256Kbits. MODEL 7316 Pal Programmer.$ 599 Programs Series 20 PALs. Built-in PALASM compiler. DEVICES SUPPORTED by GTEK’s EPROM Programmers NMOS NMOS CMOS EEPROM MPU’S 2758 2764A 2508 68764 27C16 5213 I2816A 8748 8741H 2716 27128 2516 8755 27C16H 5213H I2817A 8748H 8744 2732 27128A 2532 5133 27C32H 52B13 8749H 8751 2732A 27256 2564 5143 27C64 X2816 8741 68705 2764 27512 68766 27C256 48016 8742H UTILITY PACKAGES GTEK’s PGX Utility Packages will allow you to specify a range of addresses to send to the programmer, verify erasure and/or set the EPROM type. The PGX Utili¬ ty Package includes GHEX, a utility used to generate an Intel HEX file. PALX Utility Package — for use with GTEK’s Pal Programmers — allows transfer of PALASM® source file or ASCII HEX object code file. Both utility packages are available for CPM,® MSDOS,® PCDOS,® ISIS® and TRSDOS® operating systems. Call for pricing. AVOCET CROSS ASSEMBLERS These assemblers are available to handle the 8748, 8751, Z8, 6502, 68X and other microprocessors. They are available for CPM and MSDOS computers. When order¬ ing, please specify processor and computer types. ACCESSORIES Model 7128-L1, L2, L2A (OEM Quantity) $259. Model 7128-24 $329. Cross Assemblers $200. PGX Utilities Call for pricing PALX Call for pricing XASM (for MSDOS).$250. U/V Eraser DE-4 . $ 80. RS232 Cables .$ 30. 8751 Adapter . $174. 8755 Adapter . $135. 48 Family Adapter.$ 98. 68705 Programmer . $299. GfEK Development Hardware/Software P.O. Box 289, Waveland, MS 39576 601/467-8048 , INC. GTEK, PALASM, CPM, MSDOS, PCDOS, ISIS, and TRSDOS are all registered trademarks. Inquiry 126 FEBRUARY 1985 - BYTE 91 Inquiry 228 When You Want The Best, Call... libs inc. National Business Software and Supplies Macintosh MULTIMATE $285 FLIGHT SIMULATOR $ 35 PFS FILE 89 MULTIPLAN 125 PFS REPORT 79 DESK ORGANIZER CALL PFS WRITE 89 BANKSTREET WRITER CALL SYMPHONY CALL MacFORTH 98 LOTUS 1*2*3 CALL PRO KEY 59 TURBO GIFT PACK 72 PRO KEY 3.0 82 WORDSTAR 229 NORTON UTILITIES 55 SIDEKICK 35 R BASE 4000 268 TEAC #55-B DRIVES FOR IBM PC & COMPATIBLES DS/DD $139 Ribbons and Printwheels EPSON-OKIDATA-NEC-DIABLO, ETC. call for prices ( 602 ) 967-5681 500 W. Broadway, Ste, 116 Tempe, AZ 85282 No cash refunds —all sales final. 20% restocking fee. Add $5 for credit card purchases. AZ residents add 6%. Prices subject to change, product subject to availability. Allow two weeks for personal/company checks to clear. All items are new with manufacturer s warranty. Software not warranted for suitability of pur¬ pose. Shipping and handling add 55 per order. Minimum order $50. visa Mon-Fri 8AM-5PM MasterCard > 2<\ o 13 T3 O < O o cr f- O LU LU CO O cr ( i— i o c/) W ' CD - tr x O LU |_ (L> E as CO ~o o £ z> Q_ 2 O O CO ^ I— 0- c^O LU > LU CO -7 a ) CD CD “O O O E (D ~G CO CD CO < iu O' 5 O LU > “ ^5 D LU CO Z o ^r co o o CD CM CM EVENT QUEUE vestigating optical data storage. Contact D. H. Davies, Symposium Co-Chair, 3M, 420 North Bernardo Ave., Mountain View, CA 94043. April 15-18 • INDUSTRIAL SOFTWARE EXPO—The Second C1MCOM: Industrial Soft¬ ware Conference & Exposi¬ tion, Disneyland Hotel, Anaheim, CA. Contact Com¬ puter and Automated Sys¬ tems Association of the Society of Manufacturing Engineers, One SME Dr., POB 930, Dearborn, MI 48121, (313) 271-1500. April 16-18 • TRAINING AND TECHNOLOGY-The Third Annual Technology in Train¬ ing and Education (T1TE) Conference, Antler's Hotel, Colorado Springs, CO. A conference designed to facilitate the interchange of ideas and to explore ways that computers and tech¬ nology can be applied to education and training. Contact Lt. Colonel McCann, 1985 TITE Conference, USAFA/DFSR, USAF Academy, Colorado Springs, CO 80840-5751, (303) 472-4195. April 16-19 • NETWORK CONTROL AND MANAGEMENT-Net- work Management/Technical Control, Marriott Copley Place, Boston, MA. Diag¬ nostic and test instruments will be among the products displayed. Contact Louise Myerow, CW/Conference Management Group, 375 Cochituate Rd., POB 880, Framingham, MA 01701, (800) 22 5-4698; in Massa¬ chusetts, (617) 879-0700. April 18-19 • PATIENT CARE AND COMPUTERS-The Second Annual Physicians and Com¬ puters: Applications in Pa¬ tient Care, Las Vegas Hilton, NV. This conference ad¬ dresses the concerns of doctors, nurses, dietitians, pharmacists, administrators, and medical record adminis¬ trators. Contact Beverly J. johnson. University of Southern California School of Medicine, Postgraduate Division, 202 5 Zonal Ave. KAM 318, Los Angeles, CA 90033, (213) 224-7051. April 19-21 • COMPUTER FESTIVAL The Tenth Annual Trenton Computer Festival. Trenton State College. Trenton, NJ. Highlights talks, tutorials, user-group activities, ex¬ hibits. computer-graphics theater, games, and a 50-acre outdoor electronics flea market. Contact Ms. Marilyn Hughes. Trenton State College. Hillwood Lakes CN 550, Trenton, NJ 08625, (609) 771-2487. April 20-2 1 • AIDS FOR EDUCATORS AEDS/ECOO 85; The Twenty-Third Annual Con¬ vention of the Association for Educational Data Sys¬ tems (AEDS). Hilton Har¬ bour Castle, Toronto, Ontario. The theme is "Computing Knows No Borders." Contact AEDS/ ECOO '85, c/o OISE, 2 52 Bloor St. W, Toronto, Ontario M5S 1V6, Canada. In the U.S.. AEDS/ECOO '85. 1201 16th St. NW, Washington, DC 20036. April 21-27 • SPEECH IN FOCUS Speech Tech '85, Vista In¬ ternational Hotel. World Trade Center, New York City. Speakers and ex¬ hibitors will focus on voice synthesis and recognition. Registration is $195. Contact Media Dimensions Inc., POB 1121 Gracie Station, New York. NY 10028, (212) 772-7068 or 680-6451. April 22-24 • PUBLIC NETWORK OPERATIONS—X.2 5 and ( continued ) 92 BYTE • FEBRUARY 1985 Inquiry 200 POWER* CP/M SOFTWARE ■ ^ Di T e $OQ95^ '' inual fcW NEVADA FORTRAN. DISKETTE & MANUAL l $29.95 Nevada FORTRAN is based upon the ANSI-66 standards (FORTRAN IV) with some 1977 level features. Advanced features include: IF ... THEN ... ELSE statement; COPY (Include); CHAINing with COMMON; and TRACE debugging. Package includes a diskette, 214-page manual and 5 sample programs. Included also is an 8080 assembler. Requires 48K RAM. NEVADA BASIC. DISKETTE & MANUAL 1 $29.95 With the built-in, full-screen text editor, you can easily develop programs for 1/10 the cost of a comparable BASIC interpreter. What’s more, Nevada BASIC has full Matrix operations, Single- and Multi-Line functions, and BCD math (no round-off errors). You get a diskette and a 220-page manual. Requires 48K RAM. NEVADA PILOT. DISKETTE & MANUAL l $29.95 Nevada PILOT, written by Prof. John Starkweather, the language’s creator, meets and exceeds all PILOT-73 standards. See the review in January 1983 MICROCOMPU¬ TING. This package includes a diskette, 131-page manual, and 10 useful sample programs. WHY WAIT? ORDER YOURS TODAY! Satisfaction guaranteed—or your money back. If for any reason you’re not completely satisfied, just return the package—in good condition—with the sealed diskette unopened, within 15 days and we'll refund your money. Checks must be in U.S. Dollars and drawn on a U.S. Bank. California deliveries add 6% or 6.5% sales tax. SHIPPING AND HANDLING FEES: Add $4.00 for the first package or manual and $2.00 each additional. OVERSEAS: Add $15.00 for the first package or manual and $5.00 each additional. COD’s: Add $4.00. o WE WELCOME C.O.D.’s Since 1977 ELLIS COMPUTING (415)753-0186 ELLIS COMPUTING, INC. 3917 Noriega Street San Francisco, CA 94122 NEVADA COBOL DISKETTE & MANUAL l $29.95 Nevada COBOL, based upon the ANSI-74 standards, has all the popular features. Powerful level 2 features include: compound conditionals and full CALL CANCEL. This software package includes a diskette, 165-page manual, plenty of examples and 16 complete COBOL source code programs. NEVADA PASCAL DISKETTE & MANUAL l Advanced features include: 14-Digit precision; BCD math (no round-off errors); Floating point -i- 63 -64; TRACE debugging; Arrays up to 8 dimensions; 64K strings; External procedures; and Dynamic Module loading. You get a diskette and a 184-page manual. Requires 60K RAM and one disk drive with at least 90K storage. r NEVADA EDIT. DISKETTE & MANUAL 1 $29.95 Nevada EDIT, a full-screen, video-display text editor, is designed specifically for computer program text preparation. Nevada EDIT is completely user-change¬ able, can be configured to almost any terminal and takes up only 12K of disk space. This package includes a diskette and 59-page manual. ALSO AVAILABLE: ★ EXTRA MANUALS.$14.95 ★ COBOL Application Packages, Book 1.$ 9.95 ★ BIG PRINT-Diskette.$19.95 The CP/M Operating System, an 8080, 8085, or Z-80 (8-Bit) micropro¬ cessor, and 32K RAM are required, unless otherwise stated above. WHEN YOU ORDER, PLEASE SPECIFY ONE OF THE FOLLOWING DISKETTE FORMATS: □ 8” SSSD (Standard CP/M IBM 3740) □ Kaypro Double Density (NCR) 5Vi” Diskettes for: □ Micropolis Mod II □ Access/Actrix □ NEC PC 8001 □ Apple CP/M □ North Star Double Density □ DEC VT 180 □ North Star Single Density □ DEC Rainbow □ Osborne Single Density □ Epson QX-10 □ Sanyo 1000,1050 □ Heath Hard Sector (Z-89) □ Superbrain DD DOS 3.X □ Heath Soft Sector (512 byte sec) (Z-90, Z-100) □ Televideo □ IBM-PC (Requires Z-80, □ TRS-80 Model 1 (Base O Mapper) Baby Blue II Card) □ Xerox 820 Single Density CP/M is a registered trademark of Digital Research, Inc Microsoft is a registered trademark of Microsoft Corp. TRS-80 is a registered trademark of Tandy Corp Apple II is a trademark of Apple Computer, Inc Osborne is a registered trademark of Osborne Computer Corp. Xerox 820 is a trademark of Xerox Corp Kaypro is a trademark of Non-linear Sys Heath/Zemth is a trademark of Heath Corp. IBM is a registered trademark of International Business Machines, Corp Nevada BASIC, Nevada COBOL. Nevada FOR¬ TRAN. Nevada PILOT. Nevada EDIT, Nevada PASCAL, and Ellis Computing are trademarks of Ellis Com¬ puting, Inc © 1984 Ellis Computing. Inc FEBRUARY 1985 -BYTE 93 Inquiry 85 for Dealers. Inquiry 86 for End-Users. BEFORE YOU BUY CABLE ASSEMBLIES, Heavy guage underhood shield 22 AWG twisted conductors 22 AWG twisted conductors CHECK UNDER THE HOOD! DATA SPEC™ cable assemblies are the very best. Each cable is fully shielded to exceed FCC EMI/RFI emission requirements. The unique P.D.T. technique, introduced by DATA SPEC™ and employed beneath the hood shield, insures maximum integrity under the most adverse conditions DATA SPEC™ has interface cables for all your requirements: Printers, Modems, Monitors, Disk Drives, and much more. And all DATA SPEC™ cable assemblies carry a lifetime warranty. Insist on DATA SPEC™ cables in the bright orange package. Available at better computer dealers everywhere. For more information, call or write: □®7ra<3CP[3CL A Division of Alliance Research Corporation 20120 Plummer Street • Chatsworth. CA 91311 • (818) 993-1202 Copyright © 1964 by Alliance Ftesearch Corporation Patent F*ND dBASE II with 65,000 memory variables, arrays, 8087 support, high-speed math functions, windows, animation, full syntax checking! Impossible? Not anymore! . .. with GRYPHON Microproducts’ dBASE II “add-ins". For PC/MS-DOS. Write or call for details. Q'lWWO^ mi croproduct s P.O. BOX 6543 SILVER SPRING. MD. 20906 [301)946-2505 EVENT QUEUE Packet Switching Networks. Atlanta. GA. This course covers the internal opera¬ tions of a packet-switching network and its implementa¬ tion. The fee is $795. Con¬ tact Elaine Hadden Nicholas, Department of Continuing Education. Georgia Institute of Tech¬ nology. Atlanta. GA 30332- 0385. (404) 894-2547. April 23-25 • TRADE SHOW. CONFERENCE— Electro/8 5 and Mini/Micro North- east-85, New York City. Topics: artificial intelligence, communications and net¬ works. consumer electronics, high-density data storage, and personal computing. Contact Electronic Conven¬ tions Management. 8110 Airport Blvd.. Los Angeles. CA 90045. (213) 772-2965. April 23-25 • COMPUTER APPLI¬ CATIONS EXPLORED Perscomp '85. Sofia. Bulgaria. An international conference on the applica¬ tions of personal computers and the problems en¬ countered in using them. Contact Dr. Marcel Israel. Bulgarian Academy of Sciences, Institute of In¬ dustrial Cybernetics and Robotics. 1113 Sofia, Acad. G. Bonchev St.. Bl. 12. Bulgaria; tel: 72-46-98; Telex: 22836 ITKR BG. April 23-26 • MICROS IN EMPIRE STATE— The Fourth Annual New York Computer Show and Software Exposition. Nassau County Coliseum. Uniondale, NY. Contact Ann Katcef, CompuShows, POB 3315. Annapolis. MD 21403. (800) 368-2066; in Annap¬ olis. (301) 263-8044; in Baltimore. (301) 269-7694; in the District of Columbia. (202) 261-1047. April 25-28 • VIRGINIA COMPUTING The Fourth Annual Virginia Computer Show and Soft¬ ware Exposition. Pavilion. Virginia Beach, VA. Contact Ann Katcef, CompuShows, POB 3315. Annapolis, MD 21403, (800) 368-2066; in Annapolis, (301) 263-8044, in Baltimore. (301) 269- 7694; in the District of Columbia. (202) 261-1047. April 25-28 • EQUIPMENT SALE Produx 2000: Wholesale Expo 85. Civic Center, Philadelphia. PA. Contact Vertical Marketing Corp.. POB 557. Bala Cynwyd, PA 19004. (800) 523-3882; in Pennsylvania. (215) 4 57-2303. April 26-28 • C FOR ENGINEERS C Programming for Engi¬ neers, University of Michigan. Dearborn. A short course and workshop. Con¬ tact Professor R. E. Little. University of Michigan. 4901 Evergreen Rd.. Dearborn. MI 48128. (313) 593-5241. April 29-M ay 3 • COMMERCIAL Al, HIGH-TECH CONFERENCE Al '85: Artificial Intelligence and Advanced Computer Technology Conference/Ex¬ hibition. Convention Center, Long Beach. CA. Technical sessions, panel discussions, and product displays are planned. Contact Tower Con¬ ference Management Co.. 331 West Wesley St.. Wheaton. IL 60187. (312) 668-8100. April 30-M ay 2 • MEETING ON LINE National Online Meeting. Sheraton Centre Hotel. New York City. Formal paper pre¬ sentations. product review sessions, exhibits, and special workshops and seminars transmitted via satellite. Contact Thomas Hogan. National Online Meeting. Learned Informa¬ tion Inc., 143 Old Marlton Pike, Medford. NJ 08055. (609) 654-6266. April 30-M ay 2 ■ 94 BYTE • FEBRUARY 1985 INSTANT LAN WITH STANDARD MICROSYSTEMS’ NEW ARCNET-PC, ARCNET-S100 OR ARCNET-LINK, YOU CAN CREATE YOUR OWN LOCAL AREA NETWORK. The world's first single-chip local area network controller established Standard Microsystems as a leader in networking technology. Now we're devoting our technical expertise to bring you revolutionary LAN board prod¬ ucts, too. Our ARCNET-PC board interconnects up to 255 IBM‘-type personal com¬ puters, permitting them to share disk files and printer resources ARCNET-LINK ARCNET-S100 at an extremely efficient 2.5 Megabit data rate. The ARCNET-S100 board links up to 255 S100 computer systems, providing the S100 computer user with a high performance local area network. The ARCNET-LINK is a self-contained unit that provides a simplified inter¬ face between equipment with a programmable asynchronous RS-232 port and an ARCNEr local area network. All three products incorporate SMC's industry-standard MOSA/LSI local area network chip set to give you a totally integrated and cost-effective LAN solution. Software available from Standard Microsystems and others provides increased capability for your networking applications. Standard Microsystems Corpora¬ tion, 35 Marcus Boulevard, Hauppauge, NY 11788. (516) 273-3100. IBM® Is a trademark of the International Business Machines Corporation. ARCNET® is a trademark of the Datapoint Corporation. STANDARD MICROSYSTEMS CORPORATION, Inquiry 297 FEBRUARY 1985 •BYTE 95 BYTE Features The HP Integral Personal Computer by Phillip Robinson .98 Ciarcias Circuit Cellar: Build a Serial EPROM Programmer by Steve Ciarcia .104 The Macintosh Office by I ohn Markoff and Phillip Robinson .... 120 C to Pascal by Ted Carnevale .138 Simulate a Servo System by Don Stauffer .147 Introduction to Image Processing by Jeffrey L. Star .163 THIS MONTH BYTE presents a variety of features including two product previews. Developed under the name "Pisces,'' Hewlett-Packard's Integral Personal Computer includes UNIX System III in a transportable package. This product preview by Phillip Robinson, technical editor on our West Coast staff, takes an introductory look at the Integral, its major subassemblies, and its capabilities and limitations. The Integral uses a built-in electroluminescent flat screen and ink-jet printer, but the big news is its incorporation of UNIX in ROM. The Macintosh continues to provoke lots of love/hate feelings. To bolster its attractiveness to business environments. Apple introduced Appldfalk. a local-area network, and the first two in a series of peripherals designed to be networked. Appldfalk, previewed this month by John Markoff and Phillip Robinson, is a departure from what we often consider fundamental to a local- area network concept. With only a printer and file server currently available. Appl^folk is an interesting approach. It you are ready to commit your code to EPROM but don't have access to an EPROM programmer, or if you would like to learn more about the pro¬ cess. read Ciarcia s Circuit Cellar. This month, Steve shows us how to build an EPROM programmer inexpensively. This unit attaches to your computer's serial port and uses your computer's intelligence. It is also fully documented and is easily expandable to work with future EPROM designs. Translating programs among various languages (or even between two languages) is a wonderful concept but generally difficult to implement. In "C to Pascal," Tkd Carnevale describes some of the conventional approaches and problems he discovered while trying to move a graphics subroutine library in C to a Pascal environment. He also provides us with a program that makes the process less tedious. The theme of the March 1984 BYTE was simulation, an intriguing topic once relegated only to rooms full of computers. While microcomputers really can't compete with the fast, large-scale simulations that run on the CRAY-1 and other supercomputers. Don Stauffer uses a microcomputer to "Simulate a Servo System." using an electronic weighing scale as an example of servo-system simulation. leffrey L. Star also capitalizes on the power of the microcomputer in his article ‘ Introduction to Image Processing." While commercial broadcast televi¬ sion limits gray-scale reproduction to about 12 levels and human vision covers a restricted spectrum, image-processing systems usually can deal with at least 32 gray levels and over 16 million unique colors. And. interestingly, there are a couple of image-processing programs available for microcomputers. —Gene Smarte, Managing Editor FEBRUARY 1985 • B Y T E 97 PRODUCT PREVIEW THE HP INTEGRAL PERSONAL COMPUTER BY PHILLIP ROBINSON T he Hewlett-Packard In¬ tegral Personal Computer is a complete, transport¬ able computer system designed around UNIX (System III). (See photo 1.) With the UNIX kernel in ROM (read-only memory), an elec¬ troluminescent (EL) flat screen, a 3 !/ 2 -inch floppy-disk drive, a built-in ink-jet printer, and Hewlett-Packard's Personal Applications Manager (PAM), the Integral is a marvel of advanced personal computing technology History A big team worked on the Integral, which, during devel¬ opment, was known by the name "Pisces." Some of the team’s members I met were Ion Brewster (user interface), Ray Fajardo (software), Tim Williams (section manager), Doug Collins (hardware manager), and Andy Rood (oper¬ ating system). While the hardware development of the Integral began in the fall of 1982, the software development had begun a year earlier. In fact, several projects were merged to come up with the Integral. The original design called for desktop functions in a transportable box: 80 characters by 2 5 lines on the display, a full-size printer (not ther¬ mal), and a real keyboard. When the project began, many of the elements that would meet those requirements didn't exist. To assure that those devices would be ready in time, Hewlett-Packard (HP) had to get intimately in¬ volved in the particular technologies. For example, HP decided early on to use an EL screen and an ink-jet printer. At the time, EL technology was in its infancy and HP had to become a major factor in the EL marketplace. Brass Tacks The Integral's logic board is a generic 68000 8-MHz system supplemented by a few special fillips: a memory mapper for UNIX and a proprietary graphics chip. The 68451 MMU (mem¬ ory-management unit) chip wasn't used for memory mapping because it slows the memory cycle quite a bit—it would reside between the pro¬ cessor and RAM (random-access read/write memory). Instead, only the top address bits are mapped, and while that mapping is going on. the lower-half addressing of the RAM also is proceeding. This leaves the RAM's speed unaffected while still giving reasonable page sizes. The RAM comes as a standard 512K bytes (with 32K more for the display) made up of 2 56K by I bit DRAMs (dynamic RAMs) with no parity chips. You can purchase 2 56K and 512K RAM boards separately and insert them into the Integral's two internal slots. By using extender boxes (which plug into one of the slots, sit underneath the Integral, and provide five slots) you can have up to 5.5 megabytes of RAM. When the 1-megabyte RAM cards become available (soon after introduction) you'll be able to use the full logical RAM space of 7.5 megabytes. The Integral also has 2 56K bytes of ROM. which holds the operating system. I'll discuss the Integral's ROM a little more in the UNIX section that follows. The custom graphics processing unit (GPU) chip was designed and made by HP in Corvallis. Oregon. Accord¬ ing to Ion Brewster, a lot of effort went into the chip, which handles window scrolling, window moves, line drawing, and soft character fonts. The GPU is a big chip: it has a 16-bit ALU (arithmetic logic unit), a 16-bit data path, and a barrel shifter. The engineering and a nearly silent fan enable the Integral to work in some severe environments—up to 40 degrees centigrade and 80 percent humidity. (The humidity limit is 95 percent without the disks, which are the most susceptible to moisture problems.) According to HP, some of the humidity testing involved just tak¬ ing the machine outside—remember, ( continued ) Phillip Robinson is a senior technical editor at BYTE. He may be contact at 1000 Elwell Court, Palo Alto, CA 94303. A new all-in-one system makes UNIX truly portable Editor's note: The following is a BYTE product preview. It is not a review. We provide an advance look at this new product because we feel it is signifi¬ cant. A complete review will follow in a subsequent issue 98 BYTE • FEBRUARY 1985 PHOTOGRAPHED BY PAUL AVIS ■M M i r~~i ' Photo 1 fivrr FEBRUARY 1985 • BYTE 99 Photo 2: HP's Personal Applications Manager (PAM) and Calculator. this was all done in moist Oregon. No Featherweight HP says that the Integral is the only complete product around (i.e., with both a full screen and a printer) that you can really carry and that will fit under airline seats or in overhead racks. Regardless, this machine definitely remains in the transportable category. It is smaller than other transport¬ ables—such as the Kaypro—but still weighs 27 pounds. Reliability I asked what sort of reliability the Integral will have when it is actually carted around. "You'd be amazed.'' replied an HP spokesperson, who recited numerous tests with glee. For instance, in one test they dropped the system from a meter up: it sustained some cosmetic damage but still ran (although that isn't guaranteed). When some¬ thing did break during testing, HP made the necessary changes to the components or case. Further testing in¬ cluded vibrating the system, checking for condensation, and giving prototypes to marketing people. Another ramification of this reliability obsession is that HP won't soon introduce a hard-disk version of the In¬ tegral. Though HP engineers admittedly had considered the possibility, it seems they don't trust the ruggedness of the hard disks they've seen. Beyond that, the design team believes that RAM disks and ROM-based operat¬ ing systems give hard-disk performance without the problems. Service Service for the Integral will be available through dealers or HP. with the standard 90-day warranty offered in the U.S. Because of different legal requirements, the warranty period will be one year in Europe. You will also be able to purchase extended service agreements. I/O Capabilities The Integral has only a single port on the back, an HPIB (Hewlett-Packard In¬ terface Bus) socket. If you need more I/O (input/output) capabilities you have to put I/O boards in the slots (for example, an RS-232C card, which should be immediately available). Another form of I/O is provided by the keyboard and mouse sockets. These sockets are called Human Inter¬ face Loop (HIL) ports and can handle other devices, such as graphics tablets. Hewlett-Packard has standardized the protocol for these ports throughout many of its wide range of products. Display The Integral’s electroluminescent, flat-screen display is a centerpiece. Although the display isn't manufactured at HP. the HP engineers worked closely with the vendor to assure readability and reliability. In fact, each time I talked to an HP engineer I was assured that the "slight shadowing'' on the prototype screen had been corrected. Unfortunately, I never saw the shadow. Maybe eyes trained on LCDs (liquid-crystal displays) aren't yet ready to analyze an EL flat-screen critically. The screen is also fast—with no phosphors to fade, it could be faster than a CRT (cathode-ray tube). The only color choice is amber. With 512 by 2 55 pixels in an area 8 inches wide and 4 inches tall, the Integral screen is twice the size of the Grid Compass screen—the only other well-known exam¬ ple of an EL on a microcomputer. Because the screen is so thin, the Integral could probably be the shallowest system you have ever put on a desk. While transportables of the Osborne and Kaypro variety have to be unbut¬ toned and then tilted over, taking up much of the depth of a desk, the Integral retains its standing position, with only the keyboard folding down to occupy writing space. An EL display is clearer than a CRT because there's no focus problem. As project manager Tim Williams noted dryly, "If a dot lights up. a dot lights up.'' The Integral has a variety of fonts and a font editor that lets you create your own. An antireflective coating and a circular polarizer for glare reduction combine to improve your I n one test, HP dropped the Integral from a meter up. It still ran. 100 BYTE • FEBRUARY 1985 Photo 3: PAM. with HP's MemoMaker. view of the already crisp images. Keyboard The Integral's low-profile keyboard (photo 4) is a compact adaptation of a new HP standard keyboard that will be used with portables, desktops, and terminals. The keyboard has com¬ pletely soft mapping because it will be used in a number of countries: the Corvallis division of HP gets half of its business from outside the United States, so German, French, Spanish, and British versions of the Integral also were set for introduction in January. Another effect of European sales is that the arrangement of the keyboard (and of other system elements such as the display and fonts) had to meet European ergonomic standards. The keyboard consists of a full-size QWERTY layout with sculpted keys surrounded by special function keys. My first impression is that the keyboard is not especial¬ ly quiet but is fast and easy to type with. The numeric keypad on the right side is closer to the alphabetic keys than on many other HP keyboards: the engineers had to squeeze it inward because of the requirements of por¬ tability. The cursor keys are below the numeric keypad. Several of the numeric keys also have special functions, which are printed on the keys, such as Insert Line and Delete Character. The Integral also has: a Select key, used to shift the active window on the screen: Extend keys, which, in conjunction with the alphabetic keys, produce special characters; a Reset/Break key and a Stop key. placed in the extreme top left to prevent frustrating ac¬ cidents: and eight programmable function keys, part of the standard HP user interface. The bottom lines of the Integral's screen display the changing definitions of the function keys. Mass Storage The mass-storage capacity of the Integral consists of one HP-standard, 314-inch floppy-disk drive with hard-shell disks that hold 71 OK bytes each. One of my first reac¬ tions to the machine was, “Why is there only one floppy-disk drive?'' “One disk is cheaper than two,'' says HP's Andy Rood. “So the question is: 'Why two?"' Normally manufacturers include two disk drives to provide enough total storage, separate storage devices for programs and data, and backup capability. According to HP. the Integral's single floppy-disk drive. RAM. and ROM meet these needs: the very high den¬ sity of the floppy-disk drive provides enough total storage; the separation of programs and data is ac¬ complished partly by the ROM and partly by the RAM disk; and because the operating system is in ROM in¬ stead of on a disk and the RAM of the Integral auto¬ matically includes a RAM-disk function, you can put pro¬ grams on the RAM disk and data files on the floppy. As an added benefit. RAM-disk programs run faster than those on a floppy disk. Finally, the development team felt that the high-density floppy and the RAM disk made up a perfectly capable pair of devices for backing up files. For those reasons, and to save on space and power, the team decided to leave out a second disk drive. The use of ROM for the operating system was a big challenge: UNIX likes to have a disk drive at its disposal. The HP team had to “tune'' their UNIX so that it didn’t do that. The ROM solution provides that the root file is on the RAM disk, so when UNIX comes up. the only file system it presumes to exist is the RAM disk. You can have more mass storage (externally) if you want it. Through the Integral's I/O interface you can use any of HP's many storage peripherals. All of the software drivers—such as for a hard disk—are already built in. ThinkJet Printer One of the features that makes the Integral unusually “integrated" is the built-in ink-jet printer (see “The Hewlett-Packard ThinkJet Printer" by Mark Haas in the January BYTE, page 337). The ThinkJet is also a product of the Corvallis division of Hewlett-Packard and the Integral team was intimately asso- (continued) The Integral PC's electroluminescent, flat-screen display is its centerpiece. FEBRUARY 1985 • BYTE 101 Photo 4: The Integral Personal Computer's keyboard. ciated with its development. As an ink-jet printer, the Thinkjet is quiet and fast. The characters it pro¬ duces are near letter quality. The Thinklet can print in a number of dif¬ ferent fonts and can also handle black-and-white graphics. The In¬ tegral's keyboard has a Print key that immediately cues a dump of the screen's contents to the Thinkjet. One small drawback of the printer's placement is that there is no good place to put the paper—that is, if you put the pile of blank paper just behind the computer, the system takes up a lot more room. The Thinklet is generally simple to load and use but doesn't have a platen knob. Therefore, you have to be careful not to overrun when using the line-feed and form¬ feed buttons. Mouse The Integral's optional mouse is HP's standard two- button, mechanical contraption that uses a steel ball beneath a circular palm grip. The plug-in position (on the left side of the unit) is slightly awkward for a right- handed user because the cable must run behind the keyboard. The mouse's left button is called the "click¬ ing" button (for selection) and the right is called the "right" button (for mode changing). Software The Integral runs HP-UX 2.1, which HP calls a "vanilla" UNIX environment, and the Personal Applications Man¬ ager (photos 2 and 3), HP's operating-environment shell (see "The HP 150" by Phil Lemmons and Barbara Robert¬ son in the October 1983 BYTE, page 36, and "The HP 110" in the )une 1984 BYTE, page 111). The Integral's win¬ dows emulate terminals that report back at 9600 bits per second, have 80 characters by 24 lines, and use normal escape sequences. As Tim Williams puts it, "We think the UNIX wave is just beginning. And as the UNIX wave rolls along we want to roll with it and help it to grow." Ray Fajardo noted that a lot of development time was devoted to making the Integral run most UNIX software without modi¬ fication. The primary goal was System III compatibility: a secondary goal was flexibility. The system can dynamical¬ ly configure drivers and make oper¬ ating-system patches on the fly, so the environment is standard yet can be specialized by in¬ dependent software vendors. According to HP, HP-UX's flexibility enables it to emulate Venix, System V, and other UNIX derivatives. Over 50 utilities, commands, and standard applications are included with the system. How hard was it to put UNIX in ROM? "We first did it the same way we do a disk operating system," says Andy Rood. "We just took what would have been our 200K boot image, put it in ROM, and put a little power- on preamble that copied it to RAM just as a bootstrap up for disk." They then embellished the first version by making the code execute directly from the ROM and made some flexibility modifications by linking ROM through RAM jump tables. Any bugs that turn up in the ROM now can be masked by intercepting and isolating ROM routines. The kernel is in the ROM and is treated as another disk device. At the time the machine is started, the ROM disk—which has both the PAM shell and the traditional UNIX init process—is configured. The ROM looks like shared memory for user libraries and pro¬ grams. There also is a demon in the background to do the disk handling. The HP-UX system is supported by real-time extensions (BCD [binary coded decimal|, HPIL [Hewlett-Packard Interface Loop|, HPIB, RS-232C, and in¬ strumentation I/O) and device-independent libraries, as well as HP Technical BASIC. User Interface The Integral's user interface (windows, graphics, function keys, and optional mouse) were Jon Brewster's respon¬ sibility He explained that the original reason for windows was to provide users with more than one interface to the product. HP had discovered that even novice users use multitasking Although the Integral is compatible with UNIX System III, it emulates other versions. BYTE* FEBRUARY 1985 Photo 5: T he Integral PC with keyboard in place. and keep multiple programs on the display. The windowing system, then, had to allow novices to do multitask¬ ing without worrying about fore¬ ground, background, priorities, and scheduling. Because the mouse was to be (and is) optional, the windows had to work well with and without it. Also, unlike the Macintosh, the Integral allows you to move windows while they are being updated: windows are moved by animating a sprite (which resembles a cor¬ ner of the window) and positioning it—rather than mov¬ ing the entire window. Thus, you can hide windows (they appear as title lines in the lower left of the display), stretch them (by choosing a new bottom right comer with a sprite), move them (by choosing a new top left corner with a sprite), and shuffle them (the top window being the only one with which you can interface directly, although the others can still be active). Applications According to HP, a variety of software packages will be available within 60 days of the Integral's introduction. These include Microsoft's Multiplan, Officeware's Script and Plan, Ashton-'fate's dBASE III, HP's MemoMaker, Data and Calculator, HP-UX software development tools, and others. More software is being developed both at HP's per¬ sonal software division and by independent vendors who have already been alerted to the Integral's introduction. Also, because of the compatibility of HP "technical BASIC, many programs for other HP systems, such as Series 200 and 500 products, will immediately run on the Integral. Documentation Although the documentation I viewed was only in the draft stage, HP has given plenty of attention to the litera¬ ture explaining its system. The documentation is clear and thorough. Beginners will spend the most time with the Personal Tutor disk and booklet, a tutorial that takes an estimated eight hours to fully ab- sorb. Lessons include use of the mouse, windows, and the organiza¬ tion, viewing, printing, and creating of files. The Integral's documentation also includes a cartoon booklet that explains how to set up and start up the system, and a reference guide. H n claims that the documentation, user interface, and PAM will have novices working on the system within 30 minutes. Price and Conclusions The Integral Personal Computer is priced at $4990 (with HP-UX, PAM, and HP Windows). Although the price is high for a single-disk-drive system, the perceived price/ value ratio depends on what class of computer you com¬ pare the Integral to. HP would like it to be compared to the higher-performance (and higher-priced) UNIX machines, rather than MS-DOS transportables such as the Compaq. The big question is, who will buy the Integral? Perhaps business and technical professionals whose require¬ ments push the limitations of today's 16-bit MS-DOS machines. Certainly computer science students and engi¬ neers will see many advantages to a complete UNIX system they can take home. And with the benefits of multitasking, HP may pull in more people: imagine hav¬ ing several data-communications cards, each hooked to a different electronic information service, and all com¬ municating while you work on a spreadsheet and a word processor. The HP Integral Personal Computers advantages in¬ clude: state-of-the-art technology: the “everything you need in one box" design: engineering that looks ab¬ solutely solid, and a multitasking environment—all from a company with a great engineering track record. On the minus side: the list of software available for the Integral PC is short, and the price may be too high. But for those who need advanced computing power and who want to cast their votes against the IBM PC and its various com¬ patibles, the HP Integral Personal Computer may be the best argument yet for biting the bullet and switching to UNIX. ■ The Integral's user interface lets you move, hide, stretch, and shuffle windows. FEBRUARY 1985 ‘BYTE 103 104 BYTE • FEBRUARY 1985 PHOTOGRAPHED BY PAUL AVIS. CIARCIA’S CIRCU IT CELLAR BUILD A SERIAL EPROM PROGRAMMER by Steve Ciarcia An inexpensive way to put your programs on a chip Over the years, many ar¬ ticles have been pub¬ lished on programming EPROMs (erasable pro¬ grammable read-only memories). The number of articles alone indicates the value of an EPROM programmer and the interest expressed in the subject. Ttue- blooded computer experimenters consider an EPROM programmer as essential a tool as a soldering iron and a DVM (digital voltmeter). Most EPROM programmers designed for personal computers are implemented as bus-dependent I/O (input/output) peripheral cards that use computer-specific, machine- language driver programs. By eliminating the need for an enclosure and using the system power supply, a relatively cost- effective unit can be produced. Unfor¬ tunately, if I designed such a unit, it prob¬ ably wouldn’t be for the computer you own. For computer users who don't have ex¬ pansion buses or who want their EPROM programmer to be transportable between systems, the only alternative is a stand¬ alone EPROM programmer attached to a serial port (much like a modem). Making it a separate peripheral device, however, necessarily increases its cost. In fact, exter¬ nal serial-port EPROM programmers are fre¬ quently two or three times the cost of board-level units. A certain portion of the cost is due to its separate power supply and enclosure, but most of the expense is attributed to the features that manufacturers generally incor¬ porate in the devices. The majority of stand¬ alone serial-connected programmers are, in fact, designed as intelligent EPROM pro¬ grammers that have the basic processing power and memory of whole computers. I have taken this approach on previous designs. Such devices perform well and re¬ quire little assistance from the host system beyond the data to be programmed. This time I'm approaching the problem differently. I've decided to keep it simple and design the most universally applicable and cost-effective programmer that I can. The latest Circuit Cellar EPROM program¬ mer is a serial-port programmer that has the speed of a turtle, the intelligence of the mightiest computer (that is, it has absolutely no smarts of its own), and is as functional as a doorstop between uses. On the posi¬ tive side, it's fully documented, universally applicable, and easily expandable to ac- (continued) Steve Ciarcia (pronounced "see-ARE-see-ah") is an elec¬ tronics engineer and computer consultant with experience in process control. digital design, nuclear instrumenta¬ tion. and product development. He is the author of several books about electronics. You can write to him at POB 582, Glastonbury. CT 06033. COPYRIGHT © 1985 STEVEN A. CIARCIA. ALL RIGHTS RESERVED. FEBRUARY 1985 • BYTE 105 commodate future EPROM types. The serial-port programmer can be operated from almost any system with a serial port. The driver software is written completely in BASIC with no machine-language routines. The serial-port programmer offers all the hardware features to program 2716, 2732, 2732A, 2764. and 27128 EPROMS through a serial port, in¬ cluding: RS-232C compatibility, no handshaking necessary, internal power supplies, jumper-selectable EPROM types, and jumper-selectable data rates. The BASIC-language driver program included offers features such as: • menu-driven operation using single keystrokes • a help routine that can be called at any time • single-byte or burst-write modes • read or copy EPROM • optional programming from a disk file • verify after write • verify EPROM erasure • screen-dump routines by page or byte • single-stepping mode • software-controlled read/write mode select • BASIC driver that can be user- modified Reviewing EPROM Basics A personal computer, even in its minimum configuration, always con¬ tains some user-programmable mem¬ ory or RAM (random-access read/ write memory), usually in the form of semiconductor-memory integrated circuits. This memory can contain both programs and data and can be read or modified as needed. Any of several kinds of electronic components can function as bit- storage elements in this kind of mem¬ ory. TTL (transistor-transistor logic) type-7474 flip-flops, bistable relays, or tiny ferrite toroids (memory cores) are suitable, but they all cost too much, are hard to use, and have other dis¬ advantages. In personal computer and other microprocessor-based applications, the most cost-effective memory is made from MOS (metal-oxide semi¬ conductor) ICs (integrated circuits). Unfortunately, data stored in these semiconductor RAMs is volatile. When the power is turned off, the data is lost. Many ways of dealing with this problem have been devised, with essential programs and data usually stored in some nonvolatile medium. In most computer systems, some data or programs are stored in non¬ volatile ROM (read-only memory). A semiconductor ROM can be random¬ ly accessed for reading in the same manner as the volatile memory, but the data in the ROM is permanent. In a mask-programmed ROM. the data that can be read is determined dur¬ ing the manufacturing process. When¬ ever power is supplied to the ROM, this permanent data (or program) is available. In small computer systems. ROM is chiefly used to contain operating systems and/or BASIC interpreters—programs that don't need to be changed. Another type of ROM is the PROM (programmable read-only memory). A PROM component is delivered con¬ taining no data. The user decides what data it should contain and per¬ manently programs it with a special programming device. Once initially programmed, PROMs exhibit the characteristics of mask-programmed ROMs. You might label such PROMs as write-once memories. The EPROM, which is ultraviolet- light-erasable, is a compromise be¬ tween the write-once kind of PROM and the volatile memory. You can think of the EPROM as a read-mostly memory, used in read-only mode most of the time but occasionally erased and reprogrammed as neces¬ sary. The EPROM is erased by expos¬ ing the silicon chip to ultraviolet light at a wavelength of 2 537 angstroms. Conveniently, most EPROM chips are packaged in an enclosure with a trans¬ parent quartz window. How an EPROM Works EPROMs store data bits in cells formed from stored-charge FAMOS (floating-gate avalanche-injection metal-oxide semiconductor) tran¬ sistors. Such transistors are similar to positive-channel silicon-gate field- effect transistors, but they have two gates. The lower or floating gate is com¬ pletely surrounded by an insulator layer of silicon dioxide: the upper con¬ trol or select gate is connected to ex¬ ternal circuitry. The amount of electric charge stored on the floating gate determines whether the bit cell contains a 1 or a 0. Charged cells are read as Os; un¬ charged cells are read as Is. When the EPROM chip comes from the factory, all bit locations are cleared of charge and are read as logic Is; each byte contains hexadecimal FF. When a given bit cell is to be burned from a 1 to a 0, a current is passed through the transistor's chan¬ nel from the source to the gate. (The electrons, of course, move the op¬ posite way.) At the same time, a relatively high voltage potential is placed on the transistor's upper select gate, creating a strong electric field within the layers of semiconductor ( continued ) A 7 (T El v cc Vp p e E v cc a 6 (T El a 8 A) 2 E TT] pgm a 5 (T HI A 9 A, E m nc a. E 2716 El v P p A 6 E 2764 E A a A 3 E IE 0E a 5 (T E A 9 a 2 E m a io a 4 (T E A n A1 E Te] cI/pgm a 3 E IT] 0E Ao E El 0 7 a 2 E E A io o 0 E E °6 A 1 E m ci o, [To m °5 A 0 [To E °7 02 QT E °4 o 0 (TT E °6 GND [T7 E °3 Oi [TT E °5 o 2 (TT E °4 GND [TT E °3 Figure 1: Pinouts of tfie 2716 and 2764 EPROMs. 106 BYTE • FEBRUARY 1985 Figure 2: The serial-port EPROM programmer. c > o ■^1 material. (This is the function of the + 21- or +2 5-volt [V| V pp charging potential applied to the EPROM.) In the presence of this strong electric field, some of the electrons passing through the source-drain channel gain enough energy to tunnel through the insulating layer that normally isolates the floating gate. As the tunneling electrons accumulate on the floating gate, the gate takes on a negative charge, which makes the cell contain a 0. When data is to be erased from the chip, it is exposed to ultraviolet light, which contains photons of relatively high energy. The incident photons ex¬ cite the electrons on the floating gate to sufficiently high energy states that they can tunnel back through the in¬ sulating layer, removing the charge from the gate and returning the cell to the 1 state. The 2700 family of EPROMs con¬ tains bit-storage cells configured as in¬ dividually addressable bytes. This organization is often called "2K by 8" for a 2716 or "8K by 8" for a 2764. Figure 1 shows the 2716 and 2764. The completely static operation of these devices requires no clock signals. The primary operating modes include read, standby, and program (program-inhibit and program-verify Table 1: Power supply and ground pin numbers for figures 2 and 3. 1C Number Type Ground 5 V 12 V -12 V IC1 AY3-1015 pin 3 pin 1 IC2 74LSI75 pin 8 pin 16 IC3.4.5 74LS374 pin 10 pin 20 IC6 74LS00 pin 7 pin 14 IC7 74 LSI 4 pin 7 pin 14 IC8 NE555 pin 1 pin 8 IC9 74LS02 pin 7 pin 14 IC10 MCI 488 pin 7 pin 14 pin 1 IC11 MCI 489 pin 7 pin 14 IC12 74LS04 pin 7 pin 14 IC13 CD74HC4040 pin 8 pin 16 4.9152MHz u> ~^ DATA-RATE GENERATOR Figure 3: Serial interface and data-rate generator. modes are important primarily in high-volume applications). Control inputs are used to select the chip and configure it for one of these operating modes. In the program mode, particular bit cells are induced to contain 0 values. Both Is and Os are present in the data word presented on the data lines, but only the presence of a 0 causes action to take place. To program the 2716 EPROM, the V pp input is made +2 5 V and the OE input is at a high TTL level. Then, the TTL-level data to be programmed for a specific address is set up on the 2716's data lines, and the address is set up on address lines AO through A10. After a setup time of at least 2 microseconds (/*s), a high TTLrlevel programming pulse 50 milliseconds (ms) long is applied to the CE/PGM in¬ put. Addresses to be programmed may be specified in any order. The 50-ms programming pulse must be applied once for each location to be programmed (under no circum¬ stances should a^onstant high level be applied to the CE/PGM input in the program mode). Repeated 50-ms pulses to the same location are ac¬ ceptable. but any pulse width greater than 55 ms might destroy the chip. The minimum pulse width is 45 ms. Circuit Description Figures 2, 3, and 4 show the sche¬ matic drawings for the serial-port EPROM programmer, the RS-232C in¬ terface, and the four-voltage power supply. Table 1 shows the power- supply connections for the sche¬ matics. The main element in figure 2 is the AY-3-1015 UART (universal asyn¬ chronous receiver/transmitter). The UART converts serial information sent from the computer into parallel infor¬ mation used in the programmer. This parallel data appears on pins 5 through 12 of the UART receiver bus. The UART can also pass information back to the computer by converting any parallel information present on pins 26 through 33 of the transmitter bus into serial information. The serial information is received from the com¬ puter on pin 20 and transmitted to the computer on pin 2 5. A logic high level on pin 21 resets and initializes the UART. This level is generated as a power-on reset (PWR) every time the power to the program¬ mer is turned on or the manual reset button pressed. This PWR also clears 108 BYTE • FEBRUARY 1985 the receiver character counter, IC2. UART pins 35 through 39 set the format of the serial transmission be¬ tween the computer and the program¬ mer. (I chose to hard-wire these op¬ tions rather than provide option switches that are rarely used.) As shown, the UART is configured for an 8-bit character length with 1 stop bit and parity checking inhibited. If your computer requires 2 stop bits, con¬ nect pin 36 to + 5 V instead of ground. The programmer will operate at any desired data rate up to and including 9600 bits per second (bps). A soft¬ ware delay loop keeps the program¬ mer from being swamped. The programmer requires 4 bytes to be sent from the computer for each location read from or written to in the EPROM. This 4-byte protocol elimi¬ nates the need for incremental counters and sophisticated decision logic in the programmer. It does, however, reduce the speed of read and erasure-verification operations. The first 3 bytes received are latched a byte at a time into latches IC3, IC4, and IC5. The latching pulses are generated by 1C2, which is con¬ figured as a 4-bit byte counter. Each time a byte is received by the UART, an RDA (received data available) pulse is generated at pin 19 of the UART. This pulse is used to clock IC2 and is gated back to the RDAV (reset data available) line, pin 18, to clear the receiver section of the UART. As the counter clocks, the leading edges of its output latch the data from the UART into IC3, IC4, or IC5. The counter is reset by the PWR line or when the fourth byte is received. The first byte received by the pro¬ grammer contains the most significant 3 to 6 bits of the EPROM address (depending upon the EPROM type) and 1 bit to select either the read or write mode of operation. A logic 1 in bit 7 sets the write mode; a logic 0 sets the read mode. The second byte contains the lower 8 bits of the EPROM address. The third byte contains the data to be programmed into the addressed location when it is in the write mode or a dummy character when in the read mode. The fourth byte contains dummy data in both the read and write modes. When the counter increments with the reception of the fourth byte, it causes IC2 to reset. The time be¬ tween setting this output bit and clearing the counter is about 100 nanoseconds (ns). This short pulse concluding the setup of the address and data is used to trigger the actual programming pulse to the EPROM. The programming pulse to the EPROM is generated by IC8. which is configured as a 50-ms one-shot (trig¬ gered by the reception of the fourth byte). The programming pulse is fed to the EPROM at several different locations, depending on which EPROM is being programmed and how the EPROM selection jumper block (see figure 5) is configured. The one-shot is functional only when the mode select line (R/W, read/not write) IC3 pin 2 is a logic 0, setting the write mode. The mode select line is also used to select the programming voltage ranges of the various EPROMs. When configured for a 2732 or a 2716 EPROM, a low on the mode select line sets the V pp supply to a 25-V level. For all other EPROM types, the V pp supply is set to a 21-V level. Depending on the configuration of the jumper block, the mode select line sets the proper TTL levels at the CE and OE pins to place the various EPROMs in the read or write mode. A logic high on the mode select line causes the V pp supply to drop to 0 V for the 2732 and 2732A EPROMs and to 5 V for the other types. The mode select line also functions as the output enable line of data latch IC5. When the programmer is in the write mode, data from the UART is latched and directed to the EPROM data bus for programming. When the programmer is in the read mode, IC5's output is disabled, and the EPROM data-bus contents are transmitted back to the computer. LEDs (light-emitting diodes) 1. 2, and 3 indicate when power is on and when read and write pulses occur. They are not necessary to the opera¬ tion of the programmer and are mere¬ ly included as visual aids. Figure 3 shows the serial-interface connections and the data-rate generator. IC10 and 1C11 are standard RS-232C transmitter and receiver chips that conform to the EIA (Elec¬ tronic Industries Association) stan¬ dard for RS-232C transmission. (If your computer needs a handshaking signal, the 50-ms write pulse can be connected to the clear-to-send line. It is not used with the software pre¬ sented in this article.) The serial-com¬ munication rate between the pro¬ grammer and the computer is jumper- selectable. A 4.9152-MHz oscillator is divided down through a CD74HC4040 (it must include the HC designation to accommodate the high frequency) to produce the appropri¬ ate clock rate for the UART. Figure 4 shows the power supply used with the programmer. The power transformer I chose was 22 V CT (center tap), but any transformer from ( continued ) + 12 V Figure 4: Power supply. FEBRUARY 1985 • BYTE 109 22 to 2 5.6V CT is adequate. The secondary output of the transformer is full-wave rectified, filtered, and then regulated to +12 V, + 5 V, and - 12 V. Only the + 5-V supply needs an actual IC regulator; less stringent zener regulation is adequate for the 12-V supplies to the RS-232C drivers. The 3 5-V output consists of com¬ ponents C4, C5. D3. and D4 con¬ nected as a cascade voltage doubler with half-wave rectification. This con¬ figuration produces an input of ap¬ proximately 32 to 34 V to the LM317/ 338 regulator. The minimum accept¬ able voltage at the input is 28.5 V (for a 2 5-V output). If you use a higher- output transformer than 22 V CT. be careful that the input to the V pp regulator doesn't exceed 3 5 V. If it does, additional preregulation may be necessary to use this circuit. Figure 6 shows the programmable V pp supply. The 2732A EPROM re¬ quires the programming voltage to be pulsed between 0 and 21 V. while a 2716 requires a pulse between 5 and 2 5 V. The supply is controlled by the jumper connections and the mode select line. With jumper #1 across R6. the supply is configured for a max¬ imum V pp level of 21V. When it is removed, the supply has a maximum voltage of 2 5 V. The minimum V pp level is set by two jumper-selectable programming cir¬ cuits, which are also connected to the regulator's output set point-adjust line. When jumper #2 is installed, a two-transistor circuit is enabled, which applies - 1.2 V to the adjust line. The result is a 0-V output from the regulator. When jumper #3 is in¬ stalled. the reference-adjust line is set to allow a + 5-V regulator output. Interacting with Hardware The operation of the serial program¬ mer should become clear by follow¬ ing an example of a write operation followed by a read operation. This is the sequence that would necessarily occur during a standard write-and- verify cycle. First, the EPROM programmer is cleared and set to the read mode by the power-on reset pulse (which can be generated by pressing a button or by turning the programmer on) so that it is ready to receive the first character. If we plan a write cycle, the first character must contain a logic 1 in bit 8 to activate the write mode. The upper 3 to 6 bits of the EPROM ad¬ dress (the page address that depends on the size of the EPROM) must also appear in the first 3 to 6 bits (bit 0 through bit 5) of this first character. Each character of data to be pro¬ grammed into the EPROM is sent to the programmer as a 4-byte transmis¬ sion with the programming address specified each time. Tkble 2 indicates the allowable bit patterns for this first character re¬ ceived by the programmer. For our example, assume that the 2716 2764 J1 • 24 1 < * 24 J2 < 3 < i 22 J3 ' J4 < 4 » •21 J5 ' • 20 J6 < J7 < / ’ } lo J8 < J9 < 9 > >16 J10 • * 15 Jll < J12 < »13 12 < •13 2732 A 2732 1 < • 24 1 < • 24 2 1 £ 3 C ' 1 t O i IQ 6 < ' 1^7 i V7 O ’ Q , , 17 8 < > if i ic o 1 Q , 1 if > 16 9 < 1 lo 1 0 l • 13 12 ' 1 lo i C 27128 1 < 24 3 ' 22 4 < >21 7 < > 18 9 i •16 11 < • 14 12 < > 13 Figure 5: Configuration jumpers. 110 BYTE • FEBRUARY 1985 data byte C3 (hexadecimal) is to be written into the first byte of page 4 in the EPROM. In this case the first character received by the program¬ mer should be 1x000100. The receipt of this character pulses IC2 and latches the page address and mode select bit into the page/mode latch, IC3. The mode select bit selects the EPROM for a write cycle, turns on the V pp supply to the EPROM, releases the reset line on the timer, activates the output enable line of the data latch, and shuts off the transmission gate of the UART. The second character sent contains the lower 8 address bits for the EPROM. To program the first location in page 4, the rest of the address must then be 00000000. This character sets the second stage of the counter and latches the lower address location into the lower address latch, IC4. The third character, 11000011 (C3 hexadecimal), contains data to be pro¬ grammed into the EPROM. When this character is received, the counter latches the data into the data latch, IC5. The fourth character sent is a dummy character that may contain any value. This fourth and last char¬ acter simply clocks IC2 and triggers the 50-ms programming pulse. When the one-shot times out, the program¬ mer is still in the write mode. It has to be set to the read mode by ini¬ tiating a read cycle. The four characters sent in our pres¬ ent example of a write sequence are 1x000100, which sets the write mode and upper address; 00000000, which sets the lower address; 11000011, which sets the data byte (C3 hexadec¬ imal); and xxxxxxxx, dummy data. The read sequence is similar to the write sequence. The first character ( continued ) T^ble 2: Allowable bit patterns. Page Write Mode Read Mode 0 1x000000 0x000000 1 1x000001 0x000001 2 1x000010 0x000010 3 1x000011 0x000011 4 1x000100 0x000100 5 1x000101 0x000101 6 1x000110 0x000110 7 1x000111 0x000111 64 1x111111 0x111111 w '"r> 32-35 VOLTS 1 -^ LM317/LM338 IN OUT ADJ c IK -y&r- 4.7K -AAAr- m Q1 2N2222 470 a -AAA#- IN4732 -12V 03 2N2905 ; 470& : • 470a -< s 3 R7 510& rh -O v p p R4 150 SI R5 2.4K R5 + R6 SETS 25V R5 SETS 21V R6 470& 02 2N2222 (2732) JJ2 JJ3 (2716.2764.27128) | 22 R/W O v cc |3j2 :^r READ WRITE 1 FOR 25V 2716 5V 25V 2732 ov 21V 2732 A OV 21V 2764 27128 5V Figure 6: Close-up of the programmable V pp supply. FEBRUARY 1985 • BYTE 111 sent again contains the upper bits of the address, but bit 8 is now set to logic 0 to put the mode select line high (read mode). A logic 1 on the read/write line deactivates the pro¬ gramming one-shot and tristates the data latch. IC5. Again, the first character is latched into the page/mode latch, and the sec¬ ond character is latched into the lower address latch. With IC5 tristated. the EPROM’s data output is placed on the UART transmitter bus. The third char¬ acter is a dummy character that is used to clock IC2. This signal causes the UART to transmit the data on the transmitter bus to the computer. The fourth character is then sent to the programmer to reset the counter. The four characters that must be sent in the verify sequence of our ex¬ ample are 0x000100. which sets the read mode and upper page address; 00000000, which sets the lower address; xxxxxxxx, which gets the data byte from the EPROM (C3 hexa¬ decimal); and xxxxxxxx. which resets the programmer. Programmer Software The driver program shown in listing 1 could have been written in any lan¬ guage that supports input and output ports. [Tfiis program is available for down¬ loading from BYTE net Listings at (603) 924-9820. You can also receive it by send¬ ing an IBM PC-formatted disk and return postage to Steve C iarcia.] BASIC was chosen because it has wide appeal in the personal computer field and because most systems with serial I/O ports support BASIC. The software (flow-diagramed in figure 7) was writ¬ ten specifically for the IBM PC but can be easily modified to conform to most other systems that also support Microsoft BASIC. The program was written with a short MAIN program module that calls a number of subrou¬ tine modules. This modular approach makes modifying, debugging, or ex- Figure 7: A flowchart of the driver program. 112 BYTE • FEBRUARY 1985 panding the software a much easier task. Examining the driver software should provide enough understand¬ ing so that any additions or changes desired can be easily implemented. The program modules that access the serial port are labeled READ A BYTE and WRITE A BYTE in listing 1. These sections contain the only soft¬ ware modules that are hardware-de¬ pendent and that need to be con¬ figured to your particular system. The WRITE module performs the actual program burn of the data into the EPROM. The first statement sends the page address to the serial port with the value of bit 8 set to 1. This is accomplished by combining the page address with the value 128 (10000000 binary). The page address is calculated elsewhere in the pro¬ gram before entering this module. The next statement sends the lower address contained in the variable BYTE to the serial port. This value is also calculated by the program prior to entering the WRITE module. The statement "PRINT #3,DATUM" sends the data to be written into the EPROM to the serial port. The last statement in the WRITE module is a timing loop that causes the program to pause while the 50-ms timer in the serial-port programmer times out. The READ module requests a data byte from the programmer and receives the byte from the serial port. It accomplishes this by sending a page address and byte address to the serial port as in the WRITE module. In this case, bit 8 of the page address is set to 0 to inform the programmer that a read cycle is being performed. The next two lines send a dummy data value and a strobe to the serial port to complete the read sequence. The values of DUMMY and STROBE are set in the INITIALIZATION module. The data sent by the serial- port programmer is received in the variable RDATA. Once these modules have been configured to your system, it is a sim¬ ple matter to write and read data from the programmer. Simply define the PAGE and BYTE address variables along with the DATUM value and send them to your serial port by calling the appropriate module. The rest of the program in listing 1 shows methods for doing this. The approach used in the program is to place any data to be pro¬ grammed into the EPROM in an array so that it can be reviewed and edited prior to burning it permanently into the EPROM. The array name is appro¬ priately called ARRAY! )• The high- order byte of every element in AR¬ RAY!) stores a flag bit indicating that the lower-order byte of the element is data to be programmed. This method allows the program to write to only those locations in the EPROM where a valid data value has been entered in ARRAY!). Each time a data value is put into ARRAY!), the value is combined with 2 56 to set the flag. When it is time to send all the data to the EPROM, the flag is checked in each element, and only those elements with the flag bit set are sent to the EPROM. This pro¬ cess is repeated until all the flagged elements have been programmed. The initial values for ARRAY!) are taken directly from the EPROM by reading each location and storing the values in ARRAY!). Several methods of entering data into ARRAY!) are used in the program. One method is to enter each data value directly from the keyboard; an¬ other method is to fill ARRAY!) by reading an already-programmed EPROM. Finally, a disk file previously ( continued) FEBRUARY 1985 • BYTE 113 Listing 1: EPROM programmer routines. 1000 1010 1020 1030 1060 1070 1090 1100 1110 1120 1130 1140 1150 1160 1170 1190 1200 1210 1230 1240 1260 1270 1280 1290 1300 1310 1330 1340 1350 1360 1370 1380 1390 1410 1420 1440 1450 1460 1470 1490 1500 1510 1520 1530 1540 1550 1560 1570 1580 1600 1610 1620 1630 1640 1660 1670 1690 1700 1710 1720 1730 1740 1750 1760 1770 1780 1790 1800 1810 1820 1830 1850 1860 1870 1880 1890 1900 1910 1920 REM SERIAL EPROM PROGRAMMER REM written in REM MICROSOFT BASIC for the IBM PC REM INITIALIZATION ROUTINE KEY OFF LINE25$= BAUD RATE=\ \EPROM=\ \ BASE PAGE=\ \” BR$ = "0000”: EPS = BR$:BP$ = BR$ DEFINT A-Z:ON ERROR GOTO 4600 STROBE = 255:DUMMY - 255:PAGE = 0:BYTE = 0: DATUM = 255 K$ = "VPNEOWHDIBSL":FORMAT$ = 'PAGE=\\ BYTE=\\ DATA=\\" MIMAGE = 0:MCRADDR = &H3FC:DELAY = 100 REM MAIN BODY OF PROGRAM — KEYBOARD SEQUENCE GOSUB 2250 PRINT" = = = = = = = = = = SERIAL EPROM PROGRAMMER = = = = = = = = = = PRINT" BAUD-RATE SELECTION" PRINT'The SERIAL PORT programmer can operate at several different baud" PRINT"rates. Select the baud rate for your system from the list below." PRINT" (1) 300 baud" PRINT" (2) 600 baud" PRINT" (3) 1200 baud" PRINT" (4) 2400 baud" PRINT" (5) 4800 baud" PRINT" (6) 9600 baud" PRINT"Enter the number of your selection — > ";:BAUD$ = INPUT$(1) PRINT BAUDS:BAUD = VAL(BAUD$):IF BAUD>0 AND BAUD<7 THEN 1360 PRINT" < < < < < BAUD-RATE SELECTION ERROR >>>>>" GOTO 1330 BRS * STR$(300*2~ (BAUD - 1)) GOSUB 2250 PRINT" = = = = = = = = = = SERIAL EPROM PROGRAMMER = = = = = = = = = = PRINT" EPROM-TYPE SELECTION" PRINT'The SERIAL EPROM programmer has the ability to program several" PRINT"different EPROMS Select the type of EPROM from the list below " PRINT" (1) 2716- PRINT" (2) 2732/2732A" PRINT" (3) 2764- PRINT" (4) 27128" PRINT'Enter the number of your selection — > ";:ESIZE$ = INPUT$(1) PRINT ESIZES ESIZE = VAL(ESIZE$):IF ESIZE>0 AND ESIZE<5 THEN 1520 PRINT "<<<<< EPROM-TYPE ERROR > > > > > " GOTO 1490 DSIZE = 1024 *2“ ESIZE.PAGES = DSIZE/256 EP1$ = STR$(16*2~ (ESIZE - 1)) EPS = "27" + RIGHT$(EP1 $,LEN(EP1 $) - 1) DIM ARRAY(DSIZE) GOSUB 2250:GOSUB 4790:GOSUB 2250 PRINT = = = = = = = = = = SERIAL EPROM PROGRAMMER = = = = = = = = = = PRINT " CONDITION OF EPROM" PRINT"If the EPROM you are programming is fully erased then select" PRINT"‘EPROM ERASED’ from the selection list below. This will save" PRINT'The time required to read the EPROM into memory. If the EPROM" PRINT'has been partially programmed then select ‘PARTIALLY PROGRAMMED'" PRINT'and the EPROM will be read into memory prior to programming." PRINT" (1) EPROM ERASED" PRINT" (2) EPROM PARTIALLY PROGRAMMED" PRINT'Enter the number of your selection —> ";:ERA$ = INPUT$(1) PRINT ERA$:PRINT:ERA = VAL(ERA$):IF ERA = 2 THEN 1740 IF ERAo 1 THEN PRINT"<<<<< SELECTION ERROR > > > > >":GOTO 1690 PRINT' < < < < < INITIALIZING MEMORY — PLEASE WAIT >>>>>" FOR 1 = 0 TO DSIZE - 1 :ARRAY(I) = 255:NEXT I ON BAUD GOTO 1750,1760,1770,1780,1790,1800 OPEN "COM1:300,n,8,1 .rs.cs.ds" AS #3:GOTO 1810 OPEN “COM 1:600,n,8,1,rs.cs.ds" AS #3:GOTO 1810 OPEN "COM1:1200,n,8,1,rs.cs.ds" AS #3:GOTO 1810 OPEN "COM1:2400,n,8,1,rs.cs.ds" AS #3:GOTO 1810 OPEN “COM1 4800,n,8,1,rs.cs.ds" AS #3:GOTO 1810 OPEN “COM1:9600,n,8,1,rs.cs.ds" AS #3 GOSUB 2250 PRINT = = = = = = = = = = SERIAL EPROM PROGRAMMER = = = = = = = = = = PRINT " BASE-PAGE INITIALIZATION" PRINT'The SERIAL EPROM programmer is driven by a keystroke-oriented" PRINT"program. The keys are defined in a HELP menu. This help menu" PRINT"can be displayed at any time by typing the letter (H) after" PRINT'The program has been initialized." PRINTPRINT PRINT'To initialize the program you must enter the base page" PRINT' address of the EPROM This address is generally a HEXADECIMAL value" PRINT'corresponding to the beginning page of an even 2K-byte boundary." 114 BYTE* FEBRUARY 1985 1930 PRINT'For example 00,08,B0,B8,etc.” 1950 GOSUB 3770:REM SET BASE ADDRESS 1960 IF HFLAG = 1 THEN HFLAG = 0:GOTO 1950 1970 IF ERA- 1 THEN 2000 1980 PRINT“A MEMORY IMAGE OF YOUR EPROM IS BEING MADE" 1990 GOSUB 3890:REM MAKE MEMORY IMAGE 2000 GOSUB 2880:REM DISPLAY HELP MENU 2010 PRINT:PRINT 2020 PRINT"YOUR PRESENT LOCATION IS:" 2030 GOSUB 2320:REM READ AND DISPLAY DATA 2040 PRINT-COMMAND 2050 IKEYS-INPUTS(I) 2060 IF IKEY$> = “a" AND IKEYS< = "z" THEN IKEY$ = CHR$(ASC(IKEY$) AND 95) 2070 K = INSTR(K$,IKEY$):IF K = 0 THEN PRINT "WHAT ?";:GOTO 2050 2080 HFLAG = 0 2090 ON K GOSUB 3430,2380,2440,2160,2500,2660,2880,3550,3760,3980,4240,4400 2100 REM VPNEOWHDIBSL 2110 IF HFLAG = 1 THEN GOSUB 2880 2120 IF HFLAG = 1 OR IKEY$ = "H" THEN 2010 ELSE 2030 2140 REM BURN EPROM AND END OPTION 2160 GOSUB 3980 2170 IF IKEY$< > “N" THEN RETURN 2180 CLOSE.END 2200 REM MAIN BODY ENDS HERE - SUBROUTINE MODULES FOLLOW 2230 REM DISPLAY STATUS LINE 2250 CLS:LOCATE 25,1:PRINT USING LINE25$;BR$,EP$,BP$; 2260 PRINT "COMMANDS: ";K$ 2270 LOCATE 3,1,1:RETURN 2300 REM DISPLAY LOCATION AND DATA 2320 RDATA = ARRAY(PAGE*256 +BYTE) AND 255:REM GET DATUM FROM ARRAY 2330 PRINT USING FORMAT$;HEX$(BIAS + PAGE),HEX$(BYTE),HEX$(RDATA) 2340 RETURN 2360 REM DECREMENT ADDRESS 2380 IF PAGE-0 AND BYTE-0 THEN RETURN ELSE BYTE-BYTE-1 2390 IF BYTE - -1 THEN PAGE = PAGE -1 :BYTE = 255 2400 RETURN 2420 REM INCREMENT ADDRESS 2440 IF PAGE-PAGES-1 AND BYTE-255 THEN RETURN ELSE BYTE-BYTE+ 1 2450 IF BYTE = 256 THEN PAGE = PAGE + 1 :BYTE = 0 2460 RETURN 2480 REM OFFSET TO NEW STARTING ADDRESS 2500 ADDS-" ":PRINT:PRINT"ENTER NEW LOCATION IN HEXADECIMAL (hhhh) -> "; 2510 L$-INPUT$(1):PRINT L$: 2520 IF L$> = "a" AND L$< ="z" THEN L$ = CHR$(ASC(L$) AND 95) 2530 IF L$ = "H" THEN HFLAG = 1 :RETURN 2540 IF LS- "Q" THEN PRINT.RETURN 2550 ADDS-ADDS+ L$:IF LEN(ADD$) = 4 THEN PRINT ELSE 2510 2560 PAGES = LEFT$(ADD$,2): BYTES = RIGHT$(ADD$,2) 2570 CONS = PAGE$:GOSUB 3110:IF SUM - -1 THEN 2500 2580 PAGE-SUM-BIAS 2590 IF PAGE > PAGES-1 OR PAGE <0 THEN PRINT"<<<<< OUT OF RANGE > > > > >":GOTO 2500 2600 CONS = BYTE$:GOSUB 3110:IF SUM - -1 THEN 2500 2610 BYTE-SUM 2620 RETURN 2640 REM WRITE TO ARRAY - BYTE BY BYTE 2660 XFLAG = 0:DATUM$ = " ":PRINT‘'<<< WRITE MODE >>> ENTER DATA IN HEXADECIMAL (hh) -> 2670 D$= INPUT$(1):PRINT D$; 2680 IF D$> = "a" AND D$< ="z" THEN D$ = CHR$(ASC(D$) AND 95) 2690 IF D$ = "H" THEN HFLAG = 1 :RETURN 2700 IF D$ = "Q" THEN PRINT:RETURN 2710 IF D$ = "X" THEN XFLAG = 1 :DATUM$ = " ":GOTO 2670 2720 DATUMS-DATUMS+ D$:IF LEN(DATUM$)< >2 THEN 2670 2730 PRINT:CON$ = DATUM$:GOSUB 3110:DATUM = SUM 2740 IF SUM - -1 THEN 2660 2750 IF (ARRAY(PAGE*256 + BYTE) AND 255)< >255 AND XFLAG-0 THEN 2830 2760 DATUM-DATUM OR 256:REM TAG LOCATION AS WRITTEN TO 2770 ARRAY(PAGE*256 + BYTE) = DATUM:REM WRITE DATUM TO ARRAY 2780 GOSUB 2320:REM DISPLAY WRITE TO ARRAY 2790 IF BYTE = 255 AND PAGE-PAGES-1 THEN RETURN 2800 GOSUB 2440:REM INCREMENT ADDRESS 2810 GOSUB 2320:REM DISPLAY NEXT LOCATION 2820 GOTO 2660 ( continued ) FEBRUARY 1985 • BYTE 115 2830 2840 2850 2860 2880 2890 2900 2910 2920 2930 2940 2950 2960 2970 2980 2990 3000 3010 3020 3030 3040 3050 3060 3070 3080 3090 3110 3120 3130 3140 3150 3160 3170 3180 3190 3200 3210 3220 3240 3250 3260 3270 3280 3290 3300 3310 3320 3340 3350 3360 3370 3380 3390 3400 3410 3430 3440 3450 3460 3470 3480 3490 3500 3510 3520 3530 3550 3560 3570 3580 3590 3600 3610 3620 3630 3640 3650 3660 3670 3680 3690 PRINT:PRINT“< < < < << ILLEGAL WRITE TO PREVIOUSLY PROGRAMMED LOCATION >>>>>> RETURN REM HELP ROUTINE GOSUB 2250:REM CLEAR SCREEN PRINT'To initialize the program you should enter the beginning page ' PRINT“address of the EPROM to be programmed This value is used when' PRINT“printing to the screen and as a bias value in the write modes.” PRINT'‘The following single-letter commands are used to control the” PRINT'modes of the EPROM programmer:”:PRINT (I) INITIALIZE BASE-PAGE ADDRESS - base address is (V) VERIFY ERASURE” (N) DISPLAY NEXT BYTE” (P) DISPLAY PREVIOUS BYTE” (O) OFFSET TO NEW PAGE AND BYTE” (L) LOAD ARRAY FROM DISK” (S) SAVE ARRAY ON DISK” (W) ENTER BYTE WRITE MODE (D) HEXADECIMAL DUMP TO SCREEN” (B) ENTER BURN EPROM' MODE” (H) ENTER HELP MODE (E) EXIT PROGRAM” (use Q or H to exit. X to edit)” (from any input statement)” 1) PRINT” (I) INITIALIZE BASE-PAGE ADDRESS - base address is ”;BIAS$:"00” PRINT” PRINT” PRINT” PRINT” PRINT” PRINT” PRINT” PRINT- PRINT” PRINT- PRINT” RETURN REM ***** CONVERT HEXADECIMAL TO DECIMAL ***** REM ENTER WITH HEXADECIMAL STRING IN CONS, EXIT WITH DECIMAL VALUE IN SUM SUM = 0 FOR I = 1 TO LEN(CONS) X * ASC(MID$(CON$,(LEN(CON$) + 1 -1),1)) IF X<48 OR X>70 THEN SUM = - 1 :l * LEN(CON$):GOTO 3190 IF X>57 AND X<65 THEN SUM = -1:1 = LEN(CON$):GOTO 3190 IF X<64 THEN X-X-48 ELSE X = X-55 SU M = SUM + (X * 16 “ (I -1)) IF SUM>255 OR SUM<0 THEN SUM = -1 IF SUM = -1 THEN PRINT”<<<<< INPUT ERROR >>>>> NEXT l:RETURN REM WRITE A BYTE WPAGE = PAGE OR 128:REM PRINT #3,CHR$(WPAGE);:REM PRINT #3,CHR$(BYTE);:REM PRINT #3,CHR$(DATUM); REM PRINT #3,CHR$(STROBE), REM FOR DEL = 1 TO DELAY NEXT DELREM RETURN REM = = = = = = = = = = = = = = = = REM READ A BYTE PRINT #3,CHR$(PAGE);:REM PRINT #3,CHR$(BYTE);:REM PRINT #3,CHR$(DUMMY); REM PRINT #3,CHR$(STROBE);:REM RDATA = ASC(INPUT$(1 ,#3)):REM RETURN REM VERIFY ERASURE PRINT:PRINT”VERIFYING THAT EPROM IS ERASED " PRINT BYTE = 0: PAGE = 0 FOR PAGE = 0 TO PAGES-1 V$ = ” OK” FOR BYTE = 0 TO 255 IF (ARRAY(PAGE*256 +BYTE) AND 255) = 255 THEN 3490 VS = ”<<<<<< NOT ERASED >>>>>> NEXT BYTE:PRINT”PAGE”;PAGE;V$ NEXT PAGE BYTE = 0PAGE = 0:RETURN REM DUMP TO SCREEN GOSUB 2250 FOR LN = 1 TO 16 DPAGES- RIGHTSf'O” + HEXADECIMAL$(BIAS + PAGE),2) DBYTE$ = RIGHTSC'O” + HEXADECIMAL$(BYTE),2) PRINT USING'\\”;DPAGE$:DBYTE$;“ FOR D= 1 TO 16 DDATAS = RIGHTSC'O + HEXADECIMAL$((ARRAY(PAGE *256 h PRINT USING\\”;DDATA$; IF PAGE = PAGES-1 AND BYTE = 255 THEN D=16:LN = 16 GOSUB 2440 IF BYTE MOD 16 = 0 THEN PRINT:D=16 NEXT D NEXT LN:PRINT:PRINT IF PAGE = PAGES-1 AND BYTE = 255 THEN PRINT”<< < < < < END OF EPROM >>>>> RETURN PRINT'ENTER (C) TO CONTINUE OR (Q) TO EXIT DUMP -> ;:IKEY$ = INPUT$(1) IF IKEY$> = "a” AND IKEY$< =”z” THEN IKEY$ = CHR$(ASC(IKEY$) AND 95) SET WRITE PAGE (W/R = SEND WRITE PAGE SET WRITE BYTE DATA TO WRITE WRITE STROBE WRITE DELAY SET READ PAGE (W/R = 0) SET READ BYTE DUMMY DATA SENT READ STROBE INPUT DATA h BYTE) AND 255)).2) 116 BYTE* FEBRUARY 1985 3700 PRINT IKEYS:PRINT:IF IKEY$="C” THEN 3560 3710 IF IKEY$ = ”H” THEN HFLAG = 1 :RETURN 3720 IF IKEY$ = "Q" THEN RETURN ELSE 3680 3730 REM = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 3740 REM SET BIAS ADDRESS 3760 GOSUB 2250 3770 BIAS$ = " PRINT:PRINT"ENTER BASE-PAGE ADDRESS IN HEXADECIMAL (hh) -> ’ : 3780 B$ = INPUT$(1):PRINT B$; 3790 IF B$> = "a" AND B$< = "z" THEN BS = CHR$(ASC(B$) AND 95) 3800 IF B$ = "H” THEN HFLAG = 1 RETURN 3810 IF B$="Q" THEN PRINT:RETURN 3820 BIASS = BIASS+ BSIF LEN(BIAS$)< >2 THEN 3780 3830 PRINT 3840 CONS = BIAS$:GOSUB 3110:BIAS = SUM:PRINT:PRINT:IF SUM= -1 THEN 3770 3850 PAGE = 0:BYTE = O BPS = BIASS + ‘‘00":GOSUB 2250:RETURN 3860 REM = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 3870 REM READ EPROM TO ARRAY 3890 PAGE = 0:BYTE = 0:GOSUB 2250 3900 GOSUB 3340 3910 ARRAY(PAGE*256 + BYTE) = RDATA:IF BYTE-0 THEN PRINT-READING PAGE";PAGE 3920 BYTE = BYTE+1:IF BYTE = 256 THEN PAGE = PAGE + 1 :BYTE = 0 3930 IF PAGE<= PAGES-1 THEN 3900 3940 PRINT:PAGE = 0:BYTE = 0:RETURN 3960 REM WRITE ARRAY TO EPROM 3980 GOSUB 2250 3990 PRINT‘‘< < < < < < BURN ALL PROGRAMMED BYTES ??>>>>> >” 4010 PRINT‘‘TYPE (Y) TO PROGRAM EPROM” 4020 PRINT-(Q) TO RETURN TO PROGRAM" 4030 PRINT-(H) TO DISPLAY HELP MENU” 4040 PRINT‘‘(N) TO RETURN TO PROGRAM FROM BURN' MODE" 4050 PRINT-TO ABORT PROGRAM IN ‘EXIT’ MODE." 4060 PRINT:PRINT"ENTER SELECTION-> ";:IKEY$ = INPUT$(1) 4070 PRINT IKEYS 4080 IF IKEY$> = "a" AND IKEY$< = "z” THEN IKEYS = CHR$(ASC(IKEY$) AND 95) 4090 IF IKEYS = "N" THEN RETURN 4100 IF IKEYS = "H" THEN HFLAG = 1 :RETURN 4110 IF IKEYS = "Q" THEN PRINT:RETURN 4120 IF IKEY$< >"Y” THEN 3990 4130 FOR ADD = 0 TO DSIZE 4140 DATUM = ARRAY(ADD):IF DATUM <256 THEN 4190 4150 DATUM = DATUM AND 255:BYTE = ADD MOD 256:PAGE = (ADD-BYTE)/256 4160 PRINT "BURNING ";:GOSUB 2320 4170 GOSUB 3240:GOSUB 3340 4180 IF RDATA< >DATUM THEN PRINT "<<<<<< DATA NOT VERIFIED >>>>>>" 4190 NEXT ADD 4200 PRINT:BYTE = 0:PAGE = 0:RETURN 4210 REM = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 4220 REM SAVE ARRAY IN DISK FILE 4240 GOSUB 2250:PRINT"THE DISK FILE CREATED HERE WILL CONTAIN ALL THE DATA" 4250 PRINT"PRESENTLY CONTAINED IN YOUR EPROM MEMORY IMAGE AND" 4260 PRINT-WILL BE ASSIGNED THE FILE EXTENSION 'PRM'." 4270 PRINT"THE FOLLOWING IS A LIST OF EXISTING DISK FILES WITH" 4280 PRINT'THE FILE EXTENSION '.PRM’.":PRINT:PRINT 4290 FILES "*.PRM":PRINT:PRINT 4300 INPUT"ENTER THE FILENAME OF YOUR NEW DISK FILE -> ".FILENAMES 4310 IF FILENAME$="H" OR FILENAMES = "h” THEN HFLAG * 1 :RETURN 4320 IF FILENAMES = "Q" OR FILENAMES = "q" THEN RETURN 4330 OPEN "O’',#1 .FILENAMES-*- ".PRM" 4340 FOR 1 = 0 TO DSIZE - 1 PRINT #1,(ARRAY(I) AND 255); 4350 IF I MOD 256 = 0 THEN PRINT "SAVING PAGE";l/256 4360 NEXT LCLOSE #1 :RETURN 4380 REM LOAD ARRAY FROM DISK 4400 GOSUB 2250:PRINT:PRINT'THE FOLLOWING IS A LIST OF FILENAMES WITH THE FILE- 4410 PRINT-EXTENSION .PRM"’:PRINT:PRINT 4420 FILES " VPRM":PRINT:PRINT 4430 INPUT"ENTER A FILENAME FROM THE LIST ABOVE — >', FILENAMES 4440 IF FILENAME$ = "H" OR FILENAME$ = "h” THEN HFLAG = 1 :RETURN 4450 IF FILENAME$= "Q" OR FILENAME$ = "q" THEN RETURN 4460 OPEN 'T’.#1 .FILENAMES + " PRM" 4470 FOR 1 = 0 TO DSIZE - 1 :INPUT #1,DATUM 4480 IF I MOD 256 = 0 THEN PRINT "LOADING PAGE”;l/256 4490 IF DATUM = 255 OR DATUM = (ARRAY(I) AND 255) THEN 4560 4500 IF ARRAY(I)< >255 THEN 4520 4510 ARRAY(I) = DATUM OR 256:GOTO 4560 4520 PRINT" < < < < < < ILLEGAL INPUT DATA FROM FILE >>>>>>" 4530 PRINT" < < < < < < ATTEMPT TO WRITE OVER PROGRAMMED LOCATION >>>>>> 4540 PRINT"< < < < < < PROGRAM HAS BEEN ABORTED >>>>>>" ( continued ) FEBRUARY 1985 ‘BYTE 117 4550 CLOSE#1 END 4560 NEXT I CLOSE #1 RETURN 4580 REM DISK-ERROR ROUTINE 4600 IF ERR = 53 AND ERL = 4290 THEN PRINT 'NO PRM FILES RESUME 4300 4610 IF ERR = 53 AND ERL = 4420 THEN PRINT' NO PRM FILES GOTO 4670 4620 IF ERR = 53 AND ERL = 4460 THEN PRINT"UNKNOWN FILE ’ GOTO 4670 4630 IF ERR = 61 THEN PRINT "DISK FULL":GOTO 4670 4640 IF ERR = 57 THEN PRINT'RESET EPROM PROGRAMMER " GOTO 4670 4650 IF ERR = 67 THEN PRINT"UNKNOWN FILENAME, DON’T TYPE PRM GOTO 4670 4660 CLOSE#1 PRINT "UNKNOWN ERROR # ”;ERR; "IN LINE #";ERL 4670 PRINT "PRESS ANY KEY TO CONTINUE-> ; IKEY$ = INPUT$(1):PRINT 4680 IF ERR = 57 THEN RESUME 0 4690 HFLAG = 1 4700 RESUME 2110 4710 ON ERROR GOTO 0 4730 REM CONFIGURATION ROUTINE 4750 DATA 255,255,196,255,196.255,196,255,255,196,255,196 4760 DATA 026,196,255,255,255,196,255,196,196,255,255,196 4770 DATA 196,255,196,196,255,255,196,255,196,255,255,255 4780 DATA 196,255,196,196,255,255,196,255,196,255,196,255 4790 IF ESIZE = 1 THEN RESTORE 4750 4800 IF ESIZE = 2 THEN RESTORE 4760 4810 IF ESIZE = 3 THEN RESTORE 4770 4820 IF ESIZE = 4 THEN RESTORE 4780 4830 LOCATE 1.22 PRINT '"JUMPER CONFIGURATION" 4840 LOCATE 3.30 PRINT CHR$(201);CHR$(205);CHR$(205);CHR$(187) 4850 FOR 1 = 4 TO 15 4860 LOCATE 1,30 PRINT CHR$(199);‘" ";CHR$(182);"J";I - 3 4870 NEXT I 4880 LOCATE 16,30:PRINT CHR$(200);CHR$(205);CHR$(205);CHR$(188) 4890 FOR I = 4 TO 15 4900 READ JUMPER 4910 LOCATE 1,31 PRINT CHR$(JUMPER);CHR$(JUMPER) 4920 NEXT I 4930 LOCATE 4.38 4940 IF ESIZE = 2 THEN PRINT"NOTE: INSTALL J1 FOR 2732A EPROMs 4950 LOCATE 18,20:PRINT "If jumpers are not properly configured" 4960 LOCATE 19,20:PRINT "shut off programmer and set jumpers, 4970 LOCATE 20,20:PRINT "then turn programmer back on." 4980 LOCATE 22,20:PRINT "Press any key to continue — > 4990 AS = INPUT$(1):RETURN created with a SAVE command in the program can also be used to enter the data. A help routine is provided in the program to assist the user during the operation of the programmer. It con¬ sists of a menu that contains all the choices available in the driver pro¬ gram. The routine can be entered from any location in the program by typing the letter H. A screen-dump routine and an EPROM erasure-veri¬ fication routine are also provided. In Conclusion The serial-port EPROM programmer isn't designed for volume program¬ ming. It's intended to be a cost- effective, transportable programmer that doesn't become outmoded with each new computer and system bus. You'll also find, cleverly embedded in every programming cycle, enough time for you to take a well-deserved coffee break. Circuit Cellar Feedback This month's feedback begins on page 393. Next Month I've always been intrigued by home control and electronic messaging. In March. I'll tackle the subject in earnest, beginning with a Touch-Tone Interactive Message System. ■ Special thanks to Larry Bregoli for his software expertise. Editor s Note: Steve often refers to previous Circuit Cellar articles. Most of these past ar¬ ticles are available in reprint books from BYTE Books. McGraw-Hill Book Company. POB 400. Hightstown. NJ 08250. Garcia's Circuit Cellar. Volume I covers articles that appeared in BYTE from September 1977 through November 1978. Volume II covers December 1978 through June 1980. Volume HI covers July 1980 through December 1981. Volume IV covers January 1982 through June 1983. To receive a complete list of Ciarcia's Cir¬ cuit Cellar project kits, circle 100 on the reader-service inquiry card at the back of the magazine. 118 BYTE* FEBRUARY 1985 Your Gateway to Artificial Intelligence Golden Common IiSP IBM Personal Computer Gold Hill Computers brings the language of Artificial Intelligence to "four Personal Computer. You know you want to do more with Artificial Intelligence. Two problems have held you back: the expense of the hardware and the scarcity of Lisp programmers. But no longer. Golden Common Lisp® makes it possible for you to learn and use Lisp on your per sonal computer. You will know the ex citement of expert systems, intelligent data access, and smart programs. Common Lisp is the new Lisp stan¬ dard developed by researchers from universities and corporations such as CMU, MIT, Stanford, UC Berkeley, Digital, LMI, Symbolics, and Texas Instruments. Golden Common Lisp is the right Lisp for you because it is baseaon Common Lisp. Programs you develop using Golden Common Lisp on your personal computer will run in tne Common Lisp environments of larger, more expensive machines. With Golden Common Lisp, every programmer becomes a Lisp pro¬ grammer. Golden Common Lisp comes with the Lisp Explorer,™ an interactive instructional system developed by Patrick H. Winston and San Marco Associates. The San Marco Lisp Explorer guides you through the steps of Lisp programming and makes the hill range of Lisp’s power accessible to both novices and experienced pro¬ grammers. The new second edition of the classic Lisp textbook by Winston and Horn is also included. Golden Common Lisp comes com¬ plete with the intelligent GMACS editor (based on EMACS), on-line documentation of all Lisp and GMACS functions, a comprehensive user manual, and program debugging tools. In short, Golden Common Lisp comes with everything you need to program in Lisp. Features of Golden Common Lisp for advanced users include co-routines for multitasking, macros for code clarity, streams for I/O, closures for object-centered programming, and multiple value returning functions for efficiency. Golden Common Lisp— the intelligent path to Artificial Intelligence. Golden Common Lisp (GCLisp™) requires an IBM PC, PC XT, or IBM PC compatible running PC DOS 2.0. 512K bytes of memory are recom¬ mended for program development. A version of GCLisp for the DEC Rainbow is also available. The package includes: • an intelligent GMACS editor • program development tools • the San Marco Lisp Explorer • the new 2nd edition of Lisp by Winston and Horn • the Common Lisp Reference Manual by Guy Steele • on-line documentation of all GCLisp and GMACS functions • the Golden Common Lisp Users’ Guide and Reference Manual ORDER GCLisp TODAY using the coupon below. Or call our Customer Service Department at: ( 617 ) 492-2071 r< Gold Hill Computers Customer Service 163 Harvard Street Cambridge, MA 02139 B10-84 1 Name Organization Address Phone // Today’s Date Type of computer □ Enclosed is a check to Gold Hill Computers for GCLisp. □ Please bill my □ MasterCard □ VISA card. _ / / Card # Expiration Date Signature Quantity Description Unit Price Total Price Golden Common Lisp $495.00 MA residents add 5% Subtotal Sales Tax Total Amount University purchasers should inquire about our educational discount. We pay shipping on all credit card and pre paid orders within the United States. □ Please send me more information about GCLisp. GOLD HILL C O MPUTERS 163 Harvard Street, Cambridge, Massachusetts 02139 Golden Common Lisp is a registered trademark of Gold Hill Computers. GCLisp is a trademark of Gold Hill Computers. The Lisp Explorer is a trademark of San Marco Associates. Lisp is copyrighted by Addison-Wesley Publishing Company, Inc. The Common Lisp Reference Manual is copyrighted by Digital Equipment Corporation. Rainbow is a trademark of Digital Equipment Corporation. IBM is a registered trademark of International Business Machines. Inquiry 123 120 BYTE • FEBRUARY 1985 PREVIEW THE MACINTOSH OFFICE by John Markoff and Phillip Robinson Editor's note: The following is a BYTE prod¬ uct preview. It is not a review. We provide this advance look at this new product because we feel it is significant. ON THE FIRST ANNIVERSARY of the introduction of the Macintosh, Apple Computer has introduced AppleTalk, which is a new local-area network (LAN), and a series of intelligent net¬ worked peripherals, including a laser printer and file server. The company hopes these products will make the "Macintosh office” a popular choice for work groups in large and small corporations. AppleTalk and the laser printer are scheduled to be shipped in March. The network was developed to serve as a small-work-group intercon¬ nect system, as a tributary to larger high-speed local-area and long-haul networks, and. in its most basic form, as a peripheral bus between an Apple computer and dedicated peripheral devices. The new Apple LAN concept is a radical departure from common in¬ dustry thinking about LAN design (for ( continued) John Markoff and Phillip Robinson (1000 Elwell CL Palo Alto. CA 94393) are BYTE senior technical editors. ILLUSTRATED BY JOAN HALL FEBRUARY 1985 -BYTE 121 THE MAC OFFICE AppleTalk networks the Macintosh and a new laser printer. more information on Apple's plans for the future see the text box “Steve Drops By" on page 124). Instead of providing a high-bandwidth channel to link personal computers to each other and to larger remote computers. Apple designed its LAN to be a low- speed. low-cost network for small work groups. The AppleTalk architecture relies on the distribution of “intelligence'' in network peripherals and on the clever use of the network's limited speed. Apple is betting that the principal bar¬ rier to networking office microcom¬ puters has until now been cost. By focusing on an LAN that is optimized to share resources among small groups, the company hopes to achieve a better match to the organi¬ zation of the typical office. Since the introduction of the Macin¬ tosh. Apple has changed the name of its LAN from AppleBus to AppleTalk. When Apple first described the LAN. the company emphasized the net¬ work's role in providing the Macintosh with “virtual'' serial slots for periph¬ erals as an alternative to the open hardware architecture of the Apple II. As it is released, AppleTalk goes beyond this. However you may still be able to daisy-chain peripherals by adding a smart network controller. But for now, Apple has decided to leave this option to third parties. One manufacturer. Tfecmar Inc. has already demonstrated the ability of its 68000- based hard-disk system to control both an ImageWriter and an Apple modem. Apple is moving toward putting microprocessors in all or most of its peripherals. This design philosophy, plus the standardization on the Zilog SCC (serial-communications con¬ troller) chip that is now used in the Lisa, Macintosh, and Apple lie com¬ puters, will make the task of network¬ ing peripherals simpler. At the time of AppleTalk's introduc¬ tion, Apple is only demonstrating the LAN with a prototype 20-megabyte in¬ telligent file-server hard-disk system, which you will need for network ap¬ plications such as electronic mail and print spooling. However, we were told that the hard disk will be announced in August 1985 and it will cost $3500. An electronic-mail communications package for AppleTalk is also scheduled to be announced at the same time. The company is also discussing a variety of future network products such as a bridge to link individual AppleTalk networks, an interface to the recently announced IBM PC LAN. communication servers, network data¬ bases. and as many as 50 third-party hardware and software development projects based on AppleTalk. Details of these products aren't yet available; therefore, it is difficult to assess AppleTalk at present. But after several false starts at developing a LAN. Apple is moving toward making it possible to link its products in office and other workplace settings. AppleTalk The heart of AppleTalk is the Macin¬ tosh serial-communications chip, a two-channel Zilog 8530 SCC that pro¬ vides synchronous and asynchronous data communications at up to 2 30.4K bits per second (bps) using a self¬ clocking data format. (The 8530 will provide data communications at speeds as high as 1 megabit per sec¬ ond. using an external clock. Corvus Systems Inc. has also used this higher- speed scheme in its Macintosh imple¬ mentation of the Omninet LAN.) At the physical level. AppleTalk con¬ sists of a shielded twisted-pair trunk cable with modules that are passive¬ ly connected to computer and periph¬ eral nodes via a short drop cable. An individual AppleTalk network can have up to 32 nodes and has a packet¬ switching protocol and a data rate of 230.4K bps using FM 0 modulation (a bit-encoding technique that provides self-clocking) over a maximum distance of 300 meters. Externally, AppleTalk is simple, con¬ sisting of the connection modules, each of which has two miniature DIN three-pin connectors, and a DB-9 port that connects to the printer port on the Macintosh via a 2-meter cable. In¬ side each connection module are resistors, a capacitor, and a small transformer, designed so that the link is transformer-isolated and not susceptible to any kind of radio¬ frequency interference (RFI) or static discharge. Apple calls the connector modules self-terminating, which keeps you from worrying about line termination and. in combination with the trans¬ former, lets you add nodes to the net¬ work and remove them without dis¬ rupting network functions. A 100-ohm terminating resistor is included in each connector box. and there are two switch connections that are opened when the miniature DIN con¬ nectors are inserted. If both connec¬ tors are used, the switches are open, but if one of the connectors is not used, the terminating resistor is con¬ nected across the line. AppleTalk uses a dynamic-address¬ ing scheme that ensures that each node on the network has a unique 8-bit address (there is also a mechanism for internet communica¬ tions across bridges and through gateways). The AppleTalk destination address is used to “filter” frames at the data-link layer. Frames are not ac¬ cepted unless their destination ad¬ dress matches the address of the receiving node. The SCC chip facilitates this process by performing the address-recognition function in hardware. AppleTalk doesn’t require that a particular node's address be per¬ manently recorded or set with jumpers. The advantage of this is that you can move computers and periph¬ erals between networks and install them by simply attaching them to the network. For example, Apple claims you can bring your Macintosh to the network, plug it in, insert a disk, and turn it on. No special network con¬ figuration is necessary. Setting of the node address takes place when the 122 BYTE • FEBRUARY 1985 THE MAC OFFICE computer first looks at some non¬ volatile memory to find a previous ad¬ dress it has saved, or when it com¬ putes a new address based on the generation of a pseudorandom num¬ ber. The computer then tests the ad¬ dress to see if it already exists on the network by sending a special packet to the address. If the address is already in use. the node there will answer and a new guess must be gen- ( continued ) Steve Drops By W e met Burrell Smith and Bud TVibble and the rest of the Macintosh office design crew in the Macintosh headquarters, one of the many Apple buildings in Cupertino, California. After moving beyond the lobby, we heard someone play a pret¬ ty piece of music on a grand piano in the center of a large open area that also had sofas and a Ping-Pong table. On the left was the Matisse room; we used the Picasso room on the right. During the introduction, someone mentioned that Steve would drop by later. When Steve Jobs did drop by. he had some interesting things to say about Apple's plans and strategy. "We hope to be able to offer people two things based on the Macintosh technology. The first, using the graphics and the power of that box. is radical ease of use. That was the first benefit of the Macintosh and that's the one we've really been trumpeting this last year. "We are just now beginning to dem¬ onstrate the second great benefit of that graphic user interface—capabilities that you can’t do on any other com¬ puter. You can't do the kind of project management you can do on Mac. you can't do stuff you can do with Mac- Draw, you can't print out entire forms or create forms on other computers. It will take something like the LaserWriter to really drive that home. As we roll out the next pieces that complement the workstation. I think it's going to become very clear to people why the graphic user interface is so important. "Ultimately, we think that these prod¬ ucts are going to be used to help peo¬ ple communicate with each other. Not analysis, not computationally intensive things for their own sake, but things to help people communicate much as the telephone did. And in terms of com¬ munication, look at middle-manager productivity in particular. Yes. we col¬ lect information, we analyze it, but then we draw conclusions from it and we need to communicate those conclu¬ sions to people around us. "We communicate in two ways. One. with paper, and the paperless office, which generates more paper than the traditional office; we've all found that out because we give people tools that generate the paper. So we've got to im¬ prove the quality of visual communica¬ tion, improve the ability to communi¬ cate via paper. That includes overhead transparencies, which I think are going to be a big use for the printer. We can do that through the software tools on the Mac and through the ability to print them. "The next way that we can radically improve communication is to elec¬ tronically link up people. We can start to do things like mail, electronic scheduling, and a variety of things that will improve how we communicate with each other. The result of improving those two ways of communication. I think, is going to be startling, when coupled with the fact that you can learn how to use the system in a half hour. "I also think we’re holding true to our vision oi trying to remove the service and support requirements from the equation of success so that we don't have to send out a person at a thou¬ sand dollars per half day to help you install your computer system. "AppleTalk plugs together and you don’t have a chance to forget to hook up the terminator plugs because there aren't any. and you don't have to set the thumb-wheel switches because there aren't any, and you don't have to run the network master-configuration program because there isn't any. You just plug it together like a telephone or stereo and it works. And its very, very difficult to do wrong. Those little things are what keep you from having to go out and hold people's hands, run them through half-day training courses, and things like that. "We think that networking is going to start from the bottom up in small work groups. If you've got four people on the network, which is a typical number to start with, it will cost $150 per per¬ son for the head end. So you've got to have about $1000 to hook up a com¬ puter to the net. It may be worth it someday when there's a lot of great software. But, right now not many are going to pay a thousand bucks to hook up a $2000 computer to a network. "And that's what AppleTalk is all about. Nobody's hooking up to nets because there isn't enough software that makes it worthwhile. There isn't enough software that runs in nets because if you write software to run in a net. there's nobody to sell it to because there aren't any nets. So it's a circular problem. No nets, no soft¬ ware; no software, no nets. We want to break through that logjam with Apple- Talk costing 50 bucks a computer. "We just wish the whole world would standardize on a net. We'd all be happy, lust give us the jacks in the walls every¬ where; we'd have no problem calling it the IBM net or the AT&T net, but it's not coming together. Ultimately, we feel that (the standard] network in the office is going to be the digital phone switch and not something that Apple or IBM comes up with. It turns out that the rates at which the digital-phone- switch standards are emerging (the CCITT |Comite Consultatif International Telephonique et Telegraphique] stan¬ dards) are very close to AppleTalk rates. They're about anywhere from 64 kilobits per second up to maybe 192 kilobits per second. "So the rates we have chosen will probably map well to the ultimate rates of what will be the office network. And that's how the voice-data integration will take place, through a digital CBX. not through our network or IBM's net¬ work. The decision that we made was fundamental: put intelligence in the pe¬ ripherals. The really interesting thing that's happening isn't the products themselves, it's the software standards that are being set. As an example, Post¬ Script is more important, in a way, than the printer (the LaserWriter], "Though we think that particular printer is what's going to make PostScript a standard." FEBRUARY 1985 -BYTE 123 ALL MAM-'Gonroy-UNnta, Inc 12060 SWGardan Pm tatand OR 97223 SSS. TOLL FREE (800) 547-1289 CASH-n-CARRY COMPUTER STORES, INC. -SAN FRANCISCO. PORTLAND. SEATTLE-SEE BELOW HARDWARE for your APPLE SOFTWARE for your APPLE COMPUTERS MISCELLANEOUS BUSINESS & TRAINING UTILITY & SYSTEM SYSTEMS IN STOCK CALL LMmitu WARRANTY '00% Parts & Labor tor 90 dtys fly ls DISK DRIVES UST •CENTRAL FT- Filer. Ubhty & Apple DOS S 20 •MICRO-SCI. AZ 143K Dish Drive S 345 A2 Controller Card $100 l/2Ht Disk Drive (lie) $269 l/2Ht Dtsh Drive (lie) $299 TCAP TEAC T40 Direct Drive. 163K $349 ControNer Card by ComX $110 1/2 HIGH TEAC. T8Q Double Sided. 326K $ 449 Tt/tf . Controller Card $ 85 Rana Elite l. 163K. 40 Track $379 Elite Z 326K, 80 Track $ 649 ■S f We 3 652K. 160 Track $ 849 Elite Controller $145 Video Tech. 1 /2 Ht Disk Drive $ 225 OUR S 15 $ 199 $ 79 $ 195 $ 209 S 239 $ 49 $ 329 $ 59 $ 239 $ 389 $ 499 $ 89 S 149 LIST OUR •Orange Micro. Grappler Plus (e or ♦) $ 149 $ 99 16K Butter Board lor Grappler Plus $175 $ 99 Buffered Grappler Plus. 16K $239 $159 2 Chip Set for Buttered Grappler $ 28 $ 12 Paymar, Lower Case Chip. Rev 7 (IK) $ 50 $ 19 •PCPI.Applicard.64Kw/128K Ext $595 $395 Applicard 6MHz, 14 features $375 $275 RH Electronics. Super Fan II $ 75 $ 59 •Titan /Saturn, Accelerator He $599 $399 Trackhoute. Numeric Key Pad $ 149 $ 94 Transend /SSM. AI0II. Serial /Para I /F $ 225 $ 169 TG. Tracball or Select A Port $ 40 $ 26 Joystick or Game Paddles $ 45 $ 29 ♦Vide*. PSIO l/F Card _ $229 $ 145 Macintosh RAM EXPANSION •ComX 80 col +64K RAM.for He. 1 YrWty $ 199 $ 99 * RAM Card, 1 YrWty (IK) 16K $179 $ 39 •Microsoft RAM Card (11+) 16K $100 $ 69 •Then/Saturn RAM Card 128K (IK) $599 $329 Other RAM Cards & Software in Stock _ CALL VIDEO CARDS •ComX. 80co< +64KRAM(lle) lyr wty $199 $ 99 “* VkJeoTerm 80col Kore) $279 $175 UHraTerm (♦ or e) $ 379 $ 229 Soft Video Switch (IK) $ 35 $ 22 Enhancer II (IK) $149 $ 95 Function Stnp (IK) $ 39 $ 25 We Hava Full Videx Line CalL Up to 35% oft MISCELLANEOUS Bluechip, Millionaire Central Point, Copy II MAC Contoantal Software, Home Accountant Oeetovw Solutions. Mac Forth Level I Dow Jonas. Straightalk NEW $ 79 Electronic Arts. Pinball Construction $ 40 Hayden. Sargon III $ 50 Human Edge. Sales or Mgmt Edge, ea $ 250 Info com . Full Line in Stock Kensington. Swivel $ 25 Starter Pak $ 90 Surge Suppressor $ 50 Living Vtdeotext Think Tank $ 145 Main a rast Filer or Writer, ea $ 199 l Diskettes. SS/SD, 3*4". 10 pak $ 60 t, Megafker $ 195 L Chart $ 125 Word or File or Multiplan, each $195 - ts. Trivia $ 50 $ 60 $ 40 $100 $ 149 •CCS. Send Interface 7711 (Set BAUD) $ 150 $ 95 Monoyam. DoNars 4 $ense $150 *CRS/Eaataida,IMkJ Card 2 (coper e) $ 140 $ 99 Novation. Smartcat Plus Modem w 4oft $499 Chalkboard. Power Pad (Requires Kit) $100 $ 73 Penguin. Transylvania $ 35 DWM IlMarch. CP/M Odd Cad |a/68Q $496 $ 389 Graphics Magician $ 50 • 641 to 19S* Goto Card Expanscn $ 325 $ 239 NornNhauaPtoktodem 1200w/cabtetaA $495 Kanaington, System Saver Fan $ 90 $ 65 Scarborough/lightning. Mastertype $ 35 Kay Tronic, KB200 Keyboard (II♦) $298 $ 219 Simon A Schutfer. Typing Tutor III $ 50 Kotda. Touch Tablet w/kkao Illustrator $125 $ 75 Softw Pub.. PFS File or PFS Report ea $ 125 KrMl Joystick (II/IK) $ 65 $ 49 PFS File 4 Report $195 Game Paddles (ll/ll-*) $ 50 $ 39 Stoneware. DB Master $195 MAR. Sup R fan (IK only) $ 50 I 30 Tetoe. File Vision $195 •Mkroaofl Z80 Softcard (♦ or e) $345 $ 235 T /Maker. Cbckart $ 50 Z80 Softcard Premium (lie) $395 $ 275 Vklax. Vegas $ 60 39 30 65 95 50 29 33 $ 159 CALL $ 21 $ 60 $ 35 $ 85 $ 125 $ 35 $ 125 $ 94 $ 129 $ 32 $ 95 $ 379 $ 24 $ 32 $ 350 $ 19 $ 33 $ 79 $ 125 $ 125 $ 125 $ 32 $ 34 •ALS/Silicon VaMey. Word Handler * List Handler * Handler Pak. (Word. Ust Spell) •Applied Soft Tech.. VersaForm Arktronics. Jane w /Mouse (IK or lie) Jane w/o Mouse (lie) Artsd. Magic Wndow II Magic Words •Ashton Tate. dBase II (Req CP/M 80) BP1. Job Cost AR.AP.PRorlNV.each •Broderbund. Pnnt Shop * Bank Street Speller * Bank Street Writer (specify 1K. e. c) * Bank St Combo (Writer & Speller) Continental, GL.AR.AP or PR, each * Home Accountant CDEXtor Msicate. Mulbpian Apple lle.eacl Dow Jones, Market Analyzer Market Manager Market Microscope IN ST0CI Hayden. Pie Writer yers 2 3 •Howard Soil Tax Preparer. 1984 A Knoware Living Videotex! ThmkTank Macs. Managing Your Money Micro Pro. (ad require Z80CP/M Card) * WbrdStar’* * WbrdStar w/Star card * WbrdStar Professional. 4 Pak * Mai Merge, Sped Star or Star Index, ea * InfoStar and StarCard Some Common Basic Programs (75 ea) Practical Basic Programs (40 ea ) Series 40 Gl & AR & AP. aN 3 •Quark. Word Jugger & Lexicheck Ole) Senstbie. Sen Speller or Bookends. ea Sierra/On-Line. The Dictionary Gen Manager II Screenwriter IL 2 Pak w/Dict Homeword Software Arts. TK'Soiver (for lie or lie) Software Publishing, (specify ♦ or e) Pf Sfile. PfSGraph. PfSReponeach PfS Wrrte (lie) PfS Proof Stoneware, D6 Master Version 4 0 DB Ubirty Pak I or II VtarCorp. Full Line In Stock LIST OUR $ 80 39 $ 80 39 $ 130 85 $389 249 $295 195 $ 179 119 $150 99 $ 70 48 $495 269 $595 375 $395 249 $ 50 34 S 70 45 $ 70 45 $ 140 85 $250 165 $ 75 49 i $ 60 40 $350 219 $300 189 ( $ 349 219 $ 150 89 $250 185 t $250 165 $ 95 64 $ 150 99 $200 125 $350 189 $495 265 $495 265 $ 99 54 $595 295 $ 195 129 Bus 4 Math) $ 100 49 $ 100 tK 49 $395 239 $ 189 129 $ 125 79 $ 100 69 $230 155 $130 89 $ 50 45 $299 199 $125 79 $125 79 S 70 48 $350 225 $ 129 82 CALL Baagla. GPLE or Alpha Plot each S 35 $ 27 Full Beagle line m stock CALL Borland. Turbo Pascal $ 55 S 35 Central Point Copy II Plus (bit copier) $ 40 $ 25 Ernst am /Alison. Compiler $ 129 S 95 Epson, Graphics Dump 5 15 * 9 Funk Software. Sideways $ 60 $ 40 Hayes. Terminal Prog, tor Smartmodem $ 100 s 65 •insoft GraFORTH II by Paul Lutus $ 90 $ 65 Microsoft. Fun Line in Stock CALL Omega. Locksmith $ 100 $ 75 Penguin. Complete Graphics System II $ 80 S 54 Phoenix Zoom Gratix $ 40 $ 34 Quality Bag of Tricks $ 40 s 29 United SW1, ASCII Express The Pro $130 $ 87 Ubtico. Essential Data Duplicator III $ 80 n 49 HOME & EDUCATIONAL Barrons. Study Program for SAT Beagle Bros.. Full line in Stock Bluechip. Millionaire Broderbund. Print Shop CBS. large Inventory m stock •Continental. Home Accountant Davidson. Full line in stock Dow Jones, Home Budget Edu-Ware. Large Inventory in Stock. CALL Electronic Arts. Full line in stock Harcourt Computer Prep for SAT Koala. Full line in stock. CALL Learning Co.Large Inventory r Stock.CALL Microsoft. Typing Tutor II Monoy a m. Dolars & Sense or SAM, ea Scarborough/Lightning. Mastertype Simon A Schuster Typing Tutor III Sub Lojpc. Flight Simulator II Tsrrapin, Logo $ 75 $ 60 CALL $ 32 34 CALL $ 49 CALL 95 $ 69 40% off list CALL 80 $ 49 35% off list 35% off list $ 25 $ 100 $ 40 $ 50 $ 50 $ 99 GAMES Atari, large Inventory in stock Brodwbund F J ine n stock t Aztec or Zaxxnn. each $ i. Sky Fax or Rnbal $ Hayden. Sargon HI Chess) $ Inlocom Zork link llZork III ea $ •IneofL 3 Games.Zarg / Sp*ler Raid /Grapple $ A Castle or Beyond Castle Wbffenstein $ Origin. Utbma III $ Penguin. Transyteaoa $ Profeaaionai. Tnvia Fever $ Sierra/On-Line. Ultima II $ Sir-Tech. Wizardry $ Spinnaker. Full kne in stock. CALL 35% off list Sub Logic. Flight Smulator II $ 50 $ 35 CALL CALL $ 27 DISKETTES * CONROY-LAPCRNTE- DISKETTES We guarantee these top quality products with the Conroy- LaPonte name 5 YEAR LIMITED WARRANTY 10ea, SS/SD. 35Track (Apple, etc) $ 14 lOOea. SS/SD. 35Track (Apple etc.) $ 120 lOOOea. SS/SD. 35 Track (Apple etc.) $ 999 10« DS/DO. 48Track (IBM. H/P) $ 17 lOOea, DS/DO. 48 Track (IBM. H/P) $ 140 lOOOea, DS/DO. 48 Track (IBM. H/P) $1190 CONROY-LAPOINTE T “ IBM PRE-FORMATTEO DISKETTES 10e* DS/DO, 48 Track (tBM-PCPre-tormalted) NEW $ 25 lOOea. DS/DO. 48 Track (IBM-PC Pre-tormatted) NEW $ 210 lOOOea DS/DO. 48 Track (IBM-PC Pre-tormatted) NEW $1695 MODEMS ANCHOR Signalman Mark XII BM-PC UST $550 $ 55 $750 COC. lOOea SS/DO, 4S/W $895 $ 465 Game Port tor Six Pak $ 50 $ 39 I/O Plus II. S/P/CC $215 $ 150 I/O Plus II, S/P/CC/G $265 $ 185 I/O Plus II. 2S/P/CC/G $315 $ 215 Mono&aphHu^P/€C(tortptos) $496 $ 375 PCNet. Starter Kit, PC002 $1490 $ 795 PCNet Circuit Board.PC001 $695 $ 365 ComboPlus Products CALL MegaPkis Product CAU. /*■ idtic UNKMontorttt&swivel base CURTIS 3to 9 Keyboard Exten Cable $ 50 $ 39 $ 40 $ 30 Vertical CPU "System Stand" $ 25 $ 19 Monochrome Ext Cable Pair $ 50 $ 35 HAUPPAGE 8 «PCh.p . $ 175 $ 159 runuA 8087 Math Pak (m,WJ 8087 Software Pak $295 $ 235 $ 180 $ 138 8087 Macro Pak $245 $ 195 UCDTI II CC Cotor Card w/para. MtnV/ULtO Graphics Card. Mono $245 $499 $ 169 $ 329 KAMERMAN, External Power Supply $395 $ 295 KENSINGTON, Masterpiece $ 140 $ 95 PC Saver ™ Une Cad w /Fitter $ 50 $ 39 Kpv Tronic KB5150. std. keyboard Key iionic^^j ad keyboard $209 $255 $ 159 $ 199 KB5151 ir. keyboard $255 $ 199 14 * Koala Pad’“w/PC Design 110010 Progammer’s Guide $ 150 $ 15 $ 89 $ 14 ||A VNADn Mulbfuncbon ( 6 ) Card. MFC RIM T NMKU Memory Card no RAM V Memory Card 258< ccdicc HardOsk 1 /F Module (HDM) St RILS HardOrsk Cable $ 89 $ 199 $ 79 $ 169 $495 $ 395 $499 $ 399 $ 30 $ 27 Para Port Module (PPM) $ 59 $ 49 Senal ftxt Module (SPM) $ 95 $ 79 Clock Cal Module (CCM) $ 55 $ 48 Game Adapter Module (GPM) $ 49 $ 43 Memory Module tTK (MMO) $ 122 $ 99 Memory Modiie 256K (MM256) $422 $ 357 XT10 meg Hard Dsk&l/FWSl $1395 $1150 MICRON. 4164 CNpS 200 ns LIST $ 12 M|cfK)SOfT *®rC*! 2 » | 6 » PC f Booster w*h Mouse System Card, 64K $495 $395 MOUSE SYSTEMS PC Mouse w/PC Pant $ 295 PARADISE, Modular Graphics Card $ 395 PLANTR0NICS Color Board & Color mage. 16 color, w/Para $ 559 Color Board & Draftsman. 16 color. w/Para $ 559 | QUADRAM * Quad board no RAM expand to 384K $ 295 * Quadboard 64K. expand to 384K.S/P/CC $ 395 * Quadboard 256K. expand to 384K.S/P/CC $ 675 * Quadboard 384K. S/P/CC/G $ 795 Quadboard II no RAM expand to 256K $ 295 Quadboard II. 64K.expand to 2S6K.2S/X $ 395 Quadboard II. 2501 2S/CC $ 595 Quad 512 ♦ 64K plus senal port $ 325 Quad 512 ♦ 256K plus senal port $ 550 Quad 512 ♦ 512K plus senal port Quadcolor I. board. 16 colors * Upgrade Quadcolor I to II kit Quadvue, board. Mono/S/P/CC * Quadchrome, 12” RGB Color Monitor Quadchrome II. 14" RGB Color Monitor $ 650 Amberchrome. 12" Amber Monitor $250 278 $1195 E V! $2295 IX $1995 * Quadhnk $ 680 TG PRODUCTS, wac, $ 45 Titan Accelerator PC (8066* 128K) $ 995 $895 $295 $275 $795 $ 450 $ 139 $ 329 $ 275 $ 189 $ 285 $ 395 $ 395 $ 225 $ 245 $ 475 ) 525 $ 215 $ 265 $ 395 $ 265 $ 420 $ 625 $ 195 $ 199 CALL $ 495 $ 450 $ 165 $1090 $1545 $1745 $ 449 $ 29 $ 750 A Chip Kit $35 9 Each, 4164, 200 ns 90 Day Warranty by us ©1983 Conroy-LaRwnte, Inc. ★ ComX EconoRAM T *384K BOARD $350 WWi Fastrak" RAM Disk Emulator and Spooler Software Fufty Compatible, 1 Year United Warranty by ComX Works on DOS 1.1,2.0or 2.1 Prices and avadaMRy subject to change. Cad UST OUR PRICE PRICE SOFTWARE for IlM-PC or XT BUSINESS & TRAINING APPLIED SOFT, Versaform $ 389 ARKTRONICS, Jane $ 295 ♦ASHTON-TATE. Framework $ 695 * dBase IN $ 695 * dBase II. *eq. PC DOS & 128K) $ 495 * dBase II to III upgrade $ 200 Everyman $ DB Primer 0ook) $ 15 Friday' $295 ATI Training Progams—large Inventory $ 75 BPI, Job Cost Accounting $ 795 Gen'l Acctg. AR, AP or PR each $ 595 Personal Accounting $ 195 ♦BROOERBUND, Bank Street Writer $ 80 CDEX Training Programs—Large Inventory $ 70 ♦CONTINENTAL. Utrafite $ 195 Tax Advantage $ 70 Home Accountant Plus $150 FCM (Fikng, Catalogng Mating) $125 Property Management $ 495 DNJTHIUM PRESS PC to MAC & Back $100 DOW JONES, Investment Evaluator $ 139 Market Manager $ 300 Market Analyzer $ 350 Market Mcroscope $ 350 FOX 1 (SELLER dUbWS-DOS or CP/M 88 $ 99 Quickcode or dGraph. each $ 295 HARVARD, Total Project Manager NEW $ 495 Harvard Protect Manager $ 395 HAYDEN. Pie Wnter $ 200 Pie Speller or Sargon III, each $ 50 HOWARDSOFT. Tax Preparer $ 250 Real Estate Analyzer $250 HUMAN EDGE.OommunctooreEdge NEW $ 195 Mind Prober NEW $ 50 ManagementSate a Negobakon Edgaea $250 IU& Easy Writer II System $ 350 EasySpeller II $ 85 GL AR AP, 0E or INV, each $595 Business System GL*AR*AP $1496 ♦JNSOFT.GraFORTH (aiwnated 30 g*hes) $ 125 ♦KENSfNGTOPLEasy bnk Mari Manager $ 95 KNOWARE. Knoware (reg graphics) UFETREE. Volks wnter Deluxe BUSINESS & TRAINING UTILITY & SYSTEM IMS InfoStar Plus (♦ Starburst) $595 MalMerge. SpelStar or Stertndex. ea. $ 99 ProOpbon Pak (MM/SS/SI) $ 195 ♦MICRORIM, RBase Senes 4000 $ 495 Extended Report Whter $150 RBase Clout $195 MICROSOFT, Spel NEW $ 50 Mulbpian $195 Chart or Protect each $250 Wbrd $375 Word with Mouse $ 475 MONOGRAM. Dotes & $Bnse w/forecast $180 MULTIMATE. Mukmate $ 495 OPENSYS.GURAP.PRINVorPO.each $695 ♦OSBORNE/COMX (Book & Busin, Start & Math Programs on DS/DD Disks) Some Common Basic Programs (70 ea.) $ 100 Practical Basic Progams $ 100 PEACHTREE. Peach Pak $ 395 Peach Text 5000 $ 395 PERFECT/THORN. Perfect Wnter $ 349 Perfect writer ASpefer Combo $399 PROFESSIONAL Trnna Fever $ 40 QUADRAM. Tax Strategy $ 395 Investment Strategy $ 395 QUE, Uara l-23or 1-2-3 tor BusrassfBoole} $ 15 ROSESOrr. Protoy $ 130 SOFTWARE ARTS, 77 DIGITAL RE&, CBASIC 86" (CP/M86) $200 315 C8ASK Compter (CP/M -86 a PCOO&Mf $600 54 PL/1 |PC DOS) $750 > 105 PL/1 (CP/M-86) $ 750 Speed Prog. Pkg. (CP/M-86J $200 DR LOGO-86 (CP/M86) $100 FUNK SOFTWARE. Sideways $ 60 HAYES, Smartcom II (Data Com.) $149 125 32 125 150 1 236 209 105 296 i 429 239 239 1 179 199 25 296 296 12 87 TK Solver (MS DOS or PC DOS, spec) $399 SOFTWARE DIM. Accounting Plus $ 495 SOFTWARE INTL Open Access $695 SOFTWARE PUBUSHING.PFSJteport $ 125 PFSfte.PFSWhte.PFSfiraph,PFSflan $ 140 PFSProof $ 95 SORCIM. SuperCalc III $ 395 S9I/SATELLITE. WordPerfect $ 496 Personal WordPerfect $ 195 STONEWARE. Advanced D.R Master $ 595 edProg. Pkg. (CP/M- L0G0-86(#/M86) (SOFTWARE. Side •S. Smartcom II (Data ♦fNSOFT, GraF ORTH Lam mated 3D gaph) $ 12S LIFEBOAT, Lattice C. NEW $500 MICROSTUF, Crosstalk XVI ffteta Com.) $195 MICROSOFT. muMath /mu Simp $ 300 Business BASIC Compiler $ 600 Pascal Compiler $ 300 C Compiler $ 500 BASIC Compter $395 FORTRAN Compter $350 COBOL Compter $700 MOUSE SYSTEMS. PC Pamt NEW $ 99 NORTON. Ublibes 2. Q 14 progams $ 80 OPEN SYS, BASIC Interpreter NEW $ 195 ROSESOFT, Prokey $ 130 HOME & EDUCATIONAL ♦ARMONK. Executive Suite $ 40 BLUE CHIP, Millionaire or Tycoon,each $ 60 BPI SYSTEMS, Personal Accounting $ 99 CBS, Large Inventory in Stock COMPREHER. PCTutor(l.lor2.0lM.) I 60 CONTINENTAL Home Accountant Plus $ 150 DAVIDSON, The Speed Reader II $ 75 Wbrd Attack' or MathHaster!, each $ 50 DOW JONES. Home Budget - HARCOURT. Computer SAT MICROSOFT. Flight Simulator II MONOGRAM. Dollars & Sense PBL CORP., Personal Investor SCARBOROUGH. MasterType SUMMA. Trader's Forecast Trader's Dtfa Manager Trader’s Accountant $250 $200 $350 $700 $250 $ 295 $ 395 $ 79 $ 99 $ 59 $ 245 $ 395 $ 159 $ 129 I 219 $139 $ 80 $ 50 $165 $145 $ 50 SIMON 6 SCHUSTER. TypmgTutorlN $ 50 LIVING VIDEOTEXT, Think Tank LOTUS, 12 3 Symphony MDBS, Knowledge™an MECA. Managing Your Money MICROPRO, WordStar* VtordStar 2000 WordStar 2000 Plus WordStar Professional Plus WordStar Professional, 4 Pak UTILITY & SYSTEM GAMES ATARI Oenbped* Padten or Donkey each $ 35 ♦BNOOEABUNOi Urge kwertery « Bock ELECTRONIC ARTlFul Une m Stock $495 $ 309 BORLAND. Sidekick 1 55 $ 35 HAYDEN, Sargon III (Chess) $ 50 | 34 $695 $ 465 Sidekick (Copiatte) $ 85 $ 55 INFOCOM. Deadline a Suspended, ea. $ 50 $ 33 $500 $ 300 Turbo Pascal or Toolbox, ea $ 55 $ 35 ZorK 1 or 2ork II or Zorfc III each $ 40 $ 27 $195 $ 125 ♦CENTRAL POINT, Copy II PC $ 40 $ 30 ♦INSOFT, Mystnx.Vtordtnx a Quotnx,ea $ 35 $ 29 $350 $ 109 ♦COMX Fastrak". RAM/Disk emulator MICROSOFT, Fkght Simulator H $ 50 $ 33 $495 $ 295 and printer spooler progam Woks on any ORIGIN. Utoma II $ 60 $ 38 $595 $ 325 PC /DOS version or RAMCard Menu Driven $ 100 $ 59 PROFESSIONAL Tnvu Fever $ 40 $ 29 $695 $ 396 DIGITAL RES, CP/M-86" (PC/XT) $ 80 $ 39 SPINNAKER. Large Inventory m Stock CAU. $495 $ 265 Concurrent CP/M-86" w/windows $835 $ 225 SUB LOGIC Night Mission Pm ball $ 40 $ 27 CASM-n-CARRY COMPUTER STORES. INC. Over the counter sales only Open Monday through Saturday. 10:00 to 600. SAN FRANCISCO - NEW STORE! 550 Washington Street (at Montgomery, opposite the Pyramid). Interstate 80. to Highway 480. take Washington Street Exit. CALL (415) 992-6212. PORTLAND. OREGON — At Park 217, Tiaard at intersection of Highways 217 and 99W CALL (§03) 620 5595 SEATTLE. WASHINGTON - 3540 128th Ave SE. Bellevue. WA 98006. In Loehmann s Plaza near Factoua Square, South East of Highway 405 & 90 and at South East 36th and Richards. CALL 641-4736. sS NO SALES TAX OUR REFERENCES: We have been in computers and electronics since 1958. a computer dealer since 1978 and m compu¬ ter mail order since 1960 Banks: 1st Interstate Bank. (503 643-4678 We belong to the Chamber of Commerce (503) 228-9411 and Direct Marketing Assoc abon, or call Dunn and Bradstreet if you are a CONROY - h STSLTOLL FREE (80Q) 547-1289 OREGON ONLY (8001 451-5151 Foragn i Portland (503)620-9877 HOT UNE Information on your order (503) 620-9678 WEEKDAYS ONLY 1 ORDER DESK HOURS Mon-Frt— 6 AMI 0 WMPfT Steudv—10AM to 4PM PIT (6AM hares 9AM nNM York) Inquiry 72 for IBM Peripherals. Inquiry 73 for Apple. Inquiry 74 for all others. FEBRUARY 1985 -BYTE 125 THE MAC OFFICE era ted by the new arrival. AppleTalk divides node addresses into two classes: server node and user node. The system reserves 2 55 pos¬ sible addresses; hexadecimal address FF is a special "broadcast" address used to reserve the line for transmis¬ sion as part of the network's scheme. AppleTalk is based on an open sys¬ tem architecture (see figure 1). Apple has published detailed information on the suite of network protocols that comprise AppleTalk and has held a number of seminars to aid third-party vendors that are developing software and hardware applications for the network. The AppleTalk protocols implement a packet-switching scheme that pro¬ vides functional correspondence with the International Standards Organiza¬ tion (ISO) Open Systems Interconnec¬ tion (OSI) model. Protocols equivalent to the ISO OSI layers 1 through 5 (physical, data link, network, trans¬ port, and session) are at the core of AppleTalk. The access scheme to the network is based on a CSMA/CA (carrier sense multiple access with collision avoidance) model. Although both AppleTalk and Ethernet are based on a bus topology, they differ in the way they handle the problem of data col¬ lisions on the network. Ethernet provides hardware capa¬ bility for detecting collisions. Apple- Talk, on the other hand, implements collision avoidance in software at the data-link level. The AppleTalk Link- Access Protocol (ATLAP) software handles the address-assignment mechanism, the frame format, and the frame transmission and reception process. In the AppleTalk collision-avoidance scheme all transmitters wait until the line is idle. This time interval is deter¬ mined by the generation of a pseudo¬ random number whose range is ad¬ justed based on perceived bus traffic. As part of this scheme each trans¬ mitter can send special broadcast frames (addressed to all nodes in the network) that reserve the line by in¬ forming other nodes that it is prepar¬ ing to send a packet. The transmitters use directed frames (or packets) to send data to a single address on the network. While a transmitting node is send¬ ing to a receiving node, a dialogue takes place. If a collision occurs dur¬ ing the dialogue, the sending node backs off and tries again, adjusting the randomly generated time interval. This adjustment follows a linear back¬ off algorithm that changes dynamical¬ ly in response to recent network-traffic history. If the node detects collisions among recently sent packets, this sug¬ gests higher loading and greater con¬ tention for the bus. Thus, the random wait that is generated is calculated over a larger range, effectively spread¬ ing out the different contenders for the line. Apple reports that it has extensive¬ ly tested AppleTalk's CSMA/CA pro¬ tocol and is satisfied with its ability to remain stable under heavy network loads. In addition to ATLAP. AppleTalk consists of a variety of other protocols that generally correspond to other levels of the ISO OSI model. ( continued ) AppleTalk Protocol Architecture Layered, Open System Figure 1: A diagram of AppleTalk's protocol architecture, printed by the LaserWriter. 126 BYTE • FEBRUARY 1985 TIED UP WITH DATA RECORDING? Here comes SEED to set you free. Are you frequently tied up with typing large amounts of data from printouts into your personal computer, or frustrated at not being able to use it while it is being used as an expensive data collection device? If so, then let a SEED set you and your PC free. These highly portable and cost effective data recording units allow you to continuously record data wherever and whenever you want via an RS- 232C serial interface onto a diskette for analysis or editing later on your PC. SEED 1 is intended for use with an Apple II compatible disk drive (single or dual drive - 120 Kbyte memory per disk) and after recording, the dis¬ kette can be loaded into your Apple II, He or III per¬ sonal computer. SEED 2 is intended for use with an IBM PC and has the additional advantages of a built-in disk drive unit, a 350 Kbyte memory, single or double sided, double density disks, and dip switch selectable baud rate, parity and data bits. An optional analogue/digital conversion unit is available for each model. Both SEEDs can be used for a really wide range of data recording applications: in the office where data can be recorded from mainframe, other computers or serial communica¬ tion networks in the laboratory where results can be recor¬ ded from samples being measured continuously, in¬ cluding overnight runs on the factory floor where performance data can be recorded from instruments undergoing qual¬ ity control testing prior to shipment So now there’s no need to get tied up with data recording. All you need is SEED. mariachioy Iso-Heikkilantie 14, SF-20200 Turku, Finland, Tel. (9)21-307 000, Telex 62665 maroy sf USA, CMK Associates, Inc., (408) 374 1805; CANADA, Fisher Scientific, (613) 226 8874; W. GERMANY, LKB Instrument GmbH, (89) 85830, Isolab, (05609) 2736; FRANCE, LKB Instruments S.A., (6) 928 6507; AUSTRIA, LKB Instrument Ges.m.b.H, (0222) 92 1607; ENGLAND, LKB Instruments Ltd., (01) 657 8822; SWEDEN, SEED Trading, (08) 768 5595. Apple is a registered trademark of Apple Computer, Inc. IBM PC is a registered trademark of International Business Machines, Corp. Inquiry 196 FEBRUARY 1985 • BYTE 127 THE MAC OFFICE While ATLAP handles node-to-node delivery of packets on a single Apple- Talk network, a Datagram Delivery Protocol (DDP) extends this mecha¬ nism to socket-to-socket delivery Sockets are logical entities in the in¬ dividual nodes of a network. An in¬ dividual socket is identified by a 1-byte address. Therefore, there can be as many as 2 56 different socket ad¬ dresses on a single node. The DDP is designed to provide addressing and packet delivery between several AppleTalk networks connected by a bridge. A bridge might consist of a single node connected to two Apple- Talk networks or it might consist of two nodes, each connected to a sep¬ arate AppleTalk network, connected by a communications channel. Additional protocols include a routing table maintenance protocol (RTMP) that permits any AppleTalk node to 'discover'' network routing in¬ formation, such as the number of the LAN to which it is directly attached; a name-binding protocol (NBP) that permits users to access network ad¬ dresses by names rather than num¬ bers; and the AppleTalk transaction protocol (ATP), designed to ensure loss-free delivery of packets from a source socket to a destination socket. On the Macintosh, these protocols are implemented as 5.5K bytes of code written in assembly language. Because the SCC chip handles ad¬ dress recognition, the network pro¬ tocols take no system overhead unless a particular node is directly addressed over the network. Initially AppleTalk will link groups of Macintosh computers to the Laser¬ Writer laser printer, an impressive 68000-based electronic printing system that will provide hard-copy output of any text or graphical image that can be displayed on the Macin¬ tosh screen. The special significance of the LaserWriter is that it is in¬ tegrated with PostScript, a page- image-description language devel¬ oped by Adobe Systems, a start-up company founded by a group of elec¬ tronic-printing experts who recently left Xerox Corporation (see the text box "Adobe Systems and the Post¬ Script Language" below). PostScript is essential to the viability of AppleTalk because it permits extensive com¬ pression of the information the Laser¬ Writer needs to print bit-map images. Laser Technology Laser printers are fast, quiet, and capable of high-resolution printing. Until recently, they have also been very expensive, ranging from $50,000 to $400,000. A laser printer has a raster-scanning laser that projects the print image onto an electrostatically charged photosensitive drum. A set of rotating mirrors manipulates the beam—the laser itself doesn't move. Wherever the laser beam touches the drum, the static charge is nullified. Tbner (par¬ ticles of colored plastic) is then at¬ tracted to those points. The printer rolls paper against the drum and the toner sticks to the paper. Finally, a hot fuser permanently affixes the toner by melting it onto the page. The price of laser printers has dropped dramatically because of de¬ velopments such as Canon's LBP-CX marking engine. That engine, which is also used in Canon's personal copiers, combines several fundamental printer components into a single, inexpen¬ sive, disposable cartridge. Because those same components—including the toner and drum—frequently needed repair and replacement on laser printers, the Canon engine great¬ ly improves reliability. The LaserWriter's disposable car¬ tridges (made by Canon) cost $99 each and will print approximately 3000 pages. That puts the price in the range of 3 cents per page. The Laser¬ Writer prints on ordinary copy paper but can also use bond paper, Euro¬ pean and legal-size paper, transparen¬ cies, envelopes, labels, or even busi¬ ness cards. Several different toner ( continued) Adobe Systems and the PostScript Language A dobe Systems Inc., of Palo Alto. California, was started by a number of researchers who left Xerox's PARC (Palo Alto Research Center). In particular, lohn Warnock, president of Adobe, was a principal scientist at PARC for raster-graphic display tech¬ niques. Charles Geschke. the executive vice-president, was a manager of the Imaging Sciences Laboratory at PARC. Adobe is trying to make PostScript— their text and graphics language—a business standard. Unlike most print- file description languages. PostScript is not a static, data-structured written description; it is a programming lan¬ guage. When the Macintosh commu¬ nicates with the LaserWriter, it actual¬ ly sends a program across AppleTalk. According to Geschke. "When the program arrives at the 68000 in the printer and begins executing, it has one very interesting side effect, namely, it drives the video on that laser and pro¬ duces output. But it is really a program description that is generated on the Macintosh and is executed on the printer.'' By using PostScript, the amount of information sent across AppleTalk can be trimmed, in some cases, to just 10 percent more than the raw ASCII (American Standard Code for Information Interchange) data. PostScript is completely encoded in the printable character subset of 7-bit ASCII code and so is completely invisi¬ ble across any kind of communications line, not just AppleTalk. PostScript can handle any material: text, line-art, photographies, and even color (for printers that can use it). While photo¬ graphic images are sent as bit maps, graphics are sent as commands and the fonts are sent as mathematical outlines (based on Bezier cubics) that can be stroked, filled, scaled, oriented, or used as clipping boundaries. And it is flexible, as Geschke pointed out. "If you're really into graphic art you can adjust the shape of the half-tone dot, the shape of the tonal production curve, the orientation of the screen, and its frequency.” Adobe isn’t only working with Apple. You’ll be seeing PostScript in other systems from other companies. 128 BYTE* FEBRUARY 1985 Windows With A View Toward The Future The Window Machine™ occupies only 12K! Written in tight, fast Assembler, it performs like a racing engine...with more power than you’ll probably ever need. Yet, it’s an engine designed to fit in the vehicle of your choice...from a “stripped-down” 128K IBM PC to a fully loaded AT. The programs you write today will run on the broadest range of machines possible... now, and in the future. Windows Bigger Than Your Screen? Here’s where the VSI part of our name fits in. VSI means Virtual Screen Inter¬ face. Behind each window, there’s a much bigger picture. VSI defines virtual screens rather than just windows. The window itself shows whatever portion of its virtual screen you wish to exhibit at any given point in your program. Each screen can be up to 128 x 255 (columns x rows, or rows x columns). And there are more than 100 screen primitives at your command. Multilingual Windows You can order The Window Machine with the language interface of your choice: C, Pascal, Compiled Basic, Fortran, Cobol, or PLl. We’ve even recently completed These are coders' windows... designed to be built into the programs you are writing. They can overlap, move anywhere on the screen, grow, shrink, vanish or blink. They can be bordered in anything from a simple line to flashing asterisks...or even no border at all. And you can have up to 255 of them at a time! Color or monochrome ...of course! Why did Simon & Schuster, 3COM, Tymshare, and Revlon choose VSI—The Window Machine? ' (and how come you can buy it for such a low price?) an interface for Turbo Pascal*, so that now true, full-featured windowing can be utilized with this fine compiler. (Turbo’s own built-in “windowing” procedure is extremely limited). Windows That Won t Break You We decided to save you a lot of money. So, we left behind fancy binders, mono- grammed slip cases and plastic pre¬ sentation boxes. Instead, you’ll find an extremely powerful tool and a 200 page manual written with an eye toward simplicity, clarity and completeness. (We *Turbo Pascal is a Trademark of Borland International figured if you wanted ribbons and bows you could always add them yourself.) And by offering you the product our¬ selves, we were able to cut out all the middlemen and save you a tremendous amount of money. I The Window VJl Machine- Available for the IBM PC. XT. AT. IBM Compatibles, and the WanR. T.I.. HP 150. and Tandy 2000. The Window Machine Includes: *59.95 ■ Zoom Windows i Multiple Virtual Screens (up to 255) » Choice of Borders (including flashing borders) i Support for all Color and Monochrome Video Attributes (no graphics card required) Built-in Diagnostics m And much, much more ORDER YOUR COPY OF VSI—THE WINDOW MACHINE TODAY For Visa, MasterCard and American Express orders call toll free: 1-800-227-3800 ext. 986 The Window Machine™ $59.95 Shipping and handling included LANGUAGE INTERFACE: □ Lattice C DRealia Cobol DMicrosoft Basic Compiler □ Microsoft Fortran □ PLl DMicrosoft Pascal GTurbo Pascal (full featured true windowing) COMPUTER_ Name _ City _State_Zip Code_ D Check DMoney Order DVISA DMaslerCard D American Express Card #_Exp. Date_ 'California residents: lax included. Orders outside the USA: please add S5 for shipping and handling. iu nanuimg. g m _ AMBER SYSTEMS 1171 S. Saratoga-Sunnwale Road San |ose. CA 95129 AMBER SYSTEMS, INC. 1171 S. Saratoga-Sunnyvale Road, San Jose CA 95129 FOR DEALER INQUIRIES: CALL OUR 800 NUMBER Inquiry 18 FEBRUARY 1985 -BYTE 129 THE MAC OFFICE colors are available. The Canon engine is used in the LaserWriter and many other new laser printers, from Hewlett-Packard's $3495 LaserJet to the $10,000 QMS 800. These laser printers can turn out eight pages a minute and yet make only about as much noise as a copier. All of these machines can print at the same 300-dots-per-inch resolution. While far better than standard dot¬ matrix printers, they aren’t up to the 1200 dots per inch or better that phototypesetters produce (see figures 1 and 2 for samples of the Laser¬ Writer's output). Still, unless you're a graphics expert, it is hard to distinguish this resolution from typeset text. The difference between the various Canon-based laser printers is in the controllers; each manufacturer uses its own controlling computer. Because the laser scans synchro¬ nously across the page, image dots must be fed to the laser at exactly the right time. That requires data storage in the printer itself. Shipping data to the printer memory as a simple bit map would take too much time for most users. An RS-232C port running at 19,200 bps (bits per second) would take nearly 7 minutes to send the 7,920,000 bits for a single page; even the speedier AppleTalk network would take half a minute. To ease that bottleneck, most manufacturers put some form of intelligence, such as en¬ coded graphics instructions and pre- loaded fonts, into the printer con¬ troller. Then the computer need only send a condensed form of the print image to the printer controller. The least intelligent controllers have limited printing capabilities. The Hewlett-Packard LaserJet, for instance, can only print 6 square inches of graphics per page and has a limited set of character fonts. On the other hand, the expensive QMS printer uses a standard Tektronix terminal emula¬ tion (a set of graphics protocols). For example, instead of sending a bit map of a circle to that printer, a computer only needs to send the Tektronix in¬ struction to print a circle of a certain size, shape, and position. LaserWriter Hardware The Apple LaserWriter printer can generate a variety of fonts and high- quality graphics with the help of a powerful built-in computer and the PostScript language. The LaserWriter's internal com¬ puter-controller board was designed by Burrell Smith, a key figure in the Macintosh design group, and is built around an 11.2-MHz 68000 processor, 1.5 megabytes of RAM (random- access read/write memory), and 0.5 megabyte of ROM (read-only mem¬ ory). The ROM contains the PostScript code. The laser-printer project's design goals were formed when Adobe Sys¬ tems suggested that a laser printer could offer graphics without giving up letter-quality text. Part of this involved making the printer controller as intel¬ ligent and as fast as possible, so that encoded information could be sent over the AppleTalk LAN to spare the network a huge overhead burden. Of the LaserWriter's 1.5 megabytes of RAM. half a megabyte is used for temporary scratch-pad buffers and font caching and a full megabyte is devoted to the screen. The Laser¬ Writer has other small memory com¬ ponents, such as a static RAM cache of 4K bytes that allows the 68000 to process faster by executing inner loops without any wait states. In ad¬ dition, Apple built into the hardware one of the most common input trans¬ fer modes. Burrell Smith said, "We do a classical OR between contents of memory and the data you wish to enter to the frame buffer—in a single bus cycle.'' Apple is a high-volume producer. To that end, it has kept the component count on the board low—there are only 34 chips plus memory and resistor packs. In comparison, one competing laser-printer controller board has close to 150 chips. The LaserWriter board has been designed, as was the Macintosh, for automatic insertion and test. The chip tech¬ nology used is generally the same as for the Macintosh: 2 5-nanosecond PAL (programmable-array logic) chips, 2 56K-byte dynamic RAM chips, and 2 56K-byte ROM chips. Smith noted. "What we're trying to do is take rela¬ tively expensive technologies and ( continued ) 130 BYTE* FEBRUARY 1985 is better. To get a lot out of a printer, you need a lot of programs, right? Wrong. True, your customers want to change type sizes, create their own characters, and even print sideways. But you don’t need to stock a lot of different printer utilities. One simple program will blow all the others right off your shelf. Printworks. It’s loaded. SoftStyle SoftStyle. Inc • 7192 Kalantanaole Hwy • Suite 205 Honolulu. Hawaii 96825 • Phone (800) 367-5600 $69.95 retail. SoftStyle products are distnbuted by Softsef and Ingram Software. Simple Menu Control • Pivot Printing ™ lets you print sideways quickly and easily • Prints full IBM character set including line graphics, math and science symbols * Foreign language characters • Easily set print modes: condensed, emphasized and more • Create new characters or entire fonts • Many fonts included • Supports thousands of popular software packages including Wordstar. dBase! I and Lotus 1 -2-3. Printworks enhances over 30 dot-matrix printers: C.ITOH Prowriter (8510 1550,7500 all with the letter “E” included in the model number), CENTRONICS Horizon (H80), EPSON (FX-80/100, RX-80/100 JX-80, LQ-1500, MX-80/100 III with Graftrax Plus), IBM Graphics Printer, iNFORUNNER Riteman (Plus, Blue Plus, It 15), NECPinwriter (P2-3, P3~3), OKIDATA (ML84 Step 2, ML 92 and 93 with or without Plug *n Play Kit, Pacemark 2350 and 2410), and STAR (Gemini 10X/15X, Radix 10/15, Delta 10/15). For the IBM PC. PC-XT, PCjr., Compaq and many other IBM compatibles. Needs 128K and DOS 1.1 or later. Inquiry 284 FEBRUARY 1985 • BYT E 131 THE MAC OFFICE make them ourselves." Once the print image has been completely set in the RAM, the printer needs to ship it out to the laser ap¬ paratus as quickly as possible. That task is aided by the 68000, which helps drive the video electronics. The central processor stores the data in two FIFO (first-in/first-out) memories. That scheme allows a minimum amount of bus contention between the microprocessor and memory. Everything on the board is a slave to the 68000. That flexible architecture is expoited, for example, by the margins of the page to be printed. When the margins move inward, the frame buffer used for generating the bit map is actually reduced in size- allowing more RAM to cache the fonts. The Macintosh has nonvolatile pa¬ rameter memory that allows it to remember certain modifiable control settings between uses. Apple decided to further explore that scheme in the LaserWriter by putting in a 0.5K-byte EEPROM (electrically erasable pro¬ grammable ROM), which is expand¬ able to 2K bytes. As Smith points out, that is "equivalent to 16,000 DIP (dual¬ inline package) switches." The AppleTalk port isn't the only way to drive the LaserWriter. There is also a DB2 5 connector with complete¬ ly programmable RS-232C protocols. Adobe indicated that they and others would provide packages that will use translators or emulators to drive Tex, Ttoff, Scribe, and other mainframe- style composition systems. What sort of performance does the built-in computer offer for the Laser¬ Writer? According to Smith, when it is combined with perfect hardware, the printer is capable of turning out a page in 6 seconds. With the Apple controller, "We're expecting a 10-sec¬ ond average time per page," he says. Anything that can be put on the Macintosh screen can be printed by the LaserWriter. When you use the Printer Chooser desk accessory to select the LaserWriter printer instead of the ImageWriter, the Macintosh calls a new printer driver. On the Macintosh, all screen graphics are based on QuickDraw routines called from ROM. Bud Tfibble, the Macin¬ tosh software manager, says, "The LaserWriter's strategy is different than the ImageWriter's. Even though all the Macintosh's QuickDraw routines are in ROM, every entry point to Quick¬ Draw has a handle on it that allows us to trap out that call and go some¬ place else. That's what happens dur¬ ing printing to the LaserWriter driver. We trap out all the QuickDraw calls, and when that call comes along, the system translates it to the equivalent PostScript call, which ships it over AppleTalk to the laser printer and prints out." For now, the printer works ( continued ) Each subject is a 3-tape series. The Basics will take you from the beginning and lead you through dBASE II commands. You will soon be creating your own databases, editing files, deleting records, etc. Application Programming will teach you program layouts, loops, structures and so much more. You will be writing your own programs within hours. dBASE #DB125 - THE BASICS #DB135 - APPLICATION PROGRAMMING Coming soon... dBASE III- WORDSTAR- MS-DOS- CP/M. LOTUS 123- MULTIPLAN- * MultiPlan and MS DOS are registered trademarks of Microsoft. Inc. CPM is a registered trademark ol Digital Research Wordstar is a registered trademark of Micro Pro. dBASE II and dBASE III are registered trademarks of Ashton Tate. Lotus 123 is a registered trademark of Lotus Corp VHS-BETA $14995 DB125 OR DB135 $279 95 ■Cod ] COD, CHECKS, M/O — ORDER BY PHONE — Call Toll Free 1-800-624-4525 From California 1-916-546-3371 Western Video Productions P.O. Box 2300 8079 N. Lake Blud. Kings Beach, CA 95719 132 B Y T E • FEBRUARY 1985 Inquiry 329 I wf m*m\ mm*\ 1 Place orders 2 Vieu or cancel open orders 3 View confirwations and Messages 4 Send Messages to Spear Enter itea nuaber or 0 && 11 comment start comment end BEGIN END; <2 blank spaces > < nothing > AND OR { } < > printf writeln scant readln while WHILE Usage: ctp < infile > outfile V #define EOF -1 #define EOS \0’ main () { char c,'letter,word[100]; int wordlnth; letter = word; wordlnth = 0; while ((c = getchar()) ! = EOF) { if (isalpha(c)) letter[wordlnth + + ] = c; else { if (wordlnth >0) { letter[wordlnth] = ‘\0’; wtest(word); wordlnth = 0; } ctest(c); } I* word ready to check */ /* pass or replace it *1 I* reset index */ I* process following char */ } I* note: the last word in the file will be missed if it is immediately followed by EOF with no intervening nonalphanumeric character. This is not a problem for Pascal or C program sources. However, a general-purpose word filter would have to check for a nonzero wordlength after EOF is reached. */ wtest(word) char *word; { char * swapword; swapword = word; switch (word[0]) { /* test first letter, then rest of word */ case ‘p’: if (strcmp(word,‘‘printf\0”) = =0) swapword =‘‘writeln\0”; break; case ‘s’: if (strcmp(word,“scanf\0”)= =0) swapword = “readln\0”; break case ‘w’: if (strcmp(word,"while\0”) = =0) swapword = ‘‘WHILE\0”; break; default: break; /* pass unchanged */ ( continued ) The C functions printf and scanf could be replaced by writeln and readln. equality test == becomes : = <= turns into <:=, and > = becomes >: = . You could step manually through the file, verifying all replacements one at a time, and this might not take too long if you have excellent eye-hand coordination. If you're really good, you might catch most of the errors before your compiler does. However, I wouldn’t even attempt it. I was faced with the task of editing 27 separate files, totaling about 30 pages of drivers and test programs to convert from C to Pascal. After manually translating three of these to Pascal, I decided to write a "filter" that would do as much of the dirty work as possible. The first step in developing this C program, called CTPC (see listing 1), was identifying what substitutions could by made easily, reasonably, and safely by an unsupervised, i.e., non¬ interactive, program. The C functions printf and scanf could be replaced by writeln and readln. Where necessary, the In suffixes can be deleted manual¬ ly at the same time the argument lists are revised. The only other word substitution that I made was to capitalize WHILE. It is a trivial matter to change the pro¬ gram to perform case substitutions on other words (e.g., for or if). You will also want to replace switch with case and delete any case that appears in the C source. In addition to the block and comment delimiters, the non¬ alphanumeric characters that I de¬ cided to replace included tab (re¬ placed with two spaces, my own for¬ mat preference for Pascal), double quote, empty pairs of parentheses, logical "and" (&&), logical "or" (!!), and the various uses of = . ( continued ) 140 BYTE • FEBRUARY 1985 Join The Leader ... and be a Leader! viduals who want to own and operate a MicroAge sales organization. MicroAge is the computer solution leader. Through¬ out the United States and Canada, businesspeople rely on MicroAge for advice, leading products, and service when computerizing their companies. But remaining the leader takes talented profession¬ als who are willing to invest in their own community. People who are willing to assume a leadership position. That’s why MicroAge is meeting with indi¬ Owning a MicroAge franchise is more than running a store. We sell multi-user systems, local area net¬ works and telephone systems.. along with per¬ sonal computers. We provide service, installation and training for our customers. If you would like to develop a long-term relation¬ ship serving the businesses in your area, let’s talk business! Call or write: /MicroAge' co/MPUTer srores “The Solution Store”® 1457 West Alameda • Tempe, AZ 85282 1-800-245-4683 In Arizona or outside the continental U.S. call (602) 968-3168 "The Leader In Multi-User Technology" Inquiry 207 FEBRUARY 1985 • BYTE 141 C TO PASCAL } swap(swapword); } ctest(c) char c; { switch (c) { case putchar(‘\’ ’); break; case swap(“BEGIN\0’’); break; case ■}’: swap(“END;\0”); break; case \t’: swap(“ \0”); break; case ■&’: swapif(‘&\ AND \0“); break; case T; swapif(T, ’I’,“OR 0“); break; case swapif(‘(\ i )\ , \0 ,> ), /* () simply deleted 7 break; case 7’: swapif(7\ ‘{\0'’); break; case swapiff*’, 7 , ,“}\0”); break; case*!’: swapif(‘!’, ' = >\0“); /* != -><>*/ break; case < : case putchar(c); /* x are passed unchanged V c = getchar(); putchar(c); break; case‘ = ’: identassign(); /*= = - > = ,= ->;=*/ break; default: purchar(c); break; } } swap(s) char *s; { while (*s! = EOS) putchar(*s+ +); } swapif(first,second, replacement) char first,second,‘replacement; { char c; if ((c = getchar()) = = second) swap(replacement); else { putchar(first); putchar(c); } } identassign() { char c; if ((c = getchar())! = =’) { /* assignment 7 putchar(‘:’); putchar(‘ = ’); j putchar(c)’ } The next question was how to per¬ form the substitutions. I decided the program should read through the file one character at a time, building words and testing them one at a time, while checking nonalphanumeric characters for any necessary replace¬ ments. For my purposes. 1 defined a word as a string of alphanumeric char¬ acters bounded by nonalphanumeric characters (including underline and numerals). This convention places restrictions on the labels that can be used in a program. For instance, printfl would change into writelnl, and new_scant would become new_readln. If you use reasonable prudence in choosing names, you will avoid such undesired side effects. An array of type char is used for temporary storage of each word. This array is arbitrarily much longer than any variable, function, or constant label that I am ever likely to use. Words are built one character at a time, starting with the first alpha¬ numeric character encountered. The appearance of a nonalphanumeric character signals the end of each word. An index variable keeps track of the length of the word, and a pointer indicates the location for the next character. When a nonalphanumeric character is found, the length of the word is ex¬ amined. If the word length is nonzero, the program branches to a string com¬ parison and conditional replacement routine. This routine handles each word in a similar fashion. It seemed easiest to use C80 s strcmp (string compare) function to identify replace¬ able words. This function is not dif¬ ficult to simulate if it is lacking from any particular C implementation. Nonalphanumeric characters are treated in a somewhat different man¬ ner. Some, like tab or ”, are simply re¬ placed directly. Others, like / or &. are replaced only if followed by a second character such as * or another &. re¬ spectively. The various = constructs are all handled differently. For the sake of convenience, I used a UNIX-like command-line specifica¬ tion for input and output filenames. ( continued ) 142 BYTE • FEBRUARY 1985 Networking Raised to Greater Power Advanced Technology. With it, IBM tripled the speed of the PC and increased its memory capacity five-fold. Nowhere is this increase in computing power more important than in networking situations. If the ATs technological advances have prompted you to look into a multi-user network, you owe it to yourself to take a closer look at MultiLink Advanced ™ ... a unique multi-tasking, multi-user network¬ ing system that runs programs under PC-DOS 3.0. Eight Workstations for the Price of an AT. MultiLink Advanced ™ represents the next generation in networking systems for IBM microcomputers. The system enables ter¬ minals, connected to a single AT, to emulate IBM-PC’s hav¬ ing up to 448K of RAM (The PC-Shadow ‘"terminal, shown above, even has a PC look-alike, as well as work-alike keyboard and display). This means that instead of spending $3,000 per worksta¬ tion for a PC with a Kilobuck ‘Network Interface Board,” you can use inexpensive terminals . . . eight of which cost less than an IBM AT. Even if you need only one workstation connected to your AT, you’ll realize significant savings. MultiLink Advanced ™ ... Instant Access to All of Your Resources. Central to most multi-user situations is the need to coordinate a variety of printers. With what’s been described by PC-Tech Journal as “. . . by far, the best print spooler for the IBM PC,” MultiLink Advanced ™ gives users the option to print either at their workstations, or at a central location. In addition, programs and files can be shared by multiple users locally or through use of a modem. Just think of it . . . having remote access to an AT with a lightweight terminal/modem. Although designed to take advantage of the AT, MultiLink Advanced '™ runs on all versions of PC-DOS, except 1.0. and certain implementations of MS-DOS. A wide range of lead¬ ing programs are supported which include WordStar, dBASE III, Multimate, and Lotus 1-2-3. Get the Advanced Story Today. Call The Software Link Today for complete details and the dealer nearest you. Multi- Link Advanced ™ is immediately available at the suggested retail price of $495 and comes with a money-back guaran¬ tee. VISA. MC. AMEX accepted. GMQoQJmBs IBM. PC. AT. & PC-DOS are trademarks of IBM Corp. MS-DOS. WordStar. dBASE III Lotus 1-2-3. and Multimate are trademarks of Microsoft Corp.. MicroPro. Ashton-Tate. Lotus Development Corp., & Multimate International, respectively. THE SOFTWARE LINK, INC. 8601 Dunwoody Place. Suite 336. Atlanta. GA 30338 Telex 4996147 SWLINK CALL: 404 998-0700 Dealer Inquiries Invited Inquiry 287 Multil ink Advanced M & PC Shadow " are trademarks of The Software Link. Inc C TO PASCAL Listing 2: S ample output of the CTP.C program . a partial processing of the program's own source file. #define EOF -1 #define EOS \0’ main BEGIN char c,*letter,word[100]; int wordlnth; letter: = word; wordlnth: = 0; WHILE ((c: = getchar) < > EOF) BEGIN if (isalpha(c)) letter[wordlnth + + ]: = c; else BEGIN if (wordlnth>0) BEGIN { word ready to check } letter[wordlnth]: = \0’; wtest(word); { pass or replace it } wordlnth: * 0; { reset index } END; ctest(c); { process following char } END; END; END; The typical command line reads CTP OUTFILE.YYY Listing 1 is my current version of CTP.C. Listing 2 is part of the file CTP PAS produced by using CTP to process itself. This filter program was designed to perform simple substitutions. It passes #define, #ifdef. and include statements unchanged. It does not label functions or procedures, generate type definitions, reorganize variable declarations, or perform other radical alterations. Nor does it eliminate the need for program re¬ structuring to compensate for major differences between C and Pascal (the lack of local static variables in Pascal being one of the more annoying prob¬ lems). However, it does remove most of the error-prone aspects of building a Pascal program on the framework of a C program. ■ IBM COPY PROTECTION A versatile system that works. Call ALF first 1 - 800 - 321-4668 MultiGuard is ALF s new IBM copy protection system. It’s reasonably priced, yet offers maximum protection and flexi¬ bility. Call the toll-free number above for our pamphlet on copy protection systems. Inside Colorado, call 234-0871. BLANK DISKS Major Brands • Low Prices Call ALF first 1 - 800 - 321-4668 If you need 50 or more top quality disks, bulk-packed (without expensive labels or fancy packaging), call the toll-free number above for the latest price on your favorite brand. ALF copies thousands of disks each day—so we know which disks will perform best with your system! Inside Colorado call 234-0871. ALF ALF Products • Denver, CO ALF ALF Products • Denver, CO 144 BYTE* FEBRUARY 1985 Inquiry 15 Think BEFORE YOUR NEXT PC! Your PC to Time Sharing System ‘ ‘ADDITIONAL EXPENSIVE PC’S’ ’ just to get additional users! Kimtron is the only one that enables you to expand your IBM PC, XT, AT or the other PC compatibles to Multi-Tasking and Multi-User system at a fraction of the cost of additional PC's. Only Kimtron can display the screen exactly as your PC monochrome monitor, even tor software like Lotus 1-2-3 or Word Star. Plus only Kimtron provides an IBM PC keyboard look-alike. Operators will not only think and feel the KT-7/PC as it they're using IBM PC, but the KT-7/PC provides many more useful features such as tilt, swivel and height adjustment of monitor, optional amber screen, a dedicated serial printer port for each user at no extra cost, and optional 14 inch screen. In addition, the KT-7/PC is designed for flexibility so that it can also be used as an industry compatible ASCII terminal. Kimtron, a 5-year technology leader - we're going places and want you to join the Kimtron family of satisfied users. For more information about our KT-7/PC and your other terminal needs, call the Kimtron Corporation. (408) 727-1510 NOTE: IBM PC. XT, and AT. Lotus 1 -2-3, and Word Star are trade marks ot IBM Corporation, Lotus Development Corp.. and MicroPro International Corp. ==^ 2225 -1 Martin Avenue - -= Santa Clara, CA 95050 ==■ .:== 408-727-1510 TWX : 910-338-0237 Kimtron Inquiry 171 €) 1984 Cosmos Revelation. Because the object is to win. Winning isn’t easy when you have to work harder than your PC because your relational database falls short. That’s why experienced users power their PC’s with the Revelation® “Applications Environment” from Cosmos. More than a relational database. Revelation gives you the tools and flexibility you need to prototype and develop even the most exotic micro¬ computer applications with relative ease and efficiency. Revelation uses plain English to create files, fields, Cosmos Inc. 19530 Pacific Highway S. entry screens and menus, process information, make simple inquiries or generate complex reports. Revelation’s R/DESIGN applica¬ tions generator does the work for you, or you can switch to Rev’s structured R/BASIC language for precise program customization. You can make changes in programs, screens or data structures in a matter of seconds without having to start from scratch. Revelation works with MS/DOS™ so you can take advantage of all your favor¬ ite microcomputer software packages, and Rev’s “Open Environment” com¬ munications concept allows interactive access to many mainframe and mini¬ computer systems. Networking and runtime versions are also available. When you need more than a simple database, Rev up your PC with Reve¬ lation, the “Applications Environment” from Cosmos. Contact us by phone or write and we’ll arrange an unforgettable demon¬ stration for you with a Cosmos repre¬ sentative in your area. MS/DOS m of Microsoft Corp. Inquiry 75 Seattle, WA 98188, (206) 824-9942 COSMOS' by Don Stauffer SIMULATE A SERVO SYSTEM Letting the computer handle the math eases the designer’s job A servo mechanism is essentially a small motor that controls a larger motor. A servo-control system consists of the logical instructions needed to guide the servo mechanism. Control systems were brought out of the laboratory and into practical use about the time guided missiles were developed for World War II. The original vacuum-tube type was big, heavy, and expen¬ sive. but integrated-circuit (IC) technology has reduced the size of control- system technology as well as others. Now, almost the entire servo-control electronics package fits into a single IC. as in present model-airplane radio- controlled servos. Consequently, the cost of these systems has been re¬ duced so that they are now found in automobile cruise-control systems, stereo turntables and tape decks, kitchen appliances, and home-workshop tools. A reduction in the size and cost of servo-control systems, however, has not reduced their complexity. The design of servo-control systems remains one of the most intricate of the electrical engineering sciences. However, the computer's simulation ability has simplified the designer's job. Simula¬ tion is now a common part of the servo-control system engineer's tool kit, and similar simulation, though not as complex, can be effected with home computers. As an example, let's design an electronic weighing scale. Figure 1 is an illustration of how such a scale would be arranged. A balance beam forms the main part of the scale, along with the weight pan on the left. On the right side, instead of the normal balance weights, we attach a solenoid. The solenoid is designed so that the pull on the solenoid armature is directly proportional to the current in the coil. A sensor, such as a low- {continued} Don Stauffer is a senior research scientist at Honeywell Systems and Research who went from building model airplanes from balsa wood to modeling advanced avionics systems on computers. He can be reached at 6741-1 57th lane NW, Anoka, MN 55303. FEBRUARY 1985 • BYTE 147 SERVO SYSTEM friction potentiometer, forms an error detector that gives a voltage propor¬ tional to the angle by which the scale is out of balance. The servo-control system uses this error signal to change the current through the sole¬ noid to eliminate the imbalance. The current in the solenoid coil is now pro¬ portional to the weight in the pan. and a current meter is calibrated to read in weight units. Figure 2 is the type of diagram a designer would draw for this kind of feedback servo-control system. The circle at the left represents a summing junction. The output to the right of the junction is the sum of the inputs to the other two (or three) quadrants. As shown here, the junction indicates the difference between the commanded or desired quantity. Q c . and the actual quantity, Q. The servo-control com¬ puter operates on this difference and outputs a voltage to the actuator. The actuator is a physical device, usually a force transducer that drives the quantity to be controlled either up or down so that the actual value equals the desired value. At this point the system is balanced, and the error signal (or feedback) will remain at zero unless some perturbing force displaces the system or a new input value is commanded. A servo-control designer is con¬ cerned with several aspects of the sys¬ tem's behavior. First and foremost is stability. That is. does the system in¬ deed act to reduce the error, and not. as servo-control systems have a habit of doing, actually cause the error to increase wildly? How soon will the system reach a new equilibrium? If it takes too long to settle down, the sys¬ tem may not be usable in practice. Is the amount of error that remains after the system reaches a new equilibrium sufficiently small? Ideally, you'll have no error but in practice you'll prob¬ ably have some and will have to decide if it is tolerable. Without simulation you have to use complicated differential equations to try to predict a mechanism's behavior. Computer-based simulation does the math for you. In addition, simulation lets you design more complex servos, whose behavior could not be pre¬ dicted easily by normal differential equation methods. Figure 3 charts a typical simulation. After setting the initial conditions, the program enters the iterative loop (input, model, out¬ put. update). It scans user or process input to see if conditions are to be changed. If the simulation is sup¬ posed to be continuous, such as the physical simulation we will be work¬ ing with, input is best done with a keyboard-monitoring routine to keep the program running between inputs. The heart of the simulation is the next step—the math model. In this block, the computer performs its mathe¬ matical operations on the equation that describes the system being simulated. Almost any system or ( continued ) commanded and actual values of some quantity and uses a function of that difference to drive an error-reducing actuator. Figure 3: A typical simulation-program flowchart. 148 BYTE • FEBRUARY 1985 Are you battling incompatible office automation systems? Now, in just minutes, you can get two incompatible office automation systems to work together. To swap docu¬ ments in letter perfect order. All without battling a single modem, service bureau, telephone company or instruction manual. Announcing the KEYWORD 7000, an exciting new breakthrough in office automation compatibility. It's here! A compact new hardware/software device that can convert diskettes quickly. Easily. With no cleanup. That means you can swap diskettes between all the major office automation systems without losing headers. Footers. Tabs. Underlines. Or any other formatting codes. What's more, the KEYWORD 7000 costs just pennies a page. Compared to service bureaus at $3. And rekeying at $4.50. But that's not all. With Keyword, you'll discover a whole new cost-saving world of office efficiency. . . using the office automation systems you have right nvw! To find out more, call 1-800-227-1817 ext.812A and get your complimentary copy of How to Win the Compatibility Battle. Exciting New Facts about Today's Office Automation Compatibility Solutions. Or fill in —or attach your business card to-the tear-out coupon. And mail. Inquiry 170 Call 1-800-227-1817 ext. 812A for your free booklet. Ei KEYWORD Keyword Office Technologies, Inc. 25354 Cypress Avenue Hayward, California 94544 812 A1 ^ I I want to find out how the It 3 • KEYWORD 7000 can solve my office automation compatibility problems. LZI Call me ASAP at ( ) Ext. CD Send me your FREE booklet. Name . Title _ Company Address _ City_ Phone ( State . M/S . Zip . . Ext. . FEBRUARY 1985 • BYTE 149 Inquiry 90 DISCOUNT 1 - 800 - 354 - 2985 HOT LINE GUARANTEED BEST PRICES CALL MON - SAT 8-5 SUPER SALE OKI 92P - S349 STAR 10X - $235 HAYS 1200B-S399 LOTUS 123-S295 MODEMS HAYS 1200 - $475 MICROMODEM - $225 U S. ROBOTICS PASSWORD - $310 IBM PC - $320 COMPUTERS ALTOS 586-20 - $5695 586-40 - $7195 SANYO 550-1 - $679 555-2 - $1049 PRINTERS C-ITOH F10 - $899 8510 - $1175 DATASOUTH DS180 - $1099 DS220 - $1399 DIABLO 620 - $725 630 - $1675 EPSON RX80 - $220 JX80 - $560 NEC 3510 - $1215 3550 - $1519 OKIDATA 182 - Call 93 - $575 SILVER REED 400 - $269 770 - $839 TELEVIDEO TPC II - $1729 1605 - $1699 SOFTWARE LOTUS 123 - $295 SYMPHONY - $439 MICROPRO Wordstar - $189 Wordstar Pro - $295 D Base II - $299 Friday - $175 Multiplan - $139 Supercal III - $200 MBSI - $325 TCS - $75 BOARDS AST Six Pac - $259 Combo ♦ - $259 QUADRAM Quadlink - $449 Quadboard - $279 TERMINALS TELEVIDEO 914-$515 925 -$699 WYSE 50 - $495 75 - $565 DISCOUNT COMPUTER 4655 N. ORACLE RD. #207 TUCSON, ARIZONA 85705 _Prices Subject To Change._ SERVO SYSTEM situation that can be mathematically described in a cause-and-effect rela¬ tionship can be simulated by a com¬ puter. Next, the program displays or prints an output. Then the time vari¬ able is incremented and. if the pro¬ gram is not terminated by some con¬ dition that exceeds its limits, the pro¬ gram repeats. ( continued ) Listing 1: This program is written in TRS-80 Level II BASIC hut can be adapted to any of the BASIC dialects. 50 PR = 0 REM 60 TH = 0 REM 70 TM = 0 REM 80 W = 0 REM 90 JS = 5 REM 100 D = 5 REM 110 K= 10 REM 120 K1 = -0.4 130 K2 = 0 140 K3 = 0 150 DT = 0.2 160 T = 0 170 ST = 0 10 REM SCALE SERVO CONTROLLER 20 REM by Don Stauffer 30 CLEAR 200 40 REM EDIT ASSIGNMENT STATEMENTS TO ALTER CONTROL CONSTANTS PRINT CONTROL VARIABLE SCALE BALANCE BEAM ANGLE BEAM ANGLE DURING LAST ITERATION INITIAL WEIGHT IN PAN BEAM MOMENT OF INERTIA DISTANCE FROM PIVOT TO WEIGHT OR SOLENOID SCALE FACTOR, SOLENOID CURRENT TO FORCE : REM PROPORTIONAL SERVO CONSTANT REM RATE SERVO CONSTANT REM LAG SERVO CONSTANT REM TIME INCREMENT REM INITIAL TIME REM STOP PARAMETER 180 REM BEGIN SIMULATION LOOP 190 IF PR > 1.5 GOSUB 5000 200 REM CHECK FOR INPUT 210 GOSUB 1000 220 REM COMPUTE CONTROL FORCE 230 GOSUB 2000 240 REM COMPUTE MOTION 250 GOSUB 3000 260 REM DISPLAY AND PRINT OUTPUT 270 GOSUB 4000 280 REM UPDATE TIME 290 T = T + DT 300 IF ST<0.5 THEN 200 310 STOP 1000 'CHECK FOR INPUT 1010 IF PEEK(14400)= 128 THEN GOTO 1010 1020 IF PEEK(14340) = 8 THEN ST=1 1030 IF PEEK(14340)< >128 THEN RETURN 1040 PRINT@65,“ 1050 INPUT “CHANGE WEIGHT”;W 1060 IF W<0 THEN W = 0 1070 RETURN 2000 REM COMPUTE CONTROL CURRENT 2010 ER = TH 2020 IF ER< -10 THEN ER = -10 ELSE IF ER>10.0 ER = 10.0 2030 I = K2*(TH -TM)/DT + K1 *ER + K3*(ER + EM) 2040 EM = ER 2050 RETURN 3000 TM =TH 3010 J = JS + W*D[2 3020 F = K*I 3030 LC = F * D 3040 LW = W * D 3050 AA = (LC - LW)/J 3060 WD = WD +AA*DT 3070 TH = TH+WD*DT # , (continued) 150 BYTE* FEBRUARY 1985 YOUR DAYS OF BUYING TERMINALS ARE OVER! Now there’s SmarTerm terminal emulation software for your IBM* PC, XT, AT or compatible system. All SmarTerm products offer comprehensive and exact terminal emulation, powerful file transfer facilities, and include TTY mode to link you to The Source, CompuServe, Dow Jones or other popular time-sharing services. We’ve included features such as ASCII and binary file transfer, multiple setup configurations, XMODEM and PDIP* protocol support, "smart” softkeys, plus European DOS support. SmarTerm 100 is your choice for DEC* VT100, VT102 and VT52 emulation. SmarTerm 125 has all the features of SmarTerm 100, plus VT125 ReGIS graphics support. For Data General Dasher* D100, D200 or D400 emulation, you need SmarTerm 400 More than 15,000 users are already "hooked” on SmarTerm. Try it for 30 days, with full refund privileges, and you will be too. Persoft, Inc. - 2740 Ski Lane Madison, Wl 53713 (608) 273-6000 - TELEX 759491 SMARTERM, WHAT DO YOU DO WITH YOUR OBSOLETE TERMINAL? See your name in print! Send us your ideas for uses of obsolete terminals replaced by SmarTerm. The best ideas will be used in future ads. Write Persoft, Dept. FISH., 2740 Ski Lane, Madison, Wl 53713. 'SMARTERM and PDIP are trademarks of Persoft. Inc ’ IBM is a registered trademark of International Business Machines Corp * DEC. VT and ReGIS are trademarks of Digital Equipment Corp ' DASHER is a registered trademark of Data General Corp persofr Inquiry 249 FEBRUARY 1985 • BYTE 151 SERVO SYSTEM O* ' The Latest Products for dBASE II QUICKREPORT ™ dBASE Report Generator ■ Prints any kind of report or form 1 Up to 6 databases per report!! 1 Incredibly easy to use 1 No programming required —Versions available for dBASE I INFORMATION Kk HOTLINE ZMSk 800-221 0156 FOX & GELLER Fox & Geller, Inc. 604 Market St., Elmwood Park, N.J. 07407 3080 IF TH< -10 THEN TH- -10 ELSE IF TH>10 THEN TH = 10 3090 RETURN 4000 CLS 4010 PRINT“ACTUAL WEIGHT = ”;W 4020 PRINT@384,“TIME","ANGLE",“CURRENT”,"WEIGHT” 4030 PRINT@448T.TH,I,F 4040 IF PR <0.5 THEN RETURN 4045 IF PR> 1.5 GOTO 4080 4050 LPRINT T,W 4060 LPRINT AA,WD,TH,F 4070 RETURN 4080 NF = T:NI = INT(NF): RX = NF-NI 4090 IF (RX 134 THEN PP=134 4120 IF PP = 134 THEN CH = 74 ELSE CH = 47 4130 NS = PP — 2:IF NS<0 THEN NS = 0 4135 FOR NZ = 1 TO NS:LPRINT CHR$(88);:NEXT 4140 LPRINT SP$;CHR$(CH) 4150 RETURN 5000 LPRINT CHR$(27)CHR$(81):LPRINT CHR$(27)CHR$(84);"12“ 5010 LPRINT CHR$(27)CHR$(35) 5020 FOR N-1 TO 135 5030 NF = N/10:NI = INT(NF):RX = NF- Nl 5040 IF (RX< 1E - 2) THEN LRPINT CHR$(49); ELSE LPRINT CHR$(53); 5050 NEXT N 5055 LPRINT CHR$(10) 5060 RETURN The program shown in listing 1 follows this flowchart closely. The pro¬ gram is written in TRS-80 Level II BASIC but I have attempted to use as few nonstandard instructions as possi¬ ble. You can adapt this program to any of the BASIC dialects (see the text box "Program Changes” on page 153, for more information). Lines 50-170 set the physical constants' values and give initial values to variables. The stop variable ST (in line 170) is used to terminate the program upon com¬ mand. The program must be edited to change the values of any of the constants except weight, which can be changed by the operator. PR is a vari¬ able printout control. PR = 0 results in no hard copy PR = 1 gives you a tabular list of the variables shown on the screen, and PR = 2 gives a graphic trace of the indicated weight. Line 5000, referenced if PR >1.5, is used to set up the scale of the printer and to print an axis. Line 200 is where the main loop begins. Line 1000 looks for a user in¬ put. If you press the W key, the pro¬ gram stops and expects a new value for the weight on the pan. The S key and the space bar also have functions, which I'll describe later. The sub¬ routine starting on line 2000 is the math model of the control computer block in figure 2. We will be able to understand this block better after we begin to play with the servo simula¬ tion. The subroutine that begins at line 3000 is also part of the math model and represents the physics of our scale. It represents Newton's sec¬ ond law of motion as applied to rotating systems. (The text box "Physics Math Model” on page 153 has more details about the mathe¬ matical model of our scale.) The force applied to the solenoid equals the current after it is multiplied by a scale factor (line 3020). Tbrque is equal to the product of a force (F) multiplied by a distance (D), so the torque in the beam is equal to the product of F multiplied by D (line 3030). Assume that the distance from the pivot to the weight is the same as that from the pivot to the solenoid, so line 3040 cal¬ culates the torque due to the weight. Therefore, line 3050 determines the angular acceleration by finding the net difference between the torque 152 BYT E • FEBRUARY 1985 SERVO SYSTEM due to the weight and the torque due to the solenoid current, and then that net difference is divided by the mo¬ ment of inertia. Lines 3050 and 3060 integrate the acceleration to angular velocity and angle. The subroutine starting at line 4000 displays the output on the screen. The program displays elapsed time, the deflection angle, the solenoid current, and the indicated weight. For refer¬ ence, the actual weight is also dis¬ played in the upper left corner. If a hard copy is desired (PR equal to or greater than 1), the print routine con¬ tinues. Lines 4050-4070 output the table, and the graphic output is begun by the command at line 4080. The table output routine slows down ex¬ ecution considerably, so don't use it unless you find an interesting case. If you don't want a hard copy, the sub¬ routine returns to the main program. If you haven't set the stop variable, the program loops back to line 200 and continues. The subroutine starting at line 5000 scales the characters per inch in both directions and draws an axis. In opera¬ tion, the graph is drawn vertically down the paper. (The values given are those needed with a C. Itoh ProWriter.) Other printers will require different values in lines 5000 and 5010. Line 5000 puts the ProWriter in condensed (17 characters per inch) mode and sets the vertical feed to 12 lines per inch. You can set these values to any you like. Line 5010 puts the printer into the graphics mode. Be fore¬ warned: The program does not take the printer out of the graphics mode. You have to do it manually. You usually start the program with no weight on the pan (W = 0). Press¬ ing the W key for about one second stops the problem and the computer will prompt you for the value of weight you want to add. The scale will work well with any weight less than 10 units. Other keys include the S key, which will stop the program (you can also hit the Break key) and the space bar, which freezes the operation for as long as you hold it down. You have to edit the program to alter the servo- control constants, the physical param¬ eters of the scale, or the printout com¬ mand. I recommend that you avoid printing anything until you have a setup you really want to document. The printer slows down the simula¬ tion. especially when you call for graphics. In fact, while the computer is executing the subroutine that does the scaling (line 5000), expect a lengthy pause. After several seconds the normal screen and simulation will appear. Servo Theory After typing in the program with the values given in listing 1, go ahead and run it to see that it works. Don't worry (continued) Program Changes T he BASIC I used in this program is Radio Shack Level II BASIC, but you can easily convert the program to other computers. I minimized com¬ mands unique to the Level II inter¬ preter. The CLEAR command in line 30 clears for string space and is needed only for the graphic print op¬ tion. The keyboard-scanning routine in lines 1010 to 1030 checks the keyboard for depressed keys. Using a normal IN¬ PUT statement would stop the pro¬ gram once every iteration, while we want the program to continue. The PEEKs look at the memory area of the memory-mapped TRS-80 keyboard. The Apple should use the same tech¬ nique, although the memory locations will be different. Line 1010 looks for the space bar and freezes the program for as long as that key is depressed. Line 1020 looks for the S key. Line 1030 looks for the W key. For the Com¬ modore 64 use the GET command. The other main thing to watch for is the manner in which an output is sent to a line printer. If no printer is used, PR in line 50 will always be set to zero, and no changes are required. If a printer is used with another computer, however, modifications must be made. The TRS-80 merely uses the command LPRINT followed by the desired out¬ puts. as in line 4050. For Apples, change all LPRINTs to PRINTs, precede each one with a PR#1, and follow it with a PR#0. For the Com¬ modore 64, you must use the OPEN command before each output to the printer, followed by an OPEN 1,3 to return the output to the screen. The other area of the program you may need to modify contains the graphics commands to printers other than the ProWriter. These parameters are discussed in the main text. Physics Math Model T he code in lines 3000-3090 is a mathematical model of the physics of our scale. The scale operates according to Newton's second law of motion, but it is expressed in a form for angular motion, which may make it seem a little unfamiliar. Newton's sec¬ ond law is ordinarily expressed as: F=MA. For rotary or angular motion, however, it is expressed as: AA = L/J, where AA is the angular acceleration (degrees per second squared). L is the net torque (difference between the torques in opposite direction), and I is the moment of inertia. Moment of in¬ ertia is the resistance to a change in rotation and is the rotary equivalent of mass. The moment of inertia is a func¬ tion of the beam’s structure and of the weight added to the pan (line 3010). Tbrque equals force times distance. For our scale, we assume that the distance between the weight and the pivot is the same as the distance between the pivot and the point where the solenoid ap¬ plies its force. Thus, line 3030 repre¬ sents the torque generated by the sole¬ noid. while 3040 represents the torque from the applied weight. Line 3050 cal¬ culates the angular acceleration. Line 3060 integrates the acceleration to find the angular velocity: 3070 integrates once more to find the angle. Line 3080 represents mechanical stops that pre¬ vent the beam from rotating more than 10 degrees in either direction. FEBRUARY 1985 • BYTE 153 t- in flMj® ■ i -Jn (inn/ O nr iwi 1 „,.» t- nn ann e iW# S C >C nf)P m 1 •,-m nr» ------ SPERRY PERSONAL COMPUTER SPECIFICATIONS OPERATING KEYBOARD SYSTEM 84 keys, 6 ft. cord MS DOS Version AUXILIARY 2.11 with MEMORY G.W. BASIC Up to two internal MICRO¬ 514" diskettes PROCESSOR 10MB internal 16-bit 8088 fixed disk when DISPLAY configured with SCREENS single diskette. High Definition USER MEMORY monochrome Standard 128K display IBM com¬ bytes, expandable patible graphics. to 640K COMMUNI¬ DIAGNOSTICS CATIONS Power-on self test Built-in Asynchronous Sperry, performance has never been a question of how we strut our stuff, but of how well we pass muster. So while other PCs parade their bells and whistles and fancy foot¬ work, the Sperry PC quietly proves its superiority. Superiority in graphics. With a brilliant display of color and design. Ergonomic superiority. With a far more comfortable and infinitely more operable keyboard. Operational superiority. With its ability to run 50% faster than most other PC’s. ©Sperry Corporation, 1984 IBM is a registered trademark of International Business Machines Corporation. MS DOS is a registered trademark of Microsoft Corporation. nnnnn non nnr>n(? n fn^ ’J -&m , ’ Finally, a PC that proves you don’t have to be showy to steal the show. And all of this at a price well below the standard. But the area in which the Sperry PC clearly demonstrates its leader¬ ship is compatibility. It is our understanding of this critical concept that has made the Sperry PC so compatible with software for the IBM PC. And in terms of its ability to be compatible with your company’s most important source of informa¬ tion, the Sperry PC is peerless. Because the Sperry PC plugs into the main computer. Whether that main computer is Sperry. IBM. Or both. The Sperry desktop and portable PC’s. By comparison, everyone else will seem a little flatfooted. But when you’re out to lead the parade, you have to be on your toes. A full-color reproduction of this original Sempe illustration, suitable for framing, is available with our compliments. Call or write for it, and we’ll also send you an informa¬ tion kit on our family of PC’s. The Sperry PC. What the personal computer should have been in the first place. Telephone toll-free 1-800-547-8362. Sperry Corporation, P.O. Box 500, Blue Bell, PA 19424-0024. =^= SPERRY Inquiry 354 SERVO SYSTEM about making sense out of the simula¬ tion yet. Before we do any experi¬ ments, let's look at some elementary servo theory. Figure 4 shows the most simple form of servo controller. This is known among servo designers as a proportional control system. The controller merely takes the error signal (Q c -Q) and multiplies it by a constant, known as the "gain con¬ stant." In our example, we want the angle of the scale to be zero. Thus, the commanded value of O (Q e ) will always be zero, and our error is always equal to -O, where O is the scale's actual angle. The output signal to the actuator and, as mentioned previous¬ ly, the restoring force on the scale are proportional to the error. Now consider for a moment how you want your scale to act. Obvious¬ ly the weight readout should be close to the actual weight in the pan. There are other desirable features, too. Beam balances seem to take forever to settle down and show whether they are indeed in balance. Electronic scales can also exhibit such oscilla¬ tions, so we would like ours to settle down quickly. Additionally if the scale comes to rest with the beam not level, there may be an inaccuracy. With these three criteria, let's run the pro¬ gram with the initial values from listing 1 and see how the scale performs. As we start out, the scale is in balance and everything stays at rest with the scale at zero angle. Now press the W key until you see the prompt for weight. Type in a value, such as 5.0. This adds 5 ounces to the scale. The scale is now out of balance, and the beam swings to a negative angle. The control system senses this angular error and increases the solenoid current. This attracts the beam and slows it down. Now the current-generated force exceeds the weight, and the beam's angle moves back toward zero. When this happens, the solenoid shuts off the current and the cycle repeats. We have built a good oscillator. Our simulation will continue to oscillate like this forever. Figure 5 is a plot of a cycle of this con¬ dition. Stop the program now, as it is neither exciting nor instructive beyond this point. Pivot friction in an actual scale would eventually reduce these oscillations. However, it would take a long time and its effect would be small in a well-built scale. Conse¬ quently, I left friction out of my simula¬ tion model. Playing with the value of K 1 will affect the period of the oscilla- Figure 4:1 n a proportional control system, the error between the actual and the commanded value is multiplied by a gain constant to drive the actuator. Figure 5: Continuous oscillation is a common feature of a proportional control system with no damping. Figure 6: A proportional-plus-rate system uses the output variable's rate of change as part of the control calculation. 156 BYTE • FEBRUARY 1985 SERVO SYSTEM tion but won't eliminate it. The way the servo designer elimi¬ nates eternal oscillation is to add "rate damping" to the system. Figure 6 shows a proportional-plus-rate sys¬ tem. The symbol O with a dot over it (pronounced "Q dot”) represents O’s rate of change over time. Again, O is our controlled variable, the angle of the scale. In calculus, this is the time derivative. We add rate damping to our system by setting K2 to some non¬ zero value. Tty a value of -4 in line 130 and run the program again. Figure 7 shows a typical result. Now we have reduced most of the oscilla¬ tion. although a small amount of ex¬ cess motion remains. The excess mo¬ tion eventually stops, but the speed at which it stops is sluggish. The scale could almost be considered practical now. However, in addition to the slug¬ gish response and the excess motion, ( continued ) Figure 7: The addition of rate-of-change feedback creates a damped oscillation. Figure 8: The addition of a quantity proportional to the integral of the controlled quantity reduces error when the system reaches equilibrium. PC SOFTWARE SALE! WE’LL MATCH PRICES ON MOST PRODUCTS LOTUS 1-2-3/ SYMPHONY $295/$415 dBASE II/III $265/$365 WORDSTAR 2000 $245 LOOK AT THESE SPECIAL PRICES! AST Products CALL Crosstalk $ 99 dBase Will $265/$365 Easy Writer II System $185 Hayes 1200/1200B $475/$395 IUS Accounting CALL Lotus 1-2-3/Symphony $295/$415 MicroPro Products CALL Microsoft Products CALL Multimate $255 Norton Utilities $ 59 PFS: File/Graph/Write $ 83 PFS: Report $ 74 ProKey $ 87 Quadram Products CALL RBase 4000 $265 SuperCalc 2/3 $145/$ 195 Volkswriter Deluxe $175 Wordstar 2000/2000 Plus $245/$295 Wordstar Prof. Package/Plus $245/$345 All Other Products/Diskettes CALL To order: Call TOLL-FREE: 800-227-4780 or 415-845-2651 Or write: ECONOMY SOFTWARE 2040 Polk Street San Francisco, CA 94109 ECONOMY SOFTWARE □ We guarantee our products against manufacturer’s defects. □ Quantity discounts available. We are experienced with Corporate accounts. □ No surcharge added for charge cards. No charges until products are shipped. □ Purchase orders accepted. □ Call for shipping charges. □ Prices subject to change. FEBRUARY 1985 • BYTE 157 SERVO SYSTEM Figure 9: The integral partially offsets the effect of rate damping so you get quicker response and some overshoot, which is quickly damped out. You can't see the reduction of the weight beams angular error in this plot of indicated weight versus time, but including the integral O increases the scale's accuracy. ERG/68000 MINI-SYSTEMS □ Full IEEE 696/SI00 Compatibility HARDWARE OPTIONS □ 8MHz, 10 MHz, or 12 MHz 68000/68010 CPU ED 68451 Memory Management D Hardware Floating Point ED Multiple Port Intelligent I/O □ 64K/128K Static RAM (70 nsec) □ 256K/512K/1MB Dynamic RAM (150 nsec) ED Graphics-Digital Graphics CAT-1600 9 ED DMA Disk Interface □ SMD Disk Interface 1 Va" or Vz" Tape Backup ED 5 1 /*" or 8" Floppy Disk Drives □ 5MB-474MB Hard Disk Drives ED 7/10/20 Slot Back Plane ED 20 or 30A Power Supply ED Desk Top or Rack Mount Enel. SOFTWARE OPTIONS ED 68KFORTH 1 Systems Language □ CP/M-68K 2 0/S with C, 68K-BASIC 1 , 68KFORTH 1 , FORTRAN 77, EM80 Emulator, Whitesmiths’ C, PASCAL □ IDRIS 3 O/S with C, PASCAL, FORTRAN 77, 68K-BASIC 1 , CIS COBOL 4 , INFORMIX 5 Relational DBMS □ UNIX® SYS V O/S with C, PASCAL, FORTRAN 77, BASIC, RM COBOL 7 , ADA®, INFORMIX 5 , Relational DBMS □ VED 68K Screen Editor ED Motorola’s MACSBUG and FFP Package Trademark ’ERG, digital Research, Whitesmiths, 'Micro Focus, *RDS, Inc., “Bell Labs, Hyan McFarland, •U.S. DoO, “Digital Graphic Systems 30 Day Delivery - OEM Discounts Empirical Research Group, Inc. P.O. Box 1176 Milton, WA 98354 (206) 872-7665 we have another problem. As the sys¬ tem approaches equilibrium, we still have an angle error of about 1 degree. This is not drastic, but we can do much better. Specifically, we will add yet another block to the system (shown in figure 8) and create a proportional-plus-rate- plus-integral, or proportional-plus- rate-plus-lag, system. Although this is beginning to look like a formidable circuit, don't be dismayed. This is as complicated as it gets. We can create a proportional-plus-rate-plus-lag servo by changing K3 to a nonzero value. Try a -3 for K3 in line 140 and run the system again. We've speeded up the response and increased the ex¬ cess motion. But as the system damps out, we see that a greatly reduced angle is obtained. Since an increase in K2 reduced the excess motion before, let's try increasing it again, this time to -8. Now that's more like it. Although there is still some excess motion, it quickly stops (see figure 9). The reading reaches equilibrium in a few seconds, and the angular error is less than one-tenth of a degree. You can improve your results even more by further refining K2 and K3. We have now designed a practical servo- controlled scale that is stable and becomes quiescent with reasonable speed. Play around with the system. As with any computer simulation, you can't hurt anything. If you want to see things really go awry, try putting in a value for any of the three servo con¬ stants with the opposite sign. This simplified simulation illustrates much of the behavior of the typical servo system. You can easily modify the program to represent a speed- control servo (e.g., an automobile's cruise control). The professional engi¬ neer must still dabble in the realms of complex variables, nonlinear dif¬ ferential equations, and other forms of higher math, but simulations similar to this one are revolutionizing the design of servo systems. ■ 158 BYTE • FEBRUARY 1985 T [Z U' 2236100 MHZ THE ANSWER L. l \ OSCILLOSCOPE BY ANY MEASURE 100 MHz scope, counter, timer, multimeter: All one integrated system. 100 MHz dual time base scope. 3.5 ns risetime; sweeps from 0.5 s to 5 ns/div; alter¬ nate sweep; ±2% vertical/horizontal accuracy; vert¬ ical sensitivity to 2 mV/div @ 90 MHz. 9-digit fluores¬ cent display. Digitally accurate readouts accom¬ pany the CRT waveform. Error messages and prompts also appear on the display. Dc volts and ac coupled true RMS volts. Mea¬ sured through the Ch 1 scope input. Gated measure¬ ments. Use the scope’s intensified marker to measure frequency, period, width and to count events within specified portions of the signal. Auto-ranged, auto-averaged counter/timer. Frequency, period, width, delay time, A-time, plus total¬ ize to more than 8 million events —with 7 digits plus exponent displayed. Auto-ranged DMM. Use floating DMM side inputs with up to 5000- count resolution. Get precise read¬ outs of average dc and true RMS volt¬ age. Measure resistance from milliohms to gigohms. n* wCH2 vOLTS/O iv CHI VOlTS/OtV Tektronix 2236 Now make measurements faster, easier, with greater accuracy and user confidence. The Tek 2236 makes gated coun¬ ter measurements, temperature, time, frequency, resistance and voltage measurements push¬ button easy. You see results con¬ currently on the 9-digit numeric readout and CRT display. Its complete trigger system includes pushbutton trigger view, plus peak-to-peak auto, TV line, TV field, single sweep and normal modes. At just $2650: the 2236 includes the industry’s first 3-year warranty on all parts and labor, including the CRT. Integrated measurement system. 3-year warranty. 15- day return policy. And expert advice. One free call gets it all! You can order, or obtain lit¬ erature, through the Tek National Marketing Center. Technical per¬ sonnel, expert in scope applica¬ tions, can answer your questions and expedite delivery. Direct orders include probes, operating manual, 15-day return policy, full warranty and worldwide service back-up. Order toll-free: 1-800-426-2200 Extension 57 In Oregon call collect: (503) 627-9000 Ext. 57 Or write Tektronix, Inc. P.O. Box 1700 Beaverton, OR 97075 Tektronix COMMITTED TO EXCELLENCE Copyright ©1984. Tektronix, Inc All rights reserved TTA-324-1 *U.S Domestic price FOB Beaverton, Oregon. Price subject to change FEBRUARY 1985 • BYTE 159 We Just Made Oui Terminals Look Even US. COMPUTER SITES . •>» cap 50 U& Con ***m Marom - est Selling Graphics etter. NEVER BEFORE HAVE DEC the ANSI X3.64 standard COMPATIBILITY AND GRAPHICS Never before have such features and BEEN SEEN AT A PRICE THIS LOW. graphic resolution been seen at this price At $1395, the Visual 102G is the only DEC" compatible terminal with Tektronix compatible graphics at a price this low. The 102G actually outperforms the VT240.'” Unlike DEC’S machine, it uses the full screen for superior Tektronix emulation. The keyboard is more compact and has 16 programmable, nonvolatile function keys. Powerful graphics capabilities give you a higher resolution (768 x 293) in a terminal with power and features emulating the Tektronix 4010/4014.'” And it's fully compatible with the DEC VT102.'” Compared totheDECVT220,' M buy¬ ing the Visual 102G is like getting a DEC compatible terminal with free graphics. AT $1595. RESOLUTION AND FEATURES THIS SHARP ARE A SIGHT TO BEHOLD. For those who require even higher resolution graphics than the 102G, the Visual 500/550 terminals deliver it with full Tektronix 4010/4014 emulation. 768 x 585 resolu¬ tion on a large, easy to read 14" screen gives you remarkably sharp text and graphics displays. The 500 emulates the DEC VT52,'“ Data General D200,'“ LearSiegler ADM3A',” and Hazeltine1500" terminals. The 550 is DEC VT 100 protocol compatible and a character or block mode terminal that complies with ALLTHREE TERMINALS OFFER MORE THAN MEETS THE EYE. The Visual 102G,500and 550 are fully compatible with all of the major soft¬ ware available This includes PLOT 10," DISSPLA," TELL-A-GRAF" SAS/GRAF/“ Dl 3000/GRAFMAKER,'" INFOgraph,’" SPSS," TERMPLATE,'" DR Graph.'" GSX,'“ andalIGSS" products. Each of the terminals comes with a wide variety of advanced resident graphics features, including vector draw; point plot: circle, arc and rectan¬ gle draw and fill; multiple line styles and patterns; as well as an auxiliary port that supports a variety of printers, plotters and data tablets BEING NUMBER THREE. WE DO OUR BEST TO LOOK OUT FOR NUMBER ONE YOU Visual Technology Incorporated is the third largest producer of graphics terminals in the industry. It’s been your widespread acceptance of our products that has allowed us to offer you a price second to none. If you're in the market for graphics terminals with the optimum combination of features, resolution and price, look no further. Call Visual today. USUAL See for yourself/ Visual Technology Incorporated 540 Main Street, Tewksbury. MA 01876 For more product information, call 1 -800-341-5400 (1 -800-462-5560 in MA) or 1-617-851-5000. Inquiry 325 AS SNUG AS A BUG IN A RUG. Snuggle The SQUASH™ AC Power Controller comfortably underneath your computer monitor, plug your computer and peripherals into the back panel and you'll have complete power control of all of your accessories at your fingertips. Not only do you gain added convenience, but with EPD's advanced surge protection and EMI-RFI filtering technology, The SQUASH will keep your computer from becoming a vegetable. And it's backed by a lifetime performance guarantee. It's compatible with IBM*, Apple*, Commo¬ dore*, Columbia*, and most other desk top computers. The SQUASH, ask for it at your local dealer. It's part of a new harvest of products from the folks who brought you The LEMON™ DON 7 PLUG IN WITHOUT US. Electronic Protection Devices Inc. P.O. Box 487, Stoneham, MA 02180 (617) 270-0424 • 1-800-343-1813 r All of the above titles are trademarks, registered trademarks, service marks of third parties. INTRODUCTION TO IMAGE PROCESSING IMAGE PROCESSING, or I/P as it is often abbreviated, is a branch of computer graphics based on image data—the pieces that make up a picture. In essence, image processing is a special form of two-dimensional (and sometimes three-dimensional) signal processing. Scenes are developed from a camera-like sensor, either a conventional film-based system or a scanner, and manipulated so that they provide more information. I’d like to show just how common I/P is and describe some of its fun¬ damentals. Image processing is a powerful suite of techniques for uncovering information. Some of the techniques are comparable to photographic darkroom processes, but much more is involved. The principal idea behind image processing is to make an image more infor¬ mative. or. in communications jargon, to extract more signal from the noise. Commercial television has trouble displaying more than a dozen different gray levels. The human eye can perceive more levels of gray, but not many. If you need to be able to distinguish between shades of gray that are finer than you can see, you enter the realm where image processing can help. A black-and-white image- processing system can usually distinguish at least 32 gray shades. Typically, computer systems treat images as arrays, or series of elements. The number of elements in an array determines the resolution of the image, and the number of bits available to any element of the array (or word size) determines the number of "colors” or gray-scale values each element can have. The smallest element of a picture corresponds to a single element of the data array. This element is called a pixel, an ab¬ breviation for picture element. Popular choices for the number of pixels in an image are either based on powers of 2 (256 by 256, 512 by 512, or 1024 by 1024) or on hardware standards like the 52 5-line commercial television system. The number of bits in a given pixel determines the number of unique gray values or colors available. Eight-bit pixels provide 2 56 different gray values in black and white or 2 56 unique colors. Most larger systems have 24-bit pixels—8 bits each for red. green, and blue—which translates into over 16 million unique colors. That many colors is more than one can display on a monitor, and cer¬ tainly more than you can distinguish visually. At least three standard systems are used to describe color. (See reference 2 for more background on color theory.) The additive system works by considering the amount of red. green, and blue light you would have to add together to create a specific color. Color televi¬ sion works precisely this way. If you take a close look at a color television or video monitor screen, you'll see triplets of colored dots. Each triplet contains a dot of each of the additive primary colors, red. green, and blue. This triplet represents the single pixel, the smallest element in the picture whose color you can specify. Similarly, I/P systems are almost always based on the red-green-blue additive system. In contrast, when you're mixing paint, you mix the subtractive primary colors. The subtractive primary colors are cyan, magenta, and yellow. Finally, human visual perception is often parame¬ terized by hue, saturation, and intensity (or value). Hue is the simplest to understand; it is the "color” or domi¬ nant wavelength you see. for example, red versus green. Saturation, sometimes called purity, is easy to think of in terms of mixing white into a pure color. Red and pink are the same hue. but they differ in saturation—red is more saturated than pink. Intensity (or value) is the relativetive brightness of a color. When the relative brightness of a color. When you view a red wall with the sun shining brightly on it and then when the light is dim. the difference in "reds” appears only in intensity. ( continued ) Dr. Jeffrey L. Star is a development engineer at the Remote Sensing Research Unit. Department of Geography, University of California, Santa Barbara, CA 93106. I mage manipulation reveals hidden information BY Jeffrey L. Star FEBRUARY 1985 • BYT E 163 Since all three of these systems are alter¬ native ways of describing color, you might ex¬ pect that you could freely convert (or "trans¬ form") between them, and you'd be right (see references 2 and 3). From here on, however, I'll be discussing the red-green-blue additive system. Imaging in Action My particular area of interest is image processing for satellite remote sensing. Several U.S. federal agencies, in particular NASA (National Aeronautics and Space Ad¬ ministration) and NOAA (National Oceanic and Atmo¬ spheric Administration), fly satellites with imaging sensors. NASA's Landsat 5 is the most interesting such satellite now in operation. Landsat has two imaging systems: the Multispectral Scanner (MSS) and the Thematic Mapper (TM). Both are multiband imaging systems. Because of their fields of view and the satellite's orbital parameters, they cover the globe between latitudes 80 north and 80 south about every 18 days. Ground resolution for MSS is approximately 80 meters (that is. each pixel represents an area on the ground that is 80 meters on a side). For TM, ground resolution is approximately 30 meters. (Data from these sensors is available to the public from NASA. Ask for The Landsat Tutorial Workbook: Basics of Satellite Remote Sensing ; see reference 6.) Photo 1 comes from the NASA Landsat TM, showing a portion of southern California at the edge of the Salton Sea. The different colors correspond to rock type, and the San Andreas and associated faults run generally parallel to the shore. The image in photo la is a multiband color composite, produced as if several cameras with different filters were providing distinct information on the same scene. The image in photo lb is pseudocolor processed (see explanation below). Photos 2a and 2b are from the Landsat MSS. I/P Systems and Software Systems for image processing range over almost all of the computer field—from Apples and IBM Personal Com¬ puters (PCs), through small minicomputers, to mainframe installations. While small PDP-1 Is have been the standard in the past, the Motorola 68000 microprocessor and DEC VAX systems seem to be the emerging standards. The fol¬ lowing are a few of the commercially avail¬ able systems. ApplePIPS, for the Apple II with Apple DOS 3.3, and MicroPIPS, for the IBM PC with PC-DOS 2.0, are available from The Telesys Group Inc., Columbia. Maryland, at a cost of $495 each. These packages come with dem¬ onstration Landsat satellite data and are an excellent way to learn the rudiments of image processing. Classification (see definition below) and other higher mathematical functions are included in an ad¬ vanced version of the software. RIPS (Remote Image Processing System, Spectral Data Corp.. Hauppauge. New York) is a Z80, S-100 bus 8-inch CP/M system with a 2 56- by 240- by 12-bit image memory. The base price is under $20,000 for the complete system. Software packages cover a broad range of applications. RIPS will process satellite data that the EROS Data Center (Sioux Falls, South Dakota) now supplies on 8-inch floppy disks. Upgrades include video input and a 9-track tape drive. The IIS Model 75 (International Imaging Systems, Milpitas. California) and COMTAL/3M Vision One (COM- TAL/3M, Altadena, California) are dedicated image- processing systems that include display memory, a video processor, a parallel interface to a computer, a track ball and function pad. digital-to-analog (D/A) converters, and a comprehensive software library. A typical small system as a peripheral to another computer might cost $50,000, and upgrades include a Motorola 68000 or DEC PDP-11 embedded microcomputer, with Winchester and 9-track magnetic-tape storage. These systems are typically used at universities and research agencies. The only specialized hardware you must have for im¬ age processing is a display driver and a monitor, although when performance or image quality is important a great deal of specialized equipment is available. Among the components of display drivers are frame buffers, D/A con¬ verters. and lookup tables. A frame buffer is the key to any image-processing system. This bank of memory stores the image data. Most medium-size systems use several banks of 512 by 512 elements, in I/P jargon, the rows of the frame-buffer matrix are the lines of the image, and the columns are the samples along each line. A typical choice for a color I/P system Photo la: Color composite image of southern California by NASA Landsat Thematic Mapper. 164 BYTE • FEBRUARY 1985 I is to have four memory banks or channels— one each for red, green, and blue, and a fourth for intermediate calculations and superposition of graphics and annotation. Frame buffers and their associated control circuitry can get complicated. Some systems give you an option to segment memory on the fly. For example, a given system can have 128K bytes of image memory, and you could configure it as either 512 by 512 by 4 bits (16 colors), or 1024 by 1024 by 1 bit (black versus white), or 2 56 by 2 56 by 16 bits (64 kilocolors). Often, a system implements zoom and pan. which let you expand a smaller area in the image space to cover the entire display. You can ac¬ complish zoom most easily by pixel replication; for any original pixel, the system displays a 2-pixel by 2-pixel square on the screen. This procedure provides a twofold magnification of any linear feature, and, of course, a four¬ fold reduction in the area displayed. A digital-to-analog converter transforms the contents of the image memory into a form compatible with your moni¬ tor. The number of different intensity levels that a D/A con¬ verter can output is related to the number of bits it is de¬ signed to handle; the more bits, the more distinct colors or gray levels it can produce. Few systems use D/A con¬ verters with more than 8 bits of resolution. As mentioned earlier, for a full-color system this arrangement translates into 8 bits on each of three channels (red, green, and blue), a total of 24 bits of color information per pixel, or over 16 million unique colors. The outputs of the D/A converters are generally formatted to either a standard RS-170 com¬ posite video or, in higher-resolution systems, sent to the display via separate R. G, and B (red, green, and blue) cables. A lookup table is an important part of an image-processing system and, like other lookup tables in the computer field, it is a table of stored data for reference purposes. The lookup table performs mapping between each unique in¬ put data value and some predefined output value. Appli¬ cations include color or density mapping and calculations that must be performed rapidly. You could also use a lookup table to assign any particular value in image mem¬ ory to any arbitrarily displayed color; this method of color determination is pseudocolor processing (more later). You could also use a lookup table to change the contrast range of a displayed image by setting up the table with a nonlinear transformation between in¬ put and output gray values; this adjustment of range can make the output intensities more distinct from one another or compen¬ sate for a nonlinear film emulsion or an elec¬ tronic sensor response. In the same way, you could use the lookup tables, for example, to take square roots of the image values. This capability is particularly valuable if you are using the data in the image in a mathematical model or a statistical classification. You can then "recycle' the output of the lookup table back into a memory plane, which allows you to save enhanced images and manipulate them further. Video processors are essentially array processors designed to work with the contents of frame buffers. They are dedicated computation units for performing certain rou¬ tine operations on images, such as computing the ratio of two colors in an image. They permit relatively small computers and I/P systems to work in "real time,'' which is comparable to the time it takes to refresh an image on the screen (typically 1/30 second for a standard interlaced display, such as on a color television or microcomputer). A frame grabber digitizes the output of a video camera and places the resulting image into memory. Video inputs are usually limited in terms of geometric accuracy and the number of available gray levels. A video film writer is designed to produce color slides and prints with better resolution than a standard color CRT (cathode-ray tube). Again, on a color monitor a red, green, and blue dot make up a single pixel. The monitor's ability to display color depends on the limits of your eye's re¬ solving power to merge the three color dots. Simply tak¬ ing a photograph of a monitor works moderately well, but the quality is limited by the nature of the phosphor array (not much better than 1-millimeter resolution at best) and the curved screen. Inside a video film writer are a black-and-white, high- resolution flat-screen monitor and three color filters. A single piece of film (color slide film or instant print film) is exposed to the monitor three times—first through the red filter, then the green, and finally the blue filter. This way. instead of the red, green, and blue dots being at a different place (as on a CRT), they are superimposed for each and every pixel. The business computer ( continued) Photo lb; Pseudocolor processing highlights specific features of the image. FEBRUARY 1985 • BYTE 165 IMAGE PROCESSING graphics and computer-aided design/computer-aided manufacturing (CAD/CAM) uses for video film writers are numerous, with video film writers now available for under $4000. Some of the manufacturers include Celtic. Polaroid. Dunn, and Matrix. If you want to turn an image into an array of numbers and you need more resolution and accuracy (or “spatial detail’ ) than you can get from a video camera, you prob¬ ably need an electromechanical scanner. The original image—transparency, film negative, or paper print—is mounted on a cylindrical carrier (similar to an old Edison cylinder phonograph). As the cylinder rotates, a photo¬ detector scans along its axis and picks up image data. These scanners are generally large and expensive machines, but they have spatial resolution (in terms of pixel size) in the tens of micrometers. The reverse process—turning digital data into a photo¬ graph—is performed by a device called a film writer. In this Photo 2a: Raw Landsat satellite data. case, the cylinder holds a piece of film, which is exposed to a modulated light source (sometimes based on a laser in some commercial instruments). Such a device is capable of much higher resolution output than any monitor or video film writer; one manufacturer's specifications report a 2 5-micrometer raster over a 2 50-millimeter film negative. Negative and positive images and transparencies can be produced this way with high accuracy and geometric fidelity. Image-Processing Operations The principal operations involved in image processing are relatively simple. (Problems arise when you have large data sets. For example, the latest images from space derived from the Landsat Thematic Mapper satellite are from a piece of the earth's surface about 180 kilometers on a side and contain 300 megabytes of data.) A number of the key ( continued ) Photo 2b: landsat data contrast-enhanced. 166 BYTE • FEBRUARY 1985 Raging G Concise structure and fast exe- cution make C the ideal language for applications and system-level programming. And compared with other MS™ DOS C compilers, Microsoft" C consistently produces the fastest executable code. It supports the full C language and includes an extensive library of subroutines that implement most UNIX™compatible functions. Small, medium, compact, and large memory models give you flexibility in selecting the address- ing requirements of your software. Programs can be designed to make MICROSOFT effective use of The High Performance Software tilC HV3.ll3.Dl0 memory of your computer, up to one megabyte. Microsoft C Compiler provides you with a complete development system including the compiler, run time library, linker and library manager, and full support of ‘Price exclusive of handling and Washington State sales tax Microsoft is a registered trademark and MS is a trademark of Microsoft UNIX is a trademark of Bell Laboratories. “Reprinted with permission. BYTE Magazine, August ‘83. MS-DOS 2.0 directory structure (pathnames) and I/O redirection. How do programmers feel about Microsoft C? “In the top category for its quick compile and execution time, small incremental code, best documen¬ tation, and consistent reliability.”** —Ralph Phraner, BYTE Magazine “Best for software development!’ —Bill Hunt, PC Tech Journal “Produces good, tight-running programs!’ — Peter Norton, Softalk Call 800-426-9400 to order the raging C. $500? In Washington State, call 206- 828-8088. Ask for operator A6, who will rush you your order, send you more information, or give you the name of your nearest dealer to see Microsoft C in action. Corporation. IMAGE PROCESSING image-manipulation functions are explained below. Radiometric operations manipulate the intensity of the pixels in an image. For example, a given image may be washed out; all the pixel values are in a small range, and they are all very light. One type of radiometric operation, called contrast stretching, takes the darkest values in the image and forces their value to black, forces the lightest values to pure white, and linearly varies all the intermediate values. An example of contrast stretching is shown in photo 2, a series of images based on a test case in Sweden. Photo 2a shows the raw Landsat satellite data. In 2b, the image has been contrast-stretched so that the dark areas, repre¬ senting water, show up better. Photo 3: A l O-nanosecond x-ray pulse generated during the heating of a magnetically confined argon plasma. Red indicates the most intense x-ray emission and blue the least. (Courtesy of COMTAL/3M and Sandia National Laboratories.) Photo 4: A neck x-ray image is shown on left. On the right is the same image enhanced by a spatial filtering operation. (Courtesy of International Imaging Systems.) Another radiometric operation is density slicing, where you display only those pixel values whose intensity is in some specified range. This operation is often used to highlight or classify objects in the image that have a characteristic brightness or color. Photo 3 illustrates a 10-nanosecond x-ray pulse during the heating of a magnetically confined argon plasma. In this image, red indicates the most intense x-ray emission and blue the least intense emission. The radial lines indicate the direction of the plasma motion prior to x-ray emission. Sometimes color coding aids in the interpretation of the density-sliced image; for example, objects whose bright¬ ness is in a specified range are displayed in red. This pro¬ cess, known as pseudocolor processing, is shown in photos lb, 2d, and 3. Spatial operations are another family of manipulations that fall into several categories. One such category is registra¬ tion procedures, which are used to take an image and force it to "overlay'' another. For example, any map projection is a distortion of the earth's surface, and to superimpose an aerial photograph onto a map you need to "stretch" the photograph. (Imagine painting the photograph on a rubber sheet and then stretching the sheet until objects on the image overlay the same objects on the map.) Photo 2c shows the effect of a registration procedure. The up¬ per portion is original data, and the lower portion has been rectified to a base map. Notice that features are both rotated and changed in shape; this is a typical application. Another category of spatial operations is filtering, a term used in a signal-processing context. For those who are mathematically minded, think of a Fourier analysis, in this case, a two-dimensional Fourier transform. By isolating the high-frequency components in a scene (those that recur repeatedly), you can find edges, as shown in photo 4, a neck x-ray. The first view is the original x-ray, while the second has been enhanced by spatial filtering. The im¬ provement in the ability to see structure is dramatic. Other smoothing operations remove high-frequency noise from an image in the same way that a filter on your stereo can reduce the sound of scratches and pops on an old record. Spatial texture, the variation in pixel brightness in a small specified region, can be important in understanding an image. Texture is often calculated as the standard devia¬ tion of the nearest neighbors around a pixel, and this deviation can be displayed as an image itself. Feature extraction and classification, also spatial operations, are powerful tools for image analysis. For example, if cer¬ tain features in an image are a unique color or gray level, a simple statistical exercise is to "teach" the system to find the features. Unfortunately, feature extraction is almost never this easy. Pattern recognition is a complicated science itself and enters the realms of multivariate statistics, geometry, artificial intelligence, and radiative transfer theory. The end result of feature extraction is similar to photo 2d, where water is represented by the color purple and the regions that are peppered with yellow ( continued ) 168 BYTE • FEBRUARY 1985 Ferocious FORTRAN. Microsoft" FORTRAN crunches numbers with a vengeance! It combines fast and efficient native code compilation with built-in 8087 coprocessor support. The result? Mini and mainframe performance from your MS™ DOS micro. Based on the 77 standard, Microsoft FORTRAN supports extensive statements and data types—including complex num¬ bers and IEEE single and double¬ precision floating point accuracy. Support for large arrays (greater than 64K bytes), separate module MICROSOFT, compilation, The High Performance Software cHlCl OVCITciyS, allow you to create very large programs—up to one megabyte, with access to more than 65 thousand records in a file as large as four gigabytes. How do programmers feel about Microsoft FORTRAN? “The first FORTRAN compiler that takes advantage of the full addressing capability of the 8088 and the power of the 8087’.’ —Jack Wilschke, Softalk “We decided to use the Microsoft FORTRAN Compiler for its INTEGER 4 capability and the flexibility of its 8087 implementation!’ —Charlie Huizena - hardware and soft¬ ware • Robots • Preci¬ sion test instru¬ ments • Computer¬ ized weather instruments • Solar hot water • Automotive and home energy /zer products • .I Security de- — 11 .. t vices • Color ■ Accurate TVs • Video re- PPP Clock corders, cameras and acces- 40-Channel sories • Stereo Scanner components - y • Amateur radio gear jp • Electronics courses / leading from basic electronics to high tech. Most Accurate Clock 40-Channel Scanner Compatible ■ ■ Computers Inquiry 134 FEBRUARY 1985 • BYTE 187 INTERVIEW Inquiry 104 Here are 69 reasons to buy at Elek-Tek, not to mention the fastest delivery anywhere PRINTER ACCESSORIES 1. FR 192 Epson 80 col ribbon $ 3.50 2. FR 193 Epson 132 col ribbon 5.00 3. FR 153A OKI & Gemini Ribbon 2.50 4. FF 7353 80 col. printer stand (metal) 15.00 5. FF 7354 132 col. printer stand (metal) 18.00 6. CB 5609 IBM PC to Epson cable. 8 ft 20.00 IBM PRODUCTS 24. Amdek 310A Amber Monitor $ 160 Other Amdek Monitors . CALL 25. AST Six Pak + Multifunction Board, 64K 250 26. AST Megaplus II Multifunction Board, 64K 250 27. AST I/O Plus II Multifunction Board, OK 125 28. Quadram Quadboard Multifunction Board, OK 210 29. Quadram Quadboard Multifunction Board, 64K 270 30. Quadcolor I Graphic Board 210 31 Paradise Modular Graphics Card 290 32. Hercules Monochrome Card 329 33. Hercules Color Color Graphic Card 170 34. Novation 4905911 Modem w/software 320 35. Novation 4905921 Internal Modem w/software 320 36. Hayes 1200B Internal modem w/software 399 37. Anderson-Jacobson1212-2C01 Internal modem w/crosstalk 360 38. Anderson-Jacobson1212-2C02 Modem w/crosstalk, 2nd ser port 400 39. TEAC FD55B Vz ht. DSDD Disk Drive 129 40. Switchcraft Keyboard 13 prog keys, heavy duty 175 41. WICO 500110 Analog Joystick 36 Save 30% to 43% off Manufacturer Suggested Ret. prices on EPSON • Okidata • Gemini • NEC VIREX • TTX • TOSHIBA •1 EPSON« 7. RX 80 FT + $ 275 8. RX 100 375 9. FX 80 + 375 10. FX 100 575 11. LQ 1500 par 1150 12. CR II Comriter 360 §i£©llf 13. Gemini 10X 235 14. Gemini 15X 365 15. Delta 10 360 OKIDATA 16. Oki 84 CALL 17. Ok. 92 CALL 18. Oki 93 CALL OTHER PRINTERS 19. TTX 1014 S 360 20. SCM D200 390 21. NEC 3510 1350 22. NEC 3550 1600 23. Toshiba P1351 1190 DISKETTES Call for Quantity pricing for 10 boxes or more. maxell Box of 10 55. 3M8SSDD 42. MF1 8" SSDD 21 3 Vz" SSDD $ 34 56. 3M8DSDD 43. MF2 3V2"DSDD 50 8" DSDD 29 44. MD1 5% "SSDD 16.50 G9 Dysan 45. MD2 57. Dys 12 5V4"DSDD 21.50 5V4" SSDD 20 46. MD2DD 58. Dys 22 5V4"DSDD/96 TPI 35 5Vi " DSDD 26 47. MD2HD 59. Dys 33 5V4"DSDD/IBM AT 45 5 Vi " DSD D/96 TPI 45 48. FD1 60. Dys 24 49. 8" SSDD 32 5V4" dsdd/ibmat 50 FD2 8" DSDD 37 61. Dys 8128 8" SSDD 27 3M 62. Dys 8228 50. 3M3SS 3V2" SSDD 35 8" DSDD 32 51. 3M3DS 3V 2 " DSDD CALL wabash 52. 3M5SSDD 63. WAB 1111 5 Vi" SSDD 16.50 5Vi " SSSD 12.50 53. 3M5DSDD 64. WAB 1212 5V4" DSDD 21.50 5Vi " SSDD 13.50 54. 3M5DSDD96 65. WAB 2222 5V4" DSD D/96 TPI 35 5’/4" DSDD 15.50 DISKETTE ACCESSORIES 66. RSI 600 W Head Cleaning Kit $ 6 67. F 320 3V2" Head Cleaning Kit (20 cleanings) 25 68. MM 5 Media Mate-Holds 50 5V4" disks 10 69. MM 3 Media Mate-Holds 30 3V2" 9 CALL TOLL FREE 800-621-1269 EXCEPT Illinois, Alaska, Hawaii Corp. Accts Invited. •onal Check (2 wks. to change. WRITE tor tree catalog RETURN POLICY Defectives Only Moat products replaced within 30 days large peripherals replaced only when defective on arrival (within 3 work day* of delivery). Other problem* covered BRAND NEW, FIRST QUALITY AND COMPLETE purchase with Identical merchandise only. Computer and ad by mfr warranty ALL ELEK-TEK MERCHANDISE IS 6557 N. Lincoln Awe., Chicago, IL 60645 ^|nC* (312)631 7800 (312)677 7660 and might stop working at any time. The director could not be traced, and 1 was pacing up and down, saying, "The bloody director is never here when you want him," when he stepped into the room via the win¬ dow. His opening words were, "Here's the bloody director. I hear it's work¬ ing." I showed him this program, and he played with it and agreed that it was working. Then he turned to me with a grin and said, "It may be working, but the program's somewhat less than epoch-making," with which we had to agree, but it was very heartening for us. We continued to add the chassis one by one, and by the end of June most of it was assembled. We didn't at that time have a multiplier, nor had we planned to have one, on Pilot ACE. BYTE: You would use successive addition? JHW: Yes: it was to be done by a sub¬ routine, optimum coded so that it was not too slow. In fact, the optimum- coded version was about as fast as the automatic multiplier on EDSAC. So as soon as it began to do signifi¬ cant things, Bullard began to press us to have an Open |House] Day and to demonstrate it to the world. Well, I was a bit anxious about that because it wasn't really reliable enough. The amplifiers on the delay lines were still inclined to be unstable. However, Bullard was a very impetuous man, and he finally landed us with these "demonstration days." BYTE: When was that? JHW: It would have been November of 1950. By that time we could do a variety of significant things, but it was still not a very reliable machine. One of the troubles we had at that time was with the power supply—not our power supplies but that of the Central Electricity Generating Board. For instance, in the evening when everyone arrived home and switched on electric fires, the voltage would drop suddenly, and that gave us problems. BYTE: Historically there was a coal shortage ( continued ) 188 BYTE* FEBRUARY 1985 ffeomPUTSR WAREHOUSE CALL TOLL PRINTERS 1 - 800 - 528-1054 SPECIALS OF THE MONTH*l==g COLUMBIA COMPUTERS All systems include fifteen software packages with a $3,200 value. MPC4210 MPC4220 MPC4610 MPC4620 Columbia VP PRICED TOO LOW TO PRINT Call for Prices. Anadex 9625B $1129 WR6000 . $2039 DP6500 $2259 Brother DX-15 S369 HR-25 $649 HR-35 S875 C-ltoh A-10-30 S479 F-10 Parallel or Serial S909 55 CPS Serial or Parallel SI 049 8510 Parallel (Prowriter) S315 8510 SP $389 8510 SCP S459 8510 BPI $335 Comrex CR-2E Call CR-4 Call 420 Call Datasouth DS180 S1149 DS220 SI 469 Diablo 620 S694 630 API SI 499 630 ECS SI 669 630 ECS/IBM SI 669 Series 36 S1139 80 IF S2649 P12CQI $529 P32CQI S759 S32CQI S839 P38 S1639 S38 SI 719 Cl 50 S999 EpSOn All Printer Models Call Inforunner Riteman w/Tractor S244 Riteman15 S499 Riteman Blue w/Tractor $299 Juki 5500 Call 6100 S399 6300 S699 NEC 2010.2015,2030 S639 2050 . S669 3510.3515.3530 SI 215 3550 . SI 359 7710,7715.7730 SI 649 8850 SI 779 P2, P3 Call Okidata All Printer Models Call Panasonic 1091 $275 1092 S439 1093 S709 Silver Reed EXP400 S235 EXP500 Parallel S295 EXP500 Serial S295 EXP550 Parallel S399 EXP550 Serial $399 770 Parallel $705 770 Serial . S705 Star Micronics All Printer Models . Call Tally Spirit 80 S245 Toshiba PI 340 Parallel or Serial S709 P1351 Parallel or Serial $1215 PLOTTERS Enter Sweet-P600 $780 _GEMINI_ lOXorlOXPC with Cable & Paper Super Price CALL VIDEO TERMINALS ADDS A-2 Green S469 A-3 . S469 Viewpoint 60 S485 Viewpoint 90 S849 Altos Smart II S699 Qume QVT 102 Green S399 QVT 102 Amber. S419 QVT 103 Green. S816 QVT 103 Amber S850 QVT 108 Green S449 QVT 108 Amber S519 Televideo 910 $439 910+. S559 914 S515 924 S635 925 S700 950 $905 970 S985 800A (User Station) S979 Personal Terminal S385 Wyse 50. S489 75 S565 Zenith z -29 S599 MODEMS Anchor Automation Anchor Express Call Mark XII S239 Hayes Smartmodem 300 Baud SI 85 Smartmodem 1200 Baud S445 Smartmodem 1200B Baud (IBM) S379 Micromodem ME (Apple) S209 Novation Smart Cat Plus S315 Racal-VadiCAii Models Call US Robotics Password 1200 S319 COMPUTERS AltOS All Computer Models Call Columbia can Corona PC-22 Dual Drive SI 919 PC-HD2 Hard Disk S2999 PPC-2 Portable/Dual Drive SI 689 PPC-HD2 Portable/Hard Disk S2599 Loading Edge Personal Computer Call NEC PC-8201 Computer S315 PC-8201A-90 Battery Pack S15 PC-8206A 32K Ram . S215 PC-8271A-01 AC Adapter S 1 6 PC-8271A-02 AC Adapter S1 6 PC-8281A Recorder... S89 Northstar All Computer Models Call Sanyo MBC-775 Portable Call MBC-550 System Call MBC-555 System. Call MBC-550-2 System Call MBC-555-2 System Call MBC-885 Call Televideo 802 H S4285 803 . S1765 803H $2850 806/20 S4640 TPC-1 . S869 TPC-2 Dual Drive SI 749 TPC-2 Single Drive SI 509 1605 SI 909 Visual Commuter From $1469 Zenith Z-150 Single Drive Save 25% Z-150 Dual Drive Save 25% Z-150 W/10 Megabyte Save 25% Z-160 Single Drive Save 25% Z-160 Dual Drive Save 25% DISKETTES Maxell MD-1 (Qty 100) SI 75 MD-2 (Qty 100) SI 99 MONITORS Amdek All Monitors Call Princeton Graphic HX-12 S479 Sanyo CRT-30 S99 CRT-36 . SI 49 CRT-50 Call CRT-70. S549 Taxan 121 Green SI 25 122 Amber $134 420 RGB S399 425 RGB/Green . S410 Zenith ZVM-122 Amber S95 ZVM-123 Green $95 ZVM-124 . $129 ZVM-133 Color/RGB $410 ZVM-135 Color/RGB W/Audio S459 DISKDRIVES Alpha Omega Turbo 10 S739 Iomega Bernoulli Box for IBM 10 Megabyte SI 950 20 Megabyte S2660 Rana Elite 1 $179 Elite II. S339 Elite III S405 Elite lOH/Apple SI 080 Controller (W/Drive Only) S69 1000 W/DOS for Atari. S305 TEC MAR Graphics Master S449 126K Dynamic Memory $225 256K Dynamic Memory S299 Captain 128K $299 Captain 256K S399 BOARDS AST Six Pack Plus S285 Paradise Modular Graphic 06-A1 S275 Five Pak SI 59 Order Line: 1-800-528-1054 Order Processing & Other Information: 602-954-6109 oompurei UJfiREHOUJE 2222 E. Indian School Rd. Phoenix, Arizona 85016 Store Hours: Mon-Fri 10-5:30 Saturday 9-1 Order Line Hours: Mon-Fri 8:30-5:30 Saturday 9-1 Prices reflect 3% to 5% cash discount. Product shipped in factory cartons with manufacturer s warranty. Please add n/^ $8.00 per order for UPS shipping. Prices & availability subject to change without notice. Send cashier's check or money order. . all other checks will delay shipping two weeks. FEBRUARY 1985 -BYTE 189 INTERVIEW at that time ? JHW: Yes. Such things added to our difficulties. We knew, too, that when SEAC had had its first demonstra¬ tion—a little before us—it had been a fiasco, even though SEAC had, in general, been working reasonably well. During the whole of the time allotted to the press demonstration. it never once worked. You will find the early years abound with such bad- luck stories. I must confess to having been pes¬ simistic. We decided to have two popular programs for the daily press. For the first, they would give us a six- figure decimal number and the com¬ puter would tell them if it were a prime, and if not, output a factor. For the second program, they would give us any date from the year 0 up to the year 9999 and it would output what day of the week it was. It covered both the Julian and Gregorian calendars and dealt with all leap years. In all. quite an amusing little program. Mike Woodger produced that program. BYTE: And where did he discover the tech - nique? JHW: He worked it out for himself. Such programs are good fun, of course, but they leave one merciless¬ ly exposed to the vulgar gaze. Some¬ one puts in the current date, which is Wednesday, say. and the machine promptly says Thursday! So they're very much more dangerous. If you tell the press it's solving a partial differen¬ tial equation, you can swear blind it's solving a partial differential equation and they would be hard put to prove it is not. Finally, we were to have one serious program: this traced skew rays through a set of lenses. Well, we decided on this last pro¬ gram and announced it, only to find that we couldn't get the program to work. TWo days before the press show it had still never worked, and we didn't know whether the program had a bug or whether it was due to computer malfunction. Then, just two days before the show. Alway and I acciden¬ tally found it was a minor machine fault which was not invoked at all in our other programs. We got all three programs working then, just in time. The arrangement was that Bullard would entertain the popular press and I would give the demonstrations. The whole thing was to cover three days; one day with the popular press, one with the technical press, and a third day for VIPs includ¬ ing our competitors. Wilkes had his machine running in Cambridge and was justifiably proud of it. Williams and Kilburn from Manchester were also coming. BYTE: They had a machine too , didn't they ? JHW: They had a little hookup at that ( continued ) Software Tools for Serial Devices Are you developing a C or Pascal program that will include functionality like this? ♦ File transfer between computers ♦ Realtime data acquisition ♦ Printer/plotter control Blaise Computing Inc. has a set of tools for you. ASYNCH MANAGER" is a library of soft¬ ware routines, including all source code, which will dramatically re¬ duce the amount of time you need to get your applications working. Using ASYNCH MANAGER: you can control any hardware de¬ vice employing the RS-232 inter¬ face on an IBM PC or operationally compatible micro computer. More¬ over, your PC will be able to oper¬ ate at fast speeds, since interrupt- driven routines and flexible buffer sizes are featured. As with other packages in our Programmer Productivity Series, there are no royalties for incorpo¬ rating our routines into your systems. Other high-level language interfaces are planned. Contact us directly to order or to obtain addi¬ tional specifications. ASYNCH MANAGER “ $175.00 includes the first language interface, second language $75.00 additional. Other products to speed your devel¬ opment projects in C and Pascal include: TOOLS" comprises a library of routines providing advanced string handling, forms utilities, screen handling and more. Features a general BIOS gate — $125 TOOLS 2 * is a second library of rou¬ tines focusing on DOS 2.0+ operating systems capabilities. Perform memory allo¬ cation. program chaining, file and buffer handling from within your C or Pascal program—$100 VIEW MANAGER“ is our screen de¬ velopment system which dramatically reduces programming required for screen displays. Block mode data col¬ lection. verification, overlays are all featured —$275. Source Code for rou¬ tine library—$150 BLAISE COMPUTING INC. 2034 Blake Street Berkeley. CA 94704 (415) 540-5441 190 BYTE • FEBRUARY 1985 Inquiry 32 ^ouVe probably already outgrown your personal computer. You’ll know you’ve outgrown your personal computer the first time you realize it won’t let people share resources or work on the same job simultaneously. The fact is, the isolated, standalone PC is only the beginning of how com¬ puters can meet today’s business needs. The fact is, your next step to growth is the new TeleVideo® Personal Mini.™ Simply plug it in and grow. Runs PC, mini and multiuser software. With the TeleVideo Personal Mini, users of IBM® or TeleVideo PCs, XTs, and portable computers can share data and expensive peripherals like printers and plotters. The Personal Mini dramatically in¬ creases computing power. So it not only runs PC software, but also hundreds of popular, fast minicomputer and multi¬ user software programs in your estab¬ lished PC environment. And, unlike less advanced networks, the Personal Mini never sacrifices per¬ formance or speed regardless of how many workstations are on line. It also offers multitasking. Enhance your original PC investment. Even system expansion costs are sub¬ stantially less than what you’d pay to add new IBM PCs. And your original invest¬ ment in hardware, software and personal computer education is never lost. 1 The TeleVideo Personal Mini. The first PC compatible multiuser system. Your TeleVideo dealer now has the Personal Mini. Arrange to see it today by calling toll free, 800-521-4897. In California, call 800-821-3774. Ask for operator 10. This is the first PC compatible multi¬ user, multitasking system. And the computer solution you’ll never outgrow. Regional Sales Offices: Northwest (408) 745- 7760, Southwest (714) 476-0244, Southcentral (214) 258-6776, Midwest (312) 397-5400, South¬ east (404) 447-1231, Mid-Atlantic (703) 556- 7764, Northeast (617) 890-3282, East (516) 496- 4777, Rocky Mountain (408) 745-7760. IBM is a registered trademark of International Business Machines. k Computers TeleVideo Systems, Inc. FEBRUARY 1985 -BYTE 191 A B Computers @SANYO iSANYO Computer Ram Drive Price 550-1 128K* 180K(1 drive) CALL 550-2 128K- 360K (2 drives) CALL 555 1 128K * 360K (2 drives) CALL 555-2 128K- 720K (2 drives) CALL •EXPANDABLE TO 256 IBM PC and PC XT In stock, available at special prices DISKS & ACCESSORIES Price per 5V«" Disk 3M SS DS AT •ty SS/DB OS/DO 9CTP1 96 TPI H DINS 10 $1 53 2 04 2.31 2 99 CALI 100 1 50 2.90 229 2.90 CALI 200 1.47 1.00 2.22 2.75 CALL VfKPATIM SS OS AT Qtf SS/DO DS/DD 96 TPI •6 TPI NOIUS 10 $101 2.2D 2 93 3.77 4.17 100 1 84 221 2.77 3 70 4.09 200 1.01 2.17 2.72 3.12 4.00 ■AXIU SS OS AT Qty ss/oo DS/DD MTPI ii TPI NOENS 10 $1M 2 59 292 3.53 525 100 1 92 2.54 2.79 340 5.15 200 1.99 2.49 2.71 3.39 504 30 Macintosh 3V»” diskettes in Amaray diskbank $135. data systems Panasonic. Sanyo 550 & 555 PC’s, Built-in software includes Easywriter, Easy Filer. Word Star, Calcstar and more Great Prices OTHER COMPUTER SPECIALS CAU ALSPA 8 CPU Computers. 64K memory workhorse at super special prices 1/SS $500. 2/SS $700. 2/DS $1,000. •—full line CALL All Zeniths fully software & hardware com¬ patible with the PC and XT superior keyboard Computer Ram Drive Ports Price ZF 151-21 128K 360 1 PL/2 SER CALL ZF 151 52 320K 720 (2 drives) 1PL/2 SER CALL ZW 151-52 320K 10 6 MB + 3601 PL/2 SER CALL ZF 161 2r 128 K 360 1 PL/2 SER CALL ZF 161-52' 320K 720 (2 drives) 1PL/2 SER CALL 'Portable Personal Pearl database manager only $100 with any Zenith System purchase SOFTWARE Math Blaster' (Davidson). 35. Typing Tutor III (S&S) .. . 35. Alphabet ZOO (Spinnaker).22. Success with Math (CBS). 18. Typing Tutor II (Microsoft). 18. Algebra I (Peachtree).22. Story Machine (Spinnaker) 22. Word Attack! (Davidson). 35. Get Organized* (Electronic Arts) 138. Spotlight (Software Arts) 120. Microsoft "Word" (w/Mouse) 325. Unix Operating System for PC CALL Copy PC 29. Flight Simulator II (Sub Logic) 30. 1-2-3 (Lotus) 299. PFSFile (Software Pbshg.) 89. Panasonic Panasonic KXP 1090, IBM cable Friction and tractor Reg list $430 NOW $260 HIT PARADE Symphony (Lotus) 485. PFS Report (Software Pbshg ) 79. PFS Write (Software Pbshg.). 89. dBase III (Ashton-Tate) 460. dBase II (Ashton-Tate) 325. Framework (Ashton-Tate) 460. Multimate (Multimate) 320. Chart (Microsoft) 179. Multiplan (Microsoft) 129. Wordstar (Micropro). 335. J.K Lasser’s Your Income Tax Book and 2 diskettes (Apple & IBM only) . 48. Your New Baby 29. Kermits Story Maker 23. "Parsanal Pearl (pearlsaft)— Data¬ base filing/reporting system $235. Art OWN OISKETTIS Over 40% eff eur regular lew price! 50 top quality ds/dd diskettes packaged in an Amaray Media Mate 5. Only $72. ABcarrys all major brands 3M. Verbatim. Maxell, Wabash. Sentinel. Dysan in ail popular sizes and configurations CALL for super prices DISK ST0RA6I Mini Flip N File (50 5 disks) $17.45 Rolltop 100 (100 disks. 10 dividers) 28.99 Mini Kas-ette/10 (for 5 disks) 1/2.25 10/2.05 ea. ‘Amaray Mediamate 5 11.99 Innovative Concepts—fold out style for 5" disks Flip N File/25 16.50 Flip N File/50 22.95 Smith & Bellows Wooden Storage Boxes for 5" disks Natural or dark finish. For 50 disks 18. For 70 disks 21. For 100 disks 24. PLUS- HEAD" disk cleaning kit (w/2 disks). 11.99 IBM drive analyzer (Verbatim) 22.50 We carry full software lines by Electronic Arts. Scholastic. Scarborough. PFS. Spinnaker. Batteries Included. Others If you don’t see it here. CALL OUTPUT DEVICES Printars by Star, Epsaa, C. Itoh. Amdek. Panasonic. Okidata, Diablo. Bratbar: Star Micromcs Gemini 10X -10 carnage. F/T 120 CPS . $285. Epson LQ-1500-NEW 24-pin lettar guilty del matrix CALL Epson RX-80-Tractor Food, Graftrax + 250. Okidata 92 CALL Amdek Printers 5025-25 CPS Daisywheel. 2K Buffer . CALL 5040-40 CPS Daisywheel. 2K Buffer . . CALL 5055-55 CPS Daisywheel. 2K Buffer . CALL Brother HR-35 Daisywheel- 35 CPS Bi-Directional 889. Brother HR-25 Daisywheel- 23 CPS Bi-Directional 649. Brother HR-15 Daisywheel MONITORS USI-20 Mbz band width. 1000 Unas rasalation. Easily capabls at 80 char¬ acter display. *1200A (PI-31-12" amber pbosphar SPECIAL 80. ZENITH ZVM-124 12" amber—22 MHz TTL for IBM . $150. PANASONIC 12" Green 20 MHz (Sound) $137. 12" Amber 20 MHz (Sound). 145. ELECTROHOME ECM 1226-12" Green ECM 1302-1-13” Color RGB ECM 1302-2-13" Color (Hi Res) Amdek $95. 195. 330. Color 300 CALL 13 CPS Bi-Directional 380. 500 CALL Star Radix 10 600. 600 CALL Star Radix 15. 605. 700 . CALL C. Itoh 710A. CALL Prowriter 1 (Parallel) CALL NEW X-TRON Monitor 125. Starwriter (40 CPS) CALL POWER DEVICES Diablo 620 (Daisywheel) IBM Parallel Printer Cable CALL 10. Datashield back-up power source 200 PC-200 watt . $265. COMMUNICATIONS Mark X Auto Dial/Auto Answer $110. 300 XT-300 watt 390. Anchor Mark XII SmartModem 265. "BITS" Power back-up-250W 605. Hayes SmartModem 1200B 459. True umnterruptable Brooks 6 Outlet—Surge Supressor/ Noise Filter. 54. Computer Power Inc -500 VA 1320. Tripp Lite 425 VA. 300. Ordering Information Order by cheer MasterCard or VISA Pe'sonai checks take 15 days to dear no waling on certified checks y money orders Add 3°t stuppmg and handknq on a? orders (minimum $2 00) Mail APCVFPO An may f equ*re add> tonal charges PA resoems add 6 °d sales ta» MA 'esoerns add 5S All | (e .. HqBthkit Electronic Center ACM Computer Mart Bectromc Supply TMnM ji Heathkit til EtoCtroniC f Laraco/La t,.ie .... Lar v -Ter Suburbs Whotesaiefs ■ jmrtli n HUSETTS Heathkit Electronic Center Pittsfield RaC'o Equipment Qornmack . Sydiee Electronic Supply Hemeu. MICHIGAN Stone Moont*».. jlJL Coteoan's Electronics Warner Robbins . C*L Electronics * Hawaii J52J2 Hilo ... . e. . v ..^-ATs Electronics Honolulu.. 7 . . industrial Electronics Honolulu . Integrated Circuit Supply Pearl City . Heathkit Electronic Center Adrian. IDAHO ~ "Hfc • Kimball Electronics J"***.-.. * **"T. E * 1 ?*!!! BoiseV* * RJ.M Electronics ••• Caldwell . . A-Gem Supply r v ’^ PocateE’.’.. . Kimball Electronics [ ‘ ' De^t c x9A$ EJeotromcs ; East Detroit Ij nmnersi. ^X^Bec cow Bethpap.. Eledron. •. 24 h ButWo^*.. . Jj Radio Equ -ffl Co TT..CM MW Wide Dist****, Weetiide Radio & \Vi Twin Fads Central Electronics ILLINOIS _ Edison ..Digital World. Inc ^ ^ Berwyrv .. B.B 4 W Electronics ^ Carbondtee.. Pick s Electronics GraM Rapids. .V. Chicago.. University of Illinois Bookstore Graid Rapids Suburban Electronics Ntoyer Electronics Grand fcpk* George Electronics H «ughton Tn-SUU Elect jjekson Joseph Electronic Lansing < * - -Lansing ' Downers Grove Groveland.\ +• •• Harvey. \. . . . ao rrorts Inc Greensboro. , ... N Etedtomcs Winston-Sawn.... 'rojen Bee Ontr , E k Uvonia Niles. Peona. Peona. Warren Radio Co. Rock Wand . . Skoke* .. South Hokand INDIANA • Muskegon. Angola. Lakeland Electrontcs Niie6.. ,~M Niles Radio Supply Bloomington.Stansifer Radio Saginaw.Ryder Distributing Chesterton e- . . Evansvtee... Gary. Indianapolis IZ: T«m Ebdromcs Heights LiAkite Computer ^ Union Etectronic Dist uxiairt I OHIO South Bend Terre Haute W Lafayette Ames Burlington Clinton Davenport. Des Moines Canton Cincinnati. Cleveland Dover Lima. ISagmaw.. . Shand Electronics HUcb 4 Son samt Clair Shores.Bek Electronics Co. Reynoldsburg Calumet Electronics ravto r. .TW Van Electronic Suopiv Toledo Wk Warren Radio Ca vvestiand.The Bectronlc Connection WwWtft j Genesis Electronics Yourmstown.. .T.V Bee* : Supt . .«ds- wlet In s Electronics Bemid|i yCol ■teieroai't..- promcsfUUnt P; iuL ... Warren Radio Co. Winona ...... Itedtu Itade c ‘“fr l K Enid. , Bemid|i Eledronics ‘.urutwcui rtateo u; Duiutb| . Heathkit Pp'^ronic Ce • tT’lT'Ty 33s p? flftwatha Bedromcs^ Tulsa MISSISSIPPI ‘1ST JW PWt DISTRIBUTOR 4477 .ertand Park. Saline.. Wichita 3S- ssnomaarm* AmateurRaoio Equipment , _ _ Mbanv. ■ ifoopcEeruromcSuwJy WwDIuq oCCuWims EuQeoe OKLAHOMA ■ _TnceEl^cs . nji* nadrete' - Tr >ce E^Bcs .Trice ElacMnics ■nS.. ectron. \ Eiacbotecs I Norvac Electronics !i r£2 «r ^RNt«»se r.. Philadelphia Heathkit Electronic Center Philadelphia Spectrum Eledronics Phoemxviile Stevens Radio Shack Pittsburgh South Hills Electronics York. Computer Center of York RHODE ISLAND Cranston Jabbour Eledronics Pawtucket Jabbour Electronics Providence Hope Eledronics TENNESSEE Bristol Shields Electronics Chattanooga Metro Computer Center Chattanooga Shields Eledronics Knoxville Shield s Electronic Supply Memphis Bluff City Eledronics Memphis Memphis Amateur Eledronics Memphis Warren Radio Murfreesboro Standard Auto Parts Nashville Eddie Warners Inc Nashville Electro Dist Co. Oak Ridge National Electronics Smyrna Delker Electronics Tullahoma .H4H Eledronics TEXAS Brownsville George s Electronic Mart Dallas Heathkit Electronic Center Fort Worth Heathkit Electronic Center Harligen George's Electronic Man Lubbock Tnce Electronics McAllen George s Electronic Mart McKinney Collin Business Equipment Richardson Martin Wholesale Electronics Richardson Tnce Electronics Waco L4M Wholesale UTAH Midvale Heathkit Eledromc Center Ogden Carter Supply Co Provo Alpine Electronic Supply Salt Lake City Kimball Electronics Sait Lake City Mountain Coin Distnbutmg VERMONT Burlington Greyiock Eledronics Essex Junction I.ES. Lafayette Radio VIRGINIA Alexandria Heathkit Electronic Center Annandale . Arcade Eledronics Arlirtftvn ArtMftM Electnuc Wholtuitn Blacksburg Scotty's Radio 4 TV Charlottesville Graves Eledronics Hampton Cain Eledronics Harrisonburg Eledncal Wholesalers Lynchburg Eledromc Service Co. Norfolk Avec Eledronics Norfolk Cain Electronics Norfolk Pnest Electronics Am EMMa Roanoke Avec Electronics Vienna Electronic Equipment Bank Virginia Beach Cain Eledronics Virginia Beach Heathkit Electronic Center Woodbndge Eat WASHINGTON Bellevue AB C Communications Bellingham Cascade Electronics Kennewick Satellite T.V. Moses Lake Ron's Eledronics Olympia The Eledromc Shop Pullman H40 Eledronics Richland Radio Shack Seattle AB C Communications Seattle Amateur Radio Supply Seattle Electronic Supply Co Seattle Heathkit Electronic Center Spokane Bits. Bytes & Nibbles Spokane Don s Stereo Center Tacoma C4G Eledronics WEST VIRGINIA Bkms Custom Computing Co. Fairmont T.P.S Eledronics Morgantown Eledro Dist Co. Wheeling Industromcs WISCONSIN Kenosha Chester Eledromc Supply FOREIGN Bin Agana Marianas Electronics G lOterau Electronics Pan Americana Pwara Somtei SA Pawn Tropelco SA Park tec* Hato Rey Microcomputer Store For Distributor Information, write or phone JIM-PAK, 1355 Shoreway Road, Belmont, CA 94002 (415) 595-5936 AUTHORIZED DISTRIBUTORS • AUTHORIZED DISTRIBUTORS • AUTHORIZED DISTRIBUTORS • AUTHORIZED DISTRIBUTORS • 196 BYTE • FEBRUARY 1985 Inquiry 165 AUTHORIZED DISTRIBUTORS • AUTHORIZED DISTRIBUTORS • AUTHORIZED DISTRIBUTORS • AUTHORIZED DISTRIBUTORS . AUTHORIZED DISTRIBUTORS • AUTHORIZED J im-pak One-Stop Component Center mmMWMtmasm O Quality Components O Over 700 Items Available From Our 500 j 1355 SHOREWAY ROAD BELMONT, CA 94002 O Competitive Prices O Distributors Welcome Authorized JIM-PAK Distributors O For information call (415) 595-5936 Telex # 176043 MICRO CHARTS Instant Data on the Most Popular Computer and Microprocessor Parts • Fully decoded data • Compact 8Vfe" x 1V size • Durable credit card plastic • Clear and concise two-sided tables for: Full instruction set, disassembly, ASCII, base conversion, pinout & much more... Part No._P—crlptlon_ MLZ80 Z80 CPU ML6502 6502 (65XX) ML7400 5400/7400 TTL Pinouts ML8080A 8080A/8085A ML8086 8086/8088 DATA BOOKS Part No. 30001 Nat. CMOS (CD4000/74C) 30003 National Linear 30005 National TTL Logic 30009 Intersil Data 30013 Zilog Microprocessor 30014 National Intuitive 1C CMOS Evolution 30015 National Intuitive Op Amps 30016 National Voltage Regulator 30017 National MOS Memory 30018 National CMOS (74HC, RAMs, PROMs) 30019 National Interface, Bipolar (LSI & Memory), Prog. Logic 210830 Intel Memory Components 230843 Intel Microsystem Components FIBEROPTICS The EDU-LINK Learning Kit The EDU-LINK fiber optic system is a low-cost, TTL compatible data trans¬ mission system designed specifically as an educa¬ tional tool for students and engineers working in many different industries. Includes: • Transmitter PCB • Receiver PCB • One meter of plastic optic fiber • All necessary electrical hardware • Complete step-by-step instructions • Theory of operation • Tutorial information Part No. ELK-1 OWI Educational Electronic Robot Kits MV915 Piper-Mouse (Sound Sensor) MV916 Peppy (Sound/Touch Sensor) MV918 Memocon Crawler (Programmable Memory) MV931 Mr. Bootsman (Wired Control) MV935 Circular (Remote Control) MV939 Medusa (Sound Sensor) Additions to INTEGRATED CIRCUITS 74LS00 Series FANS AND ACCESSORIES Part No. MU2A1 PWS2107 MFG481 SFG648 Part No. Description 74LS273 8-Bit D Type Register 74LS640 Octal Bus Transceiver (Inv.) 74LS641 Octal Bus Transceiver (True) 74LS645 Octal Bus Transceiver (True) Linear Part No. Description LM387N Low Noise Dual Pre-Amp NE558N Quad Timer LM3905N Precision Timer Microprocessor Part No. Description 2732A 32K EPROM (21V) 4164N-200 64K Dynamic RAM (200ns) 6116LP-4 16K Static CMOS RAM (200ns) Low Power 6264P-15 64K Static CMOS RAM (150ns) 6502B MPU with Clock (3MHz) 6845 CRT Controller (CRTC) 8085A CPU 8-Bit N Channel 8086 CPU 16-Bit (8MHz) 8088 CPU 16-Bit (8-Bit Data Bus) 8251A Programmable Comm. I/O (USART) Programmable Interval Timer 8253-5 27128 128K EPROM 250ns (21V) MM58167 Microproc. Real Time Clock OPTO-ISOLATOR Part No. Description 4N33 Single Channel Photo-Darlington Muffin Style Fan (4.68 inch square) Sprite Style Fan (3.125 inch square) Muffin-style steel wire finger guard Sprite-style steel wire finger guard b iMDLSThiLS Part No. Model 100 DATASHIELD SURGE PROTECTOR Eliminates voltage spikes and EMI-RFI noise before it can damage your equipment or cause data loss. • 6 sockets • 6 ft. power cord • Brown-out/black-out reset switch • Brown-out notification (audible alarm) • 6 mo. warranty DIODES CRYSTALS TRANSISTORS SOCKETS KITS SWITCHES RESISTORS LEDS HEAT SINKS KEYBOARDS WIRE SPEAKERS TOOLS CORDS SOLDER ICS BOOKS CAPACITORS and more. .. CONNECTORS SOLDER-TYPE CONTACTS Part No.Description 57-30360 36 Contact Plug (Centronics) 57-60360 36 Contact Socket (Centronics) 57-30500 50 Contact Plug 57-60500 50 Contact Socket GENDER CHANGERS Part No. Description JRSMM Gender Changer (Connects 2 DB25P) RS232 JRSFF Gender Changer (Connects 2 DB25S) RS232 JCENMM Gender Changer (Connects 2 Male Centronics cables) JCENFF Gender Changer (Connects 2 Female Centronics cables) The Famous Silicon Chip Includes the popular verse: “I’m a computer memory chip Just a little brain I do so many things for you Too many to proclaim Look through my window See what makes me tick A thousand tiny circuits And my silicon chip.” Part No. MKC-1 Memory Key Chain (Gold) Inquiry 165 FEBRUARY 1985 • B Y T E 197 OUR COMMUNITY NEEDS MORE CORPORATE HEROES. The United Way volunteer gives a gift that’s hard to measure. Because without his or her contribution of time, energy and dedication, the community - services and local programs of United Way simply cannot exist. United Way has much to do in our community. From day care for the young to services for the elderly. So this year, be generous. Give yourself. Unibed Wciy ISScl A Public Service of This Publication THANKS TO YOU IT WORKS FOR ALL OF US. c United Way 1984 198 BYTE • FEBRUARY 1985 SCIENCE A LOW-COST DATA-ACQUISITION SYSTEM by Kiyohisa Okamura and Kamyab Aghai-Tabriz A compromise between cost and quality, this system is adequate for many research projects COMMERCIALLY AVAILABLE data- acquisition systems are quite expen¬ sive. A decent system may cost as much as or more than the entire an¬ nual equipment budget of an engi¬ neering department at a small educa¬ tional institution like ours. Our solu¬ tion to this problem was to design and build our own system. A reason¬ able compromise between price and quality our system includes a Com¬ modore 64 computer, a video display, a disk drive, and some miscellaneous hardware for about $800. It has only 8-bit data acquisition, but you can design a 12-bit system by using one and one-half I/O (input/output) ports (i.e., 12 bits) as the data-input pins. Furthermore, during breaks between experiments, our system can provide you with entertainment. Have you ever heard of a data-acquisition system you can play Pac-Man on? Hardware The circuit diagram to interface the real world to the Commodore 64 is shown in figure 1, and the corre¬ sponding hardware is shown in photo 1. For analog-to-digital (A/D) conver¬ sion, we use an 8-bit ADC0804. To multiplex the multichannel analog input signals, we use the multiplexer (MUX) chip 4051. The outputs are connected to data lines PB0-PB7 of Complex Interface Adapter 2 (CIA2) through the Commodore 64's User Port CN2. The input channel selection is done by the three bits PBO, PB1, and PB2 of CIAL which are connected respectively to C(MSB), B, and A(LSB) of the 4051. For example, channel 0 is selected by CBA-000, channel 1 by CBA-001, and so on. This multiplexing arrangement can accept up to eight analog signals. However, our plotting software is limited to three channels. The graphic resolution decreases as the number of channels displayed on Kiyohisa Okamura, an associate professor of mechanical engineering and director of the Applied High-Tech Laboratory at North Dakota State University (Fargo, ND 58105), holds a Ph.D. from Purdue University. He is also a technical consultant for U.S.-Japanese biomedical engineering and computer busi¬ nesses. Kamyab Aghai-Tabriz is a graduate student of mechanical engineering at North Dakota State University. the screen increases. Handshaking between the ADC and CN2 can be don e through a pa ir of connections: WR(ADC) to PC 2(Com modore 64) and INT(ADC) to FLAG(Commodore 64). The latter is optional, and we don't use it in our software. The analog signal to be connected to each input terminal of the MUX CD4051 in figure 1 should be properly conditioned, which involves amplify¬ ing and biasing the signal so that the voltage level is between 0 and + 5 V, because + 5 V is used as a voltage reference in the ADC. The signal should be made to come as close as possible to the full range of the ADC, without exceeding the full-range limit, for maximum resolution. Therefore, you may need an amplifier between each transducer and the MUX. In our case, since the output of each trans¬ ducer was relatively large, we used an analog computer for signal condition¬ ing. For a very small signal you can use a differential amplifier. According to figure 1, one of the two lead wires for the input signal is for return and should be grounded. ( continued ) FEBRUARY 1985 -BYTE 199 LOW-COST DATA ACQUISITION The ADC converts analog input volt¬ age to 8-bit binary data with 0 V cor¬ responding to 00000000 and + 5 V to 11111111. The computer shows only the decimal equivalent on the screen, that is. 0 to 2 5 5 for 0 to 5 V. respec¬ tively Any value between thes^ two extremes is proportionally converted. For example, a converted data 1 (dec¬ imal unity) corresponds to an analog input to 0.02 V (1 x 5/2 5 5). Similarly a data value of 37 corresponds to 0.73 V (37 x 5/255), and soon. If you want to store or display the value of input directly expressed in voltage, all you have to do is divide the acquired data by 51 (255/5). Using this method of conversion to¬ gether with a manufacturer's calibra¬ tion data sheet for a transducer, we can determine the correlation be¬ tween the original physical quantity and the acquired data in the com¬ puter. Another method we often use is direct calibration. The accuracy of the A/D conversion depends partly upon the accuracy and stability of the voltage supplied to REF/2 (pin 9). We used the refer¬ ence voltage from the Commodore 64 s 5-V power supply. Our measure¬ ment shows that this voltage is actual¬ ly 4.98 V with a ripple component of less than 0.5 percent. It is quite stable and accurate enough for under¬ graduate experiments conducted in our laboratories. If you want greater accuracy, use a more reliable voltage reference for pin 9. The serial data is output to pin M of CN2, which is connected to the coaxial cable as shown in figure 2. The other end of the cable is con¬ nected to the serial port of a receiv¬ ing computer either directly or through a line driver/receiver, depend¬ ing on the compatibility of the two computers' serial ports. For example, the Commodore 64 and TRS-80 we are using in our laboratories are not RS-232C-compatible. In the Commo¬ dore 64. binary state 1 corresponds to + 5 V and binary 0 to 0 V at pin M. On the other hand, at the RS-232C terminal of the TRS-80. binary state 1 corresponds to 0 V and binary 0 to + 12V. Therefore, these two com¬ puters are incompatible in both voltage levels and polarity. This in¬ compatibility can be resolved by line driver MCI488 as shown. If the receiv¬ ing computer uses + 12 V and - 12 V with inverted polarity, you should con¬ nect point P to the receiving RS-232C. With noninverted polarity, use point Q instead. We use a 500-foot coaxial cable to connect a Commodore 64 in one laboratory to a TRS-80 in another laboratory. We haven't noticed any voltage drop or noise at the receiv¬ ing end. Software {Editor's note: The program for data acquisi¬ tion is available for downloading via BYTE net Listings. The telephone number is (603) 924-9820.) The main portion of the program uses several assembly-lan¬ guage subroutines that are loaded in machine-language form via BASIC DATA statements. When you load the program, the menu in photo 2 ap¬ pears. The menu and software are self-explanatory, so we ll only discuss the software briefly. When download¬ ing the program, eliminate all state- +5V +5V CN2 Figure 1: A schematic for the A/D converter for the Commodore 64 data-acquisition system. 200 BYTE • FEBRUARY 1985 LOW-COST DATA ACQUISITION ments headed with REM except for line 10. since they are strictly for com¬ ment and if typed in. they occupy too much space in RAM (random-access read/write memory). When the main program is ex¬ ecuted. all subroutines written in assembly language are poked into the appropriate locations as sequential data. Therefore, you should store the data (listings 2.3.4, and 5) as sequen¬ tial files. Assign names (listing2. Iisting3. and so on) to these files. When the main program is executed, these programs will be poked into the locations shown in the first column of each listing. A data-transmission subroutine is part of the main program. The trans¬ mission format is 2400 bps (bits per second), 7 data bits. 1 stop bit. and no parity check. This part of the pro¬ gram is also self-explanatory, but you have to remember to throw switch SW1 to the +5 V position when you use it. The screen displays the data as it is being transmitted from the Com¬ modore 64. At the end of transmis¬ sion. the screen displays an instruc¬ tion: switch to ADC and press any key. You then throw SW1 back to the previous position so that the CIA is connected to the ADC. The standard sampling rates of A/D conversion programmed in the main program are 1000, 500. and 100 samples per second; you can select the rate as part of the data-acquisition subroutine. In addition, you can set any sampling rate by yourself by ad¬ justing parameters qq and ww in line 1110. This setting corresponds to the default value when the instruction for selecting the sampling rate is dis¬ played on the screen. The maximum rate available is 4360 samples per second at ww = qq = 1. If you have three channels, this implies the sam¬ pling rate of 1453 samples/second for each channel. To lower the sampling rate, just increase qq and/or ww. These parameters are used in time- delay loops in the assembly program with parameter ww in the inner loop and parameter qq in the outer loop. Delay parameter ww has a greater ef¬ fect on lowering the sampling rate than parameter qq does. To calibrate the exact sampling rate, we used a square wave from a crystal oscillator as an input. Since the fre¬ quency of the crystal oscillator is quite accurately known, the sampling rate can therefore be determined. ( continued ) + 12V + 12V Figure 2: TTL ( transistor-transistor logic) to RS-232C -level conversion. Photo 1: The A/D converter. FEBRUARY 1985 • BYTE 201 LOW-COST DATA ACQUISITION The Silver Fox™ Trots through Lotus like 1,1,) The Silver Fox has always run hundreds of programs originally written for the IBM- PC. Now with its new compatible video board and GW Basic it runs the most popular and powerful software in microcomputing, including Lotus 1,2,3, dBASE II, Multiplan, the PFS series, and even Flight Simulator. Yet you still get an incomparable combination of hardware and software at a price that invites comparison. MORE HARDWARE Each Silver Fox comes with an 8088 CPU, 256K of RAM, monochrome and color video, and a printer port all on a single board. Plus you get more than twice the storage of a standard PC, 1.6 Megabytes on dual 5 1/4" floppys, and the Fox will read and write to all popular PC formats. Standard equipment also includes a better keyboard, and a 12" high-resolution, green monochrome monitor, with a full 25x80 column display. And although the Silver Fox doesn’t have “compatible” expansion slots you can add serial ports, modems, plotters, printers, joysticks, and 8087 co-processor, and/or a hard disk. Because the Silver Fox is born on a totally automated line in Japan it is simply more reliable than PC’s that are assembled by hand. So we back each Silver Fox with a one y£ar limited warranty, four times the industry standard. FREE SILVERWARE Were this not enough, each Fox comes with the best free software bundle in the business including: MS-DOS2.il Sketch Spell 15 Games Mailit WordStar FILEBASE CalcStar PC File III Easy Writer PD Disk Color BASIC GW BASIC HAGEN-DOS Qwikdisc Datemate If you didn’t think your $1397 could buy you this much computer, give us a call at 602 - 941*5856 and we’ll rush you a brochure that will tell you how it can. C’olorFox. $1688 The Silver Kox is sold exclusively by Scottsdale Systems Ltd., 617 N. Scottsdale Road #B, Scottsdale. AZ 85257. Trademarks: Silver Fox. H AGEN-DOS. Qwikdisc. Datemate. and Mailit; Scottsdale Systems Ltd. WordStar and CalcStar. Micropro International. MS-DOS. Multiplan. Microsoft Corporation FILE BASK. KWDP Software. Inc. dBASE II. Ashton Tate. IBM-PC, International Business Machines Corporation. Ordering Telemarketing only. Silver Kox price is for cash. K.O.B. Scottsdale, prices subject to change, product subject to limited supply. We accept purchase orders from Fortune 1000 companies and major universities with good credit - add 2 ,, <. Visa. Mastercard add AZ residents add t>“ Returned merchandise subject to a 2(H restocking fee. Personal or company checks take up to !i weeks to clear No CODs or APO's. Photo 2: The software menu for the data-acquisition system. The colors of screen background and data dots are determined by line 1470 in listing 1. You can change these colors by replacing the number 22 with another number. The number should be calculated as: 16 x (code number of dot color) -i- (code number of background color). In our example we used the white dots and a blue background. Hence, the number to be poked in is: 16x1+6=22. You can find the color codes in the Commodore 64 reference manual. You can also manipulate the color of the border in graphic display by changing the second number in line 1520. When one channel of data is plotted on the screen, each data point is represented by one of 200 pixels in the vertical direction. The resolution represented by the error resulting from bit mapping is 0.5 percent. With three channels, the software divides the vertical axis into three sections: 66 (top), 67 (middle), and 67 (bottom) pixels. Hence, the resolution of each channel is 1.5 percent. As the number of channels increases, the resolution decreases. The program stores data sequential¬ ly in RAM. In case of multiple chan¬ nels (e.g., displacement x for channel 0, velocity v for channel 1, and ac¬ celeration a for channel 2) the data is stored in the following order: x(l), v(l). a( 1). x(2), i>(2), a(2). x(3).where x(l) and x(2) are the first and the second bytes of data for x, and so on. They are stored sequentially in RAM with the starting address of 32769. The number of data points for each chan¬ nel is 320 by default but can be changed. Since there are 320 pixels in the horizontal direction of the screen, 320 data points per channel is the maximum number of data points that can be displayed at one time. Conclusion We've found this system perfect for student use and adequate for some types of research. Though the system has many limitations, it is inexpensive and, above all, it's better than no sys¬ tem at all. ■ We would like to express our apprecia¬ tion for the help Mr. William Welscher, a graduate student of agricultural engineer¬ ing at North Dakota State University, gave us during the preparation of the manu¬ script of this article. 202 BYTE • FEBRUARY 1985 Finally, a New DBMS Technology INFORMA is what NETWORKING is all about: INTERACTIVE REAL-TIME DATASHARING The experts say. . . Corvus Systems, Inc. "INFORMA is one of the finest multi user Database Management Systems available for the OMNINFT* Local Area Network." Sid Arora, Third Party Marketing Manager TeleVideo Systems, Inc. "INFORMA is one of the finest, true multi-user Database Management Systems u>e have seen run on the TeleVideo Personal Mini Mark Calkins. Product Marketing Manager Novell "Many of our Netware end users have found INFORMA to be a very powerful and versatile Database Management System." Rob Walton. Manager of Independent Software Development •FAST ‘POWERFUL 3COM Corporation The IN FORMA DBMS is one of the best examples of the benefits users achieve with multi user network software." Robert Buchanan, Jr., Software Product Manager EASY TO USE UNLIMITED PROCESSING INCORPORATED 8382 Bayrneadow.s Road. Suite 8 Jacksonville. Florida 3221b (904) 641-8330 (800) 874-855') Telex 350754 (800) 874 4185 •10 Level Security •50 Keys (indexes) per record •8000 fields per record •1 sec. access from 85,000 record file •255 screens per record •Unlimited math and relational operations •Intuitive "Query by Example •Full Formatting Reporter Incredible Introductory Offer Single-user LAN/Multi-user $199 $599 regularly $795 regularly $1495 Available 1 on < iwr 20 operating systems im hiding IBM’s new PC' NKTW( >RK Inquiry 320 FEBRUARY 1985 • BY] 1. 203 NETWORK BUY HARDWARE AND SOFTWARE AT WHOLESALE +8%, AND GET 14-28 DAY SOFTWARE RENTALS 1, ... In just the last few months, The NETWORK has saved its members more than $24,000,000 and processed over 60,000 orders. Listed below are just a few of the over 20,000 products available at our EVERYDAY LOW PRICES! All software below is priced in IBM-PC format. The nation s largest corporations depend on PC NETWORK! On our corporate roster are some of the nation’s largest financial industrial and professional concerns including some of the most important names in the computer industry: AT&T Gillette Barclays Bank Hewlett Packard Bell & Howell Hughes Aircraft Citibank IBM Columbia University ITT Data General Kodak Exxon Multimate Farm Bureau Insurance Standard Oil of Ohio Frontier Airlines Yale University General Mills General Electric Veteran's Administration plus thousands of satisfied consulting firms, small businesses, user groups, municipalities, government agencies and value- wise individuals ACROSS THE NATION! Their buyers know that purchasing or renting from PC NETWORK saves them time, money and trouble. They also count on us for product evaluation, professional consultation and the broadest spec¬ trum of products and brands around. y CALL TOLL FREE 1-800-621-S-A-V-E In Illinois call (312) 280-0002 Your Membership Validation Number: B325 You can validate your membership number and, if you wish, place your first money-saving order over the phone by using your VISA, MASTERCARD or AMERICAN EXPRESS. Our knowledgeable service consultants are on duty Mon.-Fri. 7:30 AM to 9 PM, SAT t 9 AM to 7 PM CST PERSONAL COMPUTER NETWORK i\ 320 West Ohio Chicago, Illinois 60610 Call now . . . Join the PC NETWORK and start saving today! PC NETWORK • MEMBERSHIP APPLICATION YES! Please enroll me as a member in the PC NETWORK " - and rush my catalog featuring thousands of computer products, all at just 8% above DEALER WHOLESALE PRICES. I will also periodically receive 'THE PRINT¬ OUT”, a special up-date on merchandise at prices BELOW even those in my wholesale catalog, and all the other exclusive, money-saving services_ available to Members. 325 £ I am under no obligation to buy anything. My complete satisfaction is guaranteed. Please check (*^) all boxes that apply: Basic Membership Special V.I.P. Membership* □ One-year membership for $8 □ One-year membership for $15 □ Two-year membership for $25 (SAVE $5) □ BOTH Business and Game Software Rental Libraries for $30 Z Two-year membership for $15 (SAVE $1) C Business Software Rental Library for $25 add'l. per year—with 14 day rentals □ Games Software Rental Library for $10 add'l per year add'l per year—with 28 day rentals *VIP members receive advance notice on limited quantity merchandise specials □ Bill my credit card □ VISA I MasterCard □ American Express Account Number: Exp. mo. year □ Check or money order enclosed for $ Name- Address__ City_ State Apt. No Zip T elephone ( )- My computer(s) is: □ IBM PC □ IBM-XT □ IBM-AT □ Apple II □ Macintosh □ Other___ Signature_ (Signature required to validate membership) Copyright © 1984, PC NETWORK, INC. GAMES & EDUCATIONAL SOFTWARE (Please add SI shipping and handling for each title ordered from below.) Wholesale Wholesale Screenplay Asylum (works with mono card too) S 15.50* Sierra On-Line Frogger Sierra On-Line Crossfire Sublogic Night Mission Pinball Bluebush Chess (Your Toughest Opponent) S 34.00* Bluechip Miihonaire Oii Baron or Tycoon 34.00* Broderbund Lode Runner 19.75* CBS Goren-Bridge Made Easy 48.00* CBS Mastering the SAT 81.00* Epyx Temple of Apshai 21.97* Infocom Cork 1 or Witness 21.50* Infocom Deadline or Suspended 27.00* Microsoft Fh ght Simulator 27.00* Mouse Systems PC Paint - Turn your 59.95* PC into A Color Macintosh 1 Orion JBird (OBert Look Alike i 22.00* Scarborough Mastertype 27.00* Sublogic '. ght Mission Pm Spinnaker Alphabet Zoo Spinnaker Delta Drawing Spinnaker FaceMaker Spinnaker Hey Diddle Diddle Spinnaker KmderComp Spinnaker Fnyme s 4 Riddles Spinnaker Story Machine Spinnaker Most Amazing Thing Virtual Combinatics Micro Cookbook 21.00* 18.00* 24.00* 17.00* 29.00* 20.00* 17.00* 17.00* 17.00* 20.00* 23.00* 21.00* BUSINESS SOFTWARE (Please add S2.50 shipping snd handling for each title order from below.) $ 42.00* ■ ■ - - Lotus Development Symphony MIcroRim RBase 4000 Microsoft C Compiler Microsoft Word with Mouse—Latest Version Microsoft Multiplan Monogram Dollars & Sense Oasts The Word Plus _ Open Systems PQ Sales A/RINV G L A/P Team Mgr 370.00* ei ATI How to use Multimate ATI How to use Microsoft Word ATI How to use Lotus 1 ■2-3 42.00* ► Ashton-Tate DBase III 337.50* ► Ashton-Tate Framework 327.50* Ashton-Tate Friday! 158.00* Borland Side Kick (Protected) 33.95* Central Point Copy II PC 23.00* ► Conceptual Instruments Desk Organizer 157.00* Digital Research CPiM-8 6 33.00* Digital Research DP Logo 57.00* Digital Research Pi 7 Compiler 399.00* Digital Research Concurrent CP M— Windows 90.00* Funk Software Sideways 36.00* Harvard Harvard Protect Manager 215.00* Howardsoft Tax Preparer 1965 165.00* ► Hayes . New ;T* 68.00* Human Edge T ^e Management Edge 145.00* Human Edge Tie Sales Edge 145.00* Human Edge Mmd Prober 28.45* Lattice C Compiler 270.00* ► Lotus Development Lotus 1-2-3 269.00* HARDWARE (Please add shipping and handling charges found in italics next to price.) COMPLE ION CARDS Apple Macintosh Base S, Mem SI ,580.00* Apple Aopie nc 860.00* Apple Apple lie CALL Columbia Desktop & Portable Systems CALL Compaq All Models CALL Eagle Desktop PC and Spirit Portables Real World G/L A/P A/R P R or OEINV Rosesoft Prokey Version 3 Ryan McFarland RM COBOL (Dev System) Samna Samoa III Word Processor Satelite Software WordPerfect Softcraft Fancy Fonts Softstyle SE T-FX Software Publishing PFS File Software Publishing PFS Report Software Publishing P e S Write Software Publishing PFS Graph TCS Total Ledger Verbatim Desk Drive Analyzer ► Apparat 256K Memory Board with 64K **> Apparat Combo II wiser/par game clocklstwr Apparat AT Ram Expansion card CALL $230.00* 275.00* 255.00* 105.00- CALL 90.00* 387.50* 74.00* 570.00* 325.00* 225.00* 125.00* 35.00* 72.00* 64.00* 72.00* 72.00* 440.00* 25.00* (35 00) IBM PC/AT All Configs - Say no MBC 550 Lowest Cost Compatible CALL 620.00* 13 39) AST I/O _ AST Advantage tor AT ► ORCHID BLOSSOM W/64K Multifunction with networking at a > unbelievable pr>ce Up to 3ff4K;Ser Par Clock Software'Net Slut n Improved Ouadboard w/OK ir Captain Multifunction Card O/K 81.00* '1 75) 115.00* (2 48) 136.00* (2 507 229.00* (2 50) 105.00* (2 50) CALL (2 507 (2 507 Texas Instrumente Professional CALL DISK DRIVES & CONTROLLERS ► Coglto ' MB INTERNAL 1.2He.y ► MMI r 10MB Low Power Winchester Mounts Uke Half Height Drive Maxtor 140MB External Auto Booting Drive with Controller for PC Maxtor ? 40MB External Auto Booting Drive tor AT Maynard Floppy Disk Controller Maynard WS -1 WMB Internal Hard Disk with Sandstar Multi Function Card Maynard WS-2 same as WS 1 but with Sandstar Floppy Controller (uses 1 slot) Maynard Floppy Controller'Serial Port i Panasonic Halt Height DSDD Drive Pair ► Tandori Tallgrass 20MB External Hard Disk with Tape Backup Teac FD 55 -B Halt Height DSDD Drive Pair MEMORY CHIPS S 625.00* -3 507 665.00* 4 367 4.900.00* (106 007 4.600.00* (106 00) 92.00* (2 507 770.00* (18 1 57 PRINTERS Amdek 5025 (NEW) 25CPS LO wt2K Butter C. Itoh F10 40 Starwnter 40 CPS LO C. Itoh Prownter 8510 AP Comrex CR420 420 CPS DP LQ Printer From the Epson Organization ► Epson RX-80 ► Epson FX -80 ► Epson fX-100 + Epson 101500 Epson iBM-to-EPSON Parallel Cable NEC 2030 20CPS LO Parallel S 525.00* 10 487 875.00* 8 907 285.00* 6 16) 1.533.00* (33 127 26.91* 2.99* 22.00* 16.00* 180.00* All chips guaranteed tor life ► 64K Memory Upgrade Kits S ► 64K Dynamic Ram Chips ► 256K Dynamic Ram Chips ► 128K AT Mother Board Chips MODEMS Anchor Mark XII LOWEST PRICE 1200BPS t 230.00* HAYES COMPATIBLE EXTERNAL MODEM‘ Hayes Smartmodem 300 Rixon Ft212A Stand Alone 1200PBS U S. Robotics °assword (Compact 1200BPS External) MONITORS Amdek Video 300G Composite Green Amdek v deo 300A Composite Amber Amdek Video 310A IBM Type Amber Amdek Color 300 (NE W') Composite Amdek Color 500 (NEW 1 ) Composite RGB /VCR Amdek Color 600 (NEW) High Res RGB Amdek Color 700 (NEW'i Ultra High Res Amdek Color 710(NEW') 700w'Non Glare Long Phosphor Princeton HX-12 RGB Monitor Princeton '.MX 12IGB Mono Princeton 12 Ultra High Res RGB 930.00* (20 307 NEC 3530 33CPS LQ Parallel (2 507 NEC 8850 55 CPS LO New Model 225.00 (5407 IBM Version 200.00 »- Okidata ► Okidata','. <2P n/OCPS 80 '■ ■ Okidata iBM-to-Okidata Parallel Cable Qume Sprint 11 40 40CPS Letter Quality Qume Sprint 11 90 90CPS Letter Quality New 1 Fastest Daisywheel Out' Qume IBM Cable and Interface (required> ► Star Micronics ► Star Micronics ► Star Micronics • .■■■■',pe'3 CPS 140.00* 2.150.00* (46 44/ (5 29) 220.00* 370.00* 525.00- CALL 21.00* 625.00* 1,185.00* 1.650.00* 620.00* 350.00* 550.00* 1.640.00* 20.75* 1,155.00 CALL (4 757 (7 99) (1134) ( 100 ) (13 50) (3154) (35 647 (1 00 ) (24 00) 110.00* 120.00* 130.00* 215.00* 320.00* 395.00* 455.00* 485 00* (5 007 (3 607 (3 007 (3 007 (3 007 (4 64) (6 91 7 (8 537 (9 837 10 48) Taxan -JO Highest Res RGB 1720x400) Zenith ZVM-123 Green High Res Consumer Reports Rated Best Buy 1 ) 76.00* 72.00* (1007 325.00* (7 207 300.00* 16 481 Texas Instruments 855 DP LQ w Tractor 716.00* 115 50) Toshiba 3 1340 80 Co) Version of P-1351 696.00* (15 03) Toshiba P-1351 160 100 CPS Draft LQ 1.200.00* (25 92) LQ Printer VIDEO CARDS Hercules Color Card w Parallel Port $ 148.00* (3 207 ► Paradise - . M 255.00* Persyst Bob Card Ultra High Res Color 365.00’ (2 50) Card with Mono Quality Text in Color STB Graphix Plus II NEW 1 295.00* (2 50) (simultaneous Mono Graphics & Color) ACCESSORIES AND SUPPLIES ► Brand Name DSDD Diskettes S 16.00* D 00) 36.00* (2 507 PC Network Replacement 130 Watt IBM-PC 165.00* (3 567 Power Supply — Gives your PC (Old or New) the same capacity as an XT Good lor add m tape drives (without need tor a piggyback unit) and large capacity disk dnves SMA PC Documate Keyboard Templates lor 9.99* (1 00) Lotus DBASE Mulhmate and others (Each) WP Printer Paper 2600 Sheets 17.00* 'WOO) Microhne Perts (invisible when torn) ‘PC NETWORK Members pay just 8% above the wholesale price, plus shipping. All prices reifeci a 3S cash discount Minimum shipping S2 50 pier order /RENT BEFORE YOU BUY—Members are eligible to join The NETWORK s Business and Game Software Rental Libraries and evaluate products for a full 14 (Regular) or 28 (VIP) days to see if it meets your needs And The NETWORK s rental charges are far less than other software rental services—JUST 20% OF THE MEMBER WHOLESALE PRICE Hardware Drices hiahlited bv reflect recent major price reductions 204 B Y T E • FEBRUARY 1985 COMPLETE IBM™ PC SYSTEMS NETWORK $1,575.73* $2,000.73* (43.20) IBM PC STARTER SYSTEM IBM PC W/64K (256K capacity) $1,620.50* os.oo, Floppy Drive Controller 1 Double Sided Double Density 320/360 Disk Drive Hercules Color Card w/Parallel Port Zenith ZVM-123 Display Monitor The NETWORK has the perfect starter system for you! The combination of a double sided drive, color card and printer part allows you to run most any program and grow without need for replacing any component you buy now. IBM PC BASE SYSTEM IBM PC W/256K $1,575.73* 04.i6,, Floppy Drive Controller 2 Double Sided Double Density 320/360K Disk Drives The Base System is your lowest cost starting point for configuring the exact system of your choice. Combine it with any of the monitors, video cards, multifunction cards and accessories fisted in this ad, and prove the Network can’t be beat as your system source. IBM PC PROFESSIONAL HARD DISK SYSTEM (XT) $2,000.73* IBM PC W/256K Floppy Drive Controller 1 Double Sided Double Density 320/360K Disk Drive , w/Half Height Disk Subsystem. Half Height 10MB Drive Allows Room for Addition of Tape Backup in PC! 1V 2 times faster than XT Automatic Hard Disk Boot Feature. This system increases productivity in any business or professional situation. The 10Mb hard disk eliminates cumbersome floppy disk changes, simplifies operations and dramatically speeds program execution time. The NETWORK’S buying power provides you with better than XT performance at a price lower than you’d expect to pay for a standard PC. *PC Network Members pay just 8% above this wholesale price plus shipping. These prices have been prepared in December, 1984 and may have been changed with new product announcements. Call for latest prices. n LATEST ISSUE FEATURES! - ►64K MEMORY EXPANSION KITS $ 26.91* Set of 9 chips Guaranteed for Life. ►LOTUS 1-2-3.269.00* New Best Price! ►COGITO 10MB INTERNAL HARD DISK .625.00* Low Power Automatic Boot ►PANASONIC/SHUGART .per pair 225.00* V 2 Height DSDD Disk Drives with Mounting Kit ►STAR MICRONICS GEMINI 10X ... 225.00* 120 CPS Epson IBM Graphics Compatible w/Tractor TANDON TM 100*2 DRIVES . 140.00* ORCHID BLOSSOM/64K installed.205.00* New Price! Full Six-Pack Features with networking capability! AMDEK MONITORS V300G Composite Green .110.00* V300A Composite Amber.120.00* V310A IBM Amber . 130.00* HERCULES COLOR CARD w/Printer Port . 148.00* HAYES 1200B with new Smartcom 11/ VT100 Emulator . 366.90* NEC SPINWRITER 2050.625.00* 20 CPS-Letter Quality Printer BRAND NAME DISKETTES .16.00* DS/DD Box of 10 Guaranteed for Life Not Generic *NETWORK members pay just 8% above these wholesale prices plus shipping CALL TOLL FREE 1-800-621 -S-A-V-E ( memberships! m only " In Illinois call (312) 280-0002 validation code B325 ...WITH THESE 15 UNIQUE BENEFITS 1 COST + 8% PRICING —The NETWORK purchases mil¬ lions of dollars in merchandise each month. You benefit in receiving the lowest price available and all at just 8% above published dealer wholesale price. 2 OUR 500 PAGE WHOLESALE CATALOG —Members re¬ ceive our 500 page wholesale catalog containing over 20,000 hardware and software products for the IBM PC, APPLE and over 50 other popular computer systems. THE NETWORK’S CATA¬ LOG IS THE LARGEST SINGLE COMPILATION OF PERSONAL COMPUTER PRODUCTS AVAILABLE TODAY. NOW UPDATED QUARTERLY! 3 IN-STOCK INSURED FAST HOME DELIVERY —The NETWORK maintains a giant multi-million dollar inventory of most popular products, allowing us to ship many orders from stock. Non-stock items are typically maintained in local ware¬ houses just days away from The NETWORK and YOU. We pay all insurance expenses on your shipment. EMERGENCY OVER¬ NIGHT SERVICE IS AVAILABLE ON REQUEST. 4 10 DAY RETURN POLICY — If you are not satisfied, for any reason with any hardware component purchased from The NETWORK within 10 days of receipt, we will refund your entire purchase (less shipping) with no questions asked. 5 MEMBERSHIP SATISFACTION GUARANTEE— If for any reason you are not satisfied with your membership within 30 days, we will refund your dues IN FULL. 6 EXPERIENCED CONSULTANTS— The NETWORK hires consultants, not order takers, to aid you in product selection. Our consulting staff possesses in excess of 150 man years of per¬ sonal computer product experience. We back our consultants with our money back guarantee: IF ANY PRODUCT RECOM¬ MENDED BY OUR CONSULTING STAFF FAILS TO PERFORM AS PROMISED —WE WILL TAKE IT BACK AT OUR EXPENSE FOR A 100% REFUND. 7 FREE TECHNICAL SUPPORT— The NETWORK supports every product it sells. Our qualified TECH-SUPPORT staff will help you assemble your system, interpret vendor documentation and get your software and hardware to work. WE WILL GIVE YOU LTHEI ALL 1 : HELP YOU NEED, WHEN YOU NEED IT—FREE! + Q OPTIONAL BUSINESS RENTAL LIBRARY —All mem- O bers can join our BUSINESS RENTAL LIBRARY featuring over 1000 available titles for just $25 PER YEAR above the base membership fee. This entitles you to rent business software AT JUST 20% of the DISCOUNT PRICE FOR A 14 DAY PERIOD. If you decide to keep the software, the entire rental fee is de¬ ducted from the purchase price. VIP MEMBERS GET A FULL 28 DAYS for just $30 above the V.I.P. base fee. This also in¬ cludes the game library privileges for a $5 combination savings. tQ OPTIONAL GAME SOFTWARE RENTAL LIBRARY — The Game Rental library is available to members for just $10 PER YEAR and permits evaluation (or just enjoyment) of any game or educational software product as above. -I (\ SPECIAL SAVINGS BULLETINS —THE PRINTOUT I —Issued Quarterly at no charge to Network members only! The Printout contains all the New Product listings and price changes you need to keep your Catalog up to date. Also, we buy excess dealer inventories, and store bankruptcy closeouts, which we turn around and make available to our members at fantastic savings via THE PRINTOUT. A A DISCOUNT BOOK LIBRARY —Working with numerous I I publishers and distributors, The NETWORK has assembled a library of over 1000 computer related books and manuals at sav¬ ings of up to 75% from the normal store price. A Q MEMBERSHIP REFERRAL BONUS— Our most valu- I ^ able source of new members is you! To date almost 40% of our members have been referred by word of mouth from other sat¬ isfied members. For those of you who refer new members, The NETWORK will credit a cash bonus to your account applicable to any future purchase. A O CORPORATE ACCOUNT PROGRAM— Almost 50% of I O The NETWORK'S members are corporate buyers and users (see opposite page left). The NETWORK can establish open account status and assign designated account managers to ex¬ pedite orders, and coordinate multiple location shipments. U QUANTITY DISCOUNTS — For large corporations, clubs, and repeat or quantity buyers The NETWORK can extend additional single order discounts, when available to us from our manufacturers and distributors. A PRICE PROTECTION — The PC Industry is crazy!! Prices I ^ change not yearly or monthly or even weekly but often day by day! These changes are sometimes up but are mostly down!!! THE NETWORK GUARANTEES THAT IN THE EVENT OF A PRODUCT PRICE REDUCTION, BETWEEN THE TIME YOU PLACE YOUR ORDER AND THE TIME THE PRODUCT SHIPS YOU WILL ONLY PAY THE LOWER AMOUNT!! Inquiry 246 We apologize for our evasiveness. After our last advertisement, many of you felt compelled to contact us regarding the implication that The Shoebox Accountant is completely integrated on a single disk. Although we would like to confirm that a single disk holds general ledger, accounts receivable, accounts payable, and payroll modules, queuing files, and the powerful reporting capabilities for which CYMA Corporation is so well known, and offers the entire program for a mere $395, modesty prevents us from doing so. As ever, we prefer our same, subtle approach. Nice Box. Fully Integrated. The Shoebox Accountant:™ A complete accounting system for small business. 2160 East Brown Road, Mesa, Arizona 85203. 1-800-292-2962 CYMA McGRAW-HIll Inquiry 80 for Dealers. Inquiry 81 for End-Users. 206 BYTE • FEBRUARY 1985 SCIENCE FOURIER SMOOTHING WITHOUT THE FAST FOURIER TRANSFORM by Eric E. Aubanel and Keith B. Oldham An in-depth look at using the Fourier transform to remove noise from your data IN THE SCIENTIFIC AND BUSINESS communities, gather¬ ing and analyzing data are very important activities. Data is often collected as a set of values of some variable (e.g., sales in business or current in electrochemistry) against some independent variable, most often time, at evenly spaced intervals. The data is then analyzed for the presence of significant trends. Sometimes these trends are difficult to discern because of the presence of noise or other short-duration perturbations in the data. You can attenuate the noise either by performing replicate ex¬ periments and signal averaging or by smoothing the data. The second approach is probably the less satisfactory of the two; it is commonly adopted, however, because the alternatives are more costly or time-consuming. The three most common methods for smoothing data are moving-average, least-squares, and Fourier transfor¬ mation. In the moving-average method, each data point is replaced by the average of itself and n neighboring points on either side of it. The advantage of this method is that it is very easy to program. The disadvantages in¬ clude; the first and last n points are not smoothed to the same degree as the rest of the data set because they don't have n neighbors on each side of them; you must sample at a rate much faster than the fastest transient that you wish to study; and the method flattens the signal more than other smoothing methods. The least-squares method identifies the line of the order you specify that minimizes the sum of the squares of distances between the data points and the calculated line. The advantages of this method are that it will permit you to easily generate statistical information on the goodness of fit, and it does not require that the data be collected at regular intervals. The disadvantages of the method are that it assumes that you know the basic form of the equa¬ tion that the data satisfies, and the method is dispropor¬ tionately biased by one or two very bad data points because it will twist the line of fit to spread the error over the entire data set. Fourier transformation and inversion is probably the best method, since it lends itself naturally to identifying and eliminating noise. The reason for this is that noise is usual¬ ly present at high frequencies, whereas the signal proper is usually at low frequencies. Fourier transformation pro¬ duces the frequency spectrum. By eliminating the high- frequency portion of the spectrum and performing an in¬ verse Fourier transform, you can obtain the original data without much of the noise—the "smoothed" data. The primary disadvantage of this method is that the data points must be collected at regular time intervals. There are several reasons why Fourier smoothing is not practiced as often as other methods. Descriptions of Fourier transformation are often couched in unfamiliar jargon, though a few authors have succeeded in explain¬ ing Fourier transformation theory in simpler terms (see (i continued ) Eric E. Aubanel a fourth-year student at Trent University, is interested in applications of mathematics to chemistry. Keith B. Oldham, a pro¬ fessor of chemistry at Trent University, has taught and researched in England, California, Australia, and Canada. Both authors can be reached at Trent University, Peterborough, Ontario K9J 7B8, Canada. FEBRUARY 1985 • BYTE 207 FOURIER SMOOTHING references). A second reason is the common misconcep¬ tion that Fourier transformation and inversion are massive number-crunching operations that require large computers and cannot be implemented on the small personal com¬ puters that people are increasingly using for data collec¬ tion and processing. Further, the success of the "fast Fourier transform" has spawned the belief that it is the only practical algorithm for transformation and inversion. Before discussing the principles and operation of our BASIC subroutine for Fourier smoothing, let's look at the discrete Fourier transform, the removal of high frequen¬ cies, and the features of the fast Fourier transform. Our program does not execute fast Fourier transformation, though it does incorporate some of the same features. It is not especially fast when executed in a high-level pro¬ gramming language on a microcomputer, but it can achieve excellent smoothing in an acceptable length of time. Discrete Fourier Transformation A good explanation of the continuous and discrete trans¬ formations can be found in the article by Stanley and Peterson in the December 1978 issue of BYTE (reference 1). We will outline only some of the important features of the discrete Fourier transform. Performing a discrete Fourier transform on a sequence of real valued data x 0 , x,. x N _ ] produces two sets of real valued transforms: (1) O _L V (2rjk\ k - N 5 X, COS l N ) 6 = 0.1. N- 1 (2) - 1 N ~ 1 / 2 irik \ ' k = IT £ X/Sin ( N ) * = 0.1 . N- 1 To regenerate the real valued data from the transforms, the following operation is performed: f k 1 • rv • u ( ) E Figure 1: W hen the digital filter function is incorporated into the FT algorithm, it eliminates all frequencies corresponding to k > E from the discrete Fourier transform spectrum. Frequencies corresponding to k < E are gradually attenuated. (3) N- 1 L k-0 Rfc cos / 2 irk] \ ( N ) i = 0,1. N -1 The operation above is called Fourier inversion. The information content of the original data is trans¬ ferred, on Fourier transformation, into about the first half of the Rfc, Ifc numbers, i.e., those having 0 < k < ^ (if N is odd: 0 < k < f if N is even). The second half merely duplicates the first in magnitude: R N _ k = R k , l N _ k = -l k (see Stanley and Peterson for a good illustration of this). Removing High Frequencies The procedure for removing high frequencies can be rep¬ resented as a multiplication. ( 4 ) R k fk R k' 'k - fkfk by a function f k (the so-called digital filter function). The simplest filter function is a rectangle, which would cut off the transforms for k > E. Such a sudden cutoff can lead to a false accentuation of frequencies corresponding to transform points in the vicinity of E. To avoid this you can use a quadratic filter function, which results in a gradual attenuation (see figure 1). The filter function we have in¬ corporated into our algorithm is The smaller the value chosen for the integer E , the more denuded of high frequencies the subsequent invert will be: the closer E is to ^ (or to | if N is even), the less affected the regenerated signal will be. Because there is no purpose in calculating those values of R k and l k that duplicate others or that will be replaced by zeros, the equations for Fourier transformation and in¬ version can be abbreviated to the following equations: ( 6 ) 1 N- 1 *0 = N E xj i-0 1 ( 7 ) II *0 -1 + N N K = 1 1 , 2 , . . . .£-1 ( continued ) 208 BYTE • FEBRUARY 1985 ^ The drives come complete with ldir software, ldir’s commands are in English, eliminating the need to keys, ldir even explains commands with HELP screens that give you on¬ line advice when you need it. Qubie’ drives are made of spe¬ cial plated recording media They withstand the vibration and move¬ ment that has damaged hard disks in the past. In fact, Qubie’ drives have been selected by several computer makers for use in their portable computers. Good service starts with answer¬ ing your questions before and after you buy. It continues with same or next day shipment of your order. Since we only sell a few selected products, we have the information and inventory to help you fast. We perform repairs in our own service department within 48 hours, should you ever need service dining the one year warranty period. Our price is the whole price. All prices include UPS surface charges and insurance. In a hurry? Two day UPS air service is just $12. Corporations, dealers and insti¬ tutions, call for volume purchase price information. *Call for information. Order Today, Shipped Tomorrow! For fastest delivery, send cashiers check, money order, or order by credit card. Per¬ sonal checks, allow 18 days to clear. California residents, add 6% sales tax. Hours: Mon.-Fri 8:00 a.m.-6:00 p.m. PST Sat. 9:00 a.m.-1:00 p.m. PST (800) 821-4479 Toll Free Outside California (805) 987-9741 Inside California QUBIE 4809 Calle Alto Camarillo, CA 93010 London (01) 223-4569 Paris (01) 321-5316 Sydney (02) 579-3322 ©Qubie’ 1984 Using the same amount of power as a floppy drive, the Qubie’ hard disk uses less energy than other aftermarket drives. Internal 10 Meg $794 External 10 Meg $944 Why pay more for 10 or 20 Met, drives than you have to? Our 10 Meg internal hard disk subsystem is priced at $794, with the 20 Meg model going for $1088. Our exter¬ nal 10 Meg goes for $944, 20 Meg for $1238. Our drives are fully compatible with any IBM PC or PC-compatible with 64K RAM and PC-DOS 2.0 or later.* Qubie’ drives boot directly from the hard disk. You can power up the PC and load the system directly, without using any floppy disks. No software patches or driv¬ ers to install No Risk Guarantee If you are not completely satisfied with your purchase, you may return it within 30 days for a full refund, in¬ cluding the cost to send it back. If you can get any of our competitors to give you the same guarantee, buy both and return the one you don’t like. Inquiry 265 FOURIER SMOOTHING ( 8 ) _ 1 N- I '* - T 5 x i sin k = 1,2 . £-1 (9) X 0 = ^0 + 2 ^ ( 10 ) 2jrk[\ N ) j = 1, 2./V-l where x ; . is the high-frequency-stripped analog of x.. Note that £ 0 is now expressed separately from Rfc, as well as x 0 from x y and that / 0 = 0 because sin 0 = 0. The factor of two in equations 9 and 10 is present as a result of restricting E to be less than ^ and by taking advantage of the symmetries (R N _ k = R k , I N _ k = -I k ) already noted. Though we used the word "abbreviated" to describe equations 6 through 10, their implementation still requires a lot of computation. Approximately 20 NE multiplications or divisions and 4 NE cosine or sine evaluations are needed to implement these equations straightforwardly For example, if N =200 and £=20, about 16,000 trigonometric functions are needed, along with 80,000 multiplications. Some microcomputers take as long as 0.2 second to calculate a single trigonometric function and would spend almost an hour on this aspect of a Fourier program alone. Fast Fourier Transforms To meet the problem of the large number of multiplica¬ tions and other operations required to implement Fourier transformation and inversion straightforwardly, the fast Fourier transform (FFT) algorithm was invented. Books have been written on this topic, but here we can do no more than cite some of the features of the FFT The FFT has several advantages. (1) By using the prop¬ erties of the sine and cosine functions, the number of needed sines and cosines is drastically reduced. (2) Simi¬ larly, the number of multiplications is drastically reduced, these, in effect, being replaced by additions. (3) The same routine, virtually unchanged, can be used for Fourier trans¬ formation and inversion. (4) No storage space is needed beyond that required for the initial data; the transforms simply "overwrite" the original numbers. (5) The total pro¬ cessing time is massively reduced, especially when N is large. The disadvantages of the FFT algorithm, for our present Xj = Rq + 2 E-l L k -1 fk R k cos -fk'k sin purposes, are as follows. (1) To function efficiently, N is required to be a power of 2. (2) Even though far fewer are needed, the evaluation of sines and cosines may still be a bottleneck and therefore a memory-consuming "sine lookup table" must be incorporated into time-efficient FFT algorithms. (3) The algorithm is inherently "square," being designed to generate 2 N outputs from 2 N inputs; thus it cannot exploit the potential savings in the "rectangular" task of producing only E outputs from N inputs. (4) Because of the need to perform "bit inversions," program¬ ming in anything except machine language is not efficient. lb deal with situations in which the number of input data cannot be conveniently made a power of 2, the technique of "zero-filling" is often used. This inflates the number of points to be processed from N to the next higher power of 2—for example, from 200 to 2 56—with a consequen¬ tial increase in storage and time requirements but without any benefit to our present task. On the contrary, because it may introduce a sharp discontinuity (see examples), zero-filling hinders smoothing. For data-smoothing purposes, the disadvantages of the FFT often outweigh its advantages. This was the conclu¬ sion we reached after we had implemented a smoothing procedure that relied on a standard FFT routine. We there¬ fore designed the algorithm that is the subject of this ar¬ ticle. This new algorithm is not an FFT. It shares with the FFT the first two advantages cited above but does not share any of the disadvantages. Principles of the Algorithm Notice that equations 7, 8, and 10 are all of the form (ID G = M + V m sin when G, m, U m . V m , M. and l are appropriately interpreted. To evaluate expression 11 our algorithm uses the follow¬ ing principle: The sum is split into odd-m and even-m terms, ( 12 ) G = + M or M- 1 L Uyy, COS m-1.3 m ( 2i r(m+ 1)1 2nrl N N + V m sin ) / 27r(m+ 1)1 27r/ \ y n - n J M or M- 1 £ U m cos (^) + V m sin and the arguments of the trigonometric terms are modified in the odd-m moiety. Next, addition formulas are used to expand the modified functions and the m is then replaced by 2m- 1 in the first summation and by 2m in the second. After collection of terms, this leads to ( continued ) 210 BYTE • FEBRUARY 1985 MICRO CAP and MICRO LOGIC fv\y OWN WORKST4T10/4 How many long unproductive hours have you spent “in line” for your simula¬ tion? Well, no more. MICROCAP and MICROLOGIC can put you on line by turning your PC into a productive and cost-effective engineering workstation. Both of these sophisticated engineering t(X)ls provide you with quick and efficient solutions to your simulation problems. And here’s how. MICROCAP: Your Analog Solution MICROCAP is an interactive analog circuit drawing and simulation system. It allows you to sketch a circuit diagram right on the CRT screen, then run an AC, DC, or Transient analysis. While pro¬ viding you with libraries for defined models of bipolar and MOS devices, Opamps, transformers, diodes, and much more, MICROCAP also includes features not even found in SPICE. MICROCAP II lets you be even more productive. As an advanced version, it employs sparse matrix techniques for faster simulation speed and larger net- “Typical MICROCAP Transient Analysis” works. In addition, you get even more advanced device models, worst case capa¬ bilities, temperature stepping, Fourier analysis, and macro capability. MICROLOGIC: Your Digital Solution MICROLOGIC provides you with a similar interactive drawing and analysis environment for digital work. Using standard PC hardware, you can create logic diagrams of up to 9 pages with each containing up to 200 gates. The system automatically creates the netlist required for a timing simulation and will handle networks of up to 1800 gates. It provides you with libraries for 36 user-defined basic gate types, 36 data channels of 256 bits each, 10 user-defined clock wave¬ forms, and up to 50 macros in each net¬ work. MICROLOGIC produces high-resolution timing diagrams showing selected waveforms and associated delays, glitches, and spikes—just like the real thing. "Typical MICROLOGIC Diagram ” Reviewers Love These Solutions Regarding MICROCAP ... “A highly recommended analog design program” (PC Tech Journal 3/84). “A valuable tool for circuit designers” (Personal Software Magazine 11/83). Regarding MICROLOGIC ... “An effi cient design system that does what it is supposed to do at a reasonable price” (Byte 4/84). MICROCAP and MICROLOGIC arc available for the Apple II (64k), IBM PC ( 128k), and HP-150 computers and priced at $475 and $450 respectively. Demo versions are available for $75. MICROCAP 11 is available for the Macintosh, IBM PC (256k), and HP 150 systems and is priced at $895. Demo versions are available for $100. Demo prices are credited to the purchase price of the actual system. Now, to get on line, call or write today! Spectrum Software B 1021 S. Wolfe Road, Dept. B Sunnyvale, CA 94087 (408) 738-4387 Inquiry 295 FOURIER SMOOTHING Listing 1: The Microsoft BASIC version of the Fourier- smoothing algorithm. 4 ’• FOURIER SMOOTHING WITHOUT THE FAST FOURIER TRANSFORM PROGRAM 6 ’* By Eric E. Aubanel and Keith B. Oldham 10 CLS 12 INPUT “ENTER NUMBER OF DATA POINTS’’;N 14 REM LEAVING R AND I ARRAYS UNDIMENSIONED LIMITS VALID VALUES OF E TO < = 10 16 N2 = INT((N + 1)/2 + 1):DIM X(N),X1(N),U(N2),V(N2) 18 FOR 1 = 0 TO N-1 20 INPUT “ENTER DATAPOINT VALUE“;X(I) 22 LPRINT "X(“;l;”) = ”;X(I) 24 NEXT I 26 GOSUB 60 28 LPRINT “WHEN E = ";E;" THE SMOOTHED DATA VALUES ARE:” 30 FOR 1 = 0 TO N-1 32 LPRINT “X(“;l;”) = ”;X1(I) 34 NEXT I 36 INPUT “IF YOU WANT TO TRY A DIFFERENT E, ENTER 1 ELSE ENTER 0“;MORE 38 IF MORE = 1 THEN GOSUB 60 ELSE IF MORE< >0 THEN 36 ELSE 42 40 GOTO 28 42 END 44 REM FOURIER ALGORITHM SUBROUTINE BEGINS AT LINE 60. LINE NUMBERS ARE THE SAME AS FOR THE HP VERSION OF THE SUBROUTINE 60 PI = 3.141593 70 PRINT “NUMBER OF TRANSFORM POINTS TO BE KEPT”; 80 INPUT E 90 IF E>INT((N +1)/2) THEN PRINT “E TOO LARGE" :GOTO 70 100 IF E< >INT(E) OR E< =1 THEN GOTO 70 110 IF E< =Q THEN 870 120 REM 130 IF Q< >0 THEN 330 240 ’CALCULATE R(0) 250 G = 0 260 FOR J = 0 TO N - 1 280 G = G + X(J) 290 NEXT J 300 R(0) = G/N 310 Q = 1 320 REM 330 PRINT “WORKING ON R(K) TRANSFORM CALCULATIONS" 340 J2 = INT((N - 1)/2) 350 PI = INT(LOG(2*J2-1)/LOG(2)) 360 FOR K = Q TO E - 1 370 J1=J2 380 S = PI*K*2/N 390 C = COS(S):S = SIN(S) 400 FOR J = 1 TO J1 410 L = 2*J - 1 420 U(J) = X(L)*C + X(L + 1) 430 V(J) = X(L)*S 440 NEXT J 450 S = 2*S*C:C = 2*C*C-1 460 FOR P = 1 TO PI ^ 470 U(J1 +1) = 0:V(J1 +1) = 0 480 J1 =INT((J1 + 1)/2) 490 FOR J = 1 TO J1 500 L = 2*J -1 510 U = U(L)*C-V(L)*S + U(L + 1) 520 V(J) = U(L)*S +V(L)*C +V(L + 1) 530 U(J) = U 540 NEXT J 550 S = 2*S*C:C = 2*C*C-1 560 NEXT P 570 R(K) = (X(0) + (U( 1 )* C + V(1) * S))/N 580 NEXT K 590 REM 600 PRINT “WORKING ON l(K) TRANSFORM CALCULATIONS" 610 FOR K = Q TO E-1 620 J1 = J2 630 S = 2*PI *K/N 640 C = COS(S):S = SIN(S) 650 FOR J = 1 TO J1 660 L = 2*J - 1 670 U(J)= - (X(L)*S) 680 V(J) = X(L) * C + X(L + 1) 690 NEXT J 700 S = 2*S*C:C = 2*C*C -1 710 FOR P = 1 TO PI 720 U(J1 +1) = 0:V(J1 +1) = 0 730 J1 = INT((J1 + 1)/2) 740 FOR J = 1 TO J1 750 L = 2* J - 1 760 U = U(L) *C - V(L)*S + U(L + 1) 770 V(J) = U(L)*S + V(L)*C + V(L + 1) 780 U(J) = U 790 NEXT J 800 S = 2*S*C:C = 2*C*C -1 810 NEXT P 820 l(K) = - ((U(1)*C + V(1)*S)/N) 830 NEXT K 840 REM 850 IF E>Q THEN Q = E 860 REM 870 PRINT "WORKING ON INVERSE TRANSFORM- 880 REM 890 ’CALCULATE X1(0) 900 FI = 0:F2 = 0 910 ii CO O LL 4 TOE-1 920 T = R(K) 930 FI. = FI + T 940 F2 = F2 + K*K*T 950 NEXT K 960 X1 (0) = R(0) + 2 * (F1 - F2 * (1 /E/E)) 980 REM 990 PI = INT(LOG(2*E - 3)/LOG(2)) 1000 FOR J = 1 TO N - 1 1010 T2 = E*E 1020 FOR K = 1 TO E - 1 1030 F = 1 - K*K/T2 1040 U(K) = R(K) * F:V(K) = 1050 NEXT K 1060 K1 = E - 1 1070 S = 2*PI*J/N ( continued ) 212 BYTE • FEBRUARY 1985 Our multi-mode printers accelerate from 100 cps to 480 cps and have an impressive finish everytime. Speed and quality have never been as successfully combined. Professionals who want only the best will also appreciate: Their versatility. Wide range of attractive characters sets in 16 national versions, as well as math symbols, bar codes and teletex. Dual ports, parallel (CENTRONICS™/ EPSON™ compatible) and serial (RS-232C/RS-422) interfaces. DIABLO™ 630 emulation optional. Their resolution. Finest print quality available on matrix printers. So good you can even print signatures. Bit mapping graphics in single and double density modes, 6 dots densities in each mode. A circle on the screen means a circle on the paper too! Their quality. Swiss high quality construction. Quality that lasts - thanks to their exclusive «moving-ruby» head. Their multicolored printing. Text and graphics printing in 8 colors on both models 615 and PC-Printer 2. HERMES The impressive printers Made by HERMES PRECISA INTERNATIONAL. CH-1401 Yverdon. Switzerland HERMES printers are distributed in Austria. Canada. Cyprus. Finland. France. Greece. Jordan. Kuwait. Lebanon, Saudi Arabia, South Africa, Spain. Sweden. Switzerland. United Kingdom. USA. West Germany. In the Grand Pnx of office automation, HERMES multi-mode printers always come in first. Both 400/480 cps data and 100/120 cps single pass near letter quality are possible with the same print-head. To receive a sample of the finest quality matrix print-out and additional information on the HERMES printers, please return the coupon below. 4 Please send me more documentation about your HERMES printers. Name Title Company Street City State _ Zip Phone( ) Send to: HERMES PRODUCTS, Inc. - Printer Division 1900 Lower Road, LINDEN, NJ 07036, (201) 574 0300 Inquiry 136 FEBRUARY 1985 • BYTE 213 FOURIER SMOOTHING 1080 C = COS(S):S = SIN(S) 1090 FOR P = 1 TO PI 1100 U(K1 +1) = 0:V(K1 + 1) = 0 1110 K1 = INT((K1 + 1)/2) 1120 FOR K = 1 TO K1 1130 L = 2*K - 1 1140 U as U(L)*C - V(L)*S + U(L + 1) 1150 V(K) = U(L) * S + V(L) * C + V(L + 1) 1160 U(K) = U 1170 NEXT K 1180 S = 2*S*C:C = 2*C*C - 1 1190 NEXT P 1200 X1(J) = R(0) + 2*(U(1)*C + V(1)*S) 1220 NEXT J 1230 RETURN Listing 2: The straight-line procedure for eliminating the "end effect " can be MERGED with listing 1 without modification. Note that this listing is not a stand-alone program. 140 ’STRAIGHT LINE CALCULATION 150 SI = 0:S2 = 0 160 D = INT(N/10) 170 FOR J = 0 TO D - 1 180 S1=S1+X(J) 190 S2 = S2 + X(N - J - 1) 200 NEXT J 210 XI = S1/D:X2 = S2/D 220 M = (X2 - XI )/(N - D) 230 B = (X1 +X2)/2-M*N/2 270 X(J) = X(J) - M*J - B 970 XI (0) = X1(0) + B 1210 XI (J) = XI (J) + M * J + B (13) lntM±i 0- J, \u 2 m-\‘ ~ ^2m-l* + ^2m] cos (^f) + [ u 2m-\ s + v 2m-\ c + where c and s are abbreviations for cos (27 rl/N) and sin (27 t//A/), respectively. If M is odd, equation 13 calls for the values of U M+l and V M+1 , which were not present in equation 11 ; these terms are to be interpreted as zero. A comparison of equations 11 and 13 shows that, at the expense of having to evaluate two new coefficients, we have condensed the number of summed terms by a fac¬ tor of (almost or exactly, according to the parity of M) 2. A careful analysis shows that if such a condensa¬ tion procedure is repeated P times, where P = Int{log 2 (2M-1)}, then a single (m=l) term c = 1 | newest U coefficient J | cosj ( 2P ;'") + 1 newest V coefficient sin 1 1 l J l N ) remains, from which G is easily calculable. By adopting this P-fold condensation procedure, we have reduced the number of sines and cosines that each need to be evaluated from M to P+ 1, or from 198 to 9. for ex¬ ample. In fact, you can get away with evaluating only one sine and one cosine, since the arguments involved (27 rl/N, 47 rl/N, 87 rl/N . 2 P+1 7 zllN) form a sequence in which each is double the previous argument, allowing the duplication formulas sin 20 = 2sin6cos6 and cos 2 6 = 2cos 2 0 - 1 to be used with advantage. It must be em¬ phasized that our algorithm is for Fourier smoothing alone. Operation of the Algorithm I Editor’s note: The listings reprinted here are Microsoft versions of the authors’ HP programs. The HP listings are available on the FROMBYTE file area of BYTE net Listings. (603) 924-9820. under the names FT. BAS and FTEXT.BAS.| The data to be smoothed is entered into array X(J), I = 0 to N- 1. where N is the number of points. The number of iterations of the condensation procedure, O. is initial¬ ized to zero. Lines 140 through 230, 270, 970, and 1210 have been omitted from the subroutine listing. These lines can be filled with a straight-line modification of the data, which we will discuss in the next section. The degree of smoothing, E, must be an integer greater than 1 and less than N/2 (half the total number of points). The first transform calculated is R 0 . followed by the evalua¬ tion of R* and I* for k = O to E- 1 (see below). Then the first inverse transformed point lc 0 is calculated, using the quadratic filter function and R k . Finally, the rest of the inverse transforms x,, for j = 1 to N- 1, are calculated using R kl I k and the quadratic filter function. These inverse transforms consist of the smoothed data and are stored in array X\(f), I = 0 to N-\. After one pass through the subroutine, you may want to select a different degree of smoothing. To do so. you execute the subroutine again. Since many of the trans¬ forms will have been calculated previously (the number currently existing is O). this second execution of the sub¬ routine will require fewer transform calculations (or none if greater smoothing—i.e., a smaller E—is chosen). Examples Let’s take a look at three types of applications of our al¬ gorithm: on scientific data, meteorological data, and an¬ nual agricultural statistics. Our first example concerns electrochemical data ac¬ quired in this laboratory during studies of very low con- ( continued ) 214 BYTE • FEBRUARY 1985 Gilford’s Multiuser Concurrent DOS. The net that works! Gifford has the network solution. It’s simple, fast, secure, complete, and it works. Multiuser Concurrent DOS is based on Digital Research’s Concurrent DOS, the only major microcomputer operating system specifically designed for networking. Users can share disks and printers transparently, and can also take advantage of true mul tiuser features like file and record lockout. And Gifford has added a bundle of features that makes Multiuser Concurrent DOS easy to install and use. It lets you get right to work. Our net is ARCNET7 / ^ Multiuser Concurrent DOS utilizes Datapoint’s ARCNET, the most popu¬ lar network hardware in the industry. It’s reliable, economical, and fast — you can add users without overload¬ ing the network. You can net¬ work up to 255 single and multi¬ user systems. You can connect single or multiuser Gifford or CompuPro K systems as well as IBM PC-XTs* Dual processor Gifford and CompuPro systems can run thousands of 8 or 16 bit CP/M or MP/M applications. PC-XTs can run 16 bit CP/M and MP/M programs as well as most popular MS-DOS applications, such as Lotus 1-2-3.™ Gifford adds to your net worth. Our enhancements of Concurrent DOS make it possible to get more and better work done in less time. Network¬ wide features include electronic mail, event calendar, inter-terminal communication, user time accounting and usage report generation, telecommunications^ user expandable HELP facility, reminder messages, message of the day, automatic startup and shut¬ down procedures, and easily prepared files for initializing terminals, printers and network nodes. Gifford’s Virtual Terminals™ increase productivity by offering full¬ screen concurrency; you can run up to four programs simultaneously from one physical terminal. The safety net. Multiple users can mean multiple security problems. Gifford’s security en¬ hancements x include login account names and encrypted passwords to control access to the system. Users can be further restricted to specified ^^ ^Terminals. user areas, pro¬ grams, or nodes on the ^network. You’re also safe from excessive down time, since the modular net¬ work architec¬ ture gives you immunity from single WL point failure. Gifford nets a big one: Simplicity. If you’ve gone through the ordeal of typing as many as seven commands just to get on and off a network, Gifford has your number. A single, menu- driven network command handles all your network options. Everything you need is right in front of you. The net effect is simplicity — and sanity. If you’d like to see how Gifford’s Multiuser Concurrent DOS can solve your networking problems, or if you’d like to know about Gifford’s selection of multiuser systems and software options, call (415) 895-0798. Or write us at the address below. We’ll send you a free networking brochure and give you the name of the nearest dealer. Multiuser Concurrent DOS is a trademark of Gifford Computer Systems. Concurrent DOS is a trademark of Digital Research, Inc. ARCNET is a trademark of Datapoint Corporation. IBM PC-XT is a registered trademark of IBM Corporation. CompuPro is a registered trademark of CompuPro Corporation. Lotus 1-2-3 is a trademark of Lotus Development Corp. Virtual Terminals is a trademark of Gifford Computer Systems. COMPUTER SYSTEMS A subsidiary of Zitel Corporation 2446 Verna Court San Leandro, CA 94577 (415) 895-0798 TELEX: 704521 Houston. TX (713) 680-1944 Inquiry 121 FEBRUARY 1985 • BYT E 215 FOURIER SMOOTHING centrations of heavy metal in water. Because the signal is so small, it is contaminated with noise (see figure 2). Fourier smoothing the data eliminates the noise, leaving the signal proper. This illustrates the virtue of Fourier smoothing experimental data acquired electronically, since it can eliminate the high-frequency noise originating from the instrumentation. The peak height, which is propor¬ tional to the metal concentration, can be quantified easi¬ ly from the smoothed curve. Choosing the right degree of smoothing, by varying £, is a matter of trial and error. The effects of undersmooth¬ ing and oversmoothing are illustrated in figure 2. We ob¬ tained the best smoothing when 3 < E < 9. Consider a graph of daily maximum temperature readings for the period of lanuary 1982 to (une 1983. shown in figure 3. There is a clear seasonal variation, but there is also a great deal of scatter. This scatter is caused Figure 2: Ah example of Fourier smoothing scientific data. The data represents a derivative neopolarogram at a static-mercury- drop electrode. The black line, showing proper smoothing, was ob¬ tained by N = 72, E = 8. In the red line, showing under¬ smoothing. E = 20. In the oversmoothed blue line E = 4. by short-term variations in the temperature due to chang¬ ing weather conditions. To better examine the underlying seasonal variations, it would help to eliminate the short- duration fluctuations of temperature. A direct application of Fourier smoothing, however, produces the red line shown in figure 3, which is obviously not satisfactory. The smoothed curve does not match the data at the ends. The cause of this "end effect" is that some high frequencies not due to noise were eliminated in the smoothing pro¬ cess. The "genuine" high frequencies come from the discontinuity between the beginning and the end of the data. The discrete Fourier transform treats the data as periodic; that is, it assumes that the last points are fol¬ lowed by replicas of the initial points (see figure 4a). Thus the transform "perceives" a sudden jump between the end of one period and the beginning of the next. Sudden ( continued ) Figure 3: Daily maximum temperatures at the Peterborough, Ontario, weather station from January 1982 through June 1983. The red line (N = 546, E = 9) provides an example of false smoothing due to an "end effect." To correct for this effect, subtract a straight line (black) joining the ends of the un¬ smoothed data. The resulting ''normalized" smoothing is shown by the blue line (E = 7). (a) * * * 0 * . •' •. . * * *. (b) ■ . * * * * * * * * Figure 4: An explanation of the "end effect," which results from the discrete Fourier transform treating the data as periodic (a). The sudden jumps between one period and the next produce "genuine" high frequencies (not associated with noise ) in the transform spectrum. To eliminate the "end effect" subtract a straight line joining the ends from the data. The result of this operation is shown in (b). Notice that now the data begins and ends at the same ordinate value, which means that there are no sudden discontinuities from the transform's point of view. 216 BYTE • FEBRUARY 1985 THE LARGEST CAPACITY DISK EMULATOR YOU HAVE EVER SEEN. So remember this: SemiDisk Systems has been building dedicated microcomputer disk emulators longer than anyone. And larger. And faster. And at a much lower cost. And that’s not a lot of You know about disk emulators. They’re fast semiconductor disk drives. Very fast. But until now, the most disk storage you could get on a single board was 1Mbyte. (That was from us, too.) Now we have news that’ll really blow your socks off... 2 Megabytes on a single board. Available NOW! That’s not a pie-in-the-sky promise. That’s enough storage for dozens of large programs and lundreds of kilobytes of data files. Enough for almost anything ou want to do with a disk drive. But that’s not all. With SemiSpool, ur CP/M print spooler, you can implement a print buffer undreds of kilobytes long in seconds. All in software. At no extra }St. Another thing about disk emulators. Unless they’re from miDisk Systems, they’re probably afraid of the dark: Lose power turn the computer off, and your valuable data goes to that big ckup disk in the sky. But our Battery Backup Units keep miDisk data flying high while your computer is off, and up to 10 urs during a complete blackout. hot air. AT A PRICE YOU NEVER THOUGHT YOU’D SEE 512K 1Mbyte 2Mbyte SemiDisk I, $-100 1995 11795 SemiDisk H,S-100 11295 12095 *2549 IBM PC, XT, AT 1945 11795 *2499 QX10.QX-16 1799 *2499 TRS-8011,12,16 1995 11795 *2499 Battery Backup Unit 1150 SemiDisk Systems, Inc. P.O. Box GG, Beaverton, Oregon 97075 503-642-3100 wm . Call 503-646-5510 for CBBS/NW. 503-775-4838 for CBBS/PCS, and 503 649-8327 for CBBS/Aloha, all SemiDisk-equipped computer bulletin Inquiry 278 boards (300/1200 baud) SemiDisk, SemiSpool trademarks of SemiDisk Systems. CP/M trademark of Digital Research FOURIER SMOOTHING jumps correspond to high frequencies, which in turn result in more high frequencies in the transform spectrum. The solution to the problem of retaining genuine high frequencies from transformed data is to subtract a straight line joining the beginning and the end of the unsmoothed data. Initially we thought of subtracting a line joining the first and last points. However, since the unsmoothed data contains a lot of scatter, the straight line joining the end points would not necessarily match the beginning and end of the trend. We dealt with this problem by taking the first and last 10 percent of points, averaging each set, and join¬ ing the two resulting points. The procedure consists of sub¬ tracting the line from the unsmoothed data, smoothing the modified data, then adding the line on to the smoothed data. As mentioned before, the effect of sub¬ tracting the line is to eliminate end discontinuities (figure 4b). To include this procedure in the smoothing subroutine, you should merge the program steps shown in listing 2 with listing 1. The result of treating the data in figure 3 with a straight line is shown as a blue line, which produces a much bet¬ ter fit. Note that a greater degree of smoothing is used here than in the "unnormalized" (red) line. Since we have now eliminated most "genuine" high frequencies, we can filter out more high frequencies. Historical statistics can be found on such varied sub¬ jects as wheat production and the number of hospital beds. In many cases there is an upward trend, due to the increasing population and increasing costs. To examine a trend over a long period of time, you may want to smooth the data. Our third case concerns wheat production in Canada from 1906 to 1974 (see figure 5). Here there is a great deal of noise, which makes it difficult to draw a definitive trend "by eye." The Fourier-smoothed curve shows an up¬ ward trend, as expected, but not in a straight line. This is important, because a straight-line fit might be an over¬ simplification for a particular analysis. There are other, more subtle sources of high frequen¬ cies that will not be discussed but should be mentioned. Figure 5: Unsmoothed (dots) and smoothed (line) statistical data on wheat production in Canada from 1906 through 1974. The large amount of scatter makes it difficult to draw a straight curve through the data. Fourier smoothing accomplishes this quite well, given an appropriate choice of the degree of smoothing. Smoothing parameters: N = 69. E « 3. Sudden discontinuities other than the end type may oc¬ cur in the data, and these may be treated by subtracting several straight lines where appropriate. You can also han¬ dle this problem by smoothing the continuous segments separately instead of treating the data as a whole. Another source of high frequencies is a sudden change in slope, which is more difficult to correct. Here it is necessary to subtract an appropriate curve that matches the portion of the data that changes slope abruptly. ■ REFERENCES 1. Stanley W. D.. and S. J. Peterson. "Fast Fourier Transforms on Your Home Computer." BYTE, December 1978, page 14. 2. Zimmermann. M. "A Beginner's Guide to Spectral Analysis," parts 1 and 2. BYTE. February 1981. page 68. and March 1981, page 166. 3. Lord. R. H. "Fast Fourier for the 6800." BYTE, February 1979. page 108. >»e$2395 DEVELOPMENT SYSTEM Turns any personal computer Into a complete micro¬ computer DEVELOPMENT SYSTEM. Our integrated control/display program runs under MS-DOS, CP/M, ISIS, or Apple and controls the UDL via an RS-232 port. ORION Universal Development Laboratory Instrument* EPROM ^EEPROM PROGRAMMER 148 CHANNEL BUS STATE ANALYZER ’6 BIT IN C RCUlT EMULATOR Up to 128K bytes of EMULATION ROM (8K standard) allows you to make pro¬ gram patches instantly. Since the target ROM socket connects data and address lines to both the analyzer and the emula¬ tor, no expensive adaptors or personality modules are needed. The powerful BUS STATE ANALYZER features four-step sequential triggering, selective trace, and pass and delay counters. Symbolic trace disassemblers and debuggers are available for Z-80, 8048, 6500, 6800, 8031,8085, Z-8, 1802, 8088/80188, 8086/80186, R65 and 68000. PROM PROGRAMMER also doubles as a STIMULUS GENERATOR. For further information, call or write: ORION 172 Otis Ave., Woodside, CA 94062 Instruments + (415) 851-1172 218 BYTE • FEBRUARY 1985 Inquiry 240 Would you hire an entire band when all you need is one instrument? Of course not. So why use a whole orchestra of computers when all you need is one to develop software for virtually any type of micro-processor? The secret? Avocet’s family of cross-assemblers. With Avocet cross-assemblers you can develop software for practically every kind of processor — without having to switch to another development system along the way! Cross-Assemblers to Beat the Band! Avocet Cross-assembler Target Microprocessor CP/M-80 CP/M-86 IBM PC, MSDOS** XASM04 NEW 6804 $250.00 $ 250.00 XASM05 6805 200.00 250.00 XASM09 6809 200.00 250.00 XASM18 1802/1805 200.00 250.00 XASM48 8048/8041 200.00 250.00 XASM51 8051 200.00 250.00 XASM65 6502/65C02 200.00 250.00 XASM68 6800/01, 6301 200.00 250.00 XASM75 NEC 7500 500.00 500.00 XASM85 8085 250.00 250.00 XASM400 COP400 300.00 300.00 XASMF8 F8/3870 300.00 300.00 XASMZ8 Z8 200.00 250.00 XASMZ80 Z80 250.00 250.00 XMAC682 NEW 68200 595.00 595.00 XMAC68K NEW 68000/68010 595.00 595.00 Development Tools That Work Avocet cross-assemblers are fast, reliable and user-proven in over 4 years of actual use. Ask NASA, IBM, Xerox or the hundreds of other organizations that use them. Every time you see a new micro¬ processor-based product, there’s a good chance it was developed with Avocet cross-assemblers. Avocet cross-assemblers are easy to use. They run on almost any personal com¬ puter and process assembly language for the most popular microprocessor families. Your Computer Can Be A Complete Development System Avocet has the tools you need to enter and assemble your soft-ware and finally cast it in EPROM: VEDIT Text Editor makes source code entry a snap. Full-screen editing plus a TECO-like command mode for advanced tasks. Easy installation - INSTALL pro¬ gram supports over 40 terminals and personal computers. Customizable keyboard layout. CP/M-80,CP/M-86, MSDOS, PCDOS.$150 EPROM Programmers let you pro gram, verify, compare, read, display EPROMS but cost less because they communicate through your personal computer or terminal. No personality modules! On-board intelligence provides menu-based setup for 34 different EPROMS, EEPROMS and MPUs (40-pin devices require socket adaptors). Self- contained unit with internal power supply, RS-232 interface, Textool ZIF socket. Driver software (sold separately) gives you access to all programmer features through your computer, lets you down¬ load cross-assembler output files, copy EPROM to disk. Model 7228 Advanced Programmer — Supports all PROM types listed. Super¬ fast “adaptive” programming algorithm programs 2764 in 1.1 minutes. Model 7128 Standard Programmer — Lower-cost version of 7228. Supports all PROM types except “A” versions of 2764 and 27128. Standard programming algo¬ rithm programs 2764 in 6.8 minutes. Model 7956 and 7956-SA Gang Pro¬ grammers — Similar features to 7228. but program as many as 8 EPROMS at once. 7956-SA stand-alone version copies from a master EPROM. 7956 lab version has all features of stand-alone plus RS- 232 interface. EPROM: 2758, 2716, 2732, 2732A, 2764, 2764A, 27128,27128A, 27256,2508,2516,2532,2564,68764, 68766, 5133, 5143. CMOS: 27C16, 27C32, 27C64, MC6716. EEPROM: 5213, X2816A, 48016,12816A, 5213H. MPU (w/adaptor): 8748, 8748H, 8749, 8749H, 8741, 8742, 8751, 8755. 7228 Advanced Programmer $ 549 7128 Standard Programmer 429 7956 Laboratory Gang Programmer 1099 7956-SA Stand-Alone Gang Programmer 879 GDX Driver Software 95 481 8748 Family Socket Adaptor 98 511 8751 Socket Adaptor 174 755 8755 Socket Adaptor 135 CABLE RS-232 Cable (specify gender) 30 HEXTRAN Universal HEX File Con¬ verter — Convert assembler output to other formats for downloading to de¬ velopment systems and target boards. Also useful for examining object file, changing load addresses, extracting parts of files. Converts to and from Intel, Motorola, MOS, RCA, Fairchild, Tek¬ tronix, TI, Binary and HEX/ASCII Dump formats. For CP/M, CP/M-86, MSDOS, PCDOS.$250 Ask about UNIX. 68000 CROSS-ASSEMBLER - With exhaustive field testing completed, our 68000 assembler is available for imme¬ diate shipment. XMAC68K supports Motorola standard assembly language for the 68000 and 68010. Macros, cross- reference, structured assembly statements, instruction optimization and more. Linker and librarian included. Comprehensive, well-written manual. To find out more, call us toll-free. 1 - 800 - 448-8500 (in the U S. Except Alaska and Hawaii) VISA and Mastercard accepted. All popular disi formats now available please specify. Prices do noi include shipping and handling call for exact quotes. OEM INQUIRIES INVITED ‘Trademark of Digital Research “Trademark of Microsoft AVOCET JT SYSTEMS INC? v_I_ y Sales and Development: 10 Summer Street P.O. Box 490. Dept. 285-B Rockport, Maine 04856 (207) 236-9055 Telex: 467210 AVOCET Cl Corporate Offices: 804 South State Street Dover, Delaware 19901 Inquiry 27 FEBRUARY 1985 • BYTE 219 220 B Y T E • FEBRUARY 1985 Inquiry 161 Commodore Accessories ProModem 1200 and Options Apple Accessories RS232 ADAPTER FOR VIC-20 AND COMMODORE 64 The JE232CM allows connection of standard serial RS232 printers, modems, etc. to your VIC-20 and C-64. A 4-pole switch allows the inversion of the 4 control lines. Com¬ plete installation and operation instructions included. • Plugs into User Port • Provides Standard RS232 signal levels • Uses 6 signals (Transmit, Receive, Clear to Send, Request to Send, Data Terminal Ready, Data Set Ready) JE232CM $39.95 VOICE SYNTHESIZER FOR APPLE AND COMMODORE §£ Intelligent 300/1200 Baud Prometheus Telephone Modem with Real Time Clock/Calendar The ProModem “ is a Bell 212 A (300/1200 baud) intelli¬ gent stand-alone modem • Full featured expandable modem • Standard features include Auto Answer and Auto Dial, Help Commands, Programmable Intelligent Dialing, Touch Tone'*' and Pulse Dialing & More • Hayes command set compatible plus an additional extended command set* Shown w/alphanumeric display option. Part No. Description Price PM1200 RS-232 Stand Alone Unit. $349.95 PM 1200A Apple II, 11+ and lie Internal Unit.$369.95 PM1200B IBM PC and Compatible Internal Unit.$269.95 PM1200BS IBM PC & Comp. Int. Unit w/ProCom Software.$319.95 MAC PAC Macintosh Package.$399.95 _(Includes PM 1200, Cable, & ProCom Software)_ OPTIONS FOR ProModem 1200 PM-COM (ProCom Communication Software).$79.95 Please specify Operating System. PM-OP (Options Processor).$79.95 PMO-16K (Options Processor Memory - 16K).$10.95 PMO-32K (Options Processor Memory - 32K).$20.95 PMO-64K (Options Processor Memory - 64K).$39.95 PM-ALP_(Alphanumeric Display).$79.95 PM-Special (Includes Options Processor, 64K Memory and Alphanumeric Display). . ..$189.95 KEYBOARDS 5V4" APPLE^ Direct Plug-In Compatible Disk Drive and Controller Card The ADD-514 Disk Drive uses Shugart SA390 mechanics-143K formatted storage • 35 tracks • Compatible with Apple Control¬ ler & ACC-1 Controller • The drive comes complete with connector and cable — just plug into your disk controller card • Size: 6"L x 3V?"W x 8-9/16"D - Weight: 4V? lbs. ADD-514 (Disk Drive).$169.95 ACC-1 (Controller Card).$ 49.95 More Apple Compatible Add-Ons... APF-1 (Cooling Fan with surge protection). . . . $39.95 KHP4007 (Switching Power Supply). $59.95 JE614 (Numeric/Aux. Keypad for lie) . $59.95 KB-A68 (Keyboard w/Keypad for II & 11+). $79.95 MON-12G (12" Green Monitor for II,ll+,//e, lie). . . . $99.95 JE864 (80 Col +64K RAM for lie) . $99.95 ADD-12 (5V Half-Height Disk Drive). $179.95 DISK DRIVES JE520AP JE520CM • Over 250 word vocabulary-affixes allow the formation of more than 500 words • Built-in amplifier, speaker, volume control, and audio jack • Recreates a clear, natural male voice • Plug-in user ready with documentation and sample software • Case size: 7V."l x 3V. "W x 1-3/8"H APPLICATIONS: • Security Warning • Telecommunication • Teaching • Handicap Aid • Instrumentation • Games Part No. Description Price JE520CM For Commodore 64 & VIC-20 $114.95 JE520AP For Apple II 11+. and //e $149.95 Computer Memory Expansion Kits IBM PC, PC XT and Compatibles Most of the popular Memory Boards (e g Quadram" Expansion Boards) allow you to add an additional 64K. 128K. 192K or 256K The IBM64K Kit will populate these boards in 64K byte increments The Kit is simple to install- |ust insert the 9 64K RAM chips in the provided sockets and set the 2 groups of switches Complete conversion documentation included IBM64K (Nine 200ns 64K RAMs).$43.95 IBM PC AT Each kit comes complete with nine 128K dynamic RAMs and documentation for conversion IBM128K (Nine 200ns 128K RAMs).$199.95 APPLE lie Extended 80-Column/64K RAM Card Expands memory by 64K to give 128K when used with programs like VisiCalc'” Fully assembled and tested JE864.$99.95 TRS-80 MODEL l y III Each Kit comes complete with eight MM5290 (UPD416/4116) 16K Dynamic RAMs and documentation tor conversion Model t 16K equipped with Ex¬ pansion Interlace can be expanded to 48K with 2 Kits Model III Can be expanded from 16K to 48K using 2 Kits. Each Kit will expand computer by 16K Increments TRS-16K3 200ns (Model III).$8.95 TRS-16K4 250ns (Model 1).$6.95 TRS-80 MODEL IV & 4P Easy to install Kit comes complete with 8 ea 4164N-20 (200ns) 64K Dynamic RAMs and conversion documentation Converts TRS-80 Model IV computers trom 16K to 64K Also expands Model 4P from 64K to 128K TRS-64K-2.$38.95 (Converts the Model IV from 16K to 64K or will expand the Model 4P from 64K to 128K) TRS-64K2PAL (Model IV only).$59.95 (8 - 4164 s with PAL Chip to expand from 64K to 128K)_ TRS-80 COLOR AND COLOR II Easy to install Kit comes complete with 8 each 4164N-20 (200ns) 64K Dynamic RAMs and documentation tor conversion Converts TRS-80 Color Computers with D. E, ET, F and NC circuit boards to 32K Also converts TRS-80 Color Computer It to 64K Rex DOS or OS-9 required to utilize full 64K RAM on all computers TRS-64K-2.$38.95 Protect Yourself... datashield Uft Surge Protector m - Eliminates voltage spikes and EMI-RFI noise before it can damage your equipment or cause 1 data loss • 6 month warranty • Ftower dissipa- 1 0| „ tion (100 microseconds) 1.000.000 watts • 6 1 ^ sockets ■ 6 foot power cord • Normal line volt- \ ^ age indicator light * Brownout/blackout reset Model 100. . . sv !"? h ..$69.95 Protect DATASHIELD® yourself... Back-Up Power Source K| Provides up to 30 minutes of continuous 120 . I VAC 60Hz power to your computer system \ || (load dependent) when you have a black out \ or voltage sag • Six month warranty • Weight ~ (PC200): 24 lbs. - (XT300) 37.5 lbs PC200 (Output rating: 200 watts).$299.95 C XT300 (Output rating: 300 watts).$399.95 13V'L x 4VW x VH 16-9/16"Lx6VWx1VH NEW! Mitsumi 54-Key Unencoded All-Purpose Keyboard • SPST keyswitches • 20 pin ribbon cable connec¬ tion • Low profile keys • Features: cursor controls, control, caps (lock), function, enter and shift keys •Color (keycaps) grey • Wt: 1 lb. * Pinout included KB54.$14.95 76-Key Serial ASCII Keyboard • Simple serial interface • SPST mechanical switch¬ ing • Operates in upper and lower case • Five user function keys: FI -F5 • Six finger edge card connec¬ tion • Color (keys) tan • Weight: 2 lbs • Data incl. KB76.$29.95 Apple Keyboard and Case for Apple II and 11+ • Keyboard Direct connection with 16-pin ribbon connector *26 special functions - Size: 14V* "L x 5VW x 1V*"H ■ Case Accommodates KB-A68 • Pop-up lid for easy access • Size 15VW x 18"D x 4VH Price KB-EA1 Apple Keyboard and Case (pictured above).$134.95 KB-A68 68-Key Apple Keyboard only.$ 79.95 EAEC-1 Expanded Apple Enclosure Case only.$ 59.95 POWER SUPPLIES TRANSACTION TECHNOLOGY, INC. 5VDC @ 1 AMP Regulated Power Supply • Output: +5VDC <8 1.0 amp (also +30VDC regulated) • Input: 115VAC, 60 Hz • Two-tone (black/beige) self-enclosed case • 6 foot, 3-conductor black power cord • Size: 6V L x 7" W x 2V H • Weight: 3 lbs PS51194 $14.95 Documentation Included MPI51S (MPI 5V SS full-ht.).$ 89.95 RFD480 (Remex 5V 4 " DS full-ht.).$129.95 TM100-2 (Tandon 5V4" DS full-ht.)-$159.95 FD55B (Teac 5V4" DS half-ht.).$149.95 SA455 (Shugart 514" DS half-ht ).... $159.95 FDD100-8 (Siemens 8" SS full-ht.).$139.95 PCK-5 (514 - Power Cable Kit).$2.95 PCK-8 (8" Power Cable Kit).$3.95 UV-EPROM Eraser 8 Chips - 21 Minutes | [ 1 Chip -15 Minutes Erases all EPROMs Erases up to 8 chips within 21 minutes (1 chip in 15 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 9.00"L x 3 70”W x 2.60"H. Complete with holding tray for 8 chips. DE-4 UV-EPROM Eraser. $74.95 UVS-11 EL Replacement Bulb.$16.95 V Rower/Mate Corp. REGULATED POWER SUPPLY • Input: 105-125/210-250 VAC at 47-63 Hz • Line regulation: * 0.05% • Three mounting surfaces • Overvoltage protection • UL recognized • CSA certified Part No. Output Size Weight Price EMA5/6B EMA5/6C 5V@3A/6V@2.5A 4VL x 4"W x 2VH 2 lbs. 5V@6A/6V@5A 5VL x 4VW x 2 7 *”H 4 lbs $29.95 $39.95 KEPCO/TDK 4-OUTPUT SWITCHING POWER SUPPLY • Ideal for disk drive needs of CRT terminals, microcomputers and videogames • Input: 115/230VAC, 50/60HZ • Output: +5V@5Amp, +12V@ 18 Amp, +12V @ 2 Amp, -12V @ 0.5 Amp • UL recognized • CSA certified • Size: 7VL x 6-3/16'W x 1VH * Weight: 2 lbs $ 59.95 ©ach Or MRM 174KF.2 for $99.95 Switching Power Supply for APPLE II, 11+ & We'” • Can drive four floppy disk drives and up to eight expansion cards • Short circuit and overload protection • Fits inside Apple computer • Fully regulated +5V @ 5A, +12V @ 1.5A, -5V @ .5A. -12V @ 5A • Direct plug-in power cord included • Size: 9 7 VL x 3VW x 214 ”H • Weight: 2 lbs. KHP4007 (SPS-109).$59.95 4-CHANNEL SWITCHING POWER SUPPLY • Microprocessor, mini-computer, terminal, medical equipment and process control applications • Input: 90-130VAC, 47-440HZ • Output: +5VDC @ 5A, -5VDC @ 1 A. +12VDC @ 1 A, -12VDC @ 1A • Line regulations • 0 2% • Ripple 30mV p-p • Load regulation • 1% • Overcurrent protection • Adj: 5V main output • 10% • Size 6VL x 1VW x 4-15/16"H • Weight: IV* lbs FCS-604A.$69.95 $10.00 Minimum Order — U.S. Funds Only California Residents Add 6Vz% Sales Tax Shipping — Add 5% plus $1.50 Insurance Send S.A.S.E. for Monthly Sales Flyer! Spec Sheets — 30e each Send $1.00 Postage for your FREE 1985 JAMECO CATALOG Prices Subject to Change Order Electronics - Worldwide ameco ELECTRONICS VYSA® 1355 SHOREWAY ROAD, BELMONT, CA 94002 2/85 PHONE ORDERS WELCOME — (415) 592 8097 Telex: 176043 JE664 EPROM PROGRAMMER 8K to 64K EPROMS - 24 & 28 Pin Packages Completely Sell Contained - Requires No Additional Systems for Operation - Programs and validates EPROMs - Checks tor properly erased EPROMs • Emulates PROMs or EPROMs • RS232C Computer Interface tor editing and program loading • Loads data into RAM by keyboard • Changes data in RAM by keyboard • Loads RAM from an EPROM • Compares EPROMs tor content differences • Copies EPROMs • Power Input 115VAC, 60Hz. less than 10W power consumption - Enclosure Color-coordinated, light tan panels with molded end pieces in mocha brown • Size 15VL x 8VD x 3VH • Weight 5*. lbs_ _ _ The JE664 EPROM Programmer emulates am) programs various 8-Brt Word EPROMs trom 8K to 64K Bit memory capacity Data can be entered mto the JE664 s internal 8K x 8-Brt RAM in three ways (1) trom a ROM or EPROM. (2) trom an external computer via the optional JE665 RS232C BUS. (3) trom its panel keyboard The JE664 s RAMs may be accessed lor emulation purposes trom the panel's test socket to an external microprocessor In programming and emulation, the JE664 allows lor examination, change and validation ot program content The JE664's RAMs can be programmed quickly to all" 1 "s (or any value), allowing unused addresses in the EPROM to be programmed later without necessity ol "UV" erasing The JE664 displays DATA and ADORE SS in convenient hexadecimal (alphanumeric) format A "DISPLAY EPROM DATA” button changes the DATA readout trom RAM word to EPROM word and is displayed in both hexadecimal and binary code The front panel features a convenient operating guide The JE664 Programmer includes one JM16A Jumper Module (as listed below) Assembled & Tested (Includes JM16A Module) JE665 - RS232C INTERFACE OPTION - The RS232C Interlace Option implements computer access to the JE664 s RAM This allows the computer to manipulate store and transfer EPROM data to and trom the JE664 A sample program listing is supplied m MBASiC lor CP/M computers Documentation ts provided to adapt the software to other computers with an RS232 port 9600 Baud. B-tnt word, odd parity with 2 stop bits EPROM Programmer W/JE665 Option JE664-ARS . $1195.00 Assembled & Tested (Includes JM16A Module) EPROM JUMPER MODULES - The JE664 s JUMPER M00U.E (Personality Module) is a plug in Module that pre sets the JE664 tor the proper programming pulses to the EPROM and configures the EPROM socket connections lor that particular EPROM JHMEnMi WrMli freon XT HKf JM08A 2708 2SV AMD Motorola, Nal MM. T1 $14 95 J416A 2716. TMS25I6 (TO 2SV VO* Molaoia.^ J€C U $1495 JM166 TMS2716 (3-Vsi 5V.+5V.+12V Motorola Tl $1495 JM32A TMS2532 26V Motorola. Tl. Hitachi. OKI $1495 JM32B 2732 25V AMD. Fu|itsu. NEC. Hitachi. Inin Mitsubishi, National $1495 JM32C 2732A 21V Fuytsu. Intel $14 95 JM64A MCM68764 MCM681764 21V Motorola $14 95 JM646 2764 21V Intel. Fairchild. OKI $1495 JM64C TMS2S64 25V Tl 7 Inquiry 161 FEBRUARY 1985 -BYTE 221 MSD SI59 00 $299 00 $549 00 S649 00 S 359 00 $569 00 MAXELL ELEPHANT V ['l DSDD TO ORDER CALL TOLL FREE 800 - 233-8760 Customer Service 1-717-327*1825 or send order to Lyco Computer P O Bo* 5088 Jersey Shore. PA 1774C RISK FREE POLICY In-stock item shipped within 24 hours of order No deposit on COD orders Free shipping on prepaid cash orders within the Continental U S PA residents add sales ta* APO FPO. and International orders add S5 00 plus 3% for priority mail service Advertised prices show 4% discount for cash add 4% for Master Card or Visa Personal checks require 4 weeks clearance before shipping All items subiect to change without notice great offers Marketing & Consultants greatprices TOLL FREE 1-800-233-8760 SAVE ON THESE IN STOCK PRINTERS MONITORS OKIDATA LEGEND PANASONIC 1090 $21900 1091 $279 00 1092 $415 00 1093 $599 00 3151 $469 00 BLUE CHIPS Ml 2010 $27500 Ml2010 C 64 $27500 D4015 $1389 00 CARDCO IQ1 $449 00 103 $339 00 PRINTER INTERFACF W/ FULL GRAPHICS $65 75 TAXAN ’9 CoIcm RGB • OC Giecr. ' ‘ A 'Ud-' 400 0 ouv RGB 1 *0 i o'oi RGB i. 0 <; A,i IBM ’ Oreei IBM A«r»be r *BM ZENITH .*■, m ’ 31 Cuicw GV • 6 H Rt GORILLA AMDEK 2 *,*, 300 Green , , c, 300 Amber ^26 310 Ambe* IBM 295 C olor 300 Audio J 49 Color 500 Composite 4 49 - ° ,or 600 145 Color 700 t 49 Olni 7IQ NEC ^ JB 1260 Green ' JB 1201 Green ~ JB 1205 Amber ' JC 1215 Color JC 12It RGB 5 89 SAKATA SC 100 Cold STSl Tmstand SG lOOOGren 5 »8 00 sA iqoO Air , t; ,. MODEMS DISK DRIVES MA N N ESMANN TALLY ‘ Pit SC $255 00 MU 1601 $549 00 MU 180t $799 00 JUKI * t M Of $389 00 ’PA* V )R p il $1 1900 EPSON B» ^1 $.*29 00 P» 80 f 1 $269 00 Bn 100 $369 00 ( * SC $369 00 r« too $555 00 J* 80 $ 105 i 0 () LQl 500P( includes kiti $ 1 14,9 00 CITOH PROWRIUR85 10A $289 00 8510BC2 $399 X 8510BP1 $ 34900 8M0SP $399 00 8510SR $409 OC 8510SC f $419 00 8510SCR $499 00 1550P $489 00 1550B( D $5 39 00 A10-20P $469 00 F1040PU or RL»U $899 00 F 1055PU o* RL>U $1099 00 DISKETTES IBM-PC COMPATABLE NEC8025 $699 00 80 NFC8027 $ 35900 82A 8 JA STAR 84 MICRONICS 92 GEMINI 10* $. . 9 (X) 9 3 Gf MINI 15* $345 00 DflTA 10 $ U9 00 DEITA 15 $449 00 880 RADIX 10 $499 0 100 C RADIX 15 $589 00 1200 POWf RTyPE $309 00 1500 SWEET F* 100 $549 00 1081 NEC NOVATION J ( at $H9 OO • at $1 29 00 Sn .j»t Ca’ ’0 J $’69 90 Sm .»•* (.at ■’ ’ $ 189 0( A .tot nt $209 06 ’ . A ,« tt $‘ 15 i> Ap, *.. < 3? i* $. '9 (V ’ Aj pi. 1 *» $4 t9 <> Apple ( at . 1 . $. 49 9t MICROBITS ANCHOR Hayes Smartmodem 300 $199 00 Smartmodem 1200 $469 00 Smartmnden. 1 200h $399 00 SMJ9 00 Mk rpmodeni lie $249 00 M.< rpmodem 100 . $289 00 Chronjigraph $179 00 I Westridge C 64 Call ■ ” Total $•♦5 49 7 e | ecommumca t,ons 5 . 59 CK. c * 64 Call Mitey Mo C-64 Call CORONA f-K 22A f'odable 256k Aim*** PPC2?(i Portable 256k (»*een (Pi xTA Portable 256K ’ OMeg (.ORi? 8 k 128k RAM Zenith 7 150 Call Columbia Data *’995 1f> oo Cali Talavidao TS1605 Call $ <295 Leading Edge $ 155 PC Compatable Micropros© Solo flight $22 75 NATO $2? 75 Graphics Tablet Supersketch $49 95 Kolala $99 95 Illustrator $99 95 Logo Design $27 95 La" Grams Spell S?7 95 INDUS GT Atari ... GT Commodore GT Apple w/rontroller GT Apple 222 BYTE • FEBRUARY 1985 Inquiry 191 SCIENCE PARANOIA: A FLOATING-POINT BENCHMARK by Richard Karpinski Test the quality of your software, not just its speed FLOATING-POINT ARITHMETIC was created to make programming easier and programs faster. It is complicated so that your programs can be simple, but rough edges and pitfalls are com¬ mon in floating-point systems. The Paranoia benchmark was de¬ signed to find and notify you of those places where actual results are not good enough. It reports pitfalls discovered in a systematic checkout of the arithmetic used by the com¬ puter running it. Why Paranoia? Webster's Ninth New Collegiate Dictionary (Springfield. MA: Merriam-Webster Inc.. 1983) provides the following as its second definition of paranoia: "a tendency on the part of an individual or group toward excessive or irra¬ tional suspiciousness and distrustful¬ ness of others'—an apt description of this program, which looks for prob¬ lems at every turn. This article looks into the workings of floating-point arithmetic to see why you need such quality tests and how they work. Life Without Floating Point Remember those heavy mechanical calculators with 10 long rows of keys? If you wanted to use measurements in fractions rather than whole numbers, you could set the decimal point somewhere in the middle of the field. Numbers could grow or shrink on either side of it, but the point itself was really fixed. This is enough for many hand calculations where you need only 5 or 10 steps to get the final result. Fixed-point calculations like this are simple and match the pencil- and-paper methods we learned in grade school. They are easy to under¬ stand and use. and they work quite well almost all the time. Almost is not enough, however. Even events that happen quite rarely re¬ quire careful attention when you are designing a computer system. Because computers are so much Richard Karpinski (IEEE p8 54 Mailings. U-76 UCSF. San Francisco, CA 94143) is the manager of UNIX services at the com¬ puter center at the University of California at San Francisco. With interests in software engineering , Modula-2, and other aspects of computer science, Dick has enjoyed being "the consultant of last resort " for many in the past two decades. faster than we are. a system that works correctly on 99.999 percent of its data can still fail once every second. With paper and pencil, if a few numbers don't fit within the limits you have chosen, you can write smaller or use another sheet of paper. Mechanical calculators and computers are not so flexible. If you set up a calculator for numbers of the form nnn.nnn.nnn.nnn, for example, an intermediate result of 1 million is hopelessly damaged. There is no place to put the digit in the millions place. This problem is called overflow. There are calculators with 20 or 30 digits or even more, but you can't really solve the problem this way. Long calculations continually re¬ quire you to copy an intermediate result from the calculator's dials back onto the keys in order to shift it to the left or the right to accommodate the overflow. The copying process is error-prone and tedious for those who do it. (Originally, these people were called “computers.") Very small numbers in this format also suffer. Numbers smaller than 1 ( continued ) FEBRUARY 1985 -BYTE 223 PARANOIA one-millionth are lost entirely. They underflow to zero. Even numbers as large as 1 one-thousandth lose most of their significant digits. Only 3 of the 12 digits of precision initially provided remain. When overflow and underflow prob¬ lems arise in hand calculations, and even in many computer applications that have tight constraints on hard¬ ware and timing, you can solve them by rescaling the numbers—multiplying or dividing them by 10, 100, or 1000— to bring the number back into view. Naturally, you must keep track of each scaling operation you perform so that you can readjust the final answer properly. What do you get when you cross 1200 baud, free on-line time, and extra features at a price Hayes can’t match? Data Rate? The MultiModem gives you a choice— either 1200 or 300 bits per second. So you can go on-line with the information utilities. Check out bulletin boards. Dial into corpo¬ rate mainframes. Swap files with friends. On-Line Time? With the Multi- Modem you get CompuServe’s DemoPak, a free two- hour demonstration of their service, and up to seven more free hours if you subscribe. You also get a $50 credit towards NewsNet’s business newsletter service. Features & Price? Of course, the MultiModem gives you automatic dial, answer, and disconnect. Gives you the Hayes- compatibility you need to support popular communications soft¬ ware programs like Crosstalk, Data Cap¬ ture, our own MultiCom PC, and dozens of others. Gives you a two-year warranty, tops in the industry. MultiModem. But Better? Yes. The Multi- Modem gives you fea¬ tures the Hayes Smartmodem 1200™ can’t match. Features like dial-tone and busy- signal detection for more accurate dialing and redialing. Like a battery-backed mem¬ ory for six phone num¬ bers. All at a retail price of just $549—com¬ pared to $699 for the Smartmodem. What do you get? The new MultiModem, from Multi-Tech Sys¬ tems. Isn’t this the answer you’ve been looking for? For the name of your local distributor, write Multi-Tech Sys¬ tems, Inc., 82 Second Avenue S.E., New Brighton, MN 55112. Or call us at (612) 631-3550. Inquiry 227 Trademarks ~ MultiModem MultiCom PC Multi-Tech Systems. Inc —Compu¬ Serve CompuServe Information Services an H &R Block company—NewsNet NewsNet Inc —Crosstalk Microstul Inc —Data Capture Southeastern Soft¬ ware—Smartmodem Hayes Microcom¬ puter Products Inc Multi Tech (8) Systems The right answer every time. You must also check to see if this problem arises at every possible place, although such checking makes every program longer and more com¬ plicated. This high cost of being ex¬ tra careful must be weighed against the fact that the unchecked version works most of the time. In fact, you may have tested the unchecked version with thousands of cases and consider it completely debugged. In principle, if you know enough about the numbers that arise, you can build the rescaling shifts into your procedure so that they don't take any extra effort during the calculation itself. This can save up to two-thirds of the time that floating-point calcula¬ tions take. John von Neumann, often called the father of computing, held the view that such a priori analysis was the proper approach. He saw no need for floating point. However, most programmers now agree that the analysis required is far too costly and error-prone to ignore floating¬ point hardware. Scientific Notation As researchers and scientists have probed the further reaches of our world, they have developed scientific notation to express very large and very small numbers with equal preci¬ sion. For example, 602,300,000,000,000 becomes 6.023 x 10 14 while 0.000,000,000,000,006,624 becomes 6.624 x 10" 15 . The preci¬ sion or uncertainty figures for these numbers look very different until you express them in scientific notation: 5.0 x 10 10 for the first versus 5.0 x 10~ 18 for the second. When you consider imprecise numbers, it is easy to become con¬ fused between absolute uncertainty and relative uncertainty—relative to the size of the value involved. The relative uncertainty here is referred to as "half a unit-in-the-last-place" or "Zi ulp." Since we want computers to cope quickly and precisely with a wide range of numbers, we adapt the ( continued) In a one-to-one comparison, Westrex-One. The one printer you can rely on. ,onde^ eS ' .cores- I The new Westrex One. Compare it for yourself. See the Westrex One in action, and you'll understand why it's far and away the winner in any one-on-one comparison. Westrex One has the versatility that gives your product extra value. It produces some of the crispest, clearest Dot Matrix printing you can find. Plus a comprehensive variety of type fonts and styles. And the ability to handle intricate graphics. Custom interfaces where required. Naturally, because it's built and backed by Westrex/Division of Litton, it's a reliable, long lasting product. We kept moving parts to a minimum, so there's less to go wrong. If you need a printer with Flexibility... Quality... High Performance, the Westrex One is the 1 for you. Send for free comparative performance matrix and make your own "one-to-one" evaluation. Contact Westrex/Division of Litton OEM Products, 51 Penn Street, Fall River, MA 02724,(617) 676-1016. TELEX: 651490, Please Relay WNJW. Inquiry I SHIPPING WEST OF MISSISSIPPI EAST - % UPS CHARGES CALL FREE 1-800-841-2748 COMPUTERS ALTOS 580-20 .$3350 ALTOS 586-20 .$5350 ALTOS 986-40 . $CALL APPLE LOOK-A-LIKE. $CALL IBM PC. $CALL LEADING EDGE PC. $CALL NEC 8201 .$429 SANYO 550-555 .SAVE $CALL TELEVIDEO TPC I . . . $1499 TPC II . . . $1795 1605 . $CALL NORTHSTAR ADV . . . $1899 15MEG. . . $3799 PRINTERS ABATI.$369 RADIX 10.$479 DAISYWRITER 48K.$819 EPSON. $CALL GEMINI 10X.$239 JUKI 6100.$399 OKIDATA (LOW PRICES) .... $CALL QUME 1140+ W/INF.$1365 CITOH 8510.$319 1550 .$499 F10-40C PS $899 F1055 . . . $1179 DIABLO 620 .$769 630 API . . $1669 NEC 3550 . . . $1495 3510 .$1235 TERMINALS- MONITORS ALTOS II. .$749 QUME 102G. .$425 WYSE 50. .$485 TELEVIDEO 924. . . .$655 TELEVIDEO 950. . . .$895 TELEVIDEO 970. . . .$965 AMDEK 300G. .$129 AMDEK 300A. .$145 AMDEK COLOR 300 .$245 AMDEK COLOR 600 .$469 B.M.C. COLOR .... .$235 PRINSTON HX12 . . .$464 DISK DRIVES - MODEMS INDUS APPLE .... .$259 MICRO SCI A2 . . . . .$185 INDUS COMMODORE .$315 INDUS ATARI .... .$299 ASTRA ATARI .... .$525 PROMODEM 1200 .$325 HAYS SMART MODEM.$199 SMARTMODEM 1200 .$469 SMARTMODEM 1200B.$415 MICROMODEM HE.$235 RIXON 212A.$449 U.S. ROBOTICS PASSWORD.$315 1st PLACE COMPUTER SYSTEMS 13422 N. CAVECREEK RD. PHOENIX, AZ. 85022 OTHER INFORMATION: 602 867 9897 Oss^=e^_J Frss shipping is on UPS ground only. Sand cashier's check or money order.all other checks will delay shipping two weeks. Prices & availability subject to change without notice. PARANOIA scientific notation to the task. You don't need to store the "x 10” part because it doesn't change between various numbers, so you represent each number with a fractional signifi- cand and a whole-number exponent. The rescaling hasn't gone away. The "exponent” is the variable in which rescaling operations note their ad¬ justments. As you might expect, ex¬ ponents are represented and used in different ways—each with its own par¬ ticular problems—and each number is rescaled automatically after each operation to eliminate any leading zeros and to preserve the maximum number of significant digits. We use decimal notation (radix 10) for numbers, but computers usually use binary notation (radix 2) to match their memory and logic-circuit com¬ ponents. In binary you can, for exam¬ ple, use a significand between Vi and 1. that is, between 1-over-the-radix and 1. Some computers use hexadec¬ imal (radix 16) instead; their signifi- cands can lie between V\ 6 and 1. Radix 2 packs the most range and precision into any given word (the number of bits devoted to representing a number). Radix 10 is also very useful because there are no errors introduced in moving ordinary decimal numbers into the computer. There are errors, but there are no new errors. If your computer uses six decimal digits of precision, you have a pretty good idea of what happens to num¬ bers like Zi . However many digits you type, the most precise estimate you can ever get is 0.333,333. This con¬ tains a small error—only X A ulp—but this error is inherently present for such fractions in any floating-point notation. There are systems for maintaining rational numbers that avoid the prob¬ lem of precision as long as possible, at a high cost in size and speed. They keep two whole numbers to represent a fraction— 1 and 3 here—and save the division for later. Thus, if A is later multiplied by 3, the threes cancel and the answer is exactly 1. Unfortunate¬ ly, in long calculations both of these numbers grow unreasonably large all too rapidly. Unless your need for high precision is very great, this method is uneconomical. If you multiply 0.333,333 times 3, 0.999,999 is as close to 1 as you can get. given the round-off error of 1 ulp. Sometimes you can accept answers within several ulps of the best possi¬ ble answer. In this case you must ac¬ cept the 0.999,999 result if you're go¬ ing to use floating point; but, even here, 0.999,998 is clearly unaccept¬ able because we can do better. Round or Chop? Some computers offer you the choice of rounding off or chopping (trun¬ cating) the result of each calculation. Rounding off preserves an extra Vi ulp of precision in each step. If the numbers are all positive, rounding off avoids the systematic underestimating error that truncation introduces. This is an important matter. For ex¬ ample, the Wall Street lournal reported on November 8. 1983 (page 37). that the Vancouver Stock Exchange main¬ tains a stock index rather like the Dow lones average. It began with a nominal value of 1,000.000 and was recalculated after each recorded transaction. At each stage, the value was calculated to five decimal places, but the last two were truncated. The exchange found that after 22 months of operation, with about 2800 transactions per working day, the index had fallen to the 520 range while stock prices were reaching new highs. Investigation showed that all those lost fractions of thousandths of a point had mounted up to a major inaccuracy. The solution the exchange planned was to round off instead of chop. If this was done in the usual way—01 to 49 round down, 50 to 99 round up- then a consistent error still remains. The error is only one percent as large as it was and tends to inflate rather than deflate the index, so the ex¬ change might even consider it an ad¬ vantage. This new error is that while 49 of the values round down and one stays the same. 50 of them round up. The point is that even tiny errors, when they all go the same way. can ( continued ) 226 BYTE* FEBRUARY 1985 “Now when I talk, my broker listens.” No matter what kind of investing you do, there is a Dow Jones Software product that will make you and your broker a better team. Dow Jones Investor’s Workshop™ is the perfect software for private investors who want an introduction to the world of computerized investing. The Investor’s Workshop creates reports and charts that give you a clear picture of the performance of your investments. It enables you to become more proficient in portfolio management and technical analysis. Dowdones Software” For more information, mail coupon or call: 1 800 345-8500 ext. 48 (Alaska. Hawaii and foreign call: 1-215-789-7008 ext. 48) Dow Jones Investor’s Workshop available for Apple* lie, Apple* lie and Apple* II Plus. Dow Jones Market Manager PLUS available for IBM*PC, Applet'll and Apple* Macintosh™ Dow Jones Market Analyzer available for IBM PC, IBM*XT, Apple II and TI Professional. Dow Jones News/Retrieval is a registered trademark of Dow Jones & Company, Inc. Dow Jones Software, Dow Jones Investor’s Workshop, Dow Jones Market Manager PLUS and Dow Jones Market Analyzer are trademarks of Dow Jones & Company. Inc. Copyright «)I984 Dow Jones & Company. Inc All Rights Reserved Dow Jones Market Manager PLUS™ is a powerful portfolio management system for serious investors. It allows you to easily monitor and account for your security transac¬ tions while providing printed re¬ ports for review and tax records. These reports include Holdings hy Portfolio, Holdings hy Security, Realized Gain/Loss and Dividend Transaction. Dow Jones Market Analyzer™ is designed for sophisticated investors who chart stocks. The Market Analyzer stores historical quotes and updates daily data on your securities. It constructs comparison and price and volume charts, allowing you to test theories, identify trends and improve the timing of your invest¬ ment decisions. Each of these programs communicates with Dow Jones News/Retrieval; 3 " the leading electronic information service. For more information on Dow Jones Software, send this coupon to: Ms. Lynn Filippone, Dow Jones & Company, Inc., PO. Box 300, Princeton, NJ 08540. Yes, please send me more information. I am particularly interested in: □ Dow Jones Investors Workshop™ □ Dow Jones Market Manager PLUS™ □ Dow Jones Market Analyzer™ Name_ Address_ City_State_Zip_ Phone number( s)_ Inquiry 96 FEBRUARY 1985 • BYTE 227 PARANOIA do serious damage to numerical results. The Paranoia benchmark checks your arithmetic to see whether rounding is done correctly if at all. Guard Digits Round-off errors are unavoidable. These errors are not mistakes in the process but the inevitable result of re¬ stricting the width of floating-point numbers. A carefully built arithmetic system can round meticulously when¬ ever approximation is required. How¬ ever, in order to round correctly extra (guard) digits are needed temporari¬ ly in the course of ordinary calcu¬ lations. Guard digits reduce error. In a four¬ digit system you may need five or more digits to maintain accuracy un¬ til the result is rescaled. For example, I. 144 x 10 1 minus 8.336 x 10° really needs five digits. Without the extra digit this simple subtraction suffers an error of 4 to 6 ulps, a serious defect that makes numeric programming even more difficult and error-prone. To illustrate: with the guard digit, 11.44 minus 8.336 yields 03.104, which results in an answer after rescaling of 3.104 x 10°; without the guard digit, II. 44 minus 8.33 (if truncated) yields 03.11 for a result of 3.110 x 10° and 11.44 minus 8.34 (if rounded off) yields 03.10 for a result of 3.100 x 10°. The need for guard digits becomes quite clear. What about your com¬ puter? Often the specific details of the arithmetic used on a given computer are known only to its designers. Yet they are important to programmers and other users who want to get good, precise, accurate answers. Professor William Kahan at the Uni¬ versity of California at Berkeley wrote Paranoia for just this reason. Paranoia checks many of the arithmetic details of your computer. For each aspect that is not handled in the best way, Paranoia reports what sort of difficulty will ensue from its use. The full Paranoia program is some 700 lines of BASIC. Listings 1 and 2 show an extract sufficient to test for the use of a guard digit in addition and subtraction. If some part of the routine seems confusing, you may find it helpful to try a pencil-and- paper example with a four-digit sys¬ tem like the one above. These pro¬ grams were simplified from the Pascal translation of Paranoia by B. A. Wichmann of the National Physical Laboratory in England. The full pro¬ gram guards itself against many (rare) problems that might possibly arise. Full Paranoia also rechecks critical cal¬ culations by a second method, just to be sure. Test Your Calculator You can use essentially the same guard-digit procedure to test your pocket calculator. Without checking for radix, etc., the results of two sim¬ ple expressions will signal the ( continued ) IEEE Arithmetic and Paranoia Availability T he IEEE has specified a particularly careful floating-point arithmetic intended to avoid the worst problems of the older arithmetics used on com¬ puters. One committee (p754) de¬ signed a very specific binary floating¬ point arithmetic with three sizes of numbers. A second working group (p854) relaxed some of those specifica¬ tions to permit different sizes of numbers and different radixes to be used. These IEEE arithmetics are so good that Paranoia finds no fault with them at all. An example of IEEE arithmetic is the way it avoids the problem of more numbers rounding up than down (50 versus 49): it rounds numbers ending in 50 up only half the time, i.e., when the previous digit is odd. The rest of the time, the numbers round down. For this reason, the normal IEEE rounding mode is called round-to-even. The drafts of the IEEE specifications are highly technical and quite compact. The dozen or so pages require careful reading and often some deliberate studying to fully comprehend. Still, that task is rewarding to those who seek to achieve numerical results of the highest quality with their programs. If you would like a copy of the IEEE p754 (binary) or p854 (binary and decimal) drafts, you may write to the author (IEEE p854 Mailings. U-76 UCSF. San Francisco. CA 94143). The full Paranoia test program will also be available, on floppy disk, for a distribu¬ tion charge of $15. The author also has order forms for the disk. The floppy formats of the Paranoia disk will in¬ clude at least the PC-DOS 9-sector 5^-inch double-sided format. A page or two of documentation will help you run the program. The second, corrected release of Paranoia in MS-BASIC should be avail¬ able by this issue's cover date. Versions in FORTRAN and Pascal are also ex¬ pected to be ready. Although the author of the Paranoia program, Pro¬ fessor William Kahan. is a key member of the IEEE Computer Society commit¬ tees, the IEEE does not guarantee the program in any way. If you request these test programs, you will be asked to assist Professor Kahan and Mr. Karpinski by reporting back the results you get when you use them. Please send us your results tor any system that is either commercial¬ ly available or interesting in its own right. You may copy the test program freely, maintaining its copyright notice, and pass it on to your friends. We would appreciate their results as well. When you run Paranoia, you will get several pages of messages about the details of the arithmetic. So far results have been collected on more than six different BASIC systems, but some of these results are already obsolete. Perhaps you can help us to bring them up-to-date. We are especially interested in hearing about any errors you may discover in the tests themselves. We would also like to hear of any problems you have running or interpreting the tests, although we do not promise any¬ thing but our thanks in return. A benchmark of this complexity may take years to reach its full value to the computing community. When enough arithmetics have been tested to make the results interesting, the authors will try to publish them. 228 BYTE • FEBRUARY 1985 IT CAME FREE WITH YOUR COMPUTER. If you’ve got a computer, you’ve got a problem. Because every computer comes equipped with something you didn’t bargain for—static. Static is the major cause of computer malfunctions, downtime and lost produc¬ tivity. And sooner or later a static problem could result in costly repair charges. But you can eliminate your problem and improve your productivity with Staticide®. So effective, just one application to floors, furniture, walls and equipment keeps the entire workstation area static-free for up to six months. Staticide is the number one topical anti¬ static formula on the market. And still the most effective! Don’t accept substitutes. And when it comes to eliminating static and cleaning CRT screens, new Staticide® Wipes™ is the answer. These handy towel- ettes are non streaking and will not harm sensitive electronic components. Try Staticide and Staticide Wipes. After all, you may not have been charged for that something extra that came with your com¬ puter.. . but it may very well charge you. Raticide «*Ou» EARNING' 1/1 °* HACK Of CXHO** Staticide by ACL Incorporated 1960 E. Devon Avenue Department 101 Elk Grove Village, IL 60007 (312) 981-9212 Ext. 101 Inquiry 9 FEBRUARY 1985 -BYTE 229 Inquiry 43 IBM-PC or PC compatible IEEE-488 INTERFACE BOARD IEEE - 488 VERSATILE • Implements the entire IEEE-488(GP- IB, HP-IB) standard with high-level commands and standard mnemonics. • Resident firmware routines support interpreted and compiled BASIC, Pascal, C, and other languages. • Supports Lotus 123 and most wordprocessing programs. • One board drives any combination of 15 IEEE-488 peripherals. • Emulates most Hewlett-Packard con¬ troller functions and graphics lan¬ guage statements with single line BASIC statements. • Supports Tektronix® Standard Codes and Formats. • Small size - fits the PC/XT short slot. FAST • Burst DMA > 800KB/sec • Continuous DMA > 300KB/sec PROFESSIONAL • Clear, concise documentation in¬ cludes a complete tutorial and source code for interactive bus control, bus diagnostics, graphics plotting, and many other applications. • $395 complete. There are no extra software charges. CAPITAL EQUIPMENT CORP 10 Evergreen Avenue Burlington, MA. 01803 (617) 273-1818 IBM is a trademark of International Business Machines Corp. Lotus 123 is a trademark of Lotus Development PARANOIA Listing I: A Microsoft BASIC program to test for the presence of a guard digit in subtraction. Note: fpwidth is the smallest number formed by multiplying one by the powers of the radix. If is calculated by successive multiplications, until the product when added to 1.0 no longer gives an exact result. (Width is a Microsoft BASIC reserved word and cannot be used as the variable name.) 10 ’ Guard — Test if add/subtract has a guard digit 20 ’ 30 One 40 Half 50 Zero 60 MinusOne 70 ’ 80 ’ variables: 90 ’ 100 ’ Radix 110 ’ Precision 120 ’ 130 ’ 140 ’ fpwidth 150 ’ Wide 160 ’ 170 ’ UlpOne 180 ' UlpRadix 190 ’ 200 ’ OneMinus 210 ’ RadixMinus 220 ’ 230 ’ s, t, u 240 ’ x, y, z 250 ’ 260 ' 270 ’ Find a Wide so big that adding one does not change it by one 280 ' 290 Wide = One 300 310 320 330 340 350 360 370 380 390 400 ’ Find the radix (or number base) as the minimum increase in Wide 410 ’ Remember that Wide is just large enough that the units place 420 ’ is not represented, so a one in the last represented place 430 ’ (the tens place, for decimal) is exactly the radix itself. 440 ’ Try it by hand. 450 ’ 460 y = One 470 ’ 480 Radix = Wide + y ’ No change on first addition 490 y = y + y ' So double y 500 Radix = Radix - Wide ’ Until some change happens 510 * 520 IF Radix = Zero THEN 480 ’ The change is the radix 530 ’ 540 PRINT “Radix = Radix 550 ’ 560 ’ Wide = Wide x = Wide = x = y Wide One Wide One Double it until it grows so large that Adding one does not change it or (with rounding) changes it by 2 So the difference is zero or 2 And this becomes + / - one IF ( MinusOne + ABS( z ) ) Zero THEN 310 = 1.0 Floating-point constants = 0.5 = 0.0 = - 1.0 Calculated floating-point radix Significant digits in base Radix Precision Radix (or Radix “ Precision) First estimate of fpwidth Unit in last place of just less than one Radix * UlpOne One - UlpOne calculated with care Radix - UlpRadix Working variables 230 BYTE • FEBRUARY 1985 PARANOIA 570 Find the precision in Radix digits 580 590 Precision = Zero 600 fpwidth = One 610 620 Precision = Precision + One ’ Count the digits 630 fpwidth = fpwidth * Radix ’ And increase fpwidth 640 y = fpwidth + One ’ Until adding one 650 660 IF ( y - fpwidth) = One THEN 620 ’ Is imprecise 670 680 PRINT “Precision = Precision 690 700 PRINT “fpwidth = fpwidth 710 720 UlpOne = One / fpwidth 730 ’ 740 PRINT “Closest relative separation found is UlpOne = UlpOne 750 ’ 760 OneMinus = ( Half - UlpOne ) + Half 770 UlpRadix = Radix * UlpOne 780 ’ 790 RadixMinus = Radix - One 800 RadixMinus = ( RadixMinus - UlpRadix ) + One 810 ’ 820 x = One - UlpOne 830 y = One - OneMinus 840 z = One - x 850 ’ 860 s = Radix - UlpRadix 870 t = Radix - RadixMinus 880 u = Radix - s 890 ' 900 IF y = UlpOne THEN 920 910 GOTO 960 920 IF t = UlpRadix AND u = UlpRadix THEN 940 930 GOTO 960 940 PRINT “Add/subtract has a guard digit as it should.” 950 GOTO 980 960 PRINT “Add/subtract lacks guard digit, cancellation obscured.” 970 1 980 END ’ Guard Listing 2: Pascal program to test for the presence of a guard digit in subtraction. program Guard: { Test if add/subtract has a guard digit } const One = 1.0; { Floating-point constants i Half = 0.5; Zero = 0.0; MinusOne = -1.0; var Radix : real; { Calculated floating-point radix } Precision : real; { Significant digits in base Radix } { Precision } Width : real; { Radix (or Radix * Precision) } Wide : real; { First estimate of Width i ( continued ) Mac Inker Re-ink any fabric ribbon AUTOMATICALLY for less than 5$. Extremely simple operation with built-in electric motor. We have a MAC INKER for any printer: cartridge/spool/harmonica/ zip pack. Lubricant ink safe for dot matrix printheads. Multicolored inks, uninked cartridges available. Ask for brochure. Thousands of satisfied customers. Switch Mac Switch lets you share your computer with any two peripherals (serial or parallel). Ideal for word processors—never type an address twice. Ask us for brochure with tips on how to share two peripherals (or two computers) with MAC SWITCH. Total satisfaction or full refund. $99 oo Order toll free 1-800-547-3303 Computer Friends 6415 SW Canyon Court Suite #10 Portland, Oregon 97221 (503) 297-2321 FEBRUARY 1985 • BYT E 231 Inquiry 371 4o«n 0>N^ erS X80SV sX ®^, 3 2BU IB I" 1 '**! Starting At $695.00 _CO-PROCESSING_ The most cost effective way for Z80 system owners to obtain 16/32 bit processing power and software compatibility is via the HSC CO-16 Attached Resource Processor. CO-16 is compatible with any Z80 system running CPM 2.2 or CPM 3. A few examples include: • KAYPRO 2/4/10 • TRS 2/3/12/16 • AMPRO LITTLE BOARD • HEATH 89 • SUPERBRAIN • XEROX 820 • TELEVIDEO 802/803 • MORROW • EPSON QX-10 • LOBO • OSBORNE 1/EXEC • CROMEMCO • Plus many more CO-16 Every CO-16 is delivered with • 16/32 bit micro processor • 16 bit Operating System • 256 Kilo RAM • Z80 interface • 16 bit RAM disk driver • CPM80 2.2 RAM disk driver • CPM 2.2 or CPM 3 compatibility • sources with tools • hardware diagrams • board level or case with power supply._ CO-1686 The only Z80 16 bit co-processor includes • INTEL 8086 • 6Mhz no wait states • MSDOS2.11 • IBM BIOS emulator • Memory expansion to 768K • 8087 math co-processor • 3-channel Real Time Clock • Runs many IBM PC applications • Shares hard disk space with CPM80 • PC diskette compatilibility on many systems • CPM86 • Concurrent CPM is coming. CO-1668 The only Z80 16/32 bit co-processor includes • MOTOROLA 68000 microprocessor • 6 Mhz no wait states • CPM68K • Full “C” com¬ piler with UNIX V7 library and floats • Memory expansion to 1.25 million bytes • NS16081 math co-processor • Real Time Clock • Complete soft¬ ware development environment • 100% file compatible with CPM80 • OS9/68 UNIX look alike coming in February. Dealer, Distributor and OEM’s invited Hallock Systems Company, Inc. 267 North Main Street Herkimer, N.Y. 13350 (315) 866-7125 Imel ]□ PARANOIA UlpOne : real; { Unit in last place of just less than one } UlpRadix : real; { Radix x UlpOne } OneMinus ; real, { One - UlpOne calculated with care > RadixMinus : real; { Radix - UlpRadix > s, t, u : real; { Working variables x, y, z : real; begin {Guard} { Find a Wide so big that adding one does not change it by one. } Wide : = One: repeat Wide : = Wide + Wide; { Double it until it grows so large that } x : = Wide + One; { Adding one does not change it or } { (with rounding) changes it by 2 } y : = x - Wide; { So the difference is zero or 2 } z : = y - One { And this becomes + / - one } until ( MinusOne + abs( z ) ) > = Zero; { Find the radix (or number base) as the minimum increase in Wide } { Remember that Wide is just large enough that the units place } { is not represented, so a one in the last represented place } { (the tens place, for decimal) is exactly the radix itself. } { Try it by hand. } y = One; repeat Radix : = Wide + y; {No change on first addition } y : = y + y; { So double y } Radix ; = Radix - Wide { Until some change happens } until Radix < > Zero; { The change is the radix! } writeln( 'Radix = ’, Radix ); { Find the precision in Radix digits } Precision : = Zero; Width : = One; repeat Precision : = Precision + One; Width : = Width * Radix; y = Width + One until ( y - Width ) < > One; writeln( 'Precision = ', Precision ); writeln( ‘Width = ’, Width ); UlpOne : = One / Width; writeln( ‘Closest relative separation found is UlpOne = ’, UlpOne ); { Count the digits } { And increase Width } { Until adding one } { Is imprecise } OneMinus = ( Half - UlpOne ) + Half; UlpRadix = Radix * UlpOne; ( continued ) 232 BYTE* FEBRUARY 1985 NEH HARD DISK PROLOR: THE FLOPPY TO EHD ML FLOPPIES. Finally there’s a foolproof way to protect soft¬ ware against unauthorized duplication. The tech¬ nology is all on the disk and is installed on a hard disk without the ongoing need for a floppy key. Prolok™ doesn’t need add-on hardware. In¬ stead each diskette is marked with a unique, phys¬ ical “fingerprint.” No two are alike. A precise description of the individual print is encoded mag¬ netically. The fingerprint AND the description must match exactly before the software is decrypted and released to the system. No match, no access. Its genius is its simplicity and familiarity. Prolok looks like an unprotected disk, loads like an unprotected disk, works like an unprotected disk. The user feels immediately at home and in com¬ mand. It’s as easy as A>PROLOK B: filename. Backups are easily made via normal system utilities. However, to be read they must be accom¬ panied in the system by the original Prolok disk. except when installed on a hard disk. Prolok puts the casual copier-and even the deliberate pirate-out of business. It barely increases the price of your product, yet it makes sure your customers don’t buy one program and copy ten. Several command line slash (/) options are built into Prolok diskettes for customized security, depending on your needs. Software can be loaded easily onto Prolok diskettes using any system from a PC to commer¬ cial mass duplication equipment. Prolok is an engineering breakthrough of Vault Corporation, which has been successfully safeguarding software since the inception of secu¬ rity disk technology. Over 3500 businesses and organizations protect their valuable programs with Prolok. Simply contact Vault Corporation at 2649 Townsgate Road, Suite 500, Westlake Village. CA 91361. Or phone us at 800-445-0193 (U.S.) or 800-821-8638 (California). And find out why software freebies are becoming a thing of the past. VAULT CORPORATION S0FTHME PROTECTION. RKHT OM THE DISK. Copyright © 1984 Vault Corporation. Prolok is a trademark of Vault Corporation VHA - 8406 Inquiry 321 FEBRUARY 1985 ‘BYTE 233 Circuit-Board-Design Without the Tedium smARTWORK™ lets the design engineer create and revise printed-circuit-board artwork on the IBM Personal Computer. Forget tape. Forget ruling. Forget waiting for a technician, draftsman, or the CAD depart¬ ment to get to your project. smARTWORK™ software turns your IBM Personal Computer into a professional, high-quality drafting tool. It gives you complete control over your circuit-board artwork —from start to finish. smARTWORK™ is the only low- cost printed-circuit-board artwork editor with all these important advantages: □ Complete interactive control over placement and routing □ Quick correction and revision □ Production-quality 2X artwork from pen-and-ink plotter □ Prototype-quality 2X artwork from dot-matrix printer □ Easy to learn and operate, yet capable of sophisticated layouts smARTWORK™ trans¬ forms your IBM PC into a CAD system for printed-circuit-board artwork. Display modes include both sin¬ gle-layer black and white and dual-layer color, What makes smARTWORK so smart is that it understands electrical connections. Con¬ ductor spacing is always cor¬ rect, lines don't become too narrow, and connecting lines do not intersect other con¬ ductors. smARTWORK™ can automatically find and draw the shortest route between two conductors. Or you can specify the route. Twice scale hardcopy of your artwork is produced using the Epson dot-matrix printers or the Houston Instrument DMP-41 pen- and-ink plotter. Quick 1X check plot is also available from Epson printers. □ Single-sided and double¬ sided printed-circuit boards up to 10 x 16 inches □ Multicolor or black-and- white display □ 32 user selectable color combinations; coincident points can be displayed in contrasting colors. □ Can use optional Micro¬ soft Mouse as pointing device Dual-layer color display of a 2" by 4" section of a 10" by 16" circuit board The Smart Buy At $895, smARTWORK™ is an exceptional value, particularly when compared to conven¬ tional engineering workstation costs. Call or write us for more information on smARTWORK™ We'll be glad to tell you how smARTWORK™ helps us design our own circuit boards and what it can do for your business. Send a purchase order, or major credit card number, and smARTWORK™ can be working for you next week. System Requirements □ IBM PC or XT with 192K RAM, 2 disk drives and DOS Version 2.0 □ IBM Color/Graphics Adapter with RGB color or b&w monitor □ Epson MX-80/MX-100 or FX-80/ FX-100 dot-matrix printer □ Houston Instrument DMP-41 pen-and-ink plotter (optional) □ Microsoft Mouse (optional) “smARTWORK" and 'Wintek" are trademarks of Wintek Corporation. WINTEK CORPORATION, 1801 South St., Lafayette, IN 47904-2993, Phone: (317) 742-8428, Telex: 70-9079 (WINTEK CORP UD) 234 BYTE • FEBRUARY 1985 Inquiry 331 PARANOIA RadixMinus : = Radix -One; RadixMinus = ( RadixMmus - UlpRadix ) + One; x : = One - UlpOne; y = One - OneMinus; z = One - x; s = Radix - UlpRadix; t : = Radix - RadixMinus; u : = Radix - s; if (y = UlpOne) and (z = UlpOne) and (t = UlpRadix) and (u = UlpRadix) then writeln( ‘Add/subtract has a guard digit as it should.’ ) else writeln( ‘Add/subtract lacks guard digit, cancellation obscured.’ ) end {Guard}. presence or absence of a guard digit. If their results are equal, the guard digit is present. Otherwise it is prob¬ ably not. Those expressions are 1 - ( 9 / 27 - 3 ) and 1/2 - ( 9 / 27 * 3 ) + 1/2 For four-function calculators without parentheses or memory, you can use - 9 / 27 * 3 + 1 and - 9 / 27 * 3 + .5 + .5 A smaller test in Pascal could be: if (- 9 / 27 * 3 + 1 ) = (- 9/27 * 3 + .5 + .5) then writeln( Add/subtract has a guard digit.’ ) else writeln( Add/subtract lacks guard digit.’ ) Conclusion Paranoia is an unusual benchmark: it tests the quality of your software, not just its speed. Most common com¬ puter arithmetics have a half-dozen or more flaws that Paranoia finds, report¬ ing what kinds of calculations are harmed by them. Its use can be highly rewarding to those who seek to achieve very accurate, precise, numer¬ ical results from their programs. ■ Meet The Controllers. cmcvrr* Control Power, Peripherals, Spikes, and Glitches. Power Control™ protects computer circuitry and data stored in memory against the damage voltage spikes can cause. Puts on/off control of your computer, terminal, printer, and more at your fingertips in a slim panel unit sized to fit underneath your computer terminal. 16” width, 10” depth allows placement under terminal for fingertip control Additional switches give individual control over peripherals. Organizes power wires. 4 cords in- 1 cord out. Eliminates reaching over, behind and around devices to turn them on or off Master switch turns computer and on or off at same time. ©Relax Technology. The company that works so you can relax and get down to business. Contains a master switch (to turn your computer, terminal, printer, a modem or a lamp on or off at the same time) and three additional switches to turn peripherals on or off in any order. Relax Technology. 9 SRelax Technology. J^To order, phone: 415/47T6112 or mail to: K3101 Whipple Rd., #25, Union City, CA 94587 j *Calif. Residents add applicable sales tax. J Prices include shipping. in Power Control 1: $69.95* Power Control 2: $89.95* 10 amp circuit breaker. RFI noise filtering. IEC power connector. Power Control 3: $129.95* Cross suppression between all 4 outlets. Illuminated switches. 3stage RFI filter. enclosed 8 L D 5a I jn visa □ | Card # MasterCard S | Exp. Date Bank# 1 Name s 1 Address 9 'City St. Zip Signature s Inquiry 269 FEBRUARY 1985 • BYTE 235 When it comes to printers, we have the two best names in the business. The Xerox line of Diablo printers. There are a lot of printers to choose from. But there’s only one Diablo line. And it’s part of Xerox. To begin with, there are our Diablo daisywheel printers which have been voted number one for print clarity and quality in a brand preference study* But that should come as no surprise since we had a headstart on the rest of the industry, inventing the daisywheel back in 1972. There are also our Diablo dot matrix printers, known for their speed and endurance, they deliver perfect letter definition under the heaviest use. For producing just about any visual pre¬ sentation from graphics to text, our high quality Diablo color ink jet printers generate seven vibrant colors to create over 4,000 variations. Every Diablo printer is unusually quiet, reliable and compatible with most computers on the market including the IBM TeamXerox PC AI1 are Color Ink Jet Printers Full color graphics and text capabilities make these some of the most versatile in the world. Daisywheel Printers We invented the technology, and now its the accepted standard among letter- quality printers. 1 part of Team Xerox, a wide array of products, people and services to meet all your information needs. The Xerox line of Diablo printers is serviced by the national Xerox service force and Diablo service centers across the country. So if you’re in the market for a printer,go with two of the best names in the business. For the location of the Xerox office, authorized Diablo or Xerox dealer nearest you, call 1-800-833-2323, ext. 802. •Source Datamation Magazine 1983 Brand Preference Sriuly of printer preference by end users and OEMs. XEROX® and Diablo” arc trademarks of Xerox Corporation. IBM r is a trademark of International Business Machines Corporation. 1 Inquiry 365 phiT^- x9 tI ;uct l0 v ,: t Co^ s Y street t 42nd S N ,aU> ce ’ lOl* 5 pea 1 ■ yaaV» ^ove TftOl aon uet *e . 2 T. that Va »1 to Th at ..fit© 1 * frow t ^ ■ f tVV , aC te £S 1 rQ cha £ et lec aal®^- rt£ 20 t0 ,e it’ s 9 . a range ot vii-th pag eS 9 output t a 20° s £wfel» XEROX B4 Dot Matrix Printers At draft speed, characters come out crisp and clear, at up to 400 cps. At correspondence quality speed, characters are so readable they make the term "computer printo almost obsolete. 9tii '***>10 Si *t, J ~ 9 8: V e /V;° Pro' 1C *-f: nt er s •pfrJt*'* c? e Pry c ®«*, 2 2 tty ? n C( Co U *NUs s. 6 *0e • p ?*y Th e d j, ^rtd to .be n°*° et , ot c °r> a ' ° ot£ loe genet at :.l eo£»*&i «as ntS *■‘' 0 % nitre, ,th < Ts t BeN ^*r s “ „ a> ' r rr, ,°^c rs es -'Ss- <* c „ *°-TC£ s< CQi ~Qr QNo *£co, GNl Zl «ec e -la,.... «v 0 ^O* * r «AA ir °n e Cs , J °o. , Ph£f tu *r e 4e ‘o .> 0. 9r,3 ^POt • C iD ce Pt Pr tf 0 c P/» e nt 2 *t *r u Pg r ptf e s. <3 THE 8087AND 80287ARE IN STOCK! MicroWay is the world’s leading retail¬ er of 8087s and high performance PC upgrades We stock a complete selec¬ tion of 8087s that run at 5 and 8mhz. All of our coprocessors are shipped with a diagnostic disk and the best warranty in the business - 180 days! We also offer daughterboards for sock¬ etless computers such as the NEC PC and PCjr, and a board which increases the clock speed of the 80287 in the PC AT. Our new NUMBER SMASHER" will run the IBM PC at clock speeds up to 9.5mhz and achieves a throughput of .1 megaflops with 87BASIC/INLINE, Micro Way Intel Fortran, or Microsoft Fortran. Software reviewers consistently cite MicroWay software as the best in the industry! Our customers frequently write to thank us for recommending the correct software and hardware to meet their specific needs They also thank us for our same day shipping! In addition to our own products which support the 8087 and 80287, we stock the largest supply of specialized soft¬ ware available anywhere These include three FORTRANs, three PASCALS, APL, Intel’s ASM-86 and PL/M-86, several Cs, 87BASIC/INLINE, 87MACRO, 87FFT, and MATRIXPAK. For real time or multi-user applica¬ tions we offer FTTOS" - our implement¬ ation of Intel’s iRMX executive. Our new products include a professional debugger with 8087 support, support for Lotus 1 -2-3, and a translator that converts object modules into readable assembly language files If you have a question about which computer, lang¬ uage, compiler, operating system or ap¬ plication package is best suited to your problem, we can answer it. Just call: 617-746-7341 8087Support For the IBM PC, PC XT, PC AT and Compatibles. SCIENTIFIC SOFTWARE 87FFT " performs Forward and Inverse FFTs on real and complex arrays which occupy up to 512 K bytes of RAM. Also does convolutions, auto correlations, hamming complex vector multiplica¬ tion, and complex to radial conversions. Callable from MS Fortran or 87BASIC/INLINE_$150 87FFT-2 “ performs two-dimensional FFTs Ideal for image processing Requires87FFT...$75 MATRIXPAK" manages a MEGABYTE! Written in assembly language, our runtime package accurately manipulates large matrices at very fast speeds Includes matrix inversion and the solution of simultaneous linear equations Callable from MS Fortran 3.2, 87 MACRO, 87BASIC/INLINE, and RTOS.each $150 DATA ACQUISITION PACKAGE Interactive, user-oriented language which allows the acquisition and analysis of large data streams.CALL GRAPHICS PACKAGES Energraphics (stand alone). 295 Grafmatic for MS Fortran or Pascal. 125 Plotmatic for Grafmatic.125 Halo for Basic, C or Fortran. each 150 OTHER TOOLS Alpha Software ESP.595 Borland Sidekick Toolbox, or Graphics.45 COSMOS Revelation. 850 PSI MATHPAK.75 smARTWORK. 895 SPSS/PC.695 STSC APL# PLUS/PC.475 Pocket APL.85 DFixer A disk utility which thoroughly checks PC or AT hard disks for bad sectors and updates the MS DOS file allocation table accordingly.150 Requires RTOS or iRMX-86. All Intel compiler names and iRMX-86 TM Intel Corp P.O. Box 79 Kingston. Mass 02364 USA (617) 746-7341 RTOS - REAL TIME OPERATING SYSTEM RTOS is a multi-user, multi-tasking real time oper¬ ating system. It includes a configured version of Inters iRMX-86, LINK-86, LOC-86, LIB-86, OH-86, and Microway's 87DEBUG. Runs on the IBM-PC, XT, PC-AT and COMPAQ. 400 INTEL COMPILERS 1 FORTRAN-86.750 PASCAL-86.750 PL/M-86. 500 87C (LATTICE/MICROWAY).750 ASM-86.200 87BASIC/INLINE" converts the output of the IBM Basic Compiler into optimized 8087 inline code which executes up to seven times faster than 87 BASIC. Supports separately com¬ piled inline subroutines which are located in their own segments and can contain up to 64 K bytes of code. This allows programs greater than 128K! Requires the IBM Basic Compiler and Macro Assembler. Includes 87BASIC. $200 87 MACRO" - our complete 8087 software development package. It contains a “Pre¬ processor.” source code for a set of 8087 macros, and an object library of numeric functions includ¬ ing transcendentals, trigonometries, hyperbolics, encoding decoding and conversions For the IBM Macro Assembler, Version 1.0 or 2.0.$150 OBJ—ASM" - a multipass object module translator and disassembler. Produces assembly language listings which include public symbols external symbols and labels commented with cross references Ideal for understanding and patching object modules and libraries for which source is not available.$200 87DEBUG " - a professional debugger with 8087 support a sophisticated screen-oriented macro command processor, and trace features which include the ability to skip tracing through branches to calls and software and hardware interrupts Breakpoints can be set in code or on guarded addresses in RAM.$150 You Can TalkToUs! HARDWARE AND LANGUAGES 8087-3 5mhz $149 Including DIAGNOSTICS and 180-day warranty For IBM PC and compatibles 8087-2 8mhz $275 For Wang AT&T, DeskPro, NEC, Leading Edge 80287-3 5mhz $275 For the IBM PC AT 64K RAM Set $24 256K RAM Set $150 128K RAM Set pc at $225 NUMBER SMASHER" $995 9.5mhz 8087 coprocessor board for the IBM PC LOTUS 1 -2-3" 8087 Support call FORTRAN and UTILITIES Microsoft Fortran 3.2.239 IBM Professional Fortran.595 Intel Fortran-86 1 . 750 FORLIB+. 65 STRINGS and THINGS.65 C and UTILITIES Lattice C.299 Microsoft C. 329 C86.299 C TOOLS.85 C Trigs and Trans.150 BASIC and UTILITIES IBM Basic Compiler.270 87BASIC/INLINE.200 Summit BetterBASIC ”.175 Summit 8087 Module.87 MACRO ASSEMBLERS IBM Assembler with Librarian.155 87 MACRO.150 PASCAL Microsoft Pascal 3.2.209 Borland Turbo. 45 Turbo with 8087 Support. 85 1 -2-3 and Lotus are trademarks of Lotus Development Corporation. Formerly MicroWare, Inc. - not affiliated or connected with MicroWare Systems Cor¬ poration of Des Moines, Iowa. 238 BYTE • FEBRUARY 1985 Inquiry 221 SCIENCE MODELING MASS-ACTION KINETICS by Alan Curtis I n the future, microcomputers may have a substantial role in major scientific computations AT THE UNITED KINGDOM Atomic Energy Research Establishment. Har¬ well, we have assembled scientific and technological applications of our FAC¬ SIMILE reaction-kinetics program. All can be run on one mainframe or an¬ other, but for the purposes of this ar¬ ticle I have selected a few of those that now run on an IBM PC with 512K bytes of RAM (random-access read/ write memory). Like other simulation modelers such as DYNAMO, FACSIMILE facilitates the calculation of a set of differential equations that describe the con¬ tinuous evolution of a system from a known initial configuration and then flexibly formats the output. Simulation models solve problems repeatedly and carry out thorough statistical analyses to find the best fit among parameters. For such work, whether the microcomputer is prac¬ tical depends on your point of view. A fairly large program that takes, say, three minutes on an IBM mainframe might well run all night on the PC, pro¬ vided you use an 8087 math copro¬ cessor; without it, running time would probably be about 10 times longer (this is a guess—we haven't checked it out). Let's take a look at several examples of how simulation models can be used. Uranium from Seawater? Seawater contains uranium, an ex¬ tremely valuable fuel, at an extreme¬ ly low concentration. Suppose we want to extract the uranium. The question is whether an economically viable extraction process exists. We might try pumping the seawater through an ion-exchange column, a tube tightly packed with minute spheres of a resin that preferentially absorbs uranium ions from solution and replaces them with ions of an¬ other metal. When sufficient water has been pumped through, the col- A lan Curtis leads the Applied Mathematics Group in the Computer Science and Systems Division at the U.K. Atomic Energy Research Establishment, Harwell. He is a graduate of Cambridge and a former lecturer at the University of Sheffield. He can be reached at AERE, Harwell, Didcot, Oxfordshire 0X11 ORA, England. umn is removed and cut up. and or¬ dinary chemical means remove the uranium (now at high concentration in the resin) for further processing. Ob¬ viously the value of the recovered uranium must offset the costs of manufacturing the resin and the tubes, of the pumping power, and of the postprocessing to recover the uranium from the resin. A feasibility study of the problem called for a simulation model because the rate coefficients for the absorp¬ tion of uranium by the resin were not known. Experiments removed sup¬ posedly identical ion-exchange col¬ umns at different times, pumped dif¬ ferent rates of seawater, and analyzed uranium contents at various points along the columns. Parameter-fitting options might have determined the best fit for these experimental results. As it turned out, variations in prop¬ erties, mainly the density of packing of the resin from one column to another, and even along the length of a single column, invalidated the model, which assumed a single uniform column. A more complicated ( continued ) FEBRUARY 1985 ‘BYTE 239 MODELING model might have involved some of the variability, but the experiments had shown that the whole process was not likely to be economical anyway Such negative results are not fail¬ ures in scientific investigations. On the contrary we understand far better the requirements for the simulation if we decide to pursue it again. A modified model, now used for demonstration purposes, contains parameter values chosen to exhibit significant saturation. (There are other ways of solving the problem of model¬ ing an ideal ion-exchange column if you know that saturation is negligible.) To model the behavior of the col¬ umn, we divided its length into 20 equal-size sections. One array of 20 variables represents the concentra¬ tion of uranium in the seawater in each section, a second array represents the concentration in the resin, and a third array checks for saturation by monitoring available ab¬ sorption sites in the resin. The simula¬ tion models the flow of seawater by passing material from one element of the array to the next at a rate reflect¬ ing the time it takes for the water to move the length of a section. The first element receives material with the concentration in the incom¬ ing water; the last element sends material to a "waste" variable. The simulation of the exchange process between solution and resin uses modeling features for chemical reac¬ tions; a second-order reaction be¬ tween corresponding elements of the first and third arrays represents ab¬ sorption, and a first-order reaction represents the reverse process. The program runs on the IBM PC in about 5 50 seconds (compared with 2.5 sec¬ onds on the IBM 308IK), so that even a parameter-fitting run, which ex¬ ecutes several dozen simulation runs, could be done overnight on the micro. It is fair to say that this investigation could have been done on the PC from the beginning. The model provides three types of output: "snapshot" graphs, which show how the concentrations vary along the column at any time; "time- course" graphs, which illustrate how integrated quantities, such as the total uranium trapped in the resin, vary with time; and tables of numbers that give more accurate time histories of these integrated quantities. Figure 1 is a snapshot graph from this prob¬ lem. By plotting the independent vari¬ able (distance along the column) along the y -axis and the dependent variables along the x-axis, a printer can plot graphs of any length. Points X represent the concentration of uranium in solution, multiplied by 100,000,000; points Y represent con¬ centration in the resin, multiplied by 10,000; points S represent available sites, multiplied by 10,000. Starting up a Chemical Reactor In a 1981 thesis for Imperial College, London, I. T. Cameron proposed this chemical-engineering problem. It is much simpler than the others de¬ scribed here, but in practice it had proved difficult to solve. Initially a chemical reactor contains neutral gas. A pump starts to supply liquid feedstock through an inlet valve, compressing the gas and re¬ ducing the flow from the pump because of back pressure. A chemical reaction takes place in the vessel, and product mixed with unused feed¬ stock, driven by the gas pressure and the liquid head, flows out through an outlet valve. In time the system reaches a steady state, but the main focus of the simulation is the start-up transient. Results of interest include the peak gas pressure and tempera¬ ture (for vessel design) and the loss of unused feedstock and substandard product. The model includes the ef- (continued) PLOTTING PARAMETERS FOR GRAPH INDEPENDENT VARIABLE :DIST STREAM 2 (PLOTTED VERTICAL LY ) DEPENDENT VARIABLES (PLOTTED HORIZONTALLY) X SCALE 1.0000D-03 X Y SCALE 1.0000D-04 Y S SCALE 1.00000-04 S 0 0.5 1 1.000D*00 1 Y 1 1 1 s 1 X 1 3.0 0 0D * 0 0 1 1 1 Y 1 1 1 1 1 S X 1 1 1 5.0000*00 1 1 1 7.0 0 0D♦0 0 1 1 1 Y 1 1 1 1 1 S X 1 1 9.000D+00 1 1 1 Y 1 1 1 1 s 1 1 1.1000*01 1 Y 1 1 1 xs 1 1.3000*01 1 l 1 Y 1 1 1 IX s 1 1.5000*01 1 1 1.7000*01 1 1 1 Y 1 1 1 X 1 s 1 1.900D+01 1 1 1 Y 1 1 X 1 s 1 2.100D + 01 1 Y 1 1 X 1 s 1 2.3000*01 1 Y 1 1 1 X 1 s 1 2.5000*01 1 1 1 1 2.7000*01 1 1 1 Y 1 t 1 1 X 1 s 1 2. 900D*01 1 l 1 Y 1 1 X 1 s 1 3.100D*01 1 Y 1 1 X 1 s 1 3.300D + 01 1 1 1 Y 1 I 1 X 1 1 s 1 3.500D*01 1 1 1 1 1 3.7000*01 1 1 1 Y 1 1 X 1 I s 1 3.9000*01 1 1 1 Y 1 1 X 1 1 s 1 Figure 1: A snapshot graph from the ion-exchange-column problem. 240 BYTE • FEBRUARY 1985 Iffrf tin jil If you're using more than one of these... You should be using this. THE INTEGRATOR from Modlbch. With THE INTEGRATOR™you can combine YOUR choice of the world’s most powerful software into your own custom-integrated system. Plus, you get a series of powerful office tools. The greatest integrated system. IaHus™ 1-2-3™, dBase II™, WordStar®, and other standards act as one super-powerful software system using THE INTEGRATOR. No prepackaged integrated software pro¬ duct can match the power, versatility, and fea¬ tures of THE INTEGRATOR and your software. More important, THE INTEGRATOR allows you to use the files you’ve collected over time. Prepackaged integrated systems may not. There are no new commands to learn to run your software. It remains unchanged; use it as always. THE INTEGRATOR simplifies computing for the novice and expert alike, by shielding the user from the operating system with Help screens and Pull-down menus. THE INTEGRATOR takes command of the operations, the reformatting of files, eliminates salutation commands and keystrokes. You work faster and more efficiently. THE INTEGRATOR also adds four quickuseful office tools. A daily calendar with an alarm to remind you of important engagements, a full func¬ tioned calculator w hich can save and execute repetitive functions, a Note Pad for quick ideas, and a floppy-dump File Gabinet to free up hard disk space. An IBM PC/XT®, or workalike with 256K, a hard disk, and any of the software above is all you need. Your local ModTech™ dealer has more information and the ability to add other soft¬ ware packages to the list. Even programs you’ve designed yourself. Call ModTech for the dealer nearest you. 800-223-6250. In ( A : 800-521-6790 Modern Technologies International, Inc. 656 Bair Island Road, Suite 302, Redwood City, CA 94063 MODTECH AG, Miihlegasse 25, CH-8025 Zurich, Switzerland Tel. 01/252 04 20 Tlyc 36 456 rlfr ch Trademarks: THE INTEGRATOR is a trademark of Modem Technologies International ModTech— Modern Technologies International Inc Registered Trademarks: IBM. PC/XT—International Business Machines Corporation Trademarks: Lotus 1-2-3— Lotus Development Corporation. dBase II —Ash ton-Tate. Registered: WordStar—Micropro International Corporation. Inquiry 223 FEBRUARY 1985 ‘BYTE 241 MODELING PLOTTING PARAMETERS FOP GRAPH STPEAM 1 INDEPENDENT VAPIA8LE : TIME (PLOTTED VERTICALLY) DEPENDENT VAPIABL ES (PLOTTED HORIZONTALLY): CA SCALE 2.40000+00 A CB SCALE 1.5000D-02 B CPI SCALE 2.40000 + 00 P FI scale 1.2000D+02 1 F 2 SCALE 1.2000D + 02 2 0 0.5 1 0.0000+00 5.00OD-03 1 . 00CD-02 1.500D-02 2 . 000D-02 2.50CD-02 3.000D-02 3.50CD-02 4.0CCD-02 4.5000- 02 5.000D-02 5.500D-02 6.000D-02 6.50 CD - 0 2 7.C0CD-02 7.5000- 02 8 . OOOD-02 6.50CD-02 o.000D-02 9.5000- 02 1.C0CD-01 1.05CD-01 1.100D-01 1.15CD-01 1.20CD-01 1.250D-01 1.3C0D-01 1.35CD-01 1 . -00D-01 1 . -50D-01 1.5000- 01 1.5500- 01 1 .6C0D-01 1.6500-01 1.700D-01 1 . -5CD-01 1.8000-01 1.85CD-01 1. a C CD - 01 1. «50D-01 2.0000-01 2.05CD-01 2.1000-01 2.1500-01 2.2000 - 01 2.250D-01 2.300D-01 2.3500- 01 2 . wOOD-01 2 . -500 -01 2.5000- 01 2.5500- 01 2.6000-01 2. ©5CD- 01 2.7000-01 2.7500-01 2.8C0D-01 2 . e50D-01 2.900D-01 2.9500 - 01 3.000D-01 3 . C50D-01 3.1000-01 3.150D-01 3.200D-01 3.2500-01 3.3C0D-01 3.3500- 01 3.iOCD-Ol 3. W50D-01 3.500D-01 3.550D-01 3.600D-01 3.650D-01 3.-COD-01 3."500-01 3.8000 - 01 3.8500 - 01 3.900D-01 3.350D-01 4.0000-01 - 1-1 - I 1 I 1 I 1 B I 1 - 1-1 - I 1 A I 1 A I 1A I 1 - A1- 2 P 2 P 2 P 2 --P-2-- P 2 P 2 2 B - -3 ■ B B A1 A I 1 A I 1 A I 1 A-II- I 1 I 1 I 1 I 1 -II- I 1 1 1 1 1 B 1 B 1 B - -1-B IB 1 1 B 1 P A - PA- - PA P AP - -B- B 1 B 1 1 2 1 AP t B 1 1 1 1 2 1 A P 1 3 1 1 1 1 2 1 A P 1 B 1 1 1 1 2 1 A P 1 B 1 1 1 1 2 1 A P 1 3 1 1 1 1 2 1 A P 1 B 1 1 1 1 2 A P 1 B 1 1 1 1 2 A P 1 3 1 1 1 1 2 A P t B 1 1 1 1 2 A 1 P 1 B 1 1 1 1 2 A 1 P B 1 1 1 1 2 A 1 P B 1 1 1 I 2 A 1 PB 1 1 1 1 I 2 1 P 1 1 t 1 1 2 1 BP 1 1 I 1 1 2 1 BP » 1 1 1 1 A2 1 BP 1 1 1 1 1 A 2 1 B P 1 1 1 1 A 2 1 B P 1 1 1 1 A 2 1 3 P 1 1 1 1 A 2 1 B P 1 1 1 1 A 2 B 1 P 1 1 1 1 A 2 B 1 P 1 1 1 1 A 2 B 1 P 1 1 1 1 A 2 B 1 P 1 1 1 1 A 1 2 B 1 P 1 1 1 1 A 1 2 B 1 P 1 1 1 1 A 1 2 B 1 P 1 1 1 1 A 1 2 B 1 P 1 1 1 1 A 1 2 B 1 P 1 1 1 1 A 1 2 B 1 P 1 1 1 1 A 1 2 B 1 P 1 1 1 1 A 1 2 B 1 P 1 1 1 feet of pressure on inlet and outlet flow rates as well as the progress of the reaction, the depth of the liquid, and the thermodynamics of the gas. Output consists of time-course graphs and tables of numbers. The graphical output (see figure 2) illus¬ trates an interesting phenomenon that occurs fairly often. There is a long transient before the approach of the steady state, but the initial transient is very fast. To study the initial part ef¬ fectively, it is necessary to plot many points at small time intervals. Graphs, therefore, have the independent variable (time in this case) plotted downward and the dependent vari¬ ables plotted from left to right; thus (with continuous paper) there is no limit to the length of the plotted graph. However, if the PC screen dis¬ plays the graph as it is produced, only about 2 5 lines are shown at a time, so a printer is essential. Death of a Star When a typical "main sequence" star has been burning and radiating energy away for a few billion years, it has transmuted all of its original lighter elements into carbon and oxy¬ gen and must enter a carbon-burning phase. During this time, the internal pressure needed to support the star's weight against its own gravitational at¬ traction has required high density and temperature, which in turn make the star opaque to radiation. According to Planck's law, the star radiates at a rate determined by its surface area and temperature. There¬ fore, when the star's lighter elements are exhausted and its energy from nuclear reactions becomes inade¬ quate to support its weight, it starts to contract under gravity; this in¬ creases its internal temperature until it reaches about 1 billion degrees ( continued ) Figure 2: A time-course graph from Cameron's reactor problem. A = concentration of feedstock ; B = concentration of an intermediate (on larger scale); P = concentration of product ; 1 = inlet flow rate ; 2 = outlet flow rate. 242 B Y T E • FEBRUARY 1985 NEW A powerful multifile database with a language V Fersaform’s new XL database isn’t just promises—it’s here now! 'And it offers—YES, FOR ONLY $99—all the features you’d expect in a database costing 4 times as much. Accounting applications are XL’s strength. Invoicing, purchasing, receiv¬ ables, and shipping almost create themselves as you design the forms— and XL transfers data between them. There’s an Invoicing, A/R and Inven¬ tory application—source code included—in the package that shows how it’s done. The power’s there. And unlike packaged accounting programs, you can do them YOUR way. _ VersaForm XL dBASE III* R BASE 4000* PRICE STRUCTURED 99 695 495 LANGUAGE Y Y Y MULTIFILE COLUMNS WITHIN Y Y Y DATA RECORD Y N N DATA ENTRY CHECKING BUILT-IN MUST WRITE PROGRAM BUILT-IN ON-SCREEN CALC BUILT-IN MUST WRITE PROGRAM MUST WRITE PROGRAM FORMS OUTPUT BUILT-IN MUST WRITE PROGRAM MUST WRITE PROGRAM DATE ARITHMETIC Y Y N DATA TYPES DYNAMIC FIXED FIXED COLUMN TOTAL OPERATOR Y N N QUERY BY EXAMPLE Y N EXTRA MAX FILE SIZE 4 MB OPEN OPEN MAX RECORD SIZE 4000 4000 1530 *dBASE III is a registered trademark of AshtonTate. R BASE 4000 is a trademark of Microrim. Inc. • XL’s structured language can access multiple files. 48 built-in functions give control of file access, printing, and user dialogues. You’ll develop transaction-based applications with an ease you’ve never experienced before. And all at this unheard-of low price. • VersaForm XL’s unique form-oriented data structures let you easily set up forms and ledgers—even those with columns! Application develop¬ ment is FAST, FAST, FAST. And since forms are the way that businesses already store their data, the transition is smooth. That’s why VersaForm XL is so easy to operate even for high-turnover clerical people—it starts from where they are now. • Automatic data entry checking and on-screen calculation make trans¬ actions error-free. Stored print formats make output formatting a snap—you can quickly match existing paper forms. VersaForm XL’s report generator is clear and intuitive. Designers can pre-install reports, users can set up their own. • Query-by-forms (at no extra cost) lets users go right to the data they need. No query language to learn—forms are the natural language of business. Ironclad Money-Back Guarantee Try VersaForm XL for 30 days. If you’re not fully satisfied, return it. We’ll gladly refund your money. Order now, and have the pleasure of using the right tool at the right price. You can’t lose! VersaForm XL runs on IBM PC, XT, AT and compatibles. Requires 192K, two 360KB drives, DOS 2.0 or later. Hard disk recommended. Standard VersaForm (single file, no language) available for 64K, 2-drive Apple II or 128K IBM PC. $69. VersaForm XL Applied Software Technology 170 Knowles Drive, Los Gatos, CA 95030 (408) 370-2662 Yes! Rush me Versaform XL for the IBM PC ($99)_ Standard Versaform (Single file, no language) for the IBM PC ($69)_ Apple II (+,E,C) ($69)_ Credit card members can order by phone. Toll-Free: 1-800-538-8157 ext 880 In California Toll-Free: 1-800-672-3470 ext 880 Enclose check or money order with coupon. Include $4.50 for U.S. Shipping and handling. $7.00 for C.O.D. California residents add 6.5% tax. _My check or money order is enclosed _Send C.O.D. Charge my_MasterCard _Visa Account No_Expires_ PLEASE PRINT CLEARLY 2 85 Name_ Address _ City_State_Zip_ Phone_Signature_ Inquiry 187 FEBRUARY 1985 • BYT E 243 MODELING Generation of smog in urban areas is a complex phenomenon that involves numerous reactions among over 100 trace gases in the atmosphere. Kelvin. This temperature is sufficient to cause carbon nuclei to begin fus¬ ing together to form heavier elements. This carbon-burning process supplies the necessary energy to make further gravitational contraction unnecessary If the star is an ordinary one—not too big—the temperature generates enough pressure to keep the star stable until the carbon is exhausted. The temperature and density do not rise further, and the carbon-burning phase takes place relatively slowly in conditions of hydrostatic equilibrium. In a more massive star, however, the pressure is inadequate, contraction continues, the temperature and den¬ sity continue to rise, and carbon burn¬ ing proceeds explosively fast; the star becomes a supernova. In either case, the phase is extremely short in rela¬ tion to the earlier leisurely history of the star; typical durations may be a week or two for an ordinary (less massive) star or about a second for a supernova. Simulations have been successful for both the hydrostatic and the ex¬ plosive carbon-burning phases. In both cases, the set of nuclear reac¬ tions is the same, but the rate coeffi¬ cients depend on temperature and density, variables that vary with time in a way determined by the stellar dynamics. To model the hydrostatic version, temperature and density are kept constant and rate coefficients are computed only once, at the start of the run. For the supernova version, temperature and density are defined as functions of time, and the rate coef¬ ficients are frequently recalculated during the run. The coding of the nuclear reactions, although they are numerous, is rela¬ tively easy because their structure is exactly that of chemical reactions. Protons, neutrons, neutrinos, alpha particles, and 36 heavier nuclides are simulated. A run of the hydrostatic version takes about 8200 seconds (2.3 hours) on the PC. compared with about 2 5 seconds on the IBM 308IK. This is a larger speed ratio than average—about 330:1—but we may be able to improve the performance. The supernova ver¬ sion takes about 67 seconds on the 3081, so we expect it to take about 22,000 seconds (say. 6 hours) on the PC. Output consists of time-course graphs of the mass fractions of the various nuclides, plotted on loga¬ rithmic scales for time and for the mass fractions, and of tables giving numerical values for the mass fractions as functions of time. The graphs show clearly the stages at which the various nuclides are produced or used up; in many cases, this occurs in straight lines on the log-log plot, indicating mass fractions proportional to a (positive or negative) power of the time. Photochemical Smog Generation The generation of photochemical smog in urban areas is an extremely complex phenomenon that involves numerous reactions among well over 100 trace gases in the atmosphere. Important elementary steps in the process involve the breaking of chemical bonds when a molecule ab¬ sorbs solar radiation; these steps switch off rapidly as sunset ap¬ proaches and switch on equally fast ( continued ) NEW AMBER CRT'S Eliminates strobe, flicker, and eye fatigue Made with Lead/Strontium impregnated glass that stops X-ray emission 0 0 H/T Available in slow decay green or medium decay L_J “European Amber" (the standard in Europe) 0. 0 I Ideal for word processing and programming, I_I yet fast enough for games ana graphics 0 I |^Comes with a 30 day money back I I guarantee I i^Easily installed (comes with pre- 1 I mounted hardware) High-contrast double dark face glass that also cuts U.V. radiation Tube face is etched to stop glare Ideal for word processing and \ Warranted for one full year against manufacturing defects or tube failure Now, you con easily upgrade your monitor to exceed European standards for persistence and color with the installation of a Langley-St.Clair Soft-View'" CRT! Available for the TRS-80," TeleVideo,™ Kaypro," Heath;" DEC," Zenith,™ IBM PC," Apple III " and a wide variety of other monitors. TO ORDER: Call now to order your Soft-View™ CRT from Langley-St.Clair—$99.95 Plus $7 for pocking ond UPS Shipping ($17 for Over¬ seas, Parcel Post, or UPS Blue Label). Add sales tax where applicable. Visa/MasterCard orders welcomed Langley-St.Clair Instrumentation Systems, Inc. 132 W 24th St., New York, NY 10011 In New York call 212 989 6876 CALL 800 221-7070 244 BYTE* FEBRUARY 1985 Inquiry 174 MCI MCI Mail Western Union EasyLink" The Source SourceMaiT” Which electronic mail service delivers much more than mail? SourceMail SM Electronic Mail Mailgram® Message Service PARTICIPATE™ Computer Conferencing CHAT Interactive Communications News Bulletins UPI News Service Associated Press Scripps-Howard News Service Accu-Weather™ Every one of these electronic mail services does a very good job of delivering the mail. But only one delivers so many more online ser¬ vices with equal expertise. The Source. With The Source, you can have the daily news delivered along with your daily mail. Make airline reservations. Trade stocks. Hold a computer confer¬ ence. Communicate with thousands of people who share your interests. Even get the latest word on new hardware and software products, in seconds. All this, and more, along with the electronic mail service called “the most powerful available anywhere.” And all for just S49.95, plus reasonable hourly usage fees. Call 800-336-3366* and you can have the power of The Source working for you in a mat¬ ter of minutes. Or for more informa¬ tion, visit your nearest computer dealer or mail the coupon below. The Source is a service murk of Source Telecomputing Corporation, a subsidiary of The Readers Digest Association. Inc. The source services are offered in participation with Control Data Corporation. ©Source Telecomputing Corporation. 1985. MCI MaiP™ is a service mark of MCI Communications Corp. EasyLink’^ 1 is a service mark of Western Union. *In Virginia or outside the continental U.S. call (703) 734-7500. Please send me more details about The Source. The Washington Post Electronic Edition Sports BYLINES Feature News Portfolio Management Real-Time Stock Quotes Delayed Stock Quotes Spear Securities Online Trading Media General STOCK VUE Donoghue Investment Newsletter INVESTEXT Research Reports f 1st Qtr. 1985) Management Contents Publication Abstracts Emplovment Services UN I ST OX Market Reports Commodity World News BIZ DATE Business Magazine MICROSEARCH™ Name Telephone # Reviews Member Directory Address POST Bulletin Board Classifieds City State Zip Member Publications Official Airline Guide * □ □ yes no 1 own a personal computer. A-Z Worldwide Hotel Guide Mail to: Source Telecomputing Corp. 1616 Anderson Road McLean, VA 22102 Travel, Hotel Reservations & CCBY02 INFORMATION NETWORK The most powerful resource any personal computer can haw. Ticketing Restaurant Guides Travel Tips, Tours, Discounts Movie Reviews CompuStore Electronic Shopping Games, Educational Quizzes Inquiry 292 FEBRUARY 1985 • B Y T E 245 MODELING at dawn. Rate coefficients also de¬ pend on smaller day/night variations such as temperature and water vapor content. Thus the behavior of the chemistry during the night is quite dif¬ ferent from that during the day and the switching processes are technical¬ ly difficult for many differential- equation solvers to handle. The model of this process is by far the largest and most complicated of those described here. The model in¬ volves a total of 300 reactions among 135 chemical species; the data oc¬ cupies about 620 lines of code. The model also requires larger working arrays than the others, but it can be fitted into 470K bytes of RAM. WHY WOULD ANY SANE PERSON SPEND $199 FOR A BetterBASIC SYSTEM WHEN DOS's IS FREE? HERE ARE 10 REASONS: TEST YOUR SANITY 1 * Full support for 640K memory 2 * Structured language with: BASIC syntax 3* Separately compiled program modules 4# Speed: FAST 5 * Extensibility (Make your own BASIC.) User-defined procedures and functions Built-in windows support 8* Interactive programming language based on an incremental compiler 9* 8087 matFi support 10 . Runs on IBM PC, IBM PC/XT and compatibles Summit Software Techinology, Inc.™ P.O. Box 99 Babson Park Wellesley, MA 02157 (617)235-0729 BetterBASIC is a trademark of Summit Software Technology, Inc IBM PC, IBM PC/XT and PC/DOS are trademarks of International Business Machines Corp. MS-DOS is a trademark of Microsoft Corp. NOW AVAILABLE FOR THE TANDY 2000 & 1200 Sane Programmers Order BetterBASIC Now Price: $199 8087 Math Module: $99 Runtime System: $250 Sample Disk: $10 MasterCard, VISA, PO Checks, Money Orders, and COD. accepted.. Simulating 50 hours of real time (thus seeing how much greater the pollu¬ tion is on the second day than the first) takes about 110 seconds on the IBM 308IK; we are not yet able to run it on the PC, but we might expect a speed ratio similar to that for the astrophysical problem. It is thus at the limit of practicability on the PC (at pre¬ sent) so far as running time is con¬ cerned, but it is interesting that the model would still run faster than real time. Simulation of the second 24 hours takes about one-third of the total time, and we would expect sub¬ sequent days to run at approximately this speed. Output consists mainly of time- course graphs, which illustrate clearly the buildup, with afternoon peaks and nighttime troughs, in the concentra¬ tions of the important pollutants. Conclusion I have presented only a few of the many scientific and engineering appli¬ cations that are practicable on a micro like the IBM PC with 512K bytes of RAM and an 8087 math coprocessor. I hope, nevertheless, that I have con¬ veyed a feel for what I am sure has a very big future—the use of micro¬ computers for major scientific compu¬ tation. ■ For Further Information For information on some specific microcomputer simulation modelers, contact: Atomic Energy Research Establishment Harwell, Didcot, Oxfordshire OX11 ORA. England (FACSIMILE) Pugh-Roberts Associates Inc. 5 Lee St.. Cambridge, MA 02139 (Micro-DYNAMO) ACKNOWLEDGMENT 1 would like to thank the United Kingdom Atomic Energy Research Establishment, Harwell, for permission to publish the material about FACSIMILE contained in this article; and I would also like to thank my colleagues Philip Sweetenham and Kevin McPherson for providing me with information about the test runs they executed. 246 BYTE- FEBRUARY 1985 Inquiry 300 Here’s The Sawy-est True Dual Trace 10 MHz Digital Storage Scope You Ever Saw ... At The Saving-est Price. Only $595. UPPER TRACE LOWER TRACE TRIGGER LogicScope ip 1 i 1 i ' r 1 n i 1 f i' 1 r ■ 1 1 1 ■ 1 ■ 1 ■ 1 ■ ' 1 1 ■ \ ■ 1 ■ ROY UNC 1 1 10 iJS MS SEC TRIG D IJNCAl J L TIME BASE AfSJDSAIVlPLE RATE P IVIEfVlORV UT l_-r TRIC MM ■ A-B MR A > B MR' SVC SVC EXT EXT UlCE PCLK EXT I » The Handy New LogicScope” 136 True Dual Trace • 10 MHz Real Time Bandwidth • 3 Input Channels *1/0 Port Digital Waveform Storage • Boolean Waveform Operations • Audio Functions 8.0 (L) x 4.5 (D) x 1.75 (H) Inches • 1.25 Pounds • 9 Volt Battery/AC Operation Consider the LogicScope 136 ■ The LogicScope 136 is the next logical step in test instru¬ mentation for you. It combines many of the features and capa¬ bilities of sophisticated logic analyzers and oscilloscopes . . . and it fits in your hand. Never before has so much technology been available in so small an instrument, at such a low price. ■ The pocket-sized LogicScope 136 is made possible by a patented breakthrough in display technology. The conven¬ tional CRT has been replaced by a unique array of 400 LED’s that permits simultaneous display of two digital waveforms. ■ The 136 can be used for viewing single shot events, or repetitive waveforms. It can be operated in real time mode, or in memory mode which permits acquisition and storage of up to 50-100 bit waveforms. These can be recalled, logically com¬ pared (AND, OR, EXCLUSIVE OR) to other input waveforms, or output to an external device via an I/O port. This I/O port will also accept future add-on 136 Modules. ■ Its very low cost, convenience and ease-of-use make the LogicScope the ideal instrument, for designing, troubleshooting or repairing digital systems. Made in U.S.A. Inquiry 252 Consider its Engineering & Field Service Applications: ■ On microprocessor-based systems, check the timing rela¬ tionship of various parameters relative to the system clock and other key events. Its storage capability allows visual and logi¬ cal comparison of non-repetitive waveforms to known refer¬ ence signals. Output in the start-up of the digital device can be compared to reference signals to determine the operating state of the device. Questionable waveforms can be stored for analysis. ■ Its light weight and small size make the LogicScope conven¬ ient to take on every service call. The 136 provides much more information for trouble shooting a digital system or peripheral than a logic probe or digital counter without having to lug an oscilloscope or logic analyzer along. Contact us for the name of your local distributor poc. you must transform each atomic coordinate (x,y,z)i as: Xi' = (Xi-Xo) cos(0) 4- (y,-y 0 )s\n() yl = -(x,-x o )sin(0) + (^-y 0 )cos() and to rotate through a polar angle 6, you must transform each atomic coordinate as: yi = i^'cos(0) + (z,-z o )sin(0) Zi = -i^'sin(0) + (z f -z o )cos(0) The computer uses the new result¬ ing rotated coordinates (x',y",z')i to calculate the 3-D perspective view of the molecule. For convenience you may define the center of rotation (x,y,z) 0 to be halfway between the minimum and maximum extent of the molecule (along each axis). 3-D Perspective To display a molecule in 3-D on a computer screen, the light coming from the two-dimensional CRT (cathode-ray tube) screen must be made to appear as if it comes from a three-dimensional object (i.e., the molecule). One way to do this is il¬ lustrated in figure 1 (see also refer¬ ences 4 and 6). The human observer is in the "viewing position" at a distance D from the CRT screen, which is illustrated as a two-dimen- 252 BYTE • FEBRUARY 1985 VIEWING MOLECULES sional x.z plane, seen from the side. Projected on this "screen" is a 3-D molecule, of which one atom has the coordinates (x.y.z),. We then trace several light rays from the viewing position through the three-dimensional-object points. The points where these rays intersect the CRT plane is where the object should be placed when drawn on the CRT screen. By comparing similar right triangles formed with the viewing position, the y-axis, and either the (x.y.z)i or (x.z) is points, we can calculate the screen coordinates as: x is = DXi / (D - yi) and z is = DZi / (D - y t ) In practice, the leading multiplica¬ tive factor of D will be dropped because the screen coordinates will be rescaled later to fill the screen. The apparent size of each atom should also be scaled as above so that the atoms appear smaller as they get fur¬ ther away. In realistic 3-D perspective, some atoms will be in back of other atoms and hence should not be visible. This is the so-called "hidden-surface prob¬ lem." An easy, if crude, solution is to simply sort the atoms by depth and draw from the back forward, always overwriting each successive layer of atoms. When each successive atom is drawn it exactly overwrites the por¬ tion of the object that it would nor¬ mally obscure. This is the approach I have used here. The Program I have implemented the theory out¬ lined above in MODEL3D (listing 1). a program written in Microsoft BASIC for the Macintosh. [ Editor's note: The source code for MODEL3D is available for downloading via BYTE net Listings. The number is (603) 924-9820.| The pro¬ gram first asks for the name of the data file containing the atomic coor¬ dinates of the molecule you wish to draw. You can obtain this information from college-level chemistry or physics textbooks, or from the ( continued ) Listing 1: The Source listing of MODEL3D. a Microsoft BASIC 1.0 program to draw 3-D perspective views of molecules. 10 * *** MODEL3D.BAS *** 20 ’ Draw a 3D perspective view of a molecule with rotation 30 ’ For private, noncommercial use only. 40 ’ ©E. Kirkland 4-JUL-84, added printer distortion 9-SEP-84 50 • 60 ’ NOTE: Remember to shrink command window to lower left 70 ’hand corner so that the lower right side of screen is visible 80 ’ 90 DEFINT I - N:DEFSNG O - Z:DEFSNG A - G 100 DIM IE(4),IP(12),X(600).Y(600),Z(600),S(600) 110 ’ 120 ’ Define shading bit patterns for sphere 130 IP(0) = &H4411 :IP(1) = IP(0):IP(2) = IP(0):IP(3) = IP(0) 140 IP(4) = &H55AA:IP(5) = IP(4):IP(6) = IP(4):IP(7) = IP(4) 150 IP(8) = &HFFFF:IP(9) = IP(8):IP(10) = IP(8):IP(11) = IP(8) 160 ’ 170 ’ Ask what to do 180 CLS:INPUT “Data file name : ’’.FILES 190 INPUT “Azim., polar angles : ”, PHI,THETA 200 INPUT “Viewing distance : ”.VIEWD:INPUT “Size mag. : ”,SMAG 210 INPUT “Type 1 for printer:”,IPRINT 220 ’ Printer distortion correction factor 230 IF IPRINT = 1 THEN DISTORT = 1.094 ELSE DISTORT = 1! 240 TIM# = TIMER 250 PHI = PHI*3.14159/180!:THETA = THETA*3.14159/180! 260 CP = COS(PHI):SP = SIN(PHI):CT = COS(THETA):ST-SIN(THETA) 270 ’ 280 ’ Read atomic coordinates from data file and scale 290 OPEN FILES FOR INPUT AS #1 300 XMIN = 1E + 25:XMAX = -XMIN:YMIN = XMIN:YMAX = XMAX 310 ZMIN = XMIN:ZMAX = XMAX:N = 0 320 WHILE NOT EOF(1) 330 N = N + 1 340 INPUT#1 ,X(N),Y(N),Z(N),S(N) 350 IF X(N)>XMAX THEN XMAX = X(N) 360 IF X(N)YMAX THEN YMAX = Y(N) 380 IF Y(N)ZMAX THEN ZMAX = Z(N) 400 IF Z(N) = 1 570 FOR I = IGAP + 1 TO N 580 FOR J = I - IGAP TO 1 STEP - IGAP 590 JG = J + IGAP ( continued) FEBRUARY 1985 -BYTE 253 Inquiry 109 EXPOTEK 1 - 800 - 528-8960 ORDER LINE Guaranteed Low Prices All prices are for cash, cashiers check or money order Allow 4 weeks bank clearance for personal checks C.O.D.’s, Visa, MC, and P.O.’s accepted at additional charge. Prices subject to change. Returns must have authorization number and are subject to a restocking charge. COMPUTERS & TERMINALS ADDS ALTOS APPLE ESPIRIT NEC NORTHSTAR QUME SANYO TELEVIDEO VISUAL WYSE ZENITH SWITCH BOXES 2 POS RS232 $75 4 POS RS232 115 2 POS Centronics 93 4 POS Centronics 121 MODEMS Novation-J-Cat.99 Smart Cat . 399 Hayes Smart Modem 300/1200 . 219/479 1200B . 429 Anchor Volksmodem . Call Signalman Mark VII/XII. 119/299 Qubie lnternal/RS232 . 269/285 ACCESSORIES AST latest boards . Call Chips & Microprocessors Call GSI Surge Protector .59 Hercules Graphics Card . 369 Kraft Joysticks (IBM or Apple) .35 Paradise Multidisplay Card . 379 Printer Buffers & Spoolers Call Quadram all products . Call Ribbons (doz ) & Printwheels Call Standby Power Systems Best Price ‘ Sheetfe Tractors & I (feeders Call DISK DRIVES Alpha Omega 10MB w/controller (IBM) . 799 TEA- - eg AC 55B slimline DSDD . 149 TEAC 55F slimline DSQD . 249 Bernoulli Box 1949 Tandon 100-2 . 199 Maynard 10MB-WS-2 with EPROM 1149 Tallgrass Tech Hard Disk System . Call Microsci A2 (Apple) 189 CDC. Qume, Shugart Call MONITORS Amdek Call Leading Edge Color RGB 399 PGS-HX-12 459 PGS MAX-12 Amber 169 Zenith 122/123 89 PRINTERS u. non JUKI 1550 AP . 499 6100 429 1550 BCD . 549 Okldata 8510 AP . 319 All Models .. Call 8510 BC2 . 419 Panasonic 8510 BPI . 389 All Models Call A10-20 . 449 Qume FI 0-40 . 899 Letter Pro .629 FI 0-55 . 1199 11 40 WIBM IF 1369 Daisywriter 11/55 WIBM IF..1569 2000 . 985 Star Microtronics Diablo All Models . Call 620 API . 739 Tally 630 API . 1699 160L w/Tractor. Call 630 ECS . 1999 Toshiba Epson 1340 . 749 All . Call 1351 . 1359 NEC • NEC • NEC e NEC • NEC • NEC • NEC P2 515 3550 . 1489 P3 739 7710 1639 2050 779 8850 . 1799 P2/P3 Parallel Int. Face . 139 2017 E. Cactus, Phoenix, AZ 85022 (602) 482-0400 VIEWING MOLECULES 600 IF Y(J)< = Y(JG) THEN GOTO 640 610 SWAP X(J),X(JG):SWAP Y(J),Y(JG) 620 SWAP Z(J),Z(JG):SWAP S(J),S(JG) 630 NEXT J 640 NEXT I 650 IGAP = INT(CSNG(IGAP)/2!) 660 WEND 670 ’ 680 ’ For perspective projection and scale coordinates 690 SCALE = -IE + 25:SMAX = SCALE 700 FOR 1 = 1 TO N 710 YA = 1 !/(VIEWD-Y(I)):X(I) = X(l)‘YA:Z(I) = Z(l)‘YA:S(I) = S(I)*YA 720 IF SCALE120 Func) Automatic DOS 1.X/2.X SUPPORT BOTH 8087 AND S/W FLOATING POINT OVERLAYS OUTSTANDING PERFORMANCE • First and Second in AUG 83 BYTE benchmarks SYMBOLIC DEBUGGER • Examine & change variables by name using C expressions ■ Flip between debug and display screen • Display C source during execution • Set multiple breakpoints by function or line number DOS LINK SUPPORT $ 35 • Uses DOS OBJ Format ■ LINKS with DOS ASM ■ Uses Lattice® naming conventions Check: □ Dev. Pkg (109) □ Debugger(50) D DOS Link Supt (35) SHIP TO ZIP. WARE P.O. BOX C Sunnyvale, CA 94087 (408) 720-9696 All orders shipped UPS surface on IBM format disks. Shipping included in price California residents add sales tax Canada shipping add $5. elsewhere add SI5 Checks must be on US Bank and in US Dollars. Call 9 a m. - 1 pm to CHARGE by VISA/MC/AMEX having an 8-bit bus, words must be moved in two sequential steps. This need to make two-step transfers great¬ ly slows most of the computer's oper¬ ation. Since most time-critical opera¬ tions involve data transfers along the bus. this slowing occurs at a very vulnerable stage. Although a true 16-bit computer transfers data twice as fast as an 8-bit machine, it does not follow that a 32-bit computer would be still faster in handling integer data. Since integer data occurs in 2-byte words, increasing the bus size to 32 bits would not produce any increase in speed unless some way could be devised to move two words at once. The 16-bit machines available today are therefore as large as many opera¬ tions require. A question related to size is whether it is better to have several small, single-purpose computers or one large, multipurpose machine. My own preference is for the former. A major consideration is cost. In addi¬ tion. the failure of a single computer in a group does not incapacitate the entire laboratory in the way that the failure of a single large computer does. Another advantage of a group of computers is that each can be dedicated to a single task. Even with the best multitasking arrangements, there will always be some time-critical operation that requires the uninter¬ rupted use of the computer, forcing other users to wait. With multiple computers such interactive interrup¬ tions do not occur. The main disadvantage of small computers is that they are slow. This disadvantage is usually more than off¬ set by the ability to dedicate the machine to a specific task for an ex¬ tended period. The IBM PC Compromise In spite of the negative considerations about the 8-bit bus. my colleagues and 1 bought several IBM PCs for use in the laboratory. We selected this computer rather than a true 16-bit machine because of its popularity. Many peripherals and programs are available for it. and we felt that it would not go out of production near¬ ly as quickly as some of the other, less popular models. We have found the PC to be as good as or better than expected in almost all areas except for one peculiarity: the absence of a limited interrupt or a software-controllable wait state. Once an A/D conversion is made, a flag consisting of one bit in a status register is set. The computer must then detect the flag and take the digital data from the converter. The PC can detect the flag in only two ways: polling the status register or generating a full interrupt. A full inter¬ rupt. together with its return, requires 83 clock cycles. This many cycles would take more than 20 microsec¬ onds (/xs) just to detect the flag. Poll¬ ing takes substantially less time. Using a polling routine, we have written se¬ quential A/D sampling programs that operate at a rate of 22 /is per conver¬ sion. Over half that time is spent poll¬ ing the status register. If a more rapid way of detecting the flag could be devised, this routine could operate at more than twice the speed. If the cen¬ tral processor could be put in a wait state immediately before each A/D conversion and be released by the A/D done" flag, detection of the con¬ version would be virtually instan¬ taneous. An otherwise-similar com¬ puter that had such a capability would be able to accept A/D conversions about every 10 fis. Software Software is the most crucial part of any laboratory system. Clever pro¬ gramming can introduce great flex¬ ibility and compensate for many defi¬ ciencies in hardware. Poor program¬ ming can hobble even the best sys¬ tem. The time required to develop good programs should not be under¬ estimated. Many of us have bought a piece of equipment that was physical¬ ly capable of performing some desired task only to find that weeks of programming were required to make it work. For those of us who have had this experience, there is no stronger selling point for equipment than the concomitant availability of adequate programs to run it. ■ 266 BYTE • FEBRUARY 1985 ★★★★★★★★★★★★★★★ IBM-PC COMPATIBLE COLOR GRAPHICS FOR THE S100 BUS COLOR MAGIC brings to the SI00 bus a new level of compatibility with the IBM-PC. In combination with our other boards, COLOR MAGIC allows execution of IBM PC-DOS programs without modification. COLOR MAGIC maps to the same port addresses and memory space as the IBM-PC color graphic board. COLOR MAGIC has the following features: ■ 32 K bytes of onboard video memory (The IBM-PC has only 16 K bytes) ■ DISPLAY MODES: — 80 by 25 alpha-numeric — 40 by 25 alpha-numeric — 160 by 100 16 color graphic — 320 by 200 4 color — 640 by 200 4 color — 32k version (not supported by IBM) ■ RGB and composite video outputs ■ Light pen input ■ IBM-PC compatible KEYBOARD INTERFACE onboard COLOR MAGIC is supported under MS-DOS 2.11 now and will be supported under Concurrent DOS by MAR 1. With COLOR MAGIC in combination with our other high performance boards, you can now config¬ ure an SI00 bus system with up to 5 times the perfor¬ mance of an IBM PC and 1.5 times the performance of an IBM-PC/AT. If your application requires IBM com¬ patibility and high performance LOMAS DATA PROD¬ UCTS IS THE ONLY LOGICAL CHOICE. PRICE. .. .16K VERSION - $595.00, 32K - $695.00 ANNOUNCING MEGARAM: THE HIGH PERFORMANCE DYNAMIC RAM FOR THE S100 BUS Application programs being written for today’s 16 bit computers are requiring more and more memory, while the performance requirements of the memory are increasing as the 16 bit processors require faster and faster access times. MEGARAM has been designed to address this problem and provide FAST, RELIABLE, HIGH DENSITY memory for the S100 BUS. MEGARAM requires no wait states with any of our 8086 (up to 10MHZ) or 80186 CPU boards and only one wait state with our 6MHZ 80286 CPU board. Our board does not re¬ sort to piggybacking to attain up to 2 Megabytes of on board memory (piggy backing generally reduces reliability). Parity is included to insure data corruption, due to memory errors, will not go undetected. 256 Kbyte . . $595.00 512 Kbytes $1095.00 1Mbyte . . $1995.00 (Feb 1) 2 Mbytes. $3795.00 ■ LIGHTNING ONE ***8086/8088 CPU 8086 or 8088, with 8087 and 8089 coprocessors. Up to 10 MHZ operation PRICES start at $425.00 ■ HAZITALL SYSTEM SUPPORT BOARD 2 serial, 2 parallel ports, battery protected clock calendar, Hard disk controller host interface . PRICE $325.00 ■ RAM67 HIGH PERFORMANCE STATIC RAM High speed (100ns) low power CMOS static RAM 128K bytes, r extended addressing PRICE $995.00 ■ LDP72 FLOPPY DISK CONTROLLER Single double density, single/double sided disks, both 8" and 5 1 4" inch drives simultaneously . PRICE $275.00 ■ LIGHTNING 286-80286 CPU BOARD Offers 4 times the performance of a 5MHZ 8086 CPU while maintaining software compatibility PRICE $1395.00 ■ OCTAPORT 8 PORT SERIAL BOARD 8 serial ports 0 to 19200 baud operation real time clock interrupt. Ideal for multi-user systems such as MP/M 86 * PRICE $395.00 k CP/M 86, MP/M 86 and CONCURRENT CP/M 86 are trademarks of Digital Research k k MS DOS is a trademark of Microsoft. k **L,ightning One is a trademark of Lomas Data Products, Inc ****PC DOS is a trademark of IBM. Dealer inquiries invited. LOMAS DATA T? T^TT) PRODUCTS, inc j ^ r 66 Hopkinton Road, West boro, M A 01581 Tel: (617) 366-6434 □ Telex: 4996272 inquiry 188 For orders outside the U.S., contact our exclusive dealers: l I Australia I .AMBON PTY. LTD., (02) 85 6228 [ I England FULCRUM 0621828763 l lEngland Rational Systems, Newport Pagnell, Buckinghamshire I I Malaysia EXA COMPUTER (M) Sendirian Berhad, 795284 Prices and specifications are subject to change. HIGH TECHNOLOGY AT AFFORDABLE PRICES Dot Matrix Printers BROTHER/DYNAX Brother 2024L. $ 1039.88 C. ITOH Prowriter (8510). 369.88 Prowriter-2 (136 col). 624.88 Prowriter BPI (IBM-PC)_ 399.88 HotDot. 509.88 HotDot-2 (136 col). 729.88 CITIZEN MSP-10. 349.88 MSP-15 (136 col). 519.88 EPSON RX/FX/LQ Series. CALL OK I DATA Microline 92. 399.88 92 w/PC compatibility_ 399.88 92 w/Mac compatibility... 499.88 Microline 93. 639.88 93 w/PC compatibility_ 639.88 Microline 84. 739.88 MEMOTECH DMX-80 (Panasonic 1090)... 189.88 NEC Pinwriter (80 col). 699.88 Pinwriter (132 col). 929.88 STAR MICRONICS SG-10 (Gemini). 249.88 SG-15(Gemini). 399.88 SD-10 (Delta). 369.88 SD-15 (Delta). 489.88 SR-10 (Radix). 529.88 SR-15 (Radix). 649.88 Letter-Quality Printers BROTHER/DYNAX Brother DX-15. $ 399.88 Brother HR-25. 669.88 Brother HR-35. 939.88 C. ITOH Starwriter A-10 (18 cps).... 549.88 Starwriter (40 cps). 1079.88 Printmaster (55 cps). 1249.88 Diablo 620/630/Series 35... CALL NEC 2010/2030 (18 cps). 739.88 2050 for IBM (18 cps). 759.88 3510/3530 (33 cps). 1379.88 3550 for IBM (33 cps)... 1449.88 7710/7730 (55 cps). 1779.88 QUME Letter Pro 20 (18 cps) .... 459.88 SILVER REED EXP-770 (35 cps). 899.88 EXP-550 (18 cps). 469.88 EXP-500 (12 cps). 369.88 EXP-400 (10 cps). 289.88 STAR MICRONICS PowerType (18 cps). 359.88 Modems HAYES Micromodem lie (Apple). ..$ 249.88 Smartmodem, 300 bd. CALL Smartmodem, 1200 bd. CALL Smartmodem 1200B(PC) ... CALL NOVATION SmartCat+ w/software, IBM-PC Internal, 1200bd... 349.88 External, (MS-DOS). 349.88 US ROBOTICS Password, 1 200 bd. 369.88 Monitors AMDEK 300A (amber). $ 159.88 310A(TTL amber). 179.88 Color300(composite). CALL PGS HX-12. 499.88 Max-12. 189.88 QUADRAM QuadChrome. 529.88 ROLAND DG DG-121 (amber). 144.88 DG-122 (TTL output). 169.88 TATUNG Big Blue’s RGB. 449.88 IBM-PC Software ALPHA SOFTWARE Electric Desk. $ 239.88 ASHTONTATE dBase ll/lll. CALL Framework. 479.88 BEST PROGRAMS PC TaxCut. 174.88 BORLAND INTERNATIONAL Sidekick (non-protected). 59.88 Turbo Pascal.39.88 BRODERBUND Bank Street Writer. 54.88 FUNK SOFTWARE Sideways. 44.88 LIFETREE SOFTWARE Volkswriter Deluxe w/ATI... 204.88 LIVING VIDEOTEXT ThinkTank. 134.88 MECA/ANDREW TOBIAS Managing Your Money_ 139.88 MICROPRO Wordstar 2000 . 314.88 MICRORIM R: Base 4000 . 284.88 Clout Ver 1.0. 134.88 MICROSOFT Multiplan. 134.88 Chart. 174.88 Flight Simulator. 34.88 PETER NORTON Norton Utilities. 54.88 SATELLITE SOFTWARE Word Perfect. 284.88 SOFTWARE ARTS TK! Solver. 274.88 SOFTWARE PUBLISHING PFS: Write. 99.88 PFS: File. 99.88 PFS: Report. 89.88 VIRTUAL COMBINATICS Micro Cookbook. 29.88 WARNER SOFTWARE Desk Organizer (3 Pak)... 134.88 IBM-PC Peripherals 200ns 64K Memory Kit .... $ 49.88 ALLOY 41 MB Hard Diskw/Tape . .. CALL PC Tape Backup. CALL CURTIS Monitor Stand. 39.88 Monitor Extention Cable ... 39.88 Keyboard Extention Cable... 29.88 KEYTRONICS 5151 keyboard. 219.88 MOUSE SYSTEMS PC-Mouse w/PC-Paint.. $ 154.88 QUADRAM 384K Quadboard w/64K... 269.88 Quad 512+ W/512K. 456.88 QuadColor-1. 219.88 QuadVue (TTL output)_ 259.88 Parallel Card, RS-232C Card or Clock/Calendar Card. 79.88 QuadLink (IBM). 509.88 STB Super I/O. 169.88 Super RIO (64K). 289.88 Super RIO Plus (64K). 309.88 TANDON TM 100-2 DSDD. 199.88 TITAN Cygnus I/O (clk/par). 149.88 Cygnus I/O (clk/RS-232)... 169.88 Apple Peripherals ALS CP/M 3.0 Plus Card. $ 279.88 Smarterm II (80 col). 139.88 Dispatcher (RS-232). 74.88 AMT MicroDrive. 179.88 Grappler+ Card w/cable ... 109.88 Buffered Grappler(16K)_ 164.88 MICROSOFT CP/M Softcard lie. 279.88 Pkasso-U Card & cable ... 129.88 QUADRAM E-Ram (lie, 80 col/64K)... 109.88 RANA SYSTEMS Elite-1 Disk Drive. 219.88 Controller. 99.88 TITAN/SATURN Accelerator ll/Ile. 224.88 Memory Boards. CALL Neptune 64k/80 col (lie)... 194.88 System Saver Fan. 69.88 Videx VideoTerm. 199.88 VideoTerm/softswitch. 219.88 PSIO (parallel/RS-232).... 159.88 Macintosh Software DATABASES 1st Base. $ 134.88 DB Master. 134.88 FactFinder. 99.88 Filevision. 134.88 Habadex DB. 69.88 Habadex Adapter. 39.88 Main Street Filer. 139.88 MegaFiler. 134.88 Microsoft File. 134.88 Odesta Helix. 279.88 Omnis 2 (Req. 2 drives)... 189.88 OverVue. 199.88 PFS: File. 89.88 PFS: Report. 89.88 FINANCIAL/BUSINESS Back to Basics GL. $ 109.88 Dollars & Sense. 99.88 Front Desk. 104.88 Microsoft Chart. 89.88 Microsoft Multiplan. 134.88 Human Edge Series. CALL TK! Solver. 169.88 TK! Templates. 44.88 LANGUAGES MacASM (Assembler). $ 69.88 MacForth (Level I). 99.88 MacForth (Level II). 169.88 Microsoft BASIC 2.0. 99.88 Softworks“C”. 289.88 WORD PROCESSING Hayden Speller. $ 54.88 Mac Daisy Connection. 79.88 Mac Epson Connection_ 69.88 Mac Spell Right. 64.88 MasterType. 34.88 MegaMerge. 89.88 Palantir MacType. 34.88 ThinkTank 128. 99.88 ThinkTank 512. 169.88 Typing Tutor III. 44.88 GRAPHICS Building Blocks. $ 54.88 Click Art Series. 34.88 Commercial Interiors. 139.88 daVinci Series. 34.88 Mac the Knife. 29.88 Mac the Knife Fonts. 34.88 McPic! Series. 34.88 Slide Show Magician. 44.88 OTHER Copy II Mac. $ 29.88 Dow Jones Straight Talk . .. 54.88 Hayden M usicWorks. 54.88 Hey. MAC! Newsletter. 10.00 Mind Prober. 34.88 Smoothtalker. 99.88 Videx MacCalendar. 59.88 Macintosh Hardware 3Vi" Diskettes (10 pkg). ...$ 34.88 Diskette Holder. 24.88 Field Pro Carrying Case_ 79.88 HabaDisk (2nd drive). 369.88 Kensington Starter Pak_ 69.88 Kensington Modem. 119.88 Surge Suppressor. 44.88 Koala MacVision. 259.88 Tecmar MacDrives. CALL Microcom MacModem_ 499.88 Smartcat+ modem. 349.88 Turbo Touch. 94.88 TECHNICAL SALES DESK ( 603 ) 881-9855 TOLL-FREE ORDER DESK ( 800 ) 343-0726 Hours: 9:00 to 5:30 EST, Mon-Fri ■ FREE UPS ground shipping on orders over $50 (under $50 add $2.50 for shipping). ■ MasterCard, VISA, American Express. Diners Club & Carte Blanche credit cards accepted ■ No surcharges on credit cards ■ Credit cards are not charged until your order is shipped ■ All personal checks held 30 days for clearance ■ Sorry, no APO/FPO or foreign orders. ■ Software can be returned for an exact exchange only; no credits or refunds issued ■ Allow 10 days for delivery HIGH TECHNOLOGY AT AFFORDABLE PRICES THE BOTTOM LINE MILFORD , NH 03055-0423 • TECHNICAL (603) 881-9855 • ORDER DESK (800) 343-072 268 BYTE* FEBRUARY 1985 Inquiry 36 SCIENCE INTERFACING FOR DATA ACQUISITION by Thomas R. Clune A comparison of three interfaces THE USE OF MICROCOMPUTERS for data acquisition in the sciences is sur¬ prisingly limited. It is widely recog¬ nized that the need for such applica¬ tions exists. But I discovered in my ex¬ perience at Brandeis University that most researchers have either had bad experiences with data acquisition on minicomputers or simply don't feel that they have the time to learn what they would need to know to retool their labs. Nonetheless, the advan¬ tages of computerizing are so sub¬ stantial that microcomputer-based data acquisition is slowly moving into the lab. In this article. I'll share some of my experience with different ap¬ proaches to computerizing data ac¬ quisition. Since I find the IEEE-488 to be the most versatile option for laboratory data acquisition. I will devote a fair amount of time to ex¬ plaining that interface. My hope is that my experience may ease the prob¬ lems that you might encounter in computerizing your setup. The Problem There are three basic reasons why microcomputers are so important in the context of data acquisition. First, for a minicomputer or mainframe to be affordable, its use must be shared by more than one person, but in data acquisition it is crucial to have the computer's attention when the data is ready. Microcomputers make single- user systems affordable. Second, mainframe computers are generally not located in the laboratory. Thus, in any but very low speed data-acquisi- tion contexts, there is a communica¬ tions bottleneck created by the data transmission. Third, there is no com¬ mon standard for interfacing with laboratory instruments on main¬ frames, so each laboratory setup pre¬ sents substantial and individual prob¬ lems of design and implementation that exacerbate the financial and logistical difficulties. At least one other concern is fuel¬ ing the drive toward computerization Thomas R. Clune is a BYTE technical editor. Before coming to BYTE, he was the physical - chemistry lab coordinator at Brandeis Univer¬ sity. where he taught data acquisition by microcomputer. He can be contacted at POB 372, Hancock. NH 03449. in the lab: The cost of turnkey instru¬ ments has become so high that most institutions are unable to afford the state-of-the-art equipment needed to conduct research. This is particularly irritating because most instruments in the sciences have essentially the same components. You end up paying over and over again for a built-in chart recorder, a waveform digitizer, a monochrometer, a photomultiplier, etc. And when the new generation of an instrument comes out with a broader dynamic range or some other improvement in one component, the entire turnkey instrument must be re¬ placed. We simply can't afford to pay for research done that way any more. With the availability of microcom¬ puters, we don't have to. We can tie chart recorders, waveform digitizers, and whatever else we need together into a dedicated instrument and re¬ cycle the components as the field or our research evolves. A/D Converters The least expensive way to automate a lab is with an analog-to-digital (A/D) ( continued ) FEBRUARY 1985 • BYTE 269 INTERFACING The speed of a transient tracked by D/D equipment is not limited by the computer's throughput. converter. There are, however, a number of limitations to this ap¬ proach. First, an A/D converter samples only one voltage source at a time. Typically, an experiment re¬ quires correlating one reading to others for the same instant of time (e.g., pressure versus temperature at time t). If the time requirements are sufficiently lax, that is, if readings taken 10 or 20 microseconds apart can be treated as simultaneous, an A/D converter may be acceptable. But often this time lag is sufficient to make the data hopelessly imprecise. The second problem with A/D converters is that they are slow. The maximum sampling rate on most 'high-speed'' A/D converter boards is 100 kilohertz (kHz). Practically speaking, this means that you can't track a transient of greater than approximately 20 kHz. Much of scientific data acquisition now requires at least the ability to track a transient of a few megahertz. A third problem with A/D converters is that, because the boards are made to be inexpensive, their linearity is not very good. A 12-bit board may have an effective resolution of only 7 or 8 bits. Finally, A/D converters are very susceptible to noise in a lab. Com¬ monly, the cabling will be either twisted-pair or ribbon cable—very good antennae. In a well-designed board, the cabling is simple coax, which may still not give the level of noise immunity required in a labora¬ tory environment. Nonetheless, an A/D converter is a good buy if it will do your task. My feeling is that the best use of an A/D converter is to connect it to the chart output of a stand-alone instrument. Instead of junking a high-quality analog instrument in the interests of modernizing, use the capabilities available in your lab now. One big ad¬ vantage of this kind of setup is that you can use a very slow A/D con¬ verter. This is desirable for two reasons: first, a slow A/D converter will be better made than a compar¬ ably priced high-speed board, and second, since you will only need a 30-Hz-or-so A/D converter, most noise in the lab will be too fast for the A/D converter to respond to it. Further, your low-pass filter will be able to cut out line voltages, which are an in¬ evitable source of noise in any lab. D/D and RS-232C If an A/D converter won't meet your needs, you need stand-alone instru¬ ments that can transfer digital infor¬ mation to the computer via a digital- to-digital (D/D) interface. The first ad¬ vantage of D/D over A/D is that data may be analyzed at high speed and the digital "snapshot" of the analysis stored in a buffer of a few kilobytes on the stand-alone instrument. The buffer data can then be downloaded to the computer at whatever speed the interface will support. That is, A/D conversion necessarily requires real¬ time analysis, whereas the speed of a transient that can be tracked by D/D equipment is not limited by the micro¬ computer's throughput. Of course, speed of data transfer is still impor¬ tant because it determines how quick¬ ly the instrument can repeat an analysis. D/D interfaces come in two flavors: serial, which transfers information a bit at a time; and parallel, which trans¬ fers data a word (commonly one byte) at a time. The most common serial port is an RS-232C interface. There is a lot to dislike about the RS-232C. First, it is not standard. There are two ends to an RS-232C in¬ terface: the DTE (data-terminal equip¬ ment) end and the DCE (data-commu- nications equipment) end. Often the two instruments you want to hook together will both be configured as DTEs, so you will probably have to create a cable that matches your par¬ ticular setup once you find out what it is. Second, the only handshaking provided is on the level of whole messages. The interface does not verify that data has been received before proceeding. It is very easy to lose data on this interface. Third, RS-232C is a notoriously noisy inter¬ face—perhaps no worse than an A/D converter, but that isn't saying much. Fourth, RS-232C is slow. Since it sends only one bit at a time, it has a built-in speed disadvantage over parallel in¬ terfaces. And interference is an in¬ creasing problem with increasing transmission rates (as is true of any system). Finally, RS-232C is able to connect only two devices together. Thus, coordination and control of multiple data sources requires more than one RS-232C port on the com¬ puter and makes for devilishly difficult software integration. The strong points of RS-232C are twofold. First, it is capable of transmit¬ ting information over long distances by telephone. Second, it is the only interface available on some older in¬ struments. If you have to use it, you learn to live with it. But you'll never learn to love it. IEEE-488 The IEEE-488 is a byte-serial, bit- parallel interface that overcomes the problems of the interfaces outlined above. First, the interface is incredibly resistant to interference. For example, at the Brandeis University chemistry department, we used the interface in a pulsed-nitrogen-laser experiment and found that the data transmission was unaffected by noise in any en¬ vironment where the computer itself was able to function. Figure 1 shows the physical layout of the cable that provides such excellent noise immunity. The second virtue of IEEE-488 is that the interface has a bus structure. That is, you can interface up to 15 devices at a time using the same board. This structure simplifies pro¬ cess control and allows true simulta¬ neous data acquisition, as we shall see presently. ( continued ) 270 B Y T E • FEBRUARY 1985 The PCturbo 186 ™ takes a good computer and makes it the BEST! PC + PCturbo 186 ■ Faster than the PC ■ Total software compatibility ■ Automatic Disk Caching ■ More affordable than a PC AT ■ 80186 works in complement to 8088 PC AT ■ Faster than the PC ■ Software compatible ■ Vast selection of software " Orchid's PCturbo 186 First the standard was the IBM™ PC. Then it became, the IBM PC AT with it's high processing speed. For those, however, who have an IBM PC and need PC AT-like per¬ formance, Orchid Technology will put you out in front again with a new standard— the PCturbo 186. The PCturbo out performs the PC AT in speed with fast disk access, and unmatched performance while provid¬ ing complete software compatibility. Best of all, PCturbo allows you to protect your existing hardware and software in¬ vestment without the cost of replacing your existing PC or the need to learn to use a new computer and its software. Simply install the PCturbo adapter board and Orchid's "Productivity Software" and your PC be¬ comes a powerful turbo-driven computer. The PCturbo 186 is actually a second computer within your PC. Powered by the advanced Intel 80186 processor, the PCturbo is transparent to your favorite programs like Lotus 1-2-3™ Symphony^ dBase II or III,™ Framework™and Multimate™ running them at turbo speeds. So, with PCturbo, your PC looks and acts the same as before; it just runs faster. While the PCturbo is speeding up your processing power the 8088 microprocessor in your PC takes care of the I/O functions. Most importantly, complete compatibility is assured since the PCturbo allows you to switch back and forth between Turbo Mode and PC Mode with a simple command. Since PCturbo boosts the processing speed of your PC, there's no more waiting to re¬ calculate spreadsheets or to retrieve data. With the unique built-in features like auto¬ matic disk caching, electronic RAM disks and print spooling, you can get even more done in less time. Now isn't that why you bought a PC in the first place? TECHNICAL DETAILS: Hardware ■ Single slot plug-in board with high-speed 16-bit processor (80186). ■ Up to 640K memory expansion for a maxi¬ mum of 1.28 Megabytes total memory. ■ Simple "one-step" installation. Software ■ Runs IBMPC-DOS 2.X/3.X on either the IBM PC/XT and versions of most com¬ patibles. ■ Provides high speed disk caching, RAM disk and print spooling. ■ Standard PC (8088) operation for total com¬ patibility. Write or call for more information today. ORCHID ORCHID TECHNOLOGY 47790 Westinghouse Drive Fremont, CA 94539 (415) 490-8586 Telex: 709289 PCturbo 186 is a trademark of Orchid Technology. IBM is a registered trademark of International Business Machines Corporation. Lotus 1-2-3 and Symphony are trademarks of Lotus Development Corporation. dBase II, dBase III, and Framework are trademarks of Ashton-Tate. Multimate is a trademark of Multimate International. Inquiry 239 FEBRUARY 1985 ‘BYTE 271 INTERFACING Third, the interface is fast for a micro. Data can be transferred at up to 1 million bytes per second (using special tristate drivers on the lines) and without any special care will sup¬ port transmission rates of about 250K to 300K bytes per second using DMA (direct memory access). Fourth, the interface is standard and widely available. All IEEE-488 instru¬ ments are plug-compatible, and the interface is available on every major kind of laboratory device. Over 2000 devices are currently available with an IEEE-488 interface. Given that the standard was not set in its current form until 1978 and that there is a lag between specification and implemen¬ tation, the rapid adoption of the stan¬ dard gives an indication of how sore¬ ly needed it was. The primary limitation of the stan¬ dard is that the total cable length on an installation cannot exceed 20 meters without special (and expen¬ sive) repeaters. In practice, you will seldom need to exceed that length. And given that long cabling slows transmission rates and is more susceptible to noise, you generally do better to keep the cabling short anyway. The Standard Explanation The IEEE-488 standard is relatively in¬ volved because it accommodates a wide variety of uses. In the rest of this article, I'll examine the standard and then take a close look at a setup using the interface. IEEE-488 began life as the General- Purpose Interface Bus (GPIB) of the Hewlett-Packard Corporation. In 1975, the IEEE adopted the GPIB as its stan¬ dard. Some minor modifications were made to the standard in 1978, but IEEE-488 still goes by the name GPIB on HP products. Devices on the interface may per¬ form three kinds of functions. They may be talkers; that is, they may transmit data to other devices on the interface. Of course, there can be only one active talker at any given time. Alternatively, a device may be a listener—it may receive data or in¬ structions from another device on the interface. There may be more than one active listener on the interface at any given time. And a device may act as a controller, a coordinator of which device may talk when and which devices may listen. Finally, a device may do nothing but stand by. A device may, at different times, assume any of the above functions. The interface supports two modes of operation: command and data. As the name suggests, the command mode is for process control. For ex¬ ample, if one of the devices on the in¬ terface is a digital multimeter (DMM), the controller may program the DMM for reading DC voltages in the 3-volt full-scale deflection range. In the data mode, data is transferred from talker to listener(s) over the interface. The interface has 24 lines, 8 of which are ground lines. The other 16 are divided into three groups: 8 bi¬ directional data lines, 3 data-byte con¬ trol lines (handshake lines), and 5 general interface-management lines. The three-line handshake protocol functions as follows: When informa¬ tion is going to be transferred over the bus, the listeners must be ready to receive the data. If they are not. they signal NRFD (not ready for data) by ( continued ) CABLE INSULATION WOVEN GROUND OUTER SLEEVE DAV TWISTED PAIR /ft NRFD TWISTED-PAIR /ft NDAC TWISTED-PAIR /ft WOVEN GROUND INNER SLEEVE DATA LINES REN EOI rh - SRQ --TWISTED-PAIR ATN TWISTED-PAIR IFC TWISTED-PAIR rh rh rh Figure I: Cutaway view of an IEEE-488 cable. Notice the large number of grounds for shielding. 272 BYTE* FEBRUARY 1985 Inquiry 13 for Dealers. Inquiry 14 for End-Users. PXP atld SVS ter ? J Su\ti'» Jser PC c,: -S\a ve ■ '*/ *? , <'■> 'l, A » ..'''VX- '• ..♦ * A • ^ > o 1 * : XX X v ■■'% s X v ^ V X X S ;> •. v %' • ft * > . x. ^ s ■ ■"- N -"' N O 'X "N x,.- f X S % x , > X "X >' > v A ■ •' % • • N V % / N - , *> / % •- ,'% •- X -M >X ••• / N • .\ -;5m >.- •••> ^ 32 user L ^y(/>0%Q/y,^ **S&& < '^v«# sssssas— • ’ '/My den l master / / / > ' / ° a master V nsVO^ pC ' ,P nddata^ &?* <.**££« ■*'£/$> <* »***" hle to KB pa nd ab 5432 Pr A f 8 qvA00A* Te ' Te ».l 714 ' 8 lU KU^ ied .assess INTERFACING pulling the NRFD line low (low is defined as true by the IEEE-488 stan¬ dard). The NRFD line has an open- collector design, so if any one listener is not ready the line is kept low. When all the listeners are ready the NRFD line goes high. If the talker is ready to transmit data, it sets the DAV (data valid) line low. The transition of the DAV line triggers the resetting of the NRFD line and the listeners pick up the latched byte of data. When each listener receives the data, it releases the NDAC (not data accepted) line, which is also open-collector. When all listeners have received the data, the NDAC line goes high, causing a reset of the DAV line, which in turn triggers the resetting of the NDAC line. This se¬ quence. outlined in figure 2. is repeated for each byte in a transmis¬ sion. It may not be immediately ap¬ parent why three lines are useful in this sequence. At first glance it ap¬ pears that the DAV and NDAC line would accomplish everything neces¬ sary for the transmission of data. However, the NDAC line is released as soon as the IEEE-488 board of the listener has received the data. The in¬ formation must still be downloaded from the IEEE-488 data register to, for example, the computer's main mem¬ ory to be stored more permanently. By releasing the talker as soon as the data has been transferred, the talker becomes free to prepare the next byte for transmission at the same time that the listeners are "digesting'' the last byte, so the rate of information transfer may be maximized. The NRFD line is thus necessary to pre¬ vent the possibility of a listener's data register being prematurely overwrit¬ ten. Since each byte of data transferred is a self-contained event on the inter¬ face. there must be some way of sig¬ naling the end of a data-transfer se¬ quence. This may be done in two ways. The one I will mention here is to use one of the bus-management lines, the EOI (end or identify) line. When a talker sets this line, it signals that the data-transfer sequence is complete. The "identify'' in EOI applies to the controller's use of the line. If the in¬ terface is to be used for process con¬ trol, there must be a way for the con¬ troller to monitor the "fitness for duty'' of the various devices. One way it may do so is by conducting a parallel poll of the devices. If the con¬ troller asserts ATN (attention) and EOI. each device responds by using one data line to say whether or not it has any problems. If one does, the computer (the controller) can query that device further to determine the precise nature of the difficulty. The limitation of a parallel poll is that the controller must initiate the inquiry. IEEE-488 also provides for a serial poll, in which a device in trouble may alert the controller that all is not well by asserting SRQ (service request). The computer then can ask each device in turn what its status is to determine the source and nature of the problem. ATN serves another, more general purpose as well. Any time the con¬ troller asserts ATN. it can change the function of a device from, say. talker to listener. When ATN is asserted, the board goes into the command mode. All subsequent information is control data. In general, control information will apply to only some of the avail¬ able devices. How is the information restricted to only the appropriate devices' attention? Each instrument on the interface can be assigned a unique 5-bit address, generally by DIP (dual-inline package) switches on the backplane of the instrument. Valid ad¬ dresses are numbers up to and includ¬ ing 30. When the computer wants to address its control data to a specific set of devices, it asserts ATN and out¬ puts a list of the appropriate address numbers (notice that the same string of outputs would be treated as data were the board not in the command mode). Tkble 1 shows the protocols of the computer addressing for dif¬ ferent functions. If a device is being told to listen to control information, an addressed command follows its address-to-listen call. Addressed con¬ trol information defined by the IEEE-488 standard includes GTL (go to local), which releases a device from remote control; SDC (selected-device clear), which resets a device to its default setting; PPC (parallel-poll con¬ figure). which is used to assign a data line to a device for answering a parallel poll; GET (group-enable trig¬ ger), which initiates simultaneous data acquisition by each addressed device; and TCT (take control), which passes control of the bus management from the present controller to the specified device. Tvo other kinds of multiline com¬ mands are shown in table 1. First is a secondary address. This is informa¬ tion after the primary address that configures a device for a particular kind of operation. This is one way that a DMM may be set for DC volts, for example. The primary address specifies the DMM device number, and the secondary address specifies the DC voltmeter function in the DMM. The significance of secondary addresses is not part of the standard. Each manufacturer decides whether ( continued ) DAV NRFD NDAC Figure 2; The logic flow of the IEEE-488 handshake squence. low is true. 274 BYTE • FEBRUARY 1985 SOME DARK TRUTHS ABOUT RACKING UP YOUR DATA ON TAPE. • Tape backup manufacturers promise speed, peace of mind and a good nights sleep for a small investment! • Your sleep can turn into a nightmare when your hard disk crashes! • If your replacement disk has bad sectors in locations that were good on your original drive, the restoration of a 'physical image' backup will not work as it cannot distinguish bad sectors and will attempt to write on the bad sectors. You will lose all data continuity from that point on!! BY *FTEK I Introducing the next generation of tape drives for the micro computer industry-Only $ 695 °°. u s • Reliable The DATASAFE addresses all the problem issues of tape backup. The DATASAFE has a simple and elegant tape self threading tape transport system that puts it far ahead of any other on the market. It has been consistently tested for over 150,000 self threading loads without failure. • Unlimited Capacity Each tape holds 10 meg data on the ADI 1010 and 20 meg on the ADS 1020, but this does not limit the capacity, using the MS-DOS BACKUP utility, you can backup any amount of data. • No Fancy Installation The DATASAFE can be mounted internally (it is daisy chained off the existing floppy controller so you don't need any additional slots), or you can use the standalone unit. The stand¬ alone unit plugs into the con¬ nector at the back of the com¬ puter. It needs no special in¬ stallation. You can easily move it from computer to computer. • Easy to Use The tape drive looks just like a floppy to the computer, the DOS commands you are familiar with work just the same on the DATASAFE. THE TAPE MEDIA The DATASAFE uses industry standard 1/4" tape on a self threading 2.2" spool. You just drop the reel in the drive and close the door-the drive does the rest, no messing with leader tape! The loading arrangement is simi¬ lar to the system used in large computers. You do not have to pay fancy prices for tape cart¬ ridges, the 10 or 20 meg spools are only $14.95 (US)/$22.95 (C) • Random Access If your hard disk fails, the DATASAFE can be used just like a disk with a seek time of 45 sec end to end! No more down time for hard disk failures. To order in U.S.A. or Canada Call Toll Free: 1 - 800 - 268-5412 Internal Mount ADI 1010 U.S.A. $695.00 Canada $1195.00 Standalone ADS 1010 U.S.A. $945.00 Canada $1495.00 4iftek BUSINESS MACHINES INC. 762 Gordon Baker Rd., Willowdale, Ont. Canada M2H 3B4 1050 Clinton St., Buifalo, New York 14206 Tel.: (416)497-0531 Telex: 06-986133 Tel.: (716)694-5366 Telex: 916428 PRIME DEALER DISTRIBUTOR TERRITORIES AVAILABLE. OEM CALLS INVITED. Inquiry 336 FEBRUARY 1985 • BYTE 275 Inquiry 296 INTERFACING Pascal and C Programmers Your programs can now compile the FirsTime- FirsTime is an intelligent editor that knows the rules of the language being programmed. It cheeks your statements as you enter them, and if it spots a mistake, it identifies it. FirsTime then positions the cursor over the error so you can correct it easily. FirsTime ni.ll identify all syntax errors , undefined variables , and even statements with mismatched variable types. In fact, any program developed with the FirsTime editor will compile on the first try. More than a syntax checker! FirsTime has many unique features found in no other editor. These powerful capabilities include a zoom command that allows you to examine the structure of your program, automat ic program formatting, and block transforms. If you wish, you can work even faster by automatically generating program structures with a single key stroke. This feature is especially useful to those learning a new language, or to those who often switch between different languages. Other Features: Full screen editing, horizontal scrolling, function key menus, help screens, inserts, deletes, appends, searches, and global replacing. Programmers enjoy using FirsTime. It allows them to concentrate on program logic without having to worry about coding details. Debugging is reduced dramatically, and deadlines are more easily met. FirsTime lor PASCAL $245 FirsTime for C $295 Microsoft PASCAL Compiler $245 Microsoft C Compiler $395 Demonstration disk $25 Get an extra $100 off t he compiler when it is purchased with FirsTime. (N.J. residents please add 6% sales tax.) Spruce Technology Corporation 110 Whispering Pines Drive Lincroft, N.J. 07738 (201) 741 8188 or (201)663-0063 Dealer enquiries welcome. Custom versions for computer manufacturers and language developers arc* available. FirstTime is a trademark of Spruce Tec hnology to use secondary addresses and, if so. what they will mean. The last kind of multiline command is a universal command. Reasonably enough, uni¬ versal commands apply to all devices on the bus and are therefore not preceded by an address list. The universal commands defined by the standard include LLO (local lockout), which disables instrument front-panel control; DCL (device clear), which resets all devices to their factory- selected default states (this is the universal version of SDC); PPU (parallel-poll unconfigure), which deactivates parallel polling; SPE (serial-poll enable), which initiates a serial poll; and SPD (serial-poll disable), which terminates a serial poll. The logical difference between the uniline commands and the multiline commands is that uniline commands are unconditioned. That is. they operate immediately instead of re¬ quiring that the bus be in command mode. The last two uniline bus-man¬ agement lines illustrate the need for such immediacy. REN (remote enable) places a device under computer con¬ trol. When a device is first going to be addressed by the computer, this pro¬ vides the 'warm boot'' needed to get its attention. IFC (interface clear) is the "panic button.'When the controller asserts IFC. the active talker must im¬ mediately relinquish control of the data lines to the computer. As you can see. the standard is rather involved. But it is not complete. HPIB The IEEE-488 standard ensures elec¬ trical compatibility among instru¬ ments. but it does not insure that two instruments will understand each other. The analogy has been drawn between IEEE-488 and the telephone system: You can call Rome on your telephone, but you may not under¬ stand what the person who answers the phone is saying. Similarly, the IEEE-488 standard does not specify the code that is to be used by instru¬ ments in transmitting data. Some in¬ struments speak binary, some speak ASCII, etc. The Hewlett-Packard Cor¬ poration has developed a software standard for IEEE-488 data that is not universally employed. However, it is the most common format for data trans¬ fers on the bus. The protocol is called the Hewlett-Packard Interface Bus (HPIB). GPIB and HPIB are often used interchangeably but strictly speaking GPIB is the IEEE-488 standard and HPIB is the conformance to HP's soft¬ ware protocol. HPIB specifies the following: 1. All information is transferred in ASCII code. 2. Information is transmitted "left to right"; that is, "C A T" is transmitted "67 65 84." not "84 65 67." ( continued ) Table 1: IEEE-488 interface management command hit protocols. These apply only when the controller asserts ATN. A= S ^secondary address hit. N=not used. =address hit. C=command hit. Data Lines Bit Significance 7 6 5 4 3 2 1 0 N000CCCC addressed command N001CCCC universal command N 0 1 A A A A A address to listen N 1 0 A A A A A address to talk N 1 1 S S S S S secondary address 276 BYTE • FEBRUARY 1985 Epson® puts the HI-80 “ four-pen plotter on your desk for $599. If you're still doing your charts and graphs in black and white, have we got a plotter for you. High speed, low cost. The new Epson HI-80 is small enough to sit on your desk, yet it plots in any four of ten available col¬ ors at a remarkable nine inches per second, with resolution, accuracy and repeatability comparable to units costing twice as much. No. 1 on the charts. The HI-80 draws on paper for re¬ ports, or acetate for overhead pro¬ jection. It has 42 intelligent com¬ mands to reduce programming time. And it even prints text for¬ matted for the Epson RX-80™ dot matrix printer. It’s an Epson. Which means you can count on it to be extraordinarily reliable, ex¬ tremely versatile, supported by vir¬ tually all graphics software, and backed by the Epson one-year Num¬ ber One Warranty. Get an art department for your desk. Get an Epson HI-80 Plotter. Number one. And built like it. EPSON EPSON AMERICA, INC. 2780 Lomita Boulevard • Torrance. CA 90505 • (215) 539-9140 • Call (800) 421-5426 for the Epson dealer in your area. In California call (213) 539-9140 Epson is a registered trademark of Epson Corporation. HI-80 and RX-80 are trademarks of Epson America. Inc. Inquiry 107 FEBRUARY 1985 • BYTE 277 INTERFACING The significance of a device's program data is determined by the manufacturer, not IEEE-488. 3. All sequences of data transmission end with ASCII 13 (a carriage return) and, optionally, ASCII 10 (a linefeed) instead of using the EOI line. The advantage of the standard is that data can be fed directly to a printer to produce properly formatted output in continuous-data-collection applica¬ tions. Of course, the biggest advan¬ tage of the standard is simply that it is a standard. Using the Interface So much for the standard. Now let's take a look at how to use it. Manufac¬ turers of IEEE-488 interface boards provide interface drivers for you, so using the interface is easier than learning about the standard in the first place. Usually the interface driver is a set of assembly-language routines that you can call. In high-speed applic- tions you will want an assembly-lan¬ guage driver. But in the program I pro¬ vide here (listing 1), I use an inter¬ preted BASIC driver. The program is taken from a course in interfacing I taught at Brandeis University. It is used to calculate the lattice energy of solid argon from temperature and pressure data pairs. This is a low- speed application, with readings be¬ ing taken every 30 seconds. Thus, an interpreted BASIC interface driver will provide adequate speed. A further benefit to me is that students can study the driver routines to under¬ stand how the interface works, 'fecmar also makes an assembly version of its interface driver. The equipment used in this experi¬ ment includes an IBM PC with 128K bytes of memory, a Tecmar IEEE-488 interface for the PC. two HP 3478A DMMs with IEEE-488 installed, a copper-constantan thermocouple wire, and a Barytron 220 pressure transducer. The program listing in¬ cludes only the data-acquisition part of the program, and Tecmar's inter¬ face driver routine is not reprinted here. Before the experiment can be run. the DMMs must be set to their respective addresses (17 and 19) by DIP switches on the DMM backplanes. The program is largely self-ex¬ planatory. I will limit my remarks on it to points that the listing may not make sufficiently clear. Notice the statement BD.ADDR°/o=&H310 in line 40. This initializes the beginning memory location of the 16-byte buf¬ fer used for communication between the IEEE-488 interface and the com¬ puter. MY.ADDR%= 1 in line 60 declares that the computer's device address number will be 1. Both these variable names are specified by the driver software. Line 110 shows the way that the Tbcmar driver routine is invoked. The routine begins at line 10000 and is merged with your appli¬ cation program. PARAM$ is the variable name for any parameter to be passed to the driver routine. In this case, the operation performed is ini¬ tializing the IEEE board for controller operation. In line 130, ADTR is the mnemonic for asserting REN. to let the DMMs know that they are con¬ nected to and will be controlled by the computer. Line 150 contains the information to be output to the DMM that will monitor the pressure trans¬ ducer. The significance of this data is determined by the DMM manufac- (continued) Listing 1: A sample data-acquisition routine using the IEEE-488 interface. 10 REM IEEE-488 PROGRAM FOR HEAT OF SUBLIMATION OF SOLID ARGON. PROGRAM SHOULD BE MERGED WITH TECMAR IEEE-488 SOFTWARE VER. 3. 20 REM PROGRAM BY THOMAS CLUNE, BRANDEIS UNIVERSITY CHEMISTRY DEPARTMENT 30 REM DMM #19 READS THE THERMOCOUPLE, DMM #17 READS THE PRESSURE TRANSDUCER. INITIALIZE IEEE-488 BUFFER LOCATION, DIMENSION ARRAYS 40 BD.ADDR°/o = &H310.DIM PRES(250):DIM TEMP(250) 50 REM SPECIFY COMPUTER DEVICE NUMBER, INITIALIZE DATA POINTER 60 MY.ADDR°/o = 1 :DPT = 1 70 REM WAIT UNTIL READY TO BEGIN RUN PRESSURE READINGS MUST BE POSITIVE AND THERMAL EQUILIBRIUM MUST BE REACHED BEFORE THE RUN BEGINS. 80 CLS:PRINT “PRESS ANY KEY WHEN YOU ARE READY TO BEGIN YOUR RUN" 90 A$ « INKEY$:IF AS = THEN 90 100 REM INITIALIZE BOARD WITH COMPUTER AS CONTROLLER 110 PARAM$= 1NIT.C/":GOSUB 10000 120 REM SET BOTH DMM’S FOR REMOTE CONTROL BY COMPUTER 130 PARAMS= “ADTR/“:GOSUB 10000 140 REM SET INTERRUPT REGISTERS OF DMM’S FOR SYNTAX ERROR AND FRONT PANEL SRQ. 150 DATA.STRINGS = “KM24D2PRESSURE" 160 PARAMS * “WR.STR/17/14///":GOSUB 10000 170 DATA.STRINGS = "KM24D2TEMPERATURE'' 180 PARAMS -“WR.STR/19/17///":GOSUB 10000 190 REM ENTER DATA.STRINGS AND WRITE PROGRAMMING INFORMATION TO DMM #17. ADD FOR EOS. 200 CLS:INPUT “ENTER COMMAND STRING FOR PRES. DMM (#17)";DATA.STRINGS 210 DATA.STRINGS « DATA.STRINGS + CHR$(13) 220 REM OUTPUT DATA.STRINGS TO DMM 230 PARAMS = “WR.STR/17//13/EOS/”:GOSUB 10000 ( continued ) 278 BYTE • FEBRUARY 1985 BASF QUALIMETRIC FLEXYDlSKS: A GUARANTEED LIFETIMEOF OUTSTANDING PERFORMANCE. BASF Qualimetric FlexyDisks feature a unique lifetime warranty* firm assurance that the vital information you enter on BASF FlexyDisks today will be secure and unchanged tomorrow. Key to this extraordinary warranted performance is the BASF Qualimetric standard... a totally new set of criteria against which all other magnetic media will be judged. You can count on BASF FlexyDisks because the Qualimetric standard reflects a continuing BASF commitment to perfection in magnetic media. One example is the unique two-piece liner in our FlexyDisk jacket. This BASF feature traps damaging debris away from the disk's surface and creates extra space in the head access area for optimum media-head alignment. The result is a guaranteed lifetime of outstanding performance. For information security that bridges the gap between today jr and tomorrow, look for the distinctive BASF package with the Qualimetric seal. Call 800-343-4600 for the name ^ of your nearest supplier. Inquiry 344 * Contact BASF for warranty details. /vfe^yZ7/s/c ENTER TOMORROW ON BASF TODAY L® 1 1983 BASF Systems Corp , Bedford. MA BASF Inquiry 193 magnum p.c. 800-544-4354 GA Residents (404) 441-3112 5965 PEACHTREE CORNERS E, 8-2, NORCROSS.GA 30071 COMPUTERS I IBM PC YOU CONFIGURE .CALL I SANYO MBC & SUPER .NEW LOW PRICES I BOARDS AST SIX PAC PLUS & MONOGRAPH .CALL EVEREX GRAPHICS EDGE .399 HERCULES GRAPHICS CARD .335 IRMA 3278 EMULATOR .BEST PRICE MICROTEK NEW PRODUCTS .CALL ORANGE MICRO ALL BOARDS .CALL ORCHID PC BLOSSOM & TURBO .CALL PERSYST BOARDS & CARDS .SAVE QUADRAM ALL PRODUCTS .CALL STB GRAPHIX PLUS II .CALL TECMAR ALL PRODUCTS .CALL TITAN ACCELERATORS FOR IBM OR APPLE. .CALL TSENG LABS ULTRA PAK .NEW DISK DRIVES FULL HEIGHTS (FOR IBM) .FROM 110 HALF HEIGHTS (FOR IBM) .FROM 125 ALPHA OMEGA TURBO 10 (FASTER THAN XT)800 EVEREX 10 MEG INTERNAL HARD DISK .750 1/2 HT 1/4" TAPE STREAMER .999 IOMEGA BERNOULLI BOX (20 MEG) .2795 MICRO SCI (FOR APPLE) .CALL PCjr 2ND DISK DRIVE OR HARD DISK .CALL PEACHTREE PERIPHERALS.CALL OUADDISK 6 MEG REMOVABLE .1725 QUENTIN (FOR APPLE & IBM) .SAVE SUPER 5 (FOR APPLE) .179 TALLGRASS HARO DISK WITH BACKUP .CALL TANDON TM100-2 . 189 PRINTERS C. ITOH LETTER QUALITY .CALL EPSON FX, RX .SAVE FUJITSU .CALL NEC SPINWRITER, P2&P3 .CALL OKIDATA ALL MODELS .BEST PRICES PANASONIC .CALL OUME .SAVE STAR MICRONICS GEMINI 10X/15X .269/379 MONITORS 1 AMDEK. .CALL PRINCETON GRAPHICS. .SAVE QUADRAM QUADCHROME . .CALL SUPER 5. .CALL TAXAN ALL MODELS . .CALL SOFTWARE j 1 COPY II PC.SAVE D-BASE III. .. .399 1 1 FRAMEWORK.399 JANUS/ADA. .SAVE 1 I LOTUS 1-2-3.SAVE MULTIMATE.. .279 1 | SYMPHONY.475 10 BASE. .. .CALL | MODEMS 1 1 HAYES SMART MODEM 300/1200 . .212/499 1 NOVATION SMART CAT PLUS W/MITE. .399 1 VEN-TEL HALF CARD 1200 BAUD . .425 1 PENRIL..SAVE MAXWELL^ .NEW ACCESSORIES 1 1 BUFFERS/SPOOLERS. . CALL 1 I CHIPS 64K - SET OF 9 . .39 I 1 COMPUSERVE STARTER KIT . .321 1 2 & 4 WAY SWITCH BOXES PAR. & SERIAL. .SAVE | DISKETTES VERBATIM (MAXELL. SAVE caseioo BOX 10 BASF 5% SS/DD 145 17 5% DS/DD 170 _ AVAILABILITY ANO PRICES SUBJECT TO CHANGE APPROVED CORPORATE ACCOUNTS WELCOMED INTERFACING 240 REM CHECK FOR SYNTAX ERROR IN DATA.STRINGS. IF YES, LOOP BACK TO REENTER DATA.STRINGS 250 PARAM$= ”RBST/”:GOSUB 10000 260 IF SRQ°/o = 1 THEN PARAMS = ”SER.POLL/17/":G0SUB 10000:IF POLL.RESP% AND 4 = 4 THEN PRINT “SYNTAX ERROR IN COMMAND“:SRQ°/o = 0:GOTO 200 270 REM IF ERROR< >SYNTAX ERROR, LIST ERROR MESSAGE IN OCTAL AND END. 280 IF SRQ°/o = 1 THEN PRINT “ERROR. STATUS REGISTER (IN OCTAL) = “;OCT$(POLL.RESP°/o):END 290 REM ENTER DATA.STRINGS AND WRITE PROGRAMMING INFORMATION TO DMM #19. ADD FOR EOS. 300 INPUT “ENTER COMMAND STRING FOR TEMP. DMM (#19)“; DATA.STRINGS 310 DATA.STRINGS = DATA.STRINGS + CHR$(13) 320 REM OUTPUT DATA.STRINGS TO DMM 330 PARAMS = “WR.STR/19//13/EOS/“:GOSUB 10000 340 REM CHECK FOR SYNTAX ERROR IN DATA.STRINGS. IF YES, LOOP BACK TO REENTER DATA.STRINGS 350 PARAMS = “RBST/“:GOSUB 10000 360 REM IF ERROR< >SYNTAX ERROR, LIST ERROR MESSAGE IN OCTAL AND END. 370 IF SRQ°/o = 1 THEN PARAMS= “SER.P0LL/19/“:G0SUB 10000:IF POLL.RESP°/o AND 4 = 4 THEN PRINT “SYNTAX ERROR IN COMMAND“:SRQ°/o = O.GOTO 300 380 IF SRQ°/o = 1 THEN PRINT “ERROR. STATUS REGISTER = (IN OCTAL) “;OCT$(POLL.RESP°/o):END 390 REM BEGINNING OF DATA-ACQUISION LOOP. INITIATE A GROUP- EXECUTE TRIGGER TO RECORD THERMOCOUPLE AND PRESSURE TRANSDUCER READINGS SIMULTANEOUSLY. 400 PARAM$ = “GET/17,19/“:G0SUB 10000 410 REM READ THE DMM VALUES INTO THE COMPUTER 420 PARAMS =“RD.STR/17//10/EOS/“:GOSUB 10000 430 REM STORE THE READING IN THE PRESSURE ARRAY. 1 TORR = lOmV, SO *100 MAKES V = PRES IN TORR. 440 PRES(DPT) = VAL(DATA.STRINGS)* 100 450 REM NOTE THAT THE LINE FEED IS USED TO SIGNAL THE END OF DATA INSTEAD OF THE LENGTH OF COUNT. LENGTH OF COUNT CAUSES AN ERROR CONDITION HERE WITH V.3 460 PARAMS = "RD.STR/19//10/EOS/“:GOSUB 10000 470 REM STORE THE READING IN THE TEMPERATURE ARRAY. IF TEMP>77K GO TO CALCULATION ROUTINE 480 TEMP(DPT) = VAL(DATA.STRINGS)* 1000:IF TEMP(DPT)> -5.539 THEN 630 490 REM CHECK FOR FRONT PANEL SRQ. IF YES, GO TO CALCULATION ROUTINE 500 PARAMS =“RBST/“:GOSUB 10000 510 IF SRQ%< >1 THEN 550 520 PARAMS = “SER.POLL/17/“:GOSUB 10000:IF POLL.RESP%< >0 THEN 630 530 PARAM$=“SER.POLL/19/“:GOSUB 10000 IF POLL.RESP%< >0 THEN 630 540 REM READ NEW TIME, CHECK ELAPSED TIME 550 REM TIMES IS RESET TO 0 WHEN RBST CHECKS FOR TIMEOUT FAULTS 560 ENDCLK = VAL(RIGHT$(TIME$,2)):PRINT ENDCLK 570 REM IF AT LEAST 30 SEC HAVE ELAPSED, GET NEW READING 580 IF ENDCLK<30 THEN 560 590 REM CHECK FOR END OF ARRAY. IF YES, JUMP TO CALCULATION ROUTINE. OTHERWISE INCREMENT DPT AND COLLECT NEXT POINT 600 IF DPT>249 THEN 630 610 DPT = DPT + 1 :GOTO 400 620 REM PRINT DATA AND DO SEMILOG REGRESSION GOES HERE. ROUTINE DELETED FOR BYTE ARTICLE. FULL ROUTINE AVAILABLE FROM AUTHOR. ( continued ) 280 BYTE • FEBRUARY 1985 Inquiry 290 DATAEA5E "/ was very impressed with its overall performance and features ... excellent interactive and data quality assurance capabilities ... relatively easy to master.. " Bill Jacobson From a feature article in BYTE , October 1984 Over 20,000 large and small business clients worldwide have turned to DATAEA5E to increase productivity In fact, leading software suppliers to Corporate America like MI5, Inc have recently sold more DATAEA5E than dBA5EIH“, Symphony ", Framework " and RBA5E 4000! DATAEA5E, with its ideal combination of power and ease of use lets you harness the full power of your micro to create forms and custom menus, gather, sort, group and calculate statis tical information, update and link files, generate standard or custom reports, interchange data with mainframes and popular programs DATAEA5E, the complete information manage ment system. Available through highly compe tent dealers throughout the U 5 Call or write for information on The 50ETEA5E Family of Products'* DATAEA5E, WORDEA5E ", QRAPHEA5E *, D05EA5E " DATAEA5E BYT2/85 Demonstration Diskette Check one: □ IBM PC □ WAMQ □ DEC □ Tl □ Chech attached for $10. 5end information package with demonstration. □ Send information only. dame:_ Title:_Phone:_ Company:_ 5treet:_ City:_State:_Zip:_ Software Solutions, Inc., 305 Bic Drive Milford, CT 06460 • 203-877-9268 • Telex: 703972 For dealer, corporate and product information call: 800 - 243-5123 Scandanavia South Africa West Soft A/S. Alesund. Norway. (47) 71-41141 Dataflex. Craighill, 11724-6353 United Kingdom West Germany Sapphire Systems. Esse* 01 544-0562 Marfct 6 Technik, Munich; 069-4613-0 c 198S Software Solutions, Inc INTERFACING The cost of adding an IEEE-488 interface is nominal and the added flexibility is not available from any other source. turer and is not a part of the IEEE-488 standard. This data is used to pro¬ gram the 3478A instead of secondary addresses, which the HP does not support. The significance of the string to the DMM is as follows: K -= "clear the maskable interrupt register," M24 = "set a new mask to generate an SRQ if programming data sent to the DMM has a syntax error or if the front-panel SRQ button is pushed," and D2PRESSURE = "display the word "PRESSURE" on the DMM's dis¬ play panel." Since the pressure¬ monitoring DMM and the tempera¬ ture-monitoring DMM look exactly the same, this prompt ensures that the in¬ strument is connected to the right transducer. Line 160 has the program¬ ming string output to the correct DMM. Field 2 of WR.STR specifies the device number (17) of the appropriate DMM and field 3 says to transmit 14 characters. That is. the end of se¬ quence (EOS) is identified by simply counting the number of characters transmitted. At the end of 14 charac¬ ters. the computer will UNLISTEN the DMM to terminate transmission. Line 200 has the operator input the pro¬ gramming information that will specify the functions that the pressure-monitoring DMM will use. Since the number of characters in the command string will vary with what options the operator selects, we don't use a character count to signal EOS here. Rather, in line 210 we tack a < CR > code onto the end of the data and in line 230 specify that the trans¬ mission to the DMM should continue until "13" (the carriage-return code in ASCII) is encountered. Since each operator enters the programming in¬ formation on each experimental run. we want to verify that the DMM string does not contain any typographical mistakes. Therefore, we read the IEEE- bus status (line 2 50) and see whether an SRQ flag has been set (line 260). Remember that the DMM was pro¬ grammed in line 160 to generate an SRQ on a syntax error. If an SRQ has been sent, we examine the status register of the DMM (260 also) to make sure that the SRQ was caused by a syntax error and. if so. have the operator reenter valid programming information for the DMM. Note that the SRQ does not automatically inter¬ rupt the central processing unit. It only sets a flag on the IEEE bus. If we want to ignore it, all devices that are still able to function properly can carry on with their business as usual. If we want an SRQ to automaticaly in¬ terrupt the computer, we can tie the SRQ line to an IRQ line. Now let s skip to line 400. This ini¬ tiates a group-enable trigger for both DMMs (numbers 17 and 19). Thus, our pressure and temperature data read¬ ings are triggered at the same time and are truly simultaneous. In line 420. we read the pressure DMM data into the pressure array PRES. Charac¬ ter 10. a linefeed, is used as an EOS by the DMM and is so declared in line 420. Lines 500 through 530 check to see if an SRQ was sent by any device and, if so, conducts a serial poll. This is done because the program allows the experimenter to interrupt the ex¬ periment at any time by pressing a front-panel button on either DMM. The program will then treat the data collected up to that time as the com¬ plete data set and begin the data analysis routine. If there was no SRQ. the program waits 30 seconds, checks to make sure that the data arrays are not about to overflow, and then takes another data reading. The program presented above is a very simple routine. However, even this basic level of process control is very difficult to achieve on interfaces other than the IEEE-488. If you have a choice, you should begin reshaping your lab to support IEEE-488 interfac¬ ing. As you replace outdated or broken equipment, the cost of adding an IEEE-488 interface is nominal and the added flexibility is not available from any other source. ■ ATTENTION OKLDATA. OWNERS! USE YOUR PRINTER TO ITS FULLEST WITH 1 MARVEL PRINT i MARVEL PRINT FEATURES: / j ■ Proportional Spacing of letter quality text- L _ (justifies right margins). ■ Enables you to create graphlcs-even in the middle of text ■ Lets you create your own character sets. ■ Allows you to backspace. 1 ■ Includes a powerful Label Printing Program. ■ Uses only one character for common codes SUBSCRIPT EMPHASIZED SUPERSCRIPT DOUBLE WIDTH UNDERLINE PICA , ENHANCED ELITE DATA MODE CONDENSED ( i; 73 Ql DFMO niSKPTTF |0 *ioata IUU S2 00 Refundable with purchase MARVEL PRINT-the new user-friendly program hat generates ALL the features of the Okidata 92 & ?3 printers using ANY text-producing program word processor, spread sheet, data base). We sell Okidata 92 & 93 printers bundled with Marvel B rint hardware at discount prices Call or write for more in¬ formation Dealers welcome Okidata is a trademark of the Okidata Corp \ Also available from Marvel Software by Popular Demand \ Character Sets: Italics • Script • Science & Math Symbols • Hebrew • Russian • Arabic • Greek • Foreign Language 1 Marks ) Character Clone Set: Allows you to take characters ^ from different sets & combine them for simultaneous use Marvel Print only S70 Marvel Print with any 1 character set S85 Marvel Print with any 2 character sets S90 Character Clone set S10 Works with Apple. CP/M-80. PC-DOS. MS-DOS State System. Visa. American Express. Mastercard welcome Phone orders accepted or Send check or M O to MARVEL SOFTWARE 1922 Ave. N, B'klyn, N Y. 11230. (718) 336-2323 282 BYTE- FEBRUARY 1985 Inquiry 198 The PC Plotter: It will change the way bnsiness looks at graphics. The lowest-priced professional plotter on the market today is Houston Instrument's new four- pen PC Plotter. It is designed to produce the crisp graphics you need to compete — and com¬ municate — in business. lust what makes this plotter so competitive? Let's take a look: Price — A multi-pen, compact, single-sheet plotter at $595* isn't just a low price — it's an unbelievably low price. What an affordable way to link the power of graphics communication to your personal computer. Performance — Yours and Ours — Until the PC Plotter was born, it was too expensive to let the pictures do the talking. Now that's no longer true. So, the next time the boss walks into the office needing some "nice charts and graphs," you can guickly fill the reguest with clean, colorful, wonderful graphics. Who knows, you might even get a raise! As to our performance, we're the only plotter manufacturer offering you hundreds of graphics software packages which are DQ®DaSS®DQ instrument ?S9 4P016 *U.S. suggested list price. compatible with the PC Plotter.That means you can produce any type of drawing you reguire. Flexibility — Depending on your needs, you can select from two PC Plotter models. One (PC Plotter Model 595 for $595.00*) allows you to produce graphics or overhead transparencies on 8 V 2 " x 11" paper or film; the other (PC Plotter Model 695 for $695.00*) permits either 8 V 2 '' x 11" or 11" x 17" graphics. And we didn't forget the OEM. Houston Instrument will work with you to configure a plotter that's perfect for your particular application. For the name of your closest PC Plotter distributor or dealer, contact Houston Instrument, P.O. Box 15720, Austin, Texas, 78761 or call (512)835-0900. Outside Texas call 800-531-5205. In Europe, contact Houston Instrument, Belgium NV., Rochesterlaan 6, 8240 Gistel, Belgium. Tel. 059-27-74-45, Tlx. 846-81399. Inquiry 139 > ’ > > nds— ! —File Commands— PRINT a file RENAME a file COPY a file DELETE a file -System Commands- R Run a program X EXII to system -WordStar Options- N Run MailNerge S Run SpellStar Photo 1: (a) NeuAM ord's opening menu compared with ( b ) WordStar’s no-file menu. _jb:iesi_ CURSOR SCROLL A E up C up A X down A 2 down A S left A R up scr A D right K down C word left screen A F word right L—t—?—t—f— J01JLMC01 Insert EDIT ME ,L ERASE ■C char A , A T word A ! SCROLL ERAS C up C char A Z down A I word A R up screen A Y line K down DEL left ERASE OTHER E *G char A J help C oi A I word A I tah A K s A Y line C insert off A P p >EL left A B align paray C g C unerase ^ paragraph line A L find/reylace again EXTENSIONS C on-screen format A K saving d Blocks A P print controls C quick functions AlIESI PAGE 1 LINE 4 COL 01 INSERT ON < < < MAIN MENU > > > -Cursor Movement— ! -Delete- 1 -Miscellaneous- 1 -Other Heous- A S char left A D char right !*G char I A I Tah A B Reform I (from Main only) *A word left A F word right IDEL chr If I 'HI INSERT ON/OFF ! A J Help A K Block A E line up A X line down ! A I word rt! A L Find/Replce again !C Quick A P Print -Scrolling- ! A Y line IRETURN End paragraphic Onscreen A Z line down C line up I I ^ Insert a REiURN I C screen up A R screen down! I C Stop a command ! .—t—t—t—♦—t—t—*—f—t—t—♦-p A E line up A X line down ! A I -Scrolling-- ! A Y A Z line down C line up I C screen up A R screen down! I —♦—t—t—|—t—t Photo 2: (a) NeuAV ord's edit menu compared with (b) WordStar's main menu. FEBRUARY 1985 • BYTE 293 REVIEW: NEWWORD menu (older versions of WordStar call this a no-file menu). You select one of the activities listed by typing a single character. If you select D or N. you enter edit mode (see photo 2). Once you are in the edit mode, the edit menu (called the main menu in WordStar) appears on the screen. From this menu, you ac¬ cess commands by pressing the Con¬ trol key and entering a character. The four commands labeled EXTENSIONS (Control-O. Control-K. Control-P. and Control-Q) are for submenus. Pressing these commands calls submenus that let you select the third character re¬ quired for each command sequence. If you are familiar with NewWord. you can enter the commands without waiting for the submenus. Fortunately. NewWord can read and edit WordStar files without conversion or translation. The program can also use some of the same auxiliary pro¬ grams: for example, we use the same print spooler we use with WordStar. Performance We tested NewWord version 1.29. which is available for the IBM PC and compatibles (we used a PC. PCjr, and Compaq) and for CP/M-80 systems (we used a Morrow MD-11). Some im¬ proved versions are available: version 1.40 for the IBM PC and compatibles is slightly faster than 1.29 and con¬ tains some minor program changes, and version 2.0 for CP/M-80 systems contains the column block-move fea¬ ture, which NewStar reports will be available soon (two to three weeks) for IBM PC users. | Editor’s note: We used New¬ Word version 1.43 to perform our benchmark tests. | Unlike WordStar, NewWord uses no overlays except the printer driver. In cases where WordStar must load an overlay to perform a function. New¬ Word's performance is faster. Overall though, we judge WordStar to be faster than NewWord on the IBM PC and compatibles and slightly slower on the CP/M computers. See table 1 for data on the IBM PC. and John Heilborn's article "The Morrow MD-11" (September 1984 BYTE, page 32 5) for benchmarks using CP/M sys¬ tems (in table 2, page 334). Installation The NewWord installation procedure is long (13 pages of step-by-step in¬ structions) and critical, because the custom installation procedure is also the copy-protection scheme. Prior to this installation (called ‘unlocking ") the software won't run on any com¬ puter. In order to unlock the software, you have to call a special 800 number maintained by NewStar. After unlock¬ ing. the software runs only on the machine on which it was installed. The unlocking procedure is de¬ scribed in Read Me First, a 13-step in¬ struction guide accompanying New¬ Word. The steps are clearly stated and even an inexperienced novice could follow the guidelines. To customize NewWord to fit your own needs. NewStar has included a utility called NWINSTAL. a customiza¬ tion program. Like NewWord. NWINSTAL is menu-driven. Some users will need to use the utility to in¬ stall special terminals and printers (the default terminal is a TeleVideo 92 5). The program is easy to use and well documented; the menus are comprehensive but not intimidating. NewWord's many customization op¬ tions are described in the manual's Nuts and Bolts section. The organiza¬ tion of this section could use work (and there are several typographical errors) but. in general, the guidelines for using NWINSTAL are clear. NewWord includes another utility program called NWCOLOR that lets you customize the screen display for a color monitor. You can select any one of eight colors for the foreground and background of text display, as well as high intensity (boldface), blink¬ ing, and blinking boldface mode for the foreground. You can display text in seven different ways and change any or all of them. NWCOLOR makes it easy to play with possibilities. Documentation NewWord's documentation includes a 420-page manual divided into three major sections: Do It Yourself, a tutorial that is organized into 12 sec¬ tions. each covering important word¬ processing tasks; Nuts and Bolts, a customization guide; and NewWord Encyclopedia, a reference manual. The manual was written for the CP/M version and has not been updated for the MS-DOS version, so it does not include the information required to make full use of some of NewWord's enhancements (such as built-in special printer drivers and programmable function keys). NewWord also includes the afore¬ mentioned Read Me First, a disk tutorial for word-processing novices, a Pocket Reference flyer, and a Do-It-Yourself supplement that describes condi¬ tional merge-print dot commands. Conclusions NewWord has some features Word¬ Star users have longed for (such as sophisticated yet flexible printer con¬ trol and the undo command, which reverses whatever you just did). How¬ ever, NewWord is not perfect. It can be slower than WordStar and it doesn't have some of the capabilities you might be dependent on if you've used WordStar more than casually. But at $249. NewWord is useful enough so that the lack of a few fea¬ tures is tolerable. ■ Table 1: A comparison of benchmarks for NeuAM ord. WordStar, and Volkswriter Deluxe. Benchmark NewWord 1.43 WordStar 3.3 Volkswriter Deluxe Document Load 19.76 9.9 22.0 Document Save 23.17 24.9 21.9 Search 10.75 10.5 7.0 Scroll 1:21.45 41.2 30.1 294 BYTE • FEBRUARY 1985 SOFTWARE REVIEW ]muslAda A useful nonstandard tool for learning Ada by Mark J. Welch Mark ). Welch is a BYTE staff writer. He can be contacted at POB 372. Hancock. NH 03449. A da is the U.S. Department of Defense's "Language of the Future." Although the DOD ordered that all defense contractors use Ada beginning this year, a lack of available, proven compilers has delayed its wide use. Whether or not you agree with the DOD that Ada is the best language, it will soon be the language of preference for govern¬ ment work. The DOD hopes that using a single standardized language will reduce maintenance costs for software. Microcomputer owners seeking to learn Ada will likely feel a sense of despair, since the compilers available for microcomputers are either partial implementations or non¬ standard subsets of the full Ada language. RR Software’s Janus/Ada (version 1.4.7) is a nonstandard subset of Ada for MS-DOS and CP/M-80. Janus lacks most of the fea¬ tures that distinguish Ada from other high- level languages, and it includes a number of nonstandard features. However. Janus is a useful tool for learn¬ ing about a complex programming lan¬ guage; those who have tried realize how hard it is to learn any programming lan¬ guage by reading even the best books or magazines. For a written overview of Ada, see Sabina H. Saib's two-part tutorial, An' Ada Language Primer," in lune 1984 BYTE, page 131, and July 1984, page 139. I used the MS-DOS version of lanus for the IBM PC. I am not an experienced Ada programmer; most Janus/Ada buyers will probably be in the same situation. Ada was originally designed for real-time applications like guiding missiles or pro¬ cessing radar data. 1 don't have access to guided missiles and Janus doesn't imple¬ ment Ada's concurrent tasking, so 1 wrote sample programs exercising Ada's useful¬ ness as a general-purpose language. Since lanus doesn’t have built-in graphics libraries. I wrote a simple text-based adventure game. I had written a similar adventure game in BASIC in about 10 hours. Programming the game in Janus/Ada took quite a bit longer, perhaps due to my lack of experience. How¬ ever, the resulting code was more struc¬ tured and easier to understand and update later. I am familiar with Pascal, the language Ada most resembles. Pascal programmers should have an easier time learning Ada than those experienced in other, less struc¬ tured languages. A warning, though: the similarity between the languages is also confusing. I was often slow to locate an error because the illegal lanus/Ada line resembled valid Pascal code. Included with the compiler are several sample Janus/Ada programs translated from Pascal. While none of the programs are noteworthy, they show how some functions are implemented. After compiling several of the included packages, I wrote a simple program of my own to print a message, read a line of text, and echo it. It took four hours and a phone call to RR Software before I could compile the program. Janus is not Ada Janus is not an entirely accurate subset of Ada. The problem I battled for hours in¬ volved parameter calls. Standard Ada lets you call any function or procedure that assumes default parameter values by invok¬ ing its name. Janus—like an earlier version of Ada—requires that you add an empty set of parentheses so the use of default param¬ eters is explicitly stated. Because Janus doesn't use standard Ada strings, it does not have a simple way to read in a string with the valid Ada proce¬ dure: get(word); or get_line(word); Instead, Janus excludes strings from the get procedure. You must use the get_line func¬ tion instead of the get procedure. This (continued) FEBRUARY 1985 -BYTE 295 REVIEW: JAN US/ADA AT A GLANCE Name Janus/Ada Compiler Type Ada programming language subset compiler Manufacturer RR Software Inc. 2718 Dryden Dr. POB 1512 Madison, Wl 53701 (608) 244-6436 Price $300 for CP/M-80 (not reviewed) $500 for MS-DOS $700 for MS-DOS with tools disk Format Three 5V4-inch double-sided floppy disks (compiler, linker, and tools) Documentation 237-page loose-leaf manual in three-ring binder Audience Applications software developers, Ada programmers, aspiring Ada programmers makes any program that uses I/O (input/output) nonstandard Ada. To read a string, you must call the get_ line function: word : = get_line(); Note the required parentheses. To make finished code look more like standard Ada, I created simple procedures to hide these nonstan¬ dard calls; if you compile such a pro¬ gram with a more complete Ada com¬ piler, you need to change only these procedures. lanus's nonstandard array handling also creates problems. You can create patches to cover some missing fea¬ tures. but some of Ada's elegance is lost. For example, the valid Ada array assignment: y(1..10) := x(1..10); will copy each element of x(i) into the corresponding y(i) element. This won't work in (anus because Janus doesn’t implement array or string "slicing." That is, it cannot access groups of ar¬ ray elements. If x and y are non-string arrays, the following replaces the above code: for i in 1..10 loop y(i) := x(i); end loop; — for i If x and y are strings, the job is tougher. An appendix to the manual explains several nonstandard sub¬ string functions and procedures. To do exactly the same as the original. I'd have to use: y := extract(y l 11,length(y)); i nsert(y,extract(x ,1,10) ,1); where the first line removes the first 10 characters of y and the second in¬ serts the first 10 characters of x into the beginning of y. Somehow this lacks the simple elegance of the valid Ada array assignment. Separate Compilation Any Ada or Janus code can easily be bundled off in a separate segment and separately compiled. By doing this, several programmers can devel¬ op code independently, each know¬ ing only the names and parameters of the subprograms the others are de¬ veloping. Any changes made to the subprograms later will require only that dependent segments be recom¬ piled and the program relinked with a minimum of debugging. The Compiler The compiler makes four separate passes; I've only experienced errors on the first three. Much information is echoed to the screen, most of it useless to the typical user; during each pass of the source or inter¬ mediate code, screen symbols show that the compiler is working. When the compiler finds an error, it displays the guilty line and the line preceding it along with the line number; it points out the error and displays a fairly helpful error message. Run-time errors are more confusing. When an error occurs during run time, the system merely displays the error message and line number. Since my text editor isn't line-oriented, I had to count lines to find the error—not an easy task when the error is in line 67 5. Each compilation takes from two to five minutes, depending on the length of the file and on whether the file be¬ ing compiled is merely a specification or includes executable code. Long files can be broken into segments for separate compilation; this is helpful when a single procedure must be re¬ compiled many times during debug¬ ging. After all segments are compiled, you can link the main program and generate a .COM file. Like most com¬ pilers. Janus/Ada generates .COM files that are longer than the source code because library subprograms are linked into the file as well. Benchmark Performance Janus/Ada is not an optimized com¬ piler, nor does it optimize the code it generates. This is forgivable given its price and the speed with which it was brought to market. Still, it needs substantial performance improve¬ ments before I would use it for com¬ mercial software development. The Sieve program in Ada compiled in 184.7 seconds, linked in 15.1 seconds, and ran in 29.4 seconds. Most, if not all, other language com¬ pilers on the IBM PC generate faster code more quickly. (RR Software in¬ cludes with the compiler a version of the Sieve program translated from Pascal to Ada that is different from the BYTE Ada Sieve benchmark.) The floating-point benchmark (list¬ ing 1) compiled in 184 seconds, linked in 15.8 seconds, and ran in 2.6 sec¬ onds. In this case, execution time was faster than the speed of several C compilers, although compilation speed was slow by comparison. Note that an 8087 coprocessor was used and that Janus can use floating-point numbers on the IBM PC only if it is equipped with this math coprocessor; no provision is made for floating-point arithmetic in software. A benchmark that computes Fibonacci numbers wouldn't run when translated because Janus/Ada doesn't support 16-bit unsigned integers; they 296 BYTE • FEBRUARY 1985 REVIEW: IAN US/ADA cause a run-time error when the highest value is computed. When re¬ written to use lanus's long_integer type, a stack/heap overflow occurs because Janus uses only 64 K bytes of memory for data. (It uses another 64K bytes for code.) The Quicksort and IOfile programs used in benchmark¬ ing compilers also use long integers but were not benchmarked. lanus's long_integer type was not easy to figure out, even after several calls to RR Software. The manual notes that long_integer is a standard type, but in fact you must use a separate library package called LONGOPS. Copies of the library pack¬ ages are included on disk, a fact I discovered only after calling the com¬ pany several times. Janus long_integers can't be ma¬ nipulated like integers, since they're essentially user-defined types: addi¬ tion or type conversion has to be done using one of the functions in LONGOPS. As a result, a program using long_integers in Janus looks radically different from one using in¬ tegers in a more standard compiler. Listing 2 shows the Fibonacci pro¬ gram in standard Ada; an overflow error is generated because the 24th Fibonacci number is a 16-bit unsigned number and Janus supports only 15-bit unsigned or 16-bit signed inte¬ gers. Listing 3 shows the program con¬ verted to use the type long_integer in Janus; a heap overflow occurs because of the deep recursion and large data space required. Documentation The Janus/Ada manual follows the for¬ mat of Ada's military standard refer¬ ence manual: each section mimics the reference manual and discusses any differences between Janus and Ada. The manual warns that it is not a com¬ plete guide and suggests that you have a copy of the Ada reference manual and an Ada textbook. The Janus manual refers to the Ada reference manual of 1980, which is no longer accurate; changes were made during the ANSI (American National Standards Institute) review process, ( continued) Listing 1: The floating-point benchmark program translated from the C version. package body floatbch is constl : constant float := 3.141597E0; const2 : constant float := 1.7839032E4; count : constant integer := 1000; a, b, c : float; i: integer; begin — float main program body a : = constl; b : = const2; for i in 1..count loop c : = a * b; c : = c / a; c : = a * b; c : = c / a; c : = a * b; c : = c / a; c : = a * b; c : = c / a; c : = a * b; c : = c / a; c : = a * b; c : = c / a; c : = a * b; c : = c / a; end loop; — for i put (“Done”); new_line; end floatbch; Listing 2: The Fibonacci benchmark program in the standard Ada language translated from the C version as printed in BYTE, J une 1984, page 307. package body fibo is ntimes : constant integer : = 10; — # of times to compute fibonacci value number : constant integer : = 24; — biggest we can compute in 16 bits value : integer; i : integer; function fib(x: in integer) return integer is begin if x > 2 then return (fib(x - 1) + fib(x - 2)); else return 1; end if; end; — function fib begin — fibo put(ntimes); put(“ iterations: “); new_line; for i in 1..ntimes loop value : = fib(number); end loop; — for i put(“fibonacci(”); put(number); put(") = ”); put(value); new_line; end; — fibo FEBRUARY 1985 • BYTE 297 REVIEW: JAN US/ADA Listing 3: The Fibonacci benchmark program translated from C (BYTE. J une 1984, page 307) into ]anuslAda using the necessary long_integer type. with longops; package body fibo is use longops; ntimes . constant integer : = 10; — # of times to compute fibonacci value number: constant long_integer : = lint(24); — biggest we can compute in 16 bits one : constant long_integer := lint(1); two : constant long_integer : = lint(2); value : long_integer; i : long_integer; function fib(x: in long_integer) return long_integer is begin if Lgt(x,two) then return Ladd(fib(Lsub(x,one)),fib(Lsub(x,two))); else return one; end if; end; — function fib begin — fibo put(ntimes); put(“ iterations: ”); new_line; for i in 1..ntimes loop value : = fib(number); end loop; — for i put ("fibonacciO; put (I_to_lnt(number)); put O = "); put (1_to_Int(value)); new_line; end; — fibo Table 1: A partial list of unimplemented or nonstandard features of Janus!Ada. Item Purpose/Difference Slices Allows references to sections of arrays or strings Example: a(1..5) Strings Not Ada standard (dynamic length) Named/default Allows default input parameters or parameters named parameters in subprogram call Examples: attackfenemy = > sam, weapon = > knife); attack(enemy = > fred); procedure attack (enemy: IN person : = dave; weapon: IN tools = gun); Tasks Ada’s multitasking facilities Exceptions Exception/error-handling facilities Generics Subprograms can be easily redefined for new data types Example: procedure EXCHANGE (uy: in out ELEM ) is t: ELEM; begin t : = u; u : = v; v : = t; end EXCHANGE; procedure swap is new EXCHANGE (character); procedure swap is new EXCHANGE(ELEM = > integer), You need to rewrite Janus programs to run on an Ada compiler. and the true Ada is now reflected in the reference manual of lanuary 1983. (Like its manual. Janus conforms to the earlier version of Ada.) A fairly complete index is included in the manual, but some items are omitted. When I tried to learn about string-handling routines, for example. 1 found that section 15—which in¬ cludes the list of string functions—was not in the index under 'string.' As noted above, the manual says that long_integer is a standard type. although it isn't. RR Software admits that the manual (version 3.2) is behind the compiler. Summary The Ada Joint Program Office (AJPO) insists that any partial implementation of Ada be so marked and all missing features be clearly identified. RR Soft¬ ware includes a list of implemented and unimplemented features in its brochure and its documentation. Some of the most significant missing features are listed in table 1. While missing Ada features make experience with Janus less helpful to programmers, its nonstandard imple¬ mentations of other features can be downright confusing. String and file handling are nonstandard, which means that you will need to rewrite almost all Janus programs in order to run them on a valid Ada compiler. RR Software expected the next ver¬ sion of Janus/Ada to be available in the fall of 1984 and said that many ex¬ tensions and changes would be made to the compiler. The new version might be available by the time you read this article. While Janus is not a true implemen¬ tation and lacks many of Ada's fea¬ tures. it is a useful, inexpensive tool for those wishing to learn the lan¬ guage before true Ada compilers are available for microcomputers. ■ 298 BYTE* FEBRUARY 1985 JUKI 6300: THE SPEED OF A BEE ONE HONEY OF A PRICE- s 995! It’s the buzz of the industry*—Bur new letter-quality printer that zips along at 40 characters per second and sells for less than a thousand dollars! Its 13" print line will handle your spreadsheets and every imaginable kind of correspondence—plus graphics! Quiet, too— less than 60 dbA. And the 3K buffer memory (expandable to 15K) lets you use your computer for other purposes while the JUKI is printing. if^nll Compatible with most computers. (You can even get an optional tractor feed and cut-sheet \ feeder for it!) Now you know why JUKI printers are humming in offices all over die world! JUKI The worker. JUKI OFFICE MACHINE CORP. EAST COAST: 299 Market St, Saddle Brook, NJ 07662 _ (201) 368-3666 _ WEST COAST: 23844 Hawthorne Blvd., Suite 101, Torrance, CA 90503 (213) 373-9060 Inquiry 166 FEBRUARY 1985 • BYTE 299 C Is The Language. Lifeboat Is The Source. Lifeboat .™ The Leading Source And Authority For Serious Software. 1 - 800 - 847 - 7078 . In NY State: 212-860-0300 Serious Software For The C Programmer From Lifeboat .™ Lattice * C Compiler: The serious software developer's first choice. Selected for use by IBM,® Texas Instruments, Wang,® MicroPro,' 0 Ashton-Tate, r " IUS/Sorcim,® Microsoft® and Lotus'" to name a few of the many. Why? Lattice C is clearly the finest 16 bit C compiler available today. —Renowned for speed and code quality. —Fully compatible with the C standards set forth by Kernighan and Ritchie. —Four memory model options offer you unsurpassed control and versatility. —Superior quality documentation. —Now includes automatic sensing and use of the 8087 chip. —Widest selection of supporting add-on packages. Halo™: A graphics development package rapidly emerging as the industry standard. —140 graphics commands including plot, line, arc, box circle and ellipse primitives, bar and pie charts; pattern fill and dithering commands. —New: multiple viewports and “stroke text” for angling, scaling and filling text. C Food Smorgasbord™: This beautifully written collection of C functions is a valuable time saver. —Library includes a binary coded decimal arithmetic package, level 0 I/O functions, a terminal independence package, IBM PC ROM BIOS access functions and much more. Pmate ™: The premier editor for the programming professional. Pmate is a full screen editor with its own powerful macro command language: —Perform on screen row and column arithmetic, alphabetize lists, translate code from one language to another, call up other macros. —Customize Pmate almost any way you like. —Contains 10 auxiliary buffers for storage of macros, text, subroutines. —An “undo” feature allows the programmer to retrieve whole series of deleted items. Additional C Tools Available From Lifeboat: Panel'”: Screen formatter and data entry aid. Lattice Windows'": Windowing utility; create “Virtual Screens.” Plink-86'": The popular linker; includes extensive overlay capabilities. Pfix86'": Dynamic debugging utility. Pfix86 Plus'": Symbolic debugger with capacity to debug overlays. Btrieve'": Database record access/retrieval library. Phact: Multikeyed ISAM C-Function library. Fabs: Fast access B-tree database function library. Autosort: Fast sort/merge utility. ES/P: ‘C’ program entry with automatic syntax checking and formatting. Greenleaf Functions'": Library of over 200 popular C functions. © 19H4 INTfRSOFT CORPORATION And much more. YES! Please rush me the latest FREE Lifeboat™ catalog of C products. * Company Business Name Phone Caukig -v NM ( I’r.vrumnuntf ln