CUE THE SMALL SYSTEMS JOURNAL DECE MBER 1985 VOL. 10, NO. 13 S3.50 IN UNITED STATES $4.25 IN CANADA / £2.10 IN U.K. A McGRAW-HILL PUBLICATION 0360-5280 COMPUTER CONFERENCING r m - -- - ^_____^_ TURBO "NEW " PACK $95.00 1 rrrf '^SAVE OVER 30% ON OUR GIFT PACKS! mm our icmric new uin- Turbo Gamewbrks™ fjEW! ' Tuibo Editor Toolbox™ r(//70O HOLIDAY PACK $125.00 hi gel our standard Turbo Pascal® 30 Turbo Tutor® Turbo DataBase Toolbox* All thi> right ^Sm Announcing Borland's New Turbo Editor Toolbox " $69.95 IT'S ALL YOU NEED TO BUILD YOUR OWN WORD PROCESSOR FOR ONLY $69.95! You get all the modules you need to build your own word processor. • You get ready-to-compile source code. • You get a full-featured word processor that looks and acts like WordStar'"; we call it MicroStar™ • You get a 200-page manual that tells you how to integrate the editor proce- dures and functions into your programs. You can use Turbo Editor Toolbox "as is" or modify it any way you want. And you don't get a bill for Royalties. Because Borland doesn't believe you should pay for something more than once. All this and more for only $69.95. And until March l. 1986 you can get Bor- land's new Turbo Editor Toolbox for even less! (Only $47.50 when you buy the special Turbo New Pack.) YOU CAN HAVE MANY WINDOWS ON THE WORLD. The new Turbo Editor Toolbox features windowing, a technique that lets you see several documents — or several parts of the same document — at once. You know best what your needs are. Turbo Editor Toolbox lets you open the windows you want. And to make those windows part of your program. WITH TURBO EDITOR TOOLBOX YOU CAN HAVE THE BEST OF ALL WORD PROCESSORS IN YOUR WORD PRO- CESSOR. You can make WordStar behave like Multi-Mate. Support windows just like Microsoft's® Word*" And do it as fast as WordPerfect does it. Incorporate your new "hybrids" into your programs to achieve incredible control and power. Turbo Editor Toolbox. It's the kind of tool that almost everyone needs — and we're the kind of company to give it to you at a reasona- ble price, without any compromise on quality. (We're so sure you'll be satisfied that we offer a 60-day money-back guarantee — something no one else does.) THE CRITICS' CHOICE "Turbo Pascal has got 10 be the best value in Ian guages on the market today — and Borland Interna- tional, by delivering excellent products at reasona- ble costs, is leading the software industry where it has to go. Turbo Pascal is more than just a good program at a low cost It's also a low-cost, well- conceived programming language making it possi- ble for lots of people to produce good programs." Jerry Pournelle, BYTE "This compiler, produced by Borland International, is one of the best programming tools presently available for the PC." Michael Covington, PC Tech Journal "Language deal of the century. Turbo Pascal." Jell Duntemann, PC Magazine BORlPflD INTERNATIONAL Three Special Gift Packs 60-DAY MONEY BACK GUARANTEE Introducing Borland's New Turbo GameWorks " $69.95 THE GAMES YOU CAN PLAY, REPLAY, REVISE AND REWRITE BUT CANNOT RESIST. (Turbo Pascal Source Code Included!) We give you the source code, the manual, the diskettes, the 60-day guarantee and the competitive edge. Let the games begin. Chess. Bridge. Go-Moku. State-of-the art games that let you be player, referee, and rules committee — because you have the Turbo Pascal source code. Which means that you can play a game or create a game, any time and any way you want Borland's new Turbo GameWorks lets you combine gamesmanship with craftsmanship. Discover the secret techniques and moves used by the Old Masters. Learn exactly how state-of- the-art computer games are made — so you can go off and make your own. Since you have the source code, you can always change the game. Or rig the game, if no one's looking. Pure Magic. That's Turbo GameWorks. And part of the "sourcery" — Turbo GameWorks is only $6995. When combined with our new Turbo Editor Toolbox in the Turbo New Pack, it's only $47.50. SHORT CUTS, SECRETS AND STRATEGIES. The Turbo GameWorks man- ual takes you step-by-step through all the games. How to play them. How to modify them. How to use the power of Turbo Pascal to write new games. You'll learn general problem analysis, how to identify all possible moves, "rule of thumb" strategies, procedures for testing strategies, and ways to rate options. You'll also be introduced to "top down" program design, the develop- ment of basic algorithms, the use of constants and data structures and ways to design short cuts with incremental updating. On top of all that, you'll have a lot of fun (if you want to). So go to play (and work) with Borland's new Turbo GameWorks. It's unique. It's fasci- nating. And it's brand-new. Be first with the latest and greatest — order your Turbo Game- Works today. BORLAND'S TURBO GAMEWORKS AND SOME OF ITS MASTER PIECES Chess, the ultimate strategic game. A game so old that no one knows its exact origins. Turbo GameWorks lets you play chess at six dif- ferent levels from the beginner to the sophisti- cated user. And you have many ways of playing with your Turbo GameWorks. Let the computer solve checkmate problems. Set the time limit for each game. And there's more. Decide whether you or the computer "goes first" Trade places with the computer at any point in the game. It's all possible with Game- Works. Go-Moku, also known as "Five-in-Line," is a very old Japanese game played on a board of squares. The first player to get five game pieces in a row — either horizontally, vertically, or diagonally — wins the game. It's an intriguing game. But you're not limited to playing it one way. With Turbo GameWorks, you can modify it your way. Bridge. Play bridge with a friend or team up against the program — you decide which hands the computer plays. You can even decide to let the program cheat! The program automatically bids and plays its own hands. And, since you can tinker with the source code, you can make "your" Bridge unlike any other. 4585 Scotts Miltey Drive, Scons Valley CA 95066 Phone (408) 438-8400 Tete 172373 Inquiry 37 for End-Users. Inquiry 38 for DEALERS ONLY With Dazzling Discounts! i i i ■"■"- — "re TURBO HO' JUMBO PA $245.00 Now you get the whole Turbo Pascal family, including its newest members, at an incredible price combines an integrated programming environment with the fastest Pascal compiler in the galaxy. teaches you step-by-step how to ! the Turbo Pascal development environ - nent With commented source code for all i examples on diskette. gives you all the i need to sort and search your data and build powerful database applications. gives you a com- plete library of Pascal procedures to build applications using high resolution graphics and graphics window management — Chess, Bridge, Go-Moku. Secrets and strategies of state-of-the-art com- puter games are revealed with complete source code. — the Pascal modules that let you build your own word processor. A full-featured WordStar-like program, Micro- Star*", is included on your disk You're getting everything at only $40 each. And if you already own one or several members of the Turbo family, be creative — nothing can stop you from buying the Jumbo Pack, picking out the ones you already have and giving them as holiday gifts for family or friends. At these pri- ces you can afford to give to others and to yourself ~~~c;~~ Aw at better =J S5SS!S» t " dealers 3155001 J***""*""*" Carefully •**«"* y°" 16-D't M«' s -°: ns _ MS-DOS $9500 — Pack MM Holiday J •Turbo Holiday Pack ■Turbo New F Pascal w/8087 Pascal w/BCD Pascal "18087 and BCD DataBase $6995 — j, 09 90 — $109 90 - $124 95 - $54 95 - $54 95 - $34 95 $69 95 $69 95 all US Turbo Editor TurboGameWoms ^esinclude^'SlSperP' - duct ordered. MC Am ount ICA add 6* VISA payment cre d„ Ca-d EXP— D ~ Check Bank Draft Borland i^BraSffiSTas and made Telephone Ga m*Works sssss? 88 — coD■s^; s ^s^"£^„Ts o d^^l " a, payment 1 Zr Whats New 37, 429 Ask BYTE 48 JINC MONITOR BOX BOMB Results 478 Reader Service 479 Address all editorial correspondence to the Editor BYTE POB 372 Hancock. NH 03449 Unacceptable manuscripts will be returned if accompanied by sufficient firsKlass postage Not responsible for lost manuscripts or photos Opinions expressed by the authors are not necessarily those of BVTE 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 ICCCI 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 Soeclfv ISSN 0360-528081 SI 50 Cnnvine done fnrorher than nerennal or miemal reference ,nr wiihour .he nermis- 360 CONTENTS EDITORIAL New Services It is now 1 5 years since Murray Turoff in- vented computer conferencing as a renegade project in. of all places, the Of- fice of Emergency Preparedness of the Ex- ecutive Office of the President of the United States. (See The Network Nation: Human Communication Via Computer by Starr R Hiltz and Murray Turoff. Addison- Wesley. 1978. for details.) It is seven years since Ward Christensen and Randy Suess invented the electronic bulletin board. Their article. "Hobbyist Computerized Bulletin Board," in the November 1978 BYTE (page 1 50) describes how they de- vised CBBS as a means of communica- tions for members of their computer club and as a source of material for the club's newsletter. Today it is clear that computer confer- encing and electronic bulletin boards are the means by which personal computer users form a new kind of community, united by shared interests rather than geography. This month we examine com- - puter conferencing in depth. We also ex- tend our services to readers. Many of you have written us about dif- ficulties in getting program listings that go with BYTE articles. Some listings appear in the magazine, but lack of space prevents us from printing all of every listing in BYTE. The listings are available for downloading from our three electronic bulletin boards or from the BYTE Informa- tion Exchange (BIX), but some of you don't take part in telecommunications. Others are outside the U.S. and face technical or financial obstacles to participation. We've been working hard to overcome these problems and are at last ready to announce some solutions. These include availability of program listings on disk, availability of computer conferencing and on-line listings throughout Europe, and free availability of listings on many bulletin boards outside the U.S. BYTE Listings on Disks Starting December 9, program listings for BYTE articles will be available in a great variety of disk formats. The listings are text files of source code and are to be used Duplication Services, a subsidiary of Con- trol Data Corporation, that will enable us to offer disks containing each month's listings for a cost to you of $5 for most 5!4-inch floppy disks and $6 for micro- floppies, high-density 5!4-inch disks, and single-density 8-inch CP/M disks. These prices include postage in North America. Shipping and handling add $1 to the cost of orders from Europe and South America and $2 to the cost of orders from Asia. Africa, and Australia. Which formats are available? Media Duplication Services has agreed to duplicate, at a cost permitting the prices above, any soft-sectored format that we can give them. We may need time to ar- range the downloading of the listings to some osbscure formats if we don't have the target machine here at BYTE. (If you're concerned about availability of your for- mat, call us at (603) 924-9281 and see if we have it. If we don't, we may arrange to pay you a small fee for downloading to your machine and sending us the resulting master disk for your machine's format.) We can't guarantee availability of every format, but we'll make an effort to provide any format requested. You will find an order form on page 60 of this issue if you wish to purchase listings on disk. BYTECOM: Conferencing in Europe Jacob Palme, author of two articles in this issue, is also the principal author of COM and PortaCOM, two conferencing pro- grams that run on a variety of systems. COM antedates and influenced CoSy. the software on which BIX is based. QZ. the same Swedish company that developed and sells COM and PortaCOM, also offers time-sharing in Europe. QZ will be putting BYTE program listings up and conducting computer conferences on BYTE and BYTE- inspired topics. Readers in Europe can subscribe to BYTECOM by contacting QZ. Stockholm University Computing Center. Box 27322, S-102 54. Stockholm. Sweden, telephone: 46 8 679280. To reach BYTE- COM via telecommunications network, you must first obtain a modem, establish an account with your local telephone ad- giro 184070-1 for the equivalent of 200 Swedish crowns (about S2 5). Hourly connect-time charges at night for BYTECOM will be the equivalent of $6. Note that telecommunications charges themselves are billed directly to the end user by the local telephone administration. Europe lacks the kind of billing to vendor that is normal in the U.S. The telecommu- nications charges by telephone administra- tions vary from country to country but are in many cases approximately $10 to SI 5 per hour in the evening. See page 60 for further information on BYTECOM. Listings on Bulletin Boards Outside the United States There's nothing quite like the interactive- ness of computer conferencing, but if using BYTECOM is difficult, you can also obtain BYTE program listings free of charge from electronic bulletin boards in many countries. We owe thanks to the many readers who responded to our re- quest for bulletin boards outside the U.S. to carry BYTE program listings so that all readers have a means of obtaining them. Page 60 contains a partial listing of these bulletin boards. We're also making ar- rangements with more bulletin boards and will announce them in a future issue. We hope these new services make BYTE more useful and valuable to many of you. Query for Interest We have looked at Cauzin Systems' in- teresting new Softstrip system. This system encodes data in graphics patterns printed on paper, and a special reader available from Cauzin reads the data into a com- puter's serial port. The Softstrip format packs a lot of information into a small space. We ran a test of a Softstrip on page 392 of our October issue, and the data proved readable. The disadvantage of the system is that you must purchase the Cauzin reader for approximately $200 in order to take advantage of the strips. As a means of distributing program listings, Softstrips would be an alternative to tele- communications and disks rather than a substitute for them. Please let us know whether you would like us to use Softstrips »l> ill America, 60 ( )xl( Moonachie, NJ 07074 W i » I i • m |l 1 jH J J 1 : m 3? -r-4ta- maxEll H.OPPY DISKS THE GOLD STANDARD inquiry 227 MICROBYTES Ultre, Melville, NY, announced a laser-printing engine that produces output at a resolution of 2400 dots per inch on photo film. Without a controller or case, the Ultre»Setter will cost OEMs about $5000 in quantity. IBM announced the Pageprinter, a 12-page-per-minute electrophotographic LED-array printer priced at $7490. The Pageprinter can print text and graphics at a resolution up to 240 by 240 dots per inch. Nanobytes Former BYTE columnist Sol Libes has started a new magazine for hardware and software developers. The bimonthly magazine is $20 per year; for information, contact Micro/Systems \ournal. POB 1192, Mountainside, N) 07092. . Hitachi has developed a 2'/2-inch hard-case floppy disk that works with a prototype drive from Suwa Seikosha The disk can hold up to 500K bytes (unformatted), recording on 200 tracks per inch; the drive requires only 2 watts during read and write and weighs half as much as a 3 '/2-inch drive. . . . MicroPro an- nounced release 2.0 of WordStar 2000; enhancements will include the ability to directly read Lotus 1-2-3 and Symphony worksheet files, multiple-column printing, on-screen justifica- tion, a document-history screen, and support for more than 200 printers. MicroPro also an- nounced that WordStar 2000 will be available for the UNIX PC (running under AT&T's UNIX System V) . . . . Texas Instruments is developing a 32-bit CMOS LISP processor chip under contract to the Department of Defense Advanced Research Projects Agency. Roughly 10 times more complex than a 68000, the 40-MHz processor will directly execute a superset of Common LISP with extensions like object-oriented programming and message passing. . . . Waferscale Integration. Fremont, CA, has developed a CMOS 32-bit microprocessor slice for use in standard-cell chips. The processor is rated at between 3 and 5 million instructions per second Hitachi and Motorola expected to sample a CMOS version of the 68000 microprocessor by the end of 1985 ... SoftKlone Distributing. Tallahassee, FL, an- nounced Mirror, a $50 telecommunications program it says is completely compatible with Microstuf's Crosstalk XVI .... Oki Semiconductor is now shipping production quantities of its 1-megabit CMOS ROMs. . . . Thoughtware Inc., Coconut Grove, FL, announced the Jingle Disk, a Christmas card on a disk for $9.95. Holiday scenes are displayed while Christmas carols are played. The program is available for the IBM PC (2 56K bytes), Apple II, and Commodore 64 and 128. .. . Lotus Development Corp. unveiled Signal, a combined software/hardware product that lets users in major cities receive stock quotes via FM side- band radio signals and automatically enter the information into 1-2-3 or Symphony, The cost is $595 plus subscription fees for available exchange services. Lotus also recalled and replaced its initial shipment of Symphony version 1.1 after discovering a serious bug. . . . Drexler Technology Corp. was granted two patents in October related to its wallet-size optical-memory-card recording system. . . . General Transformation Corp., Berkeley, CA, hopes to validate its Ada compilers for the IBM XT and AT early next year. The company says the $1000 XT version will compile 1000 lines of source code per minute and the $1200 AT version will compile 2000 lines per minute. ... To avoid a court battle with Apple, Digital Research agreed to change its GEM programs (currently available on the IBM PC and Atari ST) so they will look less like Apple's Macintosh software. . . . Pacific Bell is now offering public switched-digital service to customers in the San Francisco and Los Angeles areas, allowing direct data transmission within those areas at up to 56,000 bits per second. Cost for the measured service starts at $197 per month. . . . Like AT&T and Hitachi, Toshiba has begun sampling its 1-megabit DRAMs . . . Intel introduced a one-time- programmable 2 56K-bit EPROM that can be programmed in less than 4 seconds using a new Quick-Pulse programming algorithm .... Gould AMI, Santa Clara, CA, announced that two chips— its S3 52 1 3 modem chip and S352I2A filter chip— will perform all signal process- ing necessary for a Bell 212A-compatible 1200-bps modem. . . . Microsoft is shipping the XENIX System V operating system— a version of UNIX System V for the 80286— to OEMs . . MicroRIM's R:base 5000 database-manager program will be marketed by Microsoft outside North America and the Far East .... Honeywell introduced the XP and AP, two new personal computers compatible with the IBM XT and AT. . . . Tiac Manufac- turing announced the PC-320, a $995 signal-processing board for the IBM PC, XT, or AT, using a Texas Instruments 20-MHz TMS320IO single-chip DSP (digital signal processor). . . . Chips and Technologies, Milpitas, CA, announced a 5-chip set that replaces 63 chips on IBM AT-compatible motherboards. The PC AT-compatible CHIPSet is priced at $72.50 in quantity. Another product— the 4-chip Enhanced Graphics CHIPSet— allows EGA-compatible boards to be built with 32 chips instead of the previously required 76. 10 BYTE- DECEMBER I98S H Vou'reon the road. t ifty five miles an hour and you're still three hours from Atlanta. On the seat nexl to you is the little miracle the trip worthwhile it s an bpson Geneva. A lull blowi personal computer that runs on batteries and (its in a briefcase Yen can't live without it. You've gol sales people to beat up, cheer up. and pump up. So before you hit the road, you gol sales data from the mainframe al headquarters and competitive information from the IBM IV in the regional office with Geneva's optional modem. With ( Geneva's powerful Portable Calc software, you analyze, or ganize, and print the data with the optional printer. Now you're ready to give them the good word. Or the bad news. Ihe I pson Geneva will helpyoui I troops gel ready to take Atlanta, Arid it iusl might lake you a lot further With a massive software library and a complete line o1 system pe ripherals the I pson Geneva PX-8™ portable computet can handle sales management, or any othei job you take on. And foi less than $1000. I or more information, call 800 421 5426or213 539 9140 in California. EPSON Geneva First new 114-inch cartridge since 1971 If you don't have data worth preserving, then the reasons for buying Cartrex's new 1/4-inch, high performance, virtually error-free tape cartridge won't mean anything But, if you are one of the many 1/4-inch tape cartridge users that assume 3M's cartridges just have to be "good enough" for today's high performance tape drives, read these simple facts to understand why that isn't true anymore. Pilots have a saying, "There are those who have made a wheels- up landing — and those who will." You can applv this expression to those ^ who have lost data and those who will. Unfortu- nately, data loss isn't al ways because users haven't backed-up their hard disk. Sometimes it's because their 1/4- inch tape cartridge, where they back up their hard disk, developed hard er- rors — those insidious errors that tend to increase over time. That's why Car- trex has developed a 1/4-inch data car- tridge for today's high performance drives that virtually eliminates errors. Why a new cartridge When 3M announced its cartridge in 1971, it was designed for a low capac- ity tape drive with less than 3 mega- bytes — 2.88 to be exact. The tape was low in density — 1600 bits per inch with only 4 tracks and 300 feet of tape. The tolerances required for the tape drives of the early 1970's were fine for then, but today's tape drives re- quire much tighter tolerance. Today's tape cartridges must work with drives that have 9 or more tracks and bit den- sities as high as 12,000 bits per inch on 600 feet of tape. That means capacity increases of 2,000 percent packed into the same cartridge. The reasons that yesterday's car- tridge technology simply won't work properly in today's high capacity drives is inherent in the cartridge de- sign. 12 BYTE- DECEMBER 1985 The new Cartrex U4-inch tape cartridge is the first new tape cartridge design in almost a decade and a half. Tape drive manufactur- ers now have a new cartridge technology which allows them to advance beyond this previous artificial barrier. With the significant increases in capacity, the three culprits that make cartridge tolerances so important are fluctuating tape tension, redeposit nodules, and instantaneous speed var- iations (or ISV). Tape Tension Any child who has played with a magnet understands that as the mag- net is separated from metal, the mag- net's ability to work is decreased. So it's no surprise to find out that the closer the tape drive head is to the tape, the better the reading. This closeness is particularly impor- tant when the embed- ded iron filings get packed tighter in to- day's high density tape. It's also important with the increase in the ^^^^"^^™ number of tracks. After all, you wouldn't want the head to be reading an adjacent track any more than you'd want it reading more than one magnetic representation of a bit. Unfortunately, tape tension his- torically has not been constant. As the tape unwound, the tension increased. What's important is both the amount and range of tension. A fluctuating in- crease or decrease in tension is as un- acceptable as low tension is in the first place. As the accompanying graphs 7711' Cartrex cartridge design (upper left) uses the N2 principle which creates head-to-tape tension by applying a mechanical differential at the rear pulley behveen a stiff transport belt and a stiff tensioning belt indicated in green and yellow in the color schematic (upper right). The conventional .7Af design applies drag at the rear pulley to create tension, which creates heat, and limits future speeds much above 90 inches per second. Good head-to-tape tension ensures the highest probability of reliably capturing data. Fluctuating tape tension allows data loss due to head-to-tape separation and smearing redeposit nodules across the tape head. The Cartrex cartridge, compared to the conventional design, creates constant and higher tension. show, the Cartrex cartridge has higher tension and flatter profile than the 3M cartridge. This means more reliable data across the entire tape. Redeposit Nodules Another reason to keep constant tension is to avoid "redeposit nodules" from smearing across your tape drive's head. What are redeposit nodules? They are the insidious flakes of tape media that break off from the edges of the tape and get dragged up to the edge of the tape head. If the tension is low, or becomes low when the tape starts or reverses, the flakes come up over the edge, get smeared over the head, and reduce its ability to read the data. Even worse, however, is that these redeposit nodules are dragged along the surface of the tape and get embedded and packed over time. When your drive tries to read the data, the redeposit nodules act as a tent pole holding up the tape away from the head. As a result, even the best error- recognition algorithm can only tell you one thing — you've lost the data. You might be wondering what causes the flaking in the first place. Again, it is cartridge design. The basic design uses a tape guide, shown in the accompanying illustration. The prob- lem with this approach, is that it pre- supposes that the tape will always run parallel to the top and bottom caps of the tape guides. At the low speeds of 30 inches per second typical of when the 3M cartridge was designed, it was less of a problem. But at today's speeds of 90 inches per second and more, the tape wanders. When it presses against the top of the tape guide, the tape's edge pressure builds. Not only does media flake off, but you lose data due to the "coining" or "scalloping" effect. Cartrex eliminated the cause of the tape coining or scalloping by develop- ing a barrel-shaped roller placed prior to the tape guide. The laws of physics show that by riding on a rounded bar- rel, the tape will always seek the mid- dle, reducing the tape edge pressure. This seemingly simple addition causes the tape to always enter the tape guide with zero edge pressure. In this way, the possibility of media flaking off and creating redeposit nodules is virtually eliminated. Instantaneous Speed Variation (ISV) Instantaneous speed variations is exactly what it sounds like — small, in- stantaneous changes in tape speed as it crosses the tape head. At slow tape You can compare the Cartrex design on top with the conventional 3M design (lower left) and DEI, a 3M licensee (lower right). The omission of "edge tension reduction guides" (indicated in dark blue on the color schematic) on either the 3M or DEI design means that tape edge pressures will in- crease causing the magnetic media to flake off, smear across the tape head, and cause "redeposit nodules" to become embedded in the tape. speeds and low bit densities — like the 1971 standard of 30 inches per second and 1,600 bits per inch — ISV wasn't as big a problem. At that time, the bits were crossing the head at 48,000 bits per second. Today, however, the story has changed. 90 inches per second and 8,000 bits per inch mean that 720,000 bits cross the head every second. A 1,500% increase. As you may have guessed, speed fluctuations in the 48,000 bits per sec- ond made reading data difficult for tape drive electronics. But when the electronics have to guess whether or not the bit rate of 720,000 bits per sec- ond is accurate, the electronics can be- come overwhelmed. High speed tape without the "edge pressure reduc- tion guide" seldom enters tape guides parallel to the top and bottom. The edge pressure which re- sults creates "scalloping" or "coining" on the tape. The effect is data loss due to head-to-tape separa- tion, flaking media that smears across the head, and "redeposit nodules" that create hard errors. Never a Single Issue Your tape drive seldom has the luxury of dealing with an isolated problem. It's usually a combination of ISV, redeposit nodules, and tension problems all together. Now you under- stand why Cartrex wanted to develop a cartridge for a market that needed a modern alternative. Where to get it Not only has Cartrex improved on the industry's 15 year old technology, they have done it for a competitive price. Now you can have peace of mind when you back up your hard disk on today's sophisticated tape drives. And you can have it fast. Simply phone: (619) 485-6603 ext 400 and give Cartrex your credit card num- ber and they will send your cartridges by return mail. ^BP *— ^V C/SRTREX CARTREX CORPORATION MARKETING HEADQUARTERS Inquiry 52 for End-Users. Inquiry 53 for DEALERS ONLY. 11590 WEST SAN DIEGO BERNARDO CT. CALIFORNIA SUITE 230 92127 619-485-6603 DECEMBER 1985 'BYTE 13 LETTERS More Travesty Murray Lesser's "Travesty Revisited" (July, page 163) is the second BYTE article to present a compiled-language version of Brian Hayes's random text generator (the first was "A Travesty Generator for Micros" by Hugh Kenner and Joseph O'Rourke. November 1984. page 129). If the subject is really that interesting, an interpreted BASIC generator would make it available to a larger number of casual programmers. Lesser's program is too loopy to run well in an interpeted language, but a usably fast version could be derived from his listing if lines 86 through 106 were re- placed with those shown in listing 1. My code embodies a small variation on the Hayes algorithm but is functionally equivalent to it. It requires a BASIC inter- preter that allows long string variables, and LETTER(k) should be dimensioned to 2 5 5 , which is large enough to handle input files of 10,000 characters or so as long as the scan order is greater than 2. A generator using this stragegy and writ- ten in MS-BASIC (1.0) on a Macintosh runs a 1000-character in/out benchmark in 90 seconds. This compares well enough with the 130 seconds reported by Kenner and O'Rourke for the same test on a Heath H-89 with the original form of their Pascal generator. This is 5 to 10 times faster (depending on scan order and input-file size) than an interpreted generator using the Hayes algorithm as given. Travesties become tiresome very quickly, but the method itself can lead to valuable insights into written language if one has the patience to follow up some of its for- mal results. For example, the generator allows the computation of several con- stants that measure aspects of the text in the input file. The easiest of these to han- dle is linear convergence, which is given by (E(l/T))/C. where T is the number of matches to each gram and C is the total number of output characters. Linear con- vergence measures the tendency of the source text to reproduce itself through the generator. At high scan orders (greater than the number of characters in the longest recurring string in the text) its value is 1, and for lower orders, less than I. It can be approximated very well by adding the function T = T+ 1/LETTER(0) as the second line under the WHILE state- ment above, and then dividing T by the total number of output characters at the end of the run. If the convergences measured for orders 3 through 8 are plotted and the curves compared for dif- ferent kinds of text and for different authors, some very interesting things sug- gest themselves. It is fascinating to realize that so nebulous a quality as "literary style" can be formally measured, and that there is a numerical aspect to the com- parative study of literature. Robert Green Annapolis. MD Murray Lesser replies: In response to Mr. Green's letter, I offer a few comments. First, the program as published does an order-4 verse scan of 'Jabberwocky'' (1013 bytes) with 1000 bytes output in 33 seconds on my IBM PC. Time is by stopwatch, files are on memory-mapped virtual disk. Second, the intent was to make mini- mum changes to the program structure established in the original article by Ken- ner and O'Rourke. The purpose of the piece was to show the effect of a more Listing 1: Reader Green's modification to TRAVPC1.BAS. LET l = INSTR(STRING, PATTERN) 'Scan for first match LET LETTER(0) = 'Initialize match count WHILE l>0 AND l< =LEN(STRING)- N.PAT 'Set loop conditions LET LETTER(O) = LETTER(O) + 1 'Increment match count LET LETTER(LETTER(0)) = l 'Record match location LET I = INSTR(I + 1,STRING,PATTERN) 'Scan for next match WEND 'Repeat LET L = INT(LETTER(0)*RND) + 1 '1 < random mteger< = match count LET OUTCHAR = MID$(STRING,LETTER(L) + N.PAT.1) 'Record selected letter suitable language, not to monkey with the algorithm. A major performance improvement for very long input files lover 5K bytes) is to eliminate the repeated input string con- catenation with every character ac- cepted. This can be done with a couple of assembly-language subroutines to write the entire input string into string space only once, albeit one character at a time. I leave this as an exercise for the interested reader. If the technique is to be used for anything other than a stunt, the program should be restructured in a major way. For example, if one were to implement Mr. Green's suggestion of using it to com- pare "literary style,'' the program should run all the desired outputs from a single reading of the input, gather the ap- propriate statistics, and then move on to the next input file. Finally. I wouldn't use an interpreted language for anything. In addition to the performance improvement, it is much easier to write and debug long programs for a compiler than it is for an interpreter. Try it: you'll like it. Hope and Pascal Recursion I would like to respond to Roger Bailey's article A Hope Tutorial" (August, page 23 5). In comparing Pascal with Hope on the mult function, he only showed an ex- ample of writing the function in Pascal using iteration. It is possible to write the function in Pascal using recursion (as shown in listing 2). This method is not the method normally taught to students, since recursion is not always the best route to follow. Except for that one example, I think [continued) LETTERS POLICY: To be considered for publica- tion, a letter must be typed double-spaced on one side oj the paper and must include your name and address. Comments and ideas should be expressed 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 takes four months from the time BYTE receives a letter until it is published. 14 BYTE • DECEMBER 1985 i THE ACCENT IS ON EXPANDED MEMORY. TT TH MAYNARD'S NEW LOTUS-COMPATIBLE CAR *J mi pPtr %i«&iN Now, Maynard gives you 2MB of Lotus-compatible Expanded Memory with Accent™ Designed expressly for your personal computer, Accent ™ adds memory power to Lotus 1 -2-3? Symphony* and all other Expanded Memory programs so you can create larger spreadsheets than ever! An optional mouse places speed, access, and customized commands at your fingertips, saving time and eliminating incon- venient, multi-key cursor controls. Accent™ is avail- able at the finest computer retail stores everywhere. Contact your local dealer or write to us today for product information. * Lotus 1 -2-3 and Symphony are trademarks of Lotus Development Corporation. AggstZ MaynardElectronics Shaping tomorrows technology. 430 E. SEMORAN BLVD., CASSELBERRy , Inquiry 228 :FL 32707 305/331-6402 Why you should ignore 95% of the news Because NewsNet automatically finds the 5% you need. From our database of authori- tative, up-to-date business news, you get just the stories you want, delivered instantly to your microcomputer. You choose your own, unique keywords, and NewsNet saves — just for you — every new article containing those words. Or, you can find that critical 5% on your own, with NewsNet's powerful keyword search- ing and text scanning. Just what's in NewsNet's database? The full text of over 300 valuable business newsletters. In- depth news, written by experts, filled with analysis and interpretation. News from 34 dif- ferent industries and professions — everything from Computers to Investments, from Manage- ment to Telecommunications. Plus extras such as wire services, online stock quotes, air fares, and business credit reports. Computer News: Your Specialty is our Specialty. Here are just a few of the 25 Electronics and Computers newsletters on NewsNet: Mini/Micro Bulletin Personal Computers Today Robolronics Age Newsletter Semiconductor Industry & Business Survey The Seybold Report on Professional Computing Stanley Klein Newsletter on Computer Graphics ONLINE BUSINESS NEWS \h± Call Today! We'll send all you need to subscribe. (800) 3451301 {in PA 215-527-8030) / "S&wsNci Inc 945 Havcrford Road. Bryn Mawr. PA 19010 LETTERS Listing 2: A recursive mult junction written in Pascal. 01 program test (Input, output); 02 03 var 04 x,y, num : Integer; 05 06 function mult (x,y :ir teger) :integer; 07 08 begin 09 if y = then 10 mult : = 11 else 12 mult : = mult x,y- 1) + x 13 end; 14 begin 15 repeat 16 read (x,y); 17 num ; = mult (x,y); 18 writeln (' num is ', num : 3); 19 until num = 20 end. this was an excellent presentation of Hope. Since I have no way of testing out the language, I can only say that Hope ap- pears to be an easy language to under- stand. Charlene Filz Santa Clara, CA Roger Bailey replies: Charlene Filz is certainly correct in stating that the mult function may be written recursively in Pascal. My exam- ple using a loop was not a deliberate mis- representation of Pascal but an attempt to compare a ' traditional ' ' iterative pro- gram with Hope's recursive approach. In the former, a sequence of data values (such as the successive values of prod in the example) is ordered in time and must be generated in that order; in Hope, a sequence of values is ordered only in space and may be generated in any order. This is shown most clearly in the Pascal and Hope versions of the pro- grams for printing a sequence of natural numbers, and it is the property of Hope that makes it so suitable for parallel machines such as ALICE. As Ms. Filz correctly states, the recur- sive method is not normally taught to students, which is very unfortunate. Recursion is widely regarded by practic- ing programmers as ' inefficient' or even "unnatural.'' yet neither of these criticisms bears up to examination. The [continued) Introducing In-aVision Complex Drawing Mad asy We created In-a-Vision just for you. The engineer who needs more productive drafting support. The designer who needs ver- satility for alter- nate ideas or quick revisions. The architect who needs to manage a variety of working drawings. And the businessman who needs first-class presentation mate- rials as well as detailed flow charts and organization charts. Point. Click. Draw. Now all you do to create com- plex technical drawings, systems designs, blueprints, diagrams, illus- trations, and proposals is point. In-a-Vision's mouse support, windowing, icons, and pull-down menus, you produce drawings more quick- ly, accurately and effi- ciently than ever before. In-a-Vision's advanced tech- nology includes many features not found on comparable systems cost- ing thousands more. For example. (Most popular graphics cards, plotters and printers supported.) Microsoft Windows compatible. Call tor specific operating environment requirements Unlike more expensive CAD systems, In-a-Vision is easy to install and use. Even the com- puter novice can be productive in less than a day. And ^ In-a-Vision is not copy- protected. Ten Day Trial Period. We're so sure In-a-Vision will :DO- around in a user-de- finable drawing space up to 68" x 68" and zoom in on specific areas for greater de- tail. Scale, rotate and dimension symbols, fill an area with your choices of predefined colors and patterns, as well as draw lines with multiple styles and widths. Other features include overlays, predefined and user- definable page sizes, rulers, grids, and symbol libraries. Multi-tasking in a PC-based CAD system. In-a-Vision uses multi-tasking to enable you to continue drawing while printing hard copies as well as edit multiple drawings simultaneously. MICROGRAFX The Picture of Success. Inquiry 242 make you more pro- ductive, we'll give you ten days to prove it to yourself. If In-a-Vision doesn't improve your productivity, return it within ten days for a full refund. In-a-Vision will make your complex drawing tasks sim- ple and make you more productive. Satisfaction guar- anteed. Dial 800-272-3729 to order or for a free brochure. In Texas or for customer support, call (214)234-1769. MICROGRAFX, Inc. , 1820 North Greenville Ave- nue, Richardson, Texas 75081. In-a-Vision and MICROGRAFX are trademarks of MICROGRAFX. Inc. Windows and Microsoft are trademarks of Microsoft. Inc. Inquiry 89 400 Standby UPS Power protection for high-level microcomputers with peripherals, multi-tasking systems, and communi- cation networks is here, now, with the 400 Watt DataSaver. Placed between the desktop computer and system monitor, the DataSaver 400 features a master power switch directing four power outlets. 2-stages of overvoltage transient suppression and built-in, automatically recharged batteries stand by to assure clean, uninterrupted power for the five minutes you might need to shut down before the power shuts off. 90 and 200 Watt models available. ■ - ,, . . , ■ :■., ,, . .^ „. , ..;..,.,_■ ..,;.„. ■,.,,.:., i ., ; V lri .i,,,.. -„ MT1 .„ Cuesta Systems Corporation 3440 Roberto Court San Luis Obispo, CA 93401 ©1985, Made in U.S.A. Write or call 805/541-4160 Dealer, O.E.M. inquiries invited ■**"PC SOFTWARE Take total control of your PC from the Inside!! Machine Code Tutorial helps you understand and program the very heart of your PC or compatible Using several unique teaching techniques, your PC becomes the teacher as you explore the 8088 CPU and hundreds of other subjects as they relate to your PC. Machine Code Tutorial is intelligent teaching software which will bridge the gap between having a general knowledge of BASIC and being able to use and understand a typical 8088 CPU manual This course will give you the ability to program the CPU directly and thus move with confidence amongst the "Grass Roots" ofPC software design and architecture You will then assume total control of your PC. A working understanding of what is happening behind the scenes will give you a mapr advantage in almost all areas of PC usage SUBJECTS COVERED INCLUDE: Keyboard Control & Extended Codes Keyboard Scan Codes Special Control Areas Joystick Control Add-on Boards Clock Functions Dos Memory Map Device Drivers Cassette Interlace Program Development — Sound Effects Generator — Speech Digitizing — Creating Real Time Animation — Games Development — Programming Tips AN AFFORDABLE $49" Machine Code Tutorial requires an IBM PC or compatible with 128K RAM and one disk drive Check your local computer slore or wherever software products are sold If unavailable, complete the Order Form and send to Intouch Computing Dealer enquiries inviled Inlouch Computing >s a division of Intouch Australia Ply Lid Using the supplied Monitor Hand Coding the 8088 CPU Most 8088 Mnemonics 8088 Architecture — Registers & Flags — Interrupts, Speeds & Timing Secret " 8088 Codes Assembly Language High & Low Level Languages Interfacing BASIC Basic Work Areas Parameter Passing Disk Operating System — Scratch Areas — File Headers — Entry Points — Disk Allocation — Initialization — Available Functions — rile Management — Disk Transfer Areas High & Low Ram Rom Bios Routines Self Testing Compilers Character Set Speaker Usage Disk Copy Protection Routines Other Software Copy Protection Communication with Printers Communication with Modems Networking Parallel & Serial Interfacing Memory Map Explained Screen Manipulation & Control Programming the 6845 CTR Cursor Control DMA Channels Graphics Modes & Storage Colour Control Game Controller Keyboard Re-assignment ^f ORDER FORM Please airmail me "Machine Code Tutorial" for a total price of $49.95 including first class airmail. Address Town/Suburb Area Code Country Method of Payment: (Please tick one) D Personal Cheque D Bank Cheque □ Money Order □ Mastercharge □ Visa D Diners Club D Bankcard D Other Credit Card Q Other method of payment Name on credit card (If apphc) Credit card No (If applic) Exp Send to "Inlouch Computing", 6th Floor, 1 Kent St, Bicton, Western Australia, 6157. Ph: (09) 339 4431 LETTERS first goal of all programming is to pro- duce programs that are demonstrably correct. What use is the program that is highly optimized yet gives unreliable results or crashes unpredictably? Clarity and conciseness are our greatest aids to correct programming and recursion provides both. Compare Ms. Filz's recursive mult with my iterative ver- sion: It consists of only two statements, has no variables, and more importantly, no concept of states because no values get changed when it's evaluated. It can be seen to be correct without testing or hand-simulation, whereas the iterative program needs much more careful ex- amination before we can be sure it will work correctly. Except in rare circumstances, I would always favor a recursive Pascal program over the equivalent iterative one. Recur- sive procedures are handled as efficiently in Pascal as nonrecursive ones. As for the charge that recursion is unnatural, I would simply remark that all program- ming languages are unnatural until they've been learned. In the Department of Computing at Imperial College, we teach recursion before any of Pascal's loop constructs, and our students regard it as completely natural. To those of your readers like Ms. Filz who like the style of Hope but have no way of testing it, I should mention that it's even possible to write Pascal programs that manipulate large data structures in a completely functional style. Okay, Blame the Computer . . . Sometimes It was interesting to read Michael Russell's letter ("Don't Blame the Computer," August, page 14). His examples of what some people called "computer mistakes- poorly scheduled lunch periods and a $6539.97 phone bill— are indeed, as he points out, attributable to human error. I get the impression from his letter, how- ever, that he is unaware of the fact that true machine-based errors are very common. Over the eleven years in which I have been working with computers, it seems like I have encountered a roughly equal number of machine-based and human- based computer errors. A bug in software, an obvious design flaw in hardware, or an error in operations are all human-based errors, of course. Machine-based errors occur when, for ex- ample, a semiconductor component fails (for no apparent reason), when a {continued) 18 B YTE • DECEMBER 1985 Inquiry 189 For those times when 640K memory just doesn't seem to be enough. AST introduces RAMpage!™ with up to 2 Mb of PC RAM. Feed your byte-gobbling appli- cations with the expanded memory of RAMpage! And stop wasting valuable time with frustrating "Memory Full" messages. Breaking The 640K Barrier. RAMpage! breaks through the PC's 640K- byte barrier delivering up to 2 megabytes of parity checked memory for expanded memory applications. Up to 4 RAMpage! boards can be used in a single PC for a full 8 Mb of memory per system. EMS Compatibility. RAMpage! is fully compatible with all applications developed for use with the Lotus* Expanded Memory Speci- fication (EMS). Ifs also supported by Enhanced EMS software— offering more versatility for even greater value and performance. New software updates of popu- lar applications like Symphony™ Framework™and 1-2-3? designed specifically for use with EMS boards, are now becoming avail- able. And a wide variety of other packages, including win- dowing, spreadsheet, database and CAD applications, will soon follow. A Super Bonus. RAMpage! includes AST's new SuperPak™ utility software. Designed specifically to operate in expanded memory environments, it allows you to spool print jobs and create multiple RAM disks for added performance. Don't let your valuable byte- hungry applications starve. Get RAMpage! today. For more information call our Customer Information Center (714) 863-1333. Or write, AST Research, Inc., 2121 Alton Avenue, Irvine, California 92714 TWX: 753699 ASTR UR. Specifications • For use with IBM* PC, PC-XT, 3270 PC and compatibles. • Up to 2.0 Mb expanded memory per board— 8.0 Mb total per system. • Socketed and user upgradeable with 256K DRAMS. • Fully compatible with Lotus EMS 3.0. • Enhanced EMS design for greater per- formance with enhanced EMS software. • AST Expanded Memory Manager software standard. • New SuperPak" utility software standard. R€S€RRCH INC. RAMpage! and SuperPak trademarks of AST Research, Inc. Lotus and 1-2-3 registered trademarks and Symphony trademark of Lotus Development Corp Framework trademark of Ashton-Tate. IBM registered trade- mark of International Business Machines Corp. Inquiry 4 for End-Users. Inquiry 5 for DEALERS ONLY. DECEMBER 1985 -BYTE 19 IT'S 2 PM. OVER AT THE OFFICE i«liJ:*1'Mtj::n^1Mi'iiii>iiVJ]H*i AND BACKED-UP YOUR PC HARD DISK. HOW ABOUT THAT! lf*«n^i MORE OUTSTANDING STORAGE AND BACK-UP SYSTEMS FROM SYS6EN: Product Feature QIC- 24 Smart Tape Disk Specs Tape Specs Price DISK/TAPE ADD-IN A disk/tape system for as little as their disk alone . . 20 MB 40 MB 70 MB 60 MB** 60 MB** 60 MB" Internal $2095 Internal $2795 Internal $4995 PIUS- The high-performance disk/tape system lor your PC or XT . • 70 MB 60 MB** External $5995 DISK I/O™ More storage & 6 extra I/O slots NA NA 21MB NA External $1995 HARD DISK 3 configurations for mass storage expansion NA NA 20 MB 40 MB 70 MB NA $1195 $1995 $3995 CONTROLLER XT compatible NA NA NA NA Internal $ 350 •Cassette ^Cartridge Trademarks: Sysgen, Smart Image, Plus, Smart QIC- File, Flat-Pak. Disk I/O -Sysgen, Inc.; Tallgrass- Tallgrass Technologies Corporation. Registered Trademarks: IBM. PC DOS-International Business Machines Corporation, The Bernoulli Box — IOMEGA Corporation. 47853 Warm Springs Blvd., Fremont, CA 94539 (415) 490-6770, Telex 4990843 ■&2S"*** W» BU 0-OH BACK-UP data format back . u pieaWt< ?2095 ?n«>,u 0rcorre ction\ SS 4 "" ,us "»3 te « ar[l(ai)a(Jata Bcft /O/iffr ern a i We b9ck. u r cas sett 4ivft ^uft •up omat, e ta P e omat ic ic *>**-, error "Pfeafo c °rre C f, 'or, THE ONLY FAMILY OF AUTOMATIC TAPE BACK-UP SYSTEMS AVAILABLE. Sysgen," already the bestseller in IBM* tape back-up systems, just got even better. Now Sysgen tape back-up works by itself, automati- cally! Set it once, like a VCR. The Sysgen tape backs-up your hard disk up to twice daily, seven days a week, as programmed. If you're away, your data's protected. If you're using your system, it waits until you're finished, then backs-up your data by selected files. Automatic tape back-up is a Sysgen exclusive, and a hard disk necessity. Sysgen gives you the QIC-24 standard too. QIC-24 is the standard tape data format for interchangeable tape. A must. Sysgen is the leader. A rugged and reliable system: An unbeatable price/performance value. You need a system you can count on. Make sure you get Sysgen qual- ity. And Sysgen disk and tape products give you more for your dollar. Take this ad with you when you shop. We invite comparison. Make sure you back up your data with the QIC-24 industry standard and Sysgen smart innovations. Sysgen systems are your smartest choice because they let nothing stand between you — and your work. A reliable Sysgen hard disk keeps your data on-line — no juggling disks or cartridges. And only Sysgen backs-up your data automatically. Sysgen's disk and smart tape family is IBM standard compatible for all current versions of PC DOS? Whatever your storage and back-up needs, Sysgen offers the best solution. Compare Tallgrass" Compare Bernoulli? fi You'll buy Sysgen. ^^ For a Sysgen dealer near you, call 1-800-821-2151. Dept. 17 SYSGEN I N C O R P O R TED MBHHi Introducing the Most Powerful Business Software Ever! FOR YOUR IBM • APPLE • MAC • TRS-80 • KAYPRO • COMMODORE • MSDOS OR CP/M COMPUTER* OVER 100,000 SOLD %«r*5- t v^ •»^fe :^ \ '-tarn* ■ Tired df tcij. FI)f GENERAL LEPGCRf , ,,*..., ■•■' '■ VEflSAlfOGfft HAS 8(EN CfifArfD WITH TH£ riftST TIME COMPUTER USER IN MIND .:>, -n,. ersaBusiness" Series Each VERSABUSINESS module can be purchased and used independently, or can be linked in any combination to form a complete, coordinated business system. VERSARECEIVABLES t " $99.95 VERSARECEIVABLES T " is a complete menu-driven accounts receivable, invoicing, and monthly statement-generating system. It keeps track of all information related to who owes you or your company money, and can provide automatic billing for past due ac- counts. Versa Receivables** prints all necessary statements, invoices, and summary reports and can be linked with VERSALEDGER IP* and VERSA INVENTORY 7 ". VERSAPAYABLES™ $99.95 VERSAPAYABLES*" is designed to keep track of current and aged payables, keeping you in touch with all information regarding how much money your company owes, and to whom. VERSA PAYABLES™ maintains a complete record on each vendor, prints checks, check registers, vouchers, transaction reports, aged payables reports, vendor reports, and more. With VERS A Payables™, you can even let your computer automatically select which vouchers are to be paid. VERSAPAYROLL™ $99.95 VERSA PAYROLL™ is a powerful and sophisticated, but easy to use payroll system that keeps track of all government -required payroll information. Complete employee records are maintained, and all necessary payroll calculations are performed automatically, with totals displayed on screen for operator approval. A payroll can be run totally, automati- cally, or the operator can intervene to prevent a check from being printed, or to alter information on it. If desired, totals may be posted to the VERSALEDGER II*" system. VERSAlNVENTORY™ $99.95 VersaInventory™ is a complete inventory control system that gives you instant access to data on any item. VERSA INVENTORY™ keeps track of all information related to what items are in stock, out of stock, on backorder, etc., stores sales and pricing data, alerts you when an item falls below a preset reorder point, and allows you to enter and print invoices directly or to link with the VERSA RECEIVABLES™ system. VERSA INVENTORY™ prints all needed inventory listings, reports of items below reorder point, inventory value re- ports, period and year to-date sales reports, price lists, inventory checklists, etc. iCQMPUTRQMCSi 50 N. PASCACK ROAD, SPRING VALLEY, NY. 10977 VersaLedger ir $149.95 Versa Ledger II™ is a complete accounting system that grows as your busines grows. VersaLedger ir" can be used as a simple personal checkbook register expanded to a small business bookkeeping system or developed into a larg corporate general ledger system without any additional software. • VersaLedger ir" gives you almost unlimited storage capacity (300 to 10,000 entries per month, depending on the system), • stores all check and general ledger information forever, • prints tractor-feed checks, • handles multiple checkbooks and general ledgers, • prints 17 customized accounting reports including check registers, balance sheets, income statements, transaction reports, account listings, etc. VersaLedger IT" comes with a professionally-written 160 page manual de signed for first-time users. The VersaLedger II™ manual will help you becomi quickly familiar with VersaLedger 11™, using complete sample data file supplied on diskette and more than 50 pages of sample printouts. SATISFACTION GUARANTEED! Every VERSABUSINESS™ module is guaranteed to outperform all other competitive systems, and at a fraction ot their cost. !f you are not satisfied with any VERSABUSINESS™ module, you may return it within 30 days for a refund. Manuals for any VERSABUSINESS™ module may be purchased for $25 each, credited toward a later purchase of that module All CP/M-based Computers must be equipped with Microsoft BASIC (MBAS1C or BASIC-80) To Order: Write or call Toll-free (800) 431-2818 (N.Y.S. residents call 914-425-1535) * add $3 for shipping in UPS areas * add $5 to CANADA or MEXICO * add $4 for COD. or non-UPS areas _ , * add proper postage elsewhere Inquiry 159 ^^^ DEALER INQUIRIES WELCOME All prices and specifications subject to change / Delivery subject to availability. LETTERS mechanical component (e.g.. a disk-drive head assembly) works itself out of align- ment, when a bad spot appears on a magnetic recording surface (within its rated lifetime), when a normally reliable data-transmission link garbles a message, when oxide builds up on a mechanical keyboard switch causing it to stop work- ing, when a potentiometer (e.g., in a joy- stick) wears out prematurely, when sup- posedly nonvolatile (battery backed-up) memories get shuffled, when metal or plastic fatigue causes a part in tension to fail (various printer components are prone to this one), and even (remember this?) when a card reader chews up a punched card because of a frayed edge created by prior passes through the reader. Some people will likely object to this list on the basis that all these errors have some cause external to the computer itself. Some possibilities are: an error made during manufacture, a cosmic ray striking an integrated circuit, static elec- tricity, or an oversight in the design. But, to be fair, realize that human errors have their external causes as well. A pro- grammer may be distracted by a phone call and return to his terminal with his thought pattern disturbed; he may then unknowingly introduce a bug into the pro- gram. A looming deadline may mean that prerelease testing is cut short. Many other examples (some would say "excuses") can be found. Here 1 have been making the distinction between machine-based error and human error. Mr. Russell, however, simply refers to "computer errors." Since most users (understandably) view the computer as an undifferentiated entity separate from themselves, it may be more appropriate to draw the distinction between computer error and user error. It seems to me the computer did make a mistake in printing the $6539.97 phone bill. So what if the programmer pro- grammed the fault into the software? The fact that the computer error could have been prevented by a programmer at some point in the development of the system does not change the fact that the com- puter made the mistake. Of course, a computer is only a tool. If the operator or user enters wrong data or gives faulty commands, the direct result is his mistake (user error). If someone makes a mistake while creat- ing a program, the result is a faulty pro- gram, or in a larger sense, a flawed com- puter. When that program is later ex- ecuted, any wrong answers from correct (continued) The most flexible printeivsharing device you can buy is from BayTech - - >m puter printers ^combination Or any COM ' in .between Introducing the new Model 528DB multiport controller. It will let eight users automatically share one printer, or in multiple printer applications, let users code-select a specific printer or contend for the first available printer. Flexible, user- selectable features include: the number of printers versus the number of computers, printer select code, CTS DTR or XON-XOFF handshaking, operating mode, form-feed mode, header-page message, disconnect time-out, and baud rates. To set up, simply connect the multiport between your computers and printers. It interfaces easily with any RS-232C serial device. Model 528DB with 9 ports. S659. Larger models also available. ^o* x A e\ s BAY TECHNICAL ASSOCIATES, INC. I )ATA Q )MMl INICATK )NS PR( )1 >l CTS 800-523-2702 Highway 603, P.O. Box 387, Bay Saint Louis, Mississippi 39520 Phone: 601-467-8231 Telex: 910-333-1618 (BAYTECH) Inquiry 33 DECEMBER 1985 -BYTE 23 LETTERS user input can rightly be called computer errors. It is interesting to note that a pro- gram could have several bugs (in that it did not correctly meet the design objec- tives) and never generate any errors (where the conditions to trigger the errors never occur in practice). Why do we wish to ascribe to computers the inability to err? If our child hits a baseball through a window we are quite ready to blame him for it, not ourselves for failing to ensure that "not hitting the window" had a sufficiently high priority in his "operating system." In summary, my point is this: Computers are prone to errors, just as humans are. This is true regardless of whether you use the narrow definition of a machine error or the broader (and I feel fairer) concept of the computer system as a whole. DISCOVER the LANGUA< of ARTIFICIAL INTELLIGE NCE PROLOG V At last! A Prolog with enough muscle to handle real-world applications for UNDER $100! Discover why Japan has chosen Prolog as the vehicle for their "Fifth Generation Machine" project to design intelligent computers. CHOOSE FROM TWO GREAT VERSIONS: V-Plus $9995 UNBELIEVABLE UPGRADE POLICY Tough decision? Buy PROLOG V and upgrade to PROLOG V-Plus within 60 days for only the difference in price plus a handling charge o More Than 100 Predefined Predicates a Large Memory Model (to 640K) n Floating Point Arithmetic o 150-Page User's Manual and Tutorial plus Advanced Programming Documentation o Co-Resident Program Editor a Calls to Co-Resident Programs d Text and Graphic Screen Manipulation STANDARD FEATURES ON BOTH: a Clocksin & Mel lish- Standard D Dynamic Memory Management Edinburgh Syntax. (garbage collection) a Extensive Interactive Debugging D Custom-Designed Binder Facilities and Slipcase THE CHOICE OF UNIVERSITIES Generous university site licenses and an excellent teaching tutorial and reference guide have made FROLOG V the choice of universities nationwide Call for details. PROLOG V $6995 o 70 Predefined Predicates Q Small Memory Model ° Integer Arithmetic n 122-Page User's Manual and Tutorial PHONE ORDl (619) 483-8513 I NO RISK OFFEB Examine the documentation at our risk for 30 days If not fully satisfied return with disk still sealed for full refund. D PAYMENT ENCLOSED i . D CHARGE MY I ■ Card No. I Signature ■ Mr. /Mrs. /Ms. - I Address City/State/Zip CA residents add 6% sales lax □ MasterCard □ Visa Exp Date (please print lull namei PROLOG V-Plus $99 95 PROLOG V 69 95 UPGRADE ONLY 40 00 Return factory diskette and $30 plus $10 Handling SHIPPING . $ 5.00 U.S. 7.50 Canada 1000 Carribean. Hawaii Air 20.00 Overseas Air COD Orders Not Accepted ■ 15 day check clearance CHALCEDONY SOFTWARE 5580 LA IOLLA BLVD SUITE 126 B LA IOLLA. CA 92037 The difference, of course, is that a com- puter generates fewer errors for a given amount of work produced and the prob- ability of any given error being made is much less for a computer than it is for a human. TERRY ). DEVEAU Bedford, Nova Scotia, Canada And Now, Adware In response to the letter by Mr. Tate ("Don't Sell Software. Sell Ad Space," August, page 26) regarding the selling of advertising space in entertainment soft- ware: Wow! What a great idea. Adware (that's my term for it) could resurrect the failing home computer industry Let's face it, most home computers are used for entertainment; however, the general public is not usually willing to spend S30 to SI 00 for a game. In general I feel that this attitude applies to all types of home entertainment. Look at how suc- cessful television has become simply because you don't have to pay for it to en- joy it (unless you want cable or pay TV, but even that is relatively inexpensive). With Adware you would still have to in- cur the cost of downloading from the tele- phone. This same reason also accounts for the to-date unsuccessful home videotex systems. Mr. Tate mentions the advantages of Ad- ware but fails to mention the virtues of the Freeware concept and what Adware could bring to it. I personally do not agree with the idea of selling copy-protected enter- tainment software commercially. Com- puters are very good at copying software, and so this fact should be put to good use. Freeware (the free distribution of software by encouraging copying) offers the users a better and more dynamic product. For ex- ample. I have a Freeware product that I continue to update as improvements and additions are implemented. When a new release is ready I simply make it available on the Freeware market. You cannot do this economically with a similar commer- cial product without covering your ex- penses by raising the retail price. With Ad- ware you could make it a policy to release a new version every few months to insure a dynamic advertising medium. At present the Freeware distribution net- work is not firmly established, but if the amount of Freeware and the demand for it grew large enough I am sure that regular channels would establish themselves quickly so that everyone could have almost immediate access to the updates. Another benefit of this concept would be {continued) 24 BYTE • DECEMBER 1985 Inquiry 56 for End-Users. Inquiry 57 for DEALERS ONLY. Princeton SR- 1 2 and Sigma Designs Color 400 "The Ultimate in Graphics Resolution and Performance?.. SR-12 and Color 400. A brifliant com- bination for super-high resolution graphics and a crisp character display For a brighter, sharper display with your IBM PC, XT, or AT, here's a team that can't be beat. The SR-12 super-high resolution RGB monitor from Princeton Graphic Systems and Color 400, the advanced color graphics adapter card from Sigma Designs. A Revolution in Resolution. Begin by snapping the Color 400 into your PC. Without any soft- ware modification, text suddenly becomes readable. Graphics turn sharper and cleaner. Jagged edges smooth out, and annoying flicker fades away. Color 400 automatically doubles the number of lines on standard line software. It allows true high resolution display of Lotus 1-2-3 and Symphony ^^- charts, graphics from Dr. Halo, mimma^u CadPlan - Lumena 40 °. and 4Q | | » [ others. Also, create dazzling ■^J| ^Hr business charts in 1 6 vibrant ™ ^^ ^^ colors with Paintbrush 400, included with the card. Enjoy fully formed, monochrome quality characters in text mode. For word processing, spreadsheet, CAD/CAM, or pro- PC Products June 198S fessional design applications, Color 400 is the answer to your graphic needs. Turn on SR-1 2 for the impressive results. The SR-12 displays your Color 400 im- age with unmatched clarity and brilliant color. Because the SR-12 combines a .31 mm dot pitch tube and a non-glare screen with an incredible 640 x 400 non- interlaced resolution, you get a flickerless image that's as crisp and clean as a personal computer can produce. See how impressive this state- of-the-art image can be on your own PC system. Visit your local retailer today and ask about this new color graphics team. Princeton Graphic Systems' SR-12 and Sigma Designs' Color 400. An unmatched, brilliant combination. Color 400 L==r DESIGNS SIGMA DESIGNS, INC., 2023 OToole Avenue, San Jose, CA 95131 (408)943-9480 Telex: 171240 P RINCETON GRAPH AN INTELLIOE I C SYSTEMS COMPANY Princeton Graphic Systems, 601 Ewing Street, Bldg. A, Princeton, N.J. 08540 (609) 683-1660, Telex: 821402 PGS PRIN, (800) 221-1490 Ext. 1204 Graphic Screens courtesy Mouse Systems. Inc. and Forthright Systems, Inc. IBM PC, PC XT, and PC AT are registered trademarks of International Business Machines, Inc. inquiry 289 DECEMBER iYTE 25 LETTERS to ensure the survival of the best games. These will get the best advertisers, ensur- ing their survival and offering you and me the best quality entertainment from these marvelous little machines. So how about it? Is it time for another revolution in the home computer game market? Wesley Steiner Vancouver, British Columbia, Canada A Heath Timeline I enjoyed your list of microcomputer mile- stones in the tenth anniversary issue (see "A Microcomputing Timeline" by Gregg Williams and Mark Welch. September, page 198). However, I must add my voice to the probable hundreds of others who will be pointing out that one pioneer in the field was entirely ignored. Namely, the Heath Company. Following is a list of a number of events unique to the Heath contribution to microcomputing: August 1977: The H-8 was introduced. 8080 microprocessor. Octal front-panel keypad. Bus-type architecture. The first microcomputer kit that an average person could expect to successfully build and use. Still in daily use and supported by several third-party vendors. August 1977: Benton Harbor BASIC. High- level language and quasi-operating system for H-8. Operated with the ultrareliable Heath cassette interface (1200 bps, van- ishingly small error rate). October 1978: H-19 introduced. At the time, the H-19 was one of the lowest-cost intelligent terminals available. Used a Z80 microprocessor. All commercial CP/M soft- ware eventually included H-19 control codes in their installation protocols. Still in daily use. For a time, the H-19 led the market in terminal sales. )une 1979: The H-19 terminal was up- graded with a Z80 computer card and became the H-88. Still used the 1200-bps cassette interface. Shortly after this, disk- drive peripherals were offered for the H-8 and H-88 (which then became the H-89). Benton Harbor BASIC was upgraded to Extended Benton Harbor BASIC which in- cluded disk file functions and for a short while was Heath's disk operating system. (Microsoft BASIC was also a lan- guage/operating system when first introduced.) October 1980: H-DOS was introduced. Predated MS-DOS in the use of modular device drivers for peripherals. This system was proprietary and failed in competition with CP/M, though many felt it to be a superior operating system. It has its own ZCPR-like add-ons and is supposed to be available in version 3.0 "real soon now." In daily use and supported by several third-party vendors. December 1982: The H-100 series intro- duced. This model was marketed earlier by Zenith Data Systems as the Z-100 series. A dual-processor machine (one of the first), it included an 8085 for handling 8-bit CP/M programs and an 8088 for MS-DOS and CP/M-86 capability. Included five S-100 slots for expansion. One of the first to conform to IEEE S-100 standards as several Heath engineers were appointed to the committee. All of these products are (were) available {continued) ■ FOR TAPE BACKUP SYSTEMS We Have the Right Products, at the Right Prices . . . Right Now! Interdyne -&£>" Irwin QIC-02 20 MB Cassette Tape Formatted Capacity per Tape Time to Backup 10 MB Time to Preformat Blank Tape Type of Tape Media/ Price per Tape Type of Controller Required Software Fast Image Backup/ File by File Restore Power Requirement tor Internal Unit Our Price Internal/ External 20 MB Hard Disk/Tape in Expansion Chassis with I/O Slots 10 MB Interdyne 10 MB 15 Min 20 Min Spool reel/ $13 IBM Floppy Controller Yes 130 Watt $425/ $550 - 10 MB Irwin 10 MB 15 Mm. 38 Mm. 3M DC1000/ $22 IBM Floppy Controller No 135 Watt $595/ $725 - OIC-02 20 MB Cassette 20 MB 3 Mm Not Needed Digital Cassette $22 Controller Included Yes 130 Watt $695/ $795 $1795 QIC-02 ST 60 MB Cartridge Tape 60 MB 2VS Mm Not Needed 3M DC 300/600 $30 Controller Included Yes 1 50 Watt $875/ $950 $2195 20 MB Hard Disk/ Tape Expansion Chassis QIC-02 ST 60 MB Cartridge Tape No Risk - 30 Day Money-Back Guarantee Call us today 408/942-8086 Telex: 5101002379 QICRCH /Ms QIC RESEAT INCORPORATED 489 Valley Way Milpitas, CA 95035 CH QIC-601 26 B YTE • DECEMBER I985 Inquiry 301 A few smart reasons to buy our smart modem : Features Ven-Tel 1200 PLUS Hayes 1200 and 300 baud, auto-dial, auto-answer Compatible with "AT" command set Can be used with CROSSTALK-XVI or Smartcom II software Regulated DC power pack for cool, reliable operation Eight indicator lights to display modem status Speaker to monitor call progress Attractive, compact aluminum case Two built-in phone connectors Compatible with The Source and Dow Jones News Retrieval Unattended remote test capability Phone cable included Availability Price The Ven-Tel 1200 PLUS offers high speed, reliable telecommunications for your per- sonal computer or terminal. Whether you use information services or transfer data from computer to computer, the Ven-Tel 1200 PLUS is the best product around. Available at leading computer dealers and distribu- tors nationwide. Also from Ven-Tel: internal modems for the IBM and HP-150 Personal Computers with all of the features of the 1200 PLUS. You choose. The Ven-Tel 1200 PLUS- the smartest choice in modems. Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes No Yes Yes Now $499 $5 Ven-Tel Inc. 2342 Walsh Avenue Santa Clara, CA 95051 (408) 727-5721 Crosstalk is a trademark of Microstuf ; Hayes and Smartcom II are trademarks of Hayes Microcomputer Products. Inquiry 367 DECEMBER 1985 -BYTE 27 YOU CAM'T GET A GOOD FEEL FOR A SOFTWARE PACKAGE FROM AM AD. 28 B YTE • DECEMBER 1985 If you're searching through the ads in this magazine for the "right" software pack- age, good luck Let'5 say you're looking for a data base manager. You read a dozen ads. Each one offers its list of features. Each one talks about the ideal combination of power and ease of use. And each one promises to "solve your problems", "answer your needs", or both. Don't Believe Anybody We could make the same claims for DATAEA5E. Even before Release 2.5, tens of thousands of users made DATAEA5E the corporate data base standard. We could tell you that they found DATAEA5E to be an invalu- able productivity tool because of its fully relational capabilities, full screen editor and unique combi- nation of menus and com- mands. But don't believe us. More than 100 reviewers from major publications agree with our productivity claims. Data Decisions called DATAEA5E "per- haps the most effective blend of ease-of-use and performance available for PC users to date." But don't believe the reviewers. Application developers, MI5/DP/ IC managers, and all kinds of other users from Fortune 1000 companies throughout the country have reached strikingly similar conclusions. A user at General Instruments reports that "those same factors that make DATAEA5E preferable for non-programmers — ease of use and speed of development — make it the program of choice for many technical types, too." But don't even believe other users. nobody Knows what you know. Even if all these people are absolutely right about DATAEA5E, does that mean it's the right product for you? The best way to know if DATAEA5E fits your needs is to get your hands on our free sam- ple diskette. Fifteen minutes with the sample will give you a feel for our best DATAEA5E yet — Release 2.5. It has features that appeal to all users; from developers to data entry people: A complete procedural lan- guage; quick reports at the press of a button; a direct inter- face to Lotus 1-2-3; the ability to move rapidly from file to file on a common piece of data; and built-in scientific, mathematical, financial, date, time, and string functions. Productivity takes more than a good product. It takes a good company, too. Buying a software package is the beginning of a relationship. Technical support, product upgrades, special corporate and dealer programs and informa- tional seminars should all be part of this relationship. If the only thing you get is a product, forget about productivity. At Software Solutions, you find more than a product. You find software solutions. Find out for yourself. The advances in DATAEA5E's Release 2.5, and the support behind it, offer you practical advantages that leave all the other data base managers far, far behind — including R:Base 5000® and dBase III®. But don't believe us. Call or write for information and your free sam- ple diskette today. Software Solutions, Inc. CALL OR WRITE FOR YOUR FREE SAMPLE DISKETTE. 5end information and a free DATAEA5E sample diskette for my PC (check one): I I IBM LJ WAMG [J DEC \Z\ Tl Include materials relating to: I I Corporate Client I I Retailer I I MI5/DP/IC Professional O VAD I I Other Mame: Title: _ Phone: Company: 5treet: City: 5tate: Zip: Mail to: BYT 12/85 Software Solutions, Inc., 12 Cambridge Drive, Trumbull, CT 0661 1 Telex: 703972 Don't like samples? Then just call us. We'd be happy to talk about your information management needs and advise you. 800-243-5123 •1983 Software Solutions, Inc. Trademarks are of their respective companies. Scandinavia Switzerland, France United Kingdom West Germany, Austria West Soft A/5, Alesund, Norway, (47) 71-41 141 Softsource, 5&A 1222 Vesenaz, Switzerland, 022-3518-55 Sapphire Systems, Essex, 01 554-0582 M&T Software Verlag, Munich; 089-4615-0 Inquiry 334 DECEMBER 1985 -BYTE 29 Inquiry 51 OUR PLUG-IN CARD GIVES YOU PLUG-IN CONTROL. PC00488 allows your IBM PC/XT/AT or compatible to control IEEE-488 instruments. With PCOO 488, yoTJcan: □ Plug-in to BASIC, C, FORTRAN, or Turbo Pascal!" □ Emulate hp controllers, □ Use Tek Standard Codes and Formats, □ Run IBM's IEEE-488 software, and much more. Just $395 for the complete hardware and software interface. cec Capital Equipment Corporation 10 Evergreen Avenue Burlington, MA 01803 Call today (61 7) 273-1818 Turbo Pascal is a trademark ol Borland I nternational LETTERS both as kits and preassembled units. The Heath Company is now a unit of the Zenith Corporation and its assembled computer products are sold under the Zenith Data Systems name. Heath also pioneered in the larger sys- tem arena when it introduced the H-ll, which was a Digital Equipment Corpora- tion minicomputer in kit form. It was too expensive to compete in the personal computer market; nonetheless, it was of- fered and supported for several years. Software was never readily available to the average person. Heath and Zenith computer owners are supported by a large network of third- party vendors of software and peripherals. At least two commercial newsletters and one commercial magazine are dedicated to the brand. There is also the inimitable Heath Users' Group with about 2 5,000 members worldwide. Its monthly journal, REMark. and software library are, in my opinion, unmatched. You may also find the very active HUG-SIG on CompuServe of interest. (One has to be a HUG member to log on the SIG.) Numerous local groups such as our Tallahassee Heath Users' Group (Tally-HUG) are available. To sum up, the Heath computer user community has been a cornerstone of the personal computer movement from early on and deserved a prominent listing in a compilation of historical microcomputer events. Welbrey A. Hill Tallahassee, FL Declarative Feedback The August issue had as its theme declara- tive languages, hailed as the next step for- ward for programming. One of the most prominent of the languages featured was Hope, two articles and a column being devoted at least in part to it (see "Program Transformation" by John Darlington on page 201. "A Hope Tutorial" by Roger Bailey on page 235, and "BYTE U.K.: Declarative Update" by Dick Pountain on page 341). There is a point I wish to make about the way source code is presented to the programmer in Hope, and maybe some other languages. The use of symbols instead of plain English used to be a thing of the past, an evil caused by a lack of memory and pro- cessing power. Now that there is not as much of a limitation in processing power, there is no excuse for these symbols be- ing used any more than for a modern in- terpreter giving error numbers instead of proper messages. [continued) 30 BYTE- DECEMBER Inquiry 212 PC Paintbrush: Because life is too short for monochrome pie charts. Fun is the best thing to have. With PC Paintbrush, you can add color, flair, dimension and creativity to a chart, a pre- sentation, or an otherwise dull day. From charts and graphs to serious computer art, our newest generation 3.0 PC Paintbrush will cheer you on with features no other graphics package can match. Best of all, ifs easy to use. tou don't have to learn up to sixty commands, like you do with some products. If you can understand icons as simple as scissors, paintbrush, spray can and paint roller, you're ready to start using PC Paintbrush. The pen is mightier than the keyboard. None of history's great artists drew with a keyboard, and you shouldn't have to either. So PC Paintbrush is now available with a cordless PenMouse, to give you complete freedom of expression. Of course, it also supports regular mice, joysticks, graphics tablets, and is compatible with most graphics cards. PC Paintbrush also has a beautiful way with words. The text icon lets you write in any of eleven fonts, in nine sizes, with italics, outline, shadow and boldface variations. What's more, with the new 3.0 PC Paintbrush, you can draw rounded boxes, rubber band curves and circles, and edit pictures many times larger than the screen. Are we making fun of 1-2-3®? Why not? For Lotus™ users, PC Paintbrush's new PIC Go on, live a little. ^^^^^J Miillll ( :*t: 1 iif '"'ill IM •• ■ 1 1 . IH 1 t '■<<,..• ■ n'Mt IH 1 "V Wr 1 _^fl 1 n<|iiii:ri ni'i If H ■ I | rtVK* II ^^^^^K - -B^MMH 1 • g~^^^^ i 1S1BP interpreter loads 1-2-3™ and Symphony™ charts and graphs at your equipment's best resolution, from an IBM EGA™ (640 X 350 X 16 colors) to a Number Nine Revolution™ (512 X 512 X 256 colors). With our FRIEZE™ frame grabber you can pull graphics created by any program right off the screen into PC Paintbrush. So you can take your Paintbrush and pallette anywhere, improving the looks of things as you go. And having a lot of fun on the way. In addition, our optional presentation package, PC PRESENTATION, allows you to program your graphics into a first class presentation with fades, zooms, quick cuts and animation. PC Paintbrush supports 19 video graphics cards and 30 printers and plotters. For more information on PC Paintbrush, call or write us at the address below, or ask your computer dealer for a demonstration. IIIIHIJ Ulii'll Willi Z-SOFT PC Paintbrush Corporate Headquarters: ZSoft Corporation, 1950 Spectrum Circle, Suite A 495, Marietta, GA 30067, 404/980-1 950 West Coo st Soles Office: 160 Sir Francis Drake Blvd., San Anselmo, CA 94960, 415/456-0955 PC Painttxush is a trademark of ZSoft Corporation. Lotus, 1-2-3, and Symphony are registered trademarte of Lotus Development Corporation IBM and Enhance Graphics Adapter are registered trademarte of International Business Machines, Corp. Number Nine Revolution is a trademark of Number Nine Computer Corp. Inquiry 396 for End-Users. Inquiry 397 for DEALERS ONLY. DECEMBER 1985 -BYTE 31 LETTERS Hope appears to be offering the path back to using these symbols for their own sake. In Mr. Bailey's article we come across the phrase "should be read as" many times. In each case we are told that some symbols should be read as a certain phrase of English. Why can the interpreter not display the English, allowing us to read it directly? Surely the computer could ac- cept the English instead of the symbols when source code is input? I will concede that it may be harder for the interpreter to parse the English, and it takes longer to input, but the interpreter could com- promise and accept the symbols in input while expanding them in listings to the full English. This is similar to some BASIC in- terpreters that allow the PRINT statement to be input as ? and then expand it to its full form in listings. Bearing in mind the The Compact Disc. >ught you perfect sound, yoiyiny fact instant ard of Reference. CD-ROM puts capacity, without ur study or h information d Ziff-Davis • >rtflg iruim^c databases Reference Technology brings the library of the future to you now -a plug-and-play DataDrive™ Series 500 for your IBM PC™ or compatible* for only $1,595. The Software Library DataPlate™ is included free-8800 PC software programs: business/ financial. DBMS, word-processors, spreadsheets and games. Grolier's Electronic Encyclopedia, with Activenture's software to search instantly to any word or phrase, is also available now ($199). The Reference DataPlate, including Roget's Thesaurus, a dictionary and a national phone directory, will be available soon. The Audio Option lets you connect the DataDrive to your stereo system, creating the ultimate programmable compact disc player ($149). ♦Minimum configuration 2S6K RAM. I floppy drive. DataDrive and DataPlate are trademarks of Reference Technology Inc. IBM PC is a trademark of IBM. Vast-volume information. We focus it for you. Wk£W I^eFerence TECHNoloqy Inc. 1832 North 55th Street Boulder, Colorado 80301 To Order Call: In Colorado: 1-800-225-2749 1-800-826-7873 VISA and MasterCard orders welcome . 3 week delivery. 90 day warranty. fact that the version of Hope used by Dick Pountain in his BYTE U.K. column re- arranged the order of the source when it was displayed and put function declara- tions in a separate order from their equa- tions when the workspace was saved, it seems apparent that the extra processing required to expand the symbols to English is minimal. Let us hope (!| that this use of symbols does not drag us back to unfriendly and difficult-to-read source listings. Andrew Menadue Hayle, Cornwall, England Having just finished reading the August BYTE, with particular attention to the theme section devoted to declarative pro- gramming languages. 1 want first to ex- press my appreciation to the editors for the quality of the articles presented. Susan Eisenbach and Chris Sadler's "Declarative Languages: An Overview" (page 181) was of particular interest to me and serves ad- mirably to provide perspective on the background of the subject, particularly for one who has no ax to grind for any pro- gramming language in particular. Even the inevitable redundancies amongst the several articles in reciting the advantages of precise problem formula- tion, facilitation of parallel processing, and reduction of programming effort may final- ly help to persuade even the more con- servative members of the profession. Others have noted many times the com- mon reluctance of programmers to aban- don the comfort of whatever language they learned first. Witness FORTRAN! The notion of using atomic routines coded in machine-efficient modules and organized through problem definition by task lists in functional form is clearly not new. I have just reread a speech of my own. given in the spring of 1961 as one of a series held in connection with MIT's Centennial Year. The speech was entitled A New Concept in Programming" and ap- pears in the book Management and the Com- puter of the Future edited by Martin Greenberger (The MIT Press and lohn Wiley & Sons, 1962). Granted that the tech- nology has advanced far beyond what most might then have anticipated, I still feel that the ideas could have been ap- plied more generally and quite profitably, even then. Perhaps the profession may soon recognize that such notions can apply far more widely than to artificial in- telligence alone. George W. Brown Irvine, CA [continued on page 424) 32 B YTE • DECEMBER 1985 Inquiry 313 •.Inside Apple Vol. 2, No. 1 Go ahead, accuse us of sensationalism. Over the next four pages, we're going to bare our specs and divulge all the nitty gritty details about the latest developments to come out of Apple Computer. Starting with our new Apple® ColorMonitor lie and Color- Monitor He. In all modesty, we think these are the best color monitors you can buy at any price for your Apple II, II-h lie or Dc personal computer. Both have composite color, 13- inch screens that let you produce a dazzling array of multi-hued graphics. Without going to the ex- pense of adding an RGB interface card or external adaptor. Simply plug the monitor directly into the video output jack on the back Here's the Inside story on all the colorful things that have happened at Apple of your Apple, and you're ready to start computing in living color. Which is terrific for games and graphics oriented programs like Apple Logo n, Instant Pascal™ and Dazzle Draw. But not quite so terrific for text programs. As anyone who's ever gone blurry-eyed from trying to read words on a color CRT will readily attest. Not to worry We've designed both Color- Monitors to automatically go from color to a high resolution, 80-column monochromatic mode anytime you use text software. As you can see, we've also styled each ColorMonitor to fit in with our family looks.The Color- Monitor lie is pure white, and has an optional rigid stand. While the ColorMonitor lie is designed to rest Tie ColorMonitor lie on a lie. on top of your Apple De, and comes in our favorite shade of beige. And thanks to some particu- larly bright Apple engineers, our ColorMonitors are compatible with virtually all existing Apple II software. Well, there you have it. The scoop on one of the most colorful events in Apple history. But as you might expect, it's certainly not the whole story If you turn the page, you'll see that the saga continues. The truth about our new color printer in black and white. In case you haven't heard, Apple has a whole new cast of characters. Our ImageWriter™ II printer. Like its predecessor, the original Apple ImageWriter, our ImageWriter II is one of the most dependable dot matrix printers very little money can buy. And its compatible with every Apple personal computer. But that's where the similarities end. The ImageWriter II prints faster and clearer than the original ImageWriter. It cruises through drafts at a blazing 250 characters per second. Produces sharp graphics. Creates near letter-quality text. And lets you print in six vivid colors. Simply change the black rib- bon to the con- tinuous cloth, InuiaMlrihr II i.. i 32KMSnory Option multl-COlOr ribbon, and you're ready to churn out reams of yellow, red, blue, orange, green and purple output. You can print pictures and greeting cards with software like Stickybear Printer, Design your own £ color drawings with Blazing Paddles - — while the printer continues to print. and Dazzle Draw And whip out col- Attach the ImageWriter II or business graphics using Super- SheetFeeder, and you can automat- Calc 3A, pfe: GRAPH or Mouse Calc. ically load single sheets of paper As you would expect, you can into the printer. vary the pitch and spacing on the And by having your authorized ImageWriter II. And print in stan- Apple dealer install our AppleTalk™ dard or half height. Option, the ImageWriter II can But as you would probablv even be shared bv several different never expect, the ImageWriter II is Macintosh™ workstations. also expandable. Which means, for businesses, By adding the ImageWriter II it can vastly improve the looks of 32K Memory Option print buffer, one very important piece of paper: you can continue to compute Your budget sheet. BOOK REP oi The purpose of « trance, methods available. » the pros ana» mater, als and ct favorite artwork Uo-.t -yourself U the P'« e "^ sentimental wai professional . yourself, fram' win °<«" c °f c the factor, ohc se U you all tr tools, advice i cost of custom hour to put to hours, while c unless you pay craftsmanship framer will °t Income Statement I Sales [ Co«t» Profit Stop flipping between floppies. We call it the"floppy disk shuffle'.' Having to boot and re-boot floppy disks every time you want to go from one application to another. Well, the end of your shuffling is in sight. Cct:;v:t '„sf.f ■h.:i'-A-<- I.jtct Jturtit: twit**: <& <& & » Fur S«h» !'Ht wto kCL' Catalyst 30 trilh desktop icons. Quark, Inc., will soon be ship- ping a unique new program called Catalyst™ 3.0 that's designed to be used with Apple II computers equipped with mass storage. Catalyst 3-0 lets you install multiple programs on a single storage device. Macintosh-type desktop icons show you what's loaded on the program. To select the item you want, simply use an optional mouse or keyboard to open the file. Look for Catalyst 3.0 to show up on dealer shelves soon. Then you'll finally be able to boot all those floppies for good. A plug for our new modem. With the introduction of our new Apple Personal Modem, we've solved one of the biggest problems known to modems: Where to hide them. The Apple Personal Modem plugs directly into a standard A/C wall outlet. So unless your com- puter room is decorated with paisley wallpaper, it'll blend right into the immediate surroundings. Of course, aesthetics aside, it's also one darn good modem. The Apple Personal Modem offers 300/1200 baud operation. Has the latest VLSI technology. Features automatic dial, re-dial and answer capabilities. Uses the industry standard Hayes AT Command Set. Plus it's totally compatible with current Apple communications software. And even though we designed the Apple Personal Modem to be out of sight, there's one part of it that's definitely not: The price. We've increased our drive. Our capacity for work just got bigger. The new Apple UniDisk™ 3.5 external drive uses 3W dual-sided microdisks to add a humongous '/lit » 1 1 ' ' "I if :m 800 kilobyte capacity to your Apple II, II+, He or lie. Which is more than five times the amount of storage available from a stan- dard 5 'A" drive. The UniDisk 3.5 is also faster than S l k" drives. So you'll spend less time listening to that all-too- familiar whirring sound. You can even "daisy chain" a second UniDisk 3.5 off the first one. In case you're planning to write the next great American epic or something. As you may not know, disk drives are the most vulnerable components of any computer sys- tem. So it's nice to know that no other disk drive is closer to fail- safe than our UniDisk 3.5. Because no other company has our dedication to quality. Our concern for reliability Or our drive. Coming Soon: The biggest Apple He in memory The Apple II Memory Expan- sion Card should be on dealer shelves soon. Before long, you'll be able to instantly and easily add another 256K, 512K, 768K or full megabyte of RAM to your Apple II, 11+ or lie. Making it one of the most powerful personal computers in its class. Or business. Or home. Snow white and dwarf monthly payments. Once upon a time, most people had to dwindle their check- ing accounts down to the right side of the decimal point in order to buy an Apple. Or stretch their charge cards to the place where they didn't have a choice but to leave home without them. Then, mercifully, our finance department invented the Apple Credit Card. leComputei;lnc ^■j Wj. With an Apple Credit Card, you may qualify for up to $2,500 of instant credit to spend on the Apple computer or peripherals of your choice. And, from now until December 31st, 1985, well generously waive the 10% down payment. Which means the only thing you'll have to come up with are the small monthly payments. Getting your Apple Credit Card is almost as easy as breathing. All you need is another major credit card. And a valid I.D.* Which means, that very same day, you'll be able to take your new Apple home. Where you'll both live happily ever after. Group therapy for Apple users. Have you ever felt like you needed help— serious help— with your Apple, but didn't know where to turn? Then we sug- gest you join an Apple Users Group. From Kenne- bunkport to Kaanapali, Apple Users Groups are springing up by the dozen. They meet to discuss ProDOS™ Pascal andWPL. Exchange public domain software. Demonstrate new products. Listen to guest speakers. And provide the kind of moral support that comes in handy after "Range error" has popped up on your DOS 3.3 screen for the 42nd consecutive time. Many groups publish regular newsletters and magazines. And operate bulletin boards that let you get the information you want from the comfort of your own modem. But the most important thing to know about Apple Users Groups, is that theyre not just for hackers. In fact, most members have only novice or intermediate computing skills. Which is why they join in the first place. To get in touch with the Apple Users Group in your area, check with your local authorized Apple dealer. With over 400 Apple Users Groups already in existence throughout the U.S. and Canada, chances are the help you need is right around the corner. Your computer should join a health club. Computers— even Apples- can sometimes be temperamental little devils. And if something goes wrong with yours after the 90-day limited warranty expires, you're the one who'll be out of shape. Unless you get Apple&m SM AppleCareis our extended serv- ice contract that covers the cost of parts and labor for up to three years. And the annual fee is usually about half the cost of a single repair. You can buy AppleCaw from your participating author- ized Apple dealer. And the contract will be honored at more than 2,400 Apple dealers across the country. So even if you decide to move to some out-of-the-way place like Keokuk, your AppleCare coverage will go along with you. Although we can't guarantee vour familv will. Introducing ikhral'ncanipi,,, Wr Apple " By major u e mean MasterCard. I ISA. American Exfrress, Diner s Club and Carte Blanche. Certain restrictions mm apply. © 1985 Apple Computer. Inc. Apple anil the Apple logo are registered trailemarb of Apple Computer Inc. PmlXXS. DuoDisk. UniDisk, ImageVlriler and AjipleTalk are trademark, of Apple Computer. Inc. A/pleCare is a service mark of Apple Computer. Inc. Macintosh is a trculemark of Mcintosh Laboratory: Inc. and is being used With its exltress permiision. Catalyst is a trademark of Quark Incorporated. Instant Pascal is a trademark of Think Technologies. Dazzle Draw is a trademark ofBroderbund. Inc. stickyhear is a trademark of Optimum Resource. Inc. Blazing Paddles is a registered trademark ofBaiultille. Inc. Su/ierCalc i? a trademark ofSorcim Corporation, I'FS is a registered trademark of Software Publishing Corporation. Mouse Calc is a trademark olMrsion Soft limes is a registered trademark of Hayes Microcomputer Products, Inc. For an authorized Apple dealer near you. call (800) 538-9696. In Canada, call (800) 268-7/96 or (800)268-7637. U.S. POSTAL SERVICE STATEMENT OF OWNERSHIP MANAGEMENT AND CIRCULATION (Act of August 12. 1970. Section 3685. Title 39, United States Code) 1 . Title of publication: BYTE 2. Date of filing: October 1, 1985 3. Frequency of issue: Monthly 3A. Number of issues published annually: 13 3B. Annual subscription price: $21.00 4. Location of known office of publication: 70 Main St., Peterborough, NH 03458 5. Location of headquarters or general business offices of the publisher: 1221 Avenue of the Americas, New York, NY 10020 6. Names and addresses of publisher, editor, and managing editor: Publisher, Harry L. Brown— 70 Main St., Peterborough, NH 03458; Editor, Philip Lemmons— 70 Main St., Peter- borough, NH 03458: Managing Editor. Gene Smarte— 70 Main St., Peterborough. NH 03458 7. Owner: McGraw-Hill, Inc., 1221 Avenue of the Americas. New York, NY 10020. Stockholders holding 1 percent or more of stock: Donald C McGraw, Jr.; Harold W. McGraw, Jr; John L. Mc- Graw; William H, McGraw; June M. McBroom; Elizabeth McGraw Webster: all in care of McGraw-Hill, Inc., 1221 Avenue of the Americas. New York. NY 10020; College Retirement Equity Fund c/o Bankers Trust Company. 280 Park Avenue, New York, NY 10015; Public Employees Retirement System of Ohio. 277 East Town Street. Columbus. OH 43215 8 Known bondholders, mortgagees, and other security holders owning or holding 1 percent or more of total amount of bonds, mortgages, or other securities: None 9. Not applicable. 10. Extent and nature of circulation: Actual No Average No Copies ot Copies Each Single Issue Issue During Published Preceding Nearest to 12 Months Filing Date A Total No. Copies Printed 487,500 476.000 B Paid Circulation 1 Sales through dealers and earners, street vendors and counter sales 95.389 159.698 2 Mail subscriptions 316.859 306.236 C Total Paid Circulation 412,248 465.934 D Free Distribution by Mail, Carrier or Other Means. Samples. Complimentary, and Other Free Copies 5.735 4.959 E Total Distribution 417.983 470.893 F Copies Not Distributed 1 Office use. left over unaccounted, spoiled after printing 6,529 5.107 2 Return from news agents . . 62.988 none to dale G Total . 487.500 476.000 11.1 certify that the statements made by me above are correct and complete. —Harry L. Brown, Publisher FIXES AND UPDATES UPDATE NEC Patches Compatibility Gap NEC Information Systems now offers an alternative to Herbert Stein's patch described in his "IBM Compatibility for the NEC APC III" (see the September BYTE, page 171). The SLE adapter board, priced at $150, and the accompanying software provide almost total compatibili- ty without affecting the operation of stan- dard APC software, NEC said. For more information, contact NEC Information Systems at 1414 Massachusetts Ave., Box- borough, MA 01719. BYTE'S BUGS Mr. Slaughter Is Not Depressed Don Slaughter of Seattle wrote to advise us of an improvement to the Macintosh, the Mini-Finder (see October, page 3921 Our published version of the letter said he was "depressed" by the upgrade. Quicksort Corrected The truth is. Mr. Slaughter was not depressed but impressed. We apologize to Mr. Slaughter, and we hope our error did not leave him depressed. We are certain it didn't leave him impressed. There is an error in the Quicksort algo- rithm as it appears on page 108 of the September BYTE (see "An Analysis of Sorts" by Jonathan Amsterdam, page 105). If the first element is chosen as the pivot. as the text suggests, the algorithm will not work. The solution is to swap the pivot with the last element of the array before partitioning. The corrected algorithm is shown in listing 1. Listing I: The corrected Quicksort algorithm. Quicksort. Input: an array A, with items from 1 to n. Output: the same array, sorted. begin choose a pivot; swap the pivot with the last element in the array; partition in the list so that all items < - pivot are < = i; Quicksort A from 1 to i- 1; Quicksort A from i to n; end. m^mm BYTE S BITS Public-Domain Powerhouses, Please BYTE is planning a theme issue on public- domain powerhouses. If you have, or are working on. a worthy application or utili- ty that you are willing to place in the public domain, please contact Jon Ed- wards at BYTE. POB 372, Hancock, NH 03449, (603) 924-9281 . He needs to hear from you before the end of lanuary DECEMBER 1985 -BYTE 33 .•Electronic Meeting Until eForum- - bulletin boards, e-mail and computer conferencing were just a lot of static. Every major communications breakthrough has its infancy. Computer conferencing's first buz/ started with randomly networked bulletin boards, experimental CB's and then e-mail. Of course. Federal projects gave conferencing real legitimacy. But at a prohibitive price. Now comes the giant step. eForum. It shoots computer conferencing right off the evolutionary chart by bringing long-awaited sophistication that business needed to truly put computer conferencing to work. In a nutshell. eForum creates electronic "meetings" which allow groups of people, not just two or three, to communicate and "chat" on a myriad of subjects. Without worrying about time or geographic zones. Since eForum maintains all the meetings in one place, each person simply "attends" the meeting at the most accessible time. And eForum not only keeps track of what can literally be hundreds of meetings, allowing only those authorized to "attend," but the easy-to-follow structure keeps the "attendee" from getting lost or reading unnecessary material. Then eForum automatically organizes, indexes and files and gives each person an individualized view of what's new in the meeting and a complete written record of each meeting. Even sending totally private messages is easy with eMemo, the enhanced electronic mail facility. That's revolutionary. Yet eForum goes further by letting each organization set up eForum the way that's most efficient for it. By using internal host computers. Or by accessing eForum through a national communications network like General Electric Information Service. And, if that's not breakthrough enough, eForum is even designed to let each person use a personal computer and the most popular software around — Lotus 1-2-3™, WordStar™, MultiMate™, DisplayWrite™ and more — so "electronic handouts" can be brought to each meeting. Ibo, if you have need to do document development with a team of people. docuForum is our document editing and transfer software which uses the conferencing capabilities of eForum to let team members comment and propose changes to a document. So, don't let the newest explosion in computer conferencing catch you asleep at the keyboard. Call our S(M) number and get "on the meeting" now. And soon, just like when the microchip changed the world's idea about computers, you'll wonder how you ever got along without eForum. Call 800-638-4832 to find out how you can get an immediate on-line eForum demonstration! In Michigan, call 313-994-4030. In Canada, call 604-682-6265. Network Technologies International, Inc. The Arbor Atriui: 315 West Huron Ann Arbor, Midi >J : ] =tlH 1 : f>1 [F@K V®W]^ IP Advanced Digital's PC-Slave is the solution to your multi-user or local area network problems. • • - Br n 768K RAM dedicated to each user. Advanced Digital provides additional software which sup- ports File & Record locking and print spooling. Advanced Digital's slave concept provides the best multi-user PC system available today! For the location of the dealer nearest you contact: Advanced Digital Corporation 5432 Production Drive Huntington Beach, CA 92649 (714) 891 -4004 (800) 251 -1 801 Telex 183210 ADVANCED HTBH '/■ <& AQVANCED DIGITAL • I CORPORATION i Advanced Digital U.K. Ltd. 27 Princes Street. Hanover Square London W1R8NQ-United Kingdom (01 ) 409-0077 (01 ) 409-3351 TLX 265840 FINEST Regional Distributors: In California, Western Micro (800) 338-1600 / Micro Computer Distributors (714) 895-6301 / Thomas Data Systems. Inc. (213) 214-4661; in Ontario, Canada, B*L (416) 299-7660; In Australia, Archives Computers (03) 699-8377; in New York, Quinn Data (914) 939-0002 WHAT'S NEW SPECIAL REPORT Turbo Lightning Provides Fast Access By itself. Turbo Lightning from Borland Interna- tional is a flexible spelling checker/thesaurus program for the IBM Personal Com- puter and compatibles. However, as the first ele- ment of the Turbo Lightning Library, the program repre- sents a gateway to a wide range of future applications. Its word-oriented search mechanisms could be used as the nucleus for a variety of sophisticated data- retrieval systems. Basic Operation The initial release of Turbo Lightning is a memory- resident program that checks and corrects spelling as you type. It monitors your keystrokes and com- pares each word to those in a RAM-based dictionary. (When you install the pro- gram, you can choose one of several word lists, ranging from approximately 10,000 to 130,000 words. The size of the dictionary determines the amount of memory the program occupies. In the minimum configuration, Tur- bo Lightning consumes 78K bytes; the maximum is 236K bytes.) If the program can't find a match for what you have entered, it beeps. You can continue writing, or you can request a listing of alter- nate spellings. Using a sound-alike algorithm, Turbo Lightning builds a list of possibilities, which it presents in a window. You can scroll through the list and select a replacement. Executing the commands of the application program you're using, Turbo Lightning moves back to the begin- ning of the incorrect word, deletes the word, and makes the substitution. Even if you have chosen one of the smaller word lists, Turbo Lightning lets you go to the disk and search the largest dictionary. A "full-screen check" command highlights all unknown words on the screen; as Turbo Lightning can correct only words stored in an 80-character keyboard buffer, the check is a simple way to remind yourself of uncorrected words. You can also ask to con- sult the thesaurus. Starting with either your original word or any of the alternate spellings, Turbo Lightning can derive a list of words with similar meanings. The replacement routine is the same as the one already described. Turbo Lightning comes with 11 preset "environ- ments" that allow you to use it while working with any of five popular word processors (WordStar, pfs:Write, MultiMate, Word, and Displaywriter), Lotus 1-2-3, BASICA, Turbo Pascal, SideKick, DOS, and modem communications (straight ASCII). You can customize and rename any of the en- vironments to match your primary software. The program is operated with pop-up menus (similar to those used by Borland's SuperKey utility) and with single-keystroke "hot" keys. The Dictionary A Turbo Lightning dictionary is compressed using several techniques. First, a character-frequency analysis identifies frequent letter combinations in the entire word list. The combinations are reduced to bit patterns. Next, allowable suffixes and groups of suffixes are assigned bit codes. Finally, because the words in the dictionary are stored in alphabetical order, a word can be abbreviated to a record of the changes from the previous word. Searches through the dic- tionary are speeded by in- dexing. The program uses the first letter of a word to isolate a region of the word list, then it uses the second letter, and so on. Only a few full words are actually scanned during a search. In- dices can be nested, so disk-based dictionaries can be much larger than resi- dent ones with little loss of speed. The Implications By combining data compres- sion with multilayered index- ing, the Turbo Lightning system can be used to pro- vide quick access to any data organized in dictionary- like fashion. In the same way that the word list can be used as a key to the thesaurus, it could be used as the key to an encyclo- pedia or database. Going one step further, if the initial dictionary were replaced with a list of proper names, for example, a link could be made to addresses or phone numbers or employ- ment records. The full- screen-check feature would by Ezra Shapiro provide cross-referencing capability. Because the Turbo Light- ning program generates a unique "word number" for every word in the dictionary, it could be used to develop on-the-fly data compression for communications. The sound-alike techniques coupled with the thesaurus could serve as the basis for an Al-like approximate query language. The Future The Turbo Lightning Library will be a collection of inter- related products capitalizing on this potential. Borland plans to release a package of word games based on Turbo Lightning, including source code in Turbo Pascal, early in 1986. The source code will illustrate tech- niques for interfacing exter- nal programs to the Turbo Lightning engine. Also in the first quarter of 1986, Borland will begin publishing reference works that utilize the engine for access. By the third quarter, Borland hopes to market compression/indexing utilities that allow you to convert your own data into Turbo Lightning format. The company is also open to licensing the technology to other software firms. Turbo Lightning comes with an installation program, several Random House dic- tionaries, and the Random House Pocket Thesaurus. It costs $99.95. Prices for future products have not been determined. Contact Borland International Inc., 4585 Scotts Valley Dr., Scotts Valley, CA 95066, (408) 438-8400. Inquiry 600. {continued) Inquiry 9 for End-Users. *— Inquiry |Q for DEALERS ONLY. DECEMBER 1985 • BYTE 37 WHAT'S NEW AT&T s 80286-based System Merges UNIX with MS-DOS AT&T Information Systems has released a version of the PC 6300. its IBM PC-compatible desktop computer. The new system, called the PC 6300 Plus, fea- tures a 6-MHz 80286 pro- cessor with no wait states; it's said to run approximate- ly 2 5 percent faster than the IBM PC AT AT&T said its new machine runs all soft- ware for the IBM PC or AT, including Microsoft's Flight Simulator. The distinguishing feature of the PC 6300 Plus, how- ever, will be its implementa- tion of the UNIX operating system. In the first quarter of 1986, AT&T will release a full version of UNIX System V for the machine. This im- plementation is said to in- clude advanced versions of many of the same easy-to- use features of AT&T's UNIX PC. In addition, because of a hardware unit called OS Merge, this edition of UNIX can run all MS-DOS applica- tions as one of several con- current UNIX tasks. AT&T claims that OS Merge allows MS-DOS software to "think" it has complete control over the system, thereby allowing almost complete compatibili- ty with IBM PC software. This software, including Flight Simulator, can run under UNIX with a perfor- mance penalty of only about 1 5 percent. Under single UNIX tasks, the PC 6300 Plus is said to be about 20 percent slower than the UNIX PC. which uses a 68010 processor. Under multitasking situa- tions, the difference is even greater. The combination of the new rendition of UNIX with OS Merge allows some in- teresting capabilities: You AT&T's PC 6300 Plus. can call both UNIX and MS- DOS applications from the same menu. UNIX and MS- DOS files reside on the same area of a disk, and they can be accessed by ap- plication programs under either operating system. Data can be piped from a UNIX program to an MS- DOS program and vice versa. And MS-DOS files can take advantage of the robust set of file attributes and protection facilities available to UNIX files. The PC 6300 Plus comes with 512K bytes of memory, with sockets for an addi- tional 5I2K bytes on the motherboard. Expansion boards with 2 megabytes of memory reportedly will be available soon and will allow a maximum internal memory of 7 megabytes. The machine has one serial and one parallel port and seven expansion slots compatible with the IBM PC. Three of these slots are compatible with the PC 6300. The new system also has a socket for an 80287 numeric coprocessor. UNIX utilities will be available to take advantage of the 80287 chip. AT&T is selling a new key- board as an option for both the PC 6300 Plus and the older PC 6300. The key- board has a Selectric-style key layout; it's similar to that of the IBM PC AT except that the function keys are laid out horizontally above the other keys. The older PC 6300 keyboard, which re- sembles the IBM PC key- board, is also available. The PC 6300 Plus comes in two configurations: The hard-disk model features a 20-megabyte hard disk, a 1.2-megabyte or a 360K-byte floppy-disk drive, either keyboard, and a mono- chrome monitor with high- resolution graphics and text capability This version will sell for $6320. A floppy- disk-based system, which in- cludes all the above except the hard disk and features both types of floppy-disk drives, will sell for $5095. Either system is available with a color monitor for an additional $650. MS-DOS version 3.1 with BASIC sells for an additional $65. When available, the UNIX operat- ing system will sell for ap- proximately $395. An up- grade is available to owners of the PC 6300 for $2995. Contact AT&T Information Systems at (800) 247-1212. Inquiry 601. — Rich Malloy MC68000 Plug-in Board with Full UNIX System V Motorola is now selling a 68000-based plug-in CPU board for the IBM Per- sonal Computer. The PC/68000 hardware consists of a 10-MHz 68000, an MMU (memory management unit), a cache, and 2 megabytes of dual-ported RAM. The accompanying software contains a com- plete System V/68 operating system as well as an I/O kernel and diagnostics. (The System V/68 was derived from and is functionally (continued) 38 BYTE • DECEMBER 1985 NEW FROM BORLAND Borland Introduces Reflex, The Greatest Analytical Tool Since The Couch INTRODUCING REFLEX, THE ANALYST. If you use Lotus 1-2-3™, dBASE® or PFS File'", you need Reflex™ — because it's a totally new way to look at your data. It shows you patterns, relationships and interrelationships you didn't know were there, because they were hidden in data and numbers. Reflex is the first database that separates the trees from the forest. The first database that understands that what you see depends on how you look at it. The first database that probes relationships — then shows them to you in various graphic forms — scatter, line, bar, stacked bar and pie charts. The first database to break the bonds of traditional DBMS (Data Base Management Systems) and give a dramatic visual turn to data analysis. Reflex makes graphic leaps far beyond 1-2- 3. With Reflex, when you look, you see. HOW THE CRITICS REACT TO REFLEX "The next generation of software has officially arrived " Peter Norton, PC Week "Reflex is one of the most powerful database programs on the market; its multiple views; interactive windows and graphics, great report writer, pull-down menus and cross tabulation make this one of the best programs we have seen in a long time.. The program is easy to use and not intimidating to the novice... Reflex not only handles the usual database functions such as sorting and searching, but also "what-if' and statistical analysis.. .it can create interactive graphics with the graphics module. The separate report module is one of the best we've ever seen. ' ' Marc Stern, IntoWorld "What you see, then, is an interesting hybrid of a database and a spreadsheet that is ideal for analyzing tabular data." Adam B. Cram, IntoWorld "More flexible than spreadsheets, this easy-to-use database analysis package presents information with visual clarity.. .Reflex is for you The flexibility of switching between different views of the data lets you see relationships you may have previously overlooked.. .Without "what-if* analysis, key variables — such as cost of goods sold or travel expenses — may be out of hand but unnoticed The type of analysis to uncover such a foible is awkward to do on a spreadsheet; yet, it may mean the difference between success and failure in a competitive situation." Ira H. Krakow, Business Computer Systems ♦ INTERNATIONAL 4585 Scons Valley Drive, Scons Valley CA 95066 Phone (408) 438-8400 Telex 172373 Trademarks Reflex Is a trademark of BORUND/Anaiyttca inc Loos Is a registered Trademark and Lotus 1-2-3 Is a trademark of Lotus Development Corporation dBASE is a registered trademark of AshtonTate PFS is a registered trademark and PFS File is a trademark of Software Publishing Corporation. IBM PC. XT. AT. PC-DOS and IBM Color Graphics Adapter are registered trademark! of International Business Machines Corporation Herailes Monochrome Graphics Card Is a trademark of Hercules Computer Technology Inquiry 39 for End-Users. Inquiry 40 for DEALERS ONLY. REFLEX OPENS MULTIPLE WINDOWS WITH NEW VIEWS AND GRAPHIC INSIGHTS. You use Reflex's Form View to build your database; the List View lets you put data in tabular List form; the Graph View gives you instant interactive graphic representations; the CrossTab View gives you amazing "cross-referenced" pictures of the links and relationships hidden in your data. Report View allows you to import and export data to and from Reflex, 1-2-3, dBASE, PFS File and other applications and prints out information in the formats you want. In fact, Report View is probably the best 1-2-3 report generator you can buy today. It's also the cheapest — and you're getting all the other features free. The commands for all five Views are consistent — so you're not stuck learning five different ways to get something done. And because Reflex uses advanced windowing techniques, you can see several views on the screen at the same time — without having to switch back and forth. You get the picture — and the pictures — all at once — if that's the way you want to look at things. Modify a number and all your Views — List, Form and Graph — are immediately updated, on-screen. Changing a number changes the picture — which is mighty handy when you're analyzing (let's say) sales figures by salesperson; or you're in "What-if?" country asking yourself "What if we could add 2.5% in January sales?' "Show me." "Give me the picture." "Show me what happens when we shift 11% of Nebraska's inventory to the new store in Hawaii." "Show me how many Gizmo 28's we have in every store in every state as of midnight last night and what happens to our East Coast stocks if the shipping strike lasts more than a week." "Show me." So Reflex shows you. Instant answers. Instant pictures. Instant analysis. Instant understanding. HOW IN THE WORLD CAN BORLAND SELL A PHENOMENAL PRODUCT LIKE REFLEX FOR ONLY S99.95? At $495.00, Anaiytica's original price, Reflex was a bargain. Acclaimed by critics and praised by users, Reflex also got our attention at Borland International. We were so impressed by Reflex that we bought the company! To celebrate that, we're making business software history by offering Reflex — FOR A LIMITED TIME— for ONLY $99.95! (Offer good through March 31, 1986). That's $39505 off the original price— which is a pretty good return on your toll- free phone call. We think Reflex should be an "automatic product," a "standard" that every PC owner should own. That's why we priced it at $9995. Naturally we've added our 60-day money-back guarantee and Borland's Reflex is not copy-protected. I ^^f^'- - YES! Rusfi Reflex to me. Send me — . copies 60-DAY sssfesssr fe^Sf % $99 9$ (CAtesadOSStaxpe Amount Enclosed „, VISA Payment , catd £*P Da,e 1 1 I 1 1 SesssssSSaai Hd6°*> ^ es ,aX ■^lohtra* Borland WHAT'S NEW equivalent to AT&T's UNIX System V. M68000 version.) While System V/68 runs on the PC/68000, PC-DOS run- ning on the 8088 (or 80286 in the AT) handles the 68000's I/O requests. Press- ing the Alt-M key combina- tion switches between System V/68 and PC-DOS. Motorola uses buffering and cache memory in both the main PC and on the PC/68000 card to let the 68000 run at top speed. Files may be transferred either way between the two systems. At the same time that the new PC/68000 promises to transform IBM PC hosts into 68000 development systems. Motorola is terminating some of its older 8-bit and 16-bit development support systems. After December 31 of this year, Motorola will not accept orders for the EXORmacs 16-bit develop- ment host and peripherals; EXORciser 8-bit develop- ment host, peripherals, and plug-in expansion boards; EXORset 8-bit development host and peripherals; VMC 68/2 microcomputer system and peripherals; several other hardware development stations, bus state analyzer personality modules, evalua- tion modules, system analyzers, and all associated software for those products. The PC/68000 can be used with IBM PCs that have at least a 10-megabyte hard disk. The complete PC/ 68000 module (hardware and software) carries part number MPCKN2M and a list price of S4500. Contact Motorola Semiconductor Products Inc. POB 20912. Phoenix, AZ 85036, (800) 521-6274. Inquiry 602. Planar Systems EL8358 M flat-panel display. Flat-Panel Display for MS-DOS Planar Systems' EL83 58 M is a flat-panel monitor with an elec- troluminescent display for MS-DOS machines. It has a resolution of 640 by 200 pixels, providing 83 lines per inch within a 5- by 8-inch active matrix. Each pixel is individually address- able and has a pixel aspect ratio of 2:1. A complete EL83 58 M, in- cluding the electrolumines- cent panel, driver and con- trol electronics, bezel, frame, and connector, is 5.7 inches high, 10.3 wide, and 0.5 5 deep and weighs 16 ounces. It is not affected by electro- magnetic environments and will run in temperatures of to 5 5° Celsius, Planar said. It can withstand shocks of 100 Gs on all axes and storage temperatures of -40 to 75° Celsius. The system uses patterned indium tin oxide and aluminum electrodes around a layer of bright yellow emit- ting phosphor. It requires a 12-volt power supply to operate. An EL83 58 M developer's kit. including a monitor, a circular polarizer, and a power supply, costs $17 50. Contact Planar Systems Inc., 1400 Northwest Compton Dr.. Beaverton, OR 97006. (503) 690-1100. Inquiry 603. Keyboard System for Visually Handicapped The Audiodata/IBM PC Keyboard from Frank Audiodata GmbH of West Germany uses tone and speech capabilities to make the IBM PC accessible to blind and visually impaired users. The system generates different tones depending on the type of data at the cursor's screen location. To position the cursor, you use sliding switches that corre- spond to the horizontal and vertical axes. The vertical switch is on the left-hand side of the Audiodata keyboard, next to the function keys. Moving it from top to bottom yields a series of tones that tells you whether lines are blank or full of text. The horizontal switch is below the space bar. Moving it left and right yields tones that indicate letters, spaces, numbers, and punctuation marks in a line. By moving the switches and listening to the resulting tones, you can tell how many characters of what type are at what position on the screen. The keyboard contains a Votrax SC-01 speech pro- cessor, so you can literally have the system read a por- tion of text out loud. Press- ing a button on the vertical switch tells the system to read the line of text that corresponds to its position. Using the vertical and the horizontal switches to- gether, you can have the system read or spell par- ticular words. The Audiodata keyboard works with standard or large-print monitors or with no monitor at all. It comes with a 6-inch add-in card and the system software for S34 50. Contact Maryland Computer Services, 2010 Rock Spring Rd., Forest Hill, MD 21050. (301) 879-3366. Inquiry 604. C Compiler for Apple lie The C + + Compiler is a complete C compiler for the Apple He that generates pseudocode; it in- cludes an assembler to con- vert that pseudocode to 6502 assembly language and a 6502 native code assembler. A pseudocode interpreter allows the com- piler's output to be im- mediately tested without generating native 6502 code. The interpreter can also be used to distribute large programs more com- pactly if execution speed is acceptable. C + + contains all the features of C as defined by Kernighan and Ritchie, ex- cept that floating-point arithmetic is not supported. Extensions and enhance- ments, such as enumerated types, structure and array (continued) 40 BYTE • DECEMBER 1985 NEW FROM BORLAND! Borland introduces Tuibo Lightning the fastest, most amazing information system since your brain You can now find out everything in a flash. With instant access to electronic veisions of the 83,000 word TUrbo Lightning'" Random House® Speller & Word List; the 50,000-word Thrbo Lightning Random House Thesaurus™ and the soon-to-be-released Thrbo Lightning Encyclopedia™ — and to an astonishing array of electronic reference books which form Borland's new Thrbo Lightning Library™ Hitting one key on your IBM® personal computer — taps you into this new electronic age of instant information. You get the right word, the right spelling, the right name, the right address, right now. What we've done has been called "Artificial Intelligence," we simply call it "TUrbo Lightning." This information revolution — driven by TUrbo Lightning — means that the way you look things up is definitely looking up. No matter what program you're running, Turbo Lightning instantly checks your Spelling as you type. You could be running WordStar®, MultiMate™, SideKick®, Microsoft® Word, MO Mail®, CompuServe®, or whatever, because as you work, as you write, Thrbo Lightning is waiting in the wings, watching how you spell every word, but not getting in the way of what you're doing. So how does it work? Let's say the word you meant to type was "RIGHT," but you accidentally typed 'RIHGT," which is wrong. What happens then? You immediately hear a 'beep,' so you know there was a boo-boo. You instantly see a window, that doesn't list "RIHGT" but it does list 'RIGHT' and its sound-alike words. So your screen looks like this: rihgt Sound Alike Words : Turbo Lightning does a lot more than spell "right" right, It also gives you instant synonyms. Because you also have Thrbo Lightning's Random House Thesaurus at your fingertips, you can really get to know your 'rights.' So back to the word "Right," but this time in the thesaurus. Type in "Right" and what you see in the on-screen window is: righ t A: B: C: -Adject i ve - straight true accurate D sound | E: F: G H 1: normal -Noun- claim title due ownership .1 PgUp or PgDn for more words I » : rights u: righted D: rightly E: relight F: rig hter G. Add word to auxiliary dictionary PgUp or PgDn for more words So you move your cursor to "A." which is the right "right," hit Return and the spelling mistake is instantly fixed. And the program you were working on has continued to run while you did a little spelling sidetrip with Turbo Lightning. (If \w'd rather not remember your Spelling gratis in school, the beep might make you nuts, but you can choose the 'whole page" cptim, Much means that then you Bnish writing &e entile page, any spelling mistakes will be highlighted- Yen go in and straighten things out straight avayX Lightning never goes away, is 100% concurrent, reliable, accurate and cannot, does not, will not 'crash & bum.' Your document, letter, report, spreadsheet is word perfect and no one ever knows that you can't spell for beens. BORLAND I N T C IJ ATI O N A L 4535 SCOTTS MUEYOftltrZ SCOTTS WU£Y, CA 95066 PHONB{40B) 438-6400 TEL£Xm3T3 >Uetm?lna, Turfx* Ughumtg Ent^t'topedin, andTtiiho tiginntPg library we mwfo,antfsitiaK)tK .s >nat toe i»tt House is .i rvglstena In:. lUM f i tfC. AT :T,b'' ! .U".:kk*:.C'J iQf'er-irk- of i> .! ;tMk''Xii% :'i'. h;S&'a': IriK-i'WJJOr^i C*p Wi.'UtSw * :j cs$SU":ed ihi.fcniarfe :>< ; t. WCI Mutl is * rev».ereJ trademark ,,| MCI Cumwurwladi'm Cv*p C«mpuSe«"- « * x-~ ,,. t- f , '< in I " ik* v^ *j

» NEW SERVICES Ordering Disks of BYTE Listings Source-code listings in the form of text files of programs that accompany BYTE articles are now available from BYTE on disk. To order a disk of these listings for noncommercial purposes, indicate the issue (the first available is December 1985) and the kind of disk below. Enclose a check or money order in the correct amount made out to BYTE Listings. All prices include postage. BYTE issue: COMMON 5 '/.-inch FORMATS (all cost $5 per disk in North America. $6 in Europe and South America, $7 in Asia, Africa, and Australia) □ IBM PC □ Apple II 5/4-inch DOS 3.3 □ Apple II 5!4-inch ProDOS □ Commodore 64 □ Hewlett-Packard 1 2 5 □ Kaypro 2 CP/M □ TRS-80 Model III C TRS-80 Model 4 □ Texas Instruments Professional G Zenith Z-100 □ Atari COMMON 3 '/2-inch FORMATS (all cost S6 per disk in North America. $7 in Europe and South America. S8 in Asia, Africa, and Australia) □ Apple Macintosh □ Atari 520ST □ Commodore Amiga D Hewlett-Packard 150 □ Data General-One CP/M STANDARD 8-inch FORMAT ($6 per disk in North America, S7 in Europe and South America, $8 in Asia, Africa, and Australia) □ Single-sided single-density OTHER FORMATS (all cost S6 per disk in North America, S7 in Europe and South America. $8 in Asia, Africa, and Australia) Size Machine □ 8-inch □ 51/4-inch □ 3 '/2-inch . SEND DISK TO: Name Street City State or Province Country Postal Code Check or money order enclosed for S_ 60 BYTE • DECEMBER 1985 Signing Up for BYTECOM To sign up for computer conferencing among BYTE readers in Europe, write to QZ/BYTE Stockholm University Computing Center Box 27322 S-102 54 Stockholm, Sweden Telephone: 46 8 679280 The BYTECOM system includes program listings that go with BYTE articles. Send a sign-up fee using Swedish postal giro 184070-1 for the equivalent of 200 Swedish crowns (about $2 51 and fill in the form below. There will be an additional connect-time charge of $6 per hour for accessing BYTECOM. Name Street City Postal Code Telephone _ State or Province Country What kind of computer do you use? Bulletin Boards Outside the U.S. Listed below are some computer bulletin boards that will carry program listings from BYTE outside the U.S. Programs are for noncommercial use in connection with BYTE articles only. There are no usage charges but you must pay your own tele- phone charges. CANADA Western Canadian Distribution Center (101 11112 101 st St.. Edmonton. Alberta T5G 2A2) will be supplying listings to its member bulletin-board systems. Canadian Remote Systems, Toronto, Ontario, (4161 231-9202 Edmonton, Alberta. (403) 4 54-6093 Meadowlark, Alberta, (403) 43 5-6579 Prince George, British Columbia, (604) 562-9519 Regina. Saskatchewan. (306) 586-5585 Winnipeg, Manitoba. {2041 452-5529 ENGLAND Frank Thomleys Fido, Compulink. 4867 653 5 NETHERLANDS Henk Wevers Fido, +31-8380-37156 Mr. Wevers serves as the main distribution center for 16 other Fidos in The Netherlands. In addition, arrangements for BYTEnet Listings are being made with one or more system operators in the follow- ing nations: Australia, Canada. Chile. Denmark. England. France, Hong Kong, Ireland. Italy. Japan. Norway, Singapore, and West Germany. Now the biggest name in C compilers comes in a size everybody can afford. Let's C Introducing Mark Williams' $75 C compiler. Want to explore C programming tor the first time? Or just on your own time? Now you can do it in a big way without spending that way. With Let's C. This is no little beginner's model. Let's C is a powerful programming tool, packed with all the essentials of the famous Mark Williams C Programming System. The one chosen by Intel, DEC, Wang and thousands of professional programmers. The one that wins the benchmarks and the reviewers' praise: "(This compiler) has the most professional feel of any package we tested. .."—BYTE "Of all the compilers reviewed, (it) would be my first choice for product development:— David W. Smith, PC WORLD And now for more big news. Get our revolutionary csd C Source Debugger lor just $75, too. Use this coupon or charge by calling toll-free: you can breeze throueh call 312-472-6659. , . ..«*. *~ debugging at the C source level ignoring clunky assembler code. Affordable, powerful, debuggable. Mark Williams let's C is the big name C compiler at a price you can handle. Get your hands on it now Mark Williams Let's C • For the IBM-PC and MS-DOS • Fast compact code plus register variables • Full Kernighan & Ritchie C and extensions • Full UNIX™ compatibility and complete libraries • Small memory model • Many powerful utilities including linker, assembler, archiver, cc one-step compiling, egrep, pr, tail, wc • MicroEMACS full screen editor with source • Supported by dozens of third party libraries • llpgradeable to C Programming System for large scale applications development Let's C Benchmark Done on an 1BM-PC/XT, no 8087. Program: Floating Point from BYTE, August, 1985. Exec Time in Seconds Let's C 134.20 MS 3.0 347.45 1-800-MWC-1700. In Mark Williams Let's C $75 Please send me: copies of Let's C and c< >pies < >1 csd ( C Source Debugger ) at $75 each. { III. residents add 7% sales tax, ) LJ Check EH Money Order CI Visa, MasterCard or American Express Name. Zip. Card #_ Exp. Date- Signature- Mark Williams Company | 1989 Mark Williams I NIX i.sa trademark of Bell Labs. 1 430 West Wrightwood Chicago, Illinois 60614 Inquiry 224 Reviewed by G. Michael Vose More than 20 years ago, John G. Kemeny and Thomas E. Kurtz created the BASIC computer language and placed it in the public domain. Now they have tried to rprlaim thpir nrnopnv anrl pyprt an infh ipnrp nn \tc futurp i,,iiwiii ipiiii i mi \mMi s'mmmm^ able part of this book. The reminiscences of the professors reveal their excitement at the prospect of opening up to young minds the powerful potential of computing. There is in these vignettes a strong undercurrent of the "hacker ethic'— as described by Steven Levy in Hackers: Heroes of the Cnmnuter Rpvnlutirm (nniihlprlav 1Q84I— a need tn share the v-a-,* The C for Microcomputers PC-DOS, MS-DOS, CP/M-86, Macintosh, Amiga, Apple II, CP/M-80, Radio Shack, Commodore, XENIX, ROM, and Cross Development systems MS-DOS, PC-DOS, CP/M-86, XENIX, 8086/80x86 ROM Manx Aztec C86 for sznous work ijntj strengths quite valuable MACINTOSH, AMIGA, XENIX, CP/M-68K, 68k ROM Manx Aztec C68k "Library handling is very flexible . . . documentation is excellent . . . the shell a pleasure to work in ... blows -muaiLtherQinneHti on for nurc compil e speed . . . an ex- Manx Cross Development Systems Cross developed programs are edited, compiled, assem- bled, and linked on one machine (the HOST) and trans- ferred to another machine (the TARGET) for execution. This method is useful where the target machine is slower or more limited than the HOST, Manx cross compilers _are_iised h eavily to de velop softw are for b usiness, makes the best value for Xmas! CZF-148-42BU 2 DS/DO 360K Disk Drive 384 HAM Memory, Amber 20 MHz Monitor Pi3 Built in ROM Diagnostics. 1 Expansion Slot 1,350 One Plus 7 Expansion Slots CZF-158-42BU 1,850 One Plus Hard Disk Sysien. 20 Meg Winning I DS/OD 3rJ0K 384 RAM Memory 8 MH; with 7 Expansion Slots CZW-158-42BU 2,429 Hew Advance Technology PC IBM PC/AT Compatible Single DS/DD 12 Meg Dish Drive ■l. K RAM. Serial Parallel Amtwr 20 MH; Monitor |Pt3] Expandability tor up lo 12 simultaneous users CZF-341-81 Call Four Plus Hard Disk System Same as above including 40 Meg Hard Disk CZW-241-82BD Call 6J POrtableS Zenrlti Quality IBM Compal.hlp Back Lit Screen 8 MHz 2 Standard OS/OD 360K Drrves 640 x 200 Dot Graphs 143 Lbs. 250K RAM C2171-42 .. 1,995 J Trans Portable l DD 360K Drive B MHz Clock. 128K RAM 1,299 SOFTWARE for IBM. Macintosh Apple All Major Brands 25% - 40% Off Call for pricing Corporation users' volume purchase contracts available. Call for money saving details . HARD DISKS s 10 Meg. bare/at/ei 299 489 '689 20 Meg. bare. int. ex 499 '689/889 30 Meg Call BE Meg Call ^*K7 Herd Disk Controller 190 J MODEMS ©Hayes Anchor Cation Laser Beam Printer Many Advantages river HP No Additional Cost Quantity Discounts IBM Parallel Interface It can THINK! Its a Oiablo 630 4 Resident Fonts Downloadable Fonts Choose number ol copies from keyboard For BEST PRICE Call CLOSEOUT SPECIAL Vic 20 software grah hag 3 assorted pieces S20 to S129 Value 1 assorted pieces S55 to S429 Value Act now while Ihey lasl 1 EPSON \ RX-1D0, LX-80 . ... Call FX-85+. FX-185+ Call LQ 1500. JX80 Color Call Homewnter 10 Call NEW LX-90, 50-2000, 0X10. DX-20. HS-80 Call Fraa printer stand with each printer purchased! .. Canon a -40 Impact Dot Matrix Printer Near letter quality 23 x 18 matrix 140 cps 3 kinds of Graphic Image Selectable Linefeed in g IBM Printer Compatible Push Feed Adjustable Tracloi Fanfold Single Sheet 6 Multipart Copy Paper Usable Many More Features Only S259 BUILD YOUR OWN P.C. PC-XT Mother Board IBM" Fully Compatible 8088 Micro- Processor wrtti 8087 Math Pros Socket. 8 I/O Slots. 256K On Board Memory Assembled h Tested Board ft All Components 1 - S229 3-4 S219 4-10 $200 Over 10 Call PC Case with Hinged Top Easy. Quick Access Fits IBM PC. XT Mother Board Hardware tor Mounting 2 - 4 Drives ttualrty Case — All Met; Enhanced Keyboard for IBM PC ~\ Enlarged Return I Key h Shift Key i LEO Indicators or 1 Cap s Lock & f - S79 2-3 S75 4-1 Ml 10 S70 |1 Kilty IBM Compatible S89 2-3 S85 4-10 S80 PC-XT Compatible includes B40K RAM. 2 - DS/DD Disks 360K 135 Watt Power Supply 1 RS232 Serial Port 1 Parallel Port Read Time Clock - Cal Bat Backup RAM Disk, Print Spooler Assembled & Tested! Everything yon need except Monitor 6 Card 1 - S1.059 2-3 SI, 000 4-10 S975 20 Meg Version SI. 575 Multifunction Card PRICE BREAKTHROUGH 1 Serial Pod Printer Pod • Game Port Real-Time Clock-Calendar Ram Disk • Print Spooler Optional second serial port available With 384 RAM S229 3 ot more. .... S199 135 WA TT Power Supply 4 Drives Power Plugs Side Switch Model like IBM f >, PC PLUS" Add Ons for BM ' PC & Compatibles • Disk Centre liar Card m • Color Graphic Card B9 • Dak 10 Card |2 Sa.Par Or* & Gme) 14a • Color Card/Parallel Port 119 • Parallel Printer Card :w Mono Graphs! Card /Printer Port 129 • Hi- Res Mono Card fs • Speaker 2 00 • Senal Card 49 • 1/0 Plus Card 89 • Game Adapter m \ J PAPER \ 9V," i 11 Kaen Edge 29 9Vi i 11' Standard 27 U'/i" i 11" Standard 38 20 lb - other weights a tradable 270D sheets per c V ■* ORDERING INFORMATION: Order by check Mastercard nr VISA Personal checks lake 1 5 days to clear, no waiting on certified checks BOOK REVIEWS The professors make a lot of the fact that Dartmouth BASIC underwent seven major revisions but fail to note that Microsoft BASIC has seen at least six. These revisions have added significant improvements to the language's power and syntax and have even provided for true com- pilation. In addition, companies other than Microsoft have produced implementations of BASIC that are arguably as good as the Dartmouth versions. The Message Being learned men, Kemeny and Kurtz understand that BASIC'S corruption was often by necessity— squeezing the language into 4K-byte and 8K-byte microcomputers re- quired some compromises in functionality. But since to- day's machines impose fewer performance restrictions, the professors assert that it's time for a refurbished BASIC to take its place alongside Pascal and other respectable languages as a legitimate functional and educational tool. That constitutes the message of Back to BASIC. Using ex- ample program fragments written in True BASIC the pro- fessors argue that BASIC is a good programming language. Their arguments are well founded even if their objectivity might be questioned. The latest version of Dartmouth BASIC the proposed ANSI standard for BASIC, and the professors' commercial version of the language are all useful and powerful programming systems. Many people question, however, the need for versions of BASIC that differ from the widely used Microsoft ver- sion. The important issues of data-file compatibility and source-code transportability of Microsoft BASIC programs with other versions of the language concern many peo- ple who can appreciate the potential of a new BASIC but have an existing software investment to protect. Not Convincing Since Back to BASIC was apparently written in part to justify the existence of the new True BASIC and to anticipate ob- jections to its adoption, it is surprising that the issues of compatibility and transportability between ANSI BASIC and the Microsoft version are never addressed. Similarly Kemeny and Kurtz never discuss the releaming process that many programmers who grew up with Microsoft BASIC will have to undergo in order to adapt to the "new" BASIC. As a result, the book doesn't convince me that an ANSI standard version of BASIC is right for me. And the space that Kemeny and Kurtz devote to espousing the message that a standard is necessary could have been put to bet- ter use by elaborating on the historical narrative of the We have over 1000 Software and hardware items in stock. Shipments on almost all items within 24 hours! wAREHOUS DATA PRODUCTS TOLL-FREE ORDER LINE 1 -800-421-3135 FREE SOFTWARE! With over $100 purchase you will receive a free diskette for your IBM PC with label maker, checker game and banner program Call for programs not listed. Technical & Other Info. (602) 246-2222 SOFTWARE DATA BASE MANAGERS Alpha Data Base manager $165 Clout 2 129 Condor III 299 Fox and Geller Quickcode 145 Fox and Geller Quickreport 145 Friday 159 Knowledgeman 225 K Paint 60 K Graph 135 K Text 105 K Report 135 Nutshell 55 PFS: File 78 Power Base 2.1 199 RBase 5000 Call Think Tank 98 Tim IV 169 WORD-PROCESSING Easy (Micro Pro) 89 Leading Edge w/Merge 85 Microsoft Word 225 Multimate Call Multimate Advantage 255 Oasis Word Plus 85 Peachtext 5000 145 PFS: Write 78 Random House Spell Checker 36 Samna III 3.0 265 Volkswriter Deluxe 139 Word Perfect 4.1 195 Wordstar 170 Wordstar Propac 238 Wordstar 2000 238 Wordstar 2000+ 285 SPREADSHEETS Lotus 1-2-3 Call Microsoft Multiplan 115 PFS: Plan 78 Supercalc II 145 Supercalc III 2.1 (New) 169 ACCOUNTING SOFTWARE Dr. Halo II $99 Energraphics w/o Plotter 170 Energraphics w/Plotter 220 Fontrix 99 Graphwriter/Combo 310 Microsoft Flight Simulator 32 PC Paint Brush 69 PFS Graph 78 Signmaster 145 LANGUAGES Concurrent PC/Dos Call Fortran 77 208 Lattice C Compiler 249 Lifeboat Run C Interpreter 89 Microsoft C Compiler 239 Microsoft Fortran 209 Microsoft Macro Assembler 89 Microsoft Pascal Compiler 179 Microsoft Quick Basic 65 Multi Halo 140 PROJECT MANAGEMENT Harvard Project Manager 199 Microsoft Project 150 Super Project 185 Total Harvard Project 245 UTILITIES Copy II PC 22 Copy II PC Board 79 Copywright 45 Norton Utilities 3.0 52 PC Tools 22 Prokey 4.0 75 Superkey 36 HARDWARE BPI Accounts Payable ., BPI Account Receivable BPI General Accounting BPI Payroll Cyma Dollars and Sense . 299 . 299 . 299 . 299 Call . . 95 MBSI Call Tobias Managing Your Money 95 TCS. Big Four equivalent of Peach- tree Series 4 - Specially augmented and customized for your IBM PC Terminal and Printer - GL, AR, PA, AP, CP/M-80, CP/M-86 for PC XT, DOS 1.1, 2.0. Each Module $65 For All Four $249 INTEGRATED Enable Call Smart Software Call TRANSFER PROGRAMS Crosstalk XVI 89 Hayes Smartcom II 88 Microsoft Access 149 Move-It 79 Remote 99 GRAPHICS Chartmaster 220 BUYS OF THE YEAR Expansion Board to 576K . . . $69 KB5151 Keyboard Equivalent .. 89 Hercules Graphic Board w/Par Port Equivalent 118 1 Year Warranty - 30 Day Return Priviledge. MODEMS Anchor Express Hayes 1200 Hayes 1200B w/Software Hayes 2400 Promodem 1200B w/Software .. Promodem 1200 RAM 64K 150NS Chips (Set of 9) .... 256K Ram Chips (Set of 9) BOARDS AST Advantage AST Sixpack (384K) Hercules Color Card Hercules Graphics Card J RAM III Paradise Five Pak w/64K Paradise Modular Graphics Card Quadram Board with Par/Ser and Game Port Quadcolor I Sigma Maximizer Multifunction . Sperry 512K Expansion w/128K . . STB Chauffeur Board STB Mono Board AB Parallel Print Switch 239 Call Call 605 . 265 309 6.50 39.50 . 385 . 249 . 145 . 275 .Call . 155 . 249 199 185 169 145 249 155 . 75 HARDWARE COMPUTERS Corona PC Call Sperry PC Mono 256K Dual Drive Serial Port, Clock, MS/DOS 2.11 $1650 IBM PC-AT Call IBM PC Clone, 256K, Amber Moni- tor, Hercules Graphics Card Equi- valent $950 ITT Computers PC Compatible 256k Dual Drive, Mono, MS/DOS . 1395 ITT XP80286 IBM/PC Compatible, 3 times faster than an XT. 30% faster than an AT $2650 Zenith 171 Call PRINTERS FREE! PRINTER SET SOFTWARE Purchase an Okidata, Epson, Gemini, Citizen or Toshiba printer and re- ceive at no charge a menu driven pro- gram to set print characteristics or to make your computer function as a correcting typewriter. Retail value $35. Available for most disk formats. CITIZEN MSP-10 255 MSP-15 355 MSP-20 329 DAISYWRITER 2000 850 EPSON - Call on all models JUKI Juki 6100 349 Juki 6300 685 Juki Tractors 120 NEC 3550 989 8850 1349 P5 Parallel Call OKIDATA - Call on all models PANASONIC 1091 239 1092 349 1093 429 KXP3151 410 SILVER REED EXP 400P 205 EXP 550P 389 EXP 770P 689 STAR MICRONICS SG-10 Call SG-15 369 Call for prices on other models TOSHIBA 1340 499 P351 1075 MONITORS AMDEK Call for price Taxan 610 319 Taxan 121 Green 125 Taxan 122 Amber 134 Princeton HX-12 445 Princeton Max 12 170 Samsung TTL, Amber 95 TERMS: Prices include 3% cash discount. Add 3% lor charge and C.O.D. orders. Shipping on most software is $5.00. AZ orders *6% sales tax. Personal check - allow ten (10) days to clear. Prices are subject to change. TOLL-FREE ORDER LINE 1-800-421-3135 WAREHOUSE DATA PRODUCTS 2701 West Glendale Ave. • Phoenix, AZ 85021 Inquiry 373 What makes it your partner? Like all ambitious achievers the Panasonic Exec. Partner gets along with others. Namely, IBM hardware and software. You'll also accomplish more with the new high-resolution plasma display. It lasts four times longer, offers clearer defini- tion and is easier to read than an ordinary screen. The Exec. Partner's built-in dual mode printer will help 640K. So the Exec. Partner will run the most sophisticated data base management programs. And its expansion slot allows you to fulfill the needs of specific applications like telecommunications and Local Area Networks. Tomorrow's technology DonoCAIlio for today's executives. The r€M IdOUl n\* new Panasonic Exec. Partner. Industrial Company Inquiry 226 What use is 68000 power if you can't get at it? r - i You can with the U-MAN! Look at these languages and tools available (or the Inquiry 130 V*t*2T W»*2L A BOOK REVIEWS of a university community would have made Back to BASIC a most enjoyable book. BOOK REVIEWS Contact us for other low prices on hardware and software. Next Day Air Extra FREE SHIPPING NO SURCHARGE FOR H OR Call for latest prices. 20 and 33 MEG INTERNAL AND EXTERNAL HARD DISK SYSTEMS 20 MEG 33 MEG Internal $495 $929 External $645 $1029 Externals mounted with independent power supply and fan. Fully DOS 2.X or 3X compatible. Both Internals a and Externals boot from Hard Disk. 33 Meg Internal Disks include extender power supply. The system comes complete and ready to install with the Hard Disk, Controller, Cables, Manual, Software, and Mounting Hardware. One Year Warranty. 20 and 33 Meg Hard Disks are available with combined Floppy/Hard Disk Controller Half Height Card for additional $75 . comPAa 256K, 1/360K drive, 10 Meg Internal Functional equivalent to a Compaq Plus™ $2549 Now using 3 K " shock-mounted Winchester drives. The DISK DRIVES TEAC M B. Half Hdght.DS/DD $95 MITSUBISHI Half-Height, DS/DU Quantities of 10 or more $75 each Call us for competitive prices on larger quantities of RAM chips. -"-»' + + 4T W + # ♦» $8 PRICES AND MACHINES THAT OUTRUN THE COMPETITION. PCS LIMITED AT High Performance Competitive Price -L -' '; •m [>$1995 Includes: 80286-based System Unit, 102-iKon Mother Board, 1.2 MegFloppy Drive, Combined Floppy and Hard Disk Controller Card, AT Keyboard, 192W Power Supply, 2 Serials and 1 Parallel Port, and Clock/Calendar with Battery Backup, all on Mother Board. Runs all Major Software written for the IBM PC", PC XT'*, and PC AT 1 *. (Processor) Intel 80286 running at 6MHZ. (Expansion Slots) :8. 7 are available in above configuration. Same Bus Configuration as IBM PC AT". m PC'S LIMITED TU £ B0 High Performance Competitive Price $795 Includes: System Unit, 640K on Mother Board, 360K Floppy Drive, Keyboard, 135W Power Supply. Runs all Major Software written for the IBM PC and PC/XT , 40% faster, without modifications. (Processor) 16-bit 8088-2, 4.77 or 6.66MHZ Clock Speed. (Expansion Slots) :8; 7 are available in above configuration. SOLVE YOUR POWER PROBLEM. XT POWER 135 W ^r* $89 Fully XT' utmpjiible One Year Warranty. Dirrctl) ■ • pi a ■ > power supply in PC™ 25 or more $75 each PC'S LIMITED Six Function Card w/384K $149 • l pgradable to 5H*k • Clock/Calendar • Software included Two Year Warranty Parallel Port Serial Port Came Port Irwin Tape Backup System $595 10 or more $495 each • Uses Floppy Controller Card • 10.35 Meg Formatted Capacity • Used in Compaq Deskpro. - Also available with external chassis $795 • Half Height • Low Power Compaq, TEAC, IBM, Irwin, Mitsubishi, and Intel arc registered trademarks of their respective companies. All brand names are regis- tered trademarks. We are an independent sales or- ganization. Some quantities may be limited. PC'S LIMITED reserves the right to substitute equivalent items. PC'S LIMITED OUTSIDE TEXAS, ORDERS ONLY, CALL 1 -800-426-5150 1611 Headway Circle, Building 3, Austin, Texas 78754 All sales-related calls inside Texas - (512) 339-6800 Telex Ne. 9103808386 PC LTD —^- J6Jg^ ^fi Ad number 412 f\ Inquiry 280 DECEMBER 1985 -BYTE 77 TM $249 Little Board ... The World's Least Expensive CP/M Engine CP/M 2.2 INCLUDED • 4 MHz Z80A CPU, 64K RAM, Z80A CTC, 4-32K EPROM • Mini/Micro Floppy Controller (1-4 Drives, Single/Double Density, 1-2 sided 40/80 track) • 2 RS232C Serial Ports (75-9600 baud & 75-38, 400 baud), 1 Centronics Printer Port • Power Requirement -5VDC at 75A, • 1 2VDC at 05A / On board - 1 2V converter • Only 5 75 x 7 75 inches, mounts directly to a 5- 1 4" disk drive • Comprehensive Software Included • Enhanced CP/M 2.2 operating system with ZCPR3 • Read/write/format dozens of floppy formats (IBM PC-DOS, KAYPRO, OSBORNE, MORROW. ) • Menu-based system customization • Operator-friendly MENU shell OPTIONS • Source Code • TurooDOS • ZRDOS • Hard disk expansion to 60 megabytes • SCSI/PLUS " multi-master I/O expansion bus • Local Area Network • STD Bus Adapter TM BOOKSHELF Fast, Compact, High Quality, Easy-to-use CP/M System Setiei 700 » Ready-to-use professional CP/M computer system i Works with any RS232C ASCII terminal (not included) i Network available i Compact 7.3 x 6.5 x 10.5 inches, 12 5 pounds, all-metal construction i Powerful and Versatile: • Based on Little Board single-board computer • One or two 400 or 800 KB floppy drives • 10-MB internal hard disk drive option Priced from $895.00 10MB System Only $1645.00 • Comprehensive Software Included • Enhanced CP/M operating system with ZCPR3 • Word processing, spreadsheet, relational database, spelling checker, and data encrypt/ decrypt (T/MAKER III") • Operator-friendly shells, Menu, Friendly " • Read/write and format dozens of floppy formats | IBM PC-DOS, KAyPRO, OSBORNE, MORROW I • Menu-based system customization DISTRIBUTORS ARGENTINA: FACTORIAL, SA, (1) 41-0018, TLX 29408 BEIGIUM CENTRE ELECTRONIQUE LEMPEREUR, (041) 23-4541, TLX 42621 CANADA: DyNACOMP COMPUTER SYSTEMS LTD, (604J 872-7737 ENGLAND: QUANT SYSTEMS, (01)253-8423, TLX 946240 REF 19003131 FRANCE: EGAL-, (1) 502-1800, TLX 620893 SPAIN: XENIOS INFORMATICA 593-0822, TLX 50364 AUSTRALIA: ASP MICROCOMPUTERS, (613) 500-0628 BRAZIL: CNC DATA LEADER LTDA, (41 ) 262-2262, TLX 041-6364 DENMARK: DANBIT, 103) 66-20-20, TLX 43558 FINLAND: SYMMETRIC OY, (0) 585022. TLX 121394 ISRAEL: ALPHA TERMINALS, LTD, (3) 49-16-95, TLX 341667 SWEDEN: AB AKTA (08) 54-20-20, TLX 13702 USA: CONTACT AMPRO COMPUTERS INC , TEL (415) 962-0230 TELEX 4940302 IBM-, IBM Corp, Z80A-, Z1I03, Inc , CP/M", Digital Research, ZCPR3 " & ZRDOS " Echelon, Inc , Turbo DOS-, Software 2000, Inc., T/MAKER HI " T Maker Co COMPUTERS INCORPORATED >• 67 East Evelyn Ave. Mountain View, CA94041 . (415)962-0230. TELEX 4940302 Jr Inquiry 1 9 for End-Users 78 BYTE- DECEMBER 1985 Inquiry 20 for DEALERS ONLY BOOK REVIEWS gram itself is the central legal concern. But if the system is a service, then the hospital sues XYZ for negligence. However, as Susan Nycum notes, since no human is in- fallible and no machine perfect, and since small program- ming errors with catastrophic practical consequences can go undetected until it is too late, just what constitutes negligent behavior becomes very hard to determine. This brings up the subject of codes of conduct and moral principles in a computerized society. Formal codes have been written for computer professionals. Reproduced in Ethical Issues are standards of the British Computer Socie- ty, the Institute for Certified Computer Professionals, the Data Processing Management Association, and the Association of Computing Machinery (ACM). The ACM divides its principles into two categories: ethical considera- tions and disciplinary rules. These are further organized and subsumed by five canons. No ACM member is bound to observe the ethical considerations or the canons. Only by disregarding a disciplinary rule can a member be held accountable. But how often will all of this work? According to disciplinary rule 5.2.1, a member of the ACM must inform employers and clients whenever "any adverse consequences to the public" may follow as a result from work proposed to him." Sounds fine. But con- sider this: Since nearly all computer-related work involves being in front of a video-display terminal, and since VDTs may be hazardous to your health, then must an ACM member tell the boss that teaching the new secretary how to use the word processor may have "adverse conse- quences"? Strict obedience to proscriptions like this could bring automated activity to a halt. Furthermore, failure to adhere to the rules may bring "expulsion," "suspension," or "admonition." Even if an individual is caught violating a disciplinary rule, the punishment might amount to little more than the proverbial slap on the wrist. In a brilliant series of thoughts entitled "Professional Ethics: An Intellectual and Moral Confusion," lohn Ladd points out that codes of conduct may actually do more harm than good. Ethical codes are necessarily minimal: they formulate trie least that needs to be done. This may incline professionals to not do their best but do just what the code requires. Perhaps worse, codes of conduct can stifle the dissenter, the critic, or the creative person and degenerate into that situation John Stuart Mill called the "tyranny of the majority." Throughout this book, question follows question as opin- ions diverge in what Johnson and Snapper term "an in- terval of uncertainty" brought about by the new tech- nology and occupied by a dense intellectual pluralism. It is just this tolerance of so many different points of view in a single volume that makes Ethical \ssues in the Use of Com- puters a valuable and commendable book. Stan Czarnik is a teacher, musician, and technical specialist. He works at Information Access Company {The Computer Database. 2265 Carlson Dr.. Suite 5000, Horthbrook. IL 60662). {continued) The floppy disk with the flop proof guarantee. We put it down in writing. So every time you insert a JVC Floppy Disk into your disk drive, you know it will be free of mag- netic defects. It's guaranteed for life. Why are we so confident? Because every JVC Floppy Disk is made with a durable, excep- tionally smooth magnetic emul- sion that significantly reduces friction and abrasion. Less fric- tion results in fewer dropouts, and substantially extends the life of the floppy disk. In fact, every JVC Floppy Disk is designed to operate error free for up to ten million passes. ^0*- t Even our dust jackets are made from polyvinyl non-woven fabric that keeps out dust, moisture and contaminants that can cause floppy disk error. How do we do it? Simple. We've been making the best video and audio mag- netic tapes for years. And practice makes for a perfect floppy disk. THE GOAL IS PERFECTION. JVC COMPANY OF AMERICA Magnetic Tape Division. 41 Slatet Drive, ElmwoodPark, N J 07407 JVC CANADA INC Scarborougn On! Inquiry 196 DECEMBER 1985 'BYTE 79 Inquiry 329 o Fourth Annual Conference on INTERACTIVE INSTRUCTION DELIVERY in Education, Training and Job Performance February 19-21, 1986 Hyatt Orlando Hotel Orlando, Florida Presentations cover applications in: Videodisc CD/ROM Microcomputers Software Development Methodology Pre-conference tutorials are scheduled for February 1 7 and 1 8 . Exhibits of representative technology will be available to conference registrants in an adjacent area. For further information contact: Society for Applied Learning Technology 50CulpeperSt. Dept. B Warrenton, VA 22186 (703) 347-0055 if* STAFF-K8 • 86-key keyboard • Fast repeat Common Features: • Both PC & PC-AT compatible encoded • Low profile design, DIN standard • Excellent tactile feeling, mechanical keyswitch • Double-shot, step sculpture keytops • Various languages available: English, German, French. Spanish, Italian, Swedish ■ IBM is a registered Itadtnark I IBM Corp STAFF-K9 • 105-key keyboard • Independent cursor control pad • Practical lunction keys; KEY-in-lock, Key Beep, Fast Repeat, Line-Feed, Pause, Break, Previous word. Next word Ms- MONTEREY International Corp. 5FI.. No 40. Deli Hwet Street Taipei Taiwan ROC Phone (02)591-7138 Cable: 'MONTEREY' Taipei Telex: 25171 MONTEREY BOOK REVIEWS IBM PC/8088 ASSEMBLY LANGUAGE PROGRAMMING Reviewed by Larry Clark The primary reason I bought a PCjr was to develop a threaded interpretive language similar to FORTH. I soon discovered that the 8088's use of segmented mem- ory addressing introduced new ideas that I could not readily grasp from the terse, though complete, assembler manuals. For learning 8088 assembly language. I needed a more complete explanation. Avtar Singh and Walter A. Triebel's IBM PC/8088 Assembly language Programming pro- vides that kind of explanation. This book's format is "goal directed —at the beginning of each chapter, the authors outline the ideas to be covered in order to keep the reader aware of educational goals that lie ahead. They try to give the beginning as- sembly-language programmer a good, useful understand- ing of the 8088. The reader needs a basic mathematical background to understand the binary and hexadecimal math sections. Programmers who need the speed that 8088 assembly- language programs offer will find this book valuable. It starts with a discussion of binary and hexadecimal arith- metic. In a lucid review of basic machine language. Singh and Triebel do an especially good job of convincing the reader that hand-coding can be done but is not to be tack- led for large programs. The majority of the text follows with an introduction to 8088 assembly-language program- ming and debugging. The text refers to the IBM version l.O assembler, but my version 2.0 assembler performed with no detectable errors; a non-IBM assembler may do as well, provided it handles standard mnemonics and IBM pseudo operation codes. You'll need Debug, the assembler's linker, and enough memory for the assembler. I recommend two disk drives; otherwise, you'll have to swap disks frequently. The book uses Debug, a PC-DOS utility, in the examples. It is an excellent learning tool. Debug traces show exactly what an instruction does and so relieves readers of hav- ing to visualize an instruction's effect on CPU (central pro- cessing unit) register contents. Listings contained in each chapter show exactly what each debugging session will look like. I noted only one omission here that was provid- ed in the DOS Debug manual— some of the Macro assem- bler statements cannot be assembled with the line-by-line assembler in Debug. Only one or two of my sessions brought this to light, and that was after l left the bounds of a working example and tried some of the more com- plex addressing modes. The authors not only include examples of how to use the debugger but also demonstrate how to use the as- sembler and linker. A session on the use of the EDLIN editor will probably go unused, as most readers will prefer to use a full-screen editor instead. An optional disk contains a copy of the book's machine- run examples. A note in the book says the disk can be [continued) 80 B YTE • DECEMBER I985 Inquiry 252 The IBM upgrade path. ■ jyP T '?>m , : /0 zs&Vrnn&si??. SwCi-si* It's still a great system — in perfect condition. But now you're ready to make a deal on your IBM PC or XT. Maybe your business needs have grown, or your new appli- cation package runs too slow. Don't dump your present IBM system. Red River Technology has a better offer — ATlas — a single-board plug-in package that transforms your IBM PC or XT into a super- AT. ATlas isnt a semi compatible plug-in card, but completely trans- forms your PC or PC XT into a 100% IBM PC AT compatible system. Consider these features: • 8 or 10 Mhz 80286 CPU. 50-100% more perfor- mance than IBM's PC AT (switch selectable— 6, 8, or 10 Mhz) • IEEE 802.3 standard LAN option on the base board (your choice, StarLAN or Ethernet) • IBM compatible serial port • IBM compatible parallel port • 512K memory standard, expandable to 1.0 megabyte without using precious 10 expansion slots • Three 8-bit slots, use more of your existing add-in boards • Five CMOS VLSI gate arrays eliminate over 60 chips to lower power consumption and improve reliability • CAD based design, highest quality multilayer board • Installs in 10 minutes with nothing but a regular screwdriver. Red River Tech- nology has defined w state-of-the-art in board- level computers. So don't take someone else's best offer for your IBM PCorXT. Red RiverTechnology believes an upgrade path should not be a dead end. For more information on the ATlas single-board computers, call us today, at 817-571-5714. Assembled and tested board: $1495 (8 Mhz CPU) $2395 (10 Mhz CPU) (Specify PC or XT version) Kit form (includes board, 5 gate arrays, 8 Mhz 80286) $595 (8 Mhz CPU) Complete Kit Complete System CALL 817-571-5714 $ 795 $2195 Quantity discounts available. Dealer and OEM inquiries welcome. Other unique 8088 and 80186 boards also available. Write for details. TERMS: VISA. MASTERCARD, AMERICAN EXPRESS. CHECK. MONEY ORDER. $5 SHIPPING AND BANDUNG PER ORDER. TEXAS RESIDENTS ADD 6% SALES TAX. Red River Technology, Inc. Red RiverTechnology. Inc.. DFW West. 4001 W. Airport Fwy.. Suite 500. Bedford. Texas 76021 Inquiry 312 IBM is a registered trademark of International Business Machines Corporation. ATlas is a trademark of Red River Technology. Inc. DECEMBER 1985 -BYTE 81 IBM PC XT Compatible Computer runs DOS 2.1, 3.1, Lotus, Wordstar, dBase 111, and any known software. XT-Plus has eight Slots, 640KB memory on Mother Board. Limited time special offer: 640KB CPU, Floppy Controller, Keyboard, Parallel Port, Serial Port, Game Port, Clock, two 360 KB Disk Drives all for $799 (Suggested Retail Price $1399) AMERICAN MICRO TECHNOLOGY (714) 972-2945 TWX 5106003265 IBM PC, XT AT & COMPATIBLES at Wholesale Prices i^^T an IBM PC AT Compatible Computer ^t~2~/ 640K on Board, 1.2MB Disk Drive, ^|iQ 20 MB Disk Drive, Keyboard M995 ^__^^_^^__^_^_^___ (Suggested Retail Price $3995 ) 640K Ram each .45 128K Ram each 3.50 256K Ram each 2.50 Toshiba Drive 360KB 79.00 1.2MB Disk Drive for AT 129.00 20MB Hard Drive w/Controller and Cables . . . 449.00 10MB Tape Back Up Drive for XT 299.00 10MB Tape B/U Drive for AT 375.00 135 watt Power Supply 79.00 195 watt Power Supply 125.00 FD C with P/P, S/P, Clock & Game Port .... 99.00 AT Mother Board 799.00 XT Mother Board 125.00 Floppy/HD Controller for AT 219.00 AMT ^ (714) 972-2945 *%*'* TWX 5106003265 ° 9 BOOK REVIEWS purchased separately for $24.95. I recommend that you buy the disk because it will save you time and quicken the learning process. I found only one discrepancy be- tween the disk and the book. The examples in the text are generally short and might not take more than one or two iterations to correct. But there are 31 examples; it is not hard to imagine being so slowed down by entering programs that you don't finish the last chapters, which are the most interesting. This is a thorough text that delivers the fundamentals of 8088 programming. The questions at the end of each chapter served as a gauge of how well I understood the material. Working examples consist of a source listing, as- sembler output, and a complete Debug session. You should have no trouble duplicating the results given in the text when the proper tools are used. I found only two obvious errors, but neither stood in the way of learning about the 8088. On page 5 5, the authors say that index registers are always combined with the DS (data segment) register. The iAPX 88 user's manual disagrees with this, saying the DI index register is limited to the ES (extra segment) register instead. Second, the contents of the CS, DS. ES, and SS registers listed in the Debug sessions never matched those on my PCjr. Ap- parently the Debug program can adjust the segment at which a program resides according to the memory avail- able. I learned in the text that the 8088 supports reloca- tion by means of segmentation, which could explain why the programs worked even though they were placed in memory locations different from those described by the authors. The 8088 instructions are explained in groups of similar instructions, and the simpler instruction groups are fol- lowed by the more complex types. Among the more in- teresting examples are the looping instructions similar to those found in high-level languages. IBM PC/8088 Assembly Language Programming is more than 400 pages long and is very thorough, but it does not review macro programming, nor does it completely cover the pseudo-ops the assembler is capable of using. The examples not only demonstrate key features and capabilities of the 8088's assembly language but provide sample sorting routines and floating-point math routines as well. The math programs are good introductions that are extremely interesting. All routines are designed to be reused by the reader in later programming projects. One set of examples deals with simple input/output calls to PC-DOS; other examples deal with the timer chip in the PC. The book helped me learn to program the 8088 because of its organized approach and extensive examples. This is a good introductory text on 8088 assembly-language programming. I recommend it if you're ready to plunge into this challenging branch of microcomputers. ■ Larry Clark (8103 Thornewood Dr.. Hixson. TN 37343) works in microcomputer systems development and is a robotics instructor. 82 BYTE • DECEMBER 1985 Inquiry 16 THE PROFESSIONAL'S CHOICE Lotus 1-2-3 $309 Lotus Symphony $429 dBase III I FrameWork I MultiMate $369 $369 $239 Word Perfect $209 Software Word Processing Editors FANCY FONT $139 FINAL WORD $189 MICROSOFT WORD S229 MULTIMATE $239 MULTIMATE ADVANTAGE $299 OFFICE WRITER/ SPELLER $249 PFS: WRITE $ 95 SAMNA WORD III $259 VOLKSWRITER DELUXE $159 VOLKSWRITER SCIENTIFIC $279 WORD PERFECT 4.0 $209 WORDSTAR $189 WORDSTAR 2000 $259 WORDSTAR 2000* $299 WORDSTAR PRO $259 XYWRITE II* $199 Database Systems ALPHA DATA BASE MANAGER II CLIPPER CLOUT V 2.0 CONDOR III CORNERSTONE DBASE II DBASE III KNOWLEDGEMAN PC FOCUS PFS: FILE/PFS: REPORT POWERBASE OUICKCODE III OUICKREPORT R BASE 4000 R BASE 5000 REFLEX REVELATION $179 $399 $139 $329 $289 $299 $369 $269 $1195 $169 $319 $169 $169 $249 $379 $329 $729 Spreadsheets/ Integrated Packages ELECTRIC DESK ENABLE FRAMEWORK JAZZ LOTUS 1-2-3 MULTIPLAN OPEN ACCESS SMART SYSTEM SPREADSHEET AUDITOR SUPERCALC 3 SYMPHONY Accounting BPI GREAT PLAINS IUS EASYBUSINESS ONE WRITE PLUS OPEN SYSTEMS PEACHTREE REAL WORLD STAR ACCOUNTING PARTNER STAR ACCOUNTING PARTNER II $209 $359 $369 $399 $309 $135 $369 $559 $109 $219 $429 $319 $479 $319 $179 $369 $299 $369 $249 $549 Desktop Environments DESK ORGANIZER $ 79 GEM DESKTOP $ 45 SIDEKICK $ 45 Languages/Utilities CONCURRENT DOS $189 C86 C COMPILER $299 DIGITAL RESEARCH C COMPILER $219 OR FORTRAN 77 $219 LATTICE C COMPILER $299 MICROSOFT C COMPILER $249 MS BASIC COMPILER $249 MS FORTRAN $239 NORTON UTILITIES $ 69 TURBO PASCAL $ 59 XENIX SC.ll Project Management HARVARD TOTAL PROJECT MANAGER $259 MICROSOFT PROJECT $159 PROJECT SCHEDULER NETWORK $339 SUPERPROJECT $219 TIMELINE 2.0 $299 Communications/ Productivity Tools CROSSTALK $105 CROSSTALK MKIV $149 PROKEY $ 89 KEYWORKS $ 69 REMOTE $119 SMARTCOM II $109 SUPERKEY $ 55 Graphics/Statistics BPS BUSINESS GRAPHICS CHARTMASTEFt CHARTSTAR DIAGRAM MASTER EXECUVISION ENCRGRAPHICS GEM DRAW GRAPHWRITER COMBO INNOVISION MS CHART OVERHEAD EXPRESS PC DRAW PC PAINTBRUSH PC PAINT PFS: GRAPH SIGNMASTER STATGRAPHICS STATPAK-NWA STATPAC- WALONICK SYSTAT $229 $229 $169 $229 $259 $199 $ 89 $359 $329 $159 $109 $249 $ 89 $ 79 $ 95 $165 $595 $329 $349 $419 Multifunction Boards AST ADVANTAGE AST 6 PAK PLUS (64K) AST 6 PAK PLUS (384K) ORCHID BLOSSOM (OK) ORCHID BLOSSOM $389 $229 $269 $209 $269 RCHID PC TURBO $699 PERSYST TIME SPECTRUM (OK) $209 PERSYST TIME SPECTRUM $269 $229 $249 (384K) ORC Professional Development LIGHTYEAR $329 THINK TANK $119 Personal Finance DOLLARS AND SENSE $119 HOWARD TAX PREPARER 85 $195 MANAGING YOUR MONEY $119 Hardware* Accessories CURTIS SURGE PROTECTORS SC.ll DATASHIELD BACKUP POWER SC.ll GILTRONIX A/B SWITCH SCall MICROBUFFER INLINE (64K) SCll MICROFAZER INLINE (64K) $219 256K RAM SET $ 49 8087 MATH CHIP $139 (384K) OUADBOARD (OK) OUADBOARD (384K) TECMAR CAPTAIN (OK) $189 TECMAR CAPTAIN (364K) $229 TECMAR JR CAPTAIN (128K) $329 TECMAR JR WAVE (64K) $249 TECMAR WAVE (64K) $209 Display Boards EVEREX EDGE $319 EVEREX GRAPHICS EDGE $329 HERCULES GRAPHICS CARD $309 HERCULES COLOR CARD $159 PARADISE MODULAR GRAPHICS $275 PARADISE MULTIDISPLAY CARD $285 PERSYST BOB $389 PRINCETON SCAN DOUBLER $199 SIGMA COLOR 400 $529 STB CHAUFFER $279 STB GRAPHICS PLUS II $309 TECMAR GRAPHICS MASTER $459 TSENG ULTRA PAK $429 TSENG ULTRA PAK-S $369 Emulation Boards AST Sen CXI 3278/9 Plus $959 $799 IRMA IRMALINE $999 IRMAPRINT Scii Displays AMDEK 31 0A $169 PRINCETON HX-12 $459 PRINCETON MAX-12E $179 PRINCETON SR-12 $589 PRINCETON HX-12E $C*I PRINCETON HX-S SCII QUADRAM AMBERCHROME $179 TAXAN 122 AMBER $159 TAXAN 420/440 $399/599 ZENITH 124 AMBER $146 ZENITH 135 COLOR $CII Modems AST REACH 1200 $369 HAYES 1200 $389 HAYES 1200B $365 HAYES 2*00 $609 TRANSNET 1000 $299 VENTEL 1200 HALF CARD $369 WATSON $449 Mass Storage/Backup ALLOY MT25 TAPE (EXT) $895 CORE AT PLUS SCII IOMEGA BERNOULLI BOX-NEWI $2549 IRWIN 310A 10MB TAPE (EXT) $650 IRWIN 110D 10MB TAPE (INT) $549 SYSGEN IMAGE $850 TALLGARSS TG5025 $2845 TECMAR OIC-60H TAPE (EXT) $1499 TECMAR QIC-BOAT TAPE Networks AST PC NET CORVUS NET ORCHID PC NET 3COM Sen $CM SCall SCII (INT) Printers/Plotters DIABLO EPSON FX-85 EPSON FX-185 EPSON LQ-1500 HP 7475A PLOTTER JUKI 6300 JUKI 6100 NECP3 NEC 3550 OKIDATA OUME SPRINT 1155 TOSHIBA PI340 TOSHIBA P351 Input Devices KEYTRONIC 5151 KOALA MICROSOFT MOUSE PC MOUSE W PAINTBRUSH $1199 $129 Smartmodem 1200B $365 Smartmodem 2400 $609 •CALL FOR SHIPPING COSTS LOWEST PRICE GUARANTEE!! We will match current nationally advertised prices on most products. Call and compare. free Diskette Library Case with your order ^ TERMS: Checks— allow 14 days to clear Credit processing— add 3%. COD orders— cash, MO or certified check— add $5.00- Shipping and handling UPS surface— add $3.00 per item (UPS BlueS8.00 per item). NY State Residents— add applicable sales tax All prices subject to change. 1-S00-221-1260 In New York State call (718) 438-6057 ussm MON.-THURS. 9:00AM-8:00PM SUN. & FRI. 9:00AM-4:00PM Softline Corporation P.O. Box 729, Brooklyn, N.Y. 11230 TELEX: 421047 ATLNU I DECEMBER 1985 -BYTE 83 © 1985 ATiT Information Svstems ONLYA NETWORK THE CENTER OF YOUR EXPANDING A local area network. Sure it can integrate some of your stand-alone equipment. But what about the departmental systems you have? And what about next year? Will it be able to handle new applications that come along? Can it grow? Is it a long-term solution or just a quick fix? The Information Systems Network from AT&T is the data network that can meet your immediate and long-term needs. It's the only network open and flexible enough to integrate the equipment and systems you have now, and willingly accept what the future might bring. It's the data network that can expand with your business— grow from a local to a corporate-wide network. You can build a strong foundation Different systems— Incompatible hardware from differ- ent vendors— A few stand-alone pieces here and there— ISN can tie it all together. ISN's open architecture lets it act as the backbone data network that integrates your disparate systems and smaller networks. Its unique wiring system of twisted pair and fiber optics allows ISN to support the equipment you have now, and what ♦Ethernet is a registered trademark of Xerox Corp. **IBM is a registered trademark of International you'll buy later. You can easily and economically add and rearrange equipment. Plus, no matter how far apart devices are, with ISN, you still get maximum network performance. So once your backbone network is in place, the possibili- ties are endless. Grow upward, outward, backwards and sideways. With ISN, your options are always open. You can break the ties that bind you At the local level, ISN is a hierarchical star network with a fast-switching Packet Controller at the hub. The Packet Controller is linked to all devices in your network and man- ages all network communications. So ISN can set up communication links between all your equipment and systems. AT&TSystem 85 and AT&T System 75 PBXs, mini-computers and mainframes, isolated Ethernet* systems, AT&T STARLAN NETWORK and 3BNET, smart and dumb terminals , even equipment from IBM — ISN gets it all on speaking terms. Ail working even harder for you. ISN protects your 3270 investment. It lets your Bisync terminals access multiple IBM** hosts. Low-cost dumb terminals and personal computers can do the same. Syn- Business Machines Corp. "•"w**, fca^i ASYKHRMMM. HOST THIS OPEN AND FLEXIBLE CAN BE UNIVERSE. chronous and asynchronous traffic can travel through your network with the same speed and efficiency. With ISN, you're never locked into one vendor or one location. Since ISN uses the same technology for local and wide-area networking, its growth potential is limitless. Linking multiple Packet Controllers lets you start with one ISN and grow across a premises. Add another ISN and grow across the city, or across the country. There's nothing holding you back. You can handle it all No matter how large your network becomes, ISN still provides fast, reliable communications between all users. With a high backplane and fiber rate of 8.64 mbps, and a very efficient packet structure, ISN maintains a high throughput rate even when traffic is at its peak. Long messages or bursty transmissions— ISN's been engineered to handle it all. A unique centralized short bus and perfect scheduling access method permit messages to travel through the network almost instantaneously. And arrive with their integrity intact. Premises-wide or nationwide, ISN puts you in command. No matter how large your network gets, you choose the means of control— centralized or distributed. "Xbu've made the right connection AT&T has a long history of solving complicated network- ing problems with clear-cut, intelligent solutions. We make the pieces fit. We work with you every step of the way. Our professional sales and service people are trained to plan, design and main- tain a network that will meet your business needs. ISN reflects AT&T's better approach to office network- ing. To learn why it's the right choice for your business, call your AT&T Information Systems Account Executive, or 1800247-1212. AT&T The right choice. EVENT QUEUE December 1985 Data Processing Courses, Hartford. CT. The Hartford Graduate Center, 275 Wind- sor St., Hartford, CT 06120, (203) 548-2470. December The IBM PC Data Com- munications Survival Course, various sites throughout the U.S. Data- Tech Institute. Lakeview Plaza, POB 2429, Clifton, NJ 07015, (201) 478-5400. December Micro to Mainframe Seminars, Atlanta, GA. The MOM Corp., Two Northside 75, Atlanta, GA 30318. (800) 241-1 170; in Georgia, (404) 3 51-2902. December Testing Computer Soft- ware, various sites throughout the U.S. U.S. Professional Development Institute. 1620 Elton Rd.. Silver Spring, MD 20903, (301) 44 5-4400. December Office Automation Design & Management, various sites throughout the U.S. Thomas Wilds Associates Inc.. POB 1 1 120. Greenwich. CT 06830, (212) 986-2 515. December-March Second Annual Washington, DC. Eastern Simulation Symposium: What's New in Software, Crystal City. VA. The Soci- ety for Computer Simula- tion. POB 2228. La JoIIa. CA 92038, (714) 459-3888. December 3 Second Annual Bits & Bytes National Computer Show, Dallas. TX. Informa- tion Processing Group, Suite 305, 87 North Raymond Ave.. Pasadena, CA 91103, (818) 792-511 1. December 6-8 Computer Graphic Arts 85, New York. NY. Pratt Center for Computer Graphics in Design, 9 Skyline Dr., Hawthorne, NY 10532. December 8- 1 1 Fall Industrial Engineer- ing Conference: Inte- grating People and Tech- nology, Chicago, IL, ME Registrar, 2 5 Technology Park/Atlanta, Norcross, GA 30092, (404) 449-0460, December 8-1 1 Computer Career Conven- tion, Los Angeles, CA. Shomex Productions, Suite 310, 2601 Ocean Park Blvd., Santa Monica, CA 90402, (213) 450-8831, December 10-11 1985 Videodisc, Optical Disk, & CD-ROM Con- ference and Exposition, Philadelphia, PA, Meckler Publishing, 1 1 Ferry Lane W, Westport, CT 06880, (203) 226-6967. December 10-12 Hi Tech Update 85. Ottawa, Ontario, Canada, Conference Coll Inc., 1 138 Sherman Dr., Ottawa. On- tario K2C 2M4. Canada. December 11-12 DEXPO West 85: The Eighth National DEC- Compatible Exposition, Anaheim, CA, Expoconsul International Inc., 55 Princeton-Hightstown Rd., Princeton Junction, NI 08550, (609) 799-1661. December 11-13 1985 Winter Simulation Conference. San Francisco, CA. The Society for Com- puter Simulation, POB 1 7900, San Diego, CA 92117. December 11-13 Winter National Design Engineering Show and Conference, Anaheim. CA. Winter National Design Engineering Show, Cahners Exposition Group. 999 Sum- mer St., Stamford, CT 06905, (203) 964-8287. December 11-13 Data Communications and Networking for the IBM PC and Other Personal Computers, Denver. CO. Software Institute of America. 8 Windsor St., Andover, MA 01810. (617) 470-3880. December 12-13 First International Con- ference on Supercom- puting Systems, Tarpon Springs, FL. Supercomputing Conference. POB 639. Silver Spring, MD 20901, (301) 589-8142. December 16-20 Catalogs and brochures for up- coming courses and seminars are available from the follow- ing: Catalog of Personal Com- puter Courses, American Management Association, 135 West 50th St., New York, NY 10020. Center for Advanced Professional Education Seminars. Center for Ad- vanced Professional Educa- tion. Suite 110, 1820 East Garry St., Santa Ana. CA 92705, (714) 261-0240. Communications/Elec- tronics Short Courses. The George Washington University, School of Engineering and Applied Science, Washington, DC 20052, (800) 424-9773 (U.S.), (800) 53 5-4567 (Canada), or (202) 676-6106 (DC). Communications/Microcom- puter Curriculum, Datapro Educational Services, Datapro Research Corp., 1805 Underwood Blvd., Delran, NJ 0807 5. Computer Competence Seminars and Professional Development Seminars, Boston University Metropolitan College, 75 5 Commonwealth Ave., Boston, MA 02215. Course Calendars, In- tegrated Computer Systems, 6305 Arizona Place. POB 4 5405. Los Angeles. CA 9004 5, (213) 4 1 7-. IF YOU WANT your organization's public activities listed in BYTE's Event Queue, we need to know about them at least four months in advance. Send information about computer conferences, seminars, workshops, and courses to BYTE. Event Queue. POB 372. Hancock. NH 03449. Digital Consulting Associates Inc. Seminars. Software Institute of America Inc.. 8 Windsor St., Andover. MA 01810. Information Processing Series, QED Information Sciences Inc., QED Plaza, POB 181, Wellesely, MA 02181. Intensive Seminars for Professional Development, Worcester Polytechnic In- stitute, Office of Continuing Education, Higgins House, Worcester, MA 01609. (617) 793-5517. ■ 86 BYTE • DECEMBER 1985 The world's best selling monochrome graphics card for the IBM PC. There are more Hercules " Graphics Cards in more IBM* PCs, XTs and ATs than any other monochrome graphics card in the world. Over a quarter of a million demanding users around the world use a Hercules Graphics Card to improve the perfor- mance of their software. The Lotus* 1-2-3* Booster. Consider Lotus 1-2-3. Hercules gives an off-the-shelf copy of 1-2-3 the highest resolution possible on an IBM PC, XT or AT. More 1-2-3 users choose the Hercules Graphics Card to get crisper text and sharper graphics than any other monochrome graphics card. And we bring the same performance to other integrat- ed programs like Symphony™ Framework," and SuperCalc*3. But we don't stop there. The Hercules Graphics Card improves all kinds of software. Like Microsoft* Word, a word processor that enables you to display text with sub- scripts, superscripts and italics Or pfs : Graph, an easy-to- use business graphics program that converts your data into presentation quality graphs. Or Microsoft' Flight Simu- lator, the high flying game for the overworked executive. Or our own Graph X," a library of graphics sub- routines that eases graphics programming. Or AutoCAD ," a computer aided design program that offers features normally asso- ciated with expensive CAD systems. And we supply free soft- ware with each card to do hi-res graph- ics using the PC's BASIC interpreter. State-Of-The-Art Hardware. The Hercules Graphics Card gives you graphics res- olution of 720h x 348v and a parallel printer port. Our unique static RAM buffer pro- vides sharp 9 x 14 characters and flicker-free scrolling. Our exclusive safety features help prevent damage to your monitor. State-of-the-art custom IC technology delivers unsurpassed reli- ability. Ordinary graphics cards use up to 30 ICs to do what one Hercules IC does. By using fewer parts, we reduce the pos- sibility of component failure. Which is one reason we warranty the Hercules Graphics Card for two years. Unbeatable reliability. Advanced technology. Proven by over a quarter of a million users. Why settle for anything less than Hercules? Call 1-800-532-0600 Ext 408 for the name of a Hercules dealer nearest you and we'll rush you our free info kit. Hercules. We're strong on graphics. Address: 25B0 Ninth St., Berkeley, CA 94710 Ph: 415 540-6000 Telex: 754063. Trademarks/Owners: Hercules, Graph X/Hereules; 1-2-3, Symphony/Lotus; IBM, XT, AT/IBM; Framework/Ashton-Tate; SuperCalc/Sorcim-IUS; Microsoft/Microsoft; pfs:/Software Publ; AutoCAD/AutoDesk. Inquiry 165 DECEMBER 1985 -BYTE 87 Discover what 60,000 Discover the finest peripherals available in terms of features, reliability and price/performance. Corporations like IBM, General Motors and Exxon buy peripheral equipment from Qubie', and have for years. Check some of your old back issues of PC — we've been satisfying PC owners since 1 982. Discover low prices, with service and support unparalleled in the microcomputer industry. Our 30 day No Risk Guarantee and 48 Hour Turnaround on warranty repairs is proof our products are first rate. We stand behind what we sell. We also offer our exclusive Preferred Customer Plan with 24 hour repairs and 24 months of coverage. Discover money-saving prices that are the total prices. No small print telling you to add up for credit card charges or shipping and handling. Our prices include surface UPS charges and insurance. In a hurry? 2-day air UPS service is available. Then discover it takes more than a low price to keep customers satisfied. We answer your questions and concerns before and after you buy. The Staff of Qubie' HARD DISK SUBSYSTEMS PC20 (Internal) S599 PC20E (External) S749 With Spooling Tape Backup, Add $400 20 Megabyte Capacity • Boot From The Hard Disk -- No Software Patches Or Drivers To Install • Runs All The Popular Software-DOS 2.0 Or Later • Low Power Con- sumption • 5 1/4" Controller Card • High Reliability And Durability -- Specially Plated Drives • Faster Access Time NEW AT ENHANCEMENT KIT BT44 Hard Drive ft AT4X4Plus (51ZK) $1375 44 Megabyte Drive • Runs All The Popular AT Software • 28 msec. Access Time • Voice Coil Driven Heads with Closed Loop Servo Positioning • Full-Height Unit • No Extra Chips Needed Than XT -Changeable Interleave Value • Full- -Height and Half-Height Bezels • Includes Cables, 1 dir "Visual Shell" and Zy INDEX "Info Searcher" Software External Model (PC20E) Includes Case And Power Supply • Auxiliary Power Supply For Internal Model (PCPWR) Available 88 BYTE • DECEMBER 1985 PC owners now know. 300/1200 BAUD MODEMS PC212A/1200 (Internal) $179 212A/1200E (External) $199 Auto-Dial, Auto-Answer, Bell 103/212A Modems • Fully Hayes Compatible, Runs Crosstalk, Sidekick, Etc. • Internal Modem Includes External RS232-C Serial Port And PC-TALK III Software • External Has Eight Status Indicators Lamps NEW And Front Snap Hatch For Quick Switch Access • Both Include Instruction Manual And Modular Phone Cord • Shielded Cable For External Modems $19 (Specify Type) No Bisk Guarantee If you are not completely satisfied with your pur- chase you return it within 30 days of purchase for a complete refund, including the cost to send it back. If you can get any dealer or competitor to give you the same No Risk Guarantee, buy both and retun the one you don't like. AT MULTIFUNCTION CABD AT4X4Plns (1281) $265 AT4X4Plns (5121) $295 Memory Sockets For Adding Up To 4 Megabytes • 1 Standard and 3 Optional, Serial Communications Ports • Parallel Printer Port • Game Port Option PC MULTIFUNCTION CABD BT6Plus (641) $147.50 BT6Plns (384E) $197.50 Memory Sockets For Adding Up To 384K • Parallel Printer Port • Asynchronous Serial Communications Port • BTPak Software (Disk Emulation and Printer Spooling) • Battery- Powered Clock/Calendar • Optional Game Port • Includes Dual Mounting Bracket BGB & MONOCHROME MONITORS with Tilt/Swivel Base! RGB Color HR31-200 $399 RGB for EGA HR31-350 $499 Mono. Green HR39 $139 Mono. Amber HR134 $149 RGB Color Monitors Feature .31mm Dot Pitch And Large 14" Screen. HR3 1-200 Compatible With IBM Color Graphics Adapter (640x200) • HR3 1-350 Compatible With Enhanced Graphics Adapter (640x350) • Monochrome Monitors Have IBM Compatible 720x348 Resolution On 12" Diagonal Screen. For fastest delivery, send cashier's check, money order, or order by MasterCard/ Visa. Personal checks allow 18 days to clear. Company purchase orders accepted, call for prior authorization. California residents add 6% sales tax. Hours: M -F 8 am - 5 pm PTZ Sat 8 am - 12 pm PTZ VISA London (01) 223-4569 Paris (01) 321-5316 Sydney (02) 579-3322 Canada (403) 434-9444 Outside California 800-821-4479 Inside California 805-987-9741 QUBIE Department B 4809 Calle Alto Camarillo, California 93010 Inquiry 307 DECEMBER 1985 -BYTE 89 - • " i >t oe BUTE Features Ciarcias Circuit Cellar: Turnkey Bulletin-Board System by Steve Garcia 93 Programming Proiect: A SIMPL Compiler, Part I : The Basics by ionathan Amsterdam 106 Product Description: The Tandy 600 and the Tandy 3000 by G. Michael Vose 118 English Recognition by Roy E. Kimbrell 125 Scientific Applications Software by }ohn C. Nash 145 Programming Insight Virtual Fielding in Microsoft BASIC by C. R. ). Currie 155 Programming Insight Travesty with Database by Neil J. Rubenking 161 IN THE CIRCUIT CELLAR this month, Steve gives us a state-of-the-art bulletin- board system. This particular BBS is made up of his last two projects: the SB180 single-board computer (September and October) and the MOSART chip from Xecom (November). This month's article is both a tutorial on bulletin boards and a functional expansion for people who have built the SB 180. Incidentally, BYTE is setting up an SB180 bulletin-board system for internal use. This month lonathan Amsterdam begins his three-part series on the con- struction of a compiler for a high-level language. This first part deals with the basics of the compiler, including a description of SIMPL, his programming language. A visit to Fort Worth, Texas, gave BYTE's Mike Vose a chance to see two recent releases from Tandy. The Tandy 600 is a portable with the features users of the Model 100 and Tandy 200 most often requested: more memory, a disk drive, and an 80-column screen. The Tandy 3000 is an IBM PC AT clone that Tandy claims is faster, and it is priced as low as $2 599. English is hardly ever used to communicate with computers. This is unfor- tunate, because English can be very effective: it gives you a variety of ways to express compiler actions with a minimum of training and program interac- tion. In "English Recognition," Roy Kimbrell describes how you can apply understanding to an application. John Nash tells us to consider three things when trying to choose scientific applications software: the purpose of the package, the style in which it's presented, and its overall quality. He also provides a list of various sources of information to help us in our search. C. R. I. Currie describes a technique for handling files with record lengths that are more than a sector on Microsoft BASIC systems. If your system can automatically handle variable-length records of a size less than the system's maximum, you can use this technique. It works well on both 8-bit and 16-bit versions of Microsoft BASIC. "Travesty with Database" is the third travesty-generator program that we have had since November 1984 when we ran the original, "A Travesty Generator for Micros" by Hugh Kenner and Joseph O'Rourke. This new version, which the author has named Breakdown, is written in Turbo Pascal, and it improves performance and avoids rereading the input text by storing the frequency in- formation in a database. DECEMBER 1985 -BYTE 91 "NOW IN OUR 8TH V€flR" TH€ WORLD OF PC UPGRflD€S FR€€ 5 Mega Bytes Of software with the purchase of any PC. hard disk PC HRRD DISK :&. 10 Mbyte IS10 $495 PC HRRD DISK <& 20 Mbyte IS20 $545 PC HRRD DISK 30 Mbyte IS30 $895 TRNDV1000 MULTI-FUNC BOARD TMF-1 $255 CRSH RSSIST SP€€DS DISK ACCCSS $49.' 5 DIRC-CT RSSIST SIMPLIFIES DOS OP€RATIONS $49. 95 COMMAND ASSIST DOS MANUAL ON DISK $49.95 INT6RNRL TRP€ BRCKUP 10 Mbyte MT10 $385 RT HRRD DISK N00 20 Mbyte RT20 $545 PORTRBL€ TAP€ BACKUP 10 Mbyte MT10P $525 AT HARD DISK 33 Mbyte AT33 $750 INTERNAL TAP€ BACKUP 60 Mbyte MT60 $895 AT HARD DISK 70 Mbyte RT70 CALL ORD€R UN€ DCSKTOP TAP€ BACKUP W MT10C $575 MT60C $995 PC/AT HARD DISK 120 Mbyte ATI 20 $4,995 305-677-8333 VISA 1 MasterCard Micro Desi g n International Inc. 6566 University Boulevard, Winter Pork, florido 32792 (305) 677-8333 TeiSC 332559 MDII ORl UD 1 V6flR WARRANTY, 30 DRV MON6V BRCK GURRRNT66 ON RLL OUR PRODUCTS BYTE • DECEMBER 1985 Inquiry 235 CIARCIA'S CIRCUIT CELLAR TURNKEY BULLETIN-BOARD SYSTEM by Steve Ciarcia A functional cost-effective expansion for those who have built the SB 180 You might have noticed that the theme of this issue is computer con- ferencing. It is no mere coincidence that this month's Circuit Cellar proj- ect has something to do with communication. Since I have just finished presenting the SB180 single-board computer and a single-chip modem as separate projects, it is only natural to com- bine the two to produce something grander. The concept of electronic messaging and information exchange has been revolu- tionized by low-cost computers. Not too long ago, only expensive mainframes could function in such a capacity. Now, any com- puter with a disk drive and a modem can be configured to perform basic communica- tion functions. The most typical personal computer com- munication configuration is the electronic bulletin-board system (BBS). While 1 will ex- plain it in greater detail later, a BBS is de- signed to exchange messages, data, or pro- grams. It can be either public or private. While the quality of the information be- ing exchanged sometimes comes into ques- tion, bulletin boards serve a useful function that could not otherwise be performed without great expense. I like to think of them as a 24-hour answering service that says more than "Sorry, can I take a mes- sage?'' Callers with the proper access authority can receive private information left only for them, perform tasks within the computer system, and leave messages for specific third parties who will also call the BBS. Computer experimenters discovered the entertaining aspects of bulletin boards years ago. However, such versatile message-listing and information-retrieval systems have now assumed important business applications. For example, field service and sales person- nel away from the office now have a way to stay in contact. Or the workday customer- service line into the company can become a BBS after hours so that customers feel at- tended to on a full-time basis. The limiting factors in business use of bulletin boards, either public or private, have been price and start-up effort. While a minimally configured computer with BBS software and a modem can be assembled for about $2 500, you still have to gather the components and integrate the software. With few exceptions, the concept of a truly turnkey BBS has not emerged. Because {continued) Steve Ciarcia (pronounced "see-ARE-see-ah") is an electronics engineer and computer consultant with ex- perience in process control, digital design, nuclear in- strumentation, 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 DECEMBER 1985 -BYTE 93 CIRCUIT CELLAR most BBS software is generic rather than designed for a specific hardware configuration, you must port the BBS software and install the device drivers for your system's peripheral devices. The real definition of the words "port" and install'' is time. When the hard- ware configuration and the software operating system are explicitly known, it is much easier to build a turnkey BBS. This month, I'm combining the SB 1 80 single-board computer, pre- sented in the September and October issues, and Xecom's MOSART chip, described in last month's column. When combined with some fancy software, these two projects become a state-of-the-art turnkey BBS. The MOSART and associated com- ponents are mounted on a printed- circuit board that plugs into the SB180's I/O (input/output) expansion bus and is called a COMM180 expan- sion board. This MOSART-based BBS, unlike most others, can understand Touch-Tone inputs and give voice responses. Unlike the COMM180 BBS software (explained in detail later), which is specific to the SB180. my discussion and descriptions are intended to be somewhat generic. You may or may not decide to build the exact BBS I am outlining, but you will gain some benefit by understanding the salient points of BBS configurations. This par- ticular BBS requires a minimum of computer knowledge. To give you some real-time evalua- tion of its capabilities, I have installed a working SB180/COMM180 BBS in Connecticut that you can call for a demonstration. If you like this direct line to me and there aren't thousands of messages to answer, I will establish it as a continuing Circuit Cellar BBS where you can get past, present, and future project information. More on this later. Turnkey BBS The primary difference between an SB180/COMM180 system and any other lies in the unique combination of hardware and software being used. I intend this article both as a tutorial on bulletin boards and as a functional cost-effective expansion for those of you who have built the SB180. You may elect to not use the prepackaged bulletin-board software that I will describe and instead use software available in the public domain to set up a bulletin board. That is a viable option. However, the Term III/Z-MSG software is available preconfigured for the SB180/COMM180 combination and can be run out of the box. Essentially, this software is a turnkey electronic mail and file-transfer sys- tem. To use it, you merely place the disk into your SB180/COMM180 com- puter system, turn on the terminal, hook up a telephone line, and give it some electricity. You then make your decision as to what you want to use the bulletin board for. Naturally, you can personalize the system to a large extent if you want. Since the software is modular, adding or deleting modules will let you con- figure any desired functions. Before getting down to details, let me first discuss a few more features of the Cir- cuit Cellar SB180 turnkey bulletin- board system (TKBBS). TKBBS Features The features are grouped into four major areas: electronic mail, file trans- fer, voice response (not voice recog- nition), and DTMF (dual-tone, multiple- frequency) control. Electronic mail provides the capa- bility of leaving messages for other people. Messages, which usually con- sist of ASCII (American Standard Code for Information Interchange) characters, are made up of a sender's name, addressee's name, subject, and message text. Sending someone an electronic message is similar in prin- ciple to sending them a letter. File transfer is a technique for the transmission or reception of files and is usually referred to as downloading and uploading from the point of view of the TKBBS. The TKBBS will support file-transfer protocols like XMODEM, Kermit, CIS (CompuServe), and XON/ XOFF. Until now, it was highly im- probable that this wide selection of protocols would be available in one software package, but the TKBBS has them all. Finally, the voice-response feature of the Xecom 1203 MOSART internal LPC (linear predictive coding) speech synthesizer is available for your use as well as a wide variety of DTMF- decoding functions of the MOSART A Little History A short history lesson will help us ap- preciate what it takes to make a turn- key bulletin-board system. The TKBBS traces its roots back to the first com- puterized bulletin-board system. Al- though access to computers via tele- phone lines and modems has existed for 20 years or so, this had been done only for time-sharing mainframe com- puters and the military until personal computers appeared. Personal com- puters made their debut in the mid- dle 1970s, based on the Intel 8080 microprocessor and others. In 1977. Ward Christensen became interested in using a modem with his personal computer. He wrote an assembly-lan- guage program called MODEM, which allowed a microcomputer to send and receive characters via the modem and telephone line. This was during the time when modems usual- ly ran at 110 bits per second (bps), and a 300-bps modem was con- sidered fast. MODEM was a program intended to be operated by a person— nothing about it was automatic. It also incor- porated a protocol for transferring files. This protocol would send a file 128 bytes at a time. Because tele- phone lines are subject to transmis- sion errors, it ensured that each 128-byte block was received properly by the destination. If an error was detected in a 128-byte block, that block was retransmitted until the receiver detected no errors. MODEM was placed in the public domain, where it was eventually enhanced by other people, becoming MODEM7. To this day, the popularity and widespread acceptance of the file-transfer protocol embodied in the original MODEM can be traced to Christensen's placing the program in the public domain. And the prece- 94 BYTE • DECEMBER 1985 CIRCUIT CELLAR dent of placing communications soft- ware in the public domain has been followed to this day by many authors. Dave laffe. meanwhile, envisioned another use of his personal computer for communications. Instead of a situation where two people used MODEM on each computer, he pic- tured a scenario where an unattended computer could be accessed by a per- son using MODEM. When accessed, the unattended computer would let the caller access the CP/M operating system. Callers would be able to per- form all the functions supported by CP/M as though they were with the unattended computer, even though they could be anyplace in the world that had telephone lines. The result of his work in this area was an assembly- language program called BYE. After laffe wrote BYE, Christensen began work on yet another program, this one intended to function as a message system. Its purpose was to let callers accessing a computer using BYE leave messages for other callers or the owner of that computer. The resulting program was named CBBS. which stands for computer bulletin- board system. He saw it as the elec- tronic equivalent of the bulletin board in a supermarket or other public place. With these three programs, Chris- tensen and (affe invented the BBS. Another significant early develop- ment was a program called XMODEM by Keith Petersen, which let the unat- tended computer using BYE send and receive files using the protocol im- plemented in MODEM. This protocol is more widely known today as the XMODEM protocol, although it has been referred to as the Christensen protocol or MODEM protocol with equal validity. Today s Public Domain Bulletin boards have progressed con- siderably beyond those first imple- mentations. One of the significant changes has been the introduction of security to the bulletin-board soft- ware. In the first implementations of BYE, all the commands of CP/M were available to anyone calling the system. Thus, anyone could erase a file. This allowed unauthorized users to penetrate bulletin boards, and system integrity became an important issue. The first elements of security were added by introducing ZCPR1, an early forerunner of ZCPR3. Ultimately, many other sysop (system operator) and user functions were added. Among them, BBS software now keeps track of time, which prevents visitors from overstaying their welcome. This means that the system can limit a user's access to a length of time determined by the sysop. Early versions of BYE required ex- tensive programming knowledge and expertise in the inner workings of CP/M. It has evolved into a program that uses advanced software tech- niques but is much easier to set up. Although BYE remains somewhat complicated and could not be recom- mended for a novice user, it has been extensively enhanced and is an ex- cellent example of the powerful soft- ware available in the public domain. XMODEM also has been enhanced significantly, and it currently logs file- transfer activities and prevents certain types of system security com- promises. The concept of a message system first introduced by CBBS has been greatly improved. Modern message systems allow both private (can be read only by the sender and ad- dressee) and public (anyone can read) messages. Configuration information about the caller— like how many char- acters per line can be displayed, privileges while logged onto the sys- tem, and more— is recorded along with the name and password. Exten- sive menu structures can be created or changed without requiring recom- pilation or reassembly of the mes- sage-system program itself. Catego- ries of users can be defined separate- ly, with each category having different privileges when logged onto the system. Modems have also evolved signifi- cantly since 1977. The transmission rate has increased from 1 10/300 bps to 2400 bps, with the hardware cost remaining the same. Also, modems A significant change to bulletin-board software has been the introduction of security. are considerably more intelligent, with the ability to determine the stages of call progression and report them back to the computer or the user as well as dialing the desired telephone number. And last, but not least, have been the corresponding improvements in the software run by callers on their own computers when calling other computers running BYE and XMODEM. These programs take the place of the original MODEM. Cur- rently available programs, like MDM740 by Irv Hoff or MEX by Ron Fowler, possess advanced features like automatic redial until connection is established, printer buffering for slow printers, and much more. The programs mentioned in the preceding paragraphs are available for the price of a telephone call from many of the thousands of bulletin boards across North America. It is quite possible for SB180 owners to put together their own BBS using these programs, if they have the ap- propriate technical expertise. 1 did not use public-domain soft- ware in the SB 180 TKBBS because this is a "how to" article instead of a "what if" article. As such, 1 am under certain legal restrictions. My overriding determination is to provide a true turnkey system that supports the best features of the SB 180 and the MOSART and can be easily implemented by software novices like me. 1 don't have the time to delve into the inner workings of various communication packages and port them to my computer ("port" is the hackers' word for withdrawing from society while integrating a piece of copied software). There's a point in the evolution of bulletin boards where {continued) DECEMBER 1985 -BYTE 95 CIRCUIT CELLAR we simply want to take it out of the box and plug it in. ' Most of the public-domain BBS pro- grams are intended for generic com- puter systems and would not directly support the MOSART on the COMM180 (they will if you use a stand-alone modem plugged into the SB180's modem port). To use them. 1 would have to modify the original software and distribute the new rou- tines to the public through the Circuit Cellar. Support to this degree unfortunate- ly presents a legal problem. While we all think of public-domain software as free, that is not a license for it to be copied and distributed. Like the soft- ware I frequently supply with articles, authors often copyright their work but allow end users to make one copy of it for their "personal and noncom- mercial use." By modifying and dis- tributing thousands of copies of so- called public-domain software, I might overlook someone's copyright and find myself in a legal jam. +5V J5 POWER io/xf; 150ft 1/2W II 1 1 ^tnHVF ^tnO.I^F^TvO.I^F 1 l % j ' ;o.vf; ;o.i m f J2 HEADSET MIC (COUPLER) EARPHONE Figure 1: The schematic diagram of the Circuit Cellar COMM180 modem expansion board. 96 BYTE- DECEMBER CIRCUIT CELLAR Intelligent individuals with more than modest software knowledge should not be deterred from doing what I cannot. By all means, down- load CBBS or some other software and use it on the SB 180. Being CP/M- compatible, the SB180 should require virtually no modification if you imple- ment the BBS with a Hayes (or Hayes- compatible) modem. Unfortunately, for me the only preventive measure is original composition and absolute knowledge of the distribution license. For that reason, Term 111 and Z-MSG have been specifically adapted to sup- port the SB180/COMM180 BBS. What Is a BBS For? Public bulletin boards have generally specialized in certain areas. Examples are systems specializing in the upload- ing or downloading of public-domain software, systems for the private use of a computer club or user group, or even computerized dating! These are major divisions, with a wide spectrum of possibilities within each. A system specializing in the uploading and downloading of software may spe- cialize yet further and concentrate on programs written in the C language for 8-bit computer systems. Many magazines, including BYTE, use bulletin boards to deliver pro- grams detailed in articles. As long as you possess a modem, you can avoid the tedium of manually typing pro- gram listings. Magazines also use bulletin boards as a collection point for authors' submissions, lerry Poumelle mentions transmitting his column to BYTE via modem. The ad- vantage of not having to cope with the delays of the mail more than makes up for the cost of the tele- phone call. Even some radio stations have bulletin boards where listeners can leave song requests and other messages. Some public commercial bulletin boards have appeared. Often, com- puter stores configure an in-house microcomputer as a bulletin board, promoting products and services. Al- though commercial possibilities for bulletin boards exist, the single-user nature of most personal computers limits how many callers can be han- dled, and there are restrictions as to what the caller might do on the sys- tem once access is granted. An alternative to a public system is a private system with limited access. An example of this is an employee who uses a terminal or computer at home to work on a computer at the office. Another one is the after-hours messaging or order-entry system. With access limited to a relatively few suppliers and customers, communica- tion is maintained at all times. The SB180 TKBBS will operate in either a private or public mode. Legalities Private systems are likely to become popular due to the unfavorable legal atmosphere regarding bulletin boards. This has resulted from misuse of public bulletin-board systems by people known as "phreaks," "pirates," "worms," and "crackers." Phreaks defraud the telephone company of toll charges through a variety of schemes. Pirates use bulletin boards to exchange information on how to il- legally duplicate copyrighted soft- ware. Worms and crackers break into other computers to access confiden- tial files and destroy information. These activities have spurred many state legislatures and the U.S. Con- gress to pass a variety of laws aimed at restricting the activities of bulletin boards (an extensive discussion on this topic, complete with voluminous source data, is available on BIX under "BBS/other" and "tele.policy" con- ferences). Many of these laws make the per- son who operates the BBS responsi- ble for all activities that occur on the system. One result of this has been that not many systems are open to first-time callers. Many operators of bulletin boards now require that peo- ple register for access. This usually in- volves some sort of verification that the person is not operating with a phony name and that the person pro- vides a real address and telephone number. If a caller does perform some illegal activity, the sysop can refer ap- propriate law enforcement officials to that caller. Nearly all sysops have no intention of engaging in illegal ac- tivities, and these measures are their way of protecting themselves. You should bear these legalities in mind [continued) Photo 1: A prototype of the COMM180 expansion board, shown here populated with the MOSART communications chip and its supporting circuitry. DECEMBER 1985 'BYTE 97 CIRCUIT CELLAR if you intend to operate a public system. THE TKBBS The hardware of the TKBBS consists of the SB180 single-board computer; the COMM180 expansion board con- taining the MOSART; two disk drives capable of storing approximately 1600K bytes; and an enclosure, power supply, and necessary cables. The software of the TKBBS includes the Z- System (see the October Circuit Cellar). Also included are the two soft- ware packages that make up the core of the TKBBS: Term III and Z-MSG Because the hardware components and the Z-System were extensively discussed in previous Circuit Cellar ar- ticles, I will discuss them only briefly Photo 2: With the addition of a few chips and a connector, the COMM180 from photo 1 can also support an SCSI hard-disk interface. Photo 3: The COMM180 modem/SCSI board rides piggyback on the SB180 single-board computer, connecting via the SB180's expansion I/O connector. here so that the BBS software can be discussed in further detail. The SB180 The SB 180 is a single-board computer based on the Hitachi HD64180 micro- processor, which is upward-com- patible with Z80 software. The SB 180 contains 2 56K bytes of RAM (random- access read/write memory); two serial ports; an SMC 9266 floppy-disk- controller chip that handles 3/2-. 5 Vt-. and 8-inch drives (concurrently); an 8K-byte monitor in EPROM (erasable programmable read-only memory); a Centronics-compatible parallel printer port; and an I/O expansion bus. This all fits on a circuit card that measures 4 by 7/2 inches (the size of a 3 '/2-inch disk drive). I described the SB180 hardware extensively in the Sep- tember Circuit Cellar. COMM180 Expansion Card The COMM180 expansion card, shown in figure 1, consists of the MOSART and a few other com- ponents. The XE1203 MOSART chip, discussed in great detail in last month's Circuit Cellar, is a 300/ 1200-bps modem with DTMF-decod- ing and speech-synthesis capabilities. It is unique in that it incorporates all these functions into one small device, 2 square inches, designed to interface directly into the data bus of a micro- processor (see photo 1). The MOSART operates on + 5 and - 5 volts. The + 12 V supplied to the COMM180 board is reduced and con- verted to - 5 V through a 6.8-V Zener and an ICL7660 voltage-inverter IC (in- tegrated circuit). The COMM180 ex- pansion card has two audio jacks for audio in/audio out but also contains an LM386 amplifier chip that will drive an external speaker for call monitoring. Addressing for the MOSART is pre- decoded on the SB 180 board, and connections are made directly to the l/O-expansion-bus signals. Only a single 7423 is required to combine the various MOSART status outputs into a suitable interrupt to the micro- processor. The COMM180 is built on a 4- by 98 BYTE • DECEMBER 1985 CIRCUIT CELLAR 4-inch board that mounts directly over the SB180 and plugs into the I/O ex- pansion bus. Since the COMM180 is so simple and I had a lot of board space remaining. I decided to fill it up with yet another useful but presently undocumented expansion to the SBI80. The COMMI80 expansion board can optionally contain the necessary SCSI (small computer stan- dard interface) hardware interface to attach a hard disk to the SB180 (see photos 2 and 3). The hardware is there, and the software should be finished by the time you read this. It will be the subject of a future Circuit Cellar article. Z-System The Z-System is an advanced single- user operating system compatible with programs intended to run under CP/M 2.2. It was discussed in detail in the October Circuit Cellar. The version supplied with the TKBBS differs slight- ly from the standard Z-System in that the ZCPR3 portion has been recon- figured as a "secure" system. The other significant difference is that an Input/Output Package (IOP) ZCPR3 system segment done especially for the TKBBS is included. A secure configuration of ZCPR3 has some distinguishing character- istics. The major one is that the system no longer accepts what is known as the DU: form of changing the currently active disk drive and user area. This means that the caller cannot move from area to area in the system using commands like AO: and B3:. If a command of the DU: type is entered, it is simply ignored. In- stead, the Named Directory functions of ZCPR3 are used for this purpose for system security. DU: references, if enabled, allow the user to enter any area of the system. When configured so that named directories are the only way to change areas, the operator of the BBS can protect certain directories by defining them with passwords. Callers to the TKBBS will be able to freely enter areas that do not have passwords defined but will be unable to enter areas where a password is defined unless they know the password. In a public bulletin-board environment, security is mandatory. Files contain- ing user names and passwords, for ex- ample, cannot be accessible to every- one. In addition to the disabling of the DU: form, another characteristic of a secure ZCPR3 environment is the use of the wheel byte, again for system security. The wheel byte provides a convenient way of disabling danger- ous commands that callers to the sys- tem should not be allowed to use. Ex- amples of dangerous commands are erase a file (ERA), rename a file (REN), copy a file (CP), memory peek and poke (P and POKE), and SAVE. The convenient aspect of the wheel byte is that these commands can be activated if the wheel byte is set (non- zero). So, the sysop can make use of these commands by setting the wheel byte, yet when a caller is accessing the system, the TKBBS software will reset the wheel byte so that they cannot be used. The special IOP system segment performs many important system functions in the TKBBS, like sensing if a caller disconnects and placing the local console in parallel with the modem so that the actions of the caller can be observed locally. An- other important function of the TKBBS IOP is measuring the amount of time the current caller has been logged in. A caller exceeding the limit is disconnected. Term III Term III is similar in philosophy and structure to the ZCPR3 portion of the Z-System. This is not surprising because both Term III and ZCPR3 were written by Richard Conn. Term 111 is a collection of 23 programs that perform various communication func- tions, like file transfer or answering an incoming call. Term III uses many of the features of ZCPR3 in its opera- tions and will run only with ZCPR3. Like ZCPR3. Term III (T3 for short) works on a tools concept. The various programs and files are intended to be used together to create new programs and applications. The 23 programs Like ZCPR3, Term III works on a tools concept. are listed with a short description of each in the "Term III Programs" text box on page 100. It is important to note that T3 is a complete computer communications system intended to replace the functions of all the public- domain software mentioned previous- ly. For this reason, the TKBBS soft- ware uses only certain programs from the 23 available. The ones not used by TKBBS are used in other applica- tions, like on a caller's computer when calling a TKBBS. (However, there is no requirement that callers to a TKBBS use T3.) In operation, T3 relies heavily on the message buffers and two ZCPR3 programs. Alias and Menu. Alias is a ZCPR3 utility program that creates COM files (executable programs) that contain operating-system-level com- mands. Using Alias, we can create an invokable program that carries out a sequence of commands in a fashion similar to the CP/M Submit and MS- DOS Batch functions. The user gives a name to the program created by Alias, and these programs are also known as aliases. The advantage of aliases over the CP/M or MS-DOS equivalents is that once the alias is in- voked, it passes its embedded com- mand string directly into the ZCPR3 multiple command line buffer, where it remains resident in RAM until the entire sequence of commands is ex- ecuted. The CP/M and MS-DOS equiv- alents take their command strings, one command at a time, from a file. This difference means that an alias ex- ecutes much faster than Submit or Batch since it does not access the disk drives to find the next command. The Menu program is a ZCPR3 utili- ty that processes menus. The Menu program reads a file, presents a screen to the user as defined in that file, and uses the remainder of the in- [conlinued) DECEMBER 1985 -BYTE 99 CIRCUIT CELLAR Term III Programs Following is a list of the programs provided with the Term III communications system. Programs marked with an asterisk are used as part of the TKBBS software. The other programs are not required for TKBBS operation. Communication T3FILER: File transfer using XMODEM. MODEM7 Batch. Kermit. XON/XOFF, CIS (CompuServe), and Term protocols. T3 FLUSH: Used to gobble up un- needed characters from the modem. T3SEND: Sends ASCII text via the modem port. T3TERM: Emulates a terminal inter- faced to the modem port, with exten- sive data-capture and -transmission options. T3TERMB: Like T3TERM. but with some of the options stripped to allow for larger data buffers. T3TEST: A simple test program to check communications with the modem. Telephone Control T3ANSWER: Monitors the modem and answers the telephone when a call comes in. T3DIAL: Uses the dialing functions of the modem to initiate a call. T3HANGUP": Commands the modem to hang up the phone (go on hook). T31NIT*: Initializes the modem to the desired speed and default conditions. Access Control T3LOGIN*: Establishes the system en- vironment when the current caller logs on. T3LOGCK*: Checks the LOGIN.TXT file used by T3LOGIN for proper syntax and reports statistics. Command-File Processing T3DO: A command-file processor that allows unattended operation of the Term III system. T3VIEW: Records the user's interac- tions with a remote system. It is used in conjunction with T3MONRPT (described below) to create T3DO command files. T3MONRPT: Analyzes the records made with T3VIEW to assist the user in creating T3DO command files. Communications Server T3 SERVER*: Allows a second com- puter system to be controlled by a computer running T3MASTER. All resources of the second computer (disk files, peripherals, etc.) are made available. T3MASTER: Used as the controller of another computer executing T3SERVER. Can be suspended to run another program and then resumed with no effect on the corresponding T3SERVER. Editors EDCST: Communications set editor. EDTMC: Keyboard macro editor. EDTXD: Telephone directory editor. EDXLT: Translation table (for trans- mitted and received data) editor. Miscellaneous T3NOTE*: Logs system activity in the ACTIVITYTXT file. It is used to track the caller's activities and comments. T3INS: Similar to the ZCPR3 installa- tion utility Z3INS. It is used to install the Term III programs if any major changes are made to the system. formation in that file to process input by the user. The ZCPR3 message buffers are a way for programs to exchange infor- mation. Physically, the message buf- fer is an 80-byte reserved area of RAM that contains various ZCPR3 en- tities known as registers, the ZCPR3 IF command status, and the ZCPR3 error flag. T3 uses the error flag and registers extensively. Listing 1 is an ex- ample showing the use of an alias and the error flag with the T3 software. Note the use of the ZCPR3 IF com- mand, which determines if the T3ANSWER program terminated because a caller is present or because the sysop typed a Control-C locally. The T3ANSWER Program T3ANSWER has the function in the TKBBS software of waiting until a caller is present. The COMM180's MOSART is repeatedly sampled by T3ANSWER until the MOSART in- dicates that it is receiving a ring signal from the telephone line. At this point, T3ANSWER sends a command to the MOSART to answer the call (go off hook) and emit what is known as answertone to the telephone line. Answertone is a high-pitched tone in- tended to indicate to the calling party that they have reached a modem. T3ANSWER then continues sampling the status of the MOSART until the MOSART indicates it is receiving a carrier tone from a calling modem. If no carrier tone is detected after 20 seconds, T3ANSWER commands the MOSART to hang up (go on hook) and returns to checking for the ring signal. If a carrier tone is received within the 20 seconds, T3ANSWER terminates and sets the ZCPR3 error flag to the false (zero) state. A special enhancement to the TKBBS T3ANSWER makes use of the DTMF-decoding functions of the MOSART. During the 20-second time period that the MOSART is emitting answertone, if the DTMF digit "#" is received, T3ANSWER acts as though a carrier was received from a remote modem and terminates. In addition to resetting the ZCPR3 error flag, T3ANSWER places the 100 BYTE • DECEMBER 1985 CIRCUIT CELLAR value 01 into ZCPR3's register 4. Therefore, if you want to use the DTMF/voice response features of the MOSART. you can still use T3ANSWER and the TKBBS software for callers who have modems yet allow someone who does not have a modem to interact with the system. An example might be the sysop call- ing in from a pay telephone. Assum- ing he has written a program that lets him check the status of the TKBBS that takes its input as L7TMF digits and outputs audio using the voice- synthesis capability of the MOSART. he can call, enter the "#" digit during the answertone period, and invoke the program. His program can then in- form him of recent callers, read messages to him, or whatever else he may have programmed. A program to do something like this is not supplied with the TKBBS software, but this "escape code" or "hook" built into T3ANSWER allows a TKBBS to be much more than a bulletin board. (If anybody writes this program before 1 do. I'd like to see it.) Z-MSG Z-MSG is a message-handling system (see photo 4). As such, it is the elec- tronic mail portion of the TKBBS. Z-MSG uses advanced programming techniques like program overlays and totals about 78K bytes of files, in- dependent of the message storage and other accessories. The author of Z-MSG, Tim Gary, has optimized it for use with ZCPR3 and T3. transforming the TKBBS into a cohesive unit. Originally written in C source code. Z-MSG is supplied as executable pro- grams and overlay files. To allow the user a wide range of configuration flexibility, a program called ZMCON- FIG is supplied. ZMCONFIG lets the user select whether the BBS is to be public or private, set the special sysop name and password, specify file- names and locations of files used by Z-MSG. set the maximum number of messages allowed and their length, edit the eight user types regarding their privileges, and much more. Z-MSG features include large mes- sages (up to 100 lines or more), the ability to change the options of the system without requiring recompila- tion, multiple categories of users (callers), extensive editing functions for messages being entered, and selective searching of available messages for those of interest. One nice feature of Z-MSG is that help for the user is available throughout the system just by entering a question mark. Figure 2 illustrates a sample session with Z-MSG. It shows a caller logging onto Z-MSG. When somebody logs on, the message files are searched for any mail addressed to that caller. If a message is found, as shown, the caller is given the message number and the sender's name. Once the message is retrieved, Z-MSG asks the caller if a reply is to be made. A powerful function of Z-MSG is its use of the ZCPR3 environment to allow execution of other programs (.COM files) from within the message system. This function's implementa- tion lets the sysop add commands to {continued] Listing 1 : An alias called TKBBS.COM is used to put the turnkey bulletin- board system on line. Alias Contents Comments (not part of the file) 1: T3INIT2; Initialize the modem 2: REG 4 0; Flag T3ANSWER to not allow the DTMF "#" to be specially treated 3: T3ANSWER; Execute T3ANSWER 4: IF ERROR; If T3ANSWER did set the error flag. . . 5: ECHO LOCAL ABORT The sysop aborted T3ANSWER locally 6: ELSE; If T3ANSWER did not set the error flag. . . 7: DEV C CRTMODEM; We have a caller, put console and modem in parallel (handled in the IOP), and. . . 8: Z-MSG X; Execute Z-MSG 9; Fl Clean up IF status - . Co.trol-I to ikart, Coatral-S to passe. +++ Z-Ha§ Cm HI - Let-off. Ho r 1 optio.. C - Call Z uitk riMiit opt in CM - CM with Sysop (if availakle) C - C00I1YI uitk Cant eft in J - Jaaa to Z. as nwrt optioi. 1 *I- akarVrstars to ■— Use U -Mr Prattle Cktaes I - btor ar Create sou ■ I I LI- kelete/Irise specif ic A 0- Skip to Hart < - tick Scii - aessife Talcs eely 1 - laal hj aaator (tlaa + - eptiss) K1 - laal ar Saw* (vitk lelp tafe) ID - lap I) to specific asssajs asaaar - leii ill W (sisec list lapse) I - lain of MUCUS far viwias B;?- Baal eevane ar Sauck (*/fclp) I - UispU* WLLRII file B - laal Seeeeetiil Mar N - lain of Swtoa MTB far vieaies B;?- laal Saaaaatisl ar Saarck - liipliy atkar loci I BS Swton S - Saaaara list af Taste, late, rtc 1 - NBCnn af las istoral Users V.I - Saaaara ar Saarck toitk Help) (rrass UTUa. ts caatiaaaa] Photo 4: A sample screen from the Circuit Cellar's TKBBS. showing a command summary of the Z-MSG message-handling program. DECEMBER 1985 10 CIRCUIT CELLAR What's your name (or SYSTEM ID)? steve ciarcia [Checking for previous logon] Enter password? 1234 [Updating logs] Z-MSG Message-Handling System. Version 1.30xx You are caller 7996 (User #378). You've called 2 time(s), last one being on 07/10/85. There are 130 active messages. (26 are private) Your last read message was 2540. The current high message Is 2541. [Checking for your Mail] [You have Mail!] Number: From: 2541 David McCord [new] [private] (Enter '?' for help) Command: r Read message #(first= 1, Last = 2541)? 2541 Msg #2541 posted 07/10/85 by David McCord To: Steve Ciarcia About: SB180 (4 lines) Steve, I really like the SB180 I have. I especially like the built-in RAM disk. A very nice design! By the way, what's the power consumption at 5 volts? Dave [Reply to this msg (y/n)? ] [yes] To: David McCord Subject: SB180 [Is the subject ok (y/n)? ] [yes] (Private/Normal)? p Enter message text following each line number To edit or end, hit RETURN alone on a line. Up to 77 characters (letters/numbers) on a line and 100 lines maximum. 1: Dave, the power consumption of the SB180 is 500 mA at 5 volts and 2: 40 mA at 12 volts. Thanks for the compliments. 3: Sfeve Ciarcia 4: (A)bort, (C)ontinue, (D)elete, (E)dit, (l)nsert, (L)ist, (R)eplace, (S)ave, (U)pload .: Select ? s [Saving message #2542] [Kill Message you've just replied to (y/n)?] [yes] Msg #2541 posted 07/10/85 by David McCord To: Steve Ciarcia About: SB180 (4 lines) Confirm (y/n)? [yes] [Delete message #2541] : igure 2: A sample session with the electronic mail system Z-MSG. Z-MSG by editing a simple text file. No recompilation or reassembly is re- quired, a unique feature for any pro- gram, be it message system or what- ever. TKBBS Security As discussed previously, several files must be kept confidential in order to prevent compromising system securi- ty. The best way to keep them con- fidential is to store them in a disk drive/user area that has no directory name associated with it. Remember, the secure implementation of ZCPR3 accepts only directory names to change the active drive and user area. Therefore, if no name is defined for an area, it is impossible to enter that area. However, you may be asking yourself how the sysop can place files in these areas if they are impossible to enter. The answer is that the cur- rent set of directory names are changed easily by loading a different ZCPR3 Named Directory system seg- ment into RAM. Thus, the sysop, when using the system locally, can operate with a set of directory names that includes names for the secure areas. When the system is being used by a caller, a different set of directory names is in effect, which does not in- clude names for those areas. And the caller has no way of changing the ac- tive set of directory names. The PATH function of ZCPR3 is also different depending on who is using the system. Typically, executable pro- grams (.COM files) that callers can ex- ecute are stored on drive A, user area (A0:). Examples of this kind of pro- gram are Z-MSG and T3 HANGUP. So, the PATH for a caller is simply AO:, which means that the programs in A0: can be invoked from any other area of the system. However, sysops may have useful programs on the system that they do not want callers to be able to use. Examples of this kind of program are DU3 (disk utility) and the TKBBS.COM Alias discussed previous- ly. For the sysops convenience, the PATH can be set to A0:- >Al 5: when using the system locally. The PATH setting is independent of the named directories and can invoke programs BYTE • DECEMBER I985 CIRCUIT CELLAR in unnamed drive/user areas, if nec- essary. As another protection against com- promise of system security, files received by the TKBBS in an upload- ing function are subject to being renamed because some caller may at- tempt to upload a .COM file in order to compromise system security. If this is attempted, the TKBBS software automatically renames it an .OB) file to prevent it from executing. This pro- tection can be overridden if the wheel byte is set. Circuit Cellar BBS As mentioned earlier. I have set up a Circuit Cellar private-access BBS that uses the configuration outlined in this article. It can be reached 24 hours a day at (203) 871-1988. 1 intend to use it to supplement projects by providing part lists, program listings, project up- dates, and other useful information. I invite you to join. For the month of December, you can call and see a demonstration of the TKBBS and register for continued access. On lanuary 15, 1986. subse- quent access will be limited to those who have registered and received an ID by mail. To become a member after that date, send me a postcard or let- ter with your return address, and I will send you an ID and password for the system. You will retain access as long as the following code of ethics is maintained: 1. No distribution of copyrighted soft- ware or encouragement thereof. 2. No distribution of private access codes, credit card codes, or engaging in any other unlawful activities. 3. No obscene or offensive language permitted in open areas. 4. No X-rated activities or messages permitted in open areas. 5. Any user guilty of violating any of the published rules will be denied access. 6. Any attempt to tamper with the board, alter the system, or gain sysop access will result in deletion. 7. No use of abusive language or con- duct toward any other user in open areas. 8. Users will follow all posted system regulations. A warning note will be given to a user if they have done something that is not publicly posted but is against the wishes of the sysop. 9. This board is not funded by BYTE and is my private property. I have the right to deny the use of this system to anyone for any reason 1 deem fit. These rules are not intended to be restrictive. They are intended to make this system a pleasure to use by all responsible parties and prevent the abuses that have brought legal action against BBS sysops and users alike. Circuit Cellar readers are of all ages and both sexes, and I am concerned for their welfare. If we cannot control the activities of our own boards, numerous federal and state agencies will happily do it for us, and the last thing we need is government controls. Conclusion The SB 180 TKBBS hardware and soft- ware is an extremely powerful pack- age that makes the most of the capa- bilities of the Xecom 1203 MOSART and the Z-System operating system of the SB180. Perhaps the only significant limita- tion of the TKBBS lies in the amount of storage available as dictated by the current BIOS (basic input/output sys- tem). Although the system could be expanded to about 3.1 megabytes of storage by using four 96-tpi (tracks per inch) floppy-disk drives, it is not unusual for a public bulletin board to make use of hard disks in the 5- to 40-megabyte range. A tremendous amount of public-domain and free- ware-type software is available, which necessitates a large amount of stor- age capacity if your bulletin board is to carry a wide selection. Of course, this limitation will disappear when the hard-disk interface on the COMM180 board is operational. Circuit Cellar Feedback This month's feedback is on page 420. Next Month A multichannel 12-bit A/D converter for the BCC52. ■ Special thanks to Dave McCord. Rick Conn. and Tim Gary for their contributions to the TKBBS. The following items are available from The Micromint Inc. 2 5 Terrace Dr. Vernon, CT 06066 (800) 635-3355 for orders (203) 871-6170 for information The COMM180 expansion interface is a com- bination MOSART-based modem and SCSI hard-disk interface expansion board for the SB 180 computer. The modem section, which includes a DTMF encoder/decoder and LPC speech synthesizer, is designated as the COMM180-M. It comes with Term ill com- munication software and manual. The TKBBS consists of a COMM180-M and Z-MSG in- stalled on an SB180. The SCSI hard-disk-interface section is designated as the COMM180-S. It has a 50-pin SCSI bus header and is Zebec 1410/Adaptec ACB4000 controller- compatible. It comes with a BIOS upgrade on disk. The printed-circuit board for either version is completely socketed and can be upgraded to include both functions at any time. The combination modem/SCSI interface board is designated as the COMM180-M-S. Software is supplied on 5 !4-inch double-sided double- density SB180 format disks with manuals. Boards are available assembled and tested only. COMM180 MOSART modem with Term III COMM180-M. $350 COMMI80 SCSI interface with BIOS upgrade COMM180-S, $150 COMM180 MOSART modem and SCSI COMM180-M-S, $500 Z-MSG BBS software $100 Please include $5 for shipping and handling in the continental United States. $10 elsewhere. Connecticut residents please in- clude 7.5 percent sales tax. Editor's Note: Steve often refers to previous Circuit Cellar articles. Most of these past ar- ticles are available in book form from BYTE Books, McGraw-Hill Book Company. POB 400. Hightstown. N| 082 50. Ciarcids Circuit Cellar. Volume 1 covers articles in BYTE from September 1977 through November 1978. Volume II covers December 1978 through lune 1980. Volume III covers luly 1980 through December 1981. Volume IV covers lanuary 1982 through lune 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. DECEMBER 1985 -BYTE 103 Filling your needs m Today's PC buyer is no pushover. Not only are low prices and prompt delivery demanded, but professional support, sound advice and innovative servicing of accounts is expected. It's no coincidence then that PC buyers all across the nation call PROGRESSIVE MICRO DISTRIBUTORS first. Here's why. LOW COST, HIGH TECH SOLUTIONS. PROGRESSIVE MICRO DISTRIBUTORS has the best prices on popular IBM PC hardware and software in the country (call and compare). Most orders are shipped the same or next day from our 25,000 sq. ft. warehouse. Although we ship literally hundreds of orders daily, all PC's are burned in overnight to insure that your system arrives in excellent condition. We believe it takes a professional to provide professional service. That's why all sales and service staff members, from our factory authorized technical experts to our highly experienced account representatives, are rigorously trained on all current and new hardware and software. And if the need ever arises, direct access to our on-line customer service and technical support centers is available and convenient to use. HOW TO KEEP UP WITH PROGRESSIVE. As a PROGRESSIVE MICRO DISTRIBUTORS' customer, you'll also be privy to new product information and special money saving incentives through the Microgram, 1 " our monthly customer newsservice. You'll also receive monthly price lists showing current pricing on our complete line of hardware, software and services. Lists are shipped automatically with all system orders and are available on disk when requested. Plus, FREE UPS shipping is guaranteed on all prepaid orders with confirmation of current pricing. Call PROGRESSIVE MICRO DISTRIBUTORS today, TOLL FREE at 1-800-446-7998, and we'll mail a current price list to you immediately. And remember, only PROGRESSIVE MICRO DISTRIBUTORS gives you all of these benefits: low prices, sound advice, prompt delivery, professional support and direct customer service. POLICIES 1. We accept VISA, MC, AMEX; No surcharge for VISA or MO 2. COD requires cash or certified check; Company check when approved. 3. Allow 1 week for personal and company checks to clear. 4. Wiring information available upon request. 5. Corporate, Government and Institutional volume purchase agreements available. 6. Call for exact shipping charges; air shipments take priority. 7. If we must split shipment, you incur no additional shipping charges. 8. All orders shipped insured — No additional charge. 9. All products fully waranteed; Some up to 5 years. 10. All items subject to availability; Prices subject to change without notice. FOR ORDERS 1-800-446-7995 CUSTOMER SERVICE ORDERING INFORMATION 1-404-446-7995 TECH ASSISTANCE 1 -404-446-7996 1 -404-446-7997 HRS: 9AM-9PM EST. SAT. 12N-5PM EST. .01985 ATSPT Information Systems. IBM is a registered trademark of the International Business Machines Corp. 104 BYTE • DECEMBER 1985 akes us Progressive. PC systems AT&T PC 6300 640K, 2 drives, monochrome monitor/adapter, DOS/BASIC 91998 640K, 2 drives, color monitor/adapter, DOS/BASIC 99499 640K, 1 drive, 10MB hard disk, DOS/BASIC 98896 AT&T PC 6300 PLUS 25% faster than IBM's AT CALL FOR 1ISI PRICE. IBM PC 256K, 2 drives, monochrome/printer adapter & monitor $1196 256K, 2 drives, color/graphics adapter & monitor $1498 256K, 2 drives, 10MB Internal hard disk 8S596 IBM PC XT 2S6K, 2 drives, monochrome/printer adapter & monitor 69996 256K, 2 drives, color/graphics adapter 5? monitor $1698 2B6K, 2 drives, 10MB internal hard disk 89598 2S6K, 2 drives, 20MB internal hard disk $8898 IBM PC COMPATIBLE 256K, 2 drives, 8 slots, 135w power supply $WS 256K, 1 drive, 10MB, 8 slots, 135w power supply $1895 SANYO MBC 888-8 MS/DOS W/128K, 2 drives, color monitor $999 These systems are brand new, shipped fully tested and burned in, fully warranteed for ninety days AND ARE ALWAYS IN STOCK! All system orders include our PC Utilities Package at no extra charge! PRINTERS EPSON FX-85 ( 160 cps narrow carriage NLQ dot matrix) $569 FX-185 (160 cps wide carriage NLQ dot matrix). . . $609 LX-80 ( 100 cps narrow carriage NLQ dot matrix) $149 JX-80 ( 160 cps narrow carriage color dot matrix) $886 LQ-1500 (LQ dot matrix w/parallel Interface) $999 DX-10, 20, 35 (new EPSON daisywheels) . . 0» SPECIAL! OKIDATA ML 192 ( 160 cps narrow carriage dot matrix) .... $399 ML 193 ( 160 cps wide carriage dot matrix) $889 PACEMABK 2410 (350 cps wide carriage dotmatrix) $1998 CANON LBP-8A1 (8 ppm, better than HP) $1198 PW-1080A ( 160 cps dot matrix) $389 PJ-1080A (32 cps color printer) $349 TOSHIBA P-351 ( 192 cps wide carriage LQ dot matrix) $1098 P- 1340 (120 cps narrow carriage LQ dot matrix) . . $898 TEXAS INSTRUMENTS TI-855 ( 150 cps narrow carriage LQ dot matrix) CALL BROTHER HE,- 15+ (17 cps narrow carriage letter quality) . . $898 HR-25 (23 cps wide carriage letter quality) $880 HR-35 (32 cps wide carriage letter quality) $798 M-1509 (180 cps, wide carriage NLQ, SSfP Dot Matrix) CALL C. ITOH Starwriter (40 cps letter quality) $898 Printmaster ( 55 cps letter quality) $1198 NEC Pmwriter P-2 If P-3 CALL Spinwriter 2050, 3550. 8850 GALL Ask about our full line of tractors and cut sheet feeders! PLOTTERS We carry all HOUSTON INSTRUMENTS and HEWLETT- PACKARD plotters FLOPPY DISK DRIVES HALF-HEIGHT 360K (PC/XT/AT compatible) $119 HALF-HEIGHT 1.2MB (PC/XT/AT compatible) $139 MISC. HARDWARE POLAROID Palette (Makes color slides from your PC's screen) $1898 ORCHID PC Turbo (adds 8 MHz processor, multitasking to PC) fron>»649 KEYTRONIC KB 5151 fiT 5153 keyboards CALL MOUSE SYSTEMS Optical PC MOUSE w/PATNT $188 MICROSOFT Serial or Bus mouse w/Mouse Menu $139 GIS Power Back-ups (SPS' and UPS') CALL QUADRAM Microfazer Printer Buffer tram $138 CURTIS System accessories CALL Inquiry 297 HARD DISK DRIVES MODEMS AT 105MB. train $489 ... $398 AT 140MB. AT 190MB. $8998 $3393 $4398 Internal PC/XT 10MB AT 20MB .... pc/xt 2omb $S4B External AT 30MB $393 PC/XT 10MB $899 PC/XT 30MB $993 PC/XT 20MB $948 AT8SMB $1993 380MB $9998 We proudly offer what we think are the best price/performance hard disk and streaming tape sub-systems available. We will gladly test and format any hard disk we sell at a nominal charge. Our line includes: ALLOY, BERNOULLI TECHNOLOGY, CIPHER DATA, DMA, EMERALD SYSTEMS, EPSON, GENOA, IRWIN, MAXTOR, PEACHTREE TECHNOLOGIES, QUADRAM, RODIME, SYSGEN, TALLGRASS and WANGTEK MULTIFUNCTION ROARDS We carry the finest quality multifunction boards at prices too low to mention. We are factory authorized centers for the top names in the industry. Our volume buying allows us to set the most competitive prices anywhere. Call us for the lowest prices a full service distributor can give you. CHIPS 128K (AT RAM) $98 256K(JrSf AT boards) $38 64K (nine chips) $10 8087 (coprocessor). . $119 80287 (coprocessor) $199 CALL FOR QUANTITY DISCOUNTS GRAPHICS CARDS We carry a variety of display adapters. So, call us if you don't see the one you want or need help choosing. AT&T Enhance Display Adapter Cruris 640x400 w/a palette of 16,000 colors on ATfiPT's Hi Res color monitor . . . CALL HERCTJItES Graphics Card (Lotus compatible monochrome graphics ) $899 Color Graphics Card (Short-slot color card w/par) $179 PARADISE Modular Graphics Card £** Multi-Display Card from $199 TECMAJR Graphics Master (640x400 16 colors and monographics) $469 FERSYST BoB Board (clear text on a color monitor) $489 TSENG LABS UltraPAK ( 132 col. mono graphics, ser, par, C/C). . . $489 MONITORS AMDEK 300G & 300A (Green or Amber, composite video monitors) $1I9/$139 310A (Amber TTL input, non-glare tube) $169 COLOR 600 ( 1 3" 640x240 RGB w/text button, audio ) $418 COLOR 700 (13" 720x480 RGB w/.31mm dot) 9478 COLOR 710 (13" 720x480 RGB, non-glare,/flioker) $878 PRINCETON GRAPHICS PGS MAX- 12 (Amber TTL input, non-glare tube) . . $189 PGS HX-12 (690x480 RGB w/.31mm dot) $449 PGS SR- 12 (690x480 non-interlaced RGB W/.31 dot) $399 QUADRAM Amberchrome (Amber TTL monochrome) $149 Quadchrome (690x480, ,31mm dot pitch) 9439 Quadchrome II (same as IBM Color Monitor) $889 TAXAN RGBvislon 420, 420L, 425 Sf 440 CALL We carry WYSE and KTMTROM terminals, call for prices. PROTOCOL CONVERSION We carry all AST and DCA products, call for prices HAYES Hayes 1200 (external 300/1200, auto answer/dial) . . $419 Hayes 1200B (internal 300/1200, w/Smartcom II ) . . $379 Hayes 2400 (New external 2400 baud modem) $978 DCA New Fastlink 10KB modem from $1896 ANCHOR AUTOMATION Signalman Mark XII ( 1200 baud at 300 baud price) $889 We also carry modems by AST RESEARCH, BIZCOMP, PENRLL, QUADRAM, RIXON. VENTEL — please call for current pricing. NETWORKING We carry all the best names including 3COM, AST RESEARCH, FOX, IBM, and ORCHID TECHNOLOGIES. Call our Networking Applications experts to design a cost- effective device-sharing networked layout for your office! Regional ON-SITE installation and training available. C.A.D. We sell and support the finest computer aided drafting/ design packages available. Regional ON-SITE installation and training available. DISKETTES VERBATIM 10/S24 100/$199 Double sided/Double density: . . , . 10,889 100/9849 DYSAJSf Double sided/Double density: . . . . . 10/$89 100/9849 10/S89 100/9949 MAXELL 10/SS9 100/9949 PHD Double sided/Double density .... 10/818 100/9189 SOFTWARE LOTUSSymphony 9449 MICROSOFT Excel CALL ASHTONTATE Framework II 9399 ENABLE by Software Group CALL PFS Write, File, Graph, Report from $79 SSI WordPerfect $939 MULTIMATE, Multimate ADVANTAGE, JUST Write. . CALL MICROSOFT Word 4.0 9939 LTFETREE Volkswriter Deluxe w/Textmerge $199 LOTUS 1-2-3 $309 ASHTONTATE dBase HI 9899 MICR0RIM5000 $389 MICROSTUF Crosstalk XVI $109 PERSOFT SmarTerm 100, 125, 400 CALL RELAY CALL DOW JONES All products CALL SORCIM/IUS Complete accounting modules from $389 BPI ACCOUNTING Complete accounting modules . . . CALL OPEN SYSTEMS Accounting CALL SYSTEMS PLUS Books! accounting system CALL MECA/TOBIAS Managing Your Money $189 MONOGRAM Dollars and Sense 9119 DECISION RESOURCES Signmaster/ Chartmaster $179/9849 ZSOFT PC Paint Brush $98 HARVARD Harvard Project Manager CALL MICROSOFTProject CALL CLIPPER dBase compiler by Nantucket CALL BORLAND Turbo Pascal & Toolbox 99. $39 MICROSOFT All products CALL DIGITAL RESEARCH All products CALL BORLAND All products tram $39 SOFTSTYLE Printworks printer utilities $33 NORTONUUlities $99 QUAID Copywrite, Disk Explorer 6? Zero Disk CALL CENTRAL POINT Copy II PC copies protectedsoftware $33 FASTBACK by 5th Generation $113 AHTraining $88 PROGRESSIVE MICRO DISTRIBUTORS 3039 Amwiler Road, Atlanta, Georgia30360 DECEMBER 1985 -BYTE 105 106 B YTE • DECEMBER 1985 ILLUSTRATED BY ROB COLVIN PROGRAMMING PROJECT A SIMPL COMPILER PART 1 : THE BASICS by Jonathan Amsterdam Aw implementation of a compiler for a simple structured language In this article— the first of a three-part series on the construction of a compiler for a high-level language— 1 will discuss the basics of the com- piler. Next month 1 will talk about procedures and functions, and in the third part of the series 1 will describe some of the compiler's extensions. Three of my earlier Programming Projects are prerequisites for this one. "Context-Free Parsing of Arithmetic Expressions" (August, page 138) explains the parsing technique I will be using. "Building a Computer in Soft- ware" (October, page 112) describes VM2. the virtual machine for which my compiler is targeted. And "A VM2 Assembler" (Nov- ember, page 112) details the assembly-lan- guage code that the compiler will generate. The SIMPL Programming Language I will be describing a compiler for a lan- guage of my own design, called SIMPL. SIMPL, which stands for "SIMPL Isn't Much of a Programming Language," isn't much of a programming language. SIMPLs grammar is given in figure 1. There are a few points that are not described by the grammar. An identifier is any string of letters and numbers beginning with a letter. Unlike most implementations of Pascal, SIMPL is case-sensitive, so the identifiers READ and Read mean different things. SIMPL key- words, like PROGRAM and BEGIN, are capitalized. Comments in SIMPL are delimited by braces ({ }). As in Pascal, character constants are delimited by single quotes, but SIMPL also allows the backslash character ( \ ) to act as an escape. When followed by an n or a t, the backslash denotes a new line (carriage return) or tab; when followed by any other character, it denotes that character. For example, the character constant for the single quote looks like ' \ '. SIMPLs WHILE and IF statements, like those of Modula-2, are explicitly terminated by an END. The AND operator has the same precedence as OR, and both have weaker precedences than those of all other operators, so it is unnecessary to put paren- theses around expressions connected by AND and OR. Furthermore, expressions surrounding an AND or OR will be evaluated from left to right, and no more than necessary will be evaluated. For exam- ple, in the expression TRUE AND FALSE AND TRUE, the first TRUE will be evaluated and then the FALSE will be (continued) Jonathan Amsterdam is a graduate student at the Massachusetts \nstitute of Technology Artificial \n- telligence laboratory. He can be reached at 1643 Cambridge St. #34, Cambridge. MA 02138. DECEMBER 1985 'BYTE 107 PROGRAMMING PROJECT evaluated; at that point, evaluation of the second TRUE will be skipped because the value of the whole ex- pression must be FALSE. SIMPL has procedures and func- tions much like those of Pascal, but rather than assigning a value to the name of the function, a value is returned from a SIMPL function using the RETURN statement. A RETURN without an expression can be used to exit from a procedure. It cannot be used in the main program. SIMPL has two built-in procedures. READ and WRITE. These procedures can only read or write integers or characters and only from the key- board or screen. Both take any number of arguments. The arguments to READ must be variables; those to WRITE can be any expression. SIMPL supports variables of types INTEGER, BOOLEAN, and CHAR. It has five kinds of statements: WHILE. IF, RETURN, assignment, and pro- cedure call. SIMPL has no FOR loops, strings, case statements, arrays, con- stants, reals, type declarations, records, sets, repeat loops, GOTOs, labels, files, scalar types. VAR parameters, pointers, or math functions. Indeed. SIMPL lives up to its name. Still, even for this language, writing a compiler is not easy. The compiler consists of 12 modules and is over 3000 lines long. The source code, written in Modula-2, is available on BYTEnet Listings at (617) 861-9764. What Is a Compiler? A compiler is a program that trans- lates other programs from one form to another. The compiler's input is a source file, which is a sequence of characters that constitutes the human-readable text of the program. Some compilers translate this direct- ly into object code, which can be loaded and executed by the machine. Other compilers produce as output another text file containing an assem- bly-language version of the program. This text file must then be translated into object code by an assembler. Although going directly from source code to object code saves a step in the translation process, my compiler takes the second approach for two reasons. First, producing an assembly- language version of the program makes it easier to write the compiler because I don't have to worry about bookkeeping details (like forward ref- erences of labels) that the assembler program vars :: = varlist :: ■■ decl :: = idlist :: = type :: = block :: = stmts : : = stmt :: = while :: = if ::= IF elsif :: = else :: = assign :: exprlist : expr:: = relexpr : intexpr : term :: = factor :: i relation : PROGRAM id; vars routines block . empty | VAR varlist = decl | decl varlist idlist : type ; id | id , idlist INTEGER | BOOLEAN I CHAR = BEGIN stmts END = empty | stmt ; stmts while ! if I return | assign | call . WHILE expr DO stmts END elsif END expr THEN stmts else empty | ELSIF elsif | ELSE stmts = id := expr : = expr | expr , exprlist expr | relexpr | relexpr OR expr | relexpr AND expr : = intexpr | intexpr relation intexpr = term | term + intexpr j term— intexpr factor | factor • term | factor / term = id | number | funcall [ char |— factor | NOT factor | ( expr := > | < | = | <> | >= I < = Figure I: The SIMPL grammar used by the parser. can handle. Second, 1 can examine and change the human-readable as- sembly-language file. This can be useful for debugging the compiler and hand-optimizing its output. Readers of "A VM2 Assembler" will recall that an assembler is also a pro- gram translator. But whereas assem- bly is relatively easy, compilation is considerably more difficult. There are two reasons for this, the first of which is fairly clear: Assembly-language pro- grams correspond line for line with the object code that has to be generated, but high-level-language programs, by definition, do not. A standard computer instruction set does not provide WHILE loops. IF. . . THEN. . .ELSE statements, evalua- tion of arithmetic expressions, etc. Furthermore, at the machine level a variable is simply a memory location, but a high-level-language variable is something else. For one thing, it has a particular type associated with it, as well as a scope, or range of visibility (a topic I'll be discussing at length in part 2 of this series). If you compare the program in listing 1 with the one in listing 2, you'll get a sense of how different high-level language and as- sembly language are from each other. Compilation is difficult for another reason as well: Users of high-level lan- guages would like the object code produced by the compiler to be just as short and run just as fast as hand- coded assembly-language programs. So compiler writers strive to improve the compiler's generated code. For example, it is a good idea to keep fre- quently used values in the registers of the computer because they can be ac- cessed faster than memory locations; therefore, compiler writers have devel- oped algorithms for optimizing reg- ister usage. Also, most computers have "special case" instructions that can speed up certain common opera- tions (such as incrementing a number), and a good compiler will use these instructions where appro- priate. While writing my compiler, 1 did have to deal with translating high-level SIMPL statements into low-level VM2 instructions, but 1 could avoid some 108 BYTE • DECEMBER 1985 PROGRAMMING PROJECT Listing 1: A program written in SIMPL that calculates the greatest common divisor of two integers. using Euclid's algorithm. PROGRAM Euclid; VAR m, n.temp, nINTEGER; BEGIN WRITE('?'); { Prompt user for two integers } READ(n); WRITEC?'); READ(m); IF n < m THEN { Make sure n is the larger of the two } temp : = n; n := m; m : = temp; END; r : = n - m*(n/m) { r : = n MOD m } WHILE r > DO n : = m; m : = r; r := n - m*(n/m); { r : = n MOD m } END; WRITE(m); { m is the GCD— output it } END of the complexities of generating good code because I was compiling for VM2. a machine I designed to make it easy to compile high-level lan- guages. For example. 1 didn't have to worry about register allocation because VM2 doesn't have any reg- isters (except for some special- purpose ones with which the com- piler needn't be concerned). This simplification was behind my decision to make VM2 a stack machine. Also. VM2's instruction set is simple and provides no special-case instructions, so I don't have to worry about using them. A compiler's job can be divided into at least four phases: lexical analysis, parsing, type checking, and code gen- eration. Lexical Analysis The compiler's first task is to translate the stream of characters that con- stitute the input into a more agreeable form. The lexical analyzer transforms the character stream into a stream of tokens, or lexical items that are mean- ingful to the compiler. What counts as meaningful depends on the program, of course. My lexical analyzer for SIMPL has many different types (or classes) of tokens, including IDENTIFIER for vari- ables, INT for integers, and a different class for each keyword. For example, the lexical analyzer will consume from the input the five characters W, H, I, L, and E, when they occur con- secutively and are delimited on both sides by white space (spaces, tabs, or carriage returns), and will then return a token of class WHILE. If the lexical analyzer sees the characters 3, 4, and 5 occurring consecutively, it will con- vert them into an integer. 345, and return a token of class INT, which also contains the number 345. The lexical analyzer's design is similar to that of the VM2 assembler's lexical analyzer. Where the lexical analyzer of the assembler allowed you to "unget" the last character that was taken from the input, the SIMPL lexical analyzer allows you to unget a token— that is. to arrange matters so that the next call to the lexical analyzer will return the same token. Parsing SIMPL programs are more than just lists of tokens. They have a complex structure, as reflected by the grammar shown in figure 1. A WHILE loop, for example, consists of a Boolean test and a group of statements; an assign- ment statement has a variable on the [continued] Listing 2: VM2 assembly- language code produced by the SIMPL compil er upon compilation of the program in listing 1. BRANCH Euclid m: n: temp: r: Euclid: PUSHC '? WRCHAR RDINT POPC n PUSHC '? WRCHAR RDINT POPC m PUSH n PUSH m LESS BREQL L1 PUSH n POPC temp PUSH m POPC n PUSH temp POPC m L1: PUSH n PUSH m PUSH n PUSH m DIV MUL SUB POPC r L2: PUSH r PUSHC GREATER BREQL L3 PUSH m POPC n PUSH r POPC m PUSH n PUSH m PUSH n PUSH m DIV MUL SUB POPC r BRANCH L2 L3: PUSH m WRINT HALT DECEMBER I985 -BYTE 109 PROGRAMMING PROJECT left side and an expression on the right; and so on. It is the parser's job to impose structure on the token stream. In my compiler, the parser will actually construct a parse tree— a data structure that reflects the structure of the program. A typical parse tree is shown in figure 2. Readers of "Context-Free Parsing of Arithmetic Expressions" will recall that 1 built a parse tree from an ex- pression by writing a procedure for each rule of the grammar and by hav- ing the procedure consume just as much of the input as was necessary to parse its particular rule. I'll use the same technique, called top-down or recursive-descent parsing, for my compiler. Type Checking Every variable and function in SIMPL has a particular type— integer, charac- ter, or Boolean— and the use of these types is governed by several rules. For example, you can only add integers, you can only compare two expres- sions of the same type for equality and the types of the arguments to a procedure and the procedure's formal parameters must be identical. Pascal programmers should be familiar with these rules. The compiler enforces them by checking each expression as it is parsed to make sure it conforms. Since variables, procedures, and func- tions must be declared before they are used, the compiler always knows the types of the variables involved in the expressions. Code Generation In the fourth phase of compilation, the compiler translates the parse tree into the actual assembly-language code. As 1 mentioned, this process can be very involved, but for my com- piler it is fairly straightforward. Some compilers have additional phases. Often, an optimization phase occurs either just before or just after code generation. In this phase, trans- formations are made to either the parse tree or the assembly-language code to make the generated code more efficient. Intermediate Representation As I've described it, the SIMPL com- piler constructs a parse tree from the input and then generates code from the tree. Why not skip the parse tree altogether and have the parser call the code generator directly? This is certainly possible and has the advan- tage of speed— constructing the parse tree takes some time. But 1 think it's a good idea to have some sort of in- termediate representation (1R) like a parse tree for a couple of reasons. First, it allows you to separate the "front end" of the compiler— the lex- Figure 2: Parse tree for the SIMPL statement IF a < b THEN b := b - 1; ELSIF a > b THEN b: = b + 1; ELSE b := a. ical analyzer, parser, and type checker— from the "back end— the code generator. The IR serves as a common language that lets the two ends communicate. For instance, if your compiler is too big to fit into memory all at once, you can first generate the IR, then swap in the back end to generate the code. Such multi- pass compilers are common, but mine will only make a single pass over the input. An IR also makes it easy to mix and match compiler parts, which means you can use the same code generator for Pascal and C or the same front end for a compiler that generates VM2 code and for one that produces Motorola 68000 code. Or, instead of generating code from the IR, you can write an interpreter for it. In short, an IR helps make your compiler more modular, and modularity is the essence of good software engineer- ing. There's another important reason for using an IR: It provides a more abstract view of the program being compiled. The source code and ob- ject code are just lists of characters or numbers, but the IR can represent the program in a way that more clearly reveals its structure to the compiler. For instance, if the compiler wants to know what statements are part of the WHILE loop in listing l, it can much more easily determine that informa- tion from the parse tree in figure 2 than from the source code in listing l . A compiler may want to use this in- formation for optimizing the code. The IR can aid code generation by making certain aspects of the code explicit. For a stack machine like VM2, the parse tree is a natural choice. The Compiler in Detail I described the various phases of compilation as if they occurred one after the other in a simple procession. In fact, they overlap in a complex dance choreographed by the parser. In the text that follows I'll explore the compiler in greater detail, using the grammar of SIMPL as my guide. I will be referring to specific VM2 instruc- [amtinued) 110 BYTE ■ DECEMBER 1985 TIME & MONEY JemiDisk is the disk emulator that saves you more of both We've just done something we know you'll like. We've made :he SemiDisk far more affordable than ever before. With price :uts over 25% for most of our product line. Even our new 2 megabyte units are included. COMPARE WITH THE OTHERS. SemiDisk Systems builds fast disk emulators for more microcomputers than anyone else. S-100, IBM-PC, Epson QX-10, rRS-80 Models II, 12, and 16. Up to 2 megabytes per board, standard. Up to 8 megabytes per computer, using only four bus slots, max! Software drivers are available for CP/M 80, MS-DOS, ZDOS, TurboDOS, VALDOCS 2, and Cromix. SemiDisk turns good computers into great computers. GREAT NEWS FOR IBM PC AT USERS. New MS-DOS 30 software drives take full advantage of the 30286's expanded instruction set, moving data four times faster ;han can be done on PC or XT. BATTERY BACKUP, TOO. At 0.7 amps per 2 megabytes, SemiDisk consumes far less power than the competition. And you don't have to worry if the lights go out. The battery backup option gives you 5-10 hours of data protection during a blackout. Nobody else has this important feature. Why risk valuable data? ITS EXPANDABLE TO 8 MEGABYTES. You can start with as Htde as 512K bytes, and later upgrade to 2 megabytes per board. At your own pace, as your needs expand. In an IBM PC, XT, and AT you can have multiple drives on a single system. And the SemiDisk gives you mainframe performance on the top of your desk. AND THE BEST NEWS IS SAVED FOR LAST: 512K 1Mbyte 2Mbyte SemiDisk I, S-100 »695 J1395 SemiDisk II, S-100 $995 *1995 IBM PC, XT, AT »595 J1795 QX-10 »595 $1795 TRS-80II, 12, 16 J695 11795 Battery Backup Unit 1150 H50 *150 SemiDisk Systems, Inc. P.O. Box GG, Beaverton, Oregon 97075 503-642-3100 Inquiry 324 Call W3-646-5510 for CBBS/NW. V)3 -775-4838 for CBBS/PCS. and 503 649-8327 for CBBS/Aloha. all SemiDisk-eciuipped computer bulletin hoards (300/1200 baud) SemiDisk. SemiSpool trademarks of SemiDisk Systems CP/M trademark of Digital Research. PROGRAMMING PROJECT tions (the instruction set can be found in my October Programming Project "Building a Computer in Software"). [Editor's note: lowercase routine names refer to routines written in Modula-2, which im- plement the compiler; uppercase names are either SIMPL keywords or VM2 instruc- tions^ Compilation begins with the first line of the grammar. This line corre- sponds to a procedure in the parser named, not surprisingly, program. The program procedure first calls the lexical analyzer to make sure the first token is the keyword PROGRAM Then it gets another token, which should be an identifier. This token is the name of the program. The parser If you're tired of waiting, you're using the wrong file manager. Be fast. Btrieve.™ If batch jobs and reports turn wait- ing time to nighttime, then wake up! You're using the wrong file manager. Btrieve™ file management hates waiting as much as you do. It's writ- ten in assembly language especially for the IBM PC . And based on b-tree file indexing, with automatic balancing for access speed that won't degrade as your database grows. With Btrieve, your applications always run fast. So you'll be out the door faster. The standard for networking. Btrieve/N (network version) sets the standard for the industry's most popular LANs, including IBM's PC Network. Btrieve/N offers safe net- work file management that coor- dinates simultaneous updates and prevents lost data. Automatic file recovery. Btrieve pro- vides automatic file recovery after a system crash. Your Btrieve data always comes back intact. Fully-relational data management. SoftCraft's entire family of products gives you a complete, fully-relational database management system. Rtrieve™ adds report writing capabili- ties. Xtrieve™ speeds users through database queries with interactive menus. For professional programmers. Btrieve is the fast, reliable answer for all vour application development in BASIC, Pascal, COBOL, C, FORTRAN, and APL. With Btrieve, you can develop better applications faster. And know they'll run— fast. SoftCraftlnc. P. O. Box #917 Austin, Texas 78766 (512) 346-8380 Telex 358 200 Suggested retail prices: Btrieve, $245; Btrieve/N. $595; Xtrieve, $195; Xtrieve/N. $395; Rtrieve. $85; Rtricve/N, $775. Requires PC-DOS or MS -DOS IX, 2.X, or 3.X. Now available for XENIX. now calls the code generator to out- put a BRANCH instruction using the program name as a label. This must be done because the main program code is not compiled until after the routines and global variables are com- piled; you have to jump over the routine and variable code to get to the main program. The main program occurs at the end of the file because the SIMPL compiler is a one-pass compiler— everything has to be de- fined before it's used, including the main program's procedures, functions, and variables. The program procedure then calls two other parser procedures, vars and routines. Then it outputs the program name as a label, calls the block pro- cedure to compile the text of the pro- gram, and finally, when it sees the dot token, outputs a HALT instruction. A degenerate SIMPL program— one with no variables, routines, or main program body— such as PROGRAM foo; BEGIN END. compiles into the following two-line program: foo: BRANCH foo HALT Variable Declarations The next five rules— those for vars, varlist, decl, idlist, and type— handle variable declarations. You'll note that the vars rule can be empty; that is, the program might not have any variable declarations. The parser can easily recognize this simply by checking whether the next token is VAR:. If so. the varlist procedure is called; if not. the parser calls the lexical analyzer's ungetToken routine to return the token to the input for future consump- tion. The varlist procedure calls the decl procedure, then examines the next token to see if it is a BEGIN. PRO- CEDURE, or FUNCTION. If it's any of these three, then there are no more variable declarations; if it isn't, then there are more declarations, and var- list calls decl again. In either case, the token is ungotten. A declaration consists of a list of identifiers— the variable names- followed by a colon and then by a 112 BYTE • DECEMBER 1985 Inquiry 3 30 PROGRAMMING PROJECT type name. The decl procedure begins by calling idlist, which returns the identifiers in a linked list. Then decl reads the type name and calls the code generator to generate code for the variables. Then, a label— the variable's name— has to be generated, followed by some initial value for the variable. I use as an initial value, which is interpreted as FALSE for Boolean variables and as the ASCII NUL character for character variables. However, the compiler must do more than merely generate code. It also has to store information about these variables for use later in the compilation. The type of a variable is needed for type checking, and the fact that a variable is global will affect how the code generator produces ref- erences to it. My compiler puts all this information into a record called a symbol and inserts it into its symbol table. The symbol table is a close relative of the label table used in the VM2 assembler— it has a similar pur- pose and is also best implemented as a hash table. The compiler's symbol table is rather more complex, though, because it also has to handle local variables. I'll defer discussion of its complexities to the second part of this series. Statements The bulk of the compiler is involved in translating SIMPL statements. State- ments occur in lists, as the stmts line in figure 1 indicates. A list of state- ments can be empty. How does the stmts procedure recognize this? If you examine the grammar closely, you'll notice that any statement list is ended by one of the three keywords ELSE, ELSIF, or END, so these can be used to tell when a statement list is empty. Let's examine each of the SIMPL statements in turn. I will defer treat- ment of the procedure call and RETURN statements to part 2 of this series. Figure 3 illustrates the code generated for each type of statement. ASSIGNMENT STATEMENTS To parse an assignment statement, the parser first calls the lexical analyzer to get the identifier on the left side of the statement. The parser can't dis- tinguish an assignment statement from a procedure call until it calls the lexical analyzer to read the next token. If the next token is a : = . the parser knows this is an assignment statement. Then the parser checks to see if the identifier has been defined by looking it up in the symbol table. It also checks to make sure the iden- tifier is the name of a variable, not a procedure or function. The parser then calls the expr routine to parse the expression and subsequently calls a special tree-building procedure to construct the parse tree from the vari- able and the expression. Parse trees consist of several different types of nodes. The tree-building procedure for the assignment statement creates a symbol node for the variable, an ex- pression node for the expression, and makes both these nodes the children of an assignment node It also checks the types of the variable and the ex- pression to make sure they match. To generate the code for an assign- ment statement, the code generator first generates code for the expres- sion. At run time, after this code is ex- ecuted, the result of the expression will be on the top of the stack. To store it in the variable, the compiler needs only to generate a POPC in- struction with the variable's name as an argument (see figure 3a). The WHILE Statement The parser's while procedure reads the expression following the WHILE token and checks to make sure its type is BOOLEAN. It then reads the DO followed by a list of statements. A tree-building procedure creates a WHILE node and makes the Boolean expression and the statement list its children. To generate code for a WHILE state- ment, the compiler first creates two new labels; let's call them START and END for now, although in the actual code generator there is a special func- tion that generates a unique label [continued) (a) var : = expr (code for expr) | POPC var (b) WHILE expr DO | START: (code for expr) stmts; BREQL END END; (code for stmts) BRANCH START | END: (c) IF expr THEN (code for expr) stmts BREQL END END; (code for stmts) END: (d) IF expr THEN (code for expr) stmtsi BREQL ELSE ELSE (code for stmtsi) stmts2 BRANCH END END; ELSE: (code for stmts2) | END: (e) WRITE(intexpr,charexpr); (code for Intexpr) WRINT (code for charexpr) | WRCHAR (f) READ(intvar, charvar); | RDINT POPC intvar | RDCHAR j POPC charvar Figure 3: VM2 code generated for SIMPL statements. DECEMBER 1985 -BYTE 113 \ PROGRAMMING PROJECT name each time it is called in order to avoid name conflicts. The code generator begins by outputting the START label and then generates code for the Boolean expression. If this ex- pression evaluates to FALSE, the loop shouldn't be executed, so the instruc- tion BREQL END is output; this will have the effect of branching to the END label if the expression evaluates to FALSE. Now the body of the loop is generated, followed by a BRANCH START instruction to repeat the loop. Finally, the code generator outputs the END label (see figure 3b). The IF Statement The IF statement is a bit tricky to parse because it may contain ELSIFs and an ELSE. 1 have divided the work among three procedures, if, elsif, and else. You can tell when an ELSE is empty by seeing if the next token is END. As with the WHILE statement, I check to make sure that I have parsed a Boolean expression. When 1 am done parsing, I build a tree whose root is an IF node and whose three children are the Boolean test, the THEN part, and the ELSE part. Note that the ELSE part may itself be another IF statement: this is what hap- pens when ELSIF is used (see figure 1). If there is no ELSE part, I fill the ELSE slot of the IF node with the value NIL. To generate code for an IF with no ELSE part, I create a single new label: END. I generate code for the Boolean expression and then output a BREQL END instruction, because I want to skip the THEN part if the expression is false. Then I generate the THEN part and finally output the END label (see figure 3c). When an IF has an ELSE part. I create two new labels— ELSE and END. Again, I first generate the Boolean expression. Now, if this ex- pression is false I want to branch to the ELSE part, so 1 generate a BREQL ELSE instruction. Then I generate the THEN part of the code, but I follow it by a BRANCH END in- struction so control doesn't fall through to the ELSE code. I then out- put the ELSE label followed by the code for the ELSE part. Finally, I out- put the END label (see figure 3d). The READ and WRITE Statements The parsing of READ and WRITE statements is similar; in both cases. I read a list of expressions and attach this list to either a READ or a WRITE node, as the case may be. I also check each argument to make sure it is of type INTEGER or CHAR. For a READ (a) 1 + x = 5 - y»z I PUSHC 1 I PUSH X ADD PUSHC 5 I PUSH y I PUSH z I MUL I SUB I EQUAL (b) a = b AND cod I PUSH a I PUSH b I EQUAL I BREQL FALSE I PUSH c I PUSH d I NOTE Q I BRANCH END | FALSE I PUSHC END: Figure 4: VM2 code generated for SIMPL expressions. statement I check to make sure the argument is a variable. To generate code for a WRITE state- ment, I generate the code for each ex- pression, immediately followed by either a WRINT or a WRCHAR in- struction, depending on the type of the expression. For each variable in a READ statement, I first generate either a RDINT or a RDCHAR instruc- tion, then a POPC with the name of the variable (see figures 3e and 3f). Expressions The parser used for expressions is similar to the one I described in "Context-Free Parsing of Arithmetic Expressions." It has been expanded to handle variables, function calls, and Boolean operators, and it has been made left-associative so that it parses arithmetic operators in this way: a + b + c will be parsed as (a + b) + c rather than as a + (b + c). The compiler type checks expres- sions as their trees are constructed. Before constructing the tree for a + b, for example, the compiler makes sure that a and b have been defined as variables of type INTEGER. The Boolean operators AND, OR, and NOT require Boolean operands. For relational operators like = and >, it doesn't matter what type the two operands are, so long as they are of the same type. Because of the way I designed VM2's instruction set. generating code for expressions is easy. I first generate the code to place the operands on the stack using the in- structions PUSH (for variables) or PUSHC (for constants), then I output the instruction corresponding to the operator. All operators but AND and OR have a corresponding instruction. See figure 4a for the code generated by an expression. The operators AND and OR are special cases because the second argument shouldn't be evaluated unless absolutely necessary. I treat them much like IF statements. For AND, I first create two new labels, which III call FALSE and END. I generate the code for the first argu- ment, then generate a BREQL FALSE 114 BYTE • DECEMBER 1985 PROGRAMMING PROJECT instruction. After that I generate the code for the second argument and then a BRANCH END. Then I output the label FALSE, followed by a PUSHC instruction. Finally. 1 output the END label. This code will have the following effect at run time: If the first argument evaluates to FALSE, then a FALSE (that is, a 0) is pushed on the stack and the code for the second argument is skipped. If the first argu- ment comes out TRUE, then the sec- ond argument is evaluated, and its result is the result of the entire AND. Things are reversed for OR. If the first argument is TRUE, 1 push TRUE and skip the second argument; otherwise, the result of the second argument is the result of the entire OR. The code generated for an AND statement is in figure 4b. Error Handling It is notoriously difficult to write a compiler that can recover gracefully from an error in the source program and continue compiling. On the other hand, you wouldn't want to make the compiler too lenient when it en- counters an error— a friend of mine speaks of how he used to feed interof- fice memos to a COBOL compiler to see if they would compile successful- ly. They often did. One solution to the error-handling problem is to stop the compiler after the first error is found, but this is a cop-out. I'd like the compiler to find as many errors as it can so I can try to fix them all at once. At the same time, I want to avoid cascades of errors, where the first error triggers new ones that wouldn't have ap- peared if the first error had not oc- curred. A compiler that frequently produces error cascades is just as bad as one that dies after the first error because you will trust the compiler only for the first error anyway. Error cascades are particularly common for syntax errors because it's hard to know where to continue parsing when something unexpected appears. My compiler is far from ideal at handling syntax errors, but it deals with other errors reasonably well. The basic rule i use in parsing is, if an expected token does not appear in the input, pretend it did appear and continue on without it. For example, if the keyword PROGRAM does not appear at the beginning of the pro- gram, the compiler prints out an error message and acts as if it did appear. Similarly, if the program name is omitted, the compiler prints an error message, makes up a dummy name, and continues. Sometimes such errors are not handled so gracefully. If you meant to write WHILE a > b DO ... and instead omitted the WHILE key- word, the parser would read the iden- tifier a and begin compiling the state- ment as if it were a call or assignment. The resulting error cascade isn't pretty. A common source of error cas- cades is an undeclared variable. Some compilers will tell you over and over again that a variable is undeclared, outputting a message every time the variable is encountered. A much bet- ter solution is to print the message once and then ignore that variable from then on. I do this by inserting the variable in the symbol table once it has been seen. But what type should it be given? If I decide to make it an integer when in fact the programmer intended it to be a Boolean, I will find myself with a bunch of unnecessary type errors. My solution is to give undeclared variables the special type Unknown. Unknown is compatible with every other type, so the type-checking rou- tines will never find a problem with a variable of type Unknown. Implementation Notes The key to writing a program as large as a compiler is breaking it up into small, independent parts. As I said before, my program is divided into 1 2 modules. The main module is called Com- piler. It is short and does little more than read an input filename and call the parser. Because of its size, the parser is divided into three separate modules: Parser handles the bulk of SIMPL, ExprParser takes care of ex- pressions, and Routines is concerned with procedures and functions. A common source of error cascades is an undeclared variable. The LexAn module contains the lex- ical analyzer. The Token module defines the token data structure as well as some other useful types and constants. TypeChecker handles type checking, of course. Equally obvious is the function of SymbolTable. The Symbol module defines the data structure used for storing identifiers in the symbol table, and the Node module defines the data structure used to construct parse trees. Node also contains the important tree- building procedures. Two other modules constitute the compiler's back end. CodeGen takes parse trees and calls procedures in CodeWrite to actually output the VM2 instructions. My motivation for dividing the work up as I did was to distribute the load evenly. The code generator's time is split between the abstract work of generating code from parse trees, handled by CodeGen, and the nitty- gritty details of outputting VM2 assembly-language instructions, handled by CodeWrite. The parser definitely has the hardest job in this compiler, so I tried to make its tasks as simple as I could. The lexical analyzer looks up keywords in the symbol table and provides several routines that handle the work of generating syntax errors, thus reliev- ing the parser of those burdens. The tree-building routines of the Node module not only construct trees but do much of the type checking as well. The code generator need only be given the parse tree to generate code. Conclusion As it stands now, the compiler is in- complete. The implementation of pro- cedures and functions remains to be done, but the framework is in place. At heart, all compilers resemble the program described here. ■ DECEMBER 1985 -BYTE 115 ow to 9ave ivioney Bm PC SYSTEMS MAINSTREET ENHANCED PC $1965 with 10 MB Disk L 360kb Tandon Floppy 10 MEG ADEPT Hard Disk 256KRAM AD Controllers, Cables, Manual | 1 Year Warranty Monitor Not included Many Options Available Same System with 20 MB Hard Disk $2085 __ PC/AT ATplus $3860 20MB System Includes: », a \2 MB Floppy □ 360 KB Floppy Q 512K RAM d 20 MB Hard Disk □ Serial/Clock n All Cables, Controllers, Manual Monitor Not Included Same System with 32 mb $4071 MORE HM PC SYSTEMS FROM MAINSTREET OSUPER PC • 256KRAM • 360K Floppy • 10 MEG • 640KRAM <0SUPER PC+ * 2 f^ppv • 20 MEG HARD • Tape Backup • Tape Dnve • 135 Walt • M0KRAM • AST 6 PAK • 133 Watt Power • 20 MB Hard Disk Call 4406 MONO/GRAPHICS BALANCE I $229 • 720 x 348 Resolution • Parallel • Serial • Runs 1-2-3 Balance II $299 Mono/Color Graphics HIGH SPEED TAPE BACK-UP $739 20MB Backs up 20 MB in less than 10 minutes 60 MB $899 Simifar to TECMAR QIC-60 AT E«X«P BOARD • 3MB RAM • Serial Port • Parallel Port • For IBM or ADEPT AT $289 HARD DISKS by flDCPT 20MB $490 • Half-Height • Complete System Mounts Internally 1 Year Warranty 10 MB - $390 32MB - $695 For really FAST access, call our hard drive specialist — 800-426-6246 10,20,32 MB . . . FromvJ>595 10 MB Combination Systems HARD DRIVE TAPE PRICE 10 MEG 20 MEG 20 MEG 32 MEG 10 MEG 20 MEG 60 MEG 60 MEG $1185 $1390 $1665 $1870 A perfect match! Colors and casing to conform with your IBM or ADEPT PC. In two convenient models to suit your space requirements. Add hard drives in 10, 20, 32 or 40 megabytes. Cartridge tape backup in 10, 20 or 60 megabytes. Combine hard drive and tape backup for complete storage solutions. All units come with power supply, cables, software and manual. 11111111 U**k^LLL\ I T 10,20,32 MB . . . From$635 10 MB Combination Systems HARD DRIVE TAPE PRICE 10 MEG 20 MEG 20 MECi 32 MEG 10 MEG 20 MEG 60 MEG 60. MEG $1225 $1430 $1705 $1915 800 426-6246 Main.treet Computer 4-knnr-nf, 1U*5 Main St. ORDERS Bastrop, TX 78602 512 321-4406 Hour.: Technical Assistance Mon-Fri: 9 am-6 pm Texas Residents, Inquiries Saturday: 9 am- 3 pm SOFTWARE— Many titles available 800 426-6246 Call for Latest Version and Price Examples- Borland Superkey $35 Copy II PC $25 Multimate $238 Norton Utilities $49 nit ma i PRODUCT DESCRIPTION The Tandy 600 AND THE Tandy 3000 A laptop computer with disk storage and an IBM PC AT clone Editor's note: The following is a BYTE prod- uct description. \t is not a review. We pro- vide an advance look at these new products because we feel they are significant. This description is based on a look at a production version of the Tandy 600 and at a prototype Tandy 3000. Anew Tandy Corporation laptop computer and an IBM PC AT clone debuted this fall (see photo 1). An- nounced on October 28th, the lapanese-made Tandy 600 is an 80C88-based laptop machine with a maximum RAM (random-access read/ write memory) potential of 224K bytes and a built-in 360K-byte 3 '/2-inch disk drive. A 9 '/2-pound machine with a flip-up 80-character by 16-line LCD (liquid-crystal display), the Tandy 600 costs $1 599. Unveiled at COMDEX in Las Vegas, the Tandy 3000. a clone of IBM's PC AT, carries a price tag as low as $2 599. The Tandy 600 Product designers at Tandy describe the Tandy 600 as a machine with the features that users of the Model 100 and the Tandy 200 most often re- quested: an 80-column screen, a disk drive, and more RAM. Tandy also availed itself of the opportunity to upgrade its previous portable com- puter software in this addition to its laptop computer line. To address more RAM without com- plicated bank-switching hardware and software, Tandy chose to power the 600 with a CMOS (complementary metal-oxide semiconductor) version of the Intel 8088 microprocessor run- ning at 3.07 MHz. Standard RAM is a paltry 32 K bytes, but 96K-byte RAM upgrade kits are available for $399.95 per kit, plus installation by Tandy. The Tandy 600 can accommodate up to 224K bytes of RAM. Thus, a Tandy 600 with maximum RAM will cost a tidy $2398.90 plus memory installa- tion costs. The 80-column by 16-line LCD is ad- justable for lighting conditions and has a matte finish to reduce glare. The 9- by 2 '/2-inch LCD flips up to reveal a keyboard similar to the Tandy 200s. This 72-key, typewriter-style keyboard offers 10 function keys, 4 cursor- control keys, a Label key, and a Num Lock key to turn letter keys on the right side of the keyboard into a numeric keypad. The built-in disk drive is a 3 '/2-inch. 360K-byte drive located at the right rear of the case. Using a limited operating system called Microsoft Works 1.20, the drive can store text files or programs. For example, Micro- soft Multiplan, a bundled spreadsheet program supplied in ROM (read-only memory), can be copied onto disk so that the ROM socket can be used for a custom application or for the op- tional BASIC ROM ($129.95). BASIC also can be saved to disk and loaded into RAM when needed. All this hardware can be powered for up to 11 hours (with minimal disk activity) by built-in nicad (nickel- cadmium) batteries or by an external AC adapter/charger. The adapter/ charger charges the nicad batteries up to a maximum of 14 hours when it is attached. The other standard features of the Tandy 600 include an internal 300-bps (bits per second) modem with auto- dial/auto-answer and host modes, an expansion bus for an external disk drive, a parallel printer port, an RS-232C serial port, and a built-in clock that can power up the machine at a preset time to take a phone call or run an application. Tandy 600 Software Bearing a coincidental resemblance to the DeskMate software that Tandy bundles with its MS-DOS computers, the Tandy 600s software features an operating system and five applica- tions. The System Manager is a shell around Microsoft Works that handles file management for the disk drive and RAM. The five bundled applica- tions are Word, a word processor whose files are compatible with the Microsoft word processor of the same name; Calendar, an alarm-driven ap- pointment scheduler: File, a database manager; Telcom, for driving telecom- munications activity; and Multiplan, reportedly a "99.5 percent version" of the IBM PC spreadsheet. In addition, a four-function memory calculator is available at any time as well as an 118 BYTE • DECEMBER 1985 by G. Michael Vose alarm function that can be preset to act as a reminder. Microsoft Works was originally de- veloped for the Heath ZP-1 50 laptop machine and looks vaguely like MS- DOS. Its functions are limited to for- matting and copying disks, copying files from RAM to disk (or vice versa), listing or deleting files from RAM or disk, renaming files, and running ap- plications. You invoke these functions by selection from a menu. The System Manager does allow wild-card charac- ters in command operations. In spite of the passing resemblance to MS- DOS, however, the Tandy 600 disk for- mat is not compatible with any other 3 '/2-inch disk format. The System Manager also has a Set command to adjust the time for the sleep mode, to switch the machine's beep tone on and off, to preset power-up date and time for the wake-up mode, and to specify printer parameters (margins, page length and width, and con- tinuous or sheet feed). The text editor offers broader fea- tures than the rudimentary editors that came with the Model 100 and the Tandy 200. Called Word, this re- vamped editor provides more com- plete formatting functions, including right justification, multiple format lines, and automatic page numbering, plus enhanced editing commands like global search and replace. Liberal use of the function keys to implement a variety of text selection operations, (continued) G. Michael Vose is a senior technical editor at BYTE. He can be contacted at POB 372, Hancock. NH 03449. Photo 1: The Tandy 3000 and the Tandy 600. DECEMBER 1985 • BYTE 119 TANDY 600 & 3000 The liveliest game in personal computers today is building IBM PC AT clones. such as select word or select sentence, make copying, moving, and deleting text a simple operation. You can merge two documents and alter the format of any part of a document. The appointment scheduler bun- dled with the Tandy 600 can be set to sound an alarm to remind users of appointments and will even display a text message at the bottom of the screen to explain the alarm. This Calendar application uses two calen- dar types: a month calendar and daily diaries. The diaries supply detailed in- formation for individual days in the month calendars. The Tandy 600s database manager, called File, can sort records alphabet- ically, numerically, or chronologically and search the database according to numerous search criteria. Each File database can provide up to 4095 records having up to 64 fields of up to 230 characters per field. One of the most practical applica- tions for a laptop computer is its use as a smart terminal for telecommuni- cations. The Tandy 600's Telcom pro- gram drives an internal 300-bps modem and offers auto-answer, auto- dial, wake-up, and host modes. With the proper script, the Telcom software can turn the computer on, call an- other computer, and upload or down- load files to RAM or disk. It supports the XMODEM protocol for error detection during data transmission. Telcom displays its status (on-line or off-line) plus connect time on the Tandy 600's sixteenth screen line; this static display naturally draws the eye away from the scrolling text just above it and may confuse some first-time users. Finally, there is Multiplan, extended from the Tandy 200 version to be very close to the IBM PC version. Multiplan data can be lifted from a spreadsheet and pasted into a Word document, and the program can generate SYLK files for transporting data to other programs. There are some limitations to this and all Tandy 600 applications; for example, the maximum size for any data file is 64 K bytes. Operation The Tandy 600 features an automatic power-off, or sleep, function that turns the machine off after a user-selectable time period (the default setting is 5 minutes). Disk-intensive operations will decrease the time the machine can function on batteries between charges. One hour of disk I/O (input/ output), for example, reduces the operating time between charges to 8 hours. RAM in the Tandy 600 is battery- backed so that the machine can be turned off without losing the contents of memory. But the disk-storage capa- bility of the machine will greatly ease the pressure to clutter up RAM with dozens of files. An especially attractive feature is the potential for placing custom ap- plications in the ROM slot occupied by the Multiplan ROM. Using standard 272 56 EPROMs (erasable program- mable read-only memories) and a Molex chip carrier for easy removal/in- sertion of chips, you can plug in any new application designed to run on the Tandy 600. Software developers can get all the information necessary to customize 8088 applications from the owner's manual or the separate hardware service manual (available for "less than $2 5"). Tandy supplies a 302-page, indexed, spiral-bound owner's manual that is organized by application. Each sec- tion provides a quick reference to that application's functions, followed by an extensive tutorial. The Tandy 3000 The liveliest game in personal com- puters today is building clones of IBM's PC AT. At least a dozen clones had been announced through September of this year and most of- fered something IBM didn't. The only surprising thing about the Tandy AT clone, called the Tandy 3000, is that it took the company so long to get the machine to market. Made by Tandy in Fort Worth, the Tandy 3000 claims a 33 percent speed increase over the AT due to a higher clock speed (8 MHz versus 6 MHz) and single-wait-state operation (as opposed to two wait states in the AT). A standard Tandy 3000 offers 512K bytes of RAM and a 20-mega- byte hard disk and a 1.2-megabyte floppy disk. The cabinet has room for an additional disk drive, either fixed or floppy. The machine supports four disk drives altogether, two fixed and two floppy, including a 360K-byte floppy. A Tandy 3000 with two floppy drives, one 360K-byte and one 1.2- megabyte quad-density drive, costs $2 599. The same machine with a 20- megabyte fixed-disk drive in place of one of the floppy drives carries a $3 599 price tag. RAM in the Tandy 3000 is expand- able to a full 16 megabytes; the motherboard holds 640K bytes (using 2 56K-byte dynamic RAMs) and 2- megabyte expansion boards are scheduled for January 1986 shipment. These memory-expansion boards can occupy up to six AT expansion slots; two XT slots are available as well. Other standard equipment includes battery-backed CMOS RAM and a real-time clock, plus a serial/parallel adapter that uses an XT-compatible expansion half-slot to provide one serial and one parallel port. The key- board is a copy of the AT keyboard and is not compatible with the Tandy 1000/2000 keyboard. To reduce the cost of the computer, Tandy engineers eliminated the key that disables the keyboard and locks the case of an AT. Utilizing 2 56K-byte dynamic RAMs reduces power demands sufficiently to allow the use of a 175-watt power supply. The power supply is switchable between 120- and 240-volt operation via a Molex jumper inside the power sup- ply's case. A two-speed, thermostati- cally controlled fan cools the internal {continued) 120 BYTE • DECEMBER 1985 Back up 10 megabytes in 8 minutes! (or less) with FastbacR If you've ever lost valuable data, you know backing up your hard disk is a MUST. For your business, this necessity can become an expensive nightmare. Until now. Fastback™ (Version 5.0) is the hard disk backup (and restore) software utility that eliminates the need for expen- sive and time consuming tape backup systems. It's so fast you can back up a full 10-megabyte hard disk on standard 5 V* " floppies in less than 8 minutes or 10 megabytes of data on the IBM™ PC -AT in less than 4 minutes! This can mean a 95% savings of time and money. And it's easy to use. Fastback is fully self-contained and functions with any make or size hard disk. It works with PC-DOS'", or MS- DOS™version 2.0 or higher and requires no additional hardware to take up valuable expansion slots in your IBM PC/XT/AT or compatible. FASTBACK USES ADVANCED ERROR CORRECTION TECHNIQUES TO RECOVER DATA FROM DAMAGED DISKETTES So if your disk is damaged after the backup procedure, Fastback (Version 5.0) will still be able to recover the data. Fastback allows rapid lookup of archived data and prevents accidental overwriting. Fastback is completely file oriented, not an image mode backup. Suggested Retail Price: (£T7Q INTRODUCTORY OFFER Yes. send me_ _Fastbacks at the Special Introductory price ot $149 each That's $30 off the regular retail price of $179. I am enclosing: G Ban kD raft i Check g)3U Uri* Name: . Address City:. State: Telephone ( ) Zip These prices include shipping to all U.S. cities. All foreign orders add $10 per product ordered. COD s and purchase orders WILL NOT be accepted by Fifth Generation Systems. Outside USA: payable in US dollars drawn on a US bank FASTBACK is also available at better dealers nationwide Call (213) 439-2191 for the dealer nearest you. Offer Expires December 31, 1985 Fifth Generation SYSTEMS 7942 Picardy Avenue Baton Rouge • LA • 70809 Telephone: (213) 439-2191 Inquiry 414 Dealer Inquires Invited Marketing and Sales by CSSL, Inc. IBM-PC, IBM-XT, IBM-AT and PC-DOS are registered trademarks of International Business Machines, Inc. MS-DOS is a registered trademark of Microsoft. Inc Fastback is a registered trademark of Fifth Generation Systems F O R SORE Y S THOMSON To those of you who stare and stare— and stare at computers, blessed relief has arrived. Thomson™ monitors. We promise clearer, crisper resolution, remarkable colors and print-like text. Thomson builds a full line of monitors, from basic monochrome to high- resolution color models. All are designed to fulfill your needs today, and sophisticated enough to fulfill your needs in the future. Thomson monitors are designed and built by Thomson, a $6 billion international corporation. They re going to change the way America looks at computers. Ask your local computer dealer for a Thomson monitor, or call 1-213-821-2995, ext. 34, for the Thomson dealer nearest you. Then take a stare at a Thomson monitor. It's a sight for sore eyes.™ Telex 372023a Thomson is a trademark of Thomson S A. Model CM Ul.'SllM l-'-diagonal. 31mm dot pitch RGBI color monitor with text switch and non-glare tinted screen. THOMSON O © 1985 Thomson Consumer Products Corporation 124 BYTE • DECEMBER 1985 Inquiry 355 by Roy E. Kimbrell English Recognition The ultimate in user-friendliness Plain English is hardly ever used to communicate with a computer. This is unfor- tunate because it can be very effective, and programs that recognize and use relatively complex English sentences have been written for microcomputers. English gives you a variety of ways to express complex actions with a minimum of training and program interaction. Menus, on the other hand, are often highly com- plex and cumbersome— both for the user and the programmer. Special lan- guages are difficult to learn and to design and implement correctly. Some applications seem to demand a natural-language controlling mech- anism (for example, database pro- grams and games). When you design these kinds of programs, it is hard to predict the questions or commands a user might enter. Even in the largest and most expensive custom database systems, there always seem to be questions outside the scope of the programming. However. English has been used suc- cessfully to control database pro- grams. The first public success was LUNAR (Lunar Sciences Natural-Lan- guage Information System), which allowed scientists to query a large file of physical and chemical data on the lunar rock samples brought back by the Apollo 17 mission in December 1972. More recently. Larry Harris of Artificial Intelligence Corporation has been successfully selling a database- retrieval system called ROBOT (now INTELLECT) that uses natural English. It runs on IBM machines and licenses for tens of thousands of dollars. R:base CLOUT by MicroRIM. another English-based database-retrieval system, runs on microcomputers, but it's not cheap either. Several game designers have recog- nized the benefits of using English to communicate with computers and have tried to use it as their control- ling mechanism. However, the ap- proach they take seems a bit limited. The games often have trouble recog- nizing what should be valid directions or questions by the players. [continued] Roy E. Kimbrell is a senior programmer/ analyst with Planning Research Corporation (1410 Wall St.. Bellevue. NE 68005). He has one M.S. in computer science from the University of Nebraska and another in meteorology from Creighton University. 1. 1 Jfc*/* ts~ ILLUSTRATED BY IERZY KOLACZ DECEMBER 1985 'BYTE 125 ENGLISH RECOGNITION Both games and database programs must be able to react in many com- plex and unpredictable ways. You can achieve this versatility by creating a library of functions or routines that do fundamental things. The user must be able to combine these functions in an endless variety of ways. English rec- ognition is a surprisingly useful tool for this; it has been used in university labs for years. Its techniques have been developed to the extent that now you can apply them even on microcomputers. English Recognition There are two parts to applying English understanding to an applica- tion. The first is recognition— observing that the text forms grammatically cor- rect English sentences and identifying such elements as subjects and verbs. The second part is understanding— the ability to react to a sentence in a meaningful manner. Suppose we have a program named Higgins (after Professor Henry Higgins of My Fair lady fame), a fictional ex- pert in the science of speech. And suppose Higgins knows about wines; that is, it interfaces with a wine database. A question such as "How much does a 1976 bottle of Cabernet Sauvignon cost?" should be meaning- ful to Higgins, while "Where can 1 find a date for tonight?" would not be, even though it is a respectable English sentence. Higgins has files of data on wines and knows the name for each field in those records, but it knows about nothing else. It has no way of understanding anything about "date" or "tonight." Higgins can recognize valid English sentences and break them up into identified pieces. It identifies the sub- jects, verbs, and other parts of speech in a manner that makes them usable in other parts of the program. Once the information is recognized, using it to do something can be easy. Database questions can be simple. Higgins's verbs are usually forms of "to be" or "to do." Its subjects are usually either "wh-" words such as who, when, or where, or phrases such as how much. The objects with their Adjective (ADJ) Examples: red, heavy Binder (BINDER) Words: because, so, since, until, before, while Complement (COMP) Words: that, to, whether, for Conjunction (CONJ) Words: and, or Determiner (DET) Number: singular (S), plural (P; Question: yes (Y), no (N) Words: a, an, each, every, few (P), her (SP), his (SP) how many (PY), its (SP), many (P), most (P), my (SP), no, our (SP), some (P), that, the (SP), their (SP), these (P), this, those (P , what (SPY), which (SPY), whose (SPY) Noun (NOUN) Number: singular, plural Case: subjective (SUBJ), objective (OBJ), possessive (POSS) Examples: sky, house, committee's (POSS), sheep (singular, plural) Number (NUMBER) Examples: first, second, third, twenty-one Preposition (PREP) Words: in, on, at, for, without, next to, in spite of, in between, by, to, of Pronoun (PRON) Number: singular, plural Person: first, second, third Case: SUBJ, OBJ, POSS Question: yes, no Words: SUBJ OBJ POSS, OBJ first 1 me, myself mine second you you, yourself yours third she her, herself hers third he him, himself his third it it, itself its first plural we us, ourselves ours second plural you you, yourselves yours third plural they them, themselves theirs OBJ: this, that, these (plural), those (plural) OBJ, yes: who. whom, whose, what SUBJ, OBJ: Pick one from each column. any thing some body every one no where place time how Figure 1: The definitions of the various word types according to Higgins. Italics indicate defau 126 BYTE • DECEMBER 1985 ENGLISH RECOGNITION Verb (VERB) Type: nonauxiliary (NONAUX), to be (BE), to do (DO), to have (HAVE), modal (MODAL) Form: infinitive (INFIN), present (PRES), past (PAST), present participle (PRESPART), past participle (PASTPART), third-person present singular (THIRDSING) Transitivity (Trans): intransitive (INTRANS) — no object; transitive (TRANS) — one object: bitransitive (BITRANS) — two objects Most verbs are nonauxiliary, and a common dictionary can give their forms and transitivities. Transitivity is expanded a bit in Higgins with the addition of "bitran- sitive." "Gave," as in "I gave my love a cherry," is bitransitive. Although the default transitivity is TRANS, it wouldn't hurt to define each verb as all three, IN- TRANS, TRANS, and BITRANS. Although this will allow some nonsensical sentences, it might be a great simplification. Because of this, transitivity isn't specified for the verb descriptions below. MODAL verbs are "helping" verbs and work in conjunction with other verbs. BE: DO: HAVE: be INFIN am, are PRES was, were PAST being PRESPART been PASTPART is THIRDSING do INFIN, PRES did PAST doing PRESPART done PASTPART does THIRDSING have INFIN, PRES had PAST, PASTPART having PRESPART has THIRDSING MODAL: Words: can, could, may, might, shall, should, will, would, must. All BE, DO, and HAVE verbs are also MODAL. Particles: This is not a type; a particle is a sequence of words used as a single word; for example, "next to" is used as a preposition. Particles are used mostly as prepositions, verbs, and determiners, although nouns, especially proper nouns, are frequently particles. Determiners: how many, all the, all this, all these, and other combinations of "all" and a determiner Half a, half an, and other combinations of "half" and a determiner Prepositions: next to, in spite of, in between Verbs: Pick one from each column. put out turn on get, got off get it, got it in go, went, gone up take, took down shut away come, came around descriptive modifiers are found in the database. In the sentence about the bottle of wine, Higgins considers "bot- tle" and "cost" to be objects with the limitations on "bottle" that it be Cabernet Sauvignon and 1976. "Bot- tle" is the key to one or more fields in a bottle record on specific wines in the database. Though several fields may need to be searched, the name Cabernet Sauvignon can be found. Pattern Matching Recognizing English is a matter of pat- tern matching. The patterns of a lan- guage are what we refer to when we say someone speaks a foreign lan- guage well or when we complain of ungrammatical speech. Patterns occur in poetry as well, but these are as much a matter of the poem's meaning as they are of how the words are con- nected in phrases and sentences. The patterns we are looking for are word patterns— the patterns of English grammar. One tool we use in pattern matching is the ATN (augmented transition net- work). It's been around a long time and has proved itself valuable in a variety of applications. For a discus- sion of how to build and use Higgins's networks, see the text box "English Grammar Network" on page 128. The Grammar and the Dictionary The basic unit used in Higgins is the individual word (see figure 1). [Editor's note: C-language source listings of H1G- GINS.C BTREE.C BTREE.H, and DICT.H are available for downloading on BYTEnet listings. (617) 861-9764. | In the gram- mar we'll use, there are the traditional types of words: nouns, verbs, and ad- jectives. There are also some rather special types: relatives, binders, com- plements, determiners, and others. In Higgins's dictionary, words are di- vided into 12 types. All but three of them have a limited number of words. Nouns (including proper nouns), ad- jectives, and verbs make up the bulk of English words. A word may be used in several different ways and therefore may have several different types. [continued) DECEMBER 1985 -BYTE 127 ENGLISH RECOGNITION English Grammar Network Figures A and B provide examples of simple networks. Figure A rec- ognizes the word "cat." A circle with a number in it is called a state and a curved arrow with a letter beside it is called a transition. In this network the program starts in stateO and reads characters. If the next character read is a "c." the program goes on to statel otherwise it reports failure and quits. if the program reaches state3 (the double-circled state), it reports success. Figure B recognizes either "cat" or "cow." In statel . if the next character is an "a." the program takes the transi- tion to state2; if it is an "o." it takes the Figure A: A simple network that recognizes the word "cat'' Figure B: A simple network that recognizes either "cat" or "cow' Figure C: This network involves relaxing the rule that requires a unique set of transition values on each arc. Since there are two "a" transitions, the network follows both. transition to state4: if it is something else, the program reports failure. If the program reaches state3, it recognizes "cat"; if it reaches state5. "cow." Networks can match more than just simple character strings. The value used to decide which, if any. transition to take can be a single character, a class of characters, a word, or a class of words. You can use this kind of net- work to write a recognizer for a com- puter language where each transition is based on specific words (reserved words) or on categories of words (vari- ables, numbers, strings, and so on). In fact, this idea is basic to the way many compilers are actually written. In figures A and B. each transition has a unique value at each state. But if duplicate transition values aren't allowed, the network can become ex- ceedingly complex. Look at figure C. This network matches character strings composed of an unlimited number of "a" and "b" characters followed by the sequence "abb." Compare figures C and D. They both match the same string of characters, but figure D is ob- viously more complex. In the network in figure C, the question is which of the two "a" transitions to take out of stateO. The answer is. both of them. You need a simple mechanism for following several paths simultaneous- ly as you read transition values (char- acters, words, or whatever). If there is a failure, an improper value en- countered at one of the states, you stop traveling that particular path but continue all other paths as long as you are reading valid transition values. If you stop traveling all paths, then you report a failure. Eventually, you either reach the end of the string or reach a success state along some path. Take the case of the network in figure C. Suppose the string you are going to test is "ababb." You read the first "a" and go to both stateO and statel . Then you read the first "b" and go to both stateO and state2. Next you read the second "a" and quit at state2 but con- tinue at stateO and go to statel . When 128 BYTE • DECEMBER 1985 ENGLISH RECOGNITION you read the second "b," you continue at stateO and go to state2. Then you read the last "b" and stay at stateO and go to state3. Finally, you read the end of the string and quit at stateO but report success at state4. Writing a Network Recursively There is a simple mechanism for travel- ing several paths— recursion. Although it isn't simultaneous, the effect is the same. Look at listing A. A state is now a separate function that tests its transi- tion values and either calls the next function or reports failure. Where you can take several transitions on the same value (as in stateO), a reported failure along one path simply allows the program to try other paths. In the function stateO in listing A, loca- tion is a local variable because integers are passed by value. When you first call stateO, the calling line of code might look like this: if (stateO("ababb"0)) success(); In other words, the variable location is initially 0. StateO checks the first character. If it is an "a," stateO calls statel passing it the string and the location of the next character. If statel returns success, then stateO can report success because statel can be successful only if state2 and state3 are also successful. If the character checked in stateO is a "b." stateO calls itself (recursively) with the location of the next character. If the character is neither an "a" nor a "b," it is an invalid character and stateO reports a failure. This failure never oc- curs in a valid string of characters because the transitions to statel and beyond are tested first and given a chance to succeed. The recursive method has consider- able advantages in simplicity. The amount of code necessary to imple- ment a network is considerably less when the network allows duplicate transition values than when it does not. {continued) Figure D: This network performs the same function as the one in figure C. However, it is much more complex because it has a unique transition value on each arc and follows only one path. Figure E: The WH network replaces two arcs and states and matches "wh'. DECEMBER 1985 • B Y T E 129 ENGLISH RECOGNITION Interestingly, both kinds of networks are equally powerful in describing and matching patterns. Subnetworks Calling a state as a subroutine or func- tion has other advantages. You can build networks where a transition from one state to the next depends on the successful matching of an entire net- work, not just the matching of a single transition value. For example. look at figures E and F. The network matches where" or "whose" but the "er" and "os" are recognized by a subnetwork If the network reaches a success state, it has matched either "where" or "whose." A collection, or packet, of information created as the network runs is a con- Listing A: A pseudocode implementation of the pattern matching described by figure C. A transition to a new state is made by recursively calling the next state. Although the paths aren't taken simultaneously. the effect is the same, since the local variables at each state keep a current ■place marker in the string being tested. function stateO: arguments - string, ar array of characters. location, an integer. if the character at location in string is 'a', call statel passing string, location+1. if statel returns success, return success. otherwise, call stateO passing string, location+1. if stateO returns success, return success. otherwise, fail. if the character at location in string is 'b', call stateO passing string location+1. if stateO returns success, return success. otherwise, fail. otherwise, fail. function statel: arguments - string, ar array of characters. location, an integer. if the character at location in string is 'b', call state2 passing string location + 1. if state2 returns success, return success. otherwise, fail. otherwise, fail. function state2: arguments - string, ar 1 array of characters. location, an integer. if the character at location in string is V, call state3 passing string location+1. if state3 returns success. return success. otherwise, fail. otherwise, fail. function state3: arguments - string, ar i array of characters. location, an integer. if the character at location in string is end, call state4 passing string location+1. if state4 returns success, return success. otherwise, fail. otherwise, fail. function state4: arguments - string, an array of characters. location, an integer. return success. venient mechanism for keeping track of the path taken. (The C language calls them structures: in Pascal they are records.) Because you don't want to limit the system's ability to process very long data strings, you usually allocate storage for the packets from the run- time heap and fill them with informa- tion as the called network processes the data string, if the called network is unsuccessful, it frees the storage used by the packets and reports failure. If the called network is successful, it reports success and returns a pointer to the string of information packets. Once a subnetwork— or any network— has com- pleted its task, the packet contains the significant information found during the matching process. For English recognition, the packets must have a description that varies depending on the kind of information placed in them. Understanding how to use this information requires some comprehension of the reasons behind the design of a network that recognizes valid English sentences. Such a net- work is based on English grammar. Grammar Like You Never Saw in School We humans are extraordinary pattern matchers. We quickly recognize shapes and sounds and even large and com- plex combinations of shapes and sounds. We also have the ability to create these patterns. A pattern is a set of rules. We create shapes and sounds that fit patterns— that is, we create ac- cording to a set of rules (even if the rules aren't well understood). English grammar works the same way. The grammar is the pattern you use to create and understand English sentences. It is also basically the pat- tern you use to write a program that recognizes English sentences. (The grammar used by Higgins is a bit permissive— it lets a few ungrammatical things pass by.) Higgins's grammar is based on net- works, but instead of going from one state to another based upon a specific character, the transition is based on word type. Examples of these networks are in figures G and H and in table A. The program might make a transition based on whether the incoming word is a noun, a verb, or another kind of 130 BYTE • DECEMBER 1985 ENGLISH RECOGNITION word. The program can also make a transition based on whether the next sequence of words matches a pat- tern—a pattern defined by a sub- network. When making a transition based upon a single word, the program looks up the word in the system dictionary to determine its type (noun, verb, ad- jective, or preposition). There are also some rather special kinds of words that might be unfamiliar— relatives, binders, complements, determiners, and others. Luckily, these groups of words are small, and once you enter them into the dictionary, you can usually ignore them. All of the words the recognizer pro- gram might encounter must be in the dictionary. It doesn't really understand English, and can't use the context of the sentence to make any guesses about what the word might mean. Some rec- ognizers have the ability to ask about the type of an unfamiliar word. Since most of the words not in the dictionary are usually nouns and adjectives, this is a reasonably easy thing to do. The network grammar for English that Higgins uses is close to one de- veloped by Terry Winograd and de- scribed in considerable detail in his language As a Cognitive Process. Higgins's grammar bears considerable resem- blance to others that are similarly con- structed, such as the network grammar used in LUNAR. The purpose of Winograd's grammar is to define English syntax. This is a little different from only trying to recognize valid English. However, it works well in a large vari- ety of situations and applications. Making a transition based on word type is easy. You look the word up in the dictionary. If one of its usages cor- responds to the one demanded by the transition (and some possible other conditions are met), then you take the transition. Some other conditions are usually checked also. These conditions may vary at each state. They are special checks that ensure that the path taken is valid. They are often important in deciding which of several possible paths to take. In addition, most states require special actions. These are all associated with recording information about the sentence or phrase in the Figure F: The X subnetwork replaces arcs and states matching either "er" or "os'.' 5 Pronoun 6: Proper _ 8:Send NP •■{ S — v//l.Det \ 2 Jum p 9 Send ^-^ -~/ 4: Noun ( 9 J V J 16- '3 3 Adjective 12: Number 13: Verb 14 Noun ( h I / 18:Conj-NP "V 7PP \ 10:S/C J ll-.S/r Figure G: The NP [noun phrase) network. packets. Sometimes the actions create implied constructions, such as the "you" implied in the sentence "Go!" The transitions based on matching a network are similar. Instead of match- ing a word type, you match a network. When making a transition based on word type, each transition uses up one word. That is, the first word in the sentence is checked at the first state, the second word at the second, and so forth. When making transitions based on matching a network, you use up as many words as necessary to make the match. If you fail to find a match, then no words are used up. The networks in figures G and H are examples of networks used to describe a grammar. Table A specifies the con- ditions and actions associated with the transitions of the NP (noun phrase) network. English sentences are built from noun phrases, prepositional phrases, and verb phrases. A noun phrase describes the actor in a sentence or perhaps the person, place, or thing acted upon. The NP (noun phrase) network (see figure G and table A) builds an NP packet that contains pointers to determiner (Det), header [continued) DECEMBER 1985 'BYTE 131 Inquiry 260 IEEE-488 GPIB O PC Hardware Flexibility Low cost for instrument control — 300K bytes per second — $395 complete with software High performance data links — Maximum speed of G PI B — On-board buffering Software Over $1 ,000,000 in software development • Easy to use, yet handles any GPIB application • Works with Lotus 1-2-3 • UNIX, DOS and over 12 languages Applications Support • Applications Library with sample programs & TIPS for all major instruments • Full staff of Applications Engineers dedicated to sup- port your specific needs Other IEEE-488 Products • Interfaces & Software for — Multibus VMEbus — DECQ-bus&UNIBUS — STD&S-100bus • General GPIB Products - GPIB Bus Testers - GPIB Bus Extenders - Stand-Alone Controllers NATIONAL f 12109 Technology Boulevard Austin, TX 78727 1(800)531-GPIB In Texas (800) IEEE-488 Telex: 756737 NAT INST AUS ENGLISH RECOGNITION (Head), describer (Desc), and qualifier (Qual) packets. These are packets returned from calls to the other net- works. The NP packet has places for four features: number (Num), Person, question (Ques). and Case. Num may be singular or plural, no default Per- son may be first, second, or third, default third. Ques may be yes or no. default no. Case may be SUBJ (sub- jective), OBJ (objective), or POSS (possessive), no default. The current word under examination is kept in a packet of its own. The values in the packet are filled from the dictionary. The features of the current-word packet depend on the type of the current word. Associated with each arc in the network are initialize: (initializations), if: (conditions), and then: (actions). See table A. Any of these may be absent. The initializations require the definition of a new packet before calling a sub- network. The packet is empty except for defaults and the initializations. The conditions are checked after the word type on the arc has been matched with the current word or the subnetwork on the arc has reported success and has returned a packet. The current word may enter into these conditions. If the conditions are met, the actions are taken, and a transition to the next state may be made. Hold is a global variable used to temporarily hold a copy of a packet. When the copy is made, the source of the copy must be made empty as its emptiness is a flag for further action. Likewise, if Hold is copied somewhere, it must also be emptied. Table A: The transitions of the NP network. 1. then 5. then: 6. 7. 8. 9. 10. then: then: then: 12. 13. 14. 15. 16. 17. 18. NPNum = current-word. Num; NRQues = current-word.Ques; NRDet = current-word; none. then: Append current-word to NP.Desc; if: current-word. Num = = NRNum or NPNum is empty; then: NPNum = current-word. Num; NP. Head = current-word; NPNum = current-word. Num; NPPerson = current-word. Person; NPQues = current-word.Ques; NPHead = current-word; NPNum = current-word. Num; NPHead = current-word; Append current-word to NPQual; Success; NP. Case = NPHead.Case; return the NP packet; if: Hold is an NP; then: Success; Empty and return Hold; initialize: S/c.Subj = copy of the current NP packet; S/c.Mood = REL; S/c.MV = dummy VP = "to be" dictionary values; then: Append S/c to NPQual; initialize: Hold = copy of the current NP packet; S/r.Mood = WHREL; then: Append S/r to NPQual; then: Append current-word to NP.Desc; if: VPForm == PRESPART or PASTPART; then: Append VP to NP.Desc; if: current-word.Num == SINGULAR; then: Append current-word to NPDesc; not used. if: NPHead is not a pronoun; Note: The only thing being tested on this arc is the occurrence of the string 's indicating possession (POSS). then: Create a new NP packet; copy the current NP packet into the new NP packet; new-NRCase = POSS; set all NP values to defaults; NPDet = new-NP; not used. Note: If the current word is a conjunction, then the NP network is recursively called; if an NP is returned, form a list of these NPs. 132 BYTE • DECEMBER 1985 ENGLISH RECOGNITION A prepositional phrase is a sequence Form may be INFIN (infinitive), PRES- two features: voice and mood. The of words containing a noun phrase and ENT (present). PAST (past), PASTPART voice may be ACTIVE or PASSIVE, beginning with a preposition. Its (past participle), PRESPART (present default ACTIVE. The mood may be purpose is to modify or qualify a noun participle), or THIRDSING (third DECL (declarative), INT (interrogative), phrase. The PP (prepositional phrase) person present singular). Trans may be IMPER (imperative), BOUND (bound network builds a PP packet, which INTRANS (intransitive), TRANS by a binder), REL (relative), or WHREL contains pointers to Prep (preposition) (transitive), or BITRANS (bitransitive). (who, what, why, where, when relative), and Prepobj (preposition object) Type may be NONAUX (nonauxiliary. default DECL. These features are used packets. These are either packets that is, acting alone), BE, DO, HAVE, to report the form of the sentence and returned from calls to the NP network or MODAL (supportive words, such as to direct processing. or current-word packets. "can," "could," "may," "should," "must," The S/ network is shown in figure H. The verb phrase describes the action etc.). NP, PP. VP, S/, Jump, and Send refer taken in a sentence. It might be a single The S/ (sentence) network builds a to either a network to be entered or verb or a series of words. The VP (verb packet, S, that has places for pointers to special transitions to be taken. The phrase) network builds a VP packet to Subj (subject), DO (direct object), 10 other labels (Noun, Verb, Particle, that has pointers to Verb packets, (indirect object), MV (main verb), Binder, Rel, and so forth) are all word current-word packets of type Verb. Binder (binder), Auxs (auxiliaries), types or usages. They form a list starting at the VR Verbs Mods (modifiers), and QE (question The NP, VP, and PP networks match (verb phrase.verbs) pointer. Similar to element) packets. These are the noun phrases, prepositional phrases, a verb, the VP packet has Form (tense). packets returned from the NP, PP, VP, and verb phrases. The S/ network is transitivity (Trans), and Type features. and S/ networks. It also has places for (continued) 13 Prep (for) J^—~ y s " [ » 1 ( y s/« ) ( z ) \. 15 Comp ( to) s/ ' V^ r- 30: Binder/ /^^ •^-—^20-NP j / /19:Verb \ / 29 Verb ^^^ I / 27: Particle 12 Send 6.NP / \ \ / J NP 7: Jump / \ / 16 S/« 2VejJi__^^\ \ / [J 18.S/X / f^\( 21 NP ^V' " \^^ ^^s^V"^\^4 Verb ^ ~S/ ^~^ ~~~^s- Hers) 13 7 sec I4t sec 14 9 sec 261 sec 2190 sec Shell- Metiner SORT (Sybex -BASIC for Scientist's and Eng 2.000 5 char strings) 19 sec 28 aec 71 ate. 194 sec 2700 sec Executable Machine Lang & approx File size 12k 12k 32k N/A N/A PRICE with BCD BCD- No rounding errors) 89.95 109.95 450 00 N/A N/A PRICE without BCD 89.95 BCD FREE | "" 395 95 14995 Cornea with computer • Works the same on all micros • Uses same commands — regardless of computer make • Structured Basic — (spaghetti optional) • Device-independent graphics (same graphic commands on all computers) •6 — 54 digits Of precision (selectable by user) • Built-in interactive editor and compiler— to compile and execute, just type "run." • Choice of alphanumerics labels or line numbers • Chaining with shared variables Not copy protected— No Run Time Fees or Royalties One low price gives you everything — there are~no hidden costs. Only $89.95 complete. BASIC ... .. he lightening-fast BASIC from Zedcor To order use this coupon or call ORDERS ONLY: 1-800-482-4567 SCHOOLS - Call For Special Package Utah Residents --800-66? 8666 Alaska Residents 1-800-982-1500 INQUIRIES : (602) 795-3996 Mail to: ZEDCOR 3438 N. Country Club Road /Tucson, AZ 85716 (Name) (Address) (Apt) (City) (State) (Zip) (Day Phone) "KMmtrti o 1 AOCM C omp IAC MtCtfU nmalOignsinHH'CMnc TRS-tO* ■ -» Hvxty C«B TUHBOftUJCAl wn ■ndJo< CPU en [^] ZBASIC IBM PC/ Compatible {128K MSDOS20o'b»tier recommended) S8995 s | ZBASIC Apple 'it 0G $89 95 12BK Do* 3 3} I integral* to" & graphics] ZBASIC CPM-80 $8995 |Z-80-2 2ot30) (Provided on 5«t ' KAYPRO ll-SSOD Format) s , | KAYPRO graphtci version (tl 4. Wl $89 95 * _] ZBASIC TRS-SO I46K) $89 96 (Circle Model! 3 or 4-6 2) iH> Res Bds Supported) $ ! ZBASIC Macintosh (Delivery 4all US nOW for The High Performance Software^ more information on the QuickBASIC Compiler and the name of your nearest Microsoft dealer. Just ring (800) 426-9400. In Washington State, Alaska, Hawaii and Canada, call (206) 828-8088. Then go give your programs a swift kick. Microsoft is a registered trademark and The High Performance Software is a trademark of Microsoft Corporation IBM is a registered trademark of International Business Machines Corporation. ENGLISH RECOGNITION sentence is modified by the preposi- tional phrase "like an arrow." If "time" is a verb, however, then the sentence is a command (an imperative sentence). The subject is an implied "you," and "like an arrow" describes how to time the flies (nouns, things). Whether this makes any sense is unimportant to Higgins. The program doesn't understand what the words mean, just how they fit together in English. When we read or hear English, we process the words syntactically and semantically— by form and by mean- ing—at the same time so the ambigu- ity usually is not recognized. There- fore, the internal order Higgins uses Listing 1: The structure of packets built during sentence analysis. This example was created by an implementation of Higgins written in C. The exact form of the structure depends on the form of the sentence. See table 1 for the meanings associated with the numbers shown. What does the wine cost? Sentence: mood = 2, voice = 1 S.Subject: Noun phrase: number = 2, person = 8, case = 6, question = 6 NP Determiner: Pronoun: "what" number™ 2, person = 8, case = 6, question = 6 NPHead: Pronoun: "what" number = 2, person = 8, case = 6, question = 6 S.Direct object: Noun phrase: number = 6, person = 8, case = 6, question = 4 NPHead: Noun: "cost" number = 6, case = 6 S.lndirect object: Noun phrase: number = 2. person = 8, case = 6, question = 4 NPDeterminer: Determiner: 'the" number = 6, question = 4 NPHead: Noun: "wine" number = 2 case = 6 S.Main verb: Verb phrase: form = 40, transitivity = e, type = a VPVerbs: Verb: "does" form = 40, transitivity = e, type = a Table 1: The various numbers are hexadecimal representations of the binary values in that feature. The meaning of each bit is determined from the constant definitions in Higgins's implementation. For example, case=6 means both bit 1 and bit 2 are set on: this word can be either subjective or objective in its present form. mood = 2 interrogative voice = 1 active number = 2 singular = 6 singular or plural person = 8 third case = 6 subjective or objective question = 4 no = 6 yes or no form = 40 present tense transitivity = e intransitive, transitive, or bitransitive type = a do and modal in processing sentences may be of particular interest. To see how Higgins does it, try a few potentially am- biguous sentences. If Higgins doesn't process them the way you want it to, you may have to tinker with the code or perhaps simply limit the meanings of the words in the dictionary. Some features of English are dif- ficult to analyze without also incor- porating a great deal of knowledge about sentence meaning and context into the program. Surprisingly simple English can confuse poor Higgins. One feature that Higgins knows very little about is the simple conjunction, such as "and" or "or." Higgins can handle noun and verb phrases with embedded conjunctions, but that's all. The problem occurs when parts of the sentences are only implied, not specified. You and I have no problem with these because we understand the meaning of the sentence and fill in the missing phrases easily. Higgins doesn't understand meanings and can't fill in anything. The following sentences were taken from Terry Winograd's book Language As a Cognitive Process (Addison-Wesley 1981): 1. Paul and loy came to dinner. 2. They brought some yellow and purple flowers. 3. They gave loan a kiss and Eileen a hug. 4. We opened and drank some wine and ate falafel. 5. Paul liked to play tunes on the guitar, and Joy on the mandolin. 6. He played and she sang every old tune in the book. The first sentence contains a simple conjunction between noun phrases- no problem for Higgins. The second sentence has a conjunction of adjec- tives; Higgins doesn't know how to analyze these, but it can be modified to do so. In the third sentence, "they gave" is understood to follow "and" ("They gave Joan a kiss and they gave Eileen a hug."). In the fourth sentence, "we" is understood to follow the "and." In the fifth sentence, "liked to play tunes" is understood to follow "Joy." Finally, in the sixth sentence, [continued) 138 BYTE • DECEMBER 1985 * 4» M£*£MOa& It ■ MCSSBOFTS Inquiry 200 for End-Users. Inquiry 201 for DEALERS ONLY. SCIENTIFIC SOFTWARE On Line Databases It is often difficult to find the "right" software by means of a database search because of the general lack of precision of the search process. Either the number of "hits" will be large and most citations will prove to be of mar- ginal value, or the number of hits will be small because the search can find few records in the database that match the search profile entered. One reason you may end with a large number of hits is that vendors want you to see their entries even if they aren't of direct value to you. Therefore, the product description they put in the database is often overly generalized. Another reason this happens is because data- base suppliers want to have as many entries as possible, so they pay little attention to the package's quality or even its existence (apart from an announcement). Despite these drawbacks. 1 recom- mend the following three databases that may be of help to you in your search for scientific software. These are available through the Knowledge Index service of Dialog Information Services, 3460 Hillview Avenue, Palo Alto, CA 94304. There are also agents in other countries around the world. The ser- vice rates for these databases (at the time of this writing) are $3 5 initial fee for manuals and two hours of on-line use, and S24 per hour of on-line use thereafter. (Note that there are other database services that may provide these files.) • Menu— International Software Data- base (produced by Imprint Software Ltd.) • Microcomputer Index— (produced by Microcomputer Information Services, 1982) • Mathfile— (produced by the American Mathematical Society). The first two of these files focus on mini- and microcomputer software offerings, while Mathfile contains abstracts to the mathematical, statistical, and comput- ing literature, including application areas, and covers approximately 1600 journals. Search Aids Publications The following is a list of periodicals, catalogs, and reports that often discuss scientific software packages. Some of these sources are devoted to particular subject areas. This is not a complete list: there are other sources that offer reviews of interesting software. To ob- tain more information on these pub- lications, contact the addresses provided. • ACM Transactions on Mathematical Soft- ware. Although this periodical is main- ly devoted to mainframes, some of the material may be suitable to microcom- puters. Contact the Association for Computing Machinery, 1133 Avenue of the Americas. New York, NY 10036. *hdvances in Engineering Software. Some articles include program code. Micro- computers are increasingly being fea- tured in this magazine. Contact CML Publications, 125 High St., Southamp- ton SOI OAA. England. • American Statistician. This magazine in- cludes announcements of statistical software. It also has a regular statistical software review section. The emphasis is on microcomputer software. Contact the American Statistical Association. 806 15th St. NW, Washington. DC 20005. • AMSTAT News. This magazine is main- ly of value for its advertisements, which are directed at professional statisti- cians. It often lists workshops and meetings where software is to be dis- cussed Contact the American Statisti- cal Association. 806 15th St. NW, Washington, DC 20005. • BYTE: The Small Systems \oumal. This magazine provides monthly software reviews. Contact BYTE. 70 Main St.. Peterborough. NH 03458. • The College Mathematics \ournal. This journal has a regular software review column. Contact the Mathematical Association of America, 1 529 18th St. NW, Washington. DC 20036. • Computer Physics Communications. In- cludes a section on software but main- ly is of use to mainframe users. Con- tact North-Holland Publishing Com- pany, Box 211, 1000 AE Amsterdam, Netherlands. • Computers & Chemistry. Includes a reg- ular section on software and the Quan- tum Chemistry Program Exchange. Contact Pergamon Press Inc.. Maxwell House, Fairview Park. Elmsford, NY 10523. • Computers & Geosciences. Some pro- grams included, many of which are de- signed for, or could be adapted to, microcomputers. Contact Pergamon Press Inc.. Maxwell House, Fairview Park, Elmsford, NY 10523. • Computers & Structures. Discusses struc- tural engineering methods. A software survey section is being introduced. Contact Pergamon Press Inc., Maxwell House, Fairview Park. Elmsford. NY 10523. • Computers in Mechanical Engineering. The lanuary 1985 issue is devoted to micro- computer software for analysis and design. Other issues have included sim- ilar material. Contact the American Society of Mechanical Engineers, 345 East 47th St., New York. NY 10017. • Econometrica. Occasional discussion of microcomputer software. Contact Econ- ometric Society, c/o Department of Economics, Northwestern University, Evanston. IL 60201. • "Guide to Available Mathematical Software," National Bureau of Standards Report NBSIR 84-2824 (1984). Boisvert, R. F, S. E. Howe, and D. K. Kahaner. Contact National Technical Information Service. U.S. Department of Commerce, 5285 Port Royal Rd„ Springfield. VA 22161. • IEEE Micro. Includes announcements of microcomputer software. Contact IEEE Micro. 10662 Los Vasqueros Circle, Long Beach. CA 90720. • \ournal of Computational Chemistry. Sur- prisingly little discussion of software. Contact Wi ley/I nterscience Scientific lournals, 605 Third Ave., New York, NY 10158. 146 BYTE • DECEMBER 1985 Inquiry 147 SCIENTIFIC SOFTWARE • \ournal of Computational Physics. Covers only a few software packages and has a mainframe bias. Contact Academic Press Inc., 1 1 1 Fifth Ave.. New York, NY 10003. • Journal of Forecasting. Occasional discussion of software, including that for microcomputers. Contact John Wiley and Sons, 605 Third Ave., New York, NY 10158. • journal of Microcomputer Applications. In- teresting material with some scientific applications, e.g., medicine and astron- omy, but little direct treatment of soft- ware. Contact Academic Press Inc., 1 1 1 Fifth Ave., New York, NY 10003. • Physics Education. Includes software reviews, mainly for microcomputer pro- grams. Contact the Institute of Physics. Techno House. Redcliffe Way, Bristol BS1 6NX, England. • Science and Engineering ( 1 984 software catalog). Short listings on over 4300 programs, mostly for microcomputers, indexed by subject and applications. Contact Elsevier Science Publishing Company, 52 Vanderbilt Ave., New York, NY 10017. • "Scientific Word Processing," SIAM News. Wong, P. K. November 1984, page 8. A review of several packages from a mathematician's perspective in the newspaper of the Society for Industrial and Applied Mathematics (SIAM). Related articles frequently appear. Contact SIAM, 1405 Architects Building, 117 South 17th St., Philadelphia, PA 19103. • Simulation. Technical journal of the Society for Computer Simulation. Simulation Councils Inc.. POB 228, La Jolla, CA 92038. Periodically includes a software catalog that has a specific section for microcomputers. • 1984 Guidebook to Statistical Analysis and Graphics Software for Microcomputers. Goss, T. I. One of the more useful directories in the statistics subject area. Available from Goss, Gilroy and Associates, 124 O'Connor St.. Ottawa, Ontario, Canada KIP 5M9. mentation of work in a number of fields, such as a word-processing sys- tem for mathematical or scientific systems or a statistical package. Alternatively, the package may have been designed primarily to educate users in a certain subject area rather than to provide serious computa- tional power to practitioners. An ex- ample of this kind of program is one that illustrates how simultaneous linear equations are solved or one that prepares test questions in a specific discipline from a master set. Style The way a software producer presents and packages his creation is the fac- tor that most often causes buyers to rave or curse about software. If several software packages can perform the same function, style may become the hinge of your buying decision. To determine if a program's style suits you, you should consider three things— the way in which the program must be used, the level of satisfaction or frustration you experience while using it, and the suitability (or fit to application) of the program's packag- ing and documentation. Although it is relatively easy to list the features of a software product, even extensive reviews may fail to capture the style of the product. The expanding availability of demonstra- tion disks (especially those that allow you to try all of a program's functions) is to be welcomed as an aid to soft- ware selection. The three subdivisions of software I described earlier— software de- signed to perform certain tasks, to be used as a tool, or to be used as a teaching aid— can also be applied to the discussion of style. Early scientific software took the form of single programs or subrou- tines (tasks) (for example, the col- lected algorithms of the Association for Computing Machinery). Libraries of subroutines are still a common and useful form of software packaging. However, unless source code is avail- able, this form of packaging requires that you write driver programs and {continued) FoxBASE. The Multi-user DBMS Everyone Can Get Their Hands On. FoxBASE" is the only multi-user relational DBMS that's source compatible (including full macro usage) with dBASE II® Existing dBASE II databases can be used unchanged. What's more, because it's written in C, FoxBASE is extremely portable. Applications need not be changed when porting from one machine or operating system to another. FoxBASE features full file and record locking capabilities, maintenance of a B+ Tree index structure, and a two billion record file capacity. FoxBASE uses termcap so it can run on most terminals. Multi-user Versions: Xenix® $995. MultiLink" $995. IBM-PC Net" $995. Single-user Versions: MS/PC-DOS'" $395: AOSIVS $995. Don't be outfoxed by the others. Call or write Fox Software today. FOX SOFTWARE, INC. 27475 Holiday Lane, Perrysburg. OH 43551 419-874-0162 DECEMBER 1985 -BYTE 147 SCIENTIFIC SOFTWARE Software Tools for Scientific Computations There are a number of software prod- ucts that attempt to cover most aspects of scientific computation. Others pro- vide a toolbox for a given area of ap- plication, lack Dongarra looked at some of these and provided much of the information below. General Scientific Software Collections • math/library $440; $320 for universities This selection, which is from the well- known 1MSL subroutine library, is for use on an IBM PC or PC XT with Micro- soft FORTRAN 3.2 under MS-DOS 2.0. It contains 540 mathematical subrou- tines to solve for differential equations and integration, eigensystem analysis, error functions, gamma functions, in- terpolation, approximation, smoothing, linear algebraic equations, nonlinear equations, optimization, and vector/ matrix arithmetic and sorting. Both single- and double-precision versions of the routines are available. Contact IMSL Inc., 7500 Bellaire Blvd., NBC Building, Houston, TX 77036-5085. • microSUB:MATH $2 50 This program consists of a set of FOR- TRAN subroutines in relocatable- object form. The subroutines cover special math functions, interpolation, integration, matrix/linear systems, polynomials/nonlinear systems, and dif- ferential equations. Contact Foehn Consulting. POB 5123, Klamath Falls, OR 97601. • NAG FORTRAN PC50 Library $345; 20 percent off for universities This package consists of 50 routines from the NAG FORTRAN library. It can be run on the IBM PC with Microsoft FORTRAN 3.13 under MS-DOS 1.0 (or later) and on the IBM PC XT with Mi- crosoft FORTRAN 3.2 under MS-DOS 2.0. The routines cover a wide range of subjects in numerical and statistical computing, including root finding. Fourier transforms, quadrature, ordi- nary differential equations, optimiza- tion, linear algebra, basic statistics, ran- dom numbers, linear programming, and special functions. Contact Numerical Algorithms Group Inc.. 101 1 31st St., Suite 100, Downers Grove. IL 60515. • The Scientific Desk One-time fee of $480; maintenance fee $84 per year This library of subroutines can be called by a user and embedded in his or her program. The package has a set of applications program menus called Problem Solving Environments (PSEs). The PSEs provide the user with a set of commands that are familiar to the subarea and can be used without pro- gramming. They provide programs in the following areas: simultaneous linear-equation solving, vector/matrix arithmetic, inversion, matrix-condition estimation, and statistical inference and estimation. They can handle real ma- trices stored in two-dimensional form, calculate the roots of polynomials, eigenvalues, and eigenvectors for real square matrices. Contact C Abaci Inc.. 208 St. Mary's St.. Raleigh, NC 27605. Software for Linear Algebra • LEQB05 $50 This small linear-algebra algorithm package (of BASIC source code) con- sists of a number of subroutines and three driver programs that, on most computer systems, can be loaded si- multaneously. The programs solve the following types of equations: linear least-squares problems, linear equa- tions problems, matrix inverse. Moore- Penrose generalized matrix inverse, matrix eigenvalue problems for sym- metric matrices, and nonlinear least- squares problems. Contact C. Abaci Inc.. 208 St. Mary's St., Raleigh. NC 27605. • UNPACK $75 This collection of FORTRAN subrou- tines analyzes and solves linear equa- tions and linear least-squares prob- lems. The package solves linear sys- tems whose matrices are general. banded, symmetric indefinite, sym- metric positive definite, triangular, and tridiagonal square. The routines are available in single-precision, double- precision, complex, and double- precision complex. Contact IMSL Inc.. 7500 Bellaire Blvd., NBC Building. Houston, TX 77036-5085. •PC-MATLAB $695 This highly optimized second-genera- tion MATLAB for the IBM PC has been completely rewritten in the C language. New features of the program include graphics, user-defined functions. IEEE arithmetic, test data types, fast- compiled FOR and WHILE loops, and many new analytical commands. The program is available from The Math Works Inc.. 124 Foxwood Rd., Portola Valley, CA 9402 5. Software for Nonlinear Equations • SEQS (The Simultaneous Equation Solver) $100 This program handles up to 20 equa- tions with 20 variables: it is made for the Apple 11+ and lie. Contact CET Research Group Ltd.. POB 2029. Nor- man, OK 73069. • TKISolver $299 This program also solves equations, but it provides a worksheet-like user in- terface. For more information, see TKISolver" by Alan R. Miller. December 1984 BYTE, page 263. Con- tact Software Arts Inc., 27 Mica Lane, Wellesley MA 02181. Software for Mathematical Programming •LIPS $80 • LPSUBS $99 These two products consists of FOR- TRAN subprograms for Large-Integer Programming (LIPS) and Linear Pro- gramming (LPSUBS) problems on the IBM PC. It is available from Software Designs 2000. POB 13238, Albuquer- que, NM 87192. 148 BYTE • DECEMBER 1985 o&nl Ko. dOvd® JFoWKnl GQQnafl® Intelligent Computer Designs XL series S-100 products offer the latest in state-of-the-art designs. Our slave products, the 8-bit XL-DLZ80 and the 16-bit XL-DL88, feature two slaves on one card, enabling system integrators double the number of users previously possible. The XL-M180, a high-performance system master for single or multi-user applications, complete with hard disk, streaming tape and floppy capabilities introduces something new. An onboard Local Area Network with up to 5Mbps transfer speed. With it, interfacing other XL-M180's or even IBM-PC's is a snap! If you think ICD has solutions for your systems' needs, write or give us a call. XL-DL88 XL-M180 XL-DLZ80 Q> 2 completely independent slaves Bmhz 70108 processor 1 28k to 51 2k memory expansion 4 serial communication channels DMA transfers to/from system master CP/M 86, MS-DOS, PC-DOS. TurboDOS compatible High performance HD64180 uPD 51 2k memory with burst refresh 5Mbps local area network 4 bi-directional parallel ports 2 serial ports 1 clocked serial port Pipelined architecture Z SYSTEMS O/S available Hard disk controller/Streaming tape option All digital floppy disk controller Extended instruction set Programmable instruction set 20 level interrupt structure Over 80 I/O ports Software programmable baud rates 2 Z80H 8mhz processors V4 megabyte memory 2 190k local drives 4 serial ports Draws only 700 millilamps No wait states CP/M. MP/M, TurboDOS compatible All ICD products have a one-year part/ labor warranty. '^WC* 9 3S S Oft r Oen Or, °* e 8° W< *»»/» Ga r °e, «e/x '"Qr, Ov e n 9uiry CA XL-SERIES is a trademark ol Intelligent Computer Design; CP/M is a trademark of Digital Research Corp PC-OOS is a trademark of IBM Corp MS-DOS is a trademark of Microsoft Corp Turbo-DOS is a trademark of Software 2000, inc Z SYSTEMS is a trademark of Micromm Inc 'as for **«. °*4L ?1 4 Ens 638., °*iy 36 ?2i ''*** 31 *6 59 . ""SLL Co, "fc-oo 1 SCIENTIFIC SOFTWARE For your own protection, you should be aware of the quality of a scientific program before you buy it. learn how to link to the compiled sub- routines. More recently, the microcomputer has come to be viewed as a worksta- tion, which in turn has led to the de- velopment of more scientific software in the form of command- or menu- driven packages (tools) that do not re- quire that you program them. As the command set becomes richer, you are given more control over data manipu- lation, and you can group commands into procedures that are interpreted, compiled, or otherwise processed for execution. The end product is a new programming language in all but name. Another approach some software developers take is to provide a pro- totype program that is designed to be easily modified by the user (the Microcomputer Software for Econometric Modeling and Forecasting This list illustrates the variety of soft- ware that may be available for a given subject area • ESP (The Econometric Software Package) $795 This package uses menus, function keys, and commands to build a special- ized language for estimation, forecast- ing, simulation, and analysis. Contact Alpha Software Corporation. 30 B St., Burlington. MA 01803 • Horizon/370 Software for the AT/370 One-time fee of $50,000: maintenance fee is $5000 per year This forecasting workstation incor- porates econometric forecasting and time-series techniques. Contact Chase Decision Systems. 1000 Massachusetts Ave.. Cambridge. MA 02138. • INSTAT-QF $19.95 The QF stands for "quick forecaster." This program is for the IBM PC or PC XT. It uses AR1MA modeling and is menu-driven. The price of both pro- grams is more than reasonable. Con- tact Statistical Consulting Services, 517 East Lodge Dr.. Tempe. AZ 85283. • MICROB) $295 This ARIMA system is based on the Box-Jenkins philosophy It is for the Apple II or IBM PC. Contact Stratix. POB 1014, Woodinville. WA 98072- 1014. • Nuametrics $195 This econometrics package uses single- and multiple-regression techniques for statistical analysis and forecasting. Con- tact Stratix, POB 1014, Woodinville, WA 98072-1014. • RATS (Regression Analysis of Time Series) $250 This is a comprehensive command- driven system for knowledgeable users of the IBM PC. The summary listing of commands is 1 2 pages long, so it's not a product you can just switch on and use. A hard disk is not mandatory, but it helps. The program is available from VAR Econometrics. 134 Prospect Ave. S, Minneapolis, MN 55419 • XTRAPOLATOR $195 This is an automatic forecasting system. Contact Stratix. POB 1014, Woodinville, WA 98072-1014. teaching aid approach). You can adapt it to particular tasks or personal pref- erences. This approach is not widely used commercially, partly because there are difficulties in protecting the authorship of programs. Quality The degree to which software per- forms as claimed is far too often taken for granted. In scientific computations, subtle in- teractions between the problem pre- sented and the floating-point arith- metic used to solve the problem may dramatically alter the results a pro- gram obtains. Thus, scientific software must operate correctly on the tasks it shares with such programs as word processors or database managers. However, it must also be produced in such a way that the approximations and iterative processes it uses give results that well-informed users con- sider reasonable. Alternatively, diag- nostic information that allows trouble- some situations to be understood and corrected in an appropriate way must be output. For your protection, you should be aware of a program's quality before you buy it. This means you should pay attention to reviews by competent professionals in the field, the docu- mentation of authorship, methods of program development, the history of the software, and the reputation of the software producer and vendor. Conclusion The text boxes "Software Tools for Scientific Computations" on page 148 and "Microcomputer Software for Econometric Modeling and Forecast- ing" at left list a number of scientific software packages. However, with the development of new products and the improvement of existing ones, this in- formation will soon be dated. In order to obtain more up-to-date informa- tion, you should also consider the following sources: reviews in scientific journals, reviews in computer journals and magazines, publications dedicated to scientific software and its uses, and public-access software databases. ■ 150 BYTE • DECEMBER 1985 There is KPP^IA#»*I *%lr W^^ |\003K Diskettes till inch diskettes *LS* A 3£^ « ^ rausn With all the care and precision that goes into every Kodak diskette, it's only natural that you'd expect extraordinary performance. And that's exactly what you'll get. You see, Kodak diskettes are made for any appli- cation where trouble-free performance is essential and data protection is critical. For openers, every Kodak diskette has the stam- ina to sustain signal strength far above industry performance standards, even after millions of read-write passes. Every Kodak diskette is individually tested for read-write performance over every sector, every track. And it's not until those tests and many others are completed that > Eastman Kodak Company, 1985 Kodak diskettes are certified error-free. Naturally, every Kodak diskette is backed by our Per- formance Guarantee, which promises a free replace- ment in the unlikely event that a Kodak diskette is defective. No other warranties are expressed or implied. You'll find Kodak diskettes at computer stores, office supply dealers, and other retail oudets. In standard- density 8- and 5V4-inch formats, plus high-density S^-inch diskettes, and 3Vi-inch micro diskettes. The Kodak diskettes. Performance without the fine print. KODAK. The name says it all. milium COMPAQ could have stopped here 'smmws. COMPAQ* is a registered trademark, COMPAQ PORTABLE 286™ and COMPAQ DESKPRO 286'" are trademarks of COMPAQ Computer Corporation. IBM* is a registered trademark; IBM Personal Computer AT™ is a trademark of International Business Machines Corporation.© 1985 COMPAQ Computer Corporation 152 BYTE • DECEMBER 1985 ...but we didn't. Presenting the COMPAQ DESKPRO 286? More features, more speed. . .more power. Most people think the IBM* Per- sonal Computer-AT™ holds the records for speed, memory, and storage. But COMPAQ" has a per- sonal computer that pushes the technology much further. A faster computer Most computer companies would have been satisfied with a com- puter that ran programs as fast as the IBM PC-AT. But not COMPAQ. The COMPAQ DESKPRO 286 runs all the popular programs 30% faster. Work alone or network Most would have been content with 3 Megabytes of memory, the IBM PC-AT's maximum. But again, not COMPAQ. The COMPAQ DESKPRO 286 can expand to 8.2 Megabytes. And most would have been com- fortable with 40 Megabytes of stor- age, the IBM PC-AT's maximum. But we designed the COMPAQ DESKPRO 286 to expand up to 70 Megabytes so it can become a faster, more powerful network file server. Like the IBM PC-AT, COMPAQ offers 360-K byte and high -capacity 1.2-Megabyte diskette drives. But we didn't stop there. We offer you more. Like the internal fixed disk drive back-up system pioneered by COMPAQ, to protect all the data on your 20-, 30-, or 70-Megabyte fixed disk drive system. There's room to accommodate up to four storage devices. No compromises The COMPAQ DESKPRO 286 offers a monitor that displays both high-resolution text and graph- ics. To get the same feature with the IBM PC-AT, you'd have to pay considerably more. In short, with the COMPAQ DESKPRO 286, you don't get com- promises. Just a more powerful, more advanced, more com- plete personal computer for anyone who demands the utmost in performance. And if you need all this power to go, we also offer it in a package half the size of an IBM PC-AT, complete with a handle. It's called the COMPAQ PORTABLE 286™ Portable or desktop, COMPAQ offers comput- ers without equal. Because we design them without compromise. For a free brochure or the location of your near- est Authorized COMPAQ Computer Dealer, call toll- free 1-800-231-0900 and ask for operator 7. comma It simply works better. ©Gfflffim WOULD YOU BUY A PACEMAKER FROM MATTEL? IBMI PC-based LOGIC LINE-1 ™ artificial intelligence software is so advanced, that competitive products are toys by comparison. There aren't very many who'd stake their lives on a toy-store pacemaker. Luckily, we won't have to worry about their rancid cells polluting mankind's gene pool very long any- how. Such brain-damaged geeks tend to die young. If you've recently spent money on artificial intelligence software, you might be wishing a few programmers had croaked before writing that blithering swill they named AI and pal- med off onto you. What they call an "inference engine" is nothing more than an IF-THEN decision tree that can't even do a very good job of arithmetic* We're Clarity Software, and we're introduc- ing a product that can take a massive amount of text from any machine-readable source, and mathematically distill thought processes for query and analysis. This process, as dis- tinguished from expert systems, is referred to as natural-language intelligence. In this ad, we're going to explain to you why you'd be crazy not to have our package in your portfolio of data-manipulation assets. DERIVE THE DNA/RNA OF ANY WRITER'S THOUGHT PROCESSES. LOGIC LINE-1 was the result of the inter- action between a couple of cyberneticists and a physicist, with combined experience in high-performance learning and pattern-recog- nition programming. The physicist was responsible for one of the first DNA/RNA- tracking systems (the RNA-of-thought asser- tion is more than just an advertising creation). We are not your ordinary bunch of yahoos. Imagine having the collected thoughts of Voltaire online. If you were interested in view- ing Voltaire's thoughts on "job security;' you would enter that term in the search menu. Now you're thinking: "Nuts! These yahoos are trying to sell me something my sup- posedly toy text editor can do with a search command. Right?" Wrong, pussycat. Your inference process was a little quick on the trigger. Never, in any of Voltaire's writing, was there ever the phrase "job security!' "Ok!' you reply. "You have a dictionary of synonyms, eh?" Wrong again. LOGIC LINE- 1 has no dictionary. Interesting? Essentially, LOGIC LINE- 1 uses a series of mathematical transformations on text, the out- put of which is cataloged in a database analo- gous to a biological DNA/RNA imprint of that text. There are approximately one dozen param- eters that make up a thought's DNA/RNA. Some transformations fingerprint syntax pat- terns; some look at subject/predicate rela- tionships via a small dictionary of several dozen noise words. After setting up the above Voltaire "job security" query. LOGIC LINE-1 will present you with high-possibility "hits!' You will type " Y" when they are relevant, and "S" for skip, when they are not. The first several "hits" might be rejected, since the term "job security" will not be found. Once you get an acceptable entry, however, and lock onto an acceptable RNA-of- thought pattern, the accuracy of LOGIC LINE-1 will be staggering. Or we'll refund your money. Simple enough? "I'M NOT INTO VOLTAIRE',' YOU SAY. "WHY DO I NEED LOGIC LINE-1?" How would you like to be able to turn any textbase into an expert system? For example, most PC users rely upon word processing. The problem is, we store our correspondence in files with names like "LT062185" or "REJECT21" or "RANDOMTH!' As a result, we reinvent the wheel with each letter we compose. Why do this? Using LOGIC LINE-1, you can append all your written correspondence into one textbase file. Sure, any word processor could do a straight search for a term like "quality!' But none can do this search as fast as LOGIC LINE-1. And none could turn up the "quality" references if queried for the term "workmanship!' Thus, when writing letters and speeches, use LOGIC LINE-1 to collect previously articulated thoughts on any given subject. Whatever your profession, be it law, medicine, engineering or information management. LOGIC LINE-1 is an indispensable tool for true thought processing. Now that thousands of textbases are pub- licly available, LOGIC LINE-1 is the key to their intelligent use. Once the computer estab- lishes associative links in a large body of material, many creative applications are pos- sible. TRUE AI! CLONE THE GREAT MINDS ON YOUR PC. Did Bacon write Shakespeare? Did Albert Einstein have anything relevant to say on the subject of "generation gap?" How many con- gressmen consistently contradict themselves in the Congressional Record? The uses of LOGIC LINE-1 are limited only by the availability of textbases, and by your imagination. Do you dare send a student to college with- out LOGIC LINE-1 and a PC? Would YOU care to compete in business with someone else who has this leading-edge, decision-sup- port software? Einstein should write your papers on rela- tivity. Alfred North Whitehead should write your papers on philosophy. And Shakespeare should write your love letters. 1985'S SPECIAL $100 LIMITED-TIME OFFER WILL BE HISTORY IN 1986. This is our very first, and only, announce- ment ad. For the rest of this year, you may obtain LOGIC LINE- 1 for only $ 1 00 (note, we didn't try to fool you with a $99.95 price tag; we do give you, as well as your computer, some credit for intelligence). As of January 1 , 1986, LOGIC LINE-1 will retail for $250. To find out more about LOGIC LINE-1, call 216/729-1132. You may order by phone by calling 800/621-5839 (or in Illinois, call 800/972-5855). Return the product for any reason whatsoever within 30 days for a full refund. If you are with the US government or one of the intelligence spook shops, LOGIC LINE-1 is available to federal/DOD buyers through IBIS Corporation, 131 Elden Street, Herndon, VA 22070 (call 800/532-3344 or 703/478-0300). You COULD spend your next $100 for other software. You could also ask Weird AI Yankovic to install that terrific new pacemaker from your kids' Young Doctor toy kit. Call today and save more than just money. CLARITY SOFTWARE. A Div. of EXPANSION PGMS INT'L, Inc. P0 BOX 839 • Chesterland, OH 44026 • USA (216)729-1132 *The only other package out there worthy of the label "artificial intelligence" is from Teknowledge in Palo Alto, and we don't compete with them. They build "expert systems!' while our emphasis is on "natural language" systems. We mention them in passing, because they're one of the few "good guys!' Copyright © I985by Clarity Software. LOGIC LINE-1 r " is a trademark of Clarity Software, and requires a I28K IBM PC with at least one diskette drive and runs under MS/DOS 2.1 and up. IBM" IBM Corp. MATTEL"' Mattel. We hope the swell people at Mattel can take a joke. Advertising & PR byTRBA. 408/258-2708. Inquiry 60 PROGRAMMING INSIGHT VIRTUAL FIELDING IN MICROSOFT BASIC BY C R. J. CURRIE A method for handling files with large record lengths THIS ARTICLE DESCRIBES a tech- nique for handling files with record lengths exceeding a sector on Micro- soft BASIC (MBASIC) systems. I origi- nally devised this technique for use on Tandy's TRS-80 Models I. II. and III, which have sector lengths and max- imum record lengths of 2 56 bytes, but it should be usable with little or no change on most versions of MBASIC. Your version of BASIC should be able to automatically handle variable- length records of a size less than the system's maximum. On the TRS-80s and other systems with short maximum record lengths, the usual method for handling long logical records is called span block- ing. Fields of the records are written to disk one by one. Before each is written, the position of the start of the field within the physical sector is cal- culated. If the field will then overflow the sector, the extent of the overflow must be determined, the field split into two, and the remainder written to the next sector. The calculations are then repeated for each successive field. The procedure is slow and cum- bersome. In more advanced versions of MBASIC, including those running on machines that use microprocessor or the Intel 8086 its derivatives, there is automatic span blocking: logical record lengths up to 32 K. bytes can be handled directly. Nevertheless, you will encounter two serious dif- ficulties when you manage such long records. First, the FIELD statement can only cope with buffers up to ap- proximately 7K bytes. Second, MBASIC allows the program to ad- dress only 64 K bytes of memory (one segment if the 8086 is used). You must reserve file buffers before enter- ing BASIC, and the space they use is deducted from the memory available for programs and data. Moreover, the space you reserve for every buffer must equal that needed for the largest file buffer. Thus, if you need to han- dle a large data file with 20K-byte records, using two other index files each with a much smaller record length, you still must reserve 60K bytes, which leaves hardly any space for the program. In some cases, where the total space used by the file buf- fers exceeds 64 K bytes, the system will appear to leave more memory— but that is deceptive and potentially disastrous, since some of the file buf- fers may in fact be mapped onto the program area. Therefore, the very large file buffers that the system seems to permit are virtually useless. By contrast, the "virtual-fielding" method, which uses a virtual-memory technique to control the buffers, allows you to handle up to 15 files simultaneously, with combined record lengths of 300K bytes on the 48K-byte TRS-80 (or half a megabyte or more on a 128K-byte machine running MBASIC-86). The virtual-fielding method requires no span blocking and does most of the few needed calculations only once at the begin- ning of the program. Moreover, you can treat each long record (for pur- poses of data transfer, hash coding, or tree searching) as a single logical record. Compared with span blocking, there is usually a waste of some disk space, but it should never be as much as 1 percent within each logical record. Since span blocking general- ly wastes a little space in the last sec- [continued) C R. I. Currie (Institute of Historical Research, Senate House, Malet Street, Lon- don WC1E 7HU, England) has been involved since 1981 with the use of microcomputers in the fields of historical research, writing, and publishing. DECEMBER 1985 -BYTE 155 VIRTUAL FIELDING tor of each file, virtually fielded files will seldom be longer than span- blocked files. The technique requires that you reserve an area of high memory for the record buffers of long files. The area must be slightly greater than the longest record length used in the files that the program accesses, and you must protect the area when you enter BASIC from the operating system. In MBAS1C, you type MBASIC /M.nnnnn from the operating-system prompt, where nnnnn is the address above which the memory is to be protected. The same area of memory will be mapped to handle all the files' logical records. You already own a computer that can talk. Now let it. Now you can upgrade almost any personal computer and make it more powerful than ever, by giving it the power of speech. The Votrax Personal Speech System is the least expensive sophisticated voice synthesizer available today. The PSS's text-to-speech vocabulary is virtually unlimited, and you can define an exception word table and custom- ize your translations. So the PSS can say just about anything 1 It's a speech and sound specialist. The PSS can also mix speech and sound effects or speech and music. It contains its own speaker a programmable master clock, 256 programmable frequencies, a program- mable speech rate for a more natural rhythm, and 16 programmable amplitude levels for incredible control of word emphasis. You can control the volume. Plus, it doesn't use any of your computer's valuable memory It's computer friendly. The PSS is unbelievably easy to use. ft doesn't need an interface card for most computers. It comes with standard serial and parallel ports. Speech, music, and sound effects are as simple as printing out a document What do you do with a talking computer? There are countless practical applications. Businesses may want the PSS for spoken transmission of information, narration of displays, and product demonstrations It makes verification of data input possible for the blind. It can be part of a burglar alarm system. Children can use the PSS as a study aid. And it helps games come alive, speaking while you play Whatever your computer can do, the PSS can help it do it better at a cost that makes it all worthwhile: only $395* Call (3 1 3) 583-9884 to hear an actual voice demonstration of the PSS. "Suggested retal price There's also the Type 'N Talk. If you want a less sophisticated unit and want to spend a little less, consider the Votrax Type 'N Talk (TNT). Its vocab- ulary is also limited only by what you can type. It doesn't use any computer memory it's compatible with most computers, and rt's only $249* Just plug it in to your own speaker and go! For more information about the Personal Speech System or the Type 'N Talk, see your local computer retailer call toll-free or write: jU V^i -I/A\ Troy Michigan 48083 1-800-521-1350 (In Michigan, call colled 313-588-0341) The management program must know the number of files, their record lengths, and the number and lengths of the fields in each file. For each file, an initialization routine calculates the number of 2 56-byte sectors required for each logical record and then cal- culates a standard buffer length. If the logical record length is (or is just one byte short of) a multiple of the sector length, the routine assigns a 12 8-byte buffer. In other cases where the record length is not an exact multiple of the sector length, the buffer length will be less than 2 56 bytes, and the record length will be rounded up to a multiple of the buffer length. Each buffer will be treated as a single field for interaction with the interpreter. Single-dimensioned arrays (one of in- tegers, the other of strings) hold the file buffer lengths and the buffer field variables. The number of elements of the arrays is the number of files to be handled. A third array of dummy strings is set up at the same time; the length of each string element is set to that of the corresponding file buffer. You can then open the files with the appropriate buffer lengths. Next, the routine sets up a two-di- mensional array of strings for the logical fields. One dimension's size equals the total number of files; the other dimension's size is the largest number of fields used in any file. For each file, the routine points the ap- propriate strings in the array sequen- tially at the protected memory buffer by manipulating the array's VARPTR function. All the logical records are thus mapped onto the same area of memory, a safe process because only one file can be read from or written to at any time and because the buf- fer is only used for temporary storage. When the routine writes a record, it transfers data to the fields in the memory buffer using the LSET or RSET block-move commands, just as if the fields were ordinary field vari- ables. It then uses the appropriate dummy string as a window and steps across the memory buffer by manip- ulating the pointer to its address. After each step, it uses LSET to trans- (continued) 156 BYTE • DECEMBER 1985 Inquiry 371 »•»: H r ■ii _V Wl-^ dflRH if Staying Well informed can keep You well ahead, CompuServe's Got big News for you. Introducing the Executive News Service and state of the art access to all the news you need. CompuServe's exclusive Executive News Service is an electronic clipping service that puts the power and scope of the entire Associated Press news wire at your finger- tips. Simply enter words or phrases that interest you . . . from business to politics to hometown news. The Executive News Service then screens all state and national AP wires around the clock and files selected stories for reading at your con- venience. Then there's USA TODAY Update, with late breaking business information available Inquiry 71 for quick analysis by busy executives. USA TODAYs editors monitor hundreds of national and international news sources to bring you the latest, most important developments. General news reports are updated hourly. Reports for specific indus- tries are provided daily in a concise, executive summary format . Or access The Washington Post , with its fingers on the pulse of the national political scene. CompuServe delivers it all, plus a variety of other information , entertainment and communications options. You can access CompuServe with almost any computer and modem, terminal or communicating word processor. To buy a Subscription Kit , see your nearest computer dealer. To receive our informative brochure, or to order direct , call 800-848-8199 (In Ohio, call 614-457-0802). Or send this coupon today. YES. Please send me your CompuServe Information Services brochure. City_ Slate _ _Zip. Business Phone _ CompuServe Information Services RO. Box 20212, 5000 Arlington Centre Blvd. Columbus. Ohio 43220 800-848-8199 i In Ohio, call 614-457-0802 ENS-412 i An HSR Block Company VIRTUAL FIELDING Listing 1 : A short demonstration program. 10 REM DEMO LONG BUFFER PROGRAM FOR TWO FILES:MULTIFILE METHOD. 11 ' C.R.J. CURRIE. 18 DECEMBER 1984 14 ' 15 REM *"* CLEAR (STRING SPACE IF NEEDED), SET SAFETY MARGIN 20 ' FOR MBASIC-86, USE 600: FOR TRS-80, USE 10 24 ' 25 CLEAR 5000:DEFINT F:MG = 600 26 ' 27 REM •*" DETERMINE ADDRESS OF PROTECTED MEMORY BUFFER 28 ' LINE 30 MUST BE EXECUTED BEFORE ANY OTHER STRING WORK 29 ' 30 A$ = A$:HI = PEEK(VARPTR(A$) + 1 ) + PEEK(VARPTR(A$) + 2)*256:HI = HI + MG 40 REM *" FOR TRS-80 MODEL l/lll USE: 41 REM "*• HI = PEEK(16561) + PEEK(16562)*256:HI = HI + MG 42 ' 43 REM *** MOD FUNCTION IF YOUR BASIC LACKS IT 44 ' 45 DEF FNMD%(A,B%) = A-(INT(A/B°/o)*B°/o) 49 ' 50 READ NF%:DIM F$(NF°/o):' NUMBER OF FILES 57 ' 58 REM *** TEST ON TWO EXISTING FILES FOR DEMO PURPOSES 59 ' 60 FOR N°/c = 1 TO NF°/o:PRINT"NAME OF FILE NUMBER";N°/o;" ";:LINE INPUT F$(N°/o) 70 NEXT 79 ' 80 GOSUB 6000: REM "*" INITIALIZE BUFFERS 87 ' 88 REM *** DEMO ARRAY 89 ' 90 DIM B$(FO(1)) 297 ' 298 REM *"* DEMO READ (E.G., OF EXISTING TEXT FILE) -SECOND RECORD 299 ' 300 FOR MO/o=1 TO NF% 310 KT$ = TIME$:RC = 2:GOSUB 1000:GOSUB 700:FOR N%=1 TO FO(M°/o):PRINT B$(N°/o);:NEXT N%,M%:CLOSE:END 497 ' 498 REM *•" WRITE VARIABLES TO MEMORY BUFFER: DEMO ONLY 499 ' 500 FOR N°/o=1 TO FO(M°/o):LSET FA$(M°/o,N°/o) = B$(N%):NEXT:RETURN 697 ' 698 REM *** READ VARIABLES FROM MEMORY BUFFER:DEMO ONLY 699 ' 700 FOR N%=1 TO FO(M°/o):B$(N%) = FA$(M°/o,N°/o):NEXT:RETURN 997 ' 998 REM *** READ RECORD FROM DISK-INVARIANT; M°/o = FILE NUMBER, RC = LOGICAL RECORD NUMBER 999' 1000 FSTART! = HI:FOR N%=1 TO NBUF%(M°/o) 1020 GET M%,(RC-1)*NBUF%(M°/o) + N% 1024 ' 1025 GOSUB 23000:REM *** MOVE WINDOW THROUGH MEMORY BUFFER 1029 ' 1030 LSET FC$(M%) = FB$(M%):NEXT 1050 RETURN 1997 ' 1998 REM *** WRITE RECORD TO DISK-INVARIANT 1999 ' (continued) fer the contents of the memory buf- fer to the file buffer and that buffer is written to disk. A loop handles these operations easily. Tb read a record, the routine reverses the pro- cedure, lb ensure that the logical field strings keep pointing at their correct places in the memory buffer, you need only avoid using them on the left side of an assignment statement other than MID$, LSET, or RSET. The sum of the longest record length and the space occupied by the 3-byte string pointers of the logical field array determines the maximum number of files and fields and the size of record. A 15-row by 100-column string array uses less than 5K bytes for pointers. With 2 55-byte logical fields, that would allow each record of each of the 1 5 possible files to have up to 2 5,500 bytes, or a total of 382,500 bytes, at a sacrifice of only 30K bytes of RAM (random-access read/write memory). In 16-bit MBASIC that still leaves 32K bytes for the program and space in which to manipulate the data. A demonstration program (see listing 1) reads data from two files whose record lengths are 1066 bytes and 701 bytes. The program assumes a default record length of 2 56 bytes; in some versions of MBASIC, you must specify this default when you load BASIC. The demonstration files use all string fields, but the method is equally applicable to MBASIC's compressed numeric fields. You can use existing text files to test the program. DATA statements at the end of the program store the number of files, and for each file the record length and the number and length of fields. For files with very long record lengths, however, it would be more appropri- ate to store that information in a separate sequential file and read it in at the beginning of the run, replacing all READ statements by INPUT* statements. Note that the data for the file with the most fields must head the list. Line 45 defines a modulo func- tion; it is not needed for MBASIC ver- sions that have a MOD function. For {continued) 158 BYTE • DECEMBER 1985 The $ 69.^ solution. Order GP-Tools by calling toll-free: 1-800-821-2165 (In Florida, call collect: 305/657-1144) Major Credit Cards Accepted ? ^ ALLEN-HARRIS INDUSTRIES. INC. 1 30 UNIVERSITY PARK DRIVE - SUITE 1 85 WINTER PARK, FLORIDA 32792 TELEPHONE 305/657-1144 '1985 Allen-Harris Industries, Inc. Inquiry 13 GP-TOOLS a division of Allen-Harris In Justries. Inc. GP-TOOLS includes GP-File. GP-Print and GP-Ulility. DECEMBER 1985 -BYTE 159 VIRTUAL FIELDING 2000 FSTART! = HI:FOR N°/o=1 TO NBUF°/o(M°/o):GOSUB 23000:LSET FB$(M°/o) = FC$(M%) 2010 PUT M%,(RC-1)*NBUF%(M°/o) + N°/o:NEXT 2020 RETURN 5997 ' 5998 REM *** BUFFER INITIALIZATION ROUTINE: INVARIANT 5999 ' 6000 DIM BU%(NF%),FC$(NF%),FB$(NF%),NBUF°/o(NF%),FO(NF%) 6010 FOR M%=1 TO NF%:GOSUB 6020:NEXT M%:RETURN 6017 ' 6018 REM *"* CALCULATE BUFFER LENGTHS FOR EACH FILE 6019 ' 6020 FSTART! = HI 6030 READ RLREM •** RECORD LENGTH 6040 READ FO(M%):REM *** NUMBER OF LOGICAL FIELDS 6050 IF M%=1 THEN DIM FA$(NF°/o,FO(1)):' ARRAY FOR FIELDS 6060 NBUF%(M%) = INT(RL/256):IF FNMD°/o(RL,256) = 255 THEN RL = RL+1:GOTO6060 6070 IF FNMD%(RL,256) = THEN NBUF%(M%) = NBUF%(M%)*2:BU°/o(M°/o) = 128:GOSUB 20015 ELSE GOSUB 20000:REM "* FIELD FILE BUFFER AND DUPLICATE BUFFERS 6097 ' 6098 REM *** NOW FIELD LOGICAL FIELDS 6099 ' 6100 FSTART! = HI 6110 FOR N%=1 TO FO(M%):READ A%;TP = VARPTR(FA$(M°/o,N°/o)):POKE TP,A°/o:GOSUB 25000:FSTART! = FSTART! + A°/o 6120 NEXT N% 6130 RETURN 19997 ' 19998 REM *** FILE BUFFERS FOR IRREGULAR RECORD LENGTH 19999 • 20000 NBUF°/o(M%) = NBUF°/o(M°/o) + 1 :BU°/o(M%) = INT(RL/NBUF%(M%)) 20010 IF FNMD%(RL,NBUF%(M%))< >0 THEN BU°/o(M%) = BU°/o(M°/o)+ 1 20015 FC$(M°/o) = FC$(M°/o):GOSUB 22000:RETURN 21997 ' 21998 REM *** OPEN FILES 21999 ' 22000 OPEN"R",M%,F$(M°/o),BU°/o(M%) 22010 FIELD M°/o.(BU°/o(M%)) AS FB$(M°/o) 22020 RETURN 23000 TP = VARPTR(FC$(M%)):POKE TP,BU°/o(M%) 23010 GOSUB 25000 23020 FSTARTI = FSTART! + BU°/o(M%): RETURN 24997 ' 24998 REM *" POINT STRING AT MEMORY BUFFER 24999 ' 25000 POKE TP + 1,FNMD°/o(FSTART!,256);POKE TP + 2,INT(FSTART!/256):RETURN 29997 ' 29998 REM *" DEMO DATA:CHANGE AS APPROPRIATE 29999 ' 30000 DATA 2:REM "" NUMBER OF FILES 30005 DATA 1066:REM *** RECORD LENGTH OF FIRST FILE 30010 DATA 6:REM *** NUMBER OF LOGICAL FIELDS 30020 DATA 101,151,202,203,204,205:'LOGICAL FIELD LENGTHS 30030 DATA 701:REM *** RECORD LENGTH OF SECOND FILE 30035 DATA 4:REM *** NUMBER OF LOGICAL FIELDS, FILE 2 30040 DATA 200,200,200, 101 .'FIELD LENGTHS FOR FILE 2 those versions, you can replace calls of the form X%= FNMOD°/o(A,B°/o) with X%=A MOD B°/o. The program begins by calculating the address of the bottom of pro- tected memory (line 30), allowing a safety margin (MG) above the top of BASIC'S string space (which you must adjust for your version of MBASIC). The program then reads the number of files and sets up an array of file- names that it reads from the key- board. Line 6000 begins the main ini- tialization routine, which is invariant in form for all virtual-fielding applica- tions. The initialization sets up the ar- rays for buffer lengths (BU%). dum- my string windows (FC$), file buffers (FB$), buffer numbers (NBUF%). and numbers of fields (FO). A separate subroutine at line 6020 calculates the number of sectors needed for the logical record of each file. If required, that separate subroutine calls the routine that computes irregular buf- fer lengths (beginning at line 20000) and then calls the file-opening routine at line 22000. The program can later call the file-opening routine if any file has been closed in the meantime, after setting M°/o equal to the number of the closed file. Lines 6100-6130 set up the logical fields (FAS). Lines 500 and 700 provide two straightforward demonstration sub- routines for transferring data to and from the logical record buffers; only the read routine is used here. The routines for reading and writing a record to disk are at lines 1000-1050 and 2000-2020. Like the initialization routine, they are invariant for all virtual-fielding applications. Both call a subroutine at 23000, which steps the FC$ dummy string through the memory buffer by altering its address. Virtual fielding should remain useful in the future because the technique works well under both 8-bit and the current 16-bit versions of Microsoft BASIC. Today we have more advanced 16-bit versions of Microsoft BASIC that allow for 64K-byte strings and a megabyte or more of address space, and we have computers using optical storage media with capacities of hun- dreds of megabytes. ■ 160 BYTE • DECEMBER 1985 READ ONLY A review of the IBM Personal Computer Family. Vol. 2, No. 3 HARDWARE NEWS A growing family of PC Printers. Different jobs demand different printers. IBM has developed a full line of printers for its Personal Computer Family to answer those demands, two of the most recent - the IBM Proprinter and the IBM Color- Jetprinter— deserve special mention. Both are compatible with the IBM PC Family of Persona Computers as well as with many other lead ing home and office personal computers. And both offer the traditional high standard of IBM relia bility and support. The IBM Proprinter. The IBM Proprinter alone can help you complete a variety of dif- ferent home or office jobs. It has an unusual feature that will be welcomed by everyone who has spent time switching back and forth from single-sheet to continuous forms printing. A special slot in the front of the Proprinter allows you to print single pages or envelopes quickly and easily without removing the continuous forms paper. The Proprinters high-speed (200 cpsl. dot-matrix technology can make short work of your day-to-day printing tasks like first drafts of letters or reports. For more finished work, the Pro- printer does near-letter-quality printing (at 40 cpsl and lets you add emphasis to your text (at MX) cps) with bold print, condensed print and underlining. It also has all-points-addressable graphics capabilities that can help you produce a complete range of charts and graphs to illustrate your text. One additional plus: it's very com- petitively priced. IBM Proprinter has a convenient slot for printing envelopes or single pages. IBM Color Jetprinter quietly utilizes "drop^n-demand* ink jet technology. The IBM Color Jetpr inter. The IBM Color Jetprinter is an unusually quiet, compact worksta- tion printer that utilizes advanced "drop-on-demand" ink jet technology. - ",,«:■ _■- hi r- B wg \ ■ ■ ■ 1 ll ill, III 1 ■ Samples of color graphics and texts produced by IBM Color Jetprinter. Designed to be used with the IBM PC and many other personal com- puters, its supported by a wide selection of software programs. You can use it to produce draft and near-letter-quality text and high-quality graphics in up to seven colors. In addition, the Jetprinter allows you to highlight your text with bold and underlined passages done in color or printed against a back- ground color. The Color Jetprinter also prints graphs, charts, engineering draw- ings and texts directly onto special Jetprinter transparencies for presentations. And. thanks to a unique non- clogging ink formula, it performs all these functions very reliably. Videotex connections. Videotex provides a key to much of our future shopping, entertain- ment and business information. Videotex services, using existing telephone lines, already supply travel information, personal shop- ping options and personalized mes- saging, banking and investing services. PC Videotex software from IBM allows you to access these services from your IBM Personal Com- puter. IBM Personal Computer XT™ IBM Personal Computer AT® or IBM PCjr™ With only a few simple com- mands, you can use your IBM PC to receive, display, store and replay the data you choose in high-resolution color graphics and texts. And if you need more than infor- mation retrieval. PC Videotex, in certain configurations, can be used to support your own Videotex data base. WHAT'S THE PROGRAM? Create your own presentations. Everyone who has ever put to- gether a visual presentation for a business meeting or other educa- tional purpose can now take heart. With the help of IBM PC Story- board software, an IBM PC and a color' graphics monitor you can turn out professional-looking, captivating presentations complete w ith color, special effects and eye-catching graphics. PC Storyboards four- modules- Picture Taker'. Picture Maker; Story Editor and Story Teller - — make it fast, easy and comparatively inex- pensive to create, combine and modify pictures and stories. There's even arr animation function that makes it possible for birds to fly. ships to move across water, words to become bigger. K***^ -' Information at your fingertips. IBM PC I Ideotex software makes I ideotex connections in high- resolution color graphics and text. Picture Taker lets you store the contents of screen displays from software you regularly work with, such as spreadsheet, business graphics, drawing or word process- ing programs. You can use the Picture Maker module to edit and combine the graphics you've saved. Picture Maker also allows you to create completely new pictures containing both text— in a variety of type styles— and graphic figures. Story Editor helps you organize and edit your pictures into a pre- sentation and add various special effects. The results can be dramatic. You can then use the Story Teller module to display the results on an IBM PC Color Display, on a TV or w itli a video projector. The finished presentation can be copied on diskettes for distribution. \ou can also produce printed copies w ith a graphics printer like the IBM Color Jetprinter reviewed in this issue of Head Only. After that, all you need is a director's chair from which to view the finished product. Expand capabilities with IBM Planning Assistant Solutions. IBM Document Retrieval Assistant and PC Storyboard software. A few months ago in this space, we reviewed Office Corre- spondence Retrieval System (OCRS I software from IBM. which provides a convenient way to keep track of information that otherwise might be filed and never found again. That same application is now available as a member of the IBM Assistant Series, with an easy-to-use menu system that's consistent with those found in other Assistant Se- ries programs. Like the original OCRS software, IBM Document Retrieval Assistant makes life much easier for anyone who stores large amounts of infor- mation on a fixed disk or who has a library of documents, memos or files stored on diskettes. First, it automatically summa- rizes information and stores it for future reference. Second, and most important. Document Retrieval As- sistant allows you to locate information with simple English- language queries. Among other popular word pro- cessing software. Document Retrieval Assistant works with IBM Writing Assistant. IBM PCWriter. the IBM DisplayWrite Series, and WordStar® (version 3 JO or higher). WordStar is a registered trademark of MicroPro International Corporation. Financial planning. Life is riddled with seemingly straightforward questions that re- sult in headaches instead of answers. Questions like. "What's my net worth?"" and "How much will my monthly payments be?"" i i n «—— IBM Planning Assistant Solutions Storyboard ^^^S 5 - IBM Planning Assistant Solutions and IMM Planning Assistant work together to help yon find the an- swers even if you're not familiar with the math involved. All yon have to do is fill in the required informa- #3c Com?** Version 1f IBM BASIC Compiler 2.(H) updates an indispensable business programming tool. linn on simply designed spread- sheets. Your IBM Personal Com- puter does the hard part. Planning Assistant Solutions in- cludes spreadsheets like Loan Calculation and Heal Kstate Analy- sis for home use. Others, like Travel Expense Form and Financial State- ment Worksheet, can help you sort out your business finances. Many of the spreadsheets can use information from files you've cre- ated with IBM Filing Assistant. \ou can also include tlie results of your Planning Assistant Solutions work in IBM Writing Assistant documents and present them graphically with IBM Graphing Assistant. BASK; improvements. Its good to know that in a busi- ness based on technological advances, the basics aren't forgotten. The IBM BASK Compiler 2.00 gives exactly that reassurance. Its an improved version of an indis- pensable business programming tool for the entire Family of IBM Personal Computers. Among many significant im- provements, the most recent version of IBM's BASIC Com- piler includes better program control structures, allows you to compile larger programs and supports larger arrays. It also supports the IBM PC Network en- vironment, provides better access to your IBM Disk Operating System (DOS), runs under Tbp\ iew. and offers expanded graphics capa- bilities. And there's a trade-up offer for current licensees that represents a significant sav- ings on the IBM BASIC Compiler 2.(H). See your Authorized IBM Personal Com- puter Dealer or IBM Product Center for details. ! 1 m program on your display (win- dowing). This, in turn, makes fast work of switching back and forth among programs that you use fre- quently—word processing, filing and spreadsheet applications, for example. The TopYiew Application Guides shown below are now included when you purchase a TopYiew program. They're useful listings of the many programs— IBM applications and software from non-IBM sources— that can be rrsed with TopYiew. Both are arranged alphabetically and include special operating con- siderations and notes whenever necessary. TopView Application Guide T°PV ievv ^tfo, *Ppli, "Gu/de Guides to the top. IBM TopYiew™ is a program that allows you to run more than one program at a time (multitasking) and to view screens from more than one Ihpl iew Application Guides now i included with the program IBM and Personal Computer AT are registered trademarks of International Business Machines Corporation. Personal Computer XT. PC>r and TopView are trademarks of International Business Machines Corporation. tor more information about IBM Personal Computer products discussed in this issue of Html Only. see your Authorized IBM Personal Computer Dealer or IBM Product Center. Or call 800-447-4700. In Alaska call BOO- 1 I7-08«M>. l'M."> Internatimal Business Machines G>rporati • tnaU U. M» W1V ** *■■ • Ji JS;SS JK:K m'.m ttH-SS "S : I itt'w •&1 • «.•»■<* «'<*«• *»**• WW «.uv» o.w tl0 «jj,*j J85S 2|1 Sn JB-1280DA IBM PC PLUG COMPATIBI L ^REEN PHOSPHOR BLACK SCRFEN MONITOR v,cpC-PRI05fl NEC NEC Home Electronics (U.S.A.) Inc. Personal Computer Division 1401 Estes Avenue Elk Grove Village, IL 60007 312-228-5900 Inquiry 263 OVERVIEW CONFER can broadcast notices, called bulletins. onto your first request. In the end. you have a single message that amounts to a minidatabase of responses. GENIE allows the author of a mes- sage to place certain locks on the text. You can stop anyone from copying a note you wrote and placing it some- where else in the system. This hinders the "leaking" or mass distribution of critical information. (Of course, if someone downloaded the message to disk, he could upload it anywhere he desired.) Who uses GENIE? 1 don't know, since its user base is proprietary. (I am sworn by a phosphor oath not to reveal the system 1 used to review GENIE.) I was told that the target market for GENIE is the scientific/engi- neering (read "research and develop- ment") community. That didn't make sense when I first heard it, but after using GENIE I see why. The science and engineering fields create an enor- mous amount of papers that need constant revision. CONFER: Think Tank Without Walls CONFER is a computer conferencing system developed by Bob Parnes that resides on a mainframe somewhere on the campus of Wayne State Univer- sity in Detroit. Hewlett-Packard chose to license CONFER for its own use and now has an effective way to elec- tronically link its employees, who are geographically dispersed among 100 major corporate divisions. HP's cor- porate "suits" have hailed CONFER as "the best thing on the market for distributed meetings." Meanwhile, the Army's Training and Doctrine Com- mand uses CONFER for its "think tank without walls," called The Delta Task Force. The Independent Investor's Forum caters to investors with $5000 to $10,000 and dispenses advice to its subscribers via CONFER. In operation since 1975. CONFER is a greenhouse for various think tanks and free thinkers. If ever a system could create a feeling of excitement, CONFER is the one. Bouncing around the various CONFER conferences, I was amazed at the level of "idea pro- jection" taking place. This is due in part to the structure of the software. The structure of CONFER and the philosophy behind it are based on "information mapping." This type of system, according to Robert E. Horn's book, How to Write Information Mapping (Information Resources Inc., 1982), in- cludes the following principles and procedures: • identifying • categorizing • interrelating • sequencing • presenting CONFER follows these ideas in "mapping out" the way it handles computer conferencing. CONFER differs from other con- ferencing systems in that its con- ferences are more circular than branching. A conference is described as "the basic social structure" of CON- FER. Major topics of discussion within a conference are called items. Each item relates to the general conference theme. If you want to comment on a particular item, your comments are logged as responses, which are short, concise points of view or pieces of ad- ditional information relating to the item. Responses must be short and to the point because they are limited to 1 500 characters (about 24 lines of text). If new ideas evolve from the responses to items, additional items can be entered into the conference. From what I saw, an incredible amount of discussion can take place under a major topic without straying from the general theme. Contributing to the overall creative force of CON- FER is the ability to create an agenda for each conference. The agenda function of CONFER allows you to digest a conference by grouping items under a single topic. For example, a conference titled Pro- ductivity may have 1 5 items relating to different aspects of human rela- tions. In your agenda you can create the heading Human Relations and then cross-reference all the items relating to the subject. This gives you a powerful information-management tool. Since everyone interprets infor- mation in different ways, each person can create an agenda according to his or her personal perspective (or if you find someone who thinks along the same lines, you can share agendas). CONFER can broadcast notices, which it calls bulletins. Bulletins can be sent to all members of a certain con- ference, informing them of activities or pieces of information. Additional- ly, bulletins can be time-released, so that you can create a bulletin on May 8 and instruct CONFER to broadcast it on May 30. (You can do the same thing personally, by sending yourself personal bulletins called notes, which come in handy for reminding you of important dates or activities sched- uled in advance.) Private correspondence is handled through the sending of messages. Messages function like a standard E-mail system. CONFER is also the Ferrari of com- puter conferencing. This software re- sponds quickly to all commands, in- cluding those calling for keyword searches of an entire conference data- base. Until you've been "under the clock." knowing that each tick-tick-tick is literally being measured in green- backs, you can't appreciate a respon- sive system. The most impressive feedback I received on CONFER was this user's statement: "When using CONFER, people don't think of themselves as 'subscribing to' a system: they feel like members of a community." Choosing a System How do you choose a conferencing system? The best way is to try out the various systems for yourself. All the companies marketing these systems are more than willing to let you test- drive their systems. After spending some time with each one, you'll know which suits your needs best. It will be the one that "feels" right. ■ 184 B YTE • DECEMBER 1985 Inquiry 8 — ► troducing the first IB \ w tk Compatible Kit! leKit* uidmg your own is as easy as it li Now, it's easy to have the IBM AT that you building your own from ADTEICs SERIES 286AT" o w , patible, board-level kit. Choose from a complete kit (chassis, motherboard, cables, disk controller, keyboard and enhancement boards) and add your own moni- tor and disk drives. Or buy just the parts you need for your project. Either way, all series 286AT products are hardware and software AT compatible. But you won't be on your own. The ADTEK SERIES 286AT comes with illustrated, step by step instructions that even a beginner can follow. (Some basic knowl- edge of electronics will be helpful.) With just a few simple household tools you can put your new compu- ter together in a Saturday afternoon. And you'll feel confident about your SERIES 286AT because every ADTEK product is protected by a full, one year factory warranty. And amazingly frugal. 4> .- -A - ; -A < .-;■ ! _ - '*>\ - % - c mitt hi AT compatible disk con- 192 Watt switchable AT com- troller handles 2 floppies, patible power supply. 2 Winchesters. If you're ready for AT power and speed, but don't want to pay IBM's premium price, rest easy. A complete ADTEK SERIES 286AT kit is priced significantly less than a comparably assembled IBM AT. That's engineering excellence at real bargain! Call or write today for detailed brochure and price It on the SERIES 286AT and other ii ADTEK products. I AT compatible keyboard with IBM configuration or LEDs on cap, num lock keys. \S$& upgradable to 1M, clock calendar, fully compatible. $1998 Basic AT kit includes 640K motherboard, disk controller and cables, power supply, keyboard, case, documentation and warranty. Ily AT compatibl ...th LEDs and lock ... standard floppy and fixe disk drives. . IBM compatible name brand floppy or Winchester drives available at discount prices ■' /:' High res color and mono- chrome video controllers are terfaced with system Kimtron MULTI-USER SOLUTION for IBM PC, XT, AT " 1393 mm i Compar The Multi-User Solution of the future is now available. Convert your IBM PC, XT, AT or Compatibles to a true multi-user system while maintaining display, keyboard and software compati- bility. Since the KT-7/PC display is the same as your PC monochrome monitor, with its look-alike keyboard, operators will feel they're using an IBM PC and can also use the same software manual. Kimtron's multi-user solution in- cludes file and record locking, shared data access, and commun- ication between users. It is the intelligent alternative. The KT-7/PC supports Time Sharing, Enhanced Time Sharing and Multi-Processor implementa- tion under PC DOS, MS DOS, UNIX, XENIX, CPM 86, Multilink, Concurrent PC DOS, and other compatible multi-user operating systems. Kimtron's multi-user solution may be tailored for cost effectiveness; as low as $1095 for an additional user, and for speeds more than ten times faster than LAN. You can add one or as many as 31 additional users per PC. Kimtron delivers the future now by allowing an ever- widening network of multi-user PC's. The KT-7/PC may be comple- mented with one (or more) I/O Card, Memory Card, 8086 Speed NOTE: IBM PC, XT, AT, PC DOS, MS DOS, UNIX, XENIX, CPM 86, Multi-Link, Concurrent PC DOS are registered trademarks of IBM Corporation, Microsoft Corp., Bell Labs., Digital Research Inc., Software Link Inc. respectively. Enhancer Card, 80286 AT Card, 8088 Multi-Processor Card, 80186 Speed Enhancer Card, 68000 Card, and related software. For more information about Kim- tron's Multi-User Solution, or general video data terminals for other mini or micro multi-user systems, call your local computer dealers, distributors or Kimtron Corporation Today! (408) 286-8790 TWX 910-338-0237 ^ 1705 Junction Court = Building #160 -=§ San Jose, CA 95112 K imtron 186 BYTE • DECEMBER 1985 Inquiry 198 COMPUTER CONFERENCING CONFERENCING STANDARDS by Jacob Palme The search for a universal conferencing standard continues USERS OF A SINGLE computer con- ferencing system who communicate only with people who use the same computer have little need for stan- dards. The need for standards arises when a user wants to communicate with people on several different com- puters or wants to connect a personal computer to a conferencing system. If two different machines are to communicate, a standard for commu- nication between them is needed. In computer conferencing, this could be either the interconnection of personal computers with multiuser conferenc- ing systems or communication be- tween several multiuser conferencing systems. Such a standard need not prescribe the internal functions, struc- turing, or user interface of the con- nected systems. The standard only has to prescribe the interconnection between the systems. It is easier to develop a standard if you have some idea of the structure of the systems to be interconnected. Thus, standards are often based on models of the internal structure of the systems to be interconnected. The ex- istence of such a model does not mean that only systems structured ac- cording to the model can be intercon- nected. A model that is used to develop standards and that does not exactly agree with existing systems is called an abstract model. To connect a system whose internal structure is somewhat different from the model requires some mapping between the model and the real system in the in- terconnection software. Today, many people are forced to keep accounts in several different con- ferencing and message systems. A comprehensive standard for intercon- nections might allow them to have an account in only one system and get all their information through this system from conferences and people in other systems. They would then have to connect to only one system and learn only one user interface. Group Communication Computer conferencing is a tool for communication within a group of people and provides an environment similar to task groups, discussion groups, and so on. A typical com- puter conferencing system consists of a number of conferences, each of which has a set of members and a se- quence of messages. Usually, the system stores informa- tion about how far every member has read in each conference; this is often called the conference marker. This makes it possible for the system to tell users which messages are new to them when they connect to the system. Bulletin boards are tools very similar to computer conferences. In this article, "computer conference" will also refer to bulletin boards. Another tool for group communica- tion common in computer-based message systems (CBMSs) is the dis- tribution list. A distribution list, like a conference, has a set of members. A distribution list, however, usually does not store messages. When a message is sent to a distribution list, the "list" will just expand the number of recip- ients of the message and forward it as individual mail to all the members (continued) \acob Palme, chief researcher at QZ, Stockholm University Computing Center, studies the social effects of computers and specializes in research and development of computer-based message and conferencing systems. He is one of the developers of the COM and PortaCOM computer conferencing systems. He can be contacted at QZ, Stock- holm University Computing Center. Box 27322, S-102 54 Stockholm. Sweden. DECEMBER 1985 -BYTE 187 STANDARDS of the distribution list. Some systems provide special facil- ities to support other group commu- nication tasks like voting, scheduling of face-to-face meetings, joint produc- tion of a manuscript, and so on. The first versions of future standards will probably cover only conferences and distribution lists, leaving more spe- cialized group tasks for future ver- sions of the standards. The Group Agent Concept Instead of developing one standard for each type of group communica- tion, it is better to develop general concepts in the standard. For exam- ple, computer conferences and dis- tribution lists can be combined into a more general concept called a group agent. The group agent can store mes- sages to be retrieved by some of its members, as in a computer con- ference, and forward messages as mail to some of its members, as with a distribution list. Some group agents do not store messages and work as pure distribu- tion lists. Other group agents may have no facility for automatic forward- ing of messages and work as pure computer conferences. But many of the operations on the group agent (for example, adding a member or entering a message) can be similar for both kinds of group agents. This shar- ing of operations functionality for both types of group agents reduces the size of the standard. A further advantage is that the group agent concept can be used not only to interconnect a conference sys- tem to other conference systems but also to interconnect to simpler mail systems. Conferences will then appear as distribution lists to users of the mail system, who will have the conference messages sent to them as mail, as shown in figure 1 . Conference-System Interconnection Since most conference systems can also handle personal electronic mail, one way of connecting them might be the one shown in figure 1 . However, two other modes of connection are possible, as shown in figures 2 and 3. Figure 2 shows a structure of paral- lel conferences. A similar structure for connecting distribution lists is pos- sible. Every message entered into the conference in CBMS A is copied into the parallel conference in CBMS B. Any local user in either the A or the B system can read all the messages in the conference, originally entered in either the A or the B system, in the same way as in a stand-alone con- ference system. The conference in system B, CB, can be seen as a member of the con- ference in system A, CA, and vice versa. Conference CA could work partly as a distribution list to ensure CONF. CONF. CONF MEM- MEM- MEM- BER BER BER USER USER USER MAIL- MAIL- MAIL- BOX BOX BOX Figure 1: \n this alternative, the grout) agent CA in CBMS A will act like a group agent to local users, who get messages from the conference, but like a mailing list to remote users at CBMS B, to whom messages are sent by CA. that a new message, entered into CA, is copied into CB, automatically for- warding all new entries (except those coming from CB) to CB. This is an- other reason why a good standard should combine computer conferen- cing and distribution lists into one general concept. Of course, messages could also be forwarded from A to B only when B asks for them. This might be suitable if, for example, B is a personal com- puter that does not stay on line all the time. Figure 3 shows an alternative struc- ture, where messages are stored only in conference CA in system A. When- ever a user of system B wants to read a message, that message is retrieved automatically from system A. This, of course, requires fast networks to give users acceptable response times. The structures shown in figures 2 and 3 can be combined. For example, system B might request the new mes- sages from system A the first time any user wants to read them but then keep the messages for some time for other members of CB or for retrieval by the original reader who wants to look at the message once more. Data Structures Standards for the interconnection of message systems need to define two things: an abstract model of the data structures involved and definitions of the operations used for communica- tion between the systems. Here is a typical example of the data structure and attributes for "members" of the group agent con- cept: A group agent will have a list of members. Members can be users or other groups (for example, a parallel conference in another system). Each member will have a number of at- tributes, defining his or her relation- ship within the group. Examples of such attributes are listed below. Auto-forwarding: New messages to the group are forwarded automati- cally as mail to members with this at- tribute. It is used when the group agent acts as a distribution list. Read access: Members with this at- 188 BYTE • DECEMBER 1985 STANDARDS tribute are allowed to request entries from the group. Write access: Members with this at- tribute are allowed to enter messages to the group. Organizer access: Members with this attribute are allowed to modify the list of members and other attributes of the group. Organizer access can be divided into different rights to modify various attributes. A special, but im- portant, case is the right to modify only the value of an attribute with respect to yourself. You might thus be allowed to enter and remove yourself from the list of members of a group but not to enter and remove other members. In standards work, people with the right to modify information only about themselves are usually called friends. The set of members with different rights in relation to a group need not always be defined by an explicit list of all the members. For open (public) conferences, for example, anyone may be allowed to read or become a member of the group. The set of members with a certain right may also be defined by what is known as a class description, for example, "everyone" or "all citizens of Sweden" or "all employees of IBM," provided that a database is available that can check whether a certain person belongs to a certain class or not. Message Data Structure A very important property of a stan- dard is the facility to give every mes- sage a globally unique identifier that will not be changed even if the mes- sage is forwarded many times or stored and forwarded again. Such an ID can, for example, be used to en- sure that the relation between a mes- sage and a reply to it is preserved even if the message and the reply are forwarded at different times. The basic data structure for mes- sages is the conference. A conference defines an ordered sequence of mes- sages. The same message may belong to more than one conference. Another important kind of message data structure is the binary relation- CBMS A CBMS B PARALLEL CONFERENCES o LOCAL USERS LOCAL USERS Figure 2: There are two parallel conferences in this alternative, CA in CBMS A and CB in CBMS B, storing the same set of messages, local users get the messages from their local instance of the conference. Mailing-list forwarding is done only between the two conferences, not to personal mailboxes. RETRIEVAL LOCAL USERS REMOTE USERS Figure 3: \n this alternative, messages are stored only in conference CA at CBMS A. Users at CBMS B get the messages at reading time from CBMS A using remote retrieval operations. No automatic forwarding of messages (mailing-list functionality) is used. ship between messages like "in reply to." Many other relations are possible, such as "continuation of," "sub- chapter to" etc. A standard will prob- ably not place a restriction on such relations, such as allowing them only between messages within the same conference. Operations Operations between connected sys- tems have to be fully defined in the standard and are in many ways similar to the operations that a local user of a conference system can perform from his or her terminal. Here are some of the main types of operations: Search Group Directory: You might search the group directory to find where a conference exists on a par- ticular subject that interests you. All groups in the directory may, of course, not be available for search by all users. Creation Operations: Create and remove group agents. Read and Set Attributes: Read and modify the attributes of a group, such as a list of members. Membership Operations: Read and modify information in the lists of members with various rights in rela- tion to a group. [continued] DECEMBER 1985 -BYTE 189 STANDARDS Reading News helps you find messages you have not read, based on the position of your conference marker. Submitting Messages: Enter mes- sages to a group. Reading Messages: Retrieve mes- sages from the storage connected to a group agent, using simple retrieval requests ("Give me the message with the unique identifier X") or advanced search requests ("Give me all mes- sages between these dates with cer- tain keywords in them"). Reading News: A special case of reading. This operation helps you find new messages you have not read from a conference, based on the posi- tion of your conference marker, which is placed after the last-read message in the conference. An important issue is where to store this conference marker. If every mes- sage in a conference is identified by a sequential position number in the conference, the conference markers for all conferences, even on remote systems, might be stored in your local system or personal computer. Using Operations You might first tell your local system to find a conference about a subject of interest to you, say. multicolor printers. Your system will then use the Search Group Directory operation to find such a conference. When a conference has been found in some remote system, you tell your system that you want to read the de- scription of the remote conference. Your system will find this description using the Read Group Attributes operation. If you decide that you want to join the conference, your local sys- tem sets up a local conference (in your local system) on the same sub- ject in parallel with the remote con- ference. You then ask for the last 20 items in the conference. Your local system gets these from the remote system and stores them in the local conference so you can read them. You can also tell your personal com- puter to connect to the networks and retrieve all news. Your personal com- puter then automatically connects to the networks and gets all your unread letters and unread messages in the conferences you have chosen to par- ticipate in using the Read News oper- ation. It will then disconnect, and you can locally read the new messages and write your replies and comments. You then tell your computer to con- nect again to enter the new messages you wrote locally, using the Submit Messages operation. Layered Standards Standards for computer network ap- plications are based on layers. Each layer uses the facilities of the layer below. Figure 4 shows how two layers may relate to each other. Layer N sees a message consisting of a layer N header and a layer N body. Layer N sees the body only as a sequence of bytes: it does not understand any structure within the body. In layer N+ 1 . however, what was only a body in layer N actually has a structure, for example, with a layer N+ 1 header and a layer N+ 1 body. The MHS Model The message-system model behind the X.400 recommendation (see the text box "Standards Work in Prog- ress" below) is called the MHS (mes- sage handling system). The model is shown in figure 5. The basic components of this model are user agents (UAs) and mes- sage transfer agents (MTAs). Every personal mailbox has one UA repre- senting that user. Using the UA. a user can. for example, locally edit a mes- sage. When the message is ready, it is delivered from the UA to an MTA, and the MTA will forward the message to the MTA connected to the recipient UA. The protocol used to communicate [continued] Standards Work in Progress Two main international organiza- tions are involved in developing computer conferencing standards. These are ISO. the International Stan- dards Organization (whose U.S. mem- ber is ANSI), and CCITT. the Interna- tional Telegraph and Telephone Con- sultative Committee (organization of telegraph and telephone providers). Important also is ECMA. the European Computer Manufacturers Association, which in reality also includes the major American manufacturers and provides input to both ISO and CCITT. CCITT has developed a standard for interconnecting message systems, called the MHS (message handling sys- tem) or X.400 recommendation. (CCITT standards are called recommenda- tions, not standards.) This recommen- dation was officially accepted by CCITT in late 1984. The X.400 recommenda- tion is purely for interconnection of personally addressed mail— there is no. facility in it for group communication, not even for distribution lists. ISO will soon adopt a standard called MOTIS that is a copy of X.400 with minor revisions. ISO decided in April 1985 to ask all member countries whether ISO should begin to study the group communica- tion area. This vote will probably be ready in late 1985. and. if positive. ISO will begin work in the group commu- nication area in 1986. During the autumn of 1985. CCITT began studying possible revisions and extension of X.400. 190 BYTE • DECEMBER 1985 Inquiry 234 — ► LETS YOU GET TODAYS WORK DONE . . . AND PLAN FOR TOMORROW KnowledgeMan/2, the most advanced business software available, lets you be more productive than ever before and in less time. These powerful business capabilities, tightly fused into a single program, work together for you: [ I Relational data management fJ Spur-of-the-moment inquiry ! i Spreadsheets i J Statistical analysis u Forms management □ Programming language [ i Options for creating graphs, processing text, gener- ating reports, painting forms, mouse processing and remote communications. KnowledgeMan/2's four user interfaces make it easy for you and all your business people to work with KnowledgeMan/2: D Menus, help screens and easy-to-use documentation guide your every step, if you're just beginning. □ Direct commands for the power user, with help available when you want it. □ K-Chat, the optional natural language interface, for asking for information in plain English. D Procedural programming for the advanced user. Get KnowledgeMan/2 working for you today. And start planning for tomorrow. KnowledgeMan/2 is available for IBM PC, XT, AT and compatibles with PCDOS. lb-bit micros with MSDOS or CP/M-8b. Special versions are available for UNIX multiuser operating systems and IBM, 3Com and Novell Local Area Networks (LANs). For the name of the KnowledgeMan/2 dealer near you, call or write Micro Data Base Systems, Inc./ Marketing & Sales, P.O. Box 248, Lafayette, IN 47902. 3 17/463-258 1 , Telex 209147 ISF 1 1 R mQn/2 mdbs and KnowledgeMan/2 are registered trademarks and K-Chat is a trademark of Micro Data Base Systems, Inc , P.O Box 248. Lafayette. IN 47902 STANDARDS The MHS is a model of message exchange; it is not a description of how a message system must be organized. between a UA and an MTA is called P3, and the protocol used to commu- nicate between two MTAs is called PI. Another level of protocol is P2, which is actually on top of PI and is used for formatting the messages being for- warded. Although the messages passed via PI and P2 are formatted according to P2 protocol, this infor- mation is not interpreted by the MTAs, so the P2 protocol can be seen as a protocol used between UAs (see figure 5). It is very important to understand that the MHS is a model of message exchange used to develop the stan- dard. It is not a description of how a message system must be organized. A message system can communicate perfectly well according to the X.400 recommendation but have a totally different internal structure. Some mes- sage systems with many users on one computer may not have any sharply defined user agent in them. They can WHAT LAYER N SEES WHAT LAYER N + l SEES HEADER LEVEL N HEADER LEVEL N BODY LEVEL N HEADER LEVEL N+l BODY LEVEL N + l Figure 4: This figure shows how a new layer (N+l) can be built on top of a lower layer (N). The protocol in layer N is used to forward a message, but what looks like just a body with no structure to layer N is further structured by layer N+l, with, for example, a new layer N+l header and body. P3^ PI/ \P1 P3-"' \P3 MTA UA UA P2 MTA MTA UA UA Figure 5: This figure shows how messages are passed from UAs (user agents) via one or more MTAs (message transfer agents) to the recipient UA in the MHS model. The PI protocol is used between MTAs, and the P3 protocol is used between a UA and an MTA. The messages passed via PI and P2 are formatted according to the P2 protocol, but this information is not interpreted by the MTAs, so the P2 protocol can be seen as a protocol between UAs. still communicate with other MTAs by using the PI and P2 protocols. Since X.400 will probably be the accepted standard for message han- dling, a way must be found to handle group communication within X.400. Group communication will probably be implemented by introducing group agents into X.400. A group agent in this context will be similar to a user agent. It will have a name, and it will interpret the P2 protocol information. The functions of a group agent, however, may be split into several separate modules. X.400 will be ex- tended with a directory system, and the lists of members of groups will probably be stored there. The actual storage of messages belonging to a certain group may be done by special services for filing and retrieving messages instead of by the group agents. ■ BIBLIOGRAPHY "CCITT-Recommendation X.400: Mes- sage Handling Systems: System Model Service Elements." For information, con- tact Omnicom, 501 Church St. NE, Suite 304. Vienna, VA 22180. "GILT— Interconnection of Computer Based Message and Conference Sys- tems," Green Version, June 1983. Avail- able from Computing Center. Univer- sitatsstrasse 1. Duesseldorf, Germany Huitema, Christian. "The COSAC Elec- tronic Conferencing Experiment." Paper presented at the IFIP Second Interna- tional Symposium on Computer Mes- sage Systems. Washington, DC, September 1985. Palme, Jacob. "Distribution Agents (Mail- ing Lists) in Message Handling Systems." Paper presented at the IFIP Second In- ternational Symposium on Computer Message Systems. Washington, DC, September 1985. Palme, Jacob. "Survey of Computer-based Message Systems." Paper presented at lnteract'84. the first IFIP Conference on Human-Computer Interaction. Septem- ber 1984. Wosnitza, Lothar. "Group Communication in the MHS Context." Paper presented at the IFIP Second International Sym- posium on Computer Message Systems, Washington, DC September 1985. (Papers from IFIP conferences are pub- lished in book form by North-Holland.) 192 B YTE • DECEMBER 1985 ■A f\ 6* w? Westinghouse brought inTFs Personal Consultant because these experts don't have time to waste* Personal Consultant is the expert systems development software that's turning the time they spend answer- ing routine questions into research and development. Dr. Neil Pessall and Dr. Jan Schreurs, research scientists at the Westinghouse Research and Develop- ment Center, had a problem. How could they make hundreds of man- years worth of practical knowledge at the Center readily available to West- inghouse and its customers, without pulling the scientists away from their research to answer routine questions? Their solution was Personal Consul- tant, a new expert systems development software tool from Texas Instruments for TI or IBM® personal computers. Designed to run on 512K-Class Per- sonal Computers, Personal Consultant provided Westinghouse an eminently af- fordable new tool for the development of expert systems. Pessall and Schreurs were especially impressed with its ability to aid experts in developing the knowledge bases and prototyping programs which even first-time computer users could con- sult for expert advice. "With Personal Consultant soft- ware," says Schreurs, "we found it far easier to teach our experts how to develop a system than teach a pro- grammer to be an expert." In fact, the software's rapid expert system proto- typing and simple debugging features enabled the two scientists to demon- strate three different expert systems in as many weeks. Schreurs produced one for training new salespeople and a sec- ond to guide repairs and maintenance for the Center's X-ray defractometer. Pessall's makes material recommenda- tions for tubes and support plates in steam generators. "Our development of expert systems isn't aimed at replacing experts," says Dr. Pessall. "Its purpose is to give them the time to extend their expertise while the expert systems handle consultations on well-established knowledge and methodology. " To put Personal Consultant from TI to work for your business, call (800) 527-3500, in Canada call (416) 884-9181. Because an expert's time is too valuable to waste. Texas ^^ Instruments Creating useful products and services for you. 28231 e 1985 TI Personal Consultant is a trademark of Texas Instruments Incorporated. IBM is a registered trademark of International business Machines Corporation. DECEMBER 1985 -BYTE 193 AT LAST! INSTANT G BABMtC SIMULATION . . .FOR EVERYONE EVEN WITH "DAISY WHEEL" PRINTERS! NOW— IMMEDIATE CREATIVITY WITH YOUR WORD PROCESSING PROGRAM It's a new three-diskette software package with understand- able documentation and great illustrations covering around 150 (or more) graphic-like files you can quickly copy to your working (editing) files while operating any full-size word processing program. And, yes, you can print the attractive results with almost ANY printer, including "ball," "thimble" and "daisy wheel" cast- element printers! Impossible? Not now, it isn't. Disk-1 has headings and inserts. Disk-2 has forms and graphs. Disk-3 has banners and special illustrations. It's just about every- thing you could imagine and more, and for less than $25. per disk! (And, there will be more where that came from.) This is the one you've been waiting for and the entire package is just $74. complete! And that includes our guarantee of perfor- mance and membership in an important "special opportunities" club. (Yes, Virginia, quality software need NOT cost a fortune.) Order right now by mail (with purchase order or coupon below) or through our toll free number with your charge cards. You'll want to put this one to work for you right away. I >. 1 1 I -2? il I ° 1 1 I *" Name .Company (if any) . .Operating System Address Computer & Model Disk (or diskette) size Enclosed is check in amount of $74. and $4. for shipping & handling (plus 6% tax for Calif, residents). Send 3-disk "DaisyGraphics" set immediately. Signature .Date JONATHAN WEST'S D/AISY GRAPHICS FOR DIRECT VISA, MASTER CARD, AMERICAN EXPRESS ORDERS: In CA 1-800-372-0012, ext. 43 Other 1-800-423-5660, ext. 43 The AMERICAN COMMUNICATION ARTS Organization 8690 Aero Dr. Dept. M148 San Diego, California 92123 Dealer Inquiries Invited Inquiry 389 for End-Users, inquiry 390 for DEALERS ONI COMPUTER CONFERENCING DATABASE STRUCTURE IN PORTACOM by Jacob Palme A look at the functions that affect database structure COMPUTER CONFERENCING sys- tems are often more database- oriented than other message systems. Thus, the database structure is an im- portant property of a conferencing system. We will examine some of the functions that affect database struc- ture within the COM and PortaCOM computer-based conferencing sys- tems. A message can belong to one or more ordered sets of messages. For example, such a set can be the letters to or from a certain person or the messages in a conference. The word activity is used for such a set of mes- sages. An activity also has a name, a list of users who are members of the ac- tivity, and a sequential list of references to messages. One message can be entered into several activities. Only one copy of the message text is stored, with references from the ac- tivities to the message text. Figure 1 shows links between messages and activities containing lists of links to messages. Every user has a personal mailbox, which is an activity containing letters sent and received by that user. A user can also create additional personal activities and sort messages by enter- ing references to them in one such personal activity. A computer con- ference is an activity with several users as members who normally can both read and write messages in the conference. For example: A certain message may be entered into the three activities "Joan Smith," "COM Experience," and "PortaCOM Devel- opment." This message is then avail- able to "loan Smith" as a letter and to all members of the conferences COM Experience and PortaCOM Development as a conference entry. When someone writes a comment on the message, the comment is sent to all the above recipients so that all who read the original message also receive the comment. The comment is also sent to the author of the commented message if he or she is not a member of any of the other receiving activities. It is also possible to write personal answers that are sent only to the author of the message. Linking Entries The recipient of a message can establish links to it. In other words, he or she can "send it along" to other ac- tivities such as personal mailboxes or conferences. Figures 2,3, and 4 illustrate a user dialogue made up of linking entries. The recipient links to the new entry can be changed during or after the writing of it. Commands exist for add- ing and removing recipient links on an entry. Figure 4 shows the use of the !move command, which removes all existing recipient links and adds one or more new links. Message Singularity Under the COM/PortaCOM system, you can't receive the same message twice. A chain of comments is often [continued) \acob Palme, chief researcher at QZ, Stockholm University Computing Center, studies the social effects of computers and specializes in research and development of computer-based message and conferencing systems. He is one of the developers of the COM and PortaCOM computer conferencing systems. He can be contacted at QZ, Stock- holm University Computing Center, Box 27322, S-102 54 Stockholm. Sweden. DECEMBER 1985 -BYTE 195 PORTACOM sent to the same set of recipients, which could be, for example, two con- ferences and two personal mailboxes. A user will not see this entry twice even if he or she is a member of both conferences. Users who do not have their per- sonal mailboxes in a certain COM sys- tem can have messages sent to them via message networks such as MAIL- NET or ARPANET. The recipients' COM conference will appear as a con- ference to local users and as a mail- ing list to external users. Note also that, in this case, an external user who is a member of two COM conferences will only get one copy as mailing-list mail. In ARPANET there is an unwritten rule that a message should not be sent to more than one mailing list. In COM/PortaCOM, there is no need for such a restriction. Multiplying Recipients In COM a comment is normally sent to all the recipients (conferences and mailboxes) of the commented mes- TEXT AREA COM/PORTACOM DATABASE STRUCTURE LIST OF ACTIVITY ACTIVITY ACTIVITY LINKS ABC 3 — COMMENT 5 COMMENT COMMENT REF. LINK Figure 1: In the database structure shown here, message 6 is linked to activities A, B, and C Messages 7 and 8 are comments on comment 6. Activity A contains a list of links that describes the relationship between all the messages in the text area. (Text 22545) 85-04-05 22.27 Dennis Jennings Univ. College Dublin Receiver: Computer networks Receiver: IBM computers Receiver: NSIN01 @ RLGB.JNT-MAIL(Paul Bryant) — Received: 85-04-06 05.02 Comment on: (Text 21135) by Ulf Beyschlag CERN Subject: BITNET See my earlier comment. (Text 22545) Figure 2: The user reads an entry, which was in this case linked to two conferences and one personal mailbox, remotely accessible via mail networks. sage. In general, this function works well. In some cases, however, you may wish to send a message to one or more conferences or mailboxes with- out having them flooded with all of these extraneous comments. This can be done with a special kind of link between the text and the recipient called "single copy." Comments (by default) are not sent to single-copy recipients of the com- mented message. The author of the comment can, of course, give a com- mand to also send the comment to these recipients (unless they are write- protected). Types of Conferences A COM/PortaCOM conference is cate- gorized by the following attributes: Open: Anyone can become a member. Closed: Only the organizer(s) can add new members. Restricted: Open to one set of users, closed to another set. Protected: A closed conference, where nonmembers cannot even find out that the conference exists. Write-protected: Only some can create links between texts and the conference. Note that the restriction is not on who may write texts but who can link them. An editor of a write- protected conference can therefore link texts (written by noneditors) to that conference. Original: These conferences are most often used for getting a selection of the most interesting items out of other conferences. The original con- ference will not automatically get comments on entries sent to it. Whenever a message cannot be sent to a conference because of restrictions for write-protected or original conferences, a super-conference can be defined to which the com- ments are sent. For example, a news- letter may be write-protected, but anyone can comment on the news items. Comments will be sent to a writable conference for comments on the news. I will cite some examples of the types of conferences described {continued) 196 BYTE • DECEMBER I98S Take Your Bus To Greater IBM Compatibility ...And Leave the Savings to Us. No matter how far you want to take your S100 BUS, Lomas Data Products has the IBM capabil- ity and power you need. At a cost that won't hold you back. Lomas Data Products is the reliability leader in 16 bit microprocessor S100 BUS products. With a 5 year reputation to prove it. Our boards can punch up your S100 BUS with 3 to 5 times the performance of an IBM-PC. Complete with IBM PC-DOS compatibility and multitasking. Our sys- tem capabilities run the distance between 8MHz 8086 and 8MHz 80286 performance. Each sup- porting 8MHz math co-processors. And when it comes to prices ... no other S100 BUS board supplier can offer so much for so lit- tle. Get your ticket to IBM capability and 3 to 5 times the performance. From the only supplier of S100 BUS IBM-PC compatibles— Lomas Data Products. MEGARAM: High performance high density Dynamic RAM. Offers cost effective memory expansion in 16 bit systems. □ No wait states with 8086's up to 10MHz D Only one wait state with 8MHz 80286 □ Up to two MegaBytes of memory Price 256K— $595.00 512K— $749.00 1024K— $1095.00 2048 K— $1795.00 Prices and specifications are subject to change. COLOR MAGIC: IBM-PC compatible S100 BUS graphics board. Gives your 16 bit S100 BUS system IBM-PC com- patibility. D RGB and composite outputs □ IBM PC keyboard port □ All IBM-PC display modes plus two higher resolution modes PRICE 16K— $595.00 . . . 32K— $695.00 THUNDER 186: Single board 16 bit microprocessor offers 10MHz 8086 performance. THUNDER requires no other support boards. □ 256K RAM □ FDC controller □ 2 Serial ports □ Parallel printer port □ Concur- rent DOS is included PRICE $1195.00 LIGHTNING ONE: The standard by which other 16 bit boards are judged. The LIGHTNING ONE offers math processing capabilities only available on large mainframes previously. D Up to 10MHz operation □ 8MHz 8087 option D Optional 8089 co-processor PRICES start at $425.00 8086/87 (8MHz) $900.00 8086 (10MHz) $625.00 LIGHTNING 286: Highest performance processor available on the S100 BUS. This 8MHz 80286 offers performance equivalent to an 18MHz 8086. □ 5 times IBM-PC perform- ance □ 16 Mbyte physical memory space □ 1 Giga byte virtual address space PRICE 80286— $1095.00 80286/287— $1645.00 Lomas Data Products, Inc. LDP 182 Cedar Hill Street, Marlboro, MA 01752 Telephone (617) 460-0333 Telex 4996272 For orders outside the U.S., contact our exclusive dealers: D Australia— LAMRON PTY. LTD., (02)808-3666 ! : Malaysia— EXA COMPUTER (m)SENDIRIAN BERHAD, 795284 □ England— RATIONAL SYSTEMS, 0908-613209 or 0908-611349 Inquiry 2I6 DECEMBER I985 -BYTE 197 PORTACOM above and show how they relate to specific tasks. Electronic Publishing An author sends a new item to an ac- tivity for incoming manuscripts. This is a closed activity, readable by one or more of the editors. They look at the paper and establish a new link from it to the personal mailbox of one or more referees. The referees' comments are entered into a special activity for such com- ments, together with a reference link in the database that connects each comment to the original entry. The What do you want to do? (Read) next notice, Quit, Comment (on entry), (Send a) letter (to), Personal (answer), Other. - [comm] Comment (on entry) Receiver: Computer networks Receiver: IBM computers Receiver: NSIN01 @ RLGB.JNT-MAIL(Paul Bryant) Comment on: Text 22545 (by Dennis Jennings Univ College Dublin) Subject: BITNET Figure 3: The comment command starts a new entry, with a comment link to the previous entry and with recipient links to the same entries as the previous entry. [Imove BITNET planning] Move (entry) BITNET planning BITNET planning added as receiver You are at the end of the entry. Subject: Doing the rounds [Moved entry] [lenter] Enter (it) 17.32 Letter (Text 30767) sent to: BITNET planning What do you want to do? (Read) next notice, Quit, Read (the) rest, Comment (on entry), (Send a) letter (to), Personal (answer), (Re-)type (the text), Other. - [type] (Re-)type (the text) (Text 30767) Today 17.32 New Userman Receiver: BITNET planning Comment on: Text 22545 (by Dennis Jennings Univ. College Dublin) Subject: Doing the rounds Moved entry (Text 30767) Figure 4: At this point, the user wishes to Imove the entry (comment on Text 22545) to the BITNET planning conference. He uses the Imove command, which removes all previous recipient links from the message. editor decides to accept the paper (possibly after revision by its author) and then establishes a link between the paper and the activity for pub- lished papers, such as the electronic journal itself. This activity is write- protected so that only the editors can link items to it. System Development A conference is opened for users of a certain software system. A user in this conference suggests an improve- ment to the system. Some other users comment on this improvement. The system designers then discuss how to implement this improvement in a closed conference for those respon- sible for development of the system. Even though their discussion is in a separate conference, it can still be linked to the original discussion, since commentary links in COM/PortaCOM can cross conference boundaries. When the change is implemented, a comment is entered into the user con- ference again, commenting on the original proposal and informing the users that the change has now been implemented. If users ask the system to print all entries in a certain structure of direct- ly and indirectly linked messages, they will be shown only the subset that they are allowed to see. Thus, the or- dinary user will be shown only the discussion in the user conference, while the implementers will be shown the discussion in their closed con- ference as well. Selecting Messages Participants in large public con- ferences can select messages of spe- cial interest to themselves or some- one else and link them to special selection conferences. For example, I select those messages that I think my manager should read, and I send them along to him by linking them to his personal mailbox or to a closed conference for the two primary managers of our computer center. Selected messages can also be sent to public conferences, designed so that original entries cannot again be (continued) 198 BYTE • DECEMBER 1985 Inquiry 333 — * The Most Powerful LAN Fits on a Disk. Network Power. You knew that someday there would be a powerful LAN that didn't need old-technology network boards. It would be fast, easy to install, and run 99% of PC-DOS software. It would be expandable, provide remote access, password-protection, and enable you to use inex- pensive terminals as workstations in a PC-DOS environment. Dream no more, because the power is here. Its name is LANLink™ A Software-Driven LAN Powerful Enough To Use RS-232 Ports for Network Communications. In development for over three years, LANLink™ represents the next generation of local area networks. All of the logic which has tradition- ally resided on network boards is on LANLink's Satellite and Server Diskettes. No additional hardware is reauired. Inexpensive serial ports replace "Kilobuck" Network Interface Boards making installation costs one-third that of a board-driven network. How To Configure a Smart Network.. .With Dumb Termi- nals, But Without Dedicated Servers. Boasting a wide vari- ety of configurations, LANLink™ is most often set up as a "Star" having up to eight satellites connected to a central, nondedicated server. Larger networks can have multiple servers, supporting a total of 73 or more network users. R-LAN™ (Remote-LAN) gives users the ability to interact with a LANLink™ network in real time via modem. Plus, if MultiLink Advanced™ is run on a Satellite, inexpensive dumb terminals can be used to access network disks, files, and programs. THE SOFTWARE LINK, INC/CANADA 400 Esna Park Drive. Suite 18 Toronto (Markham), Ont./L3R 3K2 CALL: 418/477-5480 LANLink™MultiLink Advanced™* R-LAN™are trademarks of The Software Link, inc. IBM, PC, & PC-DOS are trademarks of IBM Corp. WordStar 2000, dBASE III, and Lotus 1-2-3 are trademarks of MicroPro, Ashton- Tate, and Lotus Development Corp., respectively. 99% of PC-DOS Applications Run In a Totally- Transparent Network Environment. If you know DOS, you already know how to use LANLink™ COPY transfers files among users, and a 2-drive PC Satellite boots 1-2-3 from the Server's hard disk with the entry c:lotus. Each satellite's access can be limited to specific disks, printers, and sub- directories. A wide variety of software including Lotus 1-2-3, dBASE III, and WordStar 2000 is fully compatible. LANLink™ has a collision-free data transfer rate which exceeds 115,000 BPS. Power Up Your PCs Today. For complete details and the authorized dealer nearest you, call The Software Link TODAY. The LANLink™ Starter Kit is $495 and includes mod- ules for both a Server and a Satellite. For a limited time, 50 feet of shielded RS-232 cable will be included free of charge. Additional Satellite Modules are only $195, each. LANLink™ is immediately available and comes with a money-back guarantee. VISA, MC, AMEX accepted. LAIMJnk THE SOFTWARE LINK, INC. Developers of LANLink^and MultiLink Advanced™ 8601 Dunwoody Place, Suite 632, Atlanta, QA 30338 Telex 4996147 SWLINK CALL: 404/998-0700 Dealer Inquiries Invited PORTACOM sent to them; only entries that have been referred there from other con- ferences can be sent. Telex Handling Suppose that you want to introduce a system in which all outgoing telexes have to be approved by certain telex controllers. You can then create an ac- tivity for all suggested telexes or, if you prefer, separate activities for sug- gested telexes, one to be handled by each telex controller. The telex controllers have the right to move entries from these activities to other activities of messages to be sent as outgoing telexes. The program that transmits outgoing telexes ap- pears to the system as a special kind of human user who takes messages from the activity for outgoing telexes and sends them. In the same way, in- coming telexes can be entered into a conference for incoming telexes before a human decides to which ac- tivities to move these telexes for handling. Links Between Messages COM/PortaCOM also allows links be- tween messages when one message is a comment on, or a reply to, a previous message. These links are also stored in the database and will create a structure consisting of all the messages related via these links. There are commands for traversing these links. They are used, for exam- ple, to find all the comments on the message or for traversing (backward or forward) the whole structure of all the messages linked together. There are also commands to tell the com- puter that you do not want to read the rest of the entries in this set of messages but that you still want to re- main a member of the conference. Database Structure To a novice user, COM/PortaCOM is a system for handling letters and con- ference entries. The fact that both let- ters and conference entries are handled by the general-purpose ac- tivity concept is transparent to the novice user. The database structure of COM/ PortaCOM does not use a separate storage area for each conference. In- stead, the database consists of ob- jects and links. Text items, personal mailboxes, and conferences are objects. Entering a text item into a conference, sending it to a mailbox, or making it a com- ment on a previous message entails the creation of a new link in the data- base. Each object has a list of links to and from it. All links are members of the list of links of both the linked ob- jects, so that a link can always be found starting at either end. New links can be added, or old links removed, at any time. Thus, the for- warding of a message to a new reci- pient only entails the creation of a new link in the database, between the text item and the mailbox of the reci- pient. The removal of a message from a conference entails the removal of a link (not deletion of the text itself, as it may still be linked to other con- ferences or mailboxes). For example, it is possible to create a link between two text items long after they have been added to the database by say- ing that one of them is a comment on the other. A user has the authority to add and remove links to his or her own mes- sages. The organizers of a conference have authority to add and remove links to the conference. The creator of a link has the authority to remove the links he has created. The COM ad- ministrator can assume privileged powers to create or remove any links in the database. One of the challenges of designing computer message systems is to find suitable principles for such access rights to further smooth information flow while pro- tecting privacy requirements. ■ Editors note: The COM and PortaCOM manuals are available from QZ, Stockholm University Computing Center, Box 27 '322, S-102 54 Stockholm, Sweden. REFERENCES 1. Palme. Jacob, and Eva Aibertson. COM Teleconferencing System— Advanced manual. Stockholm, Sweden: QZ Computing Center, September 1983. 2. Palme, Jacob. "Survey of Computer- based Message Systems." Interact '84 con- ference papers. Amsterdam: North- Holland, 1984. 3. PortaCOM Teleconferencing— User manual. Stockholm, Sweden: QZ Computing Center December 1982. ATronics Delivers AT* Compatible System Boards! ATI- 1000-6 6MHz System Board New! ATI Enhanced Graphics Adapter • 640 Kbyte Main Memory Expandable to 1 Mega Byte • Features 256 Kbyte Video Memory ATI- 1 000-8 8MHz System Board * 1 6 Colors 640 x 350 resolution. „. _ _, . . • Fully Compatible with IBM EGA Card • Bios Eprom Standard. ' K • 8 I/O Expansion Slots Accessories For The AT ■ System Unit Price • Socket for 80287 Math Co-Processor • All Metal AT Style Case 129.00 • CMOS Clock Calendar with Battery Back Up Holder • AT! Low Profile Keyboard 129.00 • Board Size 12" x 13.7" Fits Standard AT Case • 195 Watt Power Supply 179.00 • Full 1 Vear Warranty • Combination Hard Disc/Floppy 275.00 New! ATI-2000 8 MHz System Board Controller Card • Features Dual Speed 6MHz/8MHz selected by Software Switch Dealers " 0EM " Corporate Accounts - . ZERO WAIT STATE- 8MHz Mode Runs 67% Faster than Ca " For 0uanW * PriCin 9 (408) 943-6629 IBM AT*. "Based on Norton Sys Info Rating of 9.2. ATronics International, Inc. AT» is a registered trademark of International Business Machines. 491 Valley Way MilpitaS, CA 95035 Intel / Intel 80287 J 80286 6 to 8 MHz system clock (optional) / On-board battery (optional) 200 BYTE • DECEMBER I985 Inquiry 29 ASCIIand you shall recei^a Just tell us what you want. Price? The WY-30, right out front, makes your system look and feel like a million bucks for $399. Flat screen, crisp 80-column display, Touch-Tilt, 41 programmable functions. Heavy duty applications? The WY-50, at $599, is the industry's favorite for a lot of good reasons. 132 columns, tilt/swivel, 16 dedicated function keys. Even more sophistication? The WY-50+, at $699, packs top-end functionality: multi-page memory, variable length function keys, bidirectional auxiliary port, and so on. Color? The WY-350 gives you full WY-50 emulation plus 64 colors, 16 palettes for $1195. All our ASCII terminals share the exclusive Wyse keyboard layout, 26- line screen, and across- the-board software compatibility, so you have complete design flexibility. Users can move from one Wyse terminal to another without relearning or reprogramming. . No matter what you ASCII for, your answer is Wyse. Call us today. Regional Sales Offices: Northeast (201) 725-5054; Southeast (305) 862-2221; North Central (313) 471-1565; South Central (214) 490-0968; Southwest (818) 340-2013; Northwest (408) 559-5911; OEM inquiries (408) 946-7115. Inquiry 378 WYSE l-irsl StKvi.S.mJoiC. koi Wyse Technology BUY THE WORLD'S # 1 PRINTER FROM THE WORLD'S # 1 SOURCE! It's an unbeatable combination. We're the nation's largest-mail order source for everything in computing. Epsons are the nation's best-selling family of printers ... and for good reason. Epsons are unmatched in speed, versatility, letter and correspondance quality, choice of fonts, and are backed by the strongest local service network in the nation. So we stock them in tremendous volume, ready for immediate shipment ... at the kind of prices that helped make us # 1 . Epson printers, as well as 30,000 other products are priced at Wholesale +8%. Also, when you join the Network you get our 600 page catalog, our own quarterly newsletter, a vast software rental library, free phone consultation, our 10 day money-back guarantee and more! Watch your benefits stack up. Join PC Network today! CALL TOLL-FREE 1 -800-621 -S-A-V-E B3ZE In Illinois Call (31 2) 280-0002 NETWORK GET THE NETWORK ADVANTAGE!!! 202 BYTE • DECEMBER I985 Inquiry 279 COMPUTER CONFERENCING THE NETWORK APPLICATION MANAGER by Robert A. Flavin and Jack D. Williford You can put any application involving communications on a conferencing system WE DEFINE computer conferencing much more generally than most peo- ple do. We see traditional computer conferencing as a subset of the spec- trum of applications of computer- mediated communications. The net- work application manager is a system that provides the functions needed to support many communications appli- cations. Even a distributed chess-playing program could be considered to be an adaptation of raw computer con- ferencing to a specific task. In a tradi- tional computer conference, a group of people submit short notes or pieces of text to a system that stores and redistributes the information. You can also use such a communication system to transmit the moves of a chess game between two players and their spectators. However, special- purpose interfaces that understand chess shorthand and how to display chess moves would be even more desirable to tailor the conferencing system to the needs of the chess players. Convinced that such a computer communication system needed to be built, we set about designing one. What characteristics should such a system have? We already had some in mind. But, to the consternation of many of the developers, some of the system's design considerations were premises a posteriori, design points that we weren't able to articulate until after we had seen the consequences of violating them. Many of the characteristics that set the direction for the system were lessons learned from an earlier con- ferencing effort, the PALTRY Com- puter Conferencing System. (PALTRY was so named to ward off criticism of the early system.) Our new system was christened GRANDiose, or GRAND for short. (See the text box "GRANDiose Design Considerations" on page 204.) VNET An Enormous Testing Ground It would be impossible to experiment and test the ideas behind GRAND without getting it into the hands of real users. A suitable collection of such users was available on IBM's VNET system. VNET is a collection of about 2000 major computers dis- tributed among 2 1 5 cities throughout the world. The computers are con- nected together by a variety of means, including channel-to-channel adapt- ers, satellite links, fiber-optic cables, and phone lines. The terminals and workstations of the 200,000 network users are connected to the main com- puters by channel attachments, 1.2-megabyte-per-second direct coax- ial cables, local-area networks, and twisted-pair, dedicated, and dial-up phone links. The major computers on VNET run various versions of IBM's VM/370 and MVS operating systems. VNET's users include experienced systems pro- (conlinued) Robert A. Flavin and }ack D. Williford are research staff members at IBM (T I. Watson Research Center, POB 218, Yorktown Heights. NY 10598). Bob studied electrical engineering and computer science at Princeton University and is interested in operating- system and microcomputer design. )ack studied mathematics at Lyman Briggs College of Michigan State University and has interests in natural-language processing and home com- puter applications. DECEMBER IYTE 203 APPLICATION NETWORK grammers. novice users, computer scientists, secretaries, corporate ex- ecutives, summer students, manufac- turing workers, administrators, and managers. In various combinations and for various purposes, all these people need to communicate. Because VNET is the principal elec- tronic means by which people in IBM communicate, the conferencing appli- cations must compete and cooperate with established electronic-mail and communications programs. Merely providing electronic mail isn't enough to get anyone's attention. VNET is a store-and-forward net- work that can transmit both files and messages (short, about 100-byte. priority transmissions). Hardware and software problems can delay or even lose messages and files. No end-to- end acknowledgments of transmis- sion are built into the basic transmis- sion system, which is based on VM/370's RSCS (remote-spooling con- trol system). Although this community is an ex- cellent test bed for GRAND, we had to design it to fit into other operating systems and into communications networks with different characteristics. This meant that we had to include the appropriate interfaces so it could run on and communicate with other sys- tems. The Network-based Application If you wanted to write a program to maintain a database about hiking trails, you could write it on your microcomputer. If you gave a copy of the program to a friend, he or she could maintain his or her own data- base about hiking trails. While you have saved your friend the effort of writing the program, you will both be [continued] GRANDiose Design Considerations The Network • GRAND users should be able to re- main in their normal electronic environ- ment, which includes the operating sys- tem, file, profiles, and tools that they have available during normal use of their computers. They should not have to log onto someone else's computer, have all their commands taken by the conferencing system, and be separated from the tools and files that they are accustomed to. To accomplish this, some conferencing-system programs must run in the user's environment to transmit data to the rest of the system. • You cannot serve all users with one main computer. Even if you are willing to force people to (logically) leave their normal environment, no one computer could support a very large communi- ty of users (i.e.. the world). Thus, you must distribute the system among a collection of computers. • You must isolate part of the system from direct user control to ensure that data is secure from unauthorized use, to ensure data integrity, and for system reliability. Therefore, you need to establish server tasks. • You should be electronically as close to the computer that is providing the conferencing service as possible. Com- puter users are neither happy nor pro- ductive if they get poor performance from their computers; therefore, trans- action speed is important. If you use a large computer and if the confer- encing data is stored on disks that you have access to, you can get extremely fast service. If, however, your connec- tion to the data is over a T-l carrier (a 1 . 5-megabit-per-second telecommuni- cations line), your service is not as good. If you must go through voice- grade phone lines, it's even worse. In some situations your interactive com- munication must be handled by a series of hops across various commu- nication lines. But the closer you can be, the better. The Applications • GRAND must support a variety of communications applications. No single design of a traditional computer conferencing system is well-suited for all users in all situations. For example, the features and functions that a com- puter conference needs to arrange a Frisbee game among 30 people differ from those needed by a professor to conduct a class. • Because the tastes, expertise, and practices of different users are quite different, no single user interface is satisfactory. Therefore, you need more than one UIP (user-interface program). To make practical the support of multi- ple UIPs, GRAND needs a well-defined programming interface for the UIPs to communicate with. This interface must include command syntax and the for- mat and interpretation of application data • To authenticate who each user is. run private conferences, and accommodate individual preferences about how users deal with the system. GRAND needs the ability to verify that a transmission comes from where it claims to come from. This allows the system to restrict certain commands to certain people no matter where they are. This task becomes more complex because the system is distributed throughout a large network of machines. • The application programs within the conferencing system should be in- dependent of the user communica- tions programs. If users remain in their normal environments, they are unlike- ly to all choose the same method of communication with the system. There- fore, the applications must not contain any code for user communications. • You don't want either central or com- pletely independent server operation. However, the parts of the system should work in concert rather than as a collection of independent domains. Since we are unwilling to impose cen- tral control, this task becomes a dif- ficult communications problem. To solve it. we treat managing the system as a GRAND application. Thus, even the operation and maintenance of GRAND become a specialized con- ferencing application. 204 BYTE • DECEMBER 1985 It's the best thing since 1-2-3. We asked current 1-2-3® users how to get more out of 1-2-3. And you told us. Introducing 1-2-3 Release 2 from Lotus.® New 1-2-3 is more powerful and a lot more versatile. You wanted to handle larger jobs with 1-2-3. Now you can. The new 1-2-3 worksheet has been expanded to 8192 rows-4 times its original size. And your worksheet is actually more flexible because advanced memory management allocates memory more efficiently and allows data to be stored anywhere on the worksheet. When used with new expanded memory boards, new 1-2-3 can address mem- ory beyond 640K. New 1-2-3 is designed to support the Intel® 8087/80287 math coproces- sors so you can now do many calcula- tions faster. We've even added some features that make it possible to do things like regression analysis, string functions and string arithmetic. And new 1-2-3 comes with 40 new macro commands so you can work more efficiently and a lot more productively. Now you can start 1-2-3 directly off a hard disk without putting a system disk in the floppy disk drive. But we still kept things simple. In many respects, new 1-2-3 isn't any different from the original. You wanted us to keep things simple and we did. If you're already familiar with 1-2-3, you're ready to use new 1-2-3. You don't have to retrain. And new 1-2-3 can read and process existing 1-2-3 files so that virtually all appli- cations already developed can easily be used. It's even easy to upgrade to new 1-2-3. If you're a registered 1-2-3 user and want to upgrade to new 1-2-3, you'll find all the details in a mailing from Lotus. If you haven't registered yet, complete and send in your Warranty Registration Card or call 1-800- TRADEUP* so we can send you the mailing. The cost of the Upgrade product is $150. You are eligible for a free upgrade if you purchased 1-2-3 Release 1A on or after April 24, 1985. And for everyone who upgrades, there's also a rebate offer of $40 on the Intel Above™ Board, the first expanded memory board certified by Lotus. We think you'll find new 1-2-3 the best thing since, well, 1-2-3. "In Canada call 1-800-447-4700. Suggested retail price of new 1-2-1 is $495. 1-2-3 Release 2 requires 25 6K of memory. The minimum memory requirement for 1-2-1 Release 1A is 192k. ■P Lotus' 1 1 985, Lotus Development Corporation. Lotus and 1-2-3 are registered trademarks of Lotus Development Corporation. Intel is a registered trademark and Above is a trademark of Intel Corporation. DECEMBER 1985 -BYTE 205 APPLICATION NETWORK developing different databases. If you wrote the database system on a time-sharing system, or if your microcomputers were connected to- gether, you could maintain a common database. You could both benefit from the work that each of you does. This is a fundamental improvement in the system's usefulness. If you gave this program to another set of people on another time-sharing system, they could create their own database. But the two databases will differ. If these time-sharing systems or networks of microcomputers were connected together, the database programs could create one massive, common database from which all the users could benefit. For these reasons, applications should be designed so that they treat the entire network as a uniform col- lection of users: you should not write them with one microcomputer or one time-sharing system in mind. The power of microcomputers is great, but it pales in comparison to the poten- tial of networks of computers, large and small. The Network Application Manager Once you accept the value of network- based applications, how do you design them? Should each hiker's database, chess-game manager, news- distribution system, program-library manager, mail system, and confer- encing system be independent? All these systems have a large overlap in the functions that they need in order to work. Rather than duplicate the ef- fort each time a new application comes along, you should distill their common parts into a support system for all the applications. This network application manager (NAM) would provide the basic communication and Upgrade your dot matrix printer to letter quality now. And we'll include a 64K buffer with multiple type styles FREE. StyleWriter™ is a smart printer buffer that converts your dot matrix printer into a letter quality machine. It lets you choose from dozens of typestyles and other enhancements like bold face, proportional spacing, left justification, double underlining, highlighting and reverse printing. The Microphonics™ StyleWriter sells for only $1 99 and works with any computer, any software program, and any dot matrix printer. It's easily upgradeable to a 128K buffer. Unconditional Money Back Guarantee If you're not completely satisfied, return StyleWriter undamaged within 30 days for a full refund. Call to order now and ask about our unique voice input system, Pronounce™ 1-800-325-9206 Major bank cards and CODs accepted. Microphonics Technology Corporation 234 S.W.43rd Street, Renton.WA 98057-Telephone: (206) 251-9009 Microphonics support services that the applications need in order to maintain and dis- tribute their data and to communicate to the users. By providing these services, the NAM reduces the effort required to develop new network-based applica- tions. Thus, applications that previously were too costly to develop have become cost-effective. This is an ordinary benefit of standardization and careful modular design. The vir- tue of establishing a network of servers that supports many applica- tions is that the overhead cost— both in terms of computer resources con- sumed and administrative and opera- tional burden— of supporting the ap- plications in the shared system is less than the cost of operating all the ap- plications as separate systems. Thus. still more possible applications become practical. One of our chal- lenges is to figure out what sorts of heretofore outlandish computer uses are now reasonable. The GRAND Design How did we decide to organize our system? The proper choice of inter- faces between parts of the system was critical to its survival as it grew and matured (see figure 1). The real work is done by the servers. A server is a task that waits for a user request to come in, interprets its commands when it arrives, and then waits for the next request. Typically, servers main- tain local copies of databases and communicate to users and other servers. They treat each other as peers; there is no one server that is master of all. Servers are sprinkled around the network so that transmission delays between the user and the local data stores are not long. Most other con- ferencing systems rely on only one server. In these systems your terminal is connected directly and exclusively to the conferencing system. This sys- tem design is easier because you don't have to maintain a distributed database. However, it rules out hav- ing a large number of active users and leaving them in their normal elec- [continued) 206 BYTE • DECEMBER 1985 Inquiry 419 Doesn't your IBM PC deserve IBM service? You chose an IBM Personal Computer for lots of good reasons. And now that you depend on it to help keep your office running smoothly, doesn't it make sense to help protect your investment with blue chip service from IBM? No matter what IBM PC you have, blue chip service is more than just expert repair. Blue chip service offers the choice of ser- vice that's right for you at the price that's right for you. It means we'll exchange your monitor, for example, at your place or at any of our Service/Exchange Centers. And blue chip service means a lot of things you don't see. Quality. Speed. Commitment. And IBM experience. Every year IBM invests many hours of training to keep its service repre- sentatives current on technologies that never stand still. As an IBM customer you deserve blue chip service. It's the best thing you can do for your IBM Personal Computer. For more information, use the coupon or call 1 800 IBM-2468, Ext. 104. and ask for the Service/Exchange Maintenance Department. ^F T"!" ^ ^ Blue chip service from ===?■=' = IBM Direct ,0412 - 85 Service/Exchange Maintenance Dept. One Culver Rd. Dayton. NJ 08810 □ Please send me more information on IBM PC service. i_. Name Company- Address City -Title. _Phone .State. -Zip- Inquiry 173 DECEMBER 1985 -BYTE 207 Inquiry 388 1st PLACE COMPUTER SYSTEMS 13422 N. CAVECREEK RD. PHOENIX, AZ. 85022 OTHER INFORMATION: 602-867 9897 CALL FREE -841-2748 Hi — I'm Joan, I want to wish you all Happy Holidays and thank you for making my business a success. All of you who hav- en't tried us and are a- fraid of mail order, call us and give us a try. I'm sure you will like our fast and courteous service. Get your order in soon, as Christmas is not far away. Thanks again and God bless. Joan P.S. Hearing handicap, call us on your TTY. COMPUTERS APPLICATION NETWORK tronic environments. You don't need to make all applica- tions available at all servers. And you don't need to duplicate all conference databases at all servers. These mat- ters are specific characteristics of the applications rather than architectural requirements of GRAND itself. Your Relationship to the Server If you are sitting in your own environ- ment and the servers are off some- where else talking to each other, how do you get anything done? When you want to use some application that uses the server network, you invoke a user-interface program (UIP) that figures out what you want and, if necessary, sends a command to the local server. Because the UIP runs in your environment, it isn't protected from you. As a matter of fact, you are encouraged to develop your own UIPs if they would better suit your needs and preferences. The server is out of your direct control, so it can do the testing required to ensure the securi- ty of the server network. You may select any UIP you wish to communicate to the servers. Your decision may be dependent on per- sonal preference, degree of experi- (continued) USERS Figure l: GRANDiose server network. Some of the main computers have servers in them, and some don't. The user workstations can be microcomputers or terminals. The blue line represents the transmission of a news bulletin over an LAN to the nearest server. The red lines from the server represent the transmission of notification of the news bulletin to various users and servers. The Fox A Complete MS-DOS System at$995 Our Fox system is more than the only complete 16-bit, 8088 computer for less than $1,000. The Fox includes more storage, more extras, and more software than systems costing twice os much. 1 .6 Megabytes! Dual Drives with BOOK storage on each, yet the Fox is nimble enough to read and write to standatd 1 60K, 320K, and 360K formates. All me Extras that cost extra on other machines are included in our price. You get a full 1 2", 25x80, green display monitor, plus RGB color output, a printet port, a better keyboard, and a full 256K of RAM. Free Software All the software most people will ever need including: MS-DOS 2.11, HAGEN-DOS, DOS Tutor, WordStar 3.3, EasyAVrirer, Spell, Mail Track, FILEBASE, CalcSrar, gomes, graphics, utilities, and o graphics BASIC. Strictly speaking the Fox isn't IBM compatible, but will run hundreds of the same programs including dBASE II, Mulriplan, and Turbo Pascal. Because the Fox is bom on o totally automated assembly line in Japan we can back it with o full one year limited warranty. For a free booklet explaining why the Fox is your best buy coll 1 -800-FORAFOXond leave your name and address after the beep. The Fox $995 *** The Quick TlirboFoX Jumps Over The Big Blue Clones Introducing the TurboFox At Last - IBMPC comparability, 256K RAM a monochrome monitor ond bundled software at a price that leads the pack. Compare its features with any other clone on the marker. Greotet Speed. Capable of running virrurally all PC software at 8MHz the TurboFox can also slow down to IBM's 4.77MHz at the flick of o switch. More RAM. We've installed a RAM card in one of the 8 PC Comparable slots so when you're ready for up ro 640K just plug in the chips. For a slighr addironol fee we can install and test tiem or time of purchase Your Chok:e....of o green or amber monochrome monitor. PIUS...MS-D05 2.11, GW BASIC, WordStar, CalcSrar, RGB and mono- chrome outputs, a parallel porr and room for extras. If you're looking for a low cost, high speed comparable with loads of features and high quality call us now at Scorfsdale Systems. TurboFox $1499 TurboFox XT (20MB) .... $2 1 99 Extra 128KRom . . . . k>0 The New ALTOS 2086-2 The high performance Xenix based system for 20 work stations from Alros - a world leader in multi-user sysrems and software. The 2086-2 features 2 MB of RAM, on 80MB hard disk, a 60MB rope backup and an 80286 CPU. Options include: 1 more user stations, up ro 8MB of RAM, up to 1 89MB of hard disk storage ond on 80287 co-processor ALTOS 2086-2 . . . $14599 The power of o mini or o fraction of the cost ALSO Altos 986-40 $861 9 Altos 586-40 $6989 THE ATARI 520ST Precision Grophics-640x400 resolution, 512 Colors with options RGB monitor Parallel and Serial Interface Standard Double Density Disk Drive Standard Two Button Mouse Standard. Optional 10 MB Hard Drive, $699 with morxxhrame monitor $899 1 66000 CPU Architecture I 512KRAM Standard I 8MHz Clock Speed. with RGB monitor ■ MIDI Interface. PLUS... Word processing, spreadsheet, database ond inregrared software is availabe now! Coll for pricing ond inquire obour rhe notional 520ST Users Group. PRINTERS YOUR CHOICE: STARSG-10 .... $239 EPSON LX-80 . . . $244 JUKI 61 00 S389 More Star u Epson CALL All Okidaros CALL All Diablo CALL Citizen MSP-10 $295 Panasonic 1091 S269 Toshiba 1340 $539 Toshiba 351 $1169 Dataproducts 6050 . . . $1099 O OLYMPIA To quote PC magazine. The (NP) prinrer is o sure thing..." If you're considering rhe purchase of on Okidoro 92, or on Epson FX-60 give us o coll before you spend $50 ro $ 1 00 more for on inferior prinrer. Ler us send you on actual print sample from rhe NP, and oddirionol infor- morion on rhe features rhar moke rhe Olympic NP rhe besr value in dot matrix printers. iiQQ *S V / ■""»" January / V Scoffsdale Systems I 617 N. Scortsdale Road, Suite B. Scortsdale, Arizona 85257 (602)941-5856 Call 8-5 Mon.-Fn. ■Jr~~^i/ *' e participate in arbitration for business ond customers through the Dertet ^n./ Business Bureau of Maricopa County. SINCE 1980 TELEMARKETING ONLY If you plan to srop by please phone ahead Prices listed are for cash P.O's from Fortune 1 200 componies ond universities with good credit odd 2% / Mastercard and Visa odd 3% / Arizona residents odd 6% soles tax / Shipping extra / All irems ore new with monufoaurer s worronty / Returned merchandise subject ro 20% restocking fee / Personal or company checks rake up ro weeks to clear / No COO's or APO's Prices and spetificartons subject ro change / Product subject to avoilobility Trademarks Altos. Altos Computer Sysrems. Silver Fox. MyWrtre and MyCalc Software Toorworks. Apple II m ond Moclnrosh m, Apple Compurer Inc Aran m by Aran Corp HAGEN— DOS. ond Jocklnrash. Scorrsdale Sysrems, Ltd ; Wordsror and CalcSfor. Miaopro International. MS-DOS ond Multiplon, Microsoft Corporation: FILEQA5E. EWDP Software I Inc dBASE II, Ashron-Tare IBM-PC DOS. ond IBMPC International Business Machines Houston Instruments DMP-40 S769 DMP-29 $1795 DMP-41 $2340 Other models call TERMINALS Wyse 50 $449 QumeQVT101 $296 QumeQVT101A $325 REACH OUT AND TEACH SOMEONE THEAMSTRAD128K z-eoACPu Keyboard Moniror (RGB opr.) 3" Disk Drive Cassette Interface Joystick Port Parallel Porr CP/M. LOGO. AM-DOS Word Processor Spreodsheer Gomes. Graphics Introduce Your Family To Computing For Only $439 with green monitor THE BERNOULLI BOX ■ Hord disk capacity and performance ■ Removable carmdge economy ■ Cartridge convenience ■ Flexible disk economy ■ Winchester capacity ■ Unparalleled reliability 10 Mb S1609 20 Mb S24S9 5Mb/Moc &1379 Coll For Half Height Prices COLOR MONITOR SALE NEC JC 1460 RGB $298 Taxon420RGB $409 DECEMBER 1985 • BYTE 209 APPLICATION NETWORK ence, and choice of editors. All of an application's users do not need to be using the same UIP; they only need to be using UiPs that know how to deal with the particular application that they are using. To reduce the complexity of writing UlPs. there is a service routine that provides a standard way of finding and communicating with the local server. This lets you change the com- munication techniques without affect- ing the UIP. In a GRAND Style One of the most important things we learned from PALTRY is that there is no one right way of doing something. Depending on the application and the needs of the users, you may need dif- ferent styles of doing a particular task. This leads to the concept of style pro- grams, interchangeable programs that perform well one style of doing some- thing. In order to notify you of some news, we need notification-style programs, or NSPs. If a conference wants to notify an ARPANET user of a new entry, it might be appropriate to package the new entry with an RFC822 (ARPANET mail-format stan- dard) header, with its "To," "From," and "Subject" lines and send it off. If you usually log on the very machine that the server is on, then sending you mail about a new entry may be unnec- essary. In this case, you may prefer to have a message written to your ter- minal telling you to look at some file for the new entry. Both are reasonable ways of notifying you. Therefore, both methods are written into NSPs, and you select the one you want from the library of NSPs. In addition to NSPs, other system O CO > S ERVE /"-> o (a o X m a * n R Pi O H X m 2J [ ^- NAr* 1 N^y ( ASpJ (n ;p i (nspJ \^y \ \ /'chess ^UIP APPLES INFO J cz ) USER us ER Figure 2: GRANDiose server internal organization. The NAM routes commands to the CSPs that contain the application-specific code. The ASPs and NSPs transmit and receive information to and from the server. The UIP exists within the user's sphere: half of the UIP communicates with the server, and the other half interprets the application- specific information. The blue line from one user represents the transmission of a chess move from the CHESS UIP through an ASP to the NAM and on to the CSCHESS application. CSCHESS then forwards the move, via the red line, through an NSP out over the network. functions that may need to be tailored to match the preferred way of doing something are broken out from the basic kernel of the system. These func- tions include things like conference- style programs (CSPs). arrival-style programs (ASPs), and user-interface- style programs (UIPs). See figure 2 for a diagram of how these functions interact. The Design of a Server Lopping off all the functions that need tailoring leaves the common part of the system, the NAM. Its function is to wake up when something needs to be done, perform various functions, and pass the request, along with any information about its context, to the program that actually does the work. The NAM finds some input, figures out who sent it, and proceeds to parse the command and execute the request. Certain common commands are processed directly by the NAM. For example, the NAM verifies that re- questers are who they say they are before it honors their requests. A re- quest usually names the application, or conference, that it is addressing. Based on the conference name, the NAM invokes the correct program to handle the request and passes the re- mainder of the request to it for pro- cessing. The Conference-Style Program The program that processes all re- quests directed to a particular con- ference is called the CSP Its scope is any matter related to the application's function. Other parts of the system merely provide services to the appli- cation, but none infringe on the CSP's ability to define what the application does. Typically, the CSP manages a database of its choosing, honors com- mands of its choosing, and transmits data to users and other servers. It also determines which users may execute which commands. Of course, if the CSP doesn't make a good choice about what it's going to do, it won't be a very useful application. For example, CSAPP, one of (continued) 210 BYTE- DECEMBER 198S Newl itech. LOGIMOUSFC7 ^1 The professionals' choice. Find out why AT&T, DEC, and Hewlett-Packard have chosen LOGITECH'S mouse as part of their systems. With LOGIMOUSE C7 there's no pad or tablet to clutter up your desk. There's no external power supply with extra wires and plugs. It's clean and simple. The professionals' choice for making all your software run faster and easier. At a new $ 99 price. Hardware Superiority ■ HIGH resolution (twice as high as most other mice) ■ NO external power supply required ■ NO pad or grid required ■ ENHANCED opto-mechanical design with CMOS technology Software Superiority ■ Logimouse C7 comes with its own software ■ Universal Mouse Driver makes your mouse compatible with almost ALL applications. With an easy menu system for creating and saving mouse settings. ■ TAG, the Text-And-Graphics editor, is ideal for memos containing maps, organization charts, simple schematics. With file editing capabilities. Technical Support • Fully documented package backed by complete engineering support. To order LOGIMOUSE C7 for your application call our toll free number: 800-231-7717 In California: 800-552-8885 LOGITECH 805 Veterans Blvd., Redwood City,CA 94063 Phone 415/365-9852 LOGl MOUSE is a registered trademark of LOGITECH. Inquiry 214 DECEMBER 1985 -BYTE APPLICATION NETWORK GRAND's CSPs, implements rather or- dinary computer conferencing as its application. It accepts the commands ADD, DELETE. REPLACE. GET, JOIN, LEAVE, ADDTOPIC, and DELTOPIC. The database it maintains includes files that are accumulations of things that users have added and control files to tell it who is allowed to do what to each of the other files. Imbedded in CSAPP are certain deci- sions about how it plans to maintain its distributed database and what rules it has about how people can manipulate the data. If users running other conferences like CSAPP, they can create another instance of a CSAPP conference. If use us... TO SAV€ R BUNDLCI! ■ lie serve educational, business and UUJ institutional buyers hundreds or even thousands of dollars on their computer supplu needs. HOW ABOUT VOU? 1 1 e deol only in first quality, guaranteed products — UJ all in stock for immediate shipment!! 'Wm? BULK DISK€TT€S JANUS FROM . . SS/DD VERBATIM ffiOM . . SS/DD S€NT1N€1 mm 0«9 i oo lot DS/DD . S€NTIN€l COLOA DISK SS/DD. DS/DD OT 100 LOT «M» DOS or OS-9 required lo utttoe fun 64K RAM on all computers TRS-64K-2 $9.95 Update! TRS-80 MODEL IV, 4P Update! Easyto install Kits come completewith TOS-64K-Zf6ea 4l64N-20<2OOns) 64K Dynamic RAMsl. TRS-64K 2PAL (8 ea 41 64s plus PAL chip) and docu- mentation tor conversion TRS-64K-2 Expand! Model IV trom 1 6K-64K or Model IV I 4P from 64K-128K (w/Mtun. Disk). ... $ 9.95 TRS-64K-2PAL Expands Modal IV (w/Bfack S White Monitors only) tram 64K to 128K S29.95 •TRS-80 Model 100 • NEC •Olivetti Easy to install Module plugs right into the socket increasing memory in 8K increments Three modules will increase your memory to its lull capacity. Complete wilh module and documentation lor installation Ml OOBK (TRS-SO Model 1 00 Expansion) S29 95 aa. or 3/979.95 NEC8KR (NECPC-M01A) $29.95 aa or 3/S79 95 OM10M (OttvMiMlO) S29 95 aa or 3/S79 95 TANDY 200 Easy to insiaii module plugs right into the socket increasing memory in 24K increments Complete with module and documentation lor installation M200R Handy 200 rUpanwon). . . $99.95 ea. or 2/S189.95 PROMETHEUS MODEMS Intelligent 1200/300 Baud Modem with Real Time Clock/Calendar The ProModem is a Bell 212A (1200/300) intelligent stand-alone modem ■ Hayes command set compatible plus an additional extended command set • Shown with alphanumeric display option PM1200 RS-232 Stond-Alone Unit $299.95 OPTIONS FOR ProModem 1200 PM-COM (ProCom Communication Software!. ... $ 79.95 Please specify Operating System - Apple ProOOS or CP'M - or IBM PC DOS or MS DOS PM-OP512K .Communication flutter Option) $129.95 BUF512K B12K Memory for PM-OP512K) S 54.95 PM-ALP Alphanumeric p.splayi $ 79.95 PM-Special*2 .include* pv-ops'2k DATA BOOKS REfe 210830 Intal Memory Component* HnrJbk. [1983/84) $14.95 Contains all Apphcations Soles Article Reprints Data Sheets i other Oevyn information on Intel's RAMs DRAMs EPROMs E'PROMs and BuOPW Memonw 1880 pagesi „_ 230843 Intel Microsystem Components H 30022 National Logic Data Book Sat (1984) S24.95 WMumes I S It i3*85 pages! Contains inhumation on National's TTL product Nne and CO4000 Smiry This .ndudes 7400. 74L S. AS LS and ALS Series demces and MM54HC T*HC i 54HCT ' 74HCT High Speeo Micro CMOS family, Muffin-Style & Sprite-Style Fans MUF60 (SPN3-1 5-2462) Howard Industries 14 68"sq 60cfml. . . . $9.95 SU2C7 EGSG Rolron (3 125 sq 32clm) S9-95 2 A * Sl=l5jJHlm-!&lb- Ht?ttoM«M&ls FhmKn 128K RAM Card Prognrnm! For Apple II. II+ and lie' it JEMS ■ lunclionaNy compatible with me Apple I ia"guJ"« ilirimd with all software that can be used with a standard i&* ■es no modilicalKms to your Apple compuler f«e liey solhK led Memory Management System utilities diagnostics dem. rlorstor DOS 33 CP'M and Aon* Pascal Al so features DOS ie JE868 (Ejtpand-A-RAM) S119.95 Applesurance Diagnostic Disk Controller Card Pravwrts Crashes! For Apple II, II + and He' disk drive controller The JE877 will verity and check s luliy-omrjatibte with Apple CP V mi other i packages available lor Apple II n - and De ' The JEB80 is sh.pped conhgured to' the Centronics standard and can be reconfigured lor other standards it necessary Advanced let printing teatures include video screen ec»>0 ON or OfF aulo d>SabW linefeed alter carnage return set clear the Sth brt or the output data set let margin and more 1 Complete with instructions JE880 (PBT-1) S59.9S Parallel/Serial Buffer Card For Apple II. II ■ and lie' 13 prowdes the user * < additional or puttered memory ' '8 pages Pie supplied the JE883 will attach to Ihe eralion The JE883 includes a standard i :RS212- Outlefed outputs With these JE883 (P/S Buffer) $79.95 Jameco's New 1966 Catalog! Filled with New Products, Reduced Pricing and Valuable Pin-out Data. Send $1 Postage for FREE 1986 Jameco Catalog! i Order - U.S Funds Only CA Residents Add 6* or 6 BASK i™i .» a»«-c»' %| vw -.aj-, JCS23 (Appkt) ■ Rug-in u a^easaa. kTCT«C£ M DUU sample sorrwera very clear natural male voice The outstanding speech Quality is produced using JES21 I Commodore) National Semiconductor s Dig i talker '* speech processor IC with lour JAMECO custom interface mooule memory chips Case sue 7vl > 3'."W » ivh Weight 1 lb pAnttso COMMODORE 64 or V IC-20 JE520CM Voice Synthesizer for Commodore 64 or VIC-20 includes JE5?i interface Module S 99.95 JE521TS >< t-tc Speech Program tor Commoctore 64 or VIC-20 ,5'i-Dw*) $ 9.95 JES21 Comrnootore Interface Module S 19.95 APPLE II, 11+ and//© JE520AP Voice Synthesizer tor Apple II. II- or .re .includes J€523 interlace Modutei $119.95 JE523TS Text-to-Speech Program tor Apple II. 11+ or /to 5. [>sn $ 9,95 JE523 Apple Interlace Module S 39 95 /*j# r JE520 VOICE SYNTHESIZER faT '"'"Hl'lllllln ™- 'BM OR ^RS23 2 COMPUTER ^ Wm "Mllll \ ^he same teatures as listed above The jE52S interface Module . allows the JES20 Series voice Synthesuer to be interlaced ^•as^ --- with most popular microcomputers wrfh the use ot Ihe standard & RS232 port and logic levels The JE525 Interlace Module -i powered 'roma weNtranstormer Sample program is mcbdedm ... the User Manual /lift ) ) I JE52S Intarfaca Module Features ////'•'' / - ley nomr-abte / f // 'I aawaaaBB* ' ° P ' M Como ^ ,tM * Iff/ fijIPIfL, - It"" ON indicator -eai^51aBBT JE5Z0 VOICE SYNTHESIZER ^VMHP^- Indicators tor OTI or DCI modes WITH JE525 (IBM oi EQUV.) WPPW" RS232 INTERFACE MOOULE 'T* ^ ' Standard DB25 female connector piuono IBM or Computers with RS232 JE520IBM Voice Synthesizer (or IBM or RS232 Computer* iincimii.-. JEW5 ini.ii.ice Moduli". $199.95 JE525TS Text-to-Speech Program tor IBM [Sw Disk I S 9.95 JE525 IBM/RS232 Interlace Module S1 19.95 NEW! QUALITY APPLE new, COMPATIBLE CARDS For Apple II, 11+ and lie* IBM PC/XT Compatible Keyboard I .1 I I I J l_l L I I II I 11 « 11 mmm IBM-5151 lEguivaieni to fueyfronics 51SH $129.95 Additional Add-Ons Available! MEMORY EXPANSION KITS IBM PC, PC XT and Compatibles The l8Mt>4r< Kit will increase memory in 64K Dyte increments The Kil is simple to install - iust insert the 9 64K RAM Chios m the provided sockets and se! the 2 groups ol switches ConvwrsKyi rjocu mentation included IBM64K (Nine 200ns 64K RAMs) S7.95 IBM PC AT mplete with nine 1 28K dynamic RAMs and i IBM128K (Nine 200ns 128K RAMs). . $43.95 Each kit comes < lfaatari IBM PC XT Equivalent 130 Watt Power Supply UPGRADE YOUR PC! Input 1 10V • 60Hz- Output: +5VDC @ 15A. -5VDC @ 5A. +1 2VDC • 4 2A. - 1 2VDC i 0.5A • Plug compatible connectors • Fits into IBM PC • Weight: 6 lbs. IBM-PS $99.95 Prometheus Modems The ProModem 1200B/BS is a 1200/300 baud modem card which plugs into IBM PC and XT Provides a third serial Comport Two versions available: 1200B (without software) and 1200BS (with software) The PM1200BS is supplied with powerful MITE communications software from Mycroft Labs Software available: PC DOS or MS DOS. PM1200B (without Software) $239.95 PM1 200BS (with MITE Software) $274.95 ibM , e . DISK DRIVES Documentations- Included RFP4S0 (Retnex SV DS tull-ht > $69.95 FD55B (Teac 5V DS hall-ht.) $99.95 SA455 (Shugarl 5V DS half-tit.). . . . $99.95 TM100-2 (Tandon 5 V DS tull-ht ) $99.95 JMR 5 1 A DISK DRIVE ENCLOSURES Complete with power supply, switch, power cord. fuseholder and connectors DDE-1FH IHouwsl tull-ht SV torn dnvei . . $ 69.95 DDE-2HH mouses 2 hai!-hi 5V - _. . tlopoy drives - vertical) $ /9.95 HDDE-1FH iko u „, i MdM $199.95 General Application Keyboards Mitsumi 54-Key Unencoded Keyboard PS1 : ■ SPST keyswitches • 20 pin ribbon cable connection ■ Low profile keys • Features: cursor controls, control, caps (lock ), function, enter and shift keys • Color (key- caps): grey • Weight 1 lb • Pinout incl. ■ Size: 13'% "l x 4VWxVH KB54 $9.95 ^^^^{1^/1^+ 74-Key ASCII Cherry Keyboard ■ 7-bit parallel ASCII • Full Upper Case. Full Lower Case except I, m, n, o and p * Cursor keypad ■ SPST mechani- cal keyswitches • 26-pin header connector • Color: white • Size 18"L x 6'VW x IVH • Spec included KB8201 {1 500 available) $14.95 UV-EPROM ERASER 8 Chips - 21 Minutes | i 1 Chip -15 Minutes Erases all EPROMs Erases upto 8 Chips within 21 minutes 1 1 chip m 1 5 minutes) Maintains constant exposure distance otone 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 tor 8 chips DE-4 UV-EPROM Eraser $74.95 UVS-11EL Replacement Bulb $17.95 236 BYTE • DECEMBER 1985 Inquiry I9l mnsm ELECTRONICS NEW LOW, LOW PRICES!!! J mssaa ELECTRONICS CALL FOR QUANTITY DISCOUNTS l SPECIAL!! SPECIAL!! SPECIAL!! SN7400N SN740IN SN7402N *74i;tf« SN7404N SN7405N Sh?406N SH7407N SN7406N SN7409H SN74T0N SH7411N SN7412N SM74IM SH7414N SN741GN SN7417N S*?420N SN7421K SN7422N SH7423K SN742SN SN7426N SN7427N SH7428N SN7430N SN7432N SN7433H SN7437N SN7438N SN7439N SN744PN SN744IN SN7442N SN7443N SN7444N SN7445N SNM46N SN7447N SN744BN SN74S4N Sn7459N SN/460N SN7470N SN7472N SN7473N 74LSOO 74LS01 74LS02 MLS03 741S04 741 S05 74LS06 ■■use- 741 soe 741S09 ruta 74LSH MLSI2 74LSI4 '4LS15 741S20 74LS21 741 S26 741 S28 741 SJO 741 S32 ■41 Si) '4L&J7 741S38 74LS*2 74LS47 74LS48 741S51 741S54 .'4LS.M MLS74 msn '41 :. ■■ 74i sas 'USA- '41 M 741 S92 74LS93 741596 74LS107 74iSI99 741S112 74LS122 741S123 74LS125 74LS126 74LSI32 ■4S*i;-' -4MU MSI ft 74S06 74509 74S10 74S11 /j', i', 74S20 74S22 m:,:ui 7483! 74S37 74S38 74S64 74S65 74S74 74S8S 74S86 74ALSO0 74ALSQ2 74AIS04 74ALS05 74ALS08 74AIS10 74ALS27 74ALS30 74M? WW /«(» 74F10 74F32 74F74 C04000 . CD4001 CD4002 CD40TJ6 CO4O07 won cdacto mi '■■ CD40I1 CD4012 C040t) CO4014 C04O15 CD4016 CD4017 CD4018 CO4019 MB CD«D?1 CD4Q22 r.[i«.'.'.i CD4024 i;i>4u.". C040?b CD4027 CO4028 c()4(i;"i CO4O30 CD4034 CIMIM'. i:[i.i!M(i CO4041 C04D42 14 SN7474N SN7475N 5N7476N SN7479N SN7480N 5*743214 SN7463H SN748SN SN74fitf. GMMMH SN7490N SN7491N SN7492N SN7493N SJ,M94N SN749W SN7496N SN7497N SN741O0N 14 SN74105N 14 SH74I07N 14 SN74109N 18 SN74116N 24 SH74121N 14 SN74122N 14 5K74123N IB SN74125N 14 SN74126N 14 SN7412BN 14 SN74132N 14 SN74136N 14 SN74141N It SN74142N IB SN74143N 14 SN74144N 14 SN74145N IB SN74I47N IB SN74148N 16 SN74150N 14 SN74151N IB SN74152N 14 SN74I53N t| SN74154N 14 SN74I55N IB SN74156N IB SN74157N IB SN74158N IB MRt rm •net SN74159N 74 149 SN74160N lis ■ '■ SN74161N N ■ SN74162N IB M SN74I63N IK B SN74164N 14 ■■'.■ SN74165N H ^ SN74166N i* 69 SN74167N M 295 SN7417QN K 1H SM74172N 74 < H SN74173N II 75 SN74174N IE ■ SW74175W 16 59 SN7417GM 14 ■ SN74177N 14 H SN74179N M '•■ SH741B SN741B1N 14 SN741B2N II SN741S4M II SN741&N IB 5N741S9N IB SN74190N II SN74191K 1| SN74192N IB SN74193N II SN74I94N II 3N74I95N II SN74196N 14 SN74197N 14 SN7419W 14 SN74199N 14 SN7422tN IB SN74251N II 5N74273N 10 SN74276N IS SN74279N IB SN74263N II SN74ZB4N IB SN74285N II SN74365N IB SN74366N II SN74367N IB SN74368N II SN74390N IB SN74393N 14 74LS133 74LS136 74LS138 74LS139 74LS145 74LS147 741S148 74LS15! 74LSIS3 741S1M 741S155 74LS1S6 74X5157 74LS158 74LS160 741S161 741S162 74LS163 741S164 74LS165 74CSI66 74LST6B 74LS169 74LST70 741S173 74LS174 741SU5 741S181 74LS189 741S190 74LS191 74LST92 74LS193 74L3I94 74LS195 74LST96 74I.S197 741S22) 74LS240 74LS241 74LS242 741S243 741S244 74LS245 74LS247 74LS2S1 nmum ■4Sn; 74S124 74SI32 74S133 74SI35 /4Si:«:, :-is-iv 74S13B 74S140 74S151 74S153 74S157 rtsisi F48IM 74S174 74SI75 74ST88- 74LS2S3 ■■■II v.; 74LS2M 74LS259 '4LS,'h>: 74LS26I 74LS266 74LS273 74LS279 74LS2B0 741S283 74LS289 .'-4lS."ft 74LS322 741S323 74LS347 74LS3U 741S364 74LS365 74LS366 741S367 74LS368 74LS373 74LS374 741S37S 74LS377 74LS386 741S390 741S393 r«U3M 741S490 741S533 74LSS34 741.SM0 74LS541 741S590 74LS624 74LS629 74LS640 74LS641 74LS644 74LS645 7415670 m mi B!LS9i mm 81LS98 74S1B9 74SI94 74S19S 74S196 .'J-,M. 743241 745242 74S244 ■.:■,:■ ■ '4SH I 74S257 74S25B 74S273 "4S.'Bf- 74S287 - 74S2B8- 74S299 ■4.-. ■ ■ i 74S374 74S472' 74AIS32 74ALS74 74AIS109 74ALS1I2 74*15138 74F138 74fl39 16 II 1 19 129 74F157 If 129 74F158 16 129 74f193 16 49S 74f240 70 2-49 74ALS1/4 74ALS175 74ALS240 74ALS244 74AIS245 74ALS373 74ALS374 74ALSS73 74F241 rtnM r4FSS3 74f257 -if ■-■ 74F374 74F379 C04043 16 69 CD4044 II 69 CO4046 IK 69 C04O47 14 89 C04048 lb •• C04049 1ft ."- cuosa 16 a CO40S1 II llS 0)4052 IS H C04063 n IS CO40S6 ii in CO40M M ?4t. CD4060 IK 89 C04066 14 79 CD4068 14 a CO4069 N ;■' CD4070 14 29 C04071 14 .', CD4D72 14 25 CO4073 14 ."■ CO4075 14 ;-■. CD4076 11 N CO4077 14 ."■ CD4078 14 ;-. C04081 14 2% CD4DB2 14 .". C04093 14 39 CD4094 11 149 CD4098 II 149 wvm 16 139 CO401O3 C04S03 C04S08 CD4510 ...... C04512 CD4514 C04515 C04516 C0451B CD4S19 CO4520 C04S22 C04526 C04S28 CD453' C04S38 CD4541 CD4543 CD4553 C04555 CD4556 C04560 C04566 C045fl3 C04584 C045B5 C04723 CQ4724 MCI4411 MC14490P MC14572 *> MOTOflOL IP MC68701 - Microcomputer with EPROM The MC68701 is an 8-bil single chip microcom outer unit (MCU) which sigmticantiy enhances the capabilities of the MC6800 tamily of parts. On-chip resources include 2046 bytes ot EPROM, 128 Bytes Ol RAM, Serial Communications Interface (SCI). parallel I/O, and a three function Programmable Timer MC68701 S24.95 CUSTOM COMMODORE CHIPS for VIC-20. C-64 and C-1 28 Personal Computers Prtc* ^rt Wo. Dm crtpMon '6510 CPU $19.95 •6525 TPI $20.95 -SPECS AVAILABLE % SI SO EA. Pr.ce P»n Mo. Descnpdor. '6526 CIA. $25.95 ■6560 VIC-I $29.95 •6567 V1C-II $44.95 .^IMzMd.Wtj^W-IgiT MICROPROCESSOR CHIPS 0765AC CWiBOTCt- 2661-3 ■ I ■:, 2H. Z80-CTC ZStHMRI :- :■■■■ 28O-P10 zeo-sio'0 Z80-S10M ;bo-sio/2 ,'FilJ-S)l|.":l ;soa 280A-CTC noMm .'■■■MA :IMA ZBQA-P10 aoMian /itliASHJ I /KiiASHK' Z80AS10'9 ;«!« bin u /r-ilH SIN ! /mm si*) ;■ 40 Floppy Disk ContiCfci 40 CPU25MH; 21 ami UuRiptewi & Refresh Counter -ZW.Z80A.Z8QB. SEMES 40 CPUIt«CS8tnii780Q25MHi 21 Counter Timet Cue jit 40 Dual Asynchronous flee Trans 40 Oiteci Memory Access Ocwl 40 Par^ibei i.O imertace ConmXIei 40 Serai i'O rfCB BonOMI 40 Sena I'O (Lacks DTBBi 40 Serial |(j >-'■.:.■■ 6860 680OOL8 eoesA BOBSA.2 S0B6-2 40 MPU «W CWc* ,2MHri 40 MPU win Dock (3WU) 40 Peripheral Inter Adapter 40 Versatile inter Adapter 41 CRI Controller 'CRTCi 21 Async Cnmm menace Adapt 40 MPU 40 MPU wim Clock and RAM 40 CPU - 8 ftt lOn-Crap Osc*a»| 40 CPU - 8ftt lEitemal Clocking) 40 CPU - B-Bit (En Ckxkmgi 2MW 24 128»B State HAM 24 128^ Stanc RAM i2MHii 40 Penpherai tain. Adapt iMC6820i 40 (¥npherai miertace Adaotei <2MH.) 21 Programmable Timer 40 Progranrnabie Floppy De* ConhHer 40 CRT Controller (CflTCl 40 OT Contra* iCflTO 2MK. 24 Asyncnronous Comm AOaptet 24 Synchronous Serial Data Adapter 24 O-6OO00S 6gitai MCOEM 14 MPU <&84 18MH71 41 6eM0 Puroose w Adapw 8255 8255A-5 8257 5 B2H — 8000' 80000 SERIES 40 Control Oienlea CPU w RAM f. 1 40 CPU wJSaSK Msro merpreter 40 CPU 40 CPU 40 CPU 8-Btt N-Channei|5MHil 40 CPU 16-W BMHi 40 Anmmetic Processor |5Mrt» 40 Arithmetic Processor 40 CPU6.16-B1I IB Dim Baud Rale Generator 40 HMOS RAM 1 '0 Port- Timer 40 HAM with 1/0 Port and Timer 40 Dynamic RAM Controller 40 64K Dynamic RAM Controller IB Hi Speed 1 out ot 8 Binary Decoder 24 8 Bit Input/Output I74S412) IB Clock Generator /Drrvei 28 Sys Corn 'Bus Drner |74S428) 40 High Pert Piog DMA Coot (5MHi| 21 System Controller (74S43S) 24 I/O Expander tot 48 Series 40 Async Comm Etemenl 40 ACE (IBM PC or XT Software Ctimpaiible) 21 Prog Comm I/O (USART) 21 Piog Comm Interface (USART 1 24 Programmable Interval Timer 24 Programmable interval Timet 40 Prog Peripheral I'D iPPI) 40 Prog Penpherai I/O iPPI> 5MHj 40 Prog DMA Controller 21 Prog Interrupt Control 7m Prog interrupt Controller 249 „jl Sehal Coni (720H 14.95 Prog C«T Controller 14.95 Prog Keytmarilt>spiay menace Z49 Prog Keyooara/Disoiay infcrtace 2 95 Octal Latch 395 Oock Generatni 'Driver 2.95 Octal Bus franscerve" 395 Octal Bus yanscener itnvenedl 395 Bus Controller 4.95 BusArorKr . 1495 ■fj-ai Urw. Peripheral tnlenace B.9S mwosbummpu 795 Mf\j 8-tkt lEPBOM version ol 8049) 995 CPU -'4X.8 EPBOM S '28*8 RAM 2995 MM EPROM wm WJ 1495 Hoh mtegtabon 16-Btt MPU 4995 rkghlrt»gra 16-EVt MPU 1S-B1T Data Bus! 4995 Numeric Processur Ei 16.384.: t6.384.i ■ ■■ ■ ■ 65.536i 1 65,536.t 16.384i4 10241 1 2048.1 4096.1 4096, t 8192.1 i 300ns j i250nsi H50ns) 1200ns) j200ns) 1150ns) I200ns) (120nsi 1300ns) i365ns) I250nsl I200nsi 2107 (20Dns) ll20ns)i*5VOnryfleQ.I ■I50ns) (200ns) (150nsl(4t2S4||4 14641 TMM2016-12 24 2114NL 21I4N-2 2114N-2L 2ICI4 2I16N-25L 2125A 2147HN 2148HN 2149 27LS00 TMS40U7.45 5101 MM5257 HMGI16P-3 HM6itaP-3 HM6264P-12 HM6264LP-12 HM6264P 15 HM6264LP-15 1702A WBZ II •v-,.- . ■ ■.' ■ ■. 2708 TMS27I6 2716 27C16 ,v;f,- 2732 ; 73JA ,'u t7 ai . i 2732A-45 27C32 2758 2764-20 2764 25 1 tW H 2764-45 27C64 27128 25 ;'712bA l H 27256-25 27C256 25 68764 ■*.'". '-1S,'I ' .MSi'f.r "4S38T 74S471 ■ ■:s-::.' 74S473 74S474 74S475 .-■iS-1.-'. .'JS 1 ..' 4SV .-IS!.,'. /■IS'v : 82S23 B2S115 82S123 S2S126 82S129 H.'Sfil VSi-r 82S19I ■V(i.--.'-"j 1024x1 256.4 256x4 1024x4 1024.4 1024x4 1024x4 4096.1 1024x4 1024.4 256x1 1024.4 256)4 4096.1 2048x8 2048)8 |12CnS). iJSUns H10I . BSOntf ..".un,.! P'9tL02) . 1-. ;,,■... il- 1450ns) M0S 450ns (450ns) LP (200ns) 1200ns) LP 1200ns) iCMOSl (250nsiLPNM0S i4',nsi Mign Speed (70ns) |70ns) (45ns). IBOns) LP <450nsl l450ns|CMOS 1450ns) 4044 |t50nsiCM0S HSOnslLPCMOS (200nslCMOS 1200ns) LP CMOS (t20nslCM0S it20nsiLPCM0S rtSOnSlCMOS rt50nsiL.PCMOS i350nslCM0S(UPO444C) 16.4 3Snji .:■■:■ -PROMS EPR0MS Ml 8192.6 1024.8 2048)8 2048.8 2048.8 2048.8 40%.r 1024.8 8192.B 8192.8 8192.8 8)92.8 8192.8 16.384.6 t6,384.fl 32.768.8 32.768.H 8192.8 B192.8 32.8 ?'«,-■■ 512.8 512.8 1024.4 512x4 .'Mi.-l 250x4 512.4 2048)4 HEM I W .- : . (450ns) (450ns| i450ns} 3 voltage <450nsl CMOS (350nsi (450ns) 1200ns) 21V (?50ns) 21V (450ns| 2 w CMOS l 450nsi Single -5V (200ns) 21V <250nsl 21V (250nsil25V <450nsl 21V CMOS 21V J250ns|128K21V i250nsi!28K 12.5V t250nsl256K(14V) (250nsl 256K tCMOSi (450nsl 25V (35uns) 25V PROMOC (6330-1) PROMTS (6301-11 PROMTS (6331-11 PROMOC 16300-11 PROM T.S (6309-1) PROMTS (6349-1) PROMOC 16348) PROM TS (DM87S296NI PROMOC (6340) PROM TS PROMO.C (6305) PROMTS (63061 PROMOC (6352). PROMTS IB2SI37I PROMOC |27S18| PROM TS (27S15) PROMTS . (27S19). PROM 0C (27S20). PROM TS. I27S21J PROMOC (27S12J •MUM l:i .I9P24S81I > Prtfile (Tin) Soc-wS » 14) IW IBM BptnlP MpMiLP 1 6 pm LP 18 pm LP 20 ptn LP 22pnLP 24 pei LP Solderttil I Go id I Standard tmtlU. 10 1MB IBM SpxnSG 39 35 14 pm SG 49 45 16 pn SG 55 49 IBpnSG 65 59 20 p«n SG 75 65 22 pm SG 79 69 24 pm SG 79 89 28p»5G 95 85 36pmSG 125 115 40pnSG 139 125 .■.IH.uh.ii At ■cr.i«i i ■ ■•'. ■<:■>■. - ■.; CL.ti..-i :,).rii...... ■,-■:,. >'■■ AOC0817 A:iCt:ru OACO807 : 3m DAC0630 : AC:>V A:.'. AX . A^ ■ :'if ■Ac-o,-; r 'A--';:-.- L:AL'^ DAC'231 AV -3- 10150 Ay 5-iOt 3A 1024x8 PROMTS (S2S181) - DATA ACQUISITION 8-Bit AiO Converter (*1 LS8) 8-Bit A/ D Convener (V4LSB) 8-ftl A.0 Converter I • tf2LS8> 8-Bit At) Converter (1LS81 B-Bit «VD Conv *t8- Channel Analog 8-Btt AjO Converter l8-Cn MulD.l 9-Bi! A'TJ Conv *.T6-Cname Anakx B-ftt A.0 Converter ..16-Ch Mufti j 8-Bit Set VO Art) Conv (2,4, or B-Qi Ii B-ftt D'A Convener I - USB) i-b-. D a Cm ■ 8-ftt DM Convener (*.,. ._ 8-ftt Up DM Conv (OS'HLm) 8-Bn Up A Conv i 10V Lm i i0-ai D.A Conv Men Comp (0.05H! 8 Bn DA Conv Mrcro Como (0 20-.I 10-rfcl O-'A Conv. (02O«ii knl 12-arOAConv |02O»cLmt 1 2-B4 Up LVA Con* 1 01 7** Lm I l2-WupD'AConvi024%Lfli 29 BMUMI 30K 6wd UART (TR16021 OcmWW 65 59 4p.nWW 69 65 Header Plugs |UW| rVIH 10 :JW ■«- 14 pmh* 1 55 16 on KP 59 24 pm HP 99 a 89 49 24cxnM 28 pm* 36peiA Hejotf Ceven nHC 15 13 $20 Minimum Order - US Funds Only CA Rextidentt: Ml 6S or 6' -,-, Sale* Ta. Sc*c Stv«*ts - 30* »cn Shipping: Add 5% due XI 50 Infwjrance Se«dS1 Rootage for FREE >988 Jameco Caratog Pncaa Subject toCrvang* Sftd •ttmpeof, serY-addreraed an»«4ope m recene a Ooarterty SaJai Flyer - FREE'. 32= ameco VISA' 1355 SHOREWAY ROAD, BELMONT CA 94002 12/85 PHONE ORDERS WELCOME - (415) 592-3097 - Telex: 176043 EEPROM 2816A 24 2048x8 16KE 2 PR0M 350ns. $8.95 Feature, • Otvboard Addreae/Dat* Latchej • Auto-r.med Byte Write Ion Chio timer) - SV Eraae.'Wr.ie Read < Optional High Voltage Eraaa /Program (9V-1SV) ■ Power Up/Down Write Prote cti on ■ Auto Enwe betora Whte The 2816A it an ideal nonvolatile memory providincj m-system alteraDititv Digitalker a sWWarrj WGTTALKER kit encMM witn 137 * ^Kaar Om HaSllM |40aa| DT1050 Digitalker" $24.95 ea. MM541 04 Processor Chip $1 2.95 ea. DT1 057-IimMi *0T10Mi*>M»irti.l3Tiiiw2W all *l ? 1Mb Mw. Part No. DT1057 $11.95 ea. INTERSIL FEO2020 K 4 Oigil LCD Diipay tor 721t(PL & 72UMIPL FFO2030 m Jtq Dnjii LCD Dripiay tor 7106 & 7116 12.95 7045IPI H 1195 7045EV10I ,! Swpwaicn Chip. XTL i Evaluation ton 1695 71B6CPL 895 ?106EV'Kil Ill IC. Cucuil Board, Displiry (Evalualion Kit) 4695 7107CPL 411 3 1 : Digit AtD (LED Drive) 895 7107EVKH 40 IC. Circuii Board. Display (Evaluation Kit) 4695 7116CPL 111 J>l Digit a ;-j LCD Dis HLD 895 720HUS Low Ballery Volt Indicatot 2.29 7205IPC 24 CMOS LED Stop*atch(TmYar 14 96 7205EVtKil ,'t Stopwatch Chip. XTL (Evaluation Kit) 1695 7206CJPE 11 Tone Generator 4 95 7206CfWKil II lone Genetalm Chip. XTL (Evalualion Kit) 795 7207AIPD 14 Oscillator Conlroller 595 7207AEV(Krl 14 f-i-., - .■■-■ ■' ,. -- F,aliiiiti(inK,ll 649 7211 IPC 40 .11',,'.' ,.- ',■ i -,..,■, ITL ■ mi. ..:■;, i.-. 795 22 1 1 MlPt H 4 Cvgii LCD Drwury Decoder 'Dnver (Micrnpioc cOmpal 1 849 7215IPG ?i 1695 72!5EV7Ki! 24 11,.. ■,/.-'■ ' . 'li. -. . M...I':. r ■ 11 1949 .Vli-.AU' ?fl a Dirjil Umv Counter CA 3149 72I6D1PI !i BDnjitFieq Counter CC 2149 721 7U n 4 Dnjrt liD Up/Down Counter CA 1095 721 7AIPI n 4 Uitjit LED Up'Down Counter CC 895 7224IPL in LCO 4'v r»n Up Counter DAI 1095 .'226AEV H • 5 Function Counter Ch« XTL (Evaluation Kiti 9995 30009 1985 Intersil Data Book $9.95 74HC HIGH SPEED CMOS 'IK.,' >4H ■ - 74HC04 74HCU04 74HCOS MHC1I r4HC1l flCH ■■■■• ; .i"... ■ P4HC3 ■l"Cr P4W C >4M ■ ■ ■4MC-X r4HC7J ■we -j '4K 74HC76 .'-tree'. ?4HC86 74HC107 74HC1LW 74HC112 74HC123 74MC125 74MC132 74HC137 74HC138 74C00 ■!■- :.: ■4i:w ;4CL>( 74C10 .-jr. i j ■■ir: .-■iCKi 74C32 l ■■:, P4C48 . ii ■ -. 74C74 :: ■- 74C86 74C89 ■.!,.,!■ mm ii.'ifj 74C107 74HC147 74HC151 74HC153 74HC154 74HCI57 74HCI58 74HC160 74HC161 74HC162 74HCI63 74HC164 74HC165 74MC166 74HC173 74HC174 74HCI7S 74HC190 74HC19I 74HC192 74HC193 74HC194 74HC195 74HC221 74HC237 74HC240 74HC241 74HC242 74HC243 74HC244 74MC251 74MC253 ■4HC25? 74MC2S9 74MC266 74HC273 74HC280 r4MC299 ;-, A ^4MC367 J4HC373 I4JC374 74HC390 It 74HC533 9 1* 74MC534 II 1* 74HC595 II 1 <*. 74HC688 II 1* 74HC4024 14 1 l' 74HC4040 II t V 74MC4049 II 1*1 74HC4050 IB 7' 74MC4060 IB 1 II 74HC4075 14 4! 74HC4078 14 4' 74HC4511 IB 19: 74HC4514 24 29 1 74HC4538 IB 1 9! 74HC4543 II ? 9: 74HOJ04 is unOuttered ' :■ EHaair 74C151 7C154 74C157 7C160 74C161 74C162 74C163 74C164 74C165 74C17-! 74CI74 74C175 74C192 /'■CI'M 74CI95 74C221 74C240 74C244 74C373 74H74 74C901 74C902 ■.;..-.,:: 74C906 74C907 74C911 74C9U 74C915 74C917 74C920 ■l-.i." 74C922 74C923 'li.' i,". 74C926 74C930 80C95 -.I!-.,/ DS002bUt IL064CN IL071CP T1072CP 1L074CN R081CP TL062CP TL084CN LM109K LM301CN LM3B2H ms j-i LM305H LM307CN kBOO LM309K LM311CN LM312M LM3in LM317K LM319CN LM319N LM320K5 LM320K-12 LM320K15 LM32W24 LM320T-5 LM3201-12 LM320H5 LM320T-24 LM322N LM323K LM324N LM3290Z LM331M '.' 4. LM335Z LM3362 LM337MP LM337T LM338K LM339N IJ4340K5 iMl4l«', lMUuk :', VI K24 LM340T5 L.MJ4HT 1. iMIJiil "- LM340T24 LF347N L.M348N LM350K LF351N I LF353N I LF355N I LF356N I LM358N B LM359N 14 LM370M 14 LM373N 14 LM377N 14 LM380CN B .M380N 14 LM38IN 14 LM382N 14 LM384N 14 LM306H-3 B LM387N B LM309N IB imu )6 LM392N B LM393N B LF39BN I LM399M LF412CN I TL494CN II TL496CP I ".■:-.■■-.'. 14 NE531V I CSOW D540H NE544N 14 NE550A 14 NE555V I KR-L555 I LMS56M 14 NE558N IS KE564N IB LM565N 14 LM566CN 8 LM567V B NE570N IB •E571N IB 1E5S2N 14 LM703CN B LM710N 14 LM71IN 14 LM723N 14 LM733N 14 LM739N 14 LM741CN B IM747N 14 LM748N UA760MC LM1456V LM1458CN LM14S8N LM1489N 14 LM14E It LM1605CX LM1871N IB LM1872N II LM1877N-9 II LM1889N II LM1S96N 14 LM2002T ULN2003A II XR2206 II XR2207 14 XR2208 II XR2211 14 LM2877P _'.' ■-■ LM290IN 14 LM2902N 14 LM2907H 14 LM29I7M I LM2935T LM3900N 14 LM3905CN I LM39Q9N I LM39HN I LM3914N II LM3915N II LM39I6N II RC4136N 14 FC4151M3 | RC4193NFJ I LM4250CN I 1C5532 I NE5534 I 7BL05A mm 79L05A 79M05AH aS03H 14 LM130B0N B LM13600N IB 75477 I 76002 14 76477 II 30003 1982 Nat. Linear Data Book i $14.95 Inquiry I9I DECEMBER 1985 -BYTE 237 lit il 111 m JT IF YOU'RE TIRED OF PAY- ING OUTRAGEOUS LONG DIS- TANCE CHARGES EVERY TIME YOUR COMPUTER TALKS ON THE PHONE, GTE TELENET OFFERS AN ALTERNATIVE • IT'S CALLED PC PURSUITS" NOW FOR ONLY $55 A MONTH (PLUS A ONE-TIME INSTAL- LATION FEE OF $55) YOU'LL BE ABLE TO REACH OTHER PC USERS. FREE LOCAL DATA- BASES AND BULLETIN BOARDS IN ATLANTA, BOSTON, CHI- CAGO, DALLAS, DENVER, DE- TROIT, HOUSTON, LOS ANGELES, NEU YORK (AREA CODE 515), PHILADELPHIA. SAN FRANCISCO AND WASH- INGTON B.C. AND TAKE AD- VANTAGE OF LOCAL SOFTWARE DOWNLOADING CAPABILI- TIES, AS WELL. YOU CAN USE THE PC PUR- SUIT SERVICE BETWEEN bPM AND 7AM WEEKDAYS- AND ALL DAY ON WEEKENDS. ALL YOU NEED IS AN AUTO-ANSWER MODEM AND COMMUNICATIONS SOFTWARE. FOR MORE INFORMATION AND TO REGISTER, CALL A GTE TELENET REPRESENTATIVE AT 800-3bfl-M515 BETWEEN AAM AND SPM EASTERN TIME- OR USE YOUR MODEM TO CALL 600-635-3001 FOR OUR ON- LINE USER ' S GUIDE 5 M HOURS ABAY. TRY PC PURSUIT, FROM GTE TELENET- WORLD LEADER IN PUBLIC NETWORK SERVICES, INTERNATIONAL NETWORK SERVICES, PRIVATE DATA NETWORKS AND INNOVATIVE NETWORK APPLICATIONS. FINALLY YOU CAN GET YOUR HANDS ON THE INFORMATION YOU NEED. WITHOUT PAYING AN ARM AND ALEG- fHTB Telenet NOU YOU DON'T HAVE TO PAY THIS MUCH TO ACCESS INFORMATION UITH YOUR HOME COMPUTER 238 BYTE • DECEMBER 1985 Inquiry 157 COMPUTER CONFERENCING COMMON GROUND by Chris Hancock The user-friendliness of this microcomputer-based conferencing system derives from its easy-to-visualize functions IN THE COURSE of putting together a computer-based conference for science teachers, my colleagues and I wound up writing a complete con- ferencing system that runs on a micro- computer. It's called Common Ground, and we think it's the best in its class. In this article I'll talk about the program and some of the think- ing that went into its design, and I'll present some of the program's inter- nal structures. I'll also discuss some issues to consider in running your own conference using Common Ground. The Educational Technology Center is an organization funded by the Na- tional Institute of Education and based at the Harvard Graduate School of Education. Its mission is to study how computers and other new technologies might help improve the teaching of math, science, and com- puting. One problem we've been look- ing at is the isolation of science teachers: Many science teachers, especially in rural areas, have very limited opportunities to share ideas with colleagues or to find out what's new and interesting in their scientific fields. Computer conferencing seems to be one promising way to address the problem. We've been putting together an experimental computer- based conference for science teachers in order to see the ways it might help. We needed our conferencing soft- ware to satisfy several requirements. First, it had to be easy to understand and use: this was our single most im- portant criterion. At the same time, it needed to be a real conferencing sys- tem with enrolled participants, full capabilities for private messages, flex- ible organization of public discus- sions, and effective ways of searching through messages to find what you're looking for. Finally, we wanted a sys- tem that would run on a microcom- puter. School districts, like many other organizations, have modest budgets, and for most of them a large com- puter is out of reach. Of course, there are limitations to using a microcom- puter. For the time being, at least, most micros can support only one user at a time. This imposes a pretty hard limit on the total number of par- ticipants, but the limit is not as low as one might think, provided people's schedules are varied enough. We have seen a conference with as many as 100 regular participants run comfort- ably on a micro. Given that one of our goals is to develop a strong con- ference community, more than 100 people would probably be undesir- able anyway. The one-user-at-a-time limit also means that occasionally you do get a busy signal when you call, and you have to try again later. This wouldn't do for businesses where messages need to get through quick- ly and without fail, but for our applica- tion that isn't so crucial. An Easy System to Use We couldn't find the system we wanted, so I wrote it. We feel that its simplicity and ease of use are a design triumph. The single most im- portant reason for this is the spatial metaphor around which the system is structured. We picture the Common Ground system as a building with rooms in it. Every enrolled participant has a private office that no one else can get into. Private mail sent to a par- (continued) Chris Hancock is a project associate at Har- vard's Educational Technology Center (Gut- man 337. Harvard Graduate School of Education, 6 Appian Way, Cambridge. MA 02138). DECEMBER 1985 -BYTE 239 COMMON GROUND ticipant is delivered to that person's office. The building also has other rooms, called forums, that anyone can visit. Each forum is devoted to a par- ticular discussion topic. The power of the spatial metaphor is that it makes it easy to understand the state of the program ("where" you are in it) at any moment. Most interac- tive programs can change their states in a couple of ways: The data that is active or loaded may change (for ex- ample, you might load a new text file into a word-processor buffer] or the current mode may change (for exam- ple, in a database program you might go from record-definition mode to data-entry mode]. In the Common Ground system, the idea of moving from room to room stands for a change of active data. When you are in your office, you have access to your personal mail; if you move to a public forum, you have access to the public mail there. As for modes, I have con- sciously worked to keep the number to a minimum. In fact, for the ordinary user there are just three modes. The main mode has just 10 commands. Then there's message-entry mode, where you type in your messages. The third mode is the text editor, which can be avoided by novices. (There are also special modes for the operator and other privileged users.) The main- mode commands are as follows: scan: lists the messages in the current room. read: reads messages in the current room. The scan and read commands both accept qualifiers that select mes- sages in the room, based on date, author, topic, and whether you've read them before. send: sends a message to any room or combination of rooms. The send command features a line editor for those who want to edit their mes- sages before sending them. scout: lists all forums on the system and the number of new (for you) mes- sages in each one. visit: lets you move from room to room. home: takes you back to your own office. whois: provides information about a participant or a forum. set: lets you change your password as well as specify the width and height of your screen. help: provides full on-line documen- tation. bye: ends the session. The short sample session shown in figure I gives the flavor of the system. As you can see, private and public mail is read and sent in pretty much the same way. using the read. scan, and send commands. Their effect simply depends on what room you're in and what room(s) you send mes- sages to. This is a good example of the design principle known as or- thogonality: One set of features operates independently from another set, with every possible combination having a meaning. Orthogonality is prized by software people because it generally lets you express a lot in terms of just a few basic concepts. Sometimes, though, an orthogonal structure forces you to abandon your commonsense under- standing of the application in favor of a more abstract one. This trade-off came up in the issue of groups and forums. Besides participants and forums, there is one other kind of en- tity to which you can address a mes- sage: a group. Groups do not corre- spond to rooms in the system. In- stead, each group has a membership list, and any message sent to that group is distributed to the offices of all members of the group. Member- ship in groups is controlled; you have to ask to be enrolled in them. Groups are intended for topics that are con- fidential or urgent. So groups and forums differ in two ways: Groups have restricted access, while forums have open access; and group messages are delivered to their members, while forum messages go to a room of their own. Thinking or- thogonally, it's possible to imagine two other kinds of entities: forums with limited access, so that not every- one can visit them; and groups with free access, which participants can enroll in at will (perhaps using com- mands like subscribe and cancel, to invoke the home-delivery feature). This time, we decided the orthogonality wasn't worth it. For one thing, it makes the solution more complicated than the problem. For almost any conceivable purpose, one of the existing options (forum or group) will do just fine. Moreover, a lot of attention devoted to access and privacy schemes would be out of place in a system intended to pro- mote a feeling of community. The other important consideration was simplicity. Forums and groups are easy to understand: The words "forum" and "group" resonate well with the way they actually work on the system. Abstracting out the two dimensions they differ on would lose us that valuable intuitive base, unless we devoted a lot of effort and em- phasis to a more extended metaphor (perhaps involving keys or secret pass- words to forum rooms, which begins to seem more like an adventure game!). Design issues The most important work in produc- ing a piece of software like Common Ground is not implementing it but specifying it— designing the way it will appear to users. Furthermore, in order to decide how the program should behave, you need, in effect, to design all the activities that will take place around the program. It is vital to recognize that the software system functions as a part of a larger system of human and technical interactions. As the principle of top-down design implies, the first task is to design that larger system and then to proceed down to the computer program itself. Design decisions at the top level will have implications for the design of the actual program. In principle, this is true for any pro- gram. It is crucial in the case of a com- puter conferencing program for two reasons. First, computer conferencing consists of more than just the running of a computer program. Second, because computer conferencing is in its infancy, there are plenty of open questions concerning how a con- 240 BYTE • DECEMBER 1985 COMPUTER CONFERENCING LOCAL POWER IN A REMOTE LINK by Chuck McManis Conferencing systems can let micros handle much of the processing load BY FAR THE MOST common remote systems are those that handle elec- tronic conferencing. Despite their diversity, most of these systems share one unpleasant characteristic: They are too slow. However, there is a solu- tion. The designers of conferencing systems can incorporate facilities into conferencing software for allowing microcomputers to handle much of the conferencing load. This article describes a two-part software solution to the traditional I/O (input/output) bottleneck when you connect to a remote computer sys- tem. The first is a method of encod- ing the information you transmit to decrease the average number of bits per character. The second transfers from the conferencing system to your computer the task of providing the user interface. As a user of the conferencing sys- tem, you will experience a dramatic increase in speed. With a faster con- nection, you can get more done in the same amount of time or reduce the amount of connect time. And, because you can personalize the com- mands, you will also find it easier to use the system. System administrators will also ex- perience a dramatic increase in speed. As the serial lines become in- telligent I/O channels, they demand less of the CPU (central processing unit). The system could therefore sup- port more serial lines, permitting more subscribers to have access to the system, or you might be able to use a less powerful, less expensive computer. The relatively slow speed of remote systems owes mainly to two factors. The first is the rate at which the data can transfer to your system over a voice-grade phone line. The second concerns the sheer size of the data. Even in modest microcomputer bul- letin-board systems (BBSs), the data can total several megabytes a month. Larger systems handle several mega- bytes a day. Handling all of this data does not require sophisticated numer- ical abilities, but it can quickly over- whelm the I/O bandwidth of any sys- tem. There are two ways to mitigate the I/O bottleneck. One is to improve the communications hardware between the conferencing system and the remote site. Manufacturers are mak- ing remarkable improvements in this area. There are now full-duplex. 2400-bps (bits per second), asyn- chronous modems at prices that were attractive for 1200-bps modems five years ago. The other method is to maximize use of the existing band- width by adding an I/O processor at the remote site. This might seem more expensive than upgrading your com- munications hardware until you con- sider that, already at the remote site, there is probably an I/O processor, your computer, that is acting like a very expensive piece of wire between your terminal and the modem. You can use your computer as an I/O processor in one of two ways. First, you could implement some form of data compression on the data stream between your computer and the host system. A somewhat more involved solution is to have your computer pro- vide some of the facilities that the conferencing system traditionally provides. (continued) Chuck McManis is an engineer at Mel. He has been programming professionally for 10 years and spends his spare time writing system software for a Cromemco S-100 system run- ning CP/M with ZCPR3. He can be reached at 1141 Vasquez Ave., Sunnyvale. CA 94086. DECEMBER 1985 -BYTE 251 LOCAL POWER Data-compression techniques max- imize the amount of meaningful infor- mation in a given number of bits by applying some statistical analysis on the original data. Obviously the fre- quency of occurrence of various ASCII (American Standard Code for Information Interchange) codes in text-only data streams will be greater than others; several letters appear often and most special symbols ap- pear infrequently. One way to take ad- vantage of this information is to apply a data-compression algorithm that reduces the number of bits used for frequently used characters. Huffman encoding, for example, can provide compressions on the order of 2 5 per- cent when used with a fixed encod- ing/decoding tree for textual data. With 2 5 percent compression a modem that transmits at 1200 bps will have an effective data-transfer rate of 1500 bps. Data compression is effective for reducing the number of bits that you transmit to the host system, but you can program your computer to further reduce the amount of data you need to send. Careful analysis of the facili- ties that conferencing systems provide indicates that you can implement many of these facilities equally well with your computer. What Is the Conferencing System Doing? A conferencing system has two parts, the user interface and low-level code to open data files and display them on a terminal. The low-level code is machine-dependent, but the user in- terface is entirely the creation of the programmer who designed it. Gen- erally, there are three principal capa- bilities: editing, command interpreta- tion, and user-profile maintenance. A computer system that accepts spontaneous user input must have built-in editing facilities. The degree of editing complexity can range from a single cancel command that erases previous input and allows you to start again, to a full set of line- and charac- ter-manipulation commands. During command entry, you are usually limited to using the backspace or delete key to erase the previous character. Occasionally, you also have the option to delete the entire line. This type of editing is simple to im- plement in the terminal driver of the conferencing system. However, it re- quires some CPU intervention to determine if a character is in the in- put buffer when the delete key is pressed, to erase the character from your screen, or to indicate in some other way that the character has been discarded from the input stream. Complex editing places more de- mand on the CPU. For example, when editing messages (limited-distribution files that are the basic unit of an electronic mail system), you must fre- quently change characters or words on a line other than the one on which you are currently working. Typically, the conferencing system will have available a section of code, either an integral part of the system or a separate program, for editing large amounts of input. The code may use some features of your terminal or none at all. Typically you will use this editor often, but it will probably dif- fer from the other editors you regu- larly use. Both line editors and screen editors help you to manipulate text before you send it to the world or save it in a file. Line editors were initially developed to be used over low-speed data lines, such as a modem connec- tion, and with hard-copy terminals, such as the Teletype model 33. Line editors minimize the amount of infor- mation that you must transmit through the modem, but at the ex- pense of both user-friendliness and cohesiveness of the displayed output. They perform equally well on dumb or smart terminals and are therefore somewhat "universal" in nature. Screen editors, on the other hand, were developed for use on high- speed data lines and are much more user-friendly. They can keep the message display up to date with con- tinuous screen updates. However, continual updates reduce the effective data rate of your modem since char- acter insertions and deletions can cause the updated contents of the message buffer to rewrite large por- tions of the screen. A screen editor also needs to know more about your terminal functions than does a line editor. For example, it needs to know how your terminal addresses the cur- sor and how it clears a line. Naturally, managers cannot possibly know all of the various terminals that will access the system, nor can they write soft- ware to support all possible terminals and still leave room in memory for other things. As a result, screen editors are much less common on conferencing systems. Some editors, such as Digital Equipment Corpora- tion's EDT, attempt to fill the needs of all users by changing from a line editor to a screen editor on command. However, the editing functions of the conferencing system are some of the easiest to give to your computer. Your Computer Can Help If the conferencing program could command your computer to get an edited line of text from your key- board, you would free up the time and memory that the conferencing system would normally use to provide the editing functions. Admittedly, this is a rather small portion of the over- head associated with command input. However, when applied to several users, the time savings was significant enough for IBM to provide this capa- bility in its 3270 series terminals. The next logical step would be a command from the conferencing sys- tem asking your computer to return an entire block of already-edited text. As opposed to the rather crude "block mode of some terminals, your computer could invoke your favorite editor for entering a message or arti- cle and then transmit the edited text to the conferencing system only after you were satisfied with its ap- pearance. There are several benefits to local editing. First, the response time will be independent of both your modem speed and the number of users ac- cessing the conferencing system. Sec- ond, it eliminates the performance [continued] 252 BYTE • DECEMBER 1985 Want to hear a demonstration of Hewlett-Packard's ITS BETTER TO HAVE MORE POWER THAN YOU NEED THAN NOT ENOUGH. There's a funny thing about database users. A lot of people buy a program that has all the power they need to get started. And not a whole lot more. Well, that makes perfect sense. If you plan to stay in the same place all your life. But as most users get the feel of things, they want to push them- selves farther and farther. That's when they wish they'd bought a program that had some extra muscle. And if you look at this chart, you'll see that's the whole idea behind R:base™ 5000. DBMS POWER R:base 5000 vs. dBASE III R:base 5000 dBASE III Comprehensive procedural language Yes Yes Built-in application compiler Yes No development tools that the most intense programmers can't outgrow. To give you a better idea what this extra power can do, just take a look at one feature. With R:base 5000, you get a relational operator called SUBTRACT which dBASE III doesn't offer. By using this command, you could take all the names in one file (such as your customer list) and subtract them from any other file (like the Fortune 500). The result? An instant list of new business opportunities. And this is only one way to use one of the extra capa- bilities on this chart,- there are literally hundreds more. SEE FOR YOURSELF: 1-800-547-4000. If you believe in common sense as much as we do, you won't take our \A/nrn Tor tr. xmi/ll crt^t- \r/-»xit- U-i**Ae> ~« -* ITS BETTER TO HAVE MORE POWER THAN YOU NEED THAN NOT ENOUGH. There's a funny thing about database users. A lot of people buy a program that has all the power they need to get started. And not a whole lot more. Well, that makes perfect sense. If you plan to stay in the same place all your life. But as most users get the feel of things, they want to push them- selves farther and farther. That's when they wish they'd bought a program that had some extra muscle. And if you look at this chart, you'll see that's the whole idea behind R:base™ 5000. DBMS POWER R:base 5000 vs. dBASE III R:base 5000 dBASE III Comprehensive procedural language Yes Yes Built-in application compiler Yes No Choice of row or column report format Yes No Accessible tables per report 40 10 Number of relational operators 6 2 Password security Yes No User-definable data entry rules Yes No Automatic key index maintenance Yes No Data dictionary Yes No THE KIND OF POWER THAT'S EASY TO HANDLE. We made R:base 5000 so easy to use that a complete novice can develop applications with it right off the bat. But that's just the beginning; we've built in a whole arsenal of high-powered development tools that the most intense programmers can't outgrow. To give you a better idea what this extra power can do, just take a look at one feature. With R:base 5000, you get a relational operator called SUBTRACT which dBASE III doesn't offer. By using this command, you could take all the names in one file (such as your customer list) and subtract them from any other file (like the Fortune 500). The result? An instant list of new business opportunities. And this is only one way to use one of the extra capa- bilities on this chart; there are literally hundreds more. SEE FOR YOURSELF: 1-800-547-4000. If you believe in common sense as much as we do, you won't take our word for it; you'll get your hands on a copy and see for yourself. And that's just what we'd like you to do. For only $9.95 (plus shipping) we'll send you a mini-version of the product that lets you build real applications. Just call 1-800-547-4000 and ask for Dept. 836 . From Oregon, or out- side the U.S., call 1-503-684-3000, Dept. 836 . We'll send your copy right out. If you'd like to see R:base 5000 today, head straight for a leading store or computer dealer. And see how far you can go when your DBMS has all its oars in the water. R:BASE 5000 FROM MICRORIM IT ALL COMES DOWN TO COMMON SENSE. EE 111 is a trademark of AshtonTate. &* w & &.<& f«ll !i *fl n SMASHER Triple your PC speed for only $799! 8087 Upgrades MicroWay is the world leader in 8087 support. Our 8087 development software has been in use since 1 982. By 1 984 we had become Intel's 97th largest OEM account. When you buy from us, you can be con- fident that you will receive the 8087 chip designed for your PC and that our unique diagnostics will instantly verify that your processor works correctly as installed. Call for current prices. 287Turbo" This card plugs into the 80287 socket on your AT or COMPAQ, doubling the 80287 clock from 4 to 8 Mhz. It does not change the 80286 clock speed or affect your warranty. The card comes with an 8 Mhz 80287 and has provisions for faster crystals as better 80287s become available. It also has a reset button and circuit that provide a hardware alternative to CNTRL-ALT-DEL. 287Turbo with Diagnostics and Reset $395 Micro Way~ Inquiry 247 Number Smasher" Number Smasher gives you AT speed and 1 00% com- patibility with all PC software and hardware. It comes with a 1 Mhz 8086 and 51 2K of no wait state RAM. Most are shipped with an optional matched 1 Mhz 8087 and 1 28K daughterboard. The card runs pro- grams a factor of 2.5 to 4.0 faster than the PC, XT or compatibles it runs in. Other features include FASTROM, a Ram Disk, Print Spooler and Disk Cache. Revision 2 of the Smasher is designed and manufac- tured by MicroWay in the U.S.A. and has the best service and support of any accelerator card. MegaPage MicroWays "Lotus/Intel" extended memory card has all the features of the others plus one: it uses low power, cool running CMOS DRAM. Ask for our pamphlet "Extended vs Expanded Memory" and learn why MegaPage is the right card for you. MegaPage with 2 Megabytes CMOS $549 Tempo House. London, U.K. call 01-223-7662 Number Smasher. MegaPage and 287Turbo are trademarks of MicroWay. Inc MicroWay is a registered trademark ot MicroWay. Inc. . Wjntto. „ hear it again? You made about as much noise turning the page as the Thinkjet Printer makes turning one out. So it lets you do two things at once. Print. And think. Without sound hoods. Without remote printing stations. Without aspirin. (And without a lot of clutter. The only thing smaller than the Thinkjet Printer is its price: $495*) Better still, it works with just about every personal computer. Hear the Thinkjet Printer sound off. Call (800) FOR-HPPC, Dept.276X, for the Hewlett-Packard dealer nearest you. ra HEWLETT PACKARD Inquiry 168 V HEWLETT PACKAPD *U.S. list price. PG02511 DECEMBER 1985 -BYTE 257 THE CMO ADVANTAGE *- THE BEST PRICES! ^ Next day shipping on all in stock items. v Free easy access order inquiry v* Orders from outside Pennsylvania save state sales tax. *• Free techmcial support with our factory trained technical staff *■ There is no limit and no deposit on COD. orders -- There's no extra charge for using your credit card. Your card is not charged until we ship. ^ No waiting period for cashiers checks -- We accept purchase orders from qualified corporations. Subject to approval. ^ Educational discounts available to qualified institutions. m- FREE CATALOG MEMBERSHIP ORDER LINE CALL TOLL-FREE 1-800-233-8950 CUSTOMER SERVICE & TECH SUPPORT 1-717-327-1450 Dept. A112 MAILING ADDRESS Computer Mail Order Dept. A112 477 East Third Street Williamsport. PA 17701 HOME COMPUTERS MODEMS .. mat* Mf fvieER DIRECT MARKETING ASSOCIATION CREDIT CARDS '"*}"• ! Inquiry 77 ' IJ SHIPPING"™ Add 3%. minimum $500 shipping and handling on all orders Larger shipments may require additional charges All items subject to availability and price change Returned shipments may be sub- ject to a restocking fee CANADIAN ORDERS 1-800-268-3974 Ontario/Quebec 1 800 268-4559 Other Provinces 1-416-828-0866 In Toronto TELEX: 06-218960 2505 Dunwm Drive, Mississauga, Ontario Canada L5L1T1 All prices shown are for U.S.A. orders. Call The Canadian Office for Canadian prices. ATARI 130XE (128K) CALL 520ST (512K) CALL 800XL 64K CALL 1010 Recorder $49.99 1050 Disk Drive $144.00 1027 Letter Quality Printer S209 00 1030 Direct Connect Modem $59 99 Software Specials 8036 Atari Writer $29 99 Star Haiders $4.99 Missile Command $4.99 Defender $4 99 Galaxian $4,99 Asteroids $4.99 Centipede $4.99 Robotron $4.99 APPLE APPLE Me CALL APPLE lie CALL MaclNTOSH CALL lie LCD Display CALL ASSIMULATION Mac Pon Adapter $59 99 HAYDEN An Grabber $31 99 Home Design $49 99 Media Works $63 99 PALADIN Crunch 512 S189 00 f S commodore C128 Computer $299.00 C1571 (Disk Drive for C128) SNEW r. 1 902 (RGB 13 Monitor tor C128I . SHEW C1670 (Modem lor C128I SNEW Commodore Plus 4 $19900 CBM 64 $149 00 C1541 Disk Drive $19900 C1530 Datasette $39.99 M-801 Dot Matrix Printer $169 00 MCS 803 Dot Matrix $179.00 C1702 Color Monitor $18900 C1660 Auto Modem $59.99 DPS 1101 Daisy Printer $339 00 PORTABLE COMPUTERS That HEWLETT mi/iM PACKARD 4ICV $189 99 41CX $249 99 HP 71B $419 99 HP 11C $62 99 HP 12C/15C/16C $89 99 HP 75D $949 00 HPIL Module $98 99 HPIL Cassette or Printer $359 99 Card Reader $14399 Extended Function Module $63 99 Time Module $63 99 We stock the lull line of HP calculator products NEC PC-8401 . CALL PC-8201 Ponable Computer $289 00 PC-8231 Disk Drive S599 00 PC-8221A Thermal Primers $149 00 PC-8281A Data Recorder $99 99 PC-8201 06 8K RAM Chips $105 00 SHARP PC-1350 .......... $159 99 PC 1261 $159 99 PC-1260 $109 99 PC-1500A $165 99 PC1250A $88 99 CE-125 Printer/Cassette $128 99 CE-150 Color Printer Cassette $171 99 CE-161 16K RAM $134 99 Christmas Special! EPSON/COMREX CR220AT for Atari 800 80 column, dot matrix printer with built-in Atari interface was $199.00. Now $79.99 While They Last! Eastern Front $4.99 SynCalc $19.99 SynFile $19.99 BOARDS FOR ATARI Axlon 32K . $39.99 Axlon 48K (400) $69.99 Axlon 128K $199.00 Bit 3 Full View 80 $169.00 Macintosh Software Lotus Jazz CALL Microsoft Excel $259.00 Living Vldeotext ThinkTank 512 $159.00 Manhattan Ready. Set. Go $79.99 Crelghton Development Mac Spell $6999 Monogram Dollars & Sense ..$99.99 Peachtree Back to Basics - GL5109 00 PFS File & Report (New Version)$1 19 00 Silicon Beach Airborn $25.99 ProfessionaJ Software Fleet System II w/Spell^ $49.99 Trivia Fever $29.99 Word Pro 4 Plus/5 Plus each $239 00 Into Pro . $179.00 BRODERBUND The Print Shop $29.99 Music Shop $29.99 File (64) $49.99 ■ • - x r y" Paperclip w/Spell Pack $79.99 The Consultant DBMS $69.99 Bus Card II $139.00 80 Col Display $129.00 DISKETTES maxEll 3V4" SS/DD $3999 3Vs" DS/DD $54 99 514" MD-1 w/Hardcase $14.99 5V MD-2 w/Hardcase $19.99 5V»" MD-2-HD for AT $44 99 ni Verbatim. 5%" SS/DD $1999 5V«" DS/DD $24.99 Disk Analyzer $24.99 LaaSB Elephant 3\4" SS/DD. . S29.99 Elephant 5% SS/SD $1399 Elephant 5'<4 SS/DD $15 99 Elephant 5"„ DS/DD $16.99 Elephant Premium DS/DD $22.99 5'V DS/DD Floppy Disks (Box of 10) $25.99 DISK HOLDERS INNOVATIVE CONCEPTS Flip-in-File 10 $3.99 Flip-in-File 50 $17.99 Flip-in-File 50 w/lock $24.99 Flip-in-File (400/800 ROM) $11.99 Fhp-in-File 100 $24.99 AMARAY 50 Disk Tub 5'/4" $9.99 30 Disk Tub 3(4" $8.99 aWNCHOR Volksmodem $59.99 Volksmodem 300/1200 $189.99 Signalman Express $299.00 Lightning 2400 Baud $399 00 DIGITAL DEVICES AT300 - 300 Baud (Atari) $99 99 D Hayes Smartmodem 300 $139 Smartmodem 1200 $389 Smartmodem 1200B $359 Smartmodem 2400 $599 Micromodem He $149 Smart Com II $89 Chronograph $199 Transet 1000 $309 AST Reach 1200 Baud Hall Card $39900 mpp miCROBITS MPP-1064 AD/AA (C-64) $69.99 Novation [SP Smart Cat Plus $319.00 J-Cat $99.99 Novation 2400 CALL Apple Cat II $229 00 212 Apple Cat II $379.00 Apple Cat 212 Upgrade $229.00 Macmodem $319.00 QUAJJRAM^ Quadmodem II nP^ 300/1200 $339.00 300/1200/2400 $499.00 TELELEARNINC C64 300 Baud (Closeout) $39.99 GRAPHICS ©lioala IBM $89 99 Apple/Franklin $79 99 ■Polaroid Palette $1299.00 DRIVES HARD ALLOY PC Stor CALL U-SCI 10 meg Internal IBM $429.00 20 meg Internal IBM $569 00 [■MEGA 10 meg Bernoulli Box $189900 20 meg Bernoulli Box $2599 00 5 meg "MacNoulli" . $149900 Ml TECHNOLOGIES 12. 25. 35. 50. 80 meg (PC) from $1499 00 IRWIN Tape Backup CALL EVEREX 20 Meg Internal (IBM $799 00 60 Meg Internal Backup System$879 00 FLOPPY INDUS Atari GT $21900 C-64 GT $229.00 MICRO SCI A1 5 Apple $179.00 A2 Apple $179.00 SD1 C-64 Single $219.00 SD2 C-64 Dual $469.00 landon 320K 5'A" (PC) $109.00 TEAC 320K 5V4" $109.00 di-raE MONITORS Amtjek 300 Green $129.00 300 Amber $139.00 310 Amber IBM-Plug $169.00 Color 300 Composite $179.00 Color 500 Composite/RGB $389.00 Color 600 Hi-Res (640x240) $399.00 Color 700 Hi-Res (720x240) $499.00 Color 710 Long Phosphor $579.00 Color 722 IBM Enhanced $579.00 (HP 12" Amber/Green Comp....(ea.) $99.99 12" Amber/Green TTL (ea.) $119.00 NEC JB 1260 Green $59.99 JB 1201/1205 (ea.) $99.99 JB 1270 Green/1275 $119.00 JB 1275 Amber $119.00 JB 1280 G TTL/1285 A TTL $149.00 JC 1410 RGB $669.00 JC 1225 Composite $179.00 PRINCETON MAX-12E Amber $179.00 HX-9 9" RGB $469.00 HX-9E Enhanced $519.00 HX-12 12" RGB $46900 HX-12E Enhanced $559.00 SR-12 Hi-Res $599.00 SR-12 P Enhanced $649.00 STAXAM 115 12" Green Mono $119.00 116 12" Amber Mono $119.00 121 Green TTL $139.00 122 Amber TTL $149.00 420 Hi-Res RGB (IBM) $429.00 440 Ultra Hi-Res RGB $559.00 QUADrWl||^ 8400 Quadchrome I $479.00 8410 Quachrome II $429.00 8420 Amberchrome $179.00 8500 Quad Screen $1499.00 ZVM 1220/1230 (ea.) $99.99 ZVM 1240 IBM Amber $149.00 ZVM 130 Color $269.00 ZVM 131 Color $249.00 ZVM 133 RGB/Color $429.00 ZVM 135 RGB/Color $459.00 ZVM 136 RGB/Color $599.00 AST Multi I/O (Apple II) $169.00 MMpwumcAL MPBtrHERALS __ Graphcard. $79.99 Senall Card $99.99 Microbuffer II + $169.00 Microbuffer 32K $189.00 Microfazer from $139.00 Elazer (Epson) from $79.99 §JOrange micro Grappler CD (C64) $99.99 Grappler + (Apple) $89.99 Grappler 16K + (Apple) $159.00 DIGITAL DEVICES Ape Face (Atari) $49.99 LJ-Print A (Atari) $54.99 U-A167Butfer (Atari) $74.99 U-Call Interface (Atari) $39.99 U-Print C (C64) $49.99 P-16 Print Buffer $74 99 U-Print II Apple lie $89.99 TYMAC C64 Epson $59.99 C64 Okidata $59.99 C64 Star $59.99 INTERFACES PRINTERS Canon A40 CALL LBP-8A1 Laser CALL #CITIZEN MSP-10 (80 col.) $279.00 MSP-15 (132 col.) $389.00 MSP-20 (80 col.) $349.00 MSP-25 (132 col.) $509.00 citoh Prowriter 7500 $219.00 Prowriter 8510 NLQ $329.00 Prowriter 1550P $449.00 Starwriter 10-30 $459.00 corona Lazer LP-300 $2799.00 DIABLO D25 Daisywheel $549.00 630-109 Daisywheel $1749.00 D80IF Daisywheel CALL d*sywriter 2000 $749.00 EPSON LX-80, LX-90, FX-85, FX-185 JX-80. DX-10. DX-20, SQ 2000 HS-80. Homewriter 10. DX-35 CALL ■JUKI 6000 Letter Quality CALL 6100 Letter Quality CALL 6200 Letter Quality CALL 6300 Letter Quality CALL 5510 CALL LEGEND 808 Dot Matrix 100 cps $179.00 1080 Dot Matrix 100 cps $259.00 1380 Dot Matrix 130 cps $289.00 1385 Dot Matrix 165 cps $339 00 NEC 8027 Transportable $229.00 2000 Series $699.00 3000 Series $1099.00 8000 Series $1449.00 ELF 360 $449.00 Pinwriter 560 $999.00 OKIDATA 182, 183. 192. 193. 2410, 84 CALL Okimate 10 (Specify C64/Atari)$1 89.00 Okimate 20 (IBM) CALL OLYMPIA Needlepoint Dot Matrix $289.00 Compact RO $289.00 Compact 2 $349.00 Panasonic KX1091 $259.00 KX1092 $389.00 KX1093 $479.00 Quadjet $399.00 Quad Laser CALL Vjf SJIYER-RECO 500 Letter Quality $279.00 550 Letter Quality $419.00 770 Letter Quality $759.00 star SG-10C (C64 Interface) CALL SB/SD/SG/SR Series CALL Powertype Letter Quality CALL Texas Instruments TI850 $529.00 TI855 $799.00 TI865 $1049.00 TOSHIBA 1340 (80 column) $589.00 P351 (132 column) $1149.00 PC COMPATIBLES IBM PC SYSTEMS Configured to your specification. Call for Best Price! IBM-PC, IBM-PC II, IBM-XT, IBM-AT Sperry-AT as low as $1749.00 Sperry-IT as low as $2699.00 Call for Specific Configuration! All Models CALL KP-2000 Portable CALL SOFTWARE FOR IBM ASHTON-TATE Framework $369.00 dBase III $369.00 BORLAND Turbo Pascal 3.0 $49.99 Sidekick (unprotected) $59.99 CENTRAL POINT Copy II PC-Backup $29.99 DECISION RESOURCES Chartmaster $229.00 Signmaster $169.00 ENERTRONICS Energraphics/Plot $289.00 FOX & GELLER Quickcode III $169.00 FUNK SOFTWARE Sideways $39.99 HARVARD SOFTWARE INC. Harvard Project Manager $209.00 Total Project Manager $269.00 LIFETREE Volkswriter Deluxe $159.00 , LIVING VIDEOTEXT Think Tank $109.00 Ready CALL LOTUS Symphony $429.00 1-2-3 $309.00 MECA SOFTWARE Managing Your Money 2.0 $109.00 MICROSTUF SOFTWARE Crosstalk XVI $89.99 Crosstalk Mark IV $149.00 Remote $89.99 MICRORIM SOFTWARE R:Base 4000 $249.00 R:Base 5000 $389.00 Clout 2.0 $129.00 MICROPRO WordStar 2000 $249.00 WordStar 2000+ $309.00 WordStar Professional $299.00 Easy CALL MICROSOFT Word $239.00 Mouse $139.00 Flight Simulator $39.99 MultiPlan $129.00 MULTIMATE Advantage $289.00 Multi Mate Word Proc $249.00 NOUMENON Intuit $69.99 NORTON Norton Utilities 3 $59.99 PEACHTREE SOFTWARE Peachtext 5000 $169.00 PeachPack (GL/AP/AR) $199.00 PFS: IBM First Success $218.00 Access $79.99 File/Graph (ea). $79.99 Report $74.99 Plan $79.99 Write/Proof Combo $79.99 PROFESSIONAL SOFTWARE Wordplus-PC w/Boss $249.00 ROSESOFT Prokey $89.99 THE SOFTWARE GROUP Enable $339.00 SATELLITE SYSTEMS Word Perfect 4.0 $219.00 SORCIM/IUS Accounting AP/AR/GL/INV/OE (ea.) $295.00 SuperCalc III $195.00 EasyWriter II System $195.00 Super Project $195.00 SPI SOFTWARE Open Access $379.00 SUBLOGIC Jet $39.99 THOUGHTWARE Trigger $28900 Sell. Sell, Sell Training $299.00 Application $179.00 TLB Solomon III GL $519.00 ypATW Safari (7300) CALL 6300 CALL corona PPC400 Dual Portable $1289.00 PPCXT 10 meg Portable $1989.00 PC40022 Dual Desktop $1389.00 PC400-HD2 10 meg $1989.00 TTT ITT X-TRA J - J ~ t 256K, 2 Drive System CALL 256K.10 meg Hard Drive System CALL XP5. 20 meg CALL ® SANYO MBC 550-2 Single Drive $669.00 MBC 555-2 Dual Drive $969.00 MBC 675 Portable CALL MBC775 CALL MBC 880 Desktop CALL PC-158-21 Single Desktop CALL PC-158-52 Dual Desktop CALL PC-158-53 10 meg Desktop CALL PC-161-21 Single Portable CALL PC-161-52 Dual Portable CALL Z-200 (AT) CALL 171 (Portable) ^\... CALL 138 (Transportable) >£• CALL 148 (DeskTop) V^ CALL MULTIFUNCTION CARDS Six Pack Plus $239.00 Mega Plus II $269 00 I/O Plus II $139.00 Advantage-AT $399.00 Graph Pak /64K $599 00 MonoGraph Plus $399.00 Preview Mono $299 00 PC Net Cards $379.00 5251/11 On-line $669.00 5251/12 Remote $579.00 3780 Emulation Card $639.00 deei IRMA 3270 $879.00 IRMA Print $999.00 IRMA Smart Alec $779.00 =SVEREX— Edge Card $299. 0C Color Card (Graphics Edge) $299.00 Magic Card II $179.00 HERCULES Graphics $299 00 Color $159.00 IDEAssociaies IDEAmax - ZPR, 64K. C, S. P. $229.00 IDEAminimax - MPR 128K $229 00 IDEA 5251 $699.00 MYLEX The Chairman $479.00 PARADISE Modular Graphics Card $279.00 Multi Display Card $229.00 Five Pack C, S $159.00 PEPSY5T Bob Board $359.00 ii i ^m Captain - 64 $199.00 Captain Jr. 128K $279.00 Graphics Master $469.00 QUAgwi^ Ouadport-AT $119.00 Quadmeg - AT (128K) $349.00 The Gold Quadboard $449.00 The Silver Quadboard $239.00 Expanded Quadboard $219.00 Quad 512 + $229.00 Liberty $309.00 QuadSprint $499.00 QuadLink $399.00 Quadcolor 1 $199.00 QuadJr. Expansion Chassis $469.00 Expansion Chassis Memory $199.00 Chronagraph $79.99 Parallel Interface Board $64.99 lit" li) ii^i i m . u c it j ■* f* Li V nm] £&£<=& JU5 rW7 (V PRINTERS 32-2727 User-Friendly Prices ' : ^'"^ EPSON FX-85 $ 339. WITH NLQ (REPLACES FX-80- Suggested Retail $499 ■ J\ m I 03 WITH NLQ WIDE CARRIAGE (REPLACES FX100 + ) • 160 CPS • IBM 5152 GRAPHICS • NLQ MODE • 8K BUFFER • SELECTYPE™ • 160 TYPESTYLES • ONE YEAR WARRANTY $ 459. Suggested Retail $699 EPSON LO-1 500 $ 214. EPSON LX-80 S Ref e r$ 2 9 • SPEED — 100 characters per second • QUALITY — Near letter quality mode • EASE-OF-USE — Choose popular typestyles from top control panel with SelecType '• VERSATILITY — Over 160 possible type styles Mix text and graphics on the same line. - Epson's one year warranty I V OH Su 99 ested V V M M TRACTOR LA"i7vJ Retail Price $329. mm M *J m FEED Pic cable interfaces Available For: . IBM PC • APPLE lie Emulates IBM 5152 Emulates Epson LX-80 . IBM JR. * GENERIC PARALLEL" Emulates IBM Compact Emulates Epson LX-80 . ATARI • COMMODORE Emulates Atari 1025 Emulates Commodore MPS 801 WARRANTY 'Requires Cable DIABLO COMPATIBLE DAISYWHEEL PRINTERS EPSON-DX-10 • 10 CPS • 1 YEAR WARRANTY EPSOIM-DX-20 • 20 CPS • 110 COLUMN • ALL-PURPOSE INTERFACE *219. Suggested Retail $299 $ 319. Suggested Retail $499 Qualified Corporate & Educational Purchase Orders Accepted $ 827. Suggested Retail $1295 DRAFT TO LETTER QUALITY IN ONE AMAZING PRINTER • 24 Pin Printer • 200 CPS Draft Mode • Over 200 Typestyles • Ultra-High Resolution Graphics • Four Times Faster than the Average Daisy Wheel at 67 CPS — Letter Quality New Low Prices On Options IMEW! EPSON AP-80 For apples Macintosh - lie - lie $279. • WITH NLQ • TRACTOR FEED IMAGE WRITER COMPATIBLE Suggested Retail $379 Special Pricing For Qualified Resellers ComRiter CR-420 PRICE BREAK! HIGH SPEED PRINTER • 420 CPS (Draft Mode) • Rear and Bottom Paper Entry • Print up to 5-part Forms • Standard Friction and Tractor Feed • Change Fonts and form length with the push of a button • Quiet quality printing with a built-in sound enclosure • Computer Compatible— switch between standard parallel and serial interfaces Suggested Retail $2,295. SPECIAL PRICE $ 1,281. EPSON HS-80 LETTERJET • 160 CPS INK JET • PORTABLE or AC • STANDARD PAPER • NLQ • EPSON CODE $ 310. Suggested Retail $499 SPECIAL OFFER! with printer purchase PREMIUM DISKETTES $14.99 Suggested Retail $39.95 COMREX DS/DD Ten in durable plastic case 1-800-56S-27S7 ^^ Or in Missouri call: 1-314-227-4371 I _ I PRINTERS PLUS /910 Clayton Rd., #217, Ballwin, MO 63011 SHIPPING AND HANDLING AT ADDITIONAL COST. IMC AND VISA AT NO ADDITIONAL CHARGE.) OFFER GOOD WHILE SUPPLY LASTS. PRICES ARE IN EFFECT UNTIL DECEMBER 31, 1985 SOME ITEMS MAY NOT BE AVAILABLE ON PUBLICATION DATE ALL EQUIPMENT CARRIES MANUFACTURER'S WARRANTY RETURNS REQUIRE PRIOR APPROVAL AND ARE SUBJECT TO A RESTOCKING FEE. ALL SALES ARE FINAL. WE CANNOT GUARANTEE EQUIPMENT COMPATIBILITY. Inquiry 293 COMPUTER CONFERENCING CONVERSATIONS by Douglas E. Comer and Larry L. Peterson An alternative to memos and conferences This article is based on excerpts from a paper entitled "Conversations: An Alternative to Memos and Conferences'.' which was presented at the Workshop on Computer Conferencing and Electronic Messaging, University of Guelph, Canada, January 22-23, 1985. A CONVERSATION-BASED SYSTEM groups messages into conversations, with messages within a conversation ordered according to the context in which they are writ- ten. Message context defines a relation between messages that makes it easy to implement conversations in a distributed environment. Data Structure The underlying structures that support both the memo- based system DRAGON MAIL and teleconferencing sys- tems are the mailbox and the conference, respectively. Simple interfaces, such as the UNIX mail system, place saved messages in a named file. Other interfaces, such as MH, MS, and Laurel, provide more advanced mechanisms for archiving messages, such as "folders" into which messages are filed. Commands allow the user to browse through the hierarchy of saved messages and select particular messages based on a specified attribute- value pair. User interfaces like Edmas and AUGMENT use the technique of "linking" related messages, providing yet another mechanism for allowing the user to traverse through a list of messages and replies to messages. Despite their differences, all conventional user interfaces are founded on a memo-based model that resembles the office practice of memo communication. A new model for exchanging information combines the memo-based model and the teleconferencing model. This approach replaces the first-in/first-out ordering of memos with a mechanism that groups messages into conversations and orders the messages within a conversation according to the context in which they were created. This model places a high-level structure on messages, where the fundamental object of communication is the conversation rather than the memo. Instead of reading, writing, and filing individual memos, users participate in a set of conversations. The Underlying Model A conversation consists of a group of messages, denoted M = {m, | i>0}, shared by a set of participants, denoted P = {Pi | i>0}. Also associated with a conversation is a topic defined by the user who starts the conversation. A topic is a short phrase that describes the conversation's general area of discussion. Participants view the messages associated with a con- versation as well as add new messages. In this system, par- ticipants submit messages to a specific conversation rather than mail them to a set of recipients. A conversation begins when a user defines the set of participants P and submits an initial message m . New members are added (continued) Douglas E. Comer, who has a Ph.D. in computer science from Penn- sylvania State University, has worked as a professor and researcher at Purdue University and Bell Laboratories. He can be contacted at the Department of Computer Science. Purdue University, West Lafayette. IN 47907. Larry L. Peterson received his Ph.D. in computer science from Pur- due University, where his thesis investigated issues in electronic mail systems. He can be contacted at the Department of Computer Science, University of Arizona, Tucson. AZ 85721. DECEMBER 35 • B Y T E 263 CONVERSATIONS to a conversation by having the list expanded to include them. Similarly, old members may be removed. Being add- ed to a conversation means having access to the entire history of the conversation (i.e., all of set M). Removal im- plies not being able to read any further messages sub- mitted to the conversation. The system also allows users to manipulate entire conversations; a user can delete an unwanted conversation, as well as merge two related con- versations and split a diverging conversation. The conversation-based system partitions messages in a conversation into visible and hidden subsets. The system automatically displays visible messages to participants when a conversation is viewed. Hidden messages are maintained in the history of the conversation and can be viewed by users via special commands. Participants may Figure 1 : A context graph for a conversation in which message a was the initial message of the conversation. Messages b and c were submitted after their respective authors had read message a, but independently of each other. Message d was submitted after its author had viewed messages a and c but before he had viewed message b. hide messages determined to be irrelevant to the conver- sation and supersede a group of messages with a single sum- marizing message. Message Structure An individual message in a conversation consists of a header, a body, and a set of attachments. The header consists of the sender of the message, the creation or date of the message, and the subject of the message. The header may also contain a set of parameters, including the urgency and lifetime of the message. The body of the message contains the lines of text meant to be viewed by the participants. Along with the text, a user may send a set of attachments with the mes- sage. Attachments might be binary programs, source pro- grams, or data files that are not necessarily meant to be viewed by participants. Instead, participants remove at- tachments from the message and place them in files for further computation. Participant Hierarchy Participants in a conversation are categorized according to their privileges within the system. Here are the classes of participants and their respective privileges: Reader: A participant who is only allowed to read messages in a conversation. Contributor: A participant who reads and also has the right to add messages to a conversation. Administrator: A person who can remove or add par- ticipants as well as move irrelevant messages into the set of hidden messages. Owner: The person who starts a conversation. In addi- tion to having administrative authority the owner has the right to extend or restrict the privileges of other participants. Message Context The underlying structure of a conversation maintains the relationship among the messages that make up the con- versation. Informally, when participants compose a message, they do so in the context of the messages they have already seen. Specifically, message context is a relation R that holds between messages i and / such that m t R m s if and only if m, had been read by the author of m } before composing m.j. The set of message-context relations for the messages in a conversation is represented by a directed acyclic graph called a context graph, denoted C = (M. £). The vertices of G correspond to the messages in the conversation, while the edges of the graph represent the message-context relation. An edge leading from node i to node /' implies rrii R m s and reads "m l precedes m/.' Figure 1 is an exam- ple of a context graph. Associated with each participant p, is a subset of M. denoted M,, corresponding to those messages in M (continued) 264 BYTE • DECEMBER 1985 4L& Slowest prices^ cr349 630API $1404 630 ECS/IBM $1659 Other Printer Models love Epson All Printer Models Save Juki 6000 9169 6100 *349 6300 $679 NEC 2010, 2015, 2050 $629 3510,3550 ' $989 3515 $1009 3530 $933 8810,8830,8850 $1379 P2, P3 $av» Elf 360 $399 Elf 370 $389 Okidota All Printer Models $OW» Panasonic 1091 $233 1092 S349 1093 4429 KXP3151 Star Mi cronies All Printer Models Silver Reed EXP400 Parallel EXPS00 Parallel or Serial $279 EXP550 Parallel or Serial EXP770 Parallel or Serial TOSHIBA PRINTERS ^SPECIAL 1340 Parallel $449 1340 Serial $449 341 Parallel $829 341 Serial & Parallel $879 351 Serial & Parallel $985 MONITORS Amdex All Monitors Save NEC All Monitors Save Princeton Graphics Save Texan 121 Green $123 122 Amber $129 Zenith All Models Save BOARDS AST Advontoge $389 Six Pock Plus $219 Everex Boards Save Hercules Color Card $149 Graphic Card $299 ParadiseModularGraphk06-l $239 FivePak $119 Qua dram Quodlink $323 Tec Mar Graphics Master $443 Captoin No Memory $1 39 COMPUTERS Sanyo MBC-775 Portable $1789 Televideo pm 4T $5089 pm 16 T Save Wyse Wyse pc Dual $1 1 99 Wysepc lOMeg $1959 Zenith z 158 All Models Save Z-138 All Models Save Z-148 All Models Save Z-171 Save Z-200 Save VIDEO TERMINALS Altos Smart III $399 IBM 3161 & 3163 Series Save Oume OVT Green 101 $299 QVT Amber 101 $314 Wyse 30 $299 50 $419 75 $559 Wyse 85 ..... $579 Wyse 350 $859 Zenith Z-22 $455 Z-29 $599 Z-49 Save DISK DRIVES Alpha Omega Turbo 10 $529 Turbo 20 $529 Turbo 30 $949 Everex 10 Megabyte $549 20 Megabyte $689 60 Megabyte $879 Haba Hobodisk for Macintosh $279 Iomega Bernoulli Box for IBM 10 Megabyte Save 20 Megabyte Save 20 Megabyte Plus Save 5 Megabyte for Macintosh Save MODEMS AT4T 4000Externol $319 Anchor Automation Anchor Express . $235 Mork XII $229 Hayes Smortmodem 300 Baud $129 Smartmodem 1200 Baud , $369 Smortmodem I200B(IBM) $319 Smartmodem 2400 Baud $599 Mkromodem HE (Apple) $1 34 Novation Smart Cat Plus $279 Prometheus All Models Save US Robotics Courier 2400 $389 Password 1200 $195 KEYBOARDS Keyframes 5151 $159 5151 Jr. $179 DISKETTES 3M SVi DS/DD(Qty K)0) Maxell MD-2 Plastic Box (Qry 100) MD-20 Plastic Box (Qly 100) . Sony MD/2 (Qty 100) PLOTTERS Enter Sweet-P600 Epson Hi-80 Sc SOFTWARE WORD PROCESSORS Leading Edge Word Processor Leading Edge W/P with Spell & Mail Microsoft Word 2.0 ssa $137 $223 $206 Wordstar Pro Pack $239 Word Perfect (Ver.4.0). Wordstar 2000 Wordstar 2000 Plus . . $199 $239 $285 GRAPHICS PC Paintbrush Energraphics PC Draw PC Draw Light Pen $206 $62 $28 190 555 $165 $214 $149 $203 $104 $123 $107 $78 $30 $135 LANGUAGES C Compiler (Microsoft) Fortran Compiler (Microsoft) ... . , Macro Assembler . $235 $209 $89 $178 $35 $«• $85 $59 $28 UTILITIES 1 DIR $48 $19 Norton Utilities 3.0 $49 Sidekick (Unprotected) $43 Sidekick— Superkey [Bundle) 1 TRAINING $43 S65 $30 $29 MONEY MANAGEMENT Dollars & Sense w/Forcast Tobias Managing Your Money $95 $95 Gem Collection $115 Gem Desktop $29 Gem Draw $ave PROJECT MANAGEMENT Harvard Total Project Manager Microsoft Project Super Project Timeline 2.0 $239 $149 $182 $249 $17 $94 $78 $94 COMMUNICATIONS CompuServe Starter Kit Crosstalk XVI PFS Access Remote INTEGRATIVE SOFTWARE Enable 1.1 $299 Framework Save Smart Software System $459 Symphony ... Save SPREADSHEETS Lotus 1-2-3 Save Multiplan $114 Spreadsheet Auditor 2.0 . $83 | Supercalc 3 (Ver.2) . . . SAVE | DATA BASE MANAGEMENT Cornerstone . . . $255 dBase II Save dBase III Save Nutshell Save PFS:File S78 PFSiReport $70 Qukkcode $139 QukkReport $139 Extended Report Writer . $80 Think Tank $93 Clipper $355 Knowledge™ an II Save Knowledgeman Upgrade Kit Save Powerbase (NewVer.Reb.320K) $205 |R:Base500Q.$335/ , 58 ^£§1 Inquiry 326 for MS-DOS Products. Inquiry 327 for all others. Prices reflect 3% to 5% cash discount. Product shipped in factory cartons with manufacturer's warranty. Please add $ 10.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. ^ *w Kf 64K S100 STATIC RAM $ 119°? LOW POWER! 150 NS ADD S10 BLANK PC BOARD WITH DOCUMENTATION $49.95 PRICE CUT! SUPPORT ICs + CAPS $17.50 FULL SOCKET SET S14.50 FULLY SUPPORTS THE NEW IEEE 696 S100 STANDARD (AS PROPOSED) FOR 56K KIT S105 ASSEMBLED AND TESTED ADD S50 FEATURES: • Uses new 2K < 8 l MM 2016 or HU 61 16) RAM, • Fully supports IEEE 696 24 BIT Extended Addressing. • 64K draws only approximately SO0 MA. • 200 NS RAMs are standard (TOSHIBA makes TMM 2016s as last as 100 NS FOR YOUR HIGH SPEED APPLICATIONS ) • SUPPORTS PHANTOM (BOTH LOWER 32K AND ENTIRE BOARD). • 2716 EPROMs may be installed in any ol top 48K. • Any ol the lop 8K (E000 H AND ABOVE) may be disabled to provide windows to eliminate any possible conthcts with your system monitor, disk controller, etc. • Perfecl lor small systems since BOTH RAM and EPROM may co-exist on the same board. • BOARD may be partially populated as S6K. PRICE CUT! 256K S-100 SOLID STATE DISK SIMULATOR! WE CALL THIS BOARD THE LIGHT-SPEED-100' BECAUSE IT OFFERS AN ASTOUNDING INCREASE IN YOUR COMPUTERS PERFORMANCE WHEN COMPARED TO A MECHANICAL FLOPPY DISK DRIVE. 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 ol On Line Solid State Disk Storage. * Provisions tor 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 mucn lor similar BLANK PCB (WITH CP M' 2,2 PATCHES AND INSTALL PROGRAM ON DISKETTE) s 69 95 I920"! 1 INTEL S29 95) boards #LS-100 (FULL256K KIT) (ADD S50 FOR A&T) *149 00 THE NEW ZRT-80 CRT TERMINAL BOARD! A LOW COST Z-80 BASED SINGLE BOARD THAT ONLY NEEDS AN ASCII KEYBOARD. POWER SUPPLY. AND VIDEO MONITOR 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 characfers (60 Hz) * Higher density formats require up to 3 additional 2K x 8 6116 RAMS * Uses NS INS 8250 BAUD Rate Gen ar.d USART combo IC, * 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 * 7x9 Character Matrix * Requires Par, ASCII keyboard 95 StZRT-80 (COMPLETE KIT. 2K VIDEO RAM) FOR 8 IN. SOURCE DISK (CP/M COMPATIBLE) ADD S10 BLANK PCB WITH 2716 CHAR. ROM. 2732 MON. ROM S4g95 SOURCE DISKETTE SET OF 2 CRYSTALS • ADD S7.50 Digital Research Computers P.O. BOX 381450 • DUNCANVILLE, TX 75138 • (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: A'td S3 00 postage Orders under SI5 add 75c handling No C O D We accept Visa and MasterCharge Tex Res add5-18%Tax Foreign orders (except Canada) add 20% P & H Orders over S50 add 851 for insurance CONVERSATIONS Conversations move into the background after n idle days, whether a participant has viewed all the messages there or not already viewed by p f . We informally think of the context graph as having each node marked according to whether or not each participant has read it. Thus, when participant Pi views a message, the message is added to ft?,, and when Pi submits a message, it is connected to the context graph by edges leading from all the vertices in M,. The messages in the graph are arranged topologically. Thus, if message m,- was composed by a participant after reading message m„ then m, is displayed to those view- ing the conversation before m,. Anytime a user participates in_a set of conversations, denoted K = {fe,|i>0}, he or she defines subsets of K by supplying a subset name and specifying the conversa- tions in K contained in the subset. (We represent the subset named S as K s .) Defining subsets of conversations allows the user to treat a group of conversations collectively. In addition to user-defined subsets of K, conversation- based mail maintains a collection of system-defined subsets. For example, the system partitions K into foreground and background subsets, denoted K F and K B . respectively. Conversation k t E K F if and only if a participant has acted on it in the last n days. The system also partitions K into the subset of conver- sations that contain messages not yet seen by the user, denoted K N . and the subset of conversations in which the user is up to date, denoted K c . Finally. K v denotes the set of conversations containing unread urgent messages. K £ K N , but K £ K F because conversations move into the background after n idle days, whether a participant has viewed all the messages it contains or not. Distributed System Implementation We abstractly view a conversation as having a single con- text graph. But because users expect a fast response time when viewing messages, a single graph is not practical if the participants in a conversation are distributed over two or more computer systems with inherent communication delays between them. Therefore, each participant p t is seen as having a resi- dent copy of a subgraph of G. denoted G,-, that is quickly accessible for viewing. When participant p t views the mes- sages in a conversation, he or she sees only the messages [continued) 266 BYTE • DECEMBER 1985 Inquiry II I "A true data management product is inherently multi-user." Edward M. Esber, Jr. President AshtonTate Software, "InfoWorld" July 22, 1985 Thank you Mr. Esber. We at DataAccess Corp. couldn't agree more! That's why DataFlex was designed and implemented with true multi- user capabilities right from the start, way back in 1981. And we mean RIGHT from the start. Take for example DataFlex's multi-user data protection features. While other products deny users access to records... or even com- plete files... while they are in use, DataFlex allows all users access to all files and records at all times. With DataFlex's powerful data entry macro, locking occurs only during write operations, and then, only for the micro- seconds it takes to update the file. No user is ever affected by any other, and data integrity is absolute! Another of DataFlex's multi-user facilities is its sophisticated, yet easy to use, on-line query program. Query allows even inexperi- enced users to produce complex multi-file reports simply by using a mouse or the cursor control keys to "point & shoot" at the data they wish to see presented. And because DataFlex maintains on-line data indices, query's output is sent to the screen, printer or file as quickly as it can be read from disk. You even have the option of generating error- free source code and using it as the basis of a more complex report. Call your local dealer today and discover for yourself the joys of using "A True Data Management Product." The TRUE Multi-User Applications Development Database SUPPORTED OPERATING SYSTEMS AND NETWORKS IBMPCDOS1.X, 2.x, 3.x MSDOS 1.x, 2.x, 3.x IBM "AT" XENIX IBM PC NETWORK CP/M, CP/M-86 Concurrent CP/M-86 Concurrent DOS MP/M-86 Novell NetWare TurboDos Corvusw/IBMPC Molecular N/Star TeleVideo Infoshare 3Com EtherShare PC-Net NorthStar Dimension Action DPC/OS DMS Hi-Net Alloy Engineering RTNX DataAccess Corp., 8525 S.W. 129th Terrace, Miami, FL 33156 (305) 238-0012 TELEX 469021 DATA ACCESS CI Inquiry 102 DECEMBER 1985 -BYTE 267 TOTALCONTROL with LMI FORTH" For Programming Professionals: an expanding family of compatible, high-performance, Forth-83 Standard compilers for microcomputers For Development: Interactive Forth-83 Interpreter/Compilers • 16-bit and 32-bit implementations • Full screen editor and assembler • Uses standard operating system files • 400 page manual written in plain English • Options include software floating point, arithmetic coprocessor support, symbolic debugger, native code compilers, and graphics support For Applications: Forth-83 Metacompiler • Unique table-driven multi-pass Forth compiler • Compiles compact ROMable or disk-based applications • Excellent error handling • Produces headerless code, compiles from intermediate states, and performs conditional compilation • Cross-compiles to 8080, Z-80, 8086, 68000, and 6502 • No license fee or royalty for compiled applications Support Services for registered users: • Technical Assistance Hotline • Periodic newsletters and low-cost updates • Bulletin Board System Call or write for detailed product information and prices. Consulting and Educational Services available by special arrangement. urn mam mm Laboratory Microsystems Incorporated Post Office Box 10430, Marina del Rey. CA 90295 Phone credit card orders to: (213) 306-7412 Overseas Distributors. Germany: Forth-Systeme Angehka Flesch, D-7820 Titisee-Neustadt UK: System Science Ltd., London EC1A 9JX France: Micro-Sigma SARI . 75008 Paris Japan: Southern Pacific Ltd., Yokohama 220 Australia: Wave-onic Associates, 6107 Wilson, W.A. CONVERSATIONS DRAGONMAIL is configured to run on three VAX/UNIX 4. 2 BSD computers connected by a \0-megabit token ring: the source code is written in C. that are contained in G,, where M, ^ M is the set of messages resident at p/s system, and M, = M,. Furthermore, when p, submits a message, that message is added to G, and the system propagates the update to all the other participants' copies to effect the change to G previously described. Specifically, when p,- submits message m new to a conver- sation, a new node is first attached to his or her graph G, and then to each remote copy of G. Updating a graph involves transporting information over computer networks. Because of varying communication delays between com- puters, however, it is possible for p ; to receive a message, read it, and respond to it before p, receives the original message. Thus, we must ensure that all the nodes to which m„ ew connects are also present in G> That is, the operation of adding m„ ew to a given Gj is blocked until each node that precedes m„« M , is present in Gj. Finally, because a path from each message that precedes m„,», is sufficient (rather than a direct edge), we require that the new message be at- tached only to the leaf vertices of M t , thereby reducing the overhead of adding new nodes to a context graph. The Prototype A prototype conversation-based mail system called DRAGONMAIL is being used as part of the TILDE proj- ect at Purdue University. DRAGONMAIL currently serves over 100 users and a dozen groups in the Computer Sciences Department and is configured to run on three VAX/UNIX 4.2BSD computers connected by a 10-mega- bit token ring. The DRAGONMAIL source code is written in C and is approximately 6500 lines long. DRAGONMAILs user population is distributed over three hosts, with a particular host designated as each user's home machine. Each host maintains a copy of all conversations in which the residents of that host par- ticipate. Also, a single copy of the context graph is replicated on each host for each of its resident partici- pants. When a user invokes an operation that alters a conver- sation, the local version of DRAGONMAIL distributes the change to the home machine of each participant. At each destination host DRAGONMAIL then makes appropriate {continued) 268 BYTE • DECEMBER 1985 Inquiry 202 The Sourceis Illuminattag. At last, a beacon to help you navigate the vast sea of personal computer technology. It's The Source. The online information service that can guide you to the best deals in the PC market. Shed light on your software problems. And signal the latest developments in micros. With The Source, you can buy, sell or swap hardware and software. Learn new applications from a Special Interest Group. See what's been written about the printer you're planning to buy. Or send out an SOS to thousands of other PC users when you need advice. What's more, The Source can enlighten you with current information on everything from business * TheSouice to travel, investments to world news. The Source is a service mark of Source Telecomputing Corporation, a subsidiary of The Reader's Digest Association, Inc. © 1985 Source Telecomputing Corporation. Whatever kind of help you're after, you can find it faster on The Source. With a system of easy commands and menus. Plus a tutorial— free of online charges— that'll bring you up to speed in a snap. To sign up today, call 1-800-336-3366. For more information, mail this coupon, or visit your nearest dealer. Then, no matter how many waves of new technology rock your boat, you'll stay right on course. INKlRMAIlONMTOORk SM The most powerful resource any personal computer can haw. Show me the light. Please send more information about The Source. Name 7B27 Address City, State Zip v Mail to: Source Telecomputing Corporation, | P.O. Box 1305, McLean, VA 22102. In Virginia, or outside the U.S., call (703) 821-6666. DECEMBER 1985 -BYTE 269 CONVERSATIONS A DRAGONMAIL Conversation CONV TOPIC NEW/TOT 1 TILDE reports 0/15 *2 Do What I Mean 2/4 *3 Dragon Bugs 3/10 4 Ethernet on 8086s 0/18 Conversation 2: Do What I Mean MSG Synopsis 1 Chris / 5-16 9:30 / CR 2 Steve / 5-17 8:44/ Control L *3 Doug / 5-17 18:50 / More on CR *4 Tim / 5-17 19:31 / I disagree Figure A: Screen display after initiating a mail session. The Topic column contains a brief synopsis of the conversations shown. The lines in boldface are highlighted on the screen to indicate that the conversation contains an unread message. Conversations marked with an asterisk contain urgent messages. The user selects a conversation by entering the corresponding number in the command window. Figure B: Screen display after selecting conversation 2. This time the user selects message 1 via the command window. Note that the ID of the conversation is displayed in the upper window. Unread messages are in boldface. Previously read messages appear in this display to give surrounding context to new messages. Operations such as list, add. and delete participants can be executed at this level. Conversation 2: Do What 1 Mean Msg 1: Chris / 5-16 9:30 / CR Instead of returning to the conversation level, carriage return should do what I mean (DWIM)— automatically display the next unread message. Cheers, Chris Figure C: Screen display of conversation 2. Note that at this level conversation ID and message ID are displayed in the two upper windows. Executing an S [submit] command at this point puts the user in the edit mode. An H (help) command may be executed at any point in the process and will display the command syntax for that level. changes to its copy of the conversation. Information is distributed between copies of a conver- sation through the existing mail-transport system. SEND- MAIL. DRAGONMAIL was implemented on top of the existing message-transport system because the compo- nent hosts do not share a common transport-level pro- tocol. The "sending" DRAGONMAIL encapsulates the message and header lines inside a "standard message." Specific header lines are added to the regular header, and other data is placed within the message body. When a message arrives at a remote copy of the con- versation, the local DRAGONMAIL updates its copy of the context graph associated with that conversation. If the message cannot be added to the local copy of G because the messages that precede it are not present, then the message is placed in a queue. As additional messages ar- rive. DRAGONMAIL checks the queue for messages that can be added to G. Because the message-transport system occasionally loses messages, queued messages "timeout" after a period of time, and the local copy of the conversation is refreshed by requesting the conversation's history from the home host. Figure A shows a typical screen display when a mail session is initiated. Figure B shows the display when a specific conversation ("Do What I Mean"! is selected. Figure C is the display of the actual message viewed in the conversation "Do What I Mean." We have described a new high-level computer mail ser- vice based on conversations rather than independent [continued) 270 BYTE- DECEMBER Inquiry 28I THE PC'S LIMITED AT -$ 1 995. THE PC'S LIMITED TURBO PC M - $795. lii At these prices, it's no wonder s're burning up the marketplac Yes, you can believe it. Since we ran our first advertisement for the PC's Limited AT"' and Turbo PC IM . the calls we've received mostly start with comments like "Is this for real?" And "How can that be?" But now that our machines are in the hands of influential buyers, the questions tend to concern quantity discounts for further purchases. (Which are available.) You see, the PC's Limited machines are assembled from components bought worldwide with our strong buying power. Then they are offered directly to you— with no middleman markups. So light a match to your old budgets. With the savings we're providing, you'll have money to burn. PC'S LIMITED AT -80286-based System Unit (runs at 6MHZ) -1024K on Mother Board — 1.2 Meg Floppy Drive —Combined Floppy/Hard Disk Controller Card -AT Keyboard -192W Power Supply —2 Serials and 1 Parallel Port —Clock/Calendar with Battery Backup Runs all Major Software written for the IBM PC™, PC XT™, and PC AT™. Unit has 8 Expansion Slots, with 7 available in above configuration. Same Bus Configuration as IBM PC AT™. PC'S LIMITED TURBO PC" -1 6-bit 8088-2 System Unit (running at 4.77 or 6.66MHZ) — 640K on Mother Board -360K Floppy Drive —Keyboard — 135W Power Supply- Runs all Major Software written for the IBM PC IM and PC XT™, 40% faster, without modifications. Unit has 8 Expansion Slots, with 7 available in above configuration. IBM ' is a registered trademark of International Business Machines Corporation. IBM PC. PC XT. and PC AT are trademarks of International Business Machines Corporation. PC'S LIMITED OUTSIDE TEXAS, ORDERS ONLY, CALL 1 -800-426-5150 1611 Headway Circle, Building 3, Austin, Texas 78754 All sales-related calls inside Texas - (512) 339-6800 Telex No. 9103808386 PC LTD Ad number 412 A Inquiry 209 More Space Saving Products From LinTek Computer Accessories Monitor Mover (Adjusts 4 ways) $149.95 Space Saver Arm (Adjusts 3 ways) 89.00 Dust Cover/Copy Holder (for IBM-PC) 24.95 Keyboard Drawer (25" x 15 1 /2" x 3W) 84.95 Medium Tilt & Turn (11" x 10" x 2%") 27.95 Large Tilt & Turn (14" x 14" x 2 1 /4"j 34.95 PC Printer Stand (Fits all printers) 19.95 System Floor Stand (For IBM-PC) 23.95 • • * SEND FOR FREE CATALOG * * * Lirffeklllllll De ^ c z iries Computer Accessories P.O. Box 8056, Grand Rapids, Ml 49508 (616) 241-4040 ts ^==« PC/XT/ AT fSLJ ===T= TOP OF THE LINE IBM COMPATIBLE COMPUTER 1 Affordable priced PC/XT/AT Compatible | Runs PC-DOS, MS-DOS, CPM/86 ' This versatile computer runs Flight Simulator, Lotus 1-2-3. Symphony, Framework. Peachtree. D Base II & III, PC Paint. Auto CAD. and tons of software. COMPUTER SYSTEMS NOVAS PC BARE BONE 64K 8 slot mother board, case, 130W power supply, keyboard '510.00 NOVAS PC 256K SYSTEM 256K 8 slot mother board, case, 130W power supply, 2 Vi ht. Teac floppy drive. $ 795.00 NOVAS XT 256K SYSTEM 256K 8 slot mother board, case, 130W power supply, 2 Vi ht. Teac drive, 10MB H.D., DTC controller card. '1 295.00 NOVAS AT ENTRY MODEL 640K Mother board, #80286 CPU (Option 8 MHZ), 195W power sup- ply, TEAC 1.2MB floppy drive, DTC floppy/hard disk controller card. '2495.00 NOVAS AT ENHANCED MODEL 1MB Mother board, #80286 CPU (Option 8MHZ), 195W power supply, TEAC 1.2MB floppy drive, 20MB hard disk, DTC floppy/hard disk control. $ 3495.00 IRWIN 10M8 Tape back up system $525.00 IRWIN 20MB Tape back up system $650.00 EVEREX 45/60M Tape back up system $875.00 EXTERNAL case lor H.D. or Tape backup$150.00 10MB hard disk w/DTC controller . $495.00 20MB hard disk w/DTC controller $595.00 ADD-ON BOARDS: 6-function board (AST 6 pack compatible) with zero K $124.00 Mono-graphic (Runs Lotus 1-2-3 graphic mode) $135.00 EPROM Burner $1 35.00 2 serial/1 parallel card for PC or AT $1 1 9.00 Memory expansion board (Expandable to 576K) $ 75.00 NEED MORE DETAILS, PLEASE CALL NOW! COMPUTRADE COMPANY 780 Trimble Road, Suite 605, San Jose, CA 95131 Tel: (408) 946-2442 Telex: 171605 CONVERSATIONS memos. Conversations have the advantage of being more consistent with the way humans communicate. Conversa- tion-based mail also supports various message-exchange paradigms such as memo communication, mailing lists, and journals. Conversations are as powerful as teleconferencing sys- tems in their ability to group related messages while re- maining as inexpensive to use (and start) as conventional memo-based systems. Conversation-based mail also sup- ports a uniform interface to all forms of mail-like services. Most important, conversations provide a flexible commu- nication paradigm that users can tailor to their needs. ■ Editor's note: Dr. Peterson is currently working on a second version of DRAGONMAIL at the University of Arizona. The initial pro- totype demonstrated the workability of conversations as a medium for communication and pointed to several improvements in the initial model. The second version of DRAGONMAIL will be a stand-alone mail system that is fully integrated with the current computer mail environ- ment. In other words. DRAGONMAIL will serve both as a conversation-based message system and as an interface to conventional memo-based mail. BIBLIOGRAPHY "The AUGMENT Mail User's Guide." Journal Document . Tymshare Inc.. Office Automation Division, November 1983. Allman, E. "SENDMA!L-An Internetwork Mail Router." UNIX Programmer's Manual, version 4.2. Berkeley Software Distribution, vol. 2. August 1983. Almes, G., A. Black. C. Bunje, and D. Wiebe. "Edmas: A Locally Distributed Mail System." Technical Report 83-07-01, University of Washington, July 1983. Borden, B. S., R. S. Gaines, and N. Z. Shapiro. "The MH Message Handling System." User's Manual R-2367-AF. Rand Corp., November 1979. Brotz, D K. Laurel Manual. Technical Report CSL-81-6. Palo Alto, CA: Xerox Palo Alto Research Center, May 1981. Comer, D E.. and L. L. Peterson. "Conversation-Based Mail." TILDE Report CSD-TR-465. Purdue University, March 1984. Comer. D. E. "Transparent Integrated Local and Distant Environment (TILDE): Project Overview." TILDE Report CSD- TR-466. Purdue University March 1984. Crocker, D H. "Framework and Functions of the MS Personal Message System." R-2134-ARPA. Rand Corp., December 1977. Horton. M. "How to Read Network News." UNIX Programmer's Manual, version 4.1. Berkeley Software Distribution, vol. 2, 1979. loy. W., and Wasley D Msgs. UNIX Programmer's Manual, version 4,1. Berkeley Software Distribution, vol. 1, 1979. Knuth, D. E. The Art of Computer Programming, vol. 3. Reading, MA: Addison-Wesley 1973. Lipinski, H. M., and R. H. Miller. "FORUM: A Computer-Assisted Communications Medium." Proceedings of the 2nd International Conference on Computer Communications. August 1974, pages 143-147. Palme, I. COM/PortaCOM Conference System Design Coals and Principles. Stockholm. Sweden: QZ, Stockholm University Computing Center, March 1984. Shoens. K. "Mail Reference Manual." UNIX Programmer's Manual. version 4.1. Berkeley Software Distribution, vol. 2, 1979. 272 BYTE • DECEMBER 1985 Inquiry 83 PC NETWORK IS PROUD TO ANNOUNCE In Less Than 2 Years You've Made Us The World's Largest Mail-Order Supplier Of Personal Computer Products. Here's Why We're The World's Best ... s "ome say that being the biggest and being the best are qualities that often have little impact on each other. We believe otherwise. In a mar- ketplace as crowded as ours, PC Network has excelled by making your needs and your budget our prime considerations. To accomplish this, we merge 2 powerful but underused concepts ...We give you more . We charge you less. PC Network is the Value Added" Mail Order Firm. We think that's good business. And so do you, as you've proven with an astounding 90% repeat-buy rate! How does your Network membership give you the advantage? Read on. #1 in Selection We sell more computer products than any other firm in the business. We have o\er40,000 square feet of inventory valued at over $15. 000. 000. The Network offers over 30,000 different prod- ucts for virtually any personal computer on the market. #1 in Savings Our huge volume has enabled us to lead the way in providing the lowest prices on the largest selec- tion in the industry. We offer our unique "Cost + 8% "formula on everything ... not just the popular "grabber" products. #1 in Speed We ship almost all of our orders complete within 48 hours. Additionally we maintain a special RUSH stock of many important products to fill your emergency needs overnight! #1 in Support We are over 100 strong, all working to serve you. Our sales people are consultants, not order takers. Our technical support staff are factory- trained and degreed engineers. Excellence and a concern for your needs are stressed in every department of the Network . . . and it pays off. #1 in Satisfaction You know, only too well, the risks of products not turning out to be what they seemed in ads or show demonstrations. To insure your satisfaction, we offer a 10 day, money back, no-questions- asked, guarantee on all hardware . . combined with our unique Iry-Before-You-Buy" software rental program. Get only what you want, without risk or hassle. #1 in Stability This is a time of industry ups and downs. Imi- tators and basement/garage operations abound. It seems as if a typical mad-order firm has the life expectancy of a match. Not so with the Network. We maintain the financial strength, supplier rela- tions and industry savvy to insure that we'll be here when you need us. #1 in Even More But to truly excel, PC Network must do even more for our members. • You'll get the Printout , our quarterly news- letter, giving you fantastic specials and an un- biased analysis of new products and trends. • You'll get our 600 page wholesale catalog, the largest compilation of computer products any- where . . . plus quarterly updates. • You'll get the Network's On-line Bulletin Board.. . a 24-hour-a-day, 7-day-a-week com- puter service with access to product updates, tech support, download free demo software, public domain software and much, much more. The Challenge of Being #1 Above all, you'U receive our pledge to keep con- stant watch on all facets of this ever-changing industry, seeking new ways to reward your commitment to PC Network. As for our commitment? With your satisfaction, we'll stay the biggest and the best. CALL TOLL-FREE 1 -800-621 -S-A-V-E In Illinois Call (312) 280-0002 PC USEES GET THE NETWORK ADVANTAGE!!! BUY HARDWARE AND SOFTWARE AT WHOLESALE + 8%, AND GET 14-30 DAY SOFTWARE RENTALS*. . . Listed below are just a few of the over 30,000 products available at our EVERYDAY LOW PRICES! The Network carries products for Apple, IBM, CP/M and most other popular computer families. GAMES 4 EDUCATIONAL SOFTWARE FOR YOUR APPLE // & MACINTOSH (Please add Si shipping and handling lor each title ordered Irom below I Whotesak Wholesale- Arrays rtv-. S6S00' Miles C .imputing U s' 00* Ailon -"■■■ •*■■ 3100- Paiat.r Mn .-■.'■ 23 50* BtuectHp .". ■ 26 00' Penguin , ,, 1 ■,- 28 97- Broderbwnci 19 75' Penguin 20 00" Brooerbund 19.00* Penguin ■ . 20 00* Broderbund 2B 75' Professional Software fnvtaFevei 19.00* Broderbund Dd,v'i''ir.j.v 31 97' Pryofity Software 1 OtqiMi " QufSI 21 00* CBS '.' '■ 53 50" Scarborough Maslei fypc 26 50* C8SW-. .**".•■, ■ 20 97' Scarborough m'i.t- ? V 26 00* C8SCorB«8ndgi UaOk Easi 45 00* Simon & Schuster , 28 25* Counterpo-nf '•• V - 26 97- Sir Tech H 26 97* Davidson Speed Reade* " 37 97' Si' Teen - 18 97* Davidson U 29 97* S tc97* Davidson IMsrd Attack 29.97' SubtogK "- U 20 00* 1st 8vt? ■■-. (.- U 47 00- Subtoyic » 27 25- Hayden Da Vin©- Hr> 24.75- ► So:nn.H.-i i 15 97" Hayden Satgontll 25 75- -. Infocom OeaUbne ot 24 00' Rftyi ,.-.■■ . '.-.. ■ Infocom Enchanter Pfanerfa'i 20 00- ► Spinnaker '■ •.■■■■■■ 20 77* .V ► Spinnaki-' 24 97* Inlocorn Hiri 'i.»>t' GuKK J 20 00- T.'Make- 25 00' Inlocom ShU/HR • S '■ - ■ 22 00- Warnt' ■ 1 65 00" In to., on-, " • 22 00' Vide* •■■■.', 19 77- Layered ' • • " 65 00- Vide* Mac C N 25 17* Mirage Concepts Tnvm 11 00' Virtual Combtnalrc* M - 21 00* BUSINESS SOFTWARE FOR YOUR APPLE // & MACINTOSH (Please add S2 50 shipping and handling lor each "Hie ordered from below | Apple Apple Works S165 00* Borland IrrternationAi 30 00" BP1 Gi AP AH PR or trVV 205 00' Broderbund Bi- sr -Lr' rVr/ft- 4000* Centra* Point Copy "Plus or Capy II Mat 20 00* Funk Software S,aew»jrs 34.00' Funsofl Uacasm 60.00* Heba Habadex 40 00' Heba Quarrel 10195* Harvard Mac Manage 29 95' ►Human Edge Mr ,., 24.00' ►Human Edge SB* 110 00' Human Edge I L^if'Pur>FCd«o-i£dgp 98 00' ► Uv^Videol««t ""■ ■ * ■ • M^C loo 6500* Mam Street hier Mac Only 67 00' MECA Managing you' Money 105.50" ► Microsoft ertfU I ►Mtcrcsoft t ► Micro*"* •.^.iiipian "c kUuntOiSi Mtcrosor :•■■ Microsoft Charl Ho* Hi Monogram f'm^'s J '■•■";:■ 'or Apple lit M umU PMn (KUtam ft Sty-fi tor Ma Odesta^i;. fo'M,i<:i'i'os'i%'g-. 5J"« Provue OwyyuP Mfc '"•"'y Sensible Surrwa re ■ Softcraft Fan Sottech Microsystem* Soltwarf Art*. - Software Publishing Stoneware ■ Tetos 'irevisron lot Mac $102 00" 102 00" 102 00" 79 00* 66 00- 55 00- '0 00- 200 00- 135 00- 67 50* 125 00* 140 00" 134 00" 68 00* 95 00' 87 50* HARDWARE FOR YOUR APPLE //& MACINTOSH (Please add shipping and handling charges found m rtahes ne»l lo price I DISK DRIVES Alp* JF *«M Oua* 4pp*e Owes "> Ow Case Apple MAC 4001(8 £xiernal Dm* Corvus b bMS Ham Onve lOmega Mai nouth bMO Removable Onve lor Maonfosh Micro Sci AS '43KB Ome ,.i*iC)wn Mtcro Sci > >Oppy ConlroUet r>PC Networh <40* EitemalOnve lor Apple Ik Rana£lrte' '63* Dr-vt- nana En re u 3?6* Dtive Rana Elite III 6b?K Drive Tecmar 5Mfl Removable Onve lot MAC Tecmar IQM8 MAC Drive Tfecmar '■MB MAC 0"W UpgtaOe BOARDS AND BUFFERS ALS7 Engine AST Mull' I'O-? senal'dor* M-crosofi Premium SoRcanj *h Microtek OumplrngiiCJ*f Orange Micro Grapplei Orange Micro Serial G/appfer PC Network .'80 Card Ouadram VH Ouadram e RAM SO Ouadram Mi. if. v, | (-',■ CIOCM E>pandat«r K> 25rJ*< Thunderware ' Wholesale S309 00' (7 001 349 95' (7 50* 939-00' 20 28) 1250 00* 27 001 150 00' (5 001 55 00' •2 50) 95 00- 12 501 225 00* 55 00* i ,' SOi 66 00* ■ 66 00* -,'50, 35 00" >2 50) 62.00* 88 00- 140 00* fl 501 MODEMS ( hAicro/noaem tj w. S-nadLom i Apple- Cat H Prometheus f^OOA low CosJ l?00 Baud inlet na! Mootvt Pronwthaus Promoyt'r'i 1260 * -Ma. rack Zoom Zoom; Modem ih Whole <^ile S1250O" 174 45" 27600' ' •> ■or Apple « 29900* • 00) 90 00- Microrriodem C-ynpaftfe Fret? Do* Jones ACCESSORIES Apple M,i',.ii^' Ca . Apple Mji miosh Numvnc Keypad Hayes Mi. tittl royshc* W/Firp BulfO" lor «B Kensington Ousi Cover lor MAC rxtm>p*r-*n '■ - Kensmg-on Kensmcrlon Kensinglon ►KoalaM.. Wskn Koala -■ atajMd ■'■■ MAR '■ .. ■ U ffl '-' PC Network i ,i, ■'■!,.,■ I. ii wtlhSurtj Ptok , fort Dual Oulhfta PCNetwurk PC Hctwork y : ■ ■ Sony MAt ■--■-■ S69 00- ■ ; - 29 00- ■ 69 00- .. 31 00* j- 5DJ ft .'V ■ 54 00' 33 47* . 56.97* ■ • 58 00* ra.oo* 44 00" ■ Mi 25 00" . -■■■ . ■■■■ 2195- ■ 22 95* GAMES & EDUCATIONAL SOFTWARE FOR YOUR IBM (Please add 51 shipping and handling tor each title ordered Irom below ■. AH AH 'i'SC Bluebush . Bluechip '.' Broderbund CBS . • .'■;• : — CB5*vf3Siermg---e$AT CDEX rrainrngtor Wot Comptehensivt Davidson U Davidson Hayden Saroon n Individual '- Indrvidual ' ■ -Inrocom ' ■ • ■ .V ' Wholesale S23 00* Iflntocom 23 00 1400 ■ Microsoft ' Mouse Systems - p, 28 25 19 75' Scarborough U 40 00' Sierra On-Lme "■■■ 5000" SierraOn Line ■ 37 25- Spectrum Holobyte GAM 32 00* ►Spinnaker 26.50* .'.'■■ 36 50' 75 T5- a>Spinnaker 32 60' Ir-Spinnaker •.' 24 50' Sublogic nwjt.il '.' 2000" Virtual Combmalifs '.' Wholesak S24 00- 27 00* 59 95* 27 00* 27 00" 18 00* 18.00" 15 97' 24 97" 20 77 20 00* 21 00- BUSINESS SOFTWARE FOR YOUR IBM (Please add 52 50 shipping and handling lor each title ordered Irnm below I »Ashlon late ■>- -. »AsMon Ti-. Boiland Borland - A - - Borland .. ; ■ ke\ ■'■■ung Breakthrough n ►Central Potni . . -" Conceptual InstrumenU Oes* Oryar»/e' Digital Research . — i ooo Digital Research <■ ■»! OeskfPp Digital Research ,- n Oaw Fnertromcs I •- i <.>hK$ mrth Plotter Option Funk Software SiOewWft ►Harvard ''inaopr Harvard "o la I Proivc t Manager ► Mayes ■" - -*^"/T*tWfmuiaio» ► Human Edge '•" M.iriaorm««*l I *** t 2-3 MDBS"'. -.■■•-."••-•". *"•? MicroPro yVurttei^r ,'fiOO 5365 00- MicroPro .*. 365 00- MKTioHim 25 75- MfCTosoft 26 00" Microsofl .V 32 00* Mtcrosofl U 305 00' Microsoft Moo^v 26500' Monogram//, : i .-.',.,< 4800* "t-Mulbmate Mi,n,rFi.,/r ii .-f",' .'■ trong 23000' Norton Ncvlyn tmuue'. I 20.00" Oasis ■'■•> Word "-"i/s 15700- Open Systems > Salt A nrVVG-i.'- 75 00- Team Mt/- 25 00* Power Base fl caj p t Bast 73.00* Real Wertd G J A/PA«,».ie inv 190.00* nosesott FVo*cy V*f*r-fJOn 3 34 00* Ryan McFartartd KM C(M< 17S00* ►Samrva S*miia in IVord P ■■■■< ■ 225 00- ►Samna rVprd M00* ►Satahle Software v*y,t -'i"; ■ ■ 137 50* Softcr-rft Fancy Fonc 1 1000* Software Arts 'K" Solve- 2650* SothwarePubltshiOBPFS hie Wmtr 6'ai 1 35.00" Software Pubhshtog ' ' FtepOft 265 00- Sorctm S ,. .- .. 295 00* Xanare AhrfiJy 2t9 DO- HARDWARE FOR YOUR IBM (Please add shipping and handling charges lound in italics rteit to pnee ) DISK DRIVES Wholesale S2 2O0 0O* : 73000' 93000- -20 iOl MEMORY CHIPS MONITORS »64K Memory Upgrade X« s .. , Quantity Dtstou' ► 64* Dynamic Bam tfwps l£ai I ► 2S6K Dynamic Ram Ch«s £a ► 128K IBM AT Piggyback Chips K EXTERNAL MODEMS Anchor StO"-'-'- Kayes ■• Hayes SmarfrriooVm V0C Haves ■■.'■■.'-■ Smarltom II VHOC tmulaloi Hayes Sma-imodern t^OOB Atont- ►Hayes Sm.iflrnodem 2400 Prometheus Prcrf-movrn i^LX' Eiternal "OO*^ Mayes Cornpart*-* ► U S Rc4»OtiC« Ccv-er ^4008F*S M»>den' ► US Robotic* '3 ■ .i 00* ',00' ■ EMS S205 00 1 125 00- 340 00* 317 00* ■ 26500" 535 00* 276 00" reooj 450 tw- igs 00* Amdek . ■•■ SI iooo- ■ AjmcM 120 00' a,Ti.>ek 130 00- Amdek * ■ 215 00- 4 - 4 Amdek' i. 365 00* Amdek r.,hir TOO-Uffia Htqh Ren 455 00' , ■ - Amdek ** Ww NonGtan . ■ Princeton " Princeton MA « <2e CM 1 WOt* mil Ouadram 370 00* )*i ■■ ■ ► Samsung V ' ": ISM '.. • ■ ■ ■ maflolacfu-e it IBM m Taian 440 Super Hi ft 495 00* ■ | .. Currently Ava.tauf * — M ■ Zenith .'vM \230A in TERMS & CONDITIONS •PC NETWORK -Members pay just 8*f-* above the wholesale price, plus shipping All pnOM relied a 3"* ctsh Oiscounl Minimum shipping S2 50 per order International orders call Icr shipping * handling cti.ng.-s. Personal checks please allow 10 working days to clear All prices sutyecl to change without ,iotice' i RENT BtEFfDRE YOU BUY -Members are el-gtble to -oio the NET WORK s Bustnetis and Game software Rental Ubranes and evaluate products tor a lull 14 (Regular) or 30 I VIP) days to see if it meets you' needs And The NE TWORK s lenlal charges are far less than other software -etMal serv-ces- Jusl 20**. OF TME MEMBER WHOlE SALE FWICE Rental UH« available in IBal/Appto/llAC and CP/TH Formate Hardware pr.ces highnied by ► retlecl recent ma(« pr ■ redui '"nn 1 - 460 00* -< ; .-li 59 00" I 93.00- ... 2,37500* i5J Wi Maynard'A:"' * (0MS MWrna HartfOrsk MaynafdWS I -V i SaridlUH ►PCMetwork mm ■'■ AuMMOl Q'"-t t*t * m I . i"i,gj"c 7aisc*pn PC ^■etwon\ <0Mr3 Tape SJCtuC Sam, ■ ►PC Ne*wr_fV ► Tanoon 'M 'uu . I,., 't^'i: . .-. ,jL l.-.. Taligrass ?SA49f ■•*»« i *ilh 'OMP M*p« Backup ► Teac FD 55-fl Hair Metqr* Oi'l'OOrnres ► Teac I 2MB Hail Hright 0<*.r< uuvt lor AS MULTIFUNCTION CARDS Apparat AT Ram Evpfli J1390O" ► ASTS.. Pac* Pbl rV)fh64A 19500" AST UO Pius M 12000" USTs infagclbr AI 35500' - > 16000* ► PCHetw« M » 6900* PC Network * 9 °°' ■on y ■•>■'■ ■ ■ ►PC Network 69 00' Ouadram boatOwO* 170 00* tecmar " - - 14600' MODEMS AST ■■■ init.'M- Movent Haves 5ma-*r-ot>pm tr'OOe wWh Mew 5- r ur re , m */■ ■/> WJO f muUtiy Hayes Smarinjodcm 1P00B Alone Prometheus Promodem 1 200B Internal Ouadram (juad'imdem H '200 Baud HaH Card wCrpssralk *"W S262 00" 300 00- 220 00' 205 00" 95 00" 107 00" 95 00* 190 00' 46 00- 75 00' ea 275 00- 197 00" *.: 325 00' 65 00* 520 00* 227 00* 320 00' 190 00" 125 00- 200 00 68 00" 64 00* 169 00* 252 SO- Wholesale S345 00- 265 00* 225 00* 275 00* VIDEO CARDS Hercules S142 00* t. Hercules M'"" ,r ' - -"< Oq-MMCSf ■<"-' 26300* r»in>m fiTrn n-n-r*"* # *-" 235.00- IkPCNetwc— 105 00* ■ ►PC Network Col"' Cart* 80.00' Persyst Son i'-ho Ultra Mn.jh HfM «- ' •'•?' 299.00* ► STBw IP*) . Plus" 199W ACCESSORIES ►8.ar^f*arTwD^'t»Dtske«es *»«■ ■ '. ►DS/DO Bulk Rate Special 59* t . ■ ■ ■■ ►PC Netw.irt. ■ ■ ■ I (0 Wa" 82 00" IBM Pi P »vt?i Supply '• ,. , Cap.i ■■.■•■' ■ SIM" 9W " .. ..■.'■ -■■ . COMPLETE SYSTEMS Apple '■' - ATAT ■ ■ ■ ■ ATat COMPAQ '•".c'''- ".-.'• Backu) ■■■»■'■'' ,-. • 41 - I ' ■■■... , ■ „ ■ " S2 2J5 00* ►COMPAQ ' ... ► IBM * ' 495 0?" , _. M 1 749 00* ,8M I MB 2 79600' i( IBM Al ProreSSrOfial Syslem CALL :..ii, , Mfi Man- ■- I • ■ ' PRINTERS ► CiHien '.• ► Crti/en MS | F'ii rra( ►Citizen M 1 .' POOCPSiBfX QJ '•" ''■•' ► CitnenWS' ► Epson • ►Epson FJ 1- ► Epson-> ""j-' Epson ■llf.l I Epson f 1 ' ■ ■ ► NEC H4EC ► NEC S265 00- 350 00" 350 00* 49900- 199 00" 799 00* 479 00* 799 00* 1 359 00* S69 00" 60S 00- 605 00* 988 00- ►NEC ► NEC EtSi ► NEC ..,-.. ►Ok-dalaMl '-'. ., -,m Model FHK IBMGi •■. ►OkrdalaM' 192 ■■■■■■■■ ►Otttd-ttt Coto* 70B0CPS . , ■_ Uodt* ISM ■ ► OhKiaia '!'"•' ■"■■■■.. Co** 20 OkNlalaU - OkidaiaMi OkK5ata..i.'['''KiM-n.„i.. (50COI Qume Spn/il 1V4Q401 PSlettetQto Star Micronics Pmm type wcps I ,-!,-■ Toshiba' '■: 9 H '-JJCPS Tostiib.i ■ 5 9M00- 1330 00 - ■>woo- 200 00- ■ 65 00* S99 00' 533 00' ■ 1.620 00* ify 115500* 300 00* 450 00- 975 00* IBM PC BASE SYSTEM IBMPCw/256K Floppy Drive Controller 2 Double Sided Double Density Disk Drives Mix and Match with your favorite Monitor and Printer! IBM PC HARD DISK SYSTEM IBM PC W/256K Floppy Drtve Controller I Double Sided Double Density Disk Dnve Halt Height 10MB Disk Subsystem IIIIMMII $1,495.02* it ^-$1,749.00 ^ fomsmm IBM PC/AT SYSTEM Available NOW!! Call lor the Configuration ol your choice CALL f on LATEST IBM ANNOUNCEMENTS CUSTOM CONFIGURATIONS WELCOME PORTABLE HARD DISK SYSTEM W256K/ 1 Floppy/ 10MB Hard Disk IO $2,235.00*. $2,369.00 /10MB W/20MB APPLE lie TM DESKPRO SYSTEM WITH TAPE BACKUP 640K CPU/ 1 Floppy/ 10MB Hard Disk 10MB Tape Drive/Monitor $2,951.94 $3,151.94 w/10MB w/20MB APPLE lie Toirtl W T+* EPSON PRINTERS Unbelievable Low Prices!!! $$&» *Jllff , '"'*' l" ' LX-80 80COL7100CPS FX-85 80COL/160CPS FX-185 132COI./160CPS LQ-1500 132COL/200CPS $199.00* 299.00* 429.00* 799.00* MACINTOSH SYSTEMS 64K IBM PC MEMORY EXPANSION KITS Quantity Discounts Available. ^*. Guaranteed for Life! ^ Jgt ^k ^Bm ^P? *»■' Quantity of ^r ^' \J.yD perset Set of 9 Chips $5.40* CALL TOLL FREE 1-800-621-S-A-V-E In llhncHS call (312) 280-0002 Your Membership Validation Number B3Z5 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. S\ 7 30 AM to 9 PM. SAT 9 AM to 7 PM CST V PERSONAL COMPUTER NETWORK 320 West Ohio II Chicago, Illinois 60610 Call now Join the PC NETWORK and start saving today 1/2 HEIGHT DS/DD DISK DRIVES The Network buys direct and makes fantastic deals with manufacturers like Tanoon/ CDC/ShugaM/CJume/TEAC/ Hi- Fech and others to bring you tarfastic prices on Name Brand drives tor your PC/AT/XT iyl or Compatible $59.00* Quantity Discounts Available INTERNAL PC HARD DISK Low Power /Automatic Boot Works on standard PC's and Compatibles Includes dnvt /controller /cables.' mounting hardware and instructions Full one vear warranty 1 10MB $330.00* 20MB $420.00* Quantity Discounts Available L'H/I=GA Bernoulli Box Dual 10MB Drives $2,200.00* TALLGRASS TG-5025 25MB Hard Disk with 60MB Tape Backup $2,375.00* DISKETTES Guaranteed for Life! Brand name diskettes available in boxes 10 or in bulk packs of 50 inFoconv $20.00* $20.00* $22.00* $22.00* Available for IBM, APPLE & MACINTOSH ■P Lotus $265.00* WordlWect $190.00* MultiMate" 'Members pay 8% above this wholesale price plus shipping. MICROSOFT Flight Simulator The World's most popular computer game with Lifelike 3-D Graphics and 100% realistic simulation $27.00* GAT© APPLE & IBM Captain Your own submarine Great graphics! $18.00* PC NETWORK GOES TO THE 'ttlUJCT How do you suppose most manufacturers of persona! computer products get started? They go to the Orient . . . taking either their designs or simply their ideas to one or more of the major electronics manufacturing concerns, getting bids for making these devices under contract to the creators. Multifunction Cards, Video Cards, Disk Controllers, Modems and I/O Boards all begin their life in this way. This relationship between the manufacturing capabilities of the East and the design and marketing talents of the U.S. has resulted in the incredible selection of enhancement products for the IBM and Apple computer markets. Well, with 100,000 members and growing strong, The Network sent its buyers east to visit some of these manufacturing concerns to check out the feasability of directly importing these products in the necessary volumes to save our members money.' What they came back with was astounding. Now, we always figured that there were some pretty substantial markups as these boards came into the country and got fancy boxes and marketing promotions under any one of a number of well known brand names in the peripheral add-on markets but we had no idea they were so large.' To prove our point, consider what they brought back. Each board is constructed to the same precise specifications, on exacdy the same machinery as their name-brand duplicates. The difference?^ a Network member, you pay only #% over our unusually low wholesale price. . . and you get our full 1 year warranty! Hercules' Smarter Brother A Monochrome Graphics Card with Printer Port . . . 100% compatible with Hercules product . . . Graphics Printer Interface If all you want is a printer, this is the card for you. Supports all text and graphics printer features. Wholesale price .. . $9Q t%t%* The "9" Pack Plus Multifunction like the AST "6" Pack ... up to 384Kb of expansion memory, 1 serial, 1 parallel, and 1 game port, a clock/ calendar and 3 software packages standard. IBM Color Card 100% compatible with the IBM offering. The wholesale price? $69.00' The I/O Double Plus If you don't need memory — just ports, identical I/O board to the AST I/0+ with 2 serial, (1 standard) 1 parallel, 1 game port and clock/ calendar with software. Wholesale price $69.00' With K $89.00 Wholesale 512 K Memory The least expensive way to add memory to your current system. With K installed. Wholesale priced at only . . .$69.00 Watch our Network ONLINE listings for new products in this ORIENT DIRECT line for the Apple II and IBM AT computer families. •PC NETWORK Members pay just 8% above this wholesale price, plus shipping. All prices reflect a 3% cash discount. Minimum shipping $2.50 per order. Internationa! orders caltfor shipping & handling charges . Personal checks: please allow 10 working days to clear. CALL TOLL-FREE 1-800-621-SAVE CHEZ ORK (312) 280-0002 GET THE NETWORK ADVANTAGE!!! COMPUTER CONFERENCING CROSS-SYSTEM CONFERENCING WITH CLACR BY Sherwin M. Levinson Microcomputers may offer a way to link systems and cut costs MOST PEOPLE HAVE probably used one or more electronic mail systems, bulletin-board systems (BBSs), or computer conferencing systems (CCSs). As on-line communications systems proliferate, many barriers make it difficult for any individual to regularly use more than a few of them. If you know people on several different systems, it may be hard to keep track of who is on which system. Also, command structures are incon- sistent from one system to the next. Then there's the cost. To reach all the people you want, you need to access a number of systems that may charge for connect time, involve extra phone charges, or both. By linking systems you could have a broader base of potential con- ference participants without the dif- ficulties described above. You could communicate with a large pool of people who closely match your own specific interests without having to remember which system they are on or what the command structure for that system is. Any solution to the problem of linking systems must also take cost factors into account and pro- vide an affordable means of commu- nicating across systems. What 1 propose is a personal com- puter communications program that provides timed automatic log-on to multiple systems, offers an index of in- coming messages according to pre- specified categories, and allows the organization of computer conferences that span multiple BBSs, CCSs, and electronic mail systems. Cross-system conferences should be accomplished with no additional effort on the part of the conference's organizer or any of its members by porting the con- ference entries from each host system to all of the other systems where the conference is taking place. I call the proposed software I will describe here the Conference Linker and Cost Reducer (CLACR). As the name implies, CLACR (pronounced "clacker") is intended to link con- ferences taking place on separate sys- tems and to reduce the cost of using messaging systems. It also aims to ad- dress the other barriers to use de- scribed above. The design goals for a full imple- mentation of CLACR are as follows: 1. To make possible a computer con- ference whose participants span several different computer confer- encing systems. 2. To make possible true computer conferencing on BBS and electronic mail systems. 3. To reduce the cost of participating in computer conferencing; especially, to reduce the cost sufficiently to make up for the additional cost of copying conference entries from one system to another. 4. To make participation on numerous different systems easier by providing a consistent user interface; to make that interface one that can be tailored to each user's preference. 5. To make the process of composing, sending, retrieving, and organizing messages easier. 6. To let users communicate with any other users without needing to remember what conferencing systems [continued) After a 1 3-year management career, Sher- win M. Levinson left big business to devote full time to his consulting practice. He can be reached at POB 888231. Atlanta, GA 30356. DECEMBER 1985 -BYTE 273 CLACR they are on or what IDs they use on those systems. 7. To operate effectively without any changes required to the host messag- ing systems themselves. The list is certainly ambitious, but it's quite possible to do using established programming techniques. To accomplish these goals. CLACR must maintain a database containing several different tables of information. These are System Data for each remote system used. User Data for each user involved in correspon- dence, Conference Data, Message Pointers, Message Text, Inbox pointers to messages received but not Table 1: The System Data table contains essential information about each remote system. Internal system code For each access method (different networks, direct dial): Phone number Sequence required to connect to target system Unique costs Log-on sequence (account, password, etc.) Type of system (BBS, CCS, or electronic mail) Commands to reach BBS, CCS, or electronic mail system Cost details by data-transfer rate, time of day, day of week, etc. Holiday schedule Downtime schedule Activity history Effective data-transfer rate history Cost history Maximum weekly cost Use history (e.g., average messages retrieved per session) Desired frequency of message retrieval Command translation table Table 2: The User Data table contains necessary data for each person involved in correspondence. Internal user code User nickname "Real" name For each system where this user is active: Internal system code The user's name on that system Optional, address, phone numbers, comments, etc Table 3: The Conference Data table contains all the information necessary to organize and manage a conference. Message number and author's internal user code together uniquely define this conference and point to the text of the opening statement stored in the Message Text table. Message number Author's internal user code Conference nickname List of addressees and system where each invitation was sent Public or private List of joiners and system from which each joiner participates List of conference organizers read, and Outbox pointers to mes- sages to be transmitted (see tables 1 through 7 for detailed contents). These tables contain the information CLACR needs to achieve its goals. Message Format CLACR is to be designed so that the organizer of a cross-system con- ference is the only one who absolute- ly must have CLACR. In fact, members of the cross-system conference who participate in a computer confer- encing system don't even need to know that there's anything unusal about their conference; to them it will just seem that there's a higher level of activity than usual and they'll notice that some of the entries have a few odd lines at the top. CLACR expects the first couple of lines of the body of each cross-system conference entry to conform to a specific format. The standard CLACR message format can be used on any messaging system and provides infor- mation about message routing and message type on the first line of text. Messages imported by CLACR also contain a second line describing the origins of the message. Because the CLACR header information is part of the message text as far as the host system is concerned, CLACR mes- sages are totally transparent to the host system. This scheme doesn't sig- nificantly detract from the message's readability for those not using CLACR, and it allows CLACR to scan messages as they're being received to deter- mine if they are to be saved by CLACR. Message types include the follow- ing: conference entries, requests to join, requests to leave, conference in- vitations, requests for a joiner list, and private messages. As shown in table 4, each message pointer contains a message number and message author. If individual systems cannot be relied on to provide some mes- sage identification that is at least unique to that author on that system, CLACR could provide message num- bers such that the message number and message author information [conlinued] 274 BYTE • DECEMBER 1985 VTERM. THE FASTEST \SAY BACK. i_ Tfektronix VTERM n AND VTERM/4010: FOR VT100 AND TEKTRONIX™ 4010 EMULATION, AND THEN SOME. More and more people make the trip every day. Often several times. They're off to the VAX for a session or a file, then back to PC-DOS. That's why we wrote VTERM -the fastest, most advanced communications program for PC users who communicate with VAXes, and other minis or mainframes. Of course, VTERM starts with everything you'd expect from state-of-the-art terminal emulation software. Like full keyboard emulation. Macros. Disk capture. Unlimited setup files. Printer support. True plug compatibility, so you can run any VT100 or Tektronix 4010 pro- gram right from your PC keyboard. MAKE YOUR PC FLY. But then VTERM goes beyond everything else on the market. With a Hotkey that instantly toggles between host and DOS ses- sions while preserving your terminal screen and communica- tions link. That means you can run host and local programs al- most simultaneously. And because VTERM is written in assembly language, you get full throughput at 9600 baud TO THE VAX Coefficient With VTERM, there's nothing to get in your way or slow you down. It's easy to use, yet packed with time-saving features. Like backscrolling, which redisplays up to 80 scrolled- off screens. And horizontal scrolling, which emulates 132-column display. (Of course, VTERM provides true 132-column display with an optional video board.) KERMIT FILE TRANSFER AND MORE. VTERM delivers the most powerful file transfer system available with any general communications package. You get four error-correcting protocols including XMODEM and Kermit, the emerging micro-to-mainframe standard from Columbia University. And you also get VTRANS, a remarkably easy-to-use file transfer system that transmits any file under local or host control. It even comes with ready-to-run host software for UNIX and three DEC operating systems - VMS, RSTS/E, andRSXll-M/M + . So why waste time? Call Coefficient Systems Corp. to order your copy of VTERM today. Coefficient Systems Corporation, 611 Broadway, New York, New York 10012, (212) 777-6707, Ext. 221 © 1985, Coefficient Systems Corp. TM signifies manufacturer's trademark. Inquiry 62 DECEMBER 1985 • BYTE 275 CLACR together uniquely identify any message. Participants on a BBS will need to understand those odd lines placed at the top of the messages by the con- ference organizer's CLACR program (if they're to fully appreciate the discus- sion] because these messages will be interspersed with the normal message traffic of the BBS. They'll also need to Table 4: The Message Pointers contain the header information needed to identify a message. CLACR uses this information to assemble the CLACR header if the message is being sent to a BBS or electronic mail system. Message number Location of text Length Subject Author's internal user code System of origin Addressees (individuals or conferences) For each addressee: Date/time to be sent Date/time actually sent Is acknowledgment requested? Is reply requested? Table 5: The actual text of a message is stripped of any CLACR header lines and stored in the Message Text table. Use of separate pointers and text speeds identification and retrieval of message text. Message number Length Text Table 7: The CLACR Outbox contains pointers to messages to be transmitted. Message number Location of text Author's name on destination system Destination system Addressees (individuals or conferences) For each addressee: Date/time to be sent Date/time actually sent Is acknowledgment requested? Is reply requested? Table 6: The CLACR \nbox contains pointers read. to messages received but not yet Message number Location of text Length Subject Author's name on system of origin System of origin manually enter such lines in their own messages if they want them ported to the other systems hosting the con- ference. Of course, if they too were using CLACR, all these things would be taken care of automatically and they would receive their BBS mes- sages organized by conference rather than strict chronology. A cross-system conference would appear most foreign to those par- ticipating from an electronic mail system because by its nature a mail system forces all such conferences to be private. Again, CLACR would be helpful but not necessary to such con- ference participants. They could add their own comments to the con- ference by manually entering a header line showing the conference to which the comments are directed and then sending the message to the conference organizer. The organizer's CLACR would forward the message not only to the conference members on other systems but also to those on the same electronic mail system. Since virtually all messaging systems provide your name as part of the message header, this need not be repeated on the first line of the text. (For internal purposes, once a mes- sage has been received, CLACR uses the unique internal user code as found in the User Data table based on the system of origin and the message author's name on that system.) The first line of text in a message conform- ing to CLACR's specifications contains a two-character combination identify- ing a CLACR header line, message- type code, message number, message number of target conference, urgent flag, reply-requested flag, acknowl- edgment-requested flag, type- dependent information such as sub- ject or title of conference, and checksum (optional if the header was created manually). The actual messages received dur- ing a connect session are scanned as they are received to check for a CLACR header line. If the CLACR header line is present and contains a checksum, the checksum is verified; if verification fails, CLACR requests the (continued) 276 BYTE • DECEMBER 1985 To keep yourself from being burned to a crisp by a fire-breathing dragon, just cast a nitfol spell. Oops. Make that agondar spell. ne moment you're slipping the first disk of The Enchanter Trilogy in your computer— the next you're a novice magician, chosen by fate to battle an evil that threatens the I very foundations of magic. And since you're the main character, every decision I you make will determine the story's out- come. Suppose, for instance, that when faced with a giant fire-breathing dragon you decide to cast a nitfol spell, which allows you to converse with beasts in their own tongue. You simply type, in plain English: >CAST THE NITFOL SPELL ON THE DRAGON And the story responds: THE DRAGON PAUSES AND ROARS OUT A BENEVOLENT GREETING, WHICH, TO YOUR CHAGRIN, FRIES YOU TO A DELICATE CRISP. YOU HAVE DIED. Suppose, on the other hand, you decide to invoke a spell that quenches open flames: >CAST THE GONDAR SPELL ON THE DRAGON In that case the story responds: THE DRAGON'S FLAME IS DOUSED IN A TORRENT Of RUSHING WATER. IT DISAPPEARS WITH A TORTUOUS SCREAM. As you pro- gress from each story in this spellbinding trilogy to the next, the dangers you must face, the spells you must ' learn and the puzzles you must unravel grow to thrilling proportions. But so will gf your powers. Conquer the ■ * evil that lurks within all threeT and you'll be elevated from sorcerer's apprentice to Leader of the Circle of Enchanters. And along the way you'll face situations that are as lively as the text that describes them: YOU FEEL VERY FUNNY, SORT OF SQUASHED AND PUSHED AND SQUEEZED. YOUR SURROUNDINGS ARE WAVERING, THEN GROWING, THEN WAVERING AGAIN. THE FEELING VANISHES, BUT YOUR SURROUNDINGS ARE TEN TIMES THEIR FORMER SIZE... OR IS IT THAT YOU ARE ONE-TENTH YOUR FORMER SIZE? Infocom addicts think The Enchanter Trilogy is our best work ever. So aimfiz yourself into your local software store today. And let it cast its spell on you. Progress from Standard Level ENCHANTER* to new Expert Level SPELLBREAKER™ and vou'U gain the powers of a true Sorcerer. inFocom © 1985 lnfocora. Inc. SORCERER and SPELLBREAKER are trademarks of Infocom. ENCHANTER is a registered trademark. For more information call l-8O0-262-«8()8. Or write to us at 125 CambridgePark Dr.. Cambridge. MA 02140 .vailable for most personal computers. Inquiry 178 n CLACR system to resend that particular mes- sage. Once a valid CLACR header line has been received, the message is saved if it is directed to a conference that is organized or joined by the owner of this CLACR system. CLACR also checks if the acknowledgment- requested flag is on and, if so, im- mediately places an acknowledgment- of-receipt message in the Outbox. If there is no CLACR header line present, CLACR can scan the entire text for sets of keywords that you have specified to identify non-CLACR mes- sages of interest. In this way CLACR could even scan for messages that might be relevant to ongoing con- ferences. It might also be desirable to Atron's PC/AT Bugbusters Hardware-assisted Software Debuggers for Bullet-proof PCI AT-based Products A BUGBUSTER STORY Brad Crain, a project manager at Software Publishing (the people who developed both PFS:WRITE and PFS: FILE), relates the follow- ing: "On Friday, March 22, 1985, I was about to get on an airplane with Jeff Tucker, who was co- author of PFS WRITE with me, and fly to IBM's Boca Raton, Flor- ida facility. For a week, we had been unsuc- cessfully trying to isolate a bug in a new software product. In a last, desper- ation move, I set up an early-Saturday morning appointment with ATRON. "Three of us walked through ATRON's door at 8:00 the next morning. Using ATRON's hard- ware-assisted debugging tools, we had the prob- lem identified and fixed by 10:30AM." Mr. Crain concludes: "We'd never have found the bug with mere software debuggers, which have the bad habit of getting over-written by the very bugs they're trying to find. It doesn't surprise me that almost all the top-selling soft- ware packages were written by ATRON customers. Now that they've broadened their PC family of debuggers to include a PC/AT debugging tool, those of us seriously into 80286 development are greatly relieved." ARE YOU TRYING TO DO SOMETHING SCAREY? Like developing your AT-based software product in the dark? Without professional debugging tools? Seven of the ten top-selling software packages listed by the THE WALL STREET JOURNAL* were produced by ATRON customers. The PC PROBE™ bugbuster ($1595) accounts for much of this success. Now that the PC/AT is the new standard for advanced commercial and scientific development, ATRON is proud to announce the AT PROBE™ bugbuster ($2495). It has even more debugging capabilities than the PC Probe. 1 119 2 30 3 3 96 * 2 46 5 1 ! .s « 6 45 7 7 m • < 134 » 9 96 10 15 2 11 12 56 12 10 139 IS 11 136 14 13 56 is 24 7 1« 1 17 16 17 N 18 23 19 19 36 10 20 39 21 14 17 12 26 47 23 21 33 24 1 25 » 22 26 22 4) 27 25 1.14 21 2» - 30 " ■ 1 Lyn HOW BUGBUSTERS KEEP YOU FROM GETTING SLIMED The AT PROBE is a circuit board that plugs into your PC/AT. It has an umbilical which plugs into your 80287 socket and monitors all processor activity. Since AT PROBE can trace program execution in real time, and display the last 2048 memory cycles, you can easily answer the questions: "How did I get here?" and "What are the interrupts doing?" It can solve spooky debugging problems. Like finding where your program over- writes memory or I/O - impossible with soft- ware debuggers. You can even do source-level debugging in your favorite lan- guage, like C, Pascal or assembler. And after your application is debugged, the AT PROBE'S perfor- mance-measurement software can isolate your application's bottlenecks. Finally, the AT PROBE has its own 1 -MByte of mem- ory. Hidden and write-protected. How else could you develop that really large program, where the symbol table would otherwise demand most of your PC/AT memory. BORLAND'S PHIUPPE KAHN: "THERE WOULDN'T BE A SIDEKICK™ WITHOUT ATRON'S DEBUGGERS." So why waste more time reading though your program listing for the ten thousandth time, trying to find why your program starts howling with every full moon. Be like BORLAND, get your Atron bugbuster today and bust bugs tomorrow. THE DEBUGGER COMPANY 20665 Fourth Street • Saratoga, CA 95070 408/741.5900 •WSJ. June 24. 1985. reporting Softie I figures. C I9B5 by ATRON, PC PROBE" Did AT PROBE" ATRON SIDEKICK" Borlind IBM Corp o mmeroui ir»dem»rks. Ad by TRBA allow a provision to always skip mes- sages that contain certain keywords or were authored by certain users. Once all incoming messages have been received, CLACR reviews the contents of the Outbox and sends all messages that are destined for this system and that do not indicate a delivery date and time later than the current date and time. As each mes- sage is sent, it is removed from the Outbox. This is also when any special commands are sent to the host sys- tem for execution; these would in- clude such functions as deletion of old entries, modification of access permissions, modification of con- ference joiner lists, and so on. CLACR adds a second header line to the messages it ports to other systems. This line identifies the author of the message, the system where it originated, and the date and time of its entry. Inbox Processing While CLACR is connected to a remote system, messages that are to be saved are placed in an input buf- fer where they're held until after CLACR disconnects. They are then scanned to create the Inbox, Message Pointer, and Message Text entries as well as a portion of the Outbox. The Outbox is key to cross-system con- ferencing because through it con- ference entries made on one system get to all the others where the same conference is active. Likewise, special CLACR messages representing requests to join or leave a conference or to get a copy of the full list of conference members are processed at this stage. Exactly how these are processed depends on the types of systems where the con- ference is active (BBS, CCS, or E-mail) and whether the conference is public or private. These concepts are dis- cussed further in the next section. When input-buffer processing is complete, you are notified that there are messages in the Inbox. These may be retrieved in various ways, including by keywords, by author, by subject, by system of origin, and by conference. [continued) 278 BYTE • DECEMBER 1985 Inquiry 28 AT™ Pfantasies for your PC or XT.™ Want better speed and memory on your PC or XT without buying an AT? You've got it! Phoenix's new Pfaster™286 co-processor board turns your PC or XT into a high- speed engine 60 percent faster than an AT Three times faster than an XT. It even supports PCs with third-party hard disks. But that's only the beginning. You can handle spreadsheets and programs you never thought possible. Set up RAM disks in both 8088 and 80286 memory for linkage editor overlays or super-high-speed disk caching. All with Pfaster286's lmb of standard RAM. expandable to 2mb, and dual-mode design. You can develop 8086/186/286 software on your XT faster. Execute 95 percent of the application packages that run on the AT, excluding those that require fancy I/O capabilities your PC or XT hardware just isn't designed to handle. Queue multi-copy, multi-format print jobs for spooling. Or, switch to native 8088 mode to handle hardware-dependent programs and back again without rebooting. All with Pfaster286's compatible ROM software. And, Pfaster286 does the job unintrusively! No motherboard to exchange. No wires to solder. No chips to pull. Just plug it into a standard card slot, and type the magic word. "PFAST" If you really didn't want an AT in the first place, just what it could do for you, call or write: Phoenix Computer Products Corp.. 320 Norwood Park South, Norwood, MA 02062; (800) 344-7200. In Massachusetts, 617-762-5030. Programmers' Pfantasies™ XT and AT are trademarks of International Business Machines Corporation. Pfasicr286 and Programmers' Pfantasies are trademarks of Phoenix Computer Products Corporation For the Ferrari aficionado: yes. we know this is a rear engine car. We are showing the addition of a second engine to symbolize how Pfastcr can be added to your PC or XT to increase performance Inquiry 284 DECEMBER BYTE 279 CLACR The number of messages falling into each of these categories may also be displayed. You may store several stan- dard Inbox processing methods and choose the desired one each time the Inbox is reviewed. As each message in the Inbox is dis- played, you may compose a reply and specify that it be directed privately to the message author, to the conference, or both. Of course, it's not necessary to reply, but CLACR will remind you to do so if the reply-requested flag is on. You may forward the message to other individuals and conferences, adding comments if desired. The mes- sage may also be left in the Inbox, either specifying a category or having it by default held in a "pending" category. Finally, action on the mes- sage may be deferred until some future date and time, in which case it is kept in the Inbox but not displayed until the specified date and time. For each message in a conference you organize, you are asked if the message is to be ported to the other systems where the conference is ac- tive. While porting would normally be chosen, you have the option of not porting all notes. This can help avoid duplication and keep costs down. If porting is approved, appropriate Out- box pointers are created. Then the next time CLACR is connected to each of these systems, the appropriate messages are transmitted. In this way all the discussion from all the systems where this conference is active ap- pears on every one of these systems. The final action on each message is to specify whether it is to be kept in the Message Text table (and Message Pointer table) or purged. If it is to be kept, a retention period may be specified: a default retention will apply if none is specified. Regardless of the retention period chosen, any message for which an Outbox entry exists will be held until the Outbox entry is cleared. A simple full-screen editor would be available when you want to enter replies and new messages. Since mes- sages destined for electronic messag- ing systems are usually brief, the CLACR editor is relatively unsophis- ticated. Still, it would be far more usabie than the line editor typically found in messaging systems, and it would be easier to learn, since the same editor would be used for all systems. New messages may be addressed to any combination of users and con- ferences. And here is where one of CLACR's most valuable features comes into play. Addressees are specified by conference or user nicknames of your choosing: you need not keep track of the proper [continued] MSCLAT1 FxMYr^KVj users can share the advantage to LATI, Just take off your main KAYPRO board and put LAT1-K into your cabinet. All advantage of LATI is yours now/ MSCMTC ZENET NETWORK through twist pair • 6Mhz HD64B180 (Z80 upward compatible ) 51 2K byte on board (256K installed, 384K RAM DISK) • LANZENETport 800K baud CSMA CD twist pair bus type upto 500 meters HDLC • Floppy: 3.5, 5 and 8 inch, d/s density, d/s sided and dls track automatic desity/format checking • Hard disk: SCSI interface on board • Video: 80 X 24 characters (color) and 640 X 200 pixies color graphic 1 28K byte video RAM character set is dowloaded from disk • Timer: battery back up calendar WORLD SMALLEST COMPUTER • Full personal CPIM system in palm 4mhz Z80 256K • OS.: CP/M plus bank version CP/M plus BIOS source code available • Completely faster than other Z80SBC MSC-MTC/P Full assembled pcb of MTC Under $189 in OEM quantity ^ Full featured CP/1M plus system • Z80 4mhz 1 28K Byte RAM Floppy: 3 5, 5 and 8 inch d/s density, d/s sided and d/s track upto 4 disk drives Automatic density/ format check • Serial: RS232CX 2 • Pararell Centronics type, 16 bits I/O, 7/8 bit keyboard port • Timer: battery back up calendar • Video: 80 X 24 high speed CRT controller • OS.: CP/M plus bank version included • Size: 10X6 inch 4 layered • BIOS source code available • DRI CP/M plus manual $50 • New word word processor program for MSC-ICO ADD $50 • Completely faster than other Z80SBC^ MSCHCS ^P Distributors England-Quanta systems Denmark-Danbit Finland-BB Soft India-Betamatix PVT Ltd. — — Manufacturer and international distributer 01253 8423 SOUTHERN PACIFIC LIMITED 03-662020 Sanwa Bldg.. 2-16-20 Minamisaiwai, Nishi, Yokohama. JAPAN 220 90-692-6297 Phone: 045-314-9514 Telex: 3822320 SPACIF J 0812-71989 Advanced single board computer technology company Expansion card tor ICO RAM disk (upto 2M byte) and SCSI hard disk interface card for ICO with installation program USA distributer ■ SOUTHERN PACIFIC COMPUTER PRODCTS U.S.A., INC. PO.BOX 4427, Berkeley. CA 94704-0427 U.S.A. . Phone 415-253-1270 Dealer and distributer inquiries welcome 280 BYTE • DECEMBER 1985 Inquiry 338 DOES YOUR HI-RES GRAPHICS BOARD SHOW YOU ONIY PART OFASPREADSHEE When it comes to printing out spreadsheets, most IBlVTcompatible graphics boards come up short. But not the Genoa Spectrum™ Color/Mono/Graphics Board. what you're doing. On the screen. And on paper. But the best part is, you don't have to pay more to do it. Here's why: Up until now, if you wanted The Spectrum Color/Graphics Board is the most compatible board you can buy. Which means it runs the most software. Including Flight Simulator"' Lotus' 1-2-3™ Symphony™ SideKklC PC Paint,™ and much, much more. It goes all the way to 132 columns. The largest text display of any graphics board you can buy There's even a special driver that'll show you 132 columns of Lotus, which normally only has 80. And together with your 132- column printer, the Spectrum can also print every one of those 132 columns. So you can see more of Spectrum is a trademark of Genoa Systems Corporation. © 1985 Genoa Systems Corporation. Inquiry 152 both graphics and color, you had to buy two boards. One for hi-res mono graphics, one for color But the Genoa Spectrum puts color and graphics on the same board. So you save yourself a slot. And about $250. You can also save yourself the price of a color monitor. Because Spectrum will emulate your color software in monochrome. And for your monochrome software there's a 720x348 hi-res mode. So either way, you're covered. Spectrum is compatible with all color and monochrome monitors. So you'll always get 16 beauti- ful colors in color. Or 16 shades of monochrome in mono. For all the technical specs or the Genoa Spectrum dealer nearest you, just call us at 408-945-9720. Or write Genoa Systems Corporation, 73 E.Trimble Road, San Jose, CA 95131. The Genoa Spectrum. It's the only board you'll ever need for color, graphics, and full size output. Anything else is either too much money or incomple Genoa We make IBM PCs better DECEMBER 1985 -BYTE 281 Inquiry 47 for End-Users. Inquiry 48 for DEALERS ONLY. BUILD YOUR OWN IBM XT & IBM AT COMPATIBLE SYSTEMS Introducing XT-16 Self-Assembly Kit At Super Low Cost • Including 640K XT-16 CPL Mother Board, Color Graphic Card. Floppy Controlle r, One DS/D D Slim Drive, Flip-Top Case, 13S W Power Supply. Keyboard. Assembly Instruction, and User's Svstem Manual ONLY $775.00 XT, AT CASE • Same Dimension as IBM PC/AT • For IBM PC/AT & Com- patible Mother Boards $115.00 • Flip-Top For Easy & Quick Access to Inside • IBM Jtofc&Ude-In Case Alsi $69.1 XT, AT POWER SUPPLY XT-1.55W (SideOr Rear Switch: XT- 1 50 W AT- 200 W $ 89.00 $115.00 $165.00 XT, AT KEYBOARD \T— LED for Cap Lock & Num. Lock Big Return Kev & Shift Ke\ $^9.00 -Same Layout as IBM PC/AT S 10900 XT. AT MOTHER BOARD XT-16-II MOTHER BOARD • IBM PC/XT Fully Compatible • 8088 Microprocessor w/8087 Optional • 8 I/O Slots, up to 640K on Board Assembled & Tested w/BlOS With 256K on Board $265.00 With (wOK on Board $349.00 AT- 3 2 CPl Mother Board • IBM PC/AT Fully Compatible • 80286 Microprocessor w/80287 Optional • 6-tOK Standard, Upgradable to 1 MB on Board • On Board Clock Calendar • 8 I/O Slots $Call PC/AT ADD-ON CARD • ATS 1 MB Memory Card $Call • ATS 1.5 MB Multifunction Card SCall • ATS Hard & Floppy Drive Controller $Call • PCP-128 Eprom Programmer $139.00 • Disk I/O Card (handle 2 Floppy Drive, Serial 2nd Optional), Parallel. Game, Clock w/cables & Software $149.00 • Color Graphic Card $ 95.00 • Floppy Disk controller ( handle 4 drives) $ 59.00 • Multi-Function (OK) $139.00 • OEM Dealers Welcome • Please Call For Our Special Dealer Price C.J. COMPUTERS CORP. (Manufacturer & Distributor) 2-124 W Ball Road, STE B Anaheim, CA 92804 Mail Order HM Line: ("14) 82 1-8922. ("14) 821-8923 (IBM is a trademark of International Business Machines Corporation) 282 BYTE • DECEMBER 1985 CLACR destination systems— this information is retrieved by CLACR from the User Data and Conference Data tables. Either of these tables could be scanned through windows during message creation and editing. Cross-System Conferencing Several concepts have already been alluded to without being fully ex- plained. There are certain basic func- tions present in any viable computer conferencing system regardless of what the system authors choose to call these functions. So while one sys- tem may use the command COM- POSE, another WRITE, and a third SAY, all three mean the same thing: Accept text that, once entered, is to be made available to particular other users of the system. This function re- quires that the system be told to whom the text is to be made avail- able, the subject of the transmission, and the text itself. Recognition of the list of basic func- tions is essential to our design because CLACR must provide a way to accomplish each of these on any system it uses. The basic functions available to all users include message creation, message addressing, mes- sage retrieval (both new and previous- ly received), message deletion, join- ing and leaving conferences, access- ing lists of joiners, and finding active conferences. Functions available to conference organizers include con- ference creation, management of con- ference access, management of reten- tion periods, and deletion of con- ferences and individual messages. That is far from a complete list, but it conveys the idea of what basics must be accomplished in any viable conferencing system. Some of these basic functions assume other com- ponents. For example, message crea- tion assumes the ability to edit text that's already been entered, to retrieve and use text of previous mes- sages, to forward received messages to other users, and so on. The User Interface The first step in designing CLACR's user interface is to provide a CLACR command for each of the basic func- tions. Ease of use dictates typical design considerations such as the ability to perform any function with a single command, the ability to pro- vide user-defined synonyms for each command, recognition of the shortest unique abbreviation for commands, display of a list of possible choices when a nonunique abbreviation or possible misspelling is entered, the availability of context-sensitive help, and, perhaps, a dual menu-driven and command-driven interface that lets you graduate to the briefer command- driven interface (once you have learned the command set) but still provides guidance when needed. The set of basic conferencing func- tions is directly available on a com- puter conferencing system. However, if you are to extend conferencing to BBS and mail systems, the effects of some of these commands must be synthesized. Further, for a conference that spans several systems, even if these are computer conferencing sys- tems, some of the native commands would not reflect the full extent of the conference. For example, the com- mand to display the list of those who have joined the conference would only display those members who reside on that particular system. The most important aspect of a cross-system conference is making available to all the members of the conference the entries of all other members. This is relatively easy. As part of Inbox processing, when CLACR receives entries in any con- ference, the Conference Data table is scanned to determine if you are the organizer of that conference. If not, the entry is handled as any normal received entry. But if you are the con- ference organizer, then (with your per- mission) pointers are added to your Outbox indicating that this entry is to be sent to each of the other systems where this conference resides. If a target system is a traditional electronic mail system, a mailing list is created using the list of joiners from the Con- ference Data table. You can control what does and does [continued) "It's easy to spot the difference between our IBM PC-based frame grabber and the others'.' High performance and affordable cost, just $1495 for a single plug-in board. Unlike other video I/O sys- tems, the new DT2803 provides real-time image capture capabil- ities, digitizing a 6-bit video field every 1/30 second. An on-board, memory-mapped, dual-ported frame store memory (256 x 256 x 8) makes it ideal for the IBM PC's 64K buffer size. And for real number crunching, SPECIFICATIONS: DT2803 A/D Input RS-170 (CCIRR). 6-bitsat5MHz Frame Grab 1/30 (1/25) second per field LUTs 8.64 x 8 input: 4,256 x 12 output D/A Output 64 colors x 64 intensities. R-G-B; 64 grey levels, monochrome Frame Memory 256 x 256 x 8 (2-bits for graphic overlays) the DT2803's external ports interface to high speed co-processors. With our software package, VIDEOLAB,™ the DT2803 is easy to use for image operations like aver- ages, histograms, and convo- lutions. So, if your application is manufacturing/automatic inspec- tion, robotics, or medical research, our new high per- formance video I/O board will really open your eyes -at an unbeatable price. Call (617) 481-3700 Call for our new 576 pg. catalog/ handbook or see it in Gold Book 1985. DATA TRANSLATION World Headquarters: Data Translation, Inc., 100 Locke Dr., Marlboro, MA 01752 (617) 481-3700 Tlx 951 646. European Headquarters: Data Translation, Ltd., 13 The Business Centre, Molly Millars Lane, Wokingham Berks, RG112QZ, England Tlx: 851849862 ( #D) In Canada: (416) 625-1907. IBM PC is a registered trademark of IBM. VIDEOLAB is a registered trademark of Data Translation, Inc. Inquiry 107 DECEMBER 1985 'BYTE 283 inquiry n tor tnd-users. inquiry a tor DLALtKS ONLY. DECEMBER 1985 • B Y T E 285 CLACR urgent. That way you can take note of any changes in the remote system's prompts or responses, any special an- nouncements about downtime or ac- cess numbers, or any failures in the automatic message transmission and retrieval and take corrective action if necessary. While some of these ex- ceptions can be eliminated by error- correcting protocols like X.PC, excep- tions such as system announcements cannot. Whenever a choice is available, CLACR should be set up to use the "brief" or "expert" modes of the target systems, thereby minimizing the number of characters transmitted and received and. consequently, the cost of connection. Conclusion Of course, the proposed CLACR soft- ware would still require some human intervention. But I believe it would make cross-system conferencing possible at a lower cost and with far less effort than with any existing microcomputer software package. At the time of this writing, CLACR is no more than a dream. But if other peo- ple find the idea anywhere near as exciting as I do, it may soon be a reali- ty, opening the benefits of computer conferencing to thousands and even millions who previously found it too complicated or too expensive. ■ FREE SHIPPING ON ORDERS OVER $100 HEWLETT-PACKARD 1 Series $15.00 Rebate on HP-12C HP-11C Scientific $ 55.95 HP-12C Financial » 47.95 HP-15C Scientific J 47.95 HP-16C Computer Science $ 67.95 Solutions Books HP-11C Solutions $ 15.00 HP-12C Real Estate i 15.00 HP-12C Leasing $ 15.00 HP-12C Cash Flow Analyzer $ 32.95 HP-15C Advanced Functions $ 15.00 •Good thru 12/31/85 HP-41CV HP-41CX 82059D 821 04A 821 20A 821 60A 82181A 92266A NEW 41-15004 41-14005 41-14006 41-15055 40 Series Scientific $ 169.95 Scientific $ 239.95 Accessories Battery Recharger $ 16.00 Card Reader $ 150.15 Battery Pac t 28.00 HP-IL Interface t 96.25 Extend Memory $ 60.00 Extended Use Battery $ 39.95 Software Math/Statistics Pac t 36.00 Financial Decision i 28.00 Surveying t 26.00 Circuit Analysis $ 36.00 Advantage Rom $ 39.95 HP-71B HP-75D 82400A 62401A 62420A 82441 A 624S3A 82490A 921 98A 62469A AT&T HEWLETT-PACKARD HEWLETT-PACKARD 70 Series Handheld Computer $ 369.95 Handheld Computer $ 658.75 Peripherals Card Reader $ 127.05 HP-IL Interface $ 96.25 4K Memory Module $ 60.00 FORTH Assembler $ 115.50 Surveying $ 115.50 41/71 Translator Pac $ 96.25 IL 80 Column Interf i 250.25 Statistics Pac $ 96.25 HEWLETT-PACKARD Additional Items VECTRA AT Computer $ CAU 22258 Thmkjet Printer $ 379.00 7470A 2-Pen Plotter S 643.15 9114A 710K Disc Drive $ 625.00 82143A Thermal Printer $ 295.00 62161 A Cassette Drive I 423.00 82162A IL Printer $ 346.50 82164A IURS-232 Interface $ 227.15 82166C IL Interface Kit I 304.15 82168A Acoustic Coupler % 389.95 92192A Box of 10 Discs S 55.20 92265A Laser Jet Toner $ 79.20 IX-80 LX-90 FX-85 FX-165 JX-60 HS-60 AP-60 SQ2000 LQ1500 OX 10 DX-20 DX-35 PX-8 HX-20 EPSON 100cps & NLQ Dot Matrix* 219.00 100cps & NLQ Dot Matrix! 239.00 160cps Dot Matrix $ 339.00 160cps Dot Matrix $ 479.00 Color Dot Matrix S 469.00 InkJet $ 319.00 Apple comp. Dot Matrix. $ CALL Office InkJet $ 1550.00 NLQ Dot Matrix I 650.00 Dalsywheel $ 229.00 Dalsywheel $ 315.00 35cps Dalsywheel * CALL Geneva Computer $ 699.00 Lap Computer $ 399.00 4000 Modem 5 349.00 Softool! I 59.95 7600 FLOWER AVENUE WASHINGTON, D.C 20912 (800) 544-4442 In Maryland, call (301) 565-3595 PRINTERS Diablo D-25 D-60 25 cps Dalsywheel 80 cps Dalsywheel Okidata s s 550.00 2195.00 ML162 ML192 Ok 120 ML193 120cps Dot Matrix 160cps Dot Matrix Color Dot Matrix 160cps Wide Carriage. Brother 1 $ 1 • 219.00 159.00 199.00 499.00 M1509 180cps Wide Carriage. HR-15XL 17cps Dalsywheel HR-35 36cps Dalsywheel 20241 200cps & NLQ CF100 Sheet Feeder Twinwrttir $ Daisywheel/Dot Matrix . . 1 * 1 ! .1 379.00 345.00 669.00 825.00 199.00 815.00 Panasonic KXP1091 i 249.00 Citizen MSP-10 MSP-15 MSP-20 MSP-25 160cps Dot Matrix 160cps Wide Carriage. 200cps Dot Matrix 200cps Wide Carriage. Star i I s ,1 269.00 379.00 369.00 499.00 SG10/15 120cps Dot Matrix SD10/15 160cps Dot Matrix SR10/15 200cps Dot Matrix S810 24 pin Head PowerTypeDalsywheel s $ 1 $ « 235/275 339/449 466/595 549.00 309.00 Juki 6100 6200 6300 1 8cps Daisywheel 30cps Daisywheel 40cps Dalsywheel • 366.00 515.00 699.00 EPSON Equity I IBM compatible computer Single Floppy Disk Drive S 799.00 I Dual Floppy DUk Drive t CAU Floppy/Hard DMc Drive t CAU TERMS: • Free Shipping on orders over $100. • NO ADDITIONAL CHARGE for credit cards. • MD residents add 5% sales tax. • Credit references required for open account •Allow 2 weeks for personal checks. • C.O.D.'t— ca»h. money order, bank or certified check. 286 BYTE • DECEMBER 1985 OEM & OWN BRAND COMPOSITE & TTL COMPATBLE COLOR & MONO MONITOR TERMINAL SX SAMSUNG Electron Devices SEOUL OFFICE LONDON OFFICE SANTA CLARA OFFICE I TOKYO OFFICE 6~8TH FL.THEJOONG-ANG DAILY 6TH FLOOR, VICTORIA HOUSE 3003 BUNKER HILL LANE, NEWS BLDG., 7 SOONHWA-DONG, CHUNG-KU, SEOUL, KOREA TEL: 7516-955/7, 7516-959/961 TLX: STARNEC K 22 596 CABLE: "STARNEC" SEOUL Inquiry 322 SOUTHAMPTON ROW W.C. 1 LONDON, ENGLAND TEL: (01) 831-6951/5 TLX: 264606 STARS LG FAX: (01) 430-0096 SUITE 201 SANTA CLARA, CAL. 95050, U.S.A. TEL: (986)8473 TLX: 171685 SAMSUNG SNTA KASUMIGASEKI BLDG., 2522 KASUMIGASEKI 3-2-5 CHIYOTA-KU, TOKYO, JAPAN TEL: (03) 581-5804, (03) 581-9521-4 TLX: 228009 SANSEl DECEMBER I985 'BYTE 287 It's not surprising that the company which invented Daisywheel printing should be the one to take it to a break- through level of performance. . iu^ v^.™, £tc rv»ui~ for a busy office. That's way ahead of our competition. But And because it's a Xerox printer, the 635 then so is our printer. And it's our way of just won't quit showing our confidence in the technologi- In fact, we are so convinced of the 635's cal advancement it represents. ^ naJioKilitv \u(*\\ q HH *)1 m onthc nf fripg-g^ri/iru? — Th*» AiS rtahlri Printer hac Hn7Pnc nf N \ BITE Reviews Reviewer s Notebook by Glenn Hartwig 293 The AT&T PC 6300 by Bob Troiano 294 The Tandy 200 and the NEC PC-8401A by Harry Krause 306 Golden Common LISP by Bruce D'Ambrosio 317 The Norton Utilities by Rubin Rabinovitz 323 HyperDrive for the Macintosh by Gregg Williams 329 Upgrades for the TRS-80 Model 100 by Jerry Kepner 335 The IBM Proprinter by Rich Malloy 343 Panasonic s 4-Color Graphic Penwriter by \on R. Edwards 351 Review Feedback 359 AT&T'S PC 6300. designed jointly by AT&T and Olivetti and manufactured by Olivetti, is fast, expandable, compatible with IBM PC software, and less ex- pensive than the IBM product. Bob Troiano has taken a look at this machine and reports his findings in this month's first review. Two laptop computers are compared by Harry Krause. Both the Tandy 200 and the NEC PC-8401 A are flip-top LCD-screen portables with generally closed architectures. Each weighs between four and five pounds, uses a Z80- equivalent microprocessor, and may be operated on battery power. NEC has slightly modified its offering since this review was written. Chiefly, the Japanese laptop now has a series of click-stops built into the cover/screen's hinges as it folds back. This allows you to have more confidence in the screen staying where it is positioned. The unit is not, however, different in any substantive way from the one described in this review. Golden Common LISP from Gold Hill Computers is an extended subset of Common LISP. It supports more than 400 primitives and includes stack groups, macros, closures, streams, and other advanced LISP features. In fact, this language implementation gets high marks from reviewer Bruce D'Ambrosio in just about every area. Rubin Rabinovitz takes a look at Peter Norton's data-recovery tools, the Nor- ton Utilities. Mr. Rabinovitz describes types of data destruction and tells how the program gets your information back. Losing data is common enough, and infuriating enough, that this review should have a helpful tip or two for almost everyone. Next. Gregg Williams, BYTE senior technical editor, takes a look at General Computer Company's HyperDrive hard-disk upgrade for the 512K-byte Apple Macintosh. Mr. Williams reports that, true to its promise, the HyperDrive is fast, unobtrusive, and easy to use. Less heartening, however, is a series of problems he encountered with the unit. Back when the Radio Shack Model 100 was new, it was praised for being the only true laptop portable computer but criticized for its lack of hardware expandability. Since then, options have been introduced that let you increase memory, add disk drives, increase the display size, and add interface expan- sion boxes. In his review of "Upgrades for the TRS-80 Model 100," Terry Kepner takes a look at several products now available for the pioneer laptop and pro- vides his assessment of their usefulness. BYTE's New York editor, Rich Malloy, delivers his analysis of IBM's Proprinter. This unit lets you print fanfold and single-sheet paper, as well as envelopes, without going through several time-consuming paper changes. Ion Edwards, one of our staff's technical editors, takes a close look at Panasonic's 4-Color Graphic Penwriter. At first glance, you'd think this was one of the newer electronic typewriters. Then you notice that it uses pens and is actually a writing typer. Portable, multifunctional, and shipped with built- in graphics programs, the Penwriter has a number of characteristics that make it worth considering. DECEMBER 1985 'BYTE 291 Saperfrtject 't Caauads Pnjtcts Prim Pill Clll! fpe.iies at mraii «i» •< ik Pnw«t III gNJtCt Details htrtmcti lisk titiils KSWH Caitt IfcsoLKe Details TrajKt Caleaaar ieiswtt CalHaW Mm • U-t-M B-U-I4- 1 I (Ml eJlliale). ■:: iix or Hast Start aate (if tllM pate tain is fcs li Prtfertaetes leilattHeeMrii • StOnts/* ' I 14-12-M t»-!4-M Kmwii* Shift ItH tcnll Mh r t StF.ll ttH Hews e«rsar Kilkn tar (i ■at* frw task te task (SI Dm s*!ectt< amies: tat 14m selectee an Ha«t tttirt strata ait spa Matt eitire skirt U aat-1 Hm »lm scrttt to aat- fcee selectee 1 Wilts; to I Create your entire project on screen. fesaoce fctatls StrWS IJ : kip n : laUi it Help a keystroke aw tamfrtJNt CtfHHas Fnjttts fpu nm*1'.T»ilateaLS Unique project overview lets you see the big picture. Saatrfrajttt miKl-.S! PravtcU Putt hip fcsplj, t«3 Stua t Paiit 111 Prepart Sail m F»ilajt»ea«Iri« 112 lis Sink kits at? (>; routines lib Plait trtttSknk an la, sod -— tts an SrtU> PlojNini an Cat 1 In. So. lis Haul 111 Trash ail Fiu) lisptctita H< « ■ ...::. .. III"! « It '", III ■ t at ••• net Mil Itll ti ♦ ■■ • ■■ £ • •• MX ► • ',',',', H *► •" i»|...|ju» .a.n ■„> . " •!•••• ... '"1 J ••• tij Stall Doles 51 I IN 22, N «13 Cat I Itii Saa M I I.N 22. N 114 bill 111 imsi M I I.N 22. N HI U, Saa St I I.N 22. N Everything on every res lesewce tatt SeperPraject Screws CaraMMs Prefects Prm 112 tip Sank Mies ail Cut I Im« Saa 1 114 Kan) til Irish ail Las Sad ■"•■■ • •.. .. ......... Schedule tasks over weeks, months, even years. SuperProject automatical Cmums Prefects 14-11-14 14-24-1 H-ll-M 1414-1 r-u-M TaimrrauiiiT Urn H I.N 32. N Irattir W I.N 14. N 3M« THE DIFFERENCE BETWEEN SUPERPROJECT AND OTHER PROJECT MANAGEMENT SOFTWARE IS EVEN MORE GRAPHIC THAN THIS. It's not hard to see why SuperProject" is becoming the new standard in project management software. Bright colors, simple symbols, and clear graphics let you know exactly where you stand. Now, and as far into the future as you care to go. But the real beauty of SuperProject lies in what it can do for you. Because no matter what you do, how much time you have to do it, how many people you're responsible for, and how much money is involved, SuperProject will help keep you in control. So you can plan for the schedule changes. And react to the budget hacks, and unexpected costs that occur in real life. And with SuperProject, you can even directly transfer information into SuperCalc" 3 Release 2, Lotus' 1-2-3", dBASE'" and other leading software for more detailed finan cial analysis and reports. SuperProject. Another business solution from Computer Associates, one of the most ex - perienced^ business software companies in the world. With a list of satisfied customers that includes over 80% of the Fortune 500. To see how SuperProject can give vour work a clear advantage, call Terry Smith at 1-800-645-3003. Or see your dealer. After one look, you'll wonder how you ever managed without it. Computer /\ssociates Computer Associates Micro Products Division was lornierlv known as Sorruii'lUS Micro Software. r. IMS Computer Asso< idles International, Inc. SuperProject is a trademark and SuperCalc a registered trademark of Computet Associates International. Inc. Lotus and I 2 3 are registered trademarks of Lotus Development Corporation dBASE is a trademark of Ashlmi Tate. SuperProject outdates other project calendars by also providing calendars for every resource. Track fixed, variable, and to j n quiry 337 REVIEWER'S NOTEBOOK Apple's enhancements for the He and lie consist of a color moni- tor, a 3 '/2-inch disk drive, a 300/1200- bps modem, and a memory-expansion card. The color monitor gave us no surprises. It worked right out of the box and provides a good-size focal point after using the smaller lie mono- chrome screen. The monochrome unit, however, has a crisp, bright, high- contrast display. The color monitor is pale, with shades more like pastels than bold primary colors. I don't feel it can be used comfort- ably with text. With the lack of sharp- ness common to any color monitor and the muted shades provided by the Apple palette, I have some dif- ficulty keeping my place as I work. In spite of its shortcomings, the color monitor at least worked. The 3!/2-inch disk drive didn't work at all. After being plugged in, it simply dis- appeared as far as the computer was concerned. We found later that you need either ProDOS version 2.0 (or later) or the Apple He Add-On Kit en- hancement to make the Unidisk visi- ble to the computer. This information, however, was contained in a manual for "Apple Access II on the Unidisk," rather than in any information about the disk drive itself. The manual packed with the unit was disappointingly uninformative. However, you will observe that the documentation provides the same sketchy generalities in English, Ger- man, Italian, Spanish, and French. Getting precious little to go on in five languages was not as helpful to me as getting details in one language. Apple's new modem is a half-size 300/1200-bps unit. There is a circular seven-pin socket for the serial com- munications cable on the modem itself, but you can get a variety of in- terface cables to connect this modem with Apple computers other than a lie. Interface cables must be pur- chased separately. The technology represented by the choice of trans- mission rates and by the small size has been around for a while, but hav- ing it available for the Apple II line (and from Apple) is worth noting. The memory-expansion card report- edly gives you an extra megabyte of RAM in your lie. As with the modem, what's interesting is the fact that the product comes from Apple. Seiko recently sent us a new ver- sion of its wrist terminal, the 2001. It's a fun little memo device as well as a pretty good timepiece. You download short messages from an Apple computer to your watch's memory. Then, when the alarm goes off, your watch tells you what you're supposed to be doing instead of mak- ing you puzzle out just why this little machine is chirping at you. 1 thought it was a little odd, however, that an ex- pensive accessory like this would be designed to work with a less-expen- sive-type computer. I'm also curious about who would get a lot of use out of the terminal. It makes you run over to your computer whenever you want to load up on a new supply of memos. I wonder how convenient that would be after a couple of weeks or months. Finally, a brief mention of the new Texas Instruments 80286 ma- chine. The Business Pro emphasizes storage capacity in terms of both size and variety. Ours came with a 33- megabyte hard disk (but you can get them up to 72 megabytes), a 60- megabyte tape backup, a high-density 1.2-megabyte floppy-disk drive, and a 360K-byte double-density floppy-disk drive. Something else it seems to em- phasize, albeit subtly, is compatibili- ty with IBM software. For example, it comes with its own operating system as well as a version of MS-DOS. This laying down of the welcome mat to an extended family of DOS applica- tions is complemented by a less well- known compatibility with PODOS 3.0. Having more and more, instead of less and less, can do wonders for your whole attitude. Using a variety of operating systems on the same machine results in some mental double-takes from time to time. For example, Tl's operating sys- tem calls the hard-disk drive E, while MS- and PC-DOS call it drive C. If you put something on the hard disk under one type of operating system, you won't be able to call it up under the other. The files will still show up in the directory— they'll just be out of reach until you boot up again with the ap- propriate operating system. I didn't find it too confusing, especially since the prompt is different for each mode ( \ > for TI mode as opposed to > for the others), but I'm not sure whether or not this could get to be a headache in a busy office. I like the Business Pro keyboard. It has a nice solid feel, a definite tactile- resistance threshold, and an audible click. I also find the middle-finger- bumps on the home row to be help- ful. The display doesn't especially ap- peal to me. It's a color model, and it looks like TI chose gray as the default color for text. In color programs where characters are specifically de- signed to show up in other colors, the white lettering is quite brilliant. For the normal run of word-processing programs, however, you have the im- pression of looking at a screen with the brightness level turned way down. The Business Pro is going to be treated fully as a review subject. I'm looking forward to reading the im- pression it makes on somebody else. —Glenn Hartwig Technical Editor, Reviews DECEMBER 1985 -BYTE 293 IBM PC compatibility with a speed advantage by Bob Troiano SYSTEM REVIEW The AT&T PC 6300 Bob Iroiano is an independent consultant and also does work for General instrument Corp., Hicksville. Hew York. He can be contacted at POB 97. Farmingdale. NY 1173 5. The AT&T PC 6300 is an IBM PC- compatible computer featuring a fast 8-MHz 8086-2 processor, graph- ics capability, and high-resolution color text (see photo 1). The PC 6300, designed jointly by AT&T and Olivetti and manufactured by Olivetti, was introduced about a year ago and is quite similar to Olivetti's model M24. The computer is targeted at large corporate users, professionals, and others who desire a high-quality machine that runs two to three times faster than the IBM PC. The PC 6300 will run most popular pro- grams, such as Lotus 1-2-3, WordStar, dBASE III, Framework, and Flight Simulator, and it performs admirably in most respects. You can purchase a complete monochrome system with 128K bytes of RAM (random- access read/write memory), two floppy-disk drives, and a nonglare green monitor for less than $3000, while a 10-megabyte hard- disk system costs about $4000. The PC 6300's price includes MS-DOS 2.11 and GW- BAS1C Dealers are giving substantial dis- counts on this machine. I suggest that you check out a number of dealers' prices be- fore making a purchase. Hardware The AT&T PC 6300 consists of three sepa- rate units: the main system unit, a monitor, and a detached keyboard. The system unit is more compact than most other PC-com- patibles, measuring 15 by 15'/2 by 6/2 inches. The keyboard, which is slightly longer than the system unit, measures 1 7 !4 by 7/2 by 1. On the rear of the system unit sits a large, slow-speed fan that keeps the computer cool 24 hours a day. The sound of this fan is quite unobtrusive, even in a quiet room. The trick here is that increasing the size of the fan and reducing the speed still main- tains the same cooling capability while lowering the noise level. The computer's circuitry is located in two areas: a large motherboard mounted on the bottom side of a dividing panel and a smaller bus converter with seven expansion slots mounted on the top side with the dual floppy-disk drives and the power supply. The main circuitry and DIP (dual in-line package) switches are easily accessible on the motherboard (see figure 1). You remove two screws on the rear panel, then slip off the bottom cover to expose the component side of the board. The bottom cover has vent holes punched on three sides to let air pass over the motherboard's components. Two screws on the rear panel attach the top cover. When removed, it allows access to the seven empty slots. Most of the lCs (integrated circuits) are not socketed, with the exception of half of the RAM, all PROMs (programmable read- only memories), and a few large ICs. The motherboard has an empty socket for an optional 8087 numeric coprocessor. This computer requires the 8087-2, the 8-MHz version of the chip that costs almost two times more than the slower version. An- other large empty socket is on this board, possibly for a special PROM chip that ac- tivates some networking or communica- tions capabilities already built into the machine. 1 had no way to confirm this, however. On the front panel you will find a green power indicator, access to the two floppy- disk drives (or one floppy and one hard disk), and a reset switch. The power indicator is nearly useless because it is very faint, but the reset switch is a godsend. When a program crashes and the computer stops, you cannot always revive it with Ctrl-Alt-Del. A reset switch is handy because it lets you reboot the com- puter without having to turn it off and on, which is not particularly good for com- puters. I Editor's note: AT&T says that the prob- lem with the dim light-emitting diodes (LEDs) has been resolved on later units] KEYBOARD The keyboard layout is similar to that of the IBM PC (see photo 2), with undersize enter 294 BYTE • DECEMBER 1985 and shift keys in the same locations. The keys have a distinctive snap to them, similar to the IBM PC's keyboard but not quite as loud, and the touch is not as heavy. The keys are responsive and not at all mushy. The keyboard is moderately light, weigh- ing about 4 pounds. It is made of impact- type plastic and has two feet that enable it to tilt upward slightly. It has two LEDs, one on the Num Lock and one on the Caps Lock keys. These LEDs reflect the actual status of the machine, as opposed to just toggling on and off when pressed. When the com- puter is first turned on or reset, the LEDs flash rapidly during the diagnostic checks. A 5-foot coiled cord attached to the key- board is connected to the rear of the com- puter by a DB-type 9-pin connector. On the rear of the keyboard is a connector for a mouse that AT&T has just released. This keyboard is not compatible with any of the others available for the IBM PC, so if you don't like the way it feels, you're stuck. Maybe some third-party vendors will adapt their keyboards to work with the PC 6300. Video Display The video display is one area where this computer really shines. Two monitors are available for the PC 6300: a green mono- chrome (see photo 3) and an RGB (red- green-blue) unit. Built into the computer is the equivalent of a monochrome card and a color-graphics card. The same text font is used for both (an 8- by 16-pixel matrix), whereas the PC has a matrix of 8 by 8 pixels for the color mode and 9 by 14 for a monochrome moni- tor. All the graphics modes that are avail- able on the IBM PC are available on the PC 6300, and 640- by 400-pixel monochrome high-resolution graphics are available as well. GW-BASIC has been modified to ac- commodate commands for this special graphics mode. There is no obvious way at this time to use a color and a monochrome monitor simultaneously as you can with the IBM PC and other compatibles. Some programs that use graphics allow text on one screen and graphics on the other simultaneously. This would be a nice feature, especially in scientific work. The text font on the PC 6300 is a little dif- ferent from the IBM PC font. It has 16 colors available in the text mode. With the high quality of the color text, you can easily use this system for word processing without strain on your eyes. Both the monochrome and color moni- tors have only two controls hidden either on top or bottom: brightness and contrast. The monitors plug into the back of the com- puter and come on when you turn on the computer. In fact, the monochrome moni- icontinued) Photo I: The AT&T PC 6300 with one floppy-disk drive, monochrome monitor, and keyboard. DECEMBER 1985 -BYTE 295 REVIEW: AT&T PC 6300 tor doesn't even have a power cord; it gets its DC power from the com- puter's power supply. One complaint 1 have about the color monitor is a slight lack of lineari- ty at the screen's upper left and lower left corners; the text at these posi- tions "pulls" toward the screen's periphery I inspected several units to see if it was a common problem. It was. Most people would not notice it, but considering that the monitor lists for $945. I find it unacceptable. Good engineering design should eliminate this kind of distortion. AT&T has been notified of the problem. Processor and Memory The PC 6300 is a true 16-bit machine with 16 address lines and 16 data lines. This means that the computer's memory is accessed in words instead -Wfi? I I I I 1 Photo 2: The AT&T PC 6300 keyboard. Note that the keyboard layout is similar to the IBM PC's except for the Num lock and Caps Lock keys, which contain LEDs. A:JUKK PftCE I LIME 5 COL Bl IKSOT 0« <<< n«in nun >>> --Coraor ItovaMiit-- -Delets- : -Macallaneour- -Other rtoms- *S char left ~D char right ! ~£ char ' ~l lab A B fief dim '. (fron flain only "ft word left "F wurd right 1DEL r.hr If: ~V IrEERT MfOFF l"J Help "K Blocl *E line up *X line down !~I word rt! A L Find/Replce agaiit'."Q Quick ~P Prin — Scrolling — ' *V line 1RETURM End paragraphia Onscreen "7 line down "U line up 1 1 *H Insert a RETURN 1 *C screen up "R screen down! ! *U Stop a ccaaaand [his is a s Maple screen display of the AT«T 6300 cowputer. iz3«67tHs- : f wertu.iopllasdfghjkl:''Nixcvlr«., /QUERIVIJIOM JflSJFOina..' \ZXCUBtl, / mam ^jjjjgTij ajgjjj