Does not support fullscreen mode turbo pascal là gì năm 2024

See other formats

3fflwi ■Amrar 80386 ARCHITECTURE Intel brings minicomputer power to the PC FEBRUARY 1987 VOL. 5, NO. 2 $3.95 WINDOWS DEVELOPMENT KIT ACCELERATORS PC’S LIMITED 286 FOR THE IBM SYSTEMS PROFESSIONAL Ro/Tov* T!} e Database ItvllvA# Manager System requirements Reflex: The Database Manager IBM PC, AT, XT, or true compatibles. PC-DOS (MS-DOS) 2.0 and later. IBM CGA Hercules Monochrome Card, or equivalent. 384K Reflex: The Workshop: Requires Reflex: The Database Manager. 384K. For Finance/Accounting: • Business Expense Tracking • Petty Cash Tracking • Line of Credit Tracking and Analysis • Accounts Receivable Tracking and Aging Analysis • Purchase Order Entry and Analysis • Purchase Order Tracking System • Leasing Inventory/Management • /Asset Inventory Tracking • Cash Management Trial Balance • Commercial Real Estate Tracking and Analysis For Administration: • Mail Lists • Appointment Scheduling • Applicant Tracking and Inquiry System • Facilities Planning • Project Scheduling For Sales & Marketing: • Sales Lead Tracking and Analysis • Store Check Inventory Analysis • Sales Analysis • Trend Analysis For Production & Operations: • Manufacturing Quality Assurance Tracking • Assembly Repair Turnaround Tracking • Product Cost Analysis and Control SS Reflex does the job. Workshop shows you applications. The 400-page book that comes with Workshop has sections on creating accounting systems; inventory control; business expense reports; real estate manage¬ ment; production; operation and quality control; and just a whole bunch of other stuff. Jerry Pournelle, BYTE W For the dealer nearest you or to order by phone call (800)255-8008 B/- 1093 A in CA (800) 742-1133 in Canada (800) 237-1136 Reflex: The Workshop adds 22 templates to your business repertoire only $ 149 . 95 ! $69.95! You get 22 different ways to run your business—instantly. The formats are all there. All you do is enter your own numbers. A superb business tool. Reflex: don't use your PC without it! Join hundreds of thousands of enthusiastic Reflex users and experience the power and ease- of-use of Borland's award¬ winning Reflex. neflex is the K acclaimed, high-performance database manager that's so advanced it's easy to use! Reflex: the high- performance, state- of-the-art database manager Whether you manage mailing lists, customer files, or you are in charge of your company's budgets, Reflex is the database manager that you've been waiting for. Reflex lets you organize, analyze and report in¬ formation faster and easier than ever before. Reflex extends database man¬ agement with business graphics. Because a picture is often worth a WOO words, Reflex lets you extract the critical information buried in mountains of data. With Reflex, when you look, you see. Reflex: the critics' choice n ... if you use a PC, you should know about Reflex. Reflex and Reflex Workshop may be the best bargain in software today. Jerry Pournelle, BYTE Everyone agrees that Reflex is the best-looking database they've ever seen. Adam B. Green, InfoWorld The next generation of software has officially arrived. Peter Norton, PC Week ’ 1 Turbo Prolog C6 If you're at all interested in artificial intelligence, databases, expert systems, or new ways of thinking about programming, by all means_plunk down your $100 and buy a copy of Turbo Prolog. Bnjce Webster B yte 3 3 Only 599 . Turbo Prolog, the natural language of Artificial Intelligence, is the most popular Al package in the world with more than 100,000 users. It's the 5th-generation computer programming language that brings supercomputer power to your IBM PC and compatibles. You can join the Al revolution with Turbo Prolog for only $99.95. Step-by-step tutorials, demo programs and source code included. TLTeiv/ Turbo Prolog 131 Toolbox Our new Turbo Prolog Toolbox n enhances Turbo Prolog—with more than 80 tools and over 8,000 lines of source code that can easily be incorporated into your programs. It includes about 40 example programs that show you how to use and incorporate your new tools. New Turbo Prolog Toolbox features include: Business graphic generation Complete communications package File transfers from Reflex, dBASE III, 1-2-3, Symphony A unique parser generator Sophisticated user-interface design tools It's the complete developer's toolbox and a major addition to Turbo Prolog. You get a wide variety of menus — pull-down, pop-up, line, tree and box—so you can choose the one that suits your application best. You'll quickly and easily learn how to produce graphics; set up communica¬ tions with remote devices; read information from Reflex, 9 dBASE III* Lotus 1-2-3* and Symphony* files; generate parsers and design user interfaces. All of this for only $99.95. Only $99.95! System requirements Turbo Prolog: IBM PC, XT, AT or true compatibles. PC-DOS (MS- DOS) 2.0 or later. 384K. Turbo Prolog Toolbox requires Turbo Prolog 1.10 or higher. Dual-floppy disk drive or hard disk. 512K. Turbo Pascal ' Turbo Pascal, the worldwide standard in high-speed compilers, and family. What our new Numerical Methods Toolbox will do for you now: gj Find solutions to equations

  1. Interpolations gj Calculus: numerical derivatives and integrals gj Differential equations gj Matrix operations: inversions, determinants and eigenvalues gj Least squares approximations gj Fourier transforms As well as a free demo FFT pro¬ gram, you also get Least Squares Fit in 5 different forms:
  2. Power
  3. Exponential
  4. Logarithm
  5. 5-term Fourier
  6. 5-term Polynomial They're all ready to compile and run. All this for only 599.95 ! JkTew! Turbo Pascal 131 Numerical Methods Toolbox Only $99.95! The power and high performance of Turbo Pascal is already in the hands of more than half-a-million people. The tech¬ nically superior Turbo Pascal is the de facto worldwide standard and the clear leader. The Turbo Pascal family includes: ■ Turbo Pascal* 3.0 ■ Turbo Tutor* 2.0 ■ Turbo Database Toolbox* ■ Turbo Editor Toolbox* ■ Turbo Graphix Toolbox* ■ Turbo GameWorks* ■ Turbo Pascal Numerical Methods Toolbox " System requirements IBM PC, XT, AT or true compatibles. PC- DOS (MS-DOS) 2.0 or later. Turbo Pascal 2.0 or later. Graphics module requires graphics monitor with IBM CGA, IBM EGA, or Hercules compatible adapter card, and requires Turbo Graphix Toolbox. 8087 or 80287 numeric co¬ processor not required, but recom¬ mended for optimal performance. 256K. Turbo Pascal 3.0. Includes 8087 & BCD features for 16-bit MS-DOS and CP/M-86 systems. CPIM-80 version minimum memory: 48K; 8087 and BCD features not available. 128K. i 6 The language deal of the century. Jeff Duntemann, PC Magazine 3 3 BI-1093 ^ Eureka: The Solver ‘ ‘Introductory price—good through July 1, 1987 For the dealer nearest you or to order by phone call ( 800 ) 255-8008 in CA (800) 742-1133 in Canada (800) 237-1136 A nyone and everyone who routinely works with equations needs Eureka: The Solver It solves the most com¬ plex equations in seconds. Whether you're a scientist, engineer, financial analyst, student, teacher, or some other professional, you need Eureka: The Solver! Any problem that can be expressed as a linear or non-linear equation can be solved with Eureka. Algebra, Trigonometry and Calculus problems are a snap. Eureka: The Solver also handles maximization and minimization problems, does plot functions, generates reports, and saves you an incredible amount of time. X+exp(X) = 10 solved instantly instead of eventually! Imagine you have to "solve for X," where X + exp(X) — 10, and you don’t have Eureka: The Solver. What you do have is a problem, because it's going to take a lot of time guessing at "X." Maybe your guesses get closer and closer to the right answer, but it's also getting closer and closer to midnight and you're doing it the hard way. With Eureka: The Solver, there's no guessing, no dancing in the dark — you get the right answer, right now. (PS: X = 2.0705799, and Eureka solved that one in .4 of a second!) How to use Eureka: The Solver It's easy.
  7. Enter your equation into the full-screen editor
  8. Select the "Solve" command
  9. Look at the answer
  10. You're done You can then tell Eureka to ■ Evaluate your solution ■ Plot a graph ■ Generate a report, then send the output to your printer, disk file or screen ■ Or all of the above All this power for only $99.95! Equation-solving used to be a mainframe problem, but we've solved that problem. Eureka: The Solver is all you need—and it's yours for only $99.95! That kind of savings you can calculate with your fingers! Some of Eureka"s key features You can key in: ■ A formula or formulas ■ A series of equations—and solve for all variables ■ Constraints (like X has to be < or = 2) ■ A function to plot ■ Unit conversions ■ Maximization and minimization problems ■ Interest Rate/Present Value calculations ■ Variables we call "What happens?," like "What happens if I change this variable to 21 and that variable to 27?" Eureka: The Solver includes ■ A full-screen editor ■ Pull-down menus ■ Context-sensitive Help ■ On-screen calculator ■ Automatic 8087 math co-processor chip support ■ Powerful financial functions ■ Built-in and user-defined math and financial functions ■ Ability to generate reports complete with plots and lists ■ Polynomial finder ■ Inequality solutions System requirements IBM PC, AT, XT, Portable, 3270 or true compatibles. PC-DOS (MS-DOS) 2.0 and later. 384K. BI-1093 6 6 1 like 'em all, but Lightning's the one that's going to change how a lot of us use computers . . . simply the finest spelling checker and electronic thesaurus program extant" Jim Seymour, MicroBusiness J J T urbo Lightning adds instant spell¬ checking and a thesaurus to all your spreadsheets, electronic mail, documents, memos, or whatever programs you use. Everything you type looks professional because Turbo Lightning checks your spelling as you type, while you run other programs. Turbo Lightning beeps every time there's a misspelled word, which you can correct instantly. Need synonyms? Turbo Lightning's on-line thesaurus instantly offers you the right ones. It's that easy. Minimum memory: 256IC Two disk drives required. Hard disk recommended . ***IBM PC, XT, AT, PCjr, and true compatibles only. PC/MS-DOS 2.0 or later. ‘Suggested list price as of February 15, 1987 “If within 60 days of purchase you find that these products do not perform in accordance with our claims, call our customer service department and we will arrange a refund. All prices are suggested list prices and are subject to change without notice. All Borland products are trademarks or registered trademarks of Borland International, Inc. or Borland/Analytica, Inc. IBM, AT, PCjr and XT are registered trademarks of International Business Machines Corp. dBASE III is a registered trademark of Ashton-Tate. Lotus 1-2-3 and Symphony are registered trademarks of Lotus Development Corp. Hercules is a trademark of Hercules Computer Technology. Crosstalk is a registered trademark of Microstuf, Inc. WordStar is a registered trademark of MicroPro International Corp. MS-DOS is a registered trademark of Microsoft Corp. Macintosh is a trademark of McIntosh Laboratory, Inc. and is licensed to Apple Computer. Copyright 1986 Borland International. BI-1093A SideKick: The Desktop Organizer The Productivity Booster Borland Software Programming Languages: Business Productivity: 4585 SCOTTS VALLEY DRIVE SCOm VALLEY, CA 95066 (408) 438-8400 TELEX: 172373 O ne million users can't be wrong. SideKick, the first name in desktop organizers, offers a notepad, a calcu¬ lator, a calendar, and a host of other tools in a window on your screen. In the middle of programs like 1 -2-3, WordStar ;• or Crosstalk you have instant access to a complete set of desk tools. Minimum memory: 128K.* Available for the Mac: For the dealer nearest you, or to order by phone call (800) 255-8008 CA (800) 742-1133 Canada (800) 237-1136 Artificial Intelligence: Scientific & Engineering: 60-DAY MONEY- BACK GUARANTEE*

    66 . it's the most elegant program I've seen in many a moon." Stephen Manes, PC Magazine 5 5 Turbo SuperKey eliminates repetition S uperKey cuts down keystrokes because SuperKey's simple macros turn "Dear Customer: Thank you for your inquiry. We are pleased to let you know that shipment will be made within 24 hours. Sincerely," into the one keystroke of your choice. Like magic! SuperKey's macros are elec¬ tronic shortcuts to success. SuperKey keeps your secrets WMT ithout encryption, your files are WW open secrets. Anyone can read them. SuperKey encrypts your files and keeps confidential files confidential. Only your secret password reveals what you've written. Minimum memory: 128K. lightning > The Spell-Checker and Thesaurus 61 If you use a PC, get SideKick. Jerry Poumelle, BYTE J J Btrieve: The Programmer's Choice. W hen you're serious about application development, there's just one choice for file management: Btrieve. With what Computer Language calls "near mainframe functionality 1 ", Btrieve sets the file management standard for PC applications. With Btrieve loaded in your PC, your programs can use simple subroutine calls to retrieve, store and update records. B-tree based for high performance. Performance is all-important, especially as your database grows. That's why Btrieve implements the b-tree file structure—the fastest, most efficient method of accessing data. Interfaces to C, BASIC, Pascal, COBOL. Don't waste time programming in awkward fourth generation languages! With Btrieve, simply use the languages you know best—and write applications the right way. Over 15 language interfaces available. Multi-user versions for LANs and Xenix . When your applications need to network, count on Btrieve. A single version runs on all DOS 3 LANs, including IBM PC Network and Novell Advanced Netware. Btrieve is also available for Xenix and multitasking operating systems such as MultiLink Advanced, Microsoft Windows and IBM Topview. Built-in security features . Lock up sensitive data with Btrieve's password protection and unique data encryption scheme—especially useful in local area networks. Help is just a phone call away. Need technical support? You've got it! Btrieve users receive 30 days of unlimited phone support at no charge. This "Direct Connect" policy is renewable for a full year at low cost. And try SoftCraft's free bulletin board for technical tips, seven days a week. Fault tolerant. Btrieve insures against database dis¬ asters. Two levels of fault tolerance guarantee data integrity during accidents or power failures—even if lightning strikes. No extra programming required. Thorough documentation , easy implementation. Getting started with Btrieve is easy: the manual is packed with examples of every Btrieve function in BASIC, Pascal, COBOL and C. Database queries, report writing . Add Xtrieve™ to your Btrieve applications for a fully-relational DBMS. Xtrieve's menu-driven interface gives your users the on-line query capabilities they need—without programming. Add our report writer option to produce custom reports and forms. Xtrieve No royalties. Need we say more? H Btrieve SoftCraft P.O. Box 9802

    917 Austin, Texas 78766 (512) 346-8380 Telex 358 200

    Suggested retail prices: Btrieve, $245; multi-user Btrieve, $595; Xtrieve, $245; multi-user Xtrieve, $595 (for report generation, add $145 for single-user and $345 for multi-user). Available from SoftCraft and selected distributors. Requires PC-DOS or MS-DOS 2.X, 3.X, Xenix. Btrieve is a registered trademark and Xtrieve is a trademark of SoftCraft Inc. 1 From Computer Language, November 1985. CIRCLE NO. 201 ON READER SERVICE CARD r -f -L e!. T T 11 FEBRUARY 1987 OU RNAL VOLUME 5, NUMBER 2 i Desktop Data Acquisition Windows of Opportunity 70 Speed Infusion UPWARD TO THE 80386 / CALDWELL CROSSWY and MIKE PEREZ The Intel Corporation’s powerful 32-bit 80386 microprocessor brings minicomputer function and performance to the PC while still maintaining compatibility with software that was developed for its predecessors, the 8086/88 and 80286. 50 WINDOWS OF OPPORTUNITY / PAUL GRAYSON Microsoft Windows promises to free users and developers from device dependencies and provide a compatibility bridge to future products. A close look at the Development Kit and a sample application leads to a better understanding of Windows. 70 Compatibility and Performance: PC’S LIMITED 286 12 / STEVEN ARMBRUST and TED FORGERON A system offering 12-megahertz performance may present a good value for the price, but the PC’s Limited model that was . reviewed was found to have significant reliability problems and did not live up to its good-looking package or advance billing, y 4 DESKTOP DATA ACQUISITION / VICTOR E. WRIGHT ASYSTANT+ from Macmillan Software converts the IBM PC into a desktop data acquisition and analysis system. In the laboratory ^ or in industry, it can take the place of more expensive, dedicated instruments—albeit at a loss in ultimate performance. 106 SPEED INFUSION / TED MIRECKI The simplest type of accelerator board runs the PC at a higher clock speed while retaining the 8088, but the performance improvement is far from spectacular. In the first of a series on accelerators, six of these class I boards are reviewed. 126 TOKEN-RING NETWORK, PART 2 / J. SCOTT HAUGDAHL Because more and more PC users are considering local area networks, the demand for standards and benchmarks to measure LAN performance will quickly mushroom. Guidelines are presented for selecting a suitable LAN environment. 15o EXECUTION PROFILERS FOR THE PC, PART 2 / RALPH G. BRICKNER Five commercial software profilers are examined for their ability to identify those parts of a program that are the most time consuming. The products reviewed are from Atron, David Smith, dwb Associates, Phoenix Technologies, and Stony Brook. 166 9 DIRECTIONS 45 TECH NOTEBOOK 179 PRODUCT WATCH Far Afield with Conditional-jump Vector87 Windows Macros ADIC Model TD 440 High-C 17 LETTERS 173 PROGRAMMING 187 EXPERT CONSULTANT: PRACTICES HUMAN FACTORS 32 TECH RELEASES Creating Sound with Three Misconceptions the Timer 193 BOOK REVIEW Database Practicum 195 TECH MARKETPLACE 204 MAIL ORDER 216 CALENDAR 217 READER SERVICE CARD Cover photograph • Walter. Larrimore/Blakeslee-Lane Software Tools For Programmers & Non-Programmers Get ‘State of the Art’ performance and save valuable time with these high quality utilities! Opt-Tech Sort™ Opt-Tech Sort is a high performance Sort/Merge/Select utility. It can read, sort and write a file faster than most programs can even read the data. Example: 1,000 records of 80 bytes can be read, sorted and a new file written in less than 10 seconds (IBM XT). Opt-Tech Sort can be used as a stand-alone program or called as a subroutine to over 25 different programming languages. All the sorting, record selection and reformatting facilities you need are included. A partial list of features includes: The ability to process files of any size. Numerous filetypes are supported including Sequential, Random, Delimited, Btrieve, dBASE II & III and many others. Up to 10 key fields can be specified (ascending or descend¬ ing order). Over 16 different types of data supported. Powerful record selection capability allows you to specify which records are to be included on your output. Record reformatting allows you to change the structure of your output record and to output special fields such as record numbers for use as indexes. MS-DOS $149. ★ NEW
    Xenix $249.
  11. NEW * VERSION On-Line Help™ &S& On-Line Help allows you to easily add “Help Windows” to all your programs. On-Line Help is actually two help packages in one. You get BOTH Resident (pop-up) and Callable Help Systems. The resident version allows you to add help to any system. Your Help System is activated when the “Hot Keys” that you specify are pressed. You can then chain between help windows in any manner you desire. The callable version allows you to easily display help windows from your programs. A simple call to the help system makes the window appear. The original screen is automatically restored when the help window is cleared. On-Line Help is callable from over 20 different languages. You have full control over the help window content, size, color and location. MS-DOS $149. Demo $10. (apply toward purchase). Scroll & Recall™ Scroll & Recall is a resident screen and keyboard enhancement. It allows you to conveniently scroll back through data that has gone off the top of your display screen. Up to 27 screens of data can be recalled or writ¬ ten to a disk file (great for documenting systems opera¬ tions). Also allows you to easily recall and edit your previously entered DOS commands without retyping. ScrolJ & Recall is very easy to use. It’s a resident utility that’s always there when you need it. MS-DOS $69. Visa, M/C, AMEX, Check, Money Order, COD or Purchase Orders accepted. To order or to receive additional information just call and receive immediate highly qualified attention! Opt-Tech Data Processing P.O. Box 678 — Zephyr Cove, NV 89448 (702) 588-3737 J OURNA VOL. 5, NO. 2 PUBLISHER: Newton Barrett EDITOR: Will Fastie EDITORIAL MANAGING EDITOR: Marjory Spraycar EXECUTIVE EDITOR: Julie Anderson SENIOR TECHNICAL EDITOR: Jim Shields TECHNICAL EDITORS: Caroline Halliday, David Methvin CHIEF COPY EDITOR: Susan Holly COPY EDITOR: Gail Shaffer PROOFREADERS: Bruce Ansley, Elizabeth Wardlaw NEW PRODUCTS EDITOR: Carole Autenzio OFFICE MANAGER: Trish Ledbetter EDITORIAL SECRETARY: Valerie Rose RECEPTIONIST: Cecilia R. Titus CONTRIBUTING EDITORS: Steven Armbrust, Dave Browning, Michael Covington, Richard M. Foard, Ted Forgeron, Augie Hansen, Thomas V. Hoffmann, Henry / F. Ledgard, Ted Mirecki, Max Stul Oppenheimer, Richard Schwartz, Robert Shostak ART & PRODUCTION “ ART DIRECTOR: Paula Jaworski ASSOCIATE ART DIRECTOR: Sharon Reuter ART ASSISTANT: Maria Sese PRODUCTION MANAGER: Alison Regan Mrohs CONTRIBUTING ARTISTS: Maciek Albrecht, David Povilaitis ADVERTISING SALES ADVERTISING DIRECTOR: Rita Burke ADVERTISING MANAGER/WEST COAST: Phyllis Egan MARKETING DIRECTOR: Gayl Sorota ASSISTANT TO THE PUBLISHER: Kathleen Abbott ADVERTISING COORDINATOR: Mary Martin MARKETING COORDINATOR: Kimberly Schroeder SALES SECRETARY: JeanMarie Donlin DISTRICT MANAGERS: Rosemarie Caruso—New England; Arlene Braithwaite — Southeast; Pat Toohey — Mid-Atlantic ,- Bill Barney — Midwest; Bill Bush, Phyllis Egan, Nan Hanna—West Coast ACCOUNT REPRESENTATIVES: Polly White—New England/Southeast; Nanette Vilushis — Mid-Atlantic/Midwest; Carey Clarke—West Coast, John Blake—National Accounts, Mail Order; Classijied advertising director—Kathryn Cumberlander CIRCULATION CIRCULATION MANAGER: Charles Mast CIRCULATION SALES DEVELOPMENT: Daniel Rosensweig MEDIA MANAGER: Melinda Kendall RETAIL SALES MANAGER: Carol Benedetto _ ZIFF-DAVIS PUBLISHING COMPANY, a division of Ziff Communications Co. PRESIDENT: Kenneth H. Koppel SENIOR VICE PRESIDENT, Marketing: Paul Chook VICE PRESIDENT, Operations: Baird Davis VICE PRESIDENT, Controller: John Vlachos VICE PRESIDENT, Creative Services: Herbert Stem VICE PRESIDENT, Circulation: Alicia Marie Ivans VICE PRESIDENT, Circulation Services: James Ramaley VICE PRESIDENT, Marketing Services: Ann Poliak Adelman VICE PRESIDENT, Development: Seth Alpert VICE PRESIDENT: Hugh Tietjen BUSINESS MANAGER: Gary A Gustafson PRODUCTION DIRECTOR: Walter J. Terlecki ZIFF COMMUNICATIONS COMPANY CHAIRMAN: Philip B. Korsant; PRESIDENT: Kenneth H. Koppel; SENIOR VICE PRESIDENT: Philip Sine; VICE PRESIDENTS: Laurence Usdin, William L. Phillips, J. Malcolm Morris, Steven C. Feinman, TREASURER: Seltvyn I. Taubman; SECRETARY: Bertram A Abrams EDITORIAL OFFICE PC Tech Journal. Suite 800, 10480 Little Patuxent Parkway, Columbia, MD
  12. 301/740-8300. FAX (group 3): 301/740-8809. MCIMail: PCTfeCH. PCTECHline: 301/740-8383- Telex: 5502563932 MCI. ADVERTISING OFFICES 469- 2100 ; , Los Angeles, CA 90010. 213/387- 415/598-2290. SUBSCRIPTION INQUIRIES PC Tech Journal, P.O. Box 2968, Boulder, CO 80321. Subscription service: 800/525-0643, 303/447-9330. Back issues: send $7/copy ($8 outside U.S.) to Ziff-Davis Publishing, One Park Avenue, 4th floor, New York, NY 10016. _ PC Tech Journal (ISSN 0738-0194) is published by Ziff-Davis Publishing Co., a division of Ziff Communications Co., One Park Ave., New York, NY 10016. Published monthly except semi-monthly in December. Subscription rate is $34.97 for one year (13 issues). Additional postage for Canada and Foreign is $6.50. Second-class postage paid at New York, NY, and at additional mailing offices. POSTMASTER: Send address changes to PC Tech Journal, P.O. Box 2968, Boulder, CO 80321. PC TECH JOURNAL is an independent journal, not affiliated in any way with International Business Machines Corporation. IBM is a registered trademark of International Business Machines Corp. Entire contents Copyright ° 1987 Ziff-Davis Publishing Company, a division of Ziff Communications Company. All rights reserved; reproduction in wnole or in part without permission is prohibited. Direct written requests to Jean Lamensdorf, Licensing Manager, Reprints/Rights & Permissions, One Park Avenue, New York, NY 10016. 1985 AWARD FOR BEST COMPUTER MAGAZINE Er ! X 2 Con, P utcr Press Association CIRCLE NO. 222 ON READER SERVICE CARD PC TECH JOURNAL The Periscope" Difference You’ll need it sooner or later if you’re doing serious software development W hen you’re writing large and/or complex pro¬ grams, it’s inevitable that you’ll have to deal with some tough debugging problems. Your debugger should help you find and solve those problems quick¬ ly. The more solid, dependable, and efficient your debugger is, the better able it is to help you out in those difficult situations. The big difference between Periscope™ and other debuggers is this: Periscope enables you to debug programs other debuggers can’t handle AND to debug in situations in which other debuggers won’t work! “We have been buying Periscope for about two years now, and have always been more than satisfied with the hard¬ ware, the software, and the responsiveness of the company. We have used Periscope in a great many difficult situations, where our only other alternative was a very expensive ICE (in circuit emulator). Periscope has performed most admirably” writes Dr. William Ash, Technical Director, FEL Computing. T he Periscope Promise. Continued product enhancement and user support. P eriscope Quality. The reason for Product of the Month. “Periscope was chosen as the January (1986) Product of the Month because it represents what we felt was an ex¬ cellent balance between power and cost and it has an ex¬ traordinarily clean and innovative design... the overall aura of quality was too strong to ignore,” writes Jeff Duntemann, Technical Editor, PC Tech Journal, 7/86. T he Periscope Solution. A full line of debugging products that keep getting better. “I have used Periscope daily for the past few months for testing and debugging my assembly code and I am still con vinced this is the finest hardware or software debugger available at any price ” writes long-time Periscope user Wynn Bailey. “Not only is your Periscope (Model I) software the greatest thing since K&R, but your support has won over even the heart of this hardened programmer,” writes Periscope user Mark Kumler of US Maintenance. “I had decided long ago that no one in the industry cared about their customers after the check was cashed. You have definitely changed my opinion on that subject!” • User ideas are often implemented • Your first software update is free; later up¬ dates are just $20 • You get free technical support and advice • You can trade up for $10 plus the difference in price • You get a 30-Day, Money-Back Guarantee To Order or Receive Free Information, Call Toll-Free: There’s a model of Periscope to meet your needs and budget. The enhanced Version 3.0 gives you more value than ever before! Call for details. Periscope I has break-out switch & board with 56K of protected RAM.$345. Periscope II has break-out switch.$175. Periscope II-X (software-only model).$145. Periscope III has break-out switch & board with hardware breakpoints, a real-time trace buffer, and 64K of protected RAM.. .CALL. The PERISCOPE Company, Inc. 14 Bonnie Lane, Atlanta, GA 30328 404-256-3860 800/722-7006 B CIRCLE NO. 215 ON READER SERVICE CARD SUBSTANTIATED. SUPREMACY It's a bold claim. A claim we're prepared to stake our reputation on. And at Computer Innovations, we've always taken our reputation very seriously. It's no industry secret that the competitive C Compilers are at the end of their optimization cycle — they're just about as good as they are going to get. C86PLUS begins where everybody else has left off. It's an entirely new technology based on artificial intelligence and advanced compiler design techniques. Designed with the serious programmer in mind, C86PLUS provides the ultimate development environment, matching unparalleled execution speed with a host of productivity features. FAST EXECUTION • 20% faster than Microsoft C, version 4.0 • 70% faster than existing C86, version 2.3 (timings based on the classic sieve benchmark) ANSI C COMPILER FEATURES • Register variables • Structure assignment • Function prototypes • New type modifiers -near -far -signed -const -volatile • Long double 80 bit floating¬ point • Enumerator data types (enums) • Extended preprocessor capabilities FULL CONTROL OVER COMPILATION ENVIRONMENT • Small, Medium, and Large memory models • 8086/80186 and 80286 code generation options • In-line 8087/80287 floating point • 8087/80287 auto detect emulator • Source level debugger support • Wild-card compilation • Make utility • ROMable code • Linkable with macro assembler output • Intel-standard OMF object files • Optional assembly language output • Warning level control EXTENSIVE FUNCTION LIBRARIES FOR INCREASED PRODUCTIVITY • Over 250 library functions • Full ANSI C library • Functional equivalents to most UNIX System V libraries • Shared file and network support • Low-level machine access functions • IBM ROM BIOS support routines • Fully compiled small, medium and large model libraries • C library source code • Run-time start-up source code • Source code librarian • Object code librarian MICROSOFT COMPATIBILITY If you're a current Microsoft user, we invite you to consider this simple point. C86PLUS will recompile most applications developed using MS-C with¬ out changes to your source code. You'll find that your application runs much faster. PROVEN EXPERIENCE In 1981, Computer Innovations and its founder, George Eberhardt, revolutionized the DOS programming world with the introduction of the first C Compiler for the PC called C86. Today, C86 boasts a satisfied and loyal user base of over 20,000 programmers worldwide. C86PLUS represents an extension of this expertise and reputation. It's backed with more than a decade of intensive research and develop¬ ment. PROVEN SUPPORT Making the claim that C86PLUS is supreme is one thing, standing behind it is another. Computer Innovations has always offered timely and in¬ telligent technical support, and this is an important customer service which we do not intend to change. CALL TO ORDER The call is on us. For more information or to order call: 800-922-0169 or 201-542-5920 (in Nj) COMPUTER INNOVATIONS 980 Shrewsbury Ave. Tinton Falls, NJ 07724, USA Telex: 705127 COMP INNOV UD C86 PLUS is a trademark ol Computer Innovations, Inc. Microsoft is a registered trademark ol Microsoft Corporation. UNIX is a registered trademark ol AT&T Bell Laboratories IBM is a registered trademark ol International Business Machines Corporation ©1986 Computer Innovations. Inc. CIRCLE NO. 144 ON READER SERVICE CARD N‘ :rr ns ve ve S^emO^PI^EkcttontoiOttce W*bCo™purer Center Oftketech OtVarCtropany Olartt, Ok n Research <™"S Software Srttrim Op»« Ora Systems Onct id nm Fihresbs* PG&E £''?'■ 7 1 !'. ftoc^SfMtoActfcManafBOoriil >; i Vs,«n fcat Marwick

    w Mitch ell Pqpwi Software »•«,.,Inm ,re- F. rk.n Elmer fcrsoft FVnonal Computer Products Pent Logic Systems Pham ix oci tc Ajsocbra Phon e I Phown ffatfix International PCoSoh Pick Systems Pttnei Bowes Phambk Systems Man*] Pblwen lyjiun software IHvte nMItch Priam I na, avert, SlMriuS Prime Computer Princeton University Printer Systems Pro-Loe Project jxttware rolan I foods Information System Protocol Computet Puritan Bennett Qua d ram Quint ar Quotrnn Systems RCA Reuters Kacal Vad.c RatnaJa Inns Raytel Raytheon Company Rdlecume Relat.onal Technology Rcltahtltiy Center Rochester Instalment

    stents Rockwell International Rohm & Hats Rolm RoseSofi SAS Institute Sensory Servio Logic N-Dex Labs Singer Kearfott Sm.th Uta I focmlng Softpro Space Lab Spamf Step Engineering Summa Four Sand,, , Systems banning Management Schlage Electronics Sentry Systems Shatfsta.il Shell Development Shell Oil Siemens Sierra On-Line Simplex Time Recorder Singular Solutions Small Computer Small Library Computing Softbridge Micro Systems Softcom Softlogic Solutions sottpro Softrak Systems Software Arts Software Construction Software Decisions Software Group Software Publishing Software Specialist Solution Technology Sony of America Sava Gantputing LTD Space Labs Sperry Spruce Technology JamT Structure Systems Studio Software Summa Four Surnmitr Software Technology Sun Micro Systems Symantec Synamitcal S^^
    .vnereist ic Sofrware Syncx Sysgen Systems for Automatic Test Sytek Tandy TBL TCI Teles it 71 Controls Trane TRW Tand® f Tandem U.mputers Tart Group Tersus StifruM^altoljWmcatic)™ Technicon Tcknekron Financial System^^imon^liTeledyne Itlerate Systems Telests TeleviJeHBBMMM-gl nstmmenjgjhaclcer Associates Therm, Tiketron ilmel.ne T.meplex Technical ifl I I Inion^Hfc.ittic G.ntt. I UUmUjfc haiwc Systems Trnnsnet Tclecmmuntc j ' ft- Triad angle N.ttware - 'HMa,,:, Jsend. Uhoratories Tymsh are Ultra f^os > Sofrw., r • ^FWand Umted WHAT'S THE SECRET DEBUGGIHG WEAPON USED BY EVERYBODY FROM BORLAND TO ORACLE? ANSWER FROM ATRON. FREE 44-PAGE “WE COULDN’T HAVE DONE IT WITHOUT ATRON’S HARDWARE-ASSISTED SOFTWARE BUGBUSTERS 3 COM ADP AMP ARQAMS AST Research AT&T Accent Software Access Technology Accufiber Accurex Activ'e Voice Activision Actrix Advance Tech¬ nology Advance Telecomputer Systems Advanced Digital Aetna Akron Standard Philippe Kahn Borland Pres. Larry Ellison Oracle Pres. ... .. Allen Bradley Alloy Computer Products Alpha type Alsvs Alternative Technologies Amber Systems Amencan Airlines American Computer Products Boeing Booker Ramo Bain Com- e ny Ballistech Boston Bankers Trust Banyan Systems Barter Coleman ron Beatrice U.S.Fbods Beckman InstnitUcnts BeJJ Cummunicatiorxs Bt 11 Northern Research Bentley Systems Berkeley Graphics Berman technologies Biocom Bizcomp Blat.se Computing Boeing Aerospace Boeing Computer Systems Borland International Bolder Software Group Bcig Systems Bridge Communications Bridge Systems Bubble Soft Bunker Ramo Caima CDJ Omec Ueher CN A Insurance CPT CRT Group CText Cuhicomp Q.lliner Software CXI Cableshare Cadrmk ealiforniaCompurcT Prixlucts California Network Systems Cjmnhell Soup Company«. itnadian Pacific Wilway Candella Candle Gipstune Technology Carnegie Mellon Cellular Systems Center Chevn>n Corning Cintcl Cipher Data CircadmnCitikmk CmcoipCohctcnrQ>lunranCuirurcn( A»mp.iq Uimpusync Gimpucom CiMnpitgranhic Computer Aided Management G >mpurer Library R -uvr (. < ,m- puri r Research Computer Sciences Compt iter Technology Cotnrerm Convene Techt*>1. >gj 11. mi etiti ic oy.tcnis Concept Technologies Gmcurrrnt Sciences Gvmiolidated Controls Cansolidatai Data Pro¬ cessing Control Pt./cess Conte Granddl Development ( at. n r QAtcomp Gtllinet Curtis Cu, n < ta “ - L ' '• • " ipraem D ' urn Databdir Life Imurance. Gtncial I hit.i Fm; D1 Re Dt Di Dt El. Ex s d- Gi M tic M In f F Jai La U M ! ran (i. Dafct fal Eciti i Dm; This is the city saved by the Atron bugbusters. Your city. Full of wizards, with hundreds of millions of dollars invested in wringing every ounce of intelligence and performance out of your PC. It used to be plagued with the toughest software bugs known to man¬ kind. PLAGUES OF BIBLICAL PROPORTIONS The first and most difficult plague was impossible to trap with software debuggers. These were carnivorous bugs which randomly overwrote programs, data, even the debugger. Nastiest were the ones that slipped in once every few hours, or changed their behavior after each new com¬ pile. Forty days and forty nights of recompiling, trying something else , caused many a would-be resident of the city to run screaming into the wil¬ derness, never to be heard from again. Second came the plague of not knowing where the pro¬ gram was, or where it had recently been. This com¬ pounded the first plague: How could anyone know what caused the random memory overwrites? Add to this ran¬ dom interrupts and timing dependencies, and you begin to understand The Fear that gripped the city Then came the last plague, which brought the wizards to their knees before they even started debugging. Their tow¬ ering programs consumed so much memory, there wasn’t enough room for their symbol table, let alone debugging software. Even if they could get past the first two plagues, this one killed their firstborn software. ENTER THE HARDWARE-ASSISTED SOFTWARE BUGBUSTERS The Atron solution came as a revelation: Monitor every memory reference and every instruction executed, by adding a hardware board to the AT or PC with an umbilical probe to the processor. The result? Wham! The PC PROBE™ and the AT PROBE™ saved civilization as we know it. The first plague was cured with PROBE’S hardware-assisted breakpoint traps on reading, writing, executing, input¬ ting and outputting. These could be done on single or ranges of addresses, and could include particular data values. All in real time. For a mere software debugger to attempt this, a 1 -minute program would take 5 hours to execute. Iv.ta D .lir.C l>.',Miner Dm ran [*xi«inn es :■ IC : is I i^iaKnosiiL retrieval uiaiogic uicomca uictapnone Oil ov •m tat E< *ts yl m r 1 IE Ba ta rie un Fl et •s' t 1 os tit lo 1 I s/ 2c nt f n no uli a | 'St- ill si si !er ;es rte ire T ce ,1s Kt e< jn SI Jtc iel In ;d el Sit Ml iaf ’l' in s en cs si a 1 da M ro M • • -rat M . itt ro • sis •y uturob Mtjuse Syxicnu Mubtc. >r : S.A'rir:, inslrum^tif.-.

    -nr Center Analytical No . rn lit; ; -nt! Fe :• .• I •: - bis\ • MC :il • m Sofiwatv Tom

    xk fWarch N. •er ns ' rerns is System Nr* York Tune: No PROBE displays the program execution in detail, including sym¬ bols and source code for C, Pascal, or assembly language pro¬ grams. Which shows how out-of-range pointers got that way. The third plague, not enough room for the debugging symbol table to be co-resident in memory with a large program, was cured with 1-megabyte of on-board, hidden, write-pro¬ tected memory. System memory was then free for the program, keeping the symbol table and debugger safe from destruction. When the job of bugbusting was done, the wizards used their PROBEs as performance analyzers. So they could have both reliability and perfor¬ mance. So they could send only the best software into the field. IF YOU AREN’T AN ATRON CUSTOMER, ODDS ARE YOU WON’T BE MAKING THE TOP-TEN LIST. On any given week, at least nine of the top ten best-selling software packages on the Soft- Sel Hotlist come from Atron customers. Ever heard of Borland? “Without Atron,” says its president Philippe Kahn, “there wouldn’t be a Side- Kick™, Turbo Lightning™ would be light-years away, and Turbo Prolog™ wouldn’t be shipping today.” Ever use a spreadsheet? From Enable™ to Paradox™, their bugs were busted by Atron products. Into DBMSs? Everyone from Ashton-Tate to Oracle owns at least one Atron bug- buster. If you use a product from one of the companies in The City , you owe life as you know it to Atron. Our guess is that 99% of all PCs, XTs and ATs have at least one product debugged with Atron bug¬ busters. FREE 44-PAGE BUGBUSTING BIBLE COULD MAKE YOU A PROPHET, AND YOUR COMPANY A PROFIT. We’ve written a complete tutorial on state-of-the-art bugbusting. And it’s yours, free for the asking. Full of examples and illustra¬ tions, it will show you how the wizards work their magic. If you’re tired of suffering the wrath of program bugs, call Atron today. You could be busting bugs, and sales records, tomorrow. The second plague, not knowing from whence you came, was cured with PROBE’S real-time trace memoiy The history of program execution is saved on-board, in real time. Once a hardware trap has occurred, THE BUGBUSTERS 20665 Fourth Street • Saratoga, CA 95070 • 408/741-5900 Copyright © 1986 by Atron Corp. PC PROBE™ and AT PROBE™ Atron. The other fine companies mentioned throughout this advertisement own numerous trademarks. Adv. by TRBA. CIRCLE NO. 203 ON READER SERVICE CARD DIRECTIONS WILL FASTIE Far Afield with Windows In which our intrepid editor allows software developers to vent their spleen. I t should come as no surprise that PC Tech Journal is deeply interested in Microsoft Windows. I should qualify this comment: not everyone on the staff is as interested as I, and there is consider¬ able debate on the subject internally. I suppose no debate would be warranted were the subject uninteresting or, worse, were no other alternatives, such as GEM or DesqView, possible. In fact, the emergence of the 80386 and the probable availability of a protected- mode operating system for the 80286 has motivated a rash of companies to work on operating environments, some of which could prove interesting. One reason for following Windows is its creator. As far as operating systems and environments go, Microsoft today is the single company of greatest in¬ fluence. It has the resources to pursue a product until it takes hold in the market and the opportunity to influence the underlying operating system’s design to the benefit of the user environment. The company suffers only from technol¬ ogy lagging behind its vision. Having previously spoken kindly of the product, I may seem two-faced when I say that Windows does not cut the mustard. Although I do believe in the potential of the concept, the current implementation of Windows is unattrac¬ tive for a variety of reasons, some of which Microsoft can quickly fix and some of which require technology to come to the rescue. A fixable example is the user inter¬ face, which is pretty good for the nov¬ ice but less than compelling for the ex¬ pert. It is especially cumbersome for software developers, who for many pro¬ cedures resort to the more complete DOS command line interface. Microsoft needs to get as many experts and devel¬ opers as possible interested in the product if it expects a substantial base of software to be written. Improvements to usability, extensions to attract expert users, and a superior software develop¬ ment methodology should be a high priority at Microsoft; I am somewhat concerned that the company is not as aware as it should be of the current state of human factors research. Another area of difficulty is per¬ formance. Windows needs lots of pro¬ cessor and memory. Even with a better, faster processor, like the 80286 or 80386, Windows gets bogged down try¬ ing to keep multiple applications avail¬ able in the DOS 3.x-constrained 640KB of main memory. Here, Windows must be rescued by technology, possibly Microsoft’s own. The product needs hardware-supported memory manage¬ ment and better support for multitask¬ ing; in short, it needs a new operating system that embodies the concepts present in most minicomputer environ¬ ments. It will also benefit from the new generation of microprocessor-based graphics cards soon to hit the market. Even if Windows is improved in these areas, it still must deliver a critical mass of applications to the user com¬ munity. This may be Windows’ greatest failing: few programs have been written to exploit the environment, and those that have are not completely compel¬ ling. One other performance problem with Windows may be to blame: it han¬ dles text very slowly, especially with nonsystem fonts. What really worries me is that I do not see a rush of developers working on Windows applications. Why? WINDOWS PAINS For the last several months, I have con¬ ducted an informal and unscientific sur¬ vey (in other words, I talked to them whenever I could) among developers of products designed to operate in the Windows environment. I have been es¬ pecially interested in those developers who either already had products for the Apple Macintosh or were developing for both the Mac and Windows. The purpose of the conversations was to de¬ termine the degree of difficulty of soft¬ ware development in both environ¬ ments as a way of better understanding Windows in particular. A second pur¬ pose was to determine developer satis¬ faction with each environment. Generally speaking, most develop¬ ers agree that software development in either environment is more difficult than writing a program for execution under DOS, or even a more sophisti¬ cated system such as VMS, UNIX, or AOS/VS. The worst part, they also agree, is the learning curve. That first applica¬ tion will take as much as twice as long to develop; subsequent programs bene¬ fit from the learning curve but still re¬ quire additional resources. FEBRUARY 1987 9 ILLUSTRATION • MACIEK ALBRECHT DIRECTIONS Windows gets soundly rapped for that long learning curve. Most develop¬ ers blame the very poor state of the documentation. One vendor rates Apple documentation for the Mac 9.5 out of 10, while awarding Windows a paltry 3. Detractors claim that Windows’ docu¬ ments are incomplete, full of errors, and badly organized. No complaints were registered about the Mac books. Developers converting from the Mac find that several important facilities, supplied as part of the Mac environ¬ ment, are not present in Windows. One example, easily observed by the end user, is Windows’ lack of a standard file selection dialog box methodology. This oversight is evident even in Microsoft’s own utilities, which use different file selection techniques from program to program; if the feature had been part of Windows, Microsoft’s developers would have used it. Other areas mentioned in¬ clude text editing (having the environ¬ ment do editing as part of text input), scrollable lists (such as those in the file selection boxes), and drag gray region (moving an object on the screen). One developer complains that with the Mac, the hardware is a known quan¬ tity while with Windows, it is unknown. Of course, hardware independence is supposed to be a strength of Windows; this developer clearly longed to exploit the hardware and is frustrated by the lack of direct control within Windows. It is also clear that the information Win¬ dows can provide to the application about the attached hardware is probably too limited for most developers’ tastes. Hardware independence provokes another complaint. Although Windows is touted as WYSIWYG (what you see is what you get), the developer has to work quite hard to make this happen. Mac developers claim to have it by de¬ fault; Windows developers say that what you see on the screen may not come out that way on the printer until the ap¬ plication is properly tuned, and finding the tuning knobs apparently is not easy. Again, this seems to be a case of captive hardware on the Mac versus the open hardware of the PC. Curiously, only one developer touted the advantage of hardware inde¬ pendence from a time and resource point of view. A strength of Windows should be that it prevents the software developer from having to develop drivers to cope with the hundreds of possible display and hard-copy options. However, most developers do not re¬ port any time savings to date. This may be due to the number of drivers cur¬ rently available and the fact that the de¬ sign specification for the driver inter¬ face has not stabilized. Finally, there is almost universal objection to the style and quality of Microsoft technical support, and equally universal praise for Apple. The major problem seems to be that Microsoft is slow to turn around the answers and, because it isolates the development staff, often loses information as the problem is first translated to the Micro¬ soft development team and back again to the questioner. According to Mac de¬ velopers, The Macintosh support pro¬ gram allows direct contact with Apple’s internal development staff and thereby generates quick, accurate information. I asked Microsoft to respond to some of these support criticisms. A spokesman pointed out the company’s primary sources of support. The first, the Microsoft Windows Development Seminar, is presented periodically around the country. The price varies from $450-650, depending on location, and includes a copy of the Windows Development Tool Kit. Microsoft also offers two 5-day courses at its headquar¬ ters in Redmond, Washington: an intro¬ ductory course for $450 and an ad¬ vanced course for $550. Another source is DIAL, an on-line support service. PC Tech Journal has not had an opportunity to evaluate the service since it was restructured; for¬ merly, we considered it far too expen¬ sive. DIAL is apparently under revision again, and we do not yet know its final form or cost. I am surprised that on¬ line, passive service is not free, to en¬ courage the development of the appli¬ cations Windows desperately needs. A common theme rings through all these objections. An environment such as Windows is desirable because of its philosophical foundations, such as hard¬ ware independence, its virtual graphics interface, and its user interface. Support for Windows is growing, albeit more slowly than Microsoft might like. From the complaints noted here, that growth is anything but painless. 1 "" 1111 jjH ERRATUM My December editorial (‘The RT Mys¬ tery”) contained two errors. At the top of the second column on page 12, the numbers 240 and 224 should have been 2 40 and 2 24 . We regret the error. UNDERSTANDING PERFORMANCE This month’s issue of PC Tech Journal has a lot to do with performance. Our cover story, an overview of the archi¬ tecture of the Intel 80386 processor (p. 50), leads into what will become ongoing coverage of the newest desk¬ top performance champ; we will fol¬ low next month with a comprehensive review of the Compaq Deskpro 386. At the same time, this issue includes the first of several articles examining accelerator products for PCs and ATs (p. 126). The market is flooded with such products, from faster clocks to add-in 80386 boards, that improve the per¬ formance of the PC. These products are often attractive because the next performance increment, in the form of a complete system, can be very ex¬ pensive. Building a better machine in stages can mitigate these costs. The process of choosing from the long list of possibilities is much more difficult than adding memory or serial ports, and much more frightening. Ac¬ celerator products do not just extend the existing system, they fundamental¬ ly alter it. How the “new” system will work is something that the careful analyst must understand well in ad¬ vance. The tendency is to think purely in terms of raw CPU power, but other factors influence performance as well. Graphics performance, I/O (bus) bandwidth, disk speed, and floating¬ point operation can each profoundly affect the bottom-line performance of the application. Worse, combinations of these factors are the more usual case, making the task of optimizing a system configuration for a particular task very difficult if the machine is put to general-purpose work. PC Tech Journal is presenting the examination of accelerator products because we believe they offer viable opportunities for the millions of 8088- based computers. Our conclusions about the products are conservative; as is our custom, we are providing as much information as we can, but we rely on the common sense of our readership when it comes to making product decisions. We urge you to analyze your environment carefully and then choose and recommend the options that most closely address your and your client’s requirements. —WF 10 PC TECH JOURNAL C Programmers! dbj/lSTA": high-speed Database written exclusively for C NOW offers SQL-based Query “db_VISTA™has proved to be an all-round high performer in terms of fast execution.. JohnAdelus, Hewlett-Packard Ltd. H igh-speed data retrieval and access... just two benefits of using RAIMA’S network model DBMS, db_VISTA. Combine these benefits with those of C—speed, portability, efficiency, and you begin to understand db__VISTA’s real measure... performance. dtLQUEflY ": new simplicity retains performance! db_QUERY, our new C-linkable, SQL based, ad-hoc query and report writing facility.. .provides a simple, relational view of db_VISTA’s complex network database. No longer will you give up performance for simplicity ... combine db_QUERY with db__VISTA ... you have both! Independent Benchmark proves High-Speed model 2.76 times faster An independent developer bench- marked db__VISTA against a leading competitor. Eleven key retrieval tests were executed with sequentially and randomly created key files. ♦Result of 11 Key Retrieval Tfests db_VI$TA :671.24 seconds Leading Competitor :1,856.43 seconds db_VISTA’s high-speed network database model lets you precisely define relation¬ ships to minimize redundant data. Only those functions necessary for operation are incorporated into the run-time program. Application Portability Complete Source Code For maximum application portability, every line of db__VI3TA’s code is written in C and complete source code is available. db_VISTA operates on most popular computers and operating systems. So whether you write applications for micros, minis, or mainframes.. .db_VISTA is for you. How db_VISTA works... Design your database and compile your schema file with the database definition language processor. Develop application programs, making calls to db_VISTA’s C functions. Edit and review your database using the Interactive Database Access utility. Compile and link your C program with the db_VISTA run-time library, and your application is ready to run. Multi-user and LAN capability Information often needs to be shared. db_VISTA has multi-user capability and supports simultaneous users in either multi-tasking or local area networking environments, allowing the same C appli¬ cations to run under UNIX, MS-DOS, and VAX VMS. Royalty-Free Run-Time Whether you’re developing applications for a few customers, or for thousands, the price of db_VISTA cr db_QUERY is the same. If you are currently paying royalties for a competitor’s database, consider switching to db__VISTA and say goodbye to royalties. FREE Technical Support For 60 days Raima’s software includes free telephone support and software updates for 60 days. Technical support personnel are available to answer questions about our software or yours. 30-Day Money-Back Guarantee Try db_VISTA for 30 days and if not fully satisfied, return it for a full refund. Price Schedule
  13. 20-day money back guarantee on most products. Merchan¬ dise must be returned in resalable condition. Call for details.
  14. Shipping info: On orders over $100, we ship free UPS 2nd day air. On orders under $100, shipping is $5. Ship¬ ping on computers is extra.
  15. Prices subject to change without notice.
  16. Delivery subject to product availability.
  17. P.O.’s accepted from qualified institutions.
  18. After 20 days, products can only be returned for repair or replacement. On products not covered by the money back guarantee, they can only be returned for repair or replacement.
  19. VISA and MasterCard

    accepted. COD available at an additional cost. 354

    On all orders over $100 to destinations east of the Rocky Mountains. CIRCLE NO. 147 ON READER SERVICE CARD NOW INTRODUCING VIRTUAL MEMORY SUPPORT BetterBASIC with the optional Virtual Memory Manager can now address 400,000,000,000 bytes of memory! BetterBASIC Application Development System $199.00 The BetterBASIC Application Development System provides very close compatibility with PC-BASICA and GW-BASIC, yet provides numerous new and sophisticated language features such as: program Block Structures, recursive Procedures and Functions with local variables, structures, Records and Pointers and last but not least support of large memory. ■ Virtual Memory Manager $99.00 The Virtual Memoiy Manager expands Better- I BASIC’s data space into the giga-byte range and finally breaks the 640k byte barrier for array sizes. Not only can you directly address all expanded memoiy supported by L1M/EMS memory boards, you can also address any RAM Disk, Hard Disk or even a Floppy Disk as if they were ordinary RAM. ■ Virtual Memory Manager- Network Version $250.00 | This version of the Virtual Memory Manager allows Virtual Memory to be distributed throughout a Local Area Network. It also provides File, Records and Field Locking to control access to shared data. ■ C-Link $99.00 This software package allows BetterBASIC to ~»_J access C-language library functions from within BetterBASIC. Currently supported are Lattice and Microsoft C. ■ Screen Design System $199.00 This package truly takes the drudgery out of . creating display screens and data entry screens. An interactive Screen Editor lets you “paint” your display screens exactly as you want them to appear in your pro¬ gram. The completed screens take the form of disk resident images. A run time library module provides many new BetterBASIC procedures and functions for interacting with the display screens to simplify the use of pop-up menus and data entry screens. Btrieve™ Interface $99.00 This is a high level BetterBASIC interface to the ever popular Btrieve™ file manager from Soft- Craft. Instead of Assembly language calls this module provides high level BetterBASIC program access to all Btrieve™ functions. Use it to design your own database application in BetterBASIC. ■ 8087/80287 Math Module $99.00 This module allows you to use the 8087 or 80287 co-processor to significantly accelerate programs which are floating point calculation intensive. ■ Decimal Math Module $99.00 If you are a business programmer, you are probably frustrated by the many roundoff problems caused by ordinary IEEE format floating point numerical operations. The BetterBASIC Decimal Math Module which offers variable precision from 6 to 24 digits, drastically reduces roundoff problems in business applications. ■ BetterTools™ $99.00 This is a collection of more than 150 useful extensions to BetterBASIC such as time and date computations, encryption and decryption, low level file directory access, hyperbolic function and much more. No BetterBASIC programmer should be without BetterTools™. CIRCLE NO. 195 ON READER SERVICE CARD BetterBASIC is GW-BASIC and PC-BASICA compatible; runs on IBM PC and compatibles. HARDWARE REQUIREMENTS ADDITIONAL BetterBASIC STATEMENTS CPU: IBM PC, IBM PC XT AT, COMPAQ, IBM PC Compatibles ANY ARC END MAKE SAVE PAR Memory: 256KB min up to 640KB append procedure program save screen Display: Monochrome or Color ASH endproc max scope- Disk Drive: One 5 l A" floppy, single or double sided ASSIGN ERRORMODE MAX$ SCRATCH Operating Systems: MS-DOS 2.0,2.1,3.0,3.1 AUTODEF EX 'T MEM SEC BINS EXIT G0SUB M1N SELECT BREAK EXIT X LEVELS MINS SET BREAK OFF EXTERNAL MODULES- SET CURSOR bye FRAME OFFSET SH BYT ON INTERRUPT SHELL rytf WINDOW PRECISION- o I7F DI ILL. LTDETirniQU’ 014.11. RVTF ARP rREEDlSK PRINT TO Q17F«_ BYTEARG GOTO END print Tf> SIZES- BYTE ARRAY HEADER USING SPAN BY arc ARRAY input from procedure stack- AR0 me PROPS- STATUS-

    BYTE ARRAY INb$ PROGS- STATUSLINE PTR INTEGER PUBLIC siaiuslune, BYTE ARRAY INTEGER ARC READ RECORD „„ STRUC INTEGER READCHR STRING ARC BYTE PTR ARRAY READCHR STRING ARRA1 CHANGE INTEGER FROM STRING ARRA1 CHARS ARRAY ARC READLINE “ CHECK IN ARRAY PTR READLINE S ™NG ARRA1 ARRAY PTR FROM rl K LLU INTEGER RFAnRFPORn STRING ARRA^ CLW ARRAY STRUC READ REC0RD STRUC CODE INTEGER REAL STRING COLOR FUNCTION REAL ARG FUNCTION BORDER INTEGER PTR REAL ARRAY STRING PTR COMMANDS INTERRUPT REAL ARRAY STRUCTURE COMPRESS INTERRUPT ARG SYSCALL CONSTANT CLEAR REALARRAY SYSCODE DEFINE 'NTERRUPT real SYSFLAGS WIND0W INTERRUPT FUNCTION type DELS PROC REAL PTR UPPERS DIR$ INTERRUPT RENAME WHILE... DO DISABLE RESTORE REPEAT WINDOW INTERRUPT RESTART WOR D ° IF RESTORE PAR WRITE RECOF DO UNTIL INTR RESTORE WRITE TO DO X TIMES KEY= SCREEN X MEM DRIVES KEYWORD ARG R£SULT= XMEM = DYNAMIC KEYWORD SET RETRY XREF END DO LIST ALL ROT END FUNCTION MAIN SAVE MODULE MAKE MODULE DATATYPES: Numeric Data: BYTE, range: 0 to +255 INTEGER, range: - 32768 to + 32767 REAL, range: Single Precision 8.43xl0' 37 to 3.37xl0 38 Double precision 4.19xl0' 307 to 1.67xl0 308 Binary Math, Single/Double/Mixed Precision Mixed mode numeric expressions will always be REAL. String data: Variable from 0 to 32767 characters in size. Record Variables: Allows grouping of dissimilar data types into a single logi¬ cal variable. Elements of a RECORD are addressed as FIELDS and can be of any type, including ARRAY, RECORD and POINTER. Array Variables: N-dimensional arrays of any type, including ARRAY, RECORD and POINTER. Dynamic arrays like PC-BASICA Pointer Variables: Allows indirect reference to any data type. Can be used with RECORD variable to create linked lists, or to create relational data structures. In addition supports PC-BASICA record types. BetterBASIC BENCHMARK COMPARISON in milliseconds Better BASIC IBM INTERPRETIVE COMPILED REAL FOR/NEXT ASSIGNMENT MULTIPLY Microsoft Statements Not Supported DEF USR MOTOR PEN STRIG MERGE ON PEN STICK USR ON STRIG Call our Toll Free Order Line DIVISION logarithm Exponential COSine TANcent Summit Software Technology, Inc. 106 Access Road Norwood, MA 02062 (617) 769-7966 SQR (SQUARE ROOT) SP = Single Precision DP = Double Precision BetterBASIC is also available from TANDY/RADIO SHACK Computer Centers. Ask your dealer for Express Order Software

    90-0315 for BetterBASIC, and

    90-0303 for Runtime System.

    BetterBASIC is a registered trademark of Summit Software Technology, Inc. IBM PC, XT, AT, are registered trademarks of International Business Machines Corp. 'fendy is a registered trademark of Tmdy Corp. Lotus™ and 1-2-3™ are registered trademarks of the Lotus Development Corp. Intel © Intel Corp. HALO © Media Cybernetics, Inc. GSS © Graphic Software Systems, Inc. Lattice C is a registered trademark of Lattice, Inc. Btrieve is a registered trademark of SoftCraft Inc. BRIEFO THE PROGRAMMER’S EDITORJ^ - dBRIERj* THE dBASE PROFESSIONAL’S ASSISTANT “dBRIEF Turns BRIEF into the Smartest Editor dBASE Has Ever Known”. DAVID IRWIN CUSTOMIZES BRIEF FOR dBASE III Since its introduction, BRIEF has been sweeping programmers off their feet. Why? Because BRIEF has every feature they need. Now, with the introduction of dBRIEF, you can take advantage of BRIEF customized to become a complete integrated environment for development with dBASE III and III Plus, CLIPPER or dB/III Compiler MORE EFFICIENT DEVELOPMENT Increase Your Productivity Developing an application in dBASE can be quite a tedious process considering all that dBASE can’t do. To compensate, some programmers use several utility programs that have to run separately, and then integrate the results into one application. This slows you down — you spend more time watching your computer than you do programming. dBRIEF gives you a central core — a single work area with common commands and op- :onsistency. uiaiaiciiv.y. 3V1SOR, and n s i 0n BRIEF IS j
    the Sa ?Ls°been customized for System Requirements dBRIEF requires BRIEF, version 1.32 or later, and IBM or IBM compatible hardware with hard disk media. At least 384k RAM, 512k RAM is recommended if you want to operate dBASE within dBRIEF, and 640k RAM is preferred. Floppy systems are not recommended . A SINGLE PRODUCTIVE ENVIRONMENT Save time and reduce mundane work using dBRIEF. Without ever leaving the dBRIEF core you can: • Generate dBASE code for interactive data entry by drawing the screen with BRIEF. • Use the special “speed coding” libraries to write your programs with the absolute minimum number of keystrokes. • Optimize your dBASE code. • Compile a program (using Clipper or the dB/III Compiler) with 1 keystroke. • Indent code automatically. • View several files simultaneously. • Automate line and column input for SAY and GET. • Run DOS programs like dFORMAT and dCONVERT. • Easily enter graphics characters. • Select colors or video attributes for your screen. • Customize dBRIEF to your needs. • Modify the dBRIEF source code. PgentieyiflGf NT_NUn sele 1 find &agentiey PdgnancrtrirtCflGEMTLBST)", "♦IrinCBGEH Pfaman:trir")"PM0AE HUH . PagiucflffNT HUH PaddressiRDOftSS Paddres£RD0f5SS2 PtiUclrinCCITY)", "♦STRTE*" "♦ZIP PtonulevrCOHTRLEU if COHTRLE.and.GA2 HUflhpace(8) • this is a Sub $q*rf«fGfl2_HUn else ♦ this is a Gfl or a Producer Superfey:GAl HUH endif
  20. afentnas.slr — UORK AREA : 01 RUBS : AGEHMAS DATA BASE IN USE : C:\DeASE\AbENTIlRS.D8 fl dBASE-lll FILE STRUCTURE : Fid Mane Type length : i Col: i t: Ob .i View your file structure while you program. PROGRAM EDITING YOUR WAY A typical program editor requires you to adjust your style of programming to its particular requirements — NOT SO WITH BRIEF. You can easily customize BRIEF to your way of doing things, making it work naturally, intuitively. BRIEF can be used for any programming language. Even with¬ out dBRIEF it provides: Full UNDO (N Times) Multiple files, Unlimited size Language sensitive user controllable features Exit to DOS inside BRIEF Uses all available memory Keystroke Macros Reconfigure keyboard Windows Regular expression search Horizontal scrolling Comprehensive Error Recovery Programmable Macro Language EGA and Large Display Support Compile within BRIEF Adjustable line length - up to 512 “[dBRIEF] acts as the central command post for writing and editing dBASE programs with BRIEF, but it does much, much more to increase your productivity .” — PC Magazine, July 1986 MONEY-BACK GUARANTEE Try BRIEF and dBRIEF ($275) for 30 days - if not satisfied get a full refund. If you already own BRIEF, buy dBRIEF for only $95. call (800-821-2492) -Solution
  21. 80). Considering the short time they had to work with it, their assessment was reasonably complete. However, a few other items should be mentioned. For the past seven months, I have been using a Compaq Deskpro 286 at home and an IBM PC/AT at work to do Pascal program development. A short time ago, we purchased a Compaq Por¬ table II at work, and, in many respects, I like it the best of the three. In January, I purchased a Deskpro 286 Model 1 with the intention of adding my own hard disk. Overall, I found the dealer (Computerland) was not knowledgeable enough to answer even the simplest technical questions. However, after about two months, the store did manage to supply the techni¬ cal reference manual that was ordered at the time of the original purchase. On the other hand, the Compaq customer service people were very helpful when l was trying to find the jumper settings for a memory upgrade to 2.1MB. Inci¬ dentally, the memory board must use all 64K- or 256K-bit chips. Something that the authors com¬ pletely missed is that most Compaq disk types do not correspond to IBM disk types. I found this out the hard way. I installed an IBM type 8 in my Compaq and found that the heads were hitting the stops. The solution was to define it as a Compaq type 6 and give up the use of 1.5MB of disk space. So far, I have not been able to find out how to set up for a non-Compaq disk type. On the matter of keyboards, I like the Compaq keyboard better possibly because I pound the keys fairly hard and the IBM gives me the feeling that it will fall apart any minute. The spacing between the function keys and the main keys is smaller on the Compaq and this causes some problems when using function key overlays (such as the one used with WordPerfect). The Portable II function key location causes me some problems when I go back and forth be¬ tween computers. Going back and forth between the old and new AT keyboards is much worse than going between the two Compaq keyboards, however. I am using an STB EGA+ card in my home Deskpro. The Portable II at work was purchased to do held soft¬ ware maintenance on a product that uses an EGA-equipped AT. For this rea¬ son, it would be desirable to.have an EGA card in the II. However, 1 have not been able to use the internal monitor on the II with an EGA card installed. It appears that if I wanted to drive an EGA monitor at some held location, I would have to open the II up and take out the Compaq card and install the EGA card. On the IBM it is possible to have a monochrome and color card installed in the cage and switch back and forth. The problem with the Compaq II ap¬ pears to be that it uses a color card to drive the internal monochrome display. Therefore, installation of a second color card causes problems. I have been told that a bug in the AT keyboard BIOS will cause an occa¬ sional system hang or crash when the system reset is done on the return from extended memory access. Experiences that people at work have had with their HP Vectras make me suspect that in re¬ spect to the keyboard BIOS, HP has done an exceptionally faithful job of cloning the IBM BIOS. I wonder, did Compaq avoid this problem? On other matters in the article, the Torx screws are a pain when you do not have the drivers. I am not sure what I’ll do when I need to replace lost Torx screws—probably replace them all with alien-headed screws. The interference on slot 1 caused by the brace is unfor¬ tunate because that is a 16-bit bus slot. The STB EGA+ is supposed to be mounted in slot 1 only, but it seems to work in slot 2. Backplate clearance around slot 1 is a bit tight and makes it impossible to plug in the monitor cable connector into a card mounted in slot
  22. The Compaq technical reference manual does not contain the BIOS list like the AT manual does, but overall I find it more useful for BIOS function applications than the IBM manual. In the final analysis, I am glad I chose the Compaq Deskpro 286. David L Spooner Wilmington, DE Unfortunately, the Compaq Deskpro 286 supports only IS hard-disk dfive types and does not have a type that cor¬ responds to IBM hard-disk type 8. IBM type 8 has 733 cylinders and 5 heads for a total of 31.9MB. As you men¬ tioned, the closest fit that the Deskpro 286 has is type 6 with 697 cylinders and 5 heads for a total of 30.3MB. The good news is that the Deskpro 386 has 32 additional drive types, for a total of
  23. Type 20 matches the characteristics of your add-in hard disk exactly. As for enhanced graphics in the Portable II, Compaq is one step ahead of your request. According to the com¬ pany, its new Enhanced Color Graphics Board (ECGB) will work equally well in the Portable II as it does in the Deskpro
  24. You can remove the Portable IPs

    old dual-mode display adapter, install the ECGB, and plug the internal display cable directly into the special (but un¬ documented) connector on the ECGB. This hoard will even drive the internal dual-mode display while in EGA modes, or you can connect an external en¬ hanced color display. —Steven Armbrust and Ted Forgerori PRO TURBO I was delighted to see PC Tech Journal provide a closer look at Prolog develop¬ ment tools in the November 1986 issue (“Prolog Arrives,” Michael Covington FEBRUARY 1987 17 LETTERS and Andre Vellino, p. 52), but your re¬ viewers have misunderstood the real advantages that Turbo Prolog brings to A1 development. Instead, they focused on the deviation from Clocksin and Mellish’s Programming in Prolog. Tur¬ bo Prolog is not a C&M Prolog, but then Turbo Pascal is not a Wirth Pascal; nor was it ever intended to be. The re¬ viewers have not looked closely enough at Turbo Prolog. Obviously, they ran their usual routines and disliked the fact that they had to modify them. There is a good reason why Prolog has not yielded commercial applications in the more than 10 years it has been around. Its first implementations were developed in universities for universi¬ ties, a situation in which ease of pro¬ gramming comes first and programs typically are not run more than once. In this environment, it often is enough to know that the program can work. The world of commercial applica¬ tion development is much more de¬ manding. In fact, the most important criteria is speed and compactness of executable programs: specifically as it pertains to development on microcom¬ puters. Your review points out the capa¬ bility of Turbo Prolog to generate pro¬ grams that run many times faster than any other Prolog; and the benchmarks in your article allude to this fact even though the authors make no mention of it in their review. These benchmarks show that Turbo Prolog runs from 2 to 40 times faster than the other compilers compared. In many cases Turbo Prolog was too fast to measure accurately. Many people have considered as¬ serting rules at runtime to be a very im¬ portant capability. In Turbo Prolog, this can be done with the database. While the assertion of new rules yields one important advantage—making it easier to build a Prolog or rule interpreter in¬ side Prolog—the question arises as to why anyone would want to do that. The reason for building a customized Prolog interpreter in Prolog is grounded in the fact that the standard Prolog interpreter is not good enough to support many applications. The programmer wants to do unorthodox things, such as firing the rules from the right to the left, or con¬ necting a certainty factor to the rules, or have some explanation as to why a par¬ ticular solution is reached. In these cases, Turbo Prolog is clearly the su¬ perior language implementation. While existing Prolog interpreters are very flexible, they are still restricted to a single inference mechanism be¬ cause they are too slow and require too much memory to be included in a cus¬ tomized inference mechanism for an application. Turbo Prolog provides the speed and small code size that allows a programmer to write a rule interpreter or inference mechanism that will be truly useful in real applications, while requiring very little extra effort. Furthermore, anyone who has done any significant programming in Prolog knows that one of the big draw¬ backs of Prolog has been the difficulty of debugging programs. Turbo Prolog’s type system, when combined with its trace capabilities, solves that problem. In addition, it is widely accepted that the disadvantages in having to declare types are more than compensated for by the fact that it’s much easier to cor¬ rect a mistake identified by the compil¬ er than to locate it as a runtime error. This situation is especially true in Pro¬ log because, by construction, Prolog fails when the types do not match. Here again, this is important if one wants to write real programs in Prolog. THE ATRON BUGBUSTERS BRING HARDWARE BREAKPOINTS TO MICROSOFT'S CODEVIEW You already have Microsoft’s CodeView.™ And you’ve seen our ads for the Atron hardware-assisted software debuggers. Right? You know, the Atron Bugbustersl We make the debugging tools used by 9 of the top 10 software developers in the PC market. Now, with our new MiniProbe™ shortcard, you can use your familiar watchpoints and tracepoints in real time. Without learning new debugging technology. Only $395 puts you into world- class debugging. With real-time watchpoints and tracepoints, a one-minute program will run in one minute. Not 50 hours (the difference between software-only debuggers and hardware-assisted debuggers is a 3000-to-l increase in efficiency). And if the program bug you’re trying to find has anything to do with interrupt activity, it might never occur when you’re debugging with CodeView alone. But with the Atron MiniProbe, you can trap events like reading and writing to memory or an 10 device. This solves the most common debugging problem: Out- of-range pointers which overwrite the program code or data. Often, the overwrite is different after each new compile of the program. The MiniProbe can also set a hardware breakpoint over a range of memory locations, helping to trap uninitialized pointers. And MiniProbe has a crash-recovery switch box, which lets you regain control of a frozen system. So now that you don't have to learn a new debugger, the only thing keeping you from debugging like the pros is $395. And our phone number: 408/741-5900. Call today. Bust bugs, and records, tomorrow. THE DEBUGGER COMPANY 20665 Fourth Street • Saratoga, CA 95070 © 1986 by Atron. MiniProbe™ Atron. CodeView™ Microsoft. Atron is a division of Northwest Instruments. TRBA CIRCLE NO. 249 ON READER SERVICE CARD 18 PC TECH JOURNAL WINDOWS FOR DATA™ The first choice of professional C programmers “Windows for Data is the best programming tool I’ve ever used. It’s the most flexible I’ve seen. Whenever I’ve wanted to do something, I’ve been able to find a way.” Steven Weiss, Stratford Systems Professionals choose our tools because they are designed, crafted, and supported for professionals. Here at Vermont Creative Software, we understand that performance and pleasure in programming derive from more than a long list of functions. Windows for Data provides: PROFESSIONAL FLEXIBILITY: Our customers repeatedly tell us how they’ve used WFD in ways we never imagin¬ ed - but which we anticipated by designing WFD for unprecedented adaptability. Vir¬ tually every capability and feature can be modified to meet special needs. You will be amazed at what you can do with WFD. PROFESSIONAL PERFORMANCE: Screen output is crisp and fast. Windows, menus, and data-entry forms snap up and down from the screen. WFD is built upon and includes Windows for C, the win¬ dowing system rated

    1 in speed and

    overall quality in PC Tech Journal (William Hunt, July 1985). PROFESSIONAL RELIABILITY: An unreliable tool is worse than no tool at all. VCS products are known in the industry for their exceptional reliability. Ask anyone who owns one. PROFESSIONAL DOCUMENTA¬ TION: Over 600 pages of documentation provide step-by-step explanations for each major application, a reference page for each function, listings of functions alphabetical¬ ly and by usage, and a fully cross-referenced index. Extensive tutorials and demonstra¬ tion programs assist learning. PROFESSIONAL TECHNICAL SUPPORT: The same expert program¬ mers that develop our products provide prompt, knowledgeable technical support. PROFESSIONAL PORTABILITY: High-performance versions of VCS products are available for XENIX, UNIX, and VMS, as well as DOS. No royalties. OUR CHALLENGE AND GUARANTEE If you have an application where no other tool can do the job, try Windows for Data. If it doesn’t help you solve your problem, RETURN FOR A FULL REFUND. YOU MUST BE SATISFIED. Ask for FREE DEMO DISKETTE Vermont 2iEimAve. Creative Richford, VT 05476 Software 802-848-7738, Telex: 510-601-4160 VCSOFT Prices: PCDOS
    $295; XENIX, VMS, UNIX Call.

    No royalties. Shipping $3.50.

    PCDOS specify C compiler. WINDOWS FOR DATA for DOS, UNIX, VMS... The complete windowing data entry, menu, and help system that does the hard job others can’t — we guarantee it! Pop-up data entry windows; field types for all C data types, plus decimals, dates, and times; auto conversion to and from strings for all field types; system and user supplied validation functions; range checking; re¬ quired, must-fill, and protected fields; free¬ form movement; multiple-choice field entry; scrollable sub-forms. Branch and nest win- , dows, forms, and menus. Complete context-sentitive help system with pop-up windows and scrollable text. Pop-up, pull-down, scrollable, and Lotus- style menus. NEW FOR DEBUGGING: Exclusive VCS Error Traceback System auto¬ matically identifies the location and cause of program errors. Eliminates the need to code error checks on all function calls! VCS Memory Integrity Check¬ ing helps catch those hard-to-detect, memory-corruption errors. NEW FOR ERROR HANDLING: In¬ stall your own error handler to be called whenever a function detects an error. NEW FORM LAYOUT UTILITY sim¬ plifies form design. CIRCLE NO. 115 ON READER SERVICE CARD ■ Separate Compilation ■ Native Code Generation ■ Large Memory Model Suppprt ■ Multitasking ■ Powerful Debugging Tools ■ Comprehensive Module Library ■ Available for the PC and the VAX Use LOGITECH MODULA-2/86 to decrease your overall development cycle and produce more reliable,more maintainable code. 0 WINDOW PACKAGE Special Holiday Offer Step up to the power of LOGITECH MODULA-2/86 at a saving of nearly 5100 off our usual low prices! We're offering a complete tool set including our compiler with 8087 support (for use with or without an 8087),our Turbo to Modula-2/86 Translator, Run Time Debugger, and Utilities in one holiday package at a special price! £ LOGITECH w MODULA-2/86 $89 Includes Editor, Run Time System,Linker, 8087 Software Emulation, Binary Coded Decimal (BCD) Module, Logitech's com¬ prehensive library,Utility to generate standard .EXE files. AND more! • LOGITECH MODIJLA-2/86 with 8087 Support $129 • LOGITECH MODULA-2/86 PLUS $189 For machines with 512K of RAM. Increases compilation speed by 50%. • RUN TIME DEBUGGER (Source level!) $69 The ultimate professional's tool! Display source, data, call chain and raw memory. Set break points, variables, pinpoint bugs in your source! UTILITIES PACKAGE $49 Features a Post-Mortem Debugger (PMD). If your program crashes at run-time the PMD allows you to analyze the status of the program and locate the error. Also includes a Disassembler, Cross Reference Utility,and Version that allows conditional compilation. j| LIBRARY SOURCES $99 Source code now available for customization or exemplification. Build windows into your programs. Features virtual screens, color support, overlapping windows and a variety of borders. MAKE UTILITY Figures out dependencies and automatically selects modules affected by code changes to minimize recompilation and relinking. • CROSS RUN TIME $199 Debugger and ROM Package Still available at an introductory price! TURBO PASCAL to $49 MODULA-2 TRANSLATOR “Turbo Pascal. ..is a very good system. But don’t make the mistake of trying to use it for large programs .” Niklaus Wirth* Our Translator makes it even easier for Turbo users to step up to Modula-2/86. It changes your Turbo source code into Modula-2/86 source,solves all the incompatibilities,and translates the function calls of Turbo into Modula-2/86 procedures. Implements the complete Turbo libraries! Call for information about our VAX/VMS version,Site License. University Discounts, Dealer & Distributor pricing. 30 Day Money Back Guarantee! To place an order call our special toll free number:

    800-231-7717 in California 800-552-8885

    as reported in Micro Cornucopia. August-September 1985. Turbo Pascal is a registered trademark of Borland International. CIRCLE NO. 229 ON READER SERVICE CARD □ Special Holiday Package $199 □ Logitech Modula-2/86 $89 □ with 8087 support $129 □ Plus Package $189 □ Turbo to Modula Translator $49 □ Run Time Debugger $69 □ Utilities Package $49 □ Library Sources $99 □ Window Package $49 □ Make Utility $29 □ ROM Package $199 Add S6.50 for shipping and handling. Calif, residents add applicable sales tax. Prices valid in U.S.only. Total Enclosed $ □ Visa □ MasterCard □ Check Enclosed Card Number Expiration Date Signature Name State Phone LOGITECH Logitech, Inc. 805 Veterans Blvd. Redwood City, CA 94063 Tel: 415-365-9852 In Europe: Logitech SA, Switzerland Tel: 41-21-879656 In Italy: Tel: 39-2-215-5622 LETTERS With regard to mixed types, while it may be tedious to write [ int( 1 ),int( 2 ),symbol(go )]; this is only a very small part of the whole picture. Lists are usually created dynamically instead of being typed in by hand, and then Turbo Prolog’s im¬ plementation has no disadvantage. On the contrary, Turbo Prolog makes it eas¬ ier to handle objects when you can use the functors to classify objects instead of using type predicates such as is_atom or is_integer. This is truly an advantage for the serious programmer. What you get with Turbo Prolog is a complete development environment with a user interface that your review¬ ers have qualified as “the best ever de¬ veloped.” It is a fast compiler, and an implementation of Prolog that allows for easy debugging. It has fast and small executable code, as well as low-level ac¬ cess to the machine. In essence, Turbo Prolog is the best tool available for building serious AI programs, and it is particularly well suited for development of expert systems. Philippe Kahn, president Borland International, Inc. We did not say that Turbo Prolog was not a good product, only that it was not Turbo Pascal. For users who want to sacrifice some versatility in exchange for a gain in speed, it works well. The changes from Wirth Pascal to Turbo Pascal were almost additions, not deletions, of features. Only the prob¬ lematic _get statement was deleted, and Wirth did the same thing himself in Modula-2. Turbo Prolog, on the other hand, differs from Edinburgh Prolog largely by the deletion of features and the addition of restrictions. The type system of Turbo Prolog would be welcome as an optional add¬ on to facilitate debugging. In its present compulsory form, however, it makes some, basic algorithms, such as generic list operations, impossible to express. —Michael A Covington BASIC UNLIMITED I just finished reading the review of the BASIC Development System (BDS) by BetaTool Systems (Product Watch, Paul Hultquist, June 1986, p. 196). As a de¬ voted user of this product I was dis¬ mayed by the reviewer’s lack of appre¬ ciation for its valuable features. Too much time was spent discussing things such as how to copy and load the pro¬ gram rather than its advantages for power users. Just a few examples: Imagine running a BASIC program that crashes with the message “Illegal function call in line 1230” and then wondering “how did I get there?” With BDS, it is necessary only to type T and the system will re¬ spond by printing out the last 12 lines that were executed. Then to find what caused the ille¬ gal function call, all you have to do is type V”1230 and BDS will dis¬ play the current values of all the vari¬ ables used in that line. But you know what is displayed shouldn’t be the value of LIMIT. To find another place where and how you used it, type X;LIMIT and back comes a listing of every line that con¬ tains the variable LIMIT. Now you look at line 2450 and wonder in what context LIMIT is used at that point. Type L2450 to es¬ tablish line 2450 as the current line and then type , and the screen will fill with a listing of a portion of your program with line 2450 right in the middle of the screen. Now you decide to renumber your program but you are leery because you know that when BASIC renumbers a program you are apt to get the message “Undefined line 1500 in 3200.” But by then it is too late because BASIC has al¬ ready renumbered the program and the line containing the undefined reference is no longer line 3200 and you cannot find out what place in the program used to contain the line numbers around line 1500. Therefore, you type RU and BDS scans the pro¬ gram for undefined lines and reports them, but it does not make any changes in the program. These are just a few of the features that BDS adds to standard BASIC. One of the other features that makes BDS such a pleasant tool to work with is the ability to customize your copy of BDS so that it works the way you want it to work. If you want your Find Facility to be case insensitive (the default is case sensitive), it can be con¬ figured the way you want. If you want Dump to bypass null or zero elements, so be it. You can have your printer ini¬ tialize to WIDTH “LPT1:”, 132 every time you invoke BASIC, or you can set the default BASIC function keys to your own values. I have talked to other users of this fine product and all of them agree that once you have used it, it is almost im¬ possible to do any work without it. Add this to the fact that BetaTool Systems provides courteous and accurate sup- The Answer to your Deb uggin g Problems ICD286 Announcing New Features • Supports EMS • Supports Microsoft windows At last! An 80286 emulator which is affordable, compact and easy to use. IDEAL for development, debugging, testing and field service. FAST—Full speed, real-time emula¬ tion up to 10 Mhz. AFFORDABLE—From $2400 to $5600, depending on options. EASY TO USE—On-line HELP with a screen oriented display. KEY FEATURES: • Hardware/software breakpoints • 2048 bus cycles of real-time trace • 64K of emulation memory • Symbol and line number support • Source-level debugging • Real and virtual (protected) mode support • Symbolic assembly/disassembly • Macros with parameters • Installs in an ffiM-PC/XT/AT or compatible • Supports EMS (New Features) • Supports Microsoft Windows (New Option) For further information, please con- 1 tact Amm, SoifuuMe Corporation 20863 Stevens Creek Boulevard Cupertino, CA 95014 (408) 253-7515 ♦IBM-PC/XT/AT are registered trademarks of International Business Machines Corporation. FEBRUARY 1987 CIRCLE NO. 214 ON READER SERVICE CARD LETTERS port over the telephone and you have what I consider to be the most useful tool in my programming arsenal. Al Weiss San Diego, CA AN EARLY VINTAGE I would like to offer a comment regard¬ ing Michael Covington’s very useful arti¬ cle on converting the IBM Color Graph¬ ics Adapter (CGA) to improve reproduc¬ tion of color signals on composite monochrome monitors (“A Better CGA,” July 1986, p. 137). Because of the values of the resistors pictured, I as¬ sume the board photograph that opens the article is of an earlier CGA. My ad¬ apter is early 1983 vintage, yet it is dif¬ ferent from the one shown, as well as the version described later in the arti¬ cle. There appear to be at least two “early” versions, which could prove confusing to those who attempt to mod¬ ify their CGA if it is like mine. My board has a group of 100-ohm (ft) isolation resistors in the RGB lines. Physically they are located between the 9-pin connector and the U67. This area is outlined in white at the left of the top photo on page 137 of your article. These resistors are not on the schemat¬ ic in my edition of the Technical Refer¬ ence Manual (1302234). Resistor R8 is in roughly the position of the 15Kft re¬ sistor shown at the center in the photo. The blue-bodied resistors shown at the right are R5, R6, and R7 (from top to bottom). There are no pads for the re¬ sistors to be added. To modify a unit laid out as above, one end of each added resistor is sol¬ dered (carefully) to righthand pads for the 100-ft resistors, starting with the one nearest the RGB connector. These signals are for red, green, and blue re¬ spectively, proceeding toward U67. The other end of the 15Kft resistor can use the pad formerly occupied by R8 where it joins R5 to R7. The remaining ends of the lOKft and 12Kft resistors are then soldered to pads R6 and R7. The modi¬ fication produces a vast improvement in the performance of the adapter. Stuart E. Bonney Richardson, TX It does appear likely that IBM made more versions of the circuit than it doc¬ umented. Thank you for the informa¬ tion. The 100-El resistors apparently provide some degree of protection against short circuits or incorrect con¬ nections to the output connector. —Michael A. Covington FACE TO FACE I have been a subscriber to PC Tech Journal for several years and have en¬ joyed the contents, both editorial and advertising. It was with a great deal of dismay that I read your Product of the Month column for November 1986 (“A Basic Improvement,” Will Fastie, p. 31) and saw an example of one of the worst practices in magazine publishing. Working in technical publishing, I realize the pressures that batter die edi¬ torial staff from all sides—advertisers as well as readers. I realize also that space salespersons frequently do not feel bound by standards of journalistic integ¬ rity. However, selling an advertisement to Microsoft for its QuickBASIC 2.0 on page 30, just across the gutter from your glowing review of the very same product on page 31, impugns die integ¬ rity of your magazine, its editors, pro¬ duction people, and advertising staff. I truly hope that the advertising was not deliberately sold against the editorial on the next page. I would hate to think that a magazine with the repu¬ tation of PC Tech Journal would prosti¬ tute itself to an advertiser. I understand well that the editor of the magazine is frequently helpless to block the whims of the sales staff. How- Cross Compile, 68000 / 08 / 10/20 Features: ■ Full, Standard C ■ Easy to Use Compiler Options ■ Complete User Documentation ■ Global Code Optimization ■ Optional Register Allocation Via Coloring ■ ROMabte and Reentrant Code ■ Comprehensive Royalty Free Run-time Library ■ Floating Point Library Routines ■ Intermix MCC68K C with ASM68K Assembly Language or Microtec PAS68K Pascal ■ Optional Assembly Language Listing Intermixed with MCC68K C Source Line Number ■ Symbolic Debug Capability The Microtec MCC68K C Cross Compiler is a complete implementation of the ‘C’programming language as de¬ fined in The C Programming Language by Kernighan and Ritchie with extensions. MCC68K emits highly optimized assembly language code for the Microtec ASM68K Motorola compatible assembler: The Microtec MCC68K package includes the compiler, relocatable macro assembler, linking loader, run-time li¬ brary, and compre¬ hensive user's guide. Host computers include: DEC VAX, DG Mi¬ series, Apollo, IBM PC and PC-compatibles.. We’re Functional and Fast and Serious about our products. We’ve been providing flexible and economical solutions for soft¬ ware developers since 1974. Beginning with product concept, through development, quality assurance, and post¬ sales support - Quality, Compatibility and Service are the differences which set Microtec Research apart from others. If you’re a serious software developer, shop¬ ping for software development tools, call or write today for more information: 800 - 551 - 5554 , In CA call (408) 733-2919. 3930 Freedom Circle, Suite 101, Santa Clara, CA 95054 Mailing Address: PC. Box 60337, Sunnyvale, CA 94088 W//A MICRO TEC ® W/M RESEARCH MICROSOFT LANGUAGES NEWSLETTER Vol. 2, No. 2 News about the Microsoft Language Family The Evolution of Optimization Techniques Used in Microsoft® C. One of the reasons the Microsoft C Compiler has been chosen by leading software developers is because of the optimization techniques used in the code generator of our production-quality compilers. Microsoft’s advanced optimization capabilities mean that generated code is small and fast. Local optimization was implemented in Microsoft C Version 3.0. Most MS-DOS®-based C compilers implement this technique, but good local code generation such as that in Microsoft C Version 3.0 uses pattern matching to select optimal sequences and register targeting to evaluate expressions in their target destinations. Peephole analysis is also used and includes such optimizations as redundant load/store analysis. This increases the efficiency of the resulting code by removing unnecessary or duplicate instructions. The compiler also optimizes branches by shortening or removing branches where it can. Microsoft C Version 4 0 went one step further with block optimizations that used common subexpression elimination. This improved code optimization still further. The advantage is the time saved by avoiding recalculation of computations which are used repeatedly in the program. For example: a = b (c/d); will evaluate to: tmp = (c/d); a = b tmp; e = f (c/d); will evaluate to: e — f tmp; Note: depending on the context, tmp might be a register variable rather than a memory location. The next progression for block optimizations is to do loop optimizations in our future production-quality compilers. If a calculation inside a loop does not depend on any calculations inside the loop, it can be moved outside the loop. This is called invariant code motion. A second loop optimization technique is called induction variables. This means that while in a loop, multiplies by the control variable can be turned into additions. Examples of induction variable optimization:
  25. for (i = 0; i < 10; ++i) j+=i 7; evaluates to: for (i = 0; i < 70; i+=7) j+ = k
  26. char a[10]; for (i = 0; i < 10, id—F) a[i] Re¬ evaluates to: memset (a, ‘c’, 10); ie: the following 8086 instruction would be generated: REP STOSB There is also loop enregistering, in which case calculations can be kept in a register for the whole loop. Loop optimization is implemented in the new 386 C Compiler in the XENIX® 386 Software Development Toolkit. For more information on the products and features discussed in the Newsletter, write to: Microsoft Languages Newsletter 16011 NE 36th Way, Box 97017, Redmond, WA 98073-9717. Or phone: (800) 426-9400. In Washington State and Alaska, call (206) 882-8088. In Canada, call (416) 673-7638. Microsoft. MS-DOS. and XENIX are registered trademarks of Microsoft Corporation. Latest DOS Versions: Microsoft C Compiler 4.00 Microsoft COBOL 2.10 Microsoft FORTRAN 3.31 Microsoft Macro Assembler 4.00 Microsoft Pascal 3.32 Microsoft QuickBASIC 2.00 Look for the Microsoft Languages Newsletter every month in this publication. LETTERS Clarify your Source Code C, BASIC, Pascal, dBase, Modula-2 programmers: Be more productive with two new utilities from Aldebaran Laboratories! Source Print organizes your source code, simplifies debugging, makes 1 documentation a snap » ■ Index (cross 1|||&S9rj reference) for Li variables, functions, procedures, fields ■ Structure outlining to draw lines around nested structures ||'T J \ ■ Automatic indentation ■ Table of contents list- . ing functions, proce- 5 • dures, subroutines ^ ■ Boldface printing of key words ■ Split multistatement BASIC lines for readability ■ Extract routines by name 1S SUC ,,iW>« s l ° "“"obW”"" 6 ' 8 ‘"'I orea® 1 '" 8 )ob W A e o\Ae code tLd^ 1 format an \ \ ’ orocess” iree uiagrammer identifies the hierarchical structure of your program ■ Prints organization chart of program automatically ■ Illustrates hierarchy of calls to functions, proce¬ dures, subroutines ■ Indicates recursive calls Both utilities have an easy-to-use menu with point-and-shoot file selection, and let you search for files containing a given string. For IBM PC and compatibles with 256K. Get your programs organized now. Order these indispensable tools today. We ship immediately, and there’s no risk with our 60-day money-back guarantee. 1 pc I Sep^ l6 ’ MC, VISA, AX, COD. Add $5 for shipping. Source Print and 'Iree Oiagrummer are trademarks of Aldeba Labs. dBase is a trademark of Ashton Tate. Handles up to 50 files. 60,000 lines. Aldebaran Laboratories, 3339 Vincent Rd Pleasant Hill, CA 94523 415-930-8966 YES! Rush me □ Source Print (u $75 □ Tree Diagrammer (a $55_ Ship/Handling $5. For CA add 6% tax TOTAL_ Name_ Company_ Address_ City_:State_Zip □ Check enclosed □ VISA □ Mastercard □ American Express Card # . Exp. Date Phone #. Signature ever, the sales people should realize that readers and advertisers alike hold those periodicals in greatest esteem that resist the temptation to sully their repu¬ tation by selling “advertorial.” Again, I enjoy your publication. I hope that this letter will help the sales staff realize that readers are indeed per¬ ceptive to actions that adversely impact the magazine’s reputation. Harold Winard Wharton, NJ Yes, it's a fine mess. We know that Microsoft runs the newsletter next to Product of the Month, but we forgot to check its content that month. We did not realize the company would feature QuickBASIC. All we can say is that Microsoft also did not know we would feature QuickBASIC, because our policy’ is, and always has been, not to notify the vendor in advance when its product has been named. We normally catch this kind of problem. This time, we did not. —WF EMULATE-STRAIGHT I read with great interest your article entitled “LAN Gateways,” (Art Krumrey and Roger Addelson, November 1986,
  27. 74). However, one slight mistake in the article regarding nomenclature served to confuse me greatly. The authors continually referred to the “IBM 3270-PC Emulation Pro- gram(s).” Of course, IBM does make a machine called the IBM 3270-PC, but I do not believe that this is the product that Messrs. Krumrey and Addelson were using as their test vehicle. Of course, IBM’s nomenclature leaves something to be desired, but that is a subject for another day. The article, as a whole, was very in¬ formative. There are many of us out here in the SNA/SDLC world who are trying to come up with the optimum way to network the myriad of devices that seem to have sprung up in the last few years. Please give us more of these articles in the future. Paul Sligar Matsushita Electric Corporation of America Norcross, GA The product reviewed is indeed the IBM PC 3270 Emulation Program, version 2.0. It is a member of IBM's family of 3270 PC Emulation Programs. PC Tech Journal regrets the error. —JS [ mimImiiii M-ll 24 PC TECH JOURNAL Introducing The Most Important Programming Development Since The Introduction Of C: ADVANTAGE C+ + Exclusively From LIFEBOAT For PC!MS-DOS Finally there's a programming language that enhances C, instead of making it obsolete! ADVANTAGE C + +, developed by AT&T, is a major programming breakthrough. By introducing the concept of classes, it enables C programmers to use object-oriented programming methods. ADVANTAGE C + + gives you greater efficiency, flexibility and reliability than ever before—and allows you to more productively build large and sophisticated applications. ADVANTAGE C+ + All The Benefits Of C Without Its Limitations! • Opens the door to object-oriented program¬ ming. • Allows programs with greater resilience and fewer bugs. • Lets you write reliable, reusable code that is easier to understand. • Has many enhancements over C, yet maintains full compatibility with existing C programs. Advantages Only ADVANTAGE C+ + Can Give You: • Operator Overloading—Allows simple, reliable user-designed types. • Function Name Overloading — Simplifies function names and argument lists. • Guaranteed Programmed Initialization — En¬ sures automatic initialization of all data objects before their use. • Guaranteed Programmed Type Conversion — Ensures consistent conversions from one user- designed type to another. • Optional Strong Type Checking—Weeds out type mismatches at compile time. • Classes—Similarto structures; provide syntax for user-designed data types and encapsulation of access functions with data objects. • Data Abstraction—Makes code easily reusable and more resilient. • Data Hiding — Improves software reliability. • Inheritance—Enables generic code written for more abstract types such as list' or 'windows' to be used by more specific types. • Constant Data Types—Prevent inadvertent alteration of fixed values, such as hardware addresses. • Reference Data Types—Improve the efficiency of argument passing. • Inline Functions—Remove the overhead of calling external functions. • Heap Management—Simplifies the use of dynamic memory. Why be limited to just C...when you can have all these pluses! ADVANTAGE C + + includes libraries for stream I/O and complex math—and versions are now available for Lattice C and Microsoft C. Call today to order orto obtain a complete technical specification sheet: 1 - 800 - 847-7078 In NY: 914-332-1875 I ICED HAT The Full-Service Source for Programming Software. 55 S. Broadway, Tarrytown, N.Y. 10391 CIRCLE NO. 163 ON READER SERVICE CARD THIS PROGRAMME SHOP helps save time, money and cut frustrations. Compare, evaluate, and find products. RECENT DISCOVERY Poly Boost - Run 2 to 10 times faster with software accelerator. Speeds disk access, screen display, keyboard input. PC S Al-Expert System Dev't Arity System-incorporate w/C. MS $ 259 Experteach-Improved, samples PC $ 399 EXSYS PC $ 319 Insight 2+ - dB2, language MS $ 389 Texas Instruments: PC Easy PC $ 439 Personal Consultant Plus PC $2599 PC $ 439 PC $2599 Microsoft MuLisp 85 MS $ 199 PC Scheme LISP - by TI. SCHEME has simple, “orthogonal” syntax. PC $ 85 TLC LISP -classes, compiler. MS $ 225 TransLISP-Good for learning MS $ 85 Others: IQ LISP ($155), UNX LISP ($59), IQC LISP ($269), WALTZ LISP ($ 139) Al-Prolog APT - Active Prolog Tutor - build applications interactively PC $ 65 ARITY Standard - full, 4 Meg Interpreter - debug, C, A&M PC $ 319 COMPILER/Interpreter-EXE PC $ 699 With Exp Sys, Screen - KIT PC $1129 LPA Mac Prolog - Complete incremental compiler and an interpreter MAC $ 295 700 + Programmer ’s Products The Programmer’s Shop carries every program¬ mer’s software product for MSDOS, PCDOS, CPM, Macintosh, Atari, and Amiga systems. We help you choose the best tools for you. Most popular products are in stock, available for quick delivery. We will gladly special order a product for you at no charge — just allow a few extra days for de¬ livery. Need Cross Compilers, Translators, or the right Fortran compiler? Ask us. Our Services: • Programmer’s Referral list • Dealers Inquire • Compare Products • Newsletter • Help find a Publisher • Rush Order • Evaluation Literature FREE • Over 700 products • BBS. 7 PM to 7 AM 617-826-4086 National Accounts Center C Support-Systems Basic-C Library by C Source MS $139 C Sharp - well supported. Source, realtime, tasks PC $600 C ToolSet - DIFF, xref, source MS $ 95 The HAMMER by OES Systems PC $159 RECENT DISCOVERY Uniware Cross Development Tools - include 68000 C compiler. Development Package with compiler, assembler, link editor, and utilities, 17 cross assemblers for Intel. TI, Motorola, Zilog, etc. - relocatable, macros. MS Call LPA MicroProlog - intro MS $ 85 LPA MicroProlog Prof. - full memory MS $ 349 Prolog-86 - Learn Fast MS $ 89 Prolog-86 Plus - Develop MS $ 229 TURBO PROLOG by Borland PC $ 69 Editors for Programming BRIEF Programmer’s Editor - undo, windows, reconfigure PC EM ACS by UniPress - powerful, multifile, MLISP. Source: $929 Epsilon - like EMACS PC Kedit - like XEDIT PC Lattice Screen Editor-multiwindow multi-tasking Amiga $ 89 MS PC/VI - Custom Software MS Personal REXX - PC PMATE - power, multitask PC SPF/PC - fast, virtual memory PC XTC - multitasking PC FEATURES dBXL by Word Tech - complete interpreter clone. Adds windowing. Quicksilver LAN support. Non-copy protected. PC $ 129 TransLISP PLUS - with C INTERFACE. 400+ COMMON LISP functions. Optional UNLIMITED Runtime $ 150 PLUS or MSDOS $ 179 Note: All prices subject to change without notice. Mention this ad. Some prices are specials. Ask about COD and POs. Formats: 3" laptop now available, plus 200others. UPS surface shipping add$3/item. Lattice Text Utilities PC $ 95 Multi-C - multitasking PC $149 PC LINT-checker. Amiga $89, MS $107 SECURITY LIB - add encrypt to MSC. C86 programs. Source $229 PC $115 Quickshell - script compiler PC $349 Fortran & Supporting Forlib+ by Alpha - graph, comm. $ 59 M ACFortran by Microsoft - full ’77 $229 MS Fortran link to C $209 No Limit - Fortran Scientific $119 RM Fortran - enhanced “IBM Ftn” $389 Scientific Subroutines - Matrix $149 MultiLanguage Support BTRIEVE ISAM MS BTRIEVE/N - multiuser MS CODESIFTER - Execution PRO¬ FILER. Spot bottlenecks. MS Dan Bricklin’s Demo Program PC HALO Graphics -115+ device interfaces, rich, printer. Specify language interface PC Microsoft Windows Software Development Kit PC PANEL - data validation, no royalties Xenix $539, MS Pfinish Performance Analyzer MS PLINK-86 - a program-independent overlay linker to 32 levels. MS PLINK-86 PLUS - incremental MS Poly Librarian MS PVCS Version Control MS Screen Sculptor - slick, thorough PC ZAP Communications - VT 100, TEK 4010 emulation, file xfer. PC C Libraries-Communications Asynch by Blaise PC $135 Greenleaf Comm Lib. PC $149 Multi-Comm - add multitasking, use w/Multi-C PC $149 Software Horizons pack 3 PC $119 C Language-Compilers AZTEC C86 - Commercial PC $ 499 C86 by Cl - 8087, reliable MS $ 299 Datalight C - fast compile, good code, 4 models. Lattice compatible. Lib source. Dev’rs Kit PC $ 77 HOT C - new, intriguing PC $ 85 Lattice C - from Lattice MS $ 299 Mark Williams - w/debugger MS $ 369 Microsoft C 4.0 - CodeView MS $ 279 Wizard C - full, fast. MS $ 359 C-terp by Gimpel - full K & R MS $ 229 C Trainer by Catalytix PC $ 89 INSTANT C - Source debug. Edit to Run-3 seconds, .OBJs MS $ 379 Interactive C - interpreter, editor PC $ 225 Introducing C-learn C quickly PC $ 105 Run/C Professional - MS $ 179 Run/C Lite - improved MS $ 97 C Language-Interpreters PC $ 105 MS $ 179 MS $ 97 C Libraries-General Blackstar C Function Library PC $ 79 C Essentials by Essential PC $ 83 C Food by Lattice-ask for source MS $ 109 C Scientific Subroutines-Peerless MS $ 135 C Tools Plus (1&2) PC $ 135 C Utilities by Essential - Comprehensive screen graphics, strings. Source. PC $ 137 C Worthy Library MS $ 269 Entelekon C Function Library PC $ 119 Greenleaf Functions-portable, ASM $ 139 PforCe by Phoenix - objects PC $ 249 C Libraries-Files FILES: C Index by Trio - full B + Tree, vary length field, multi compiler /File is object only MS $ 89 /Plus is full source MS $ 349 CBTREE-Source, no royalties MS $ 99 CTree by Faircom-no royalties MS $ 319 dbQUERY-ad Loc, SQL-based MS $ 159 dbVISTA - full indexing, plus optional record types, pointers. Network. Object only-MS C, LAT, C86 $ 159 Source - Single user MS $ 429 Source - Multiuser MS $ 849 dBASE Tools for C PC $ 65 dbc Isam by Lattice MS $ 199 dBx - translator MS $ 319 w/source MS $ 519 FEATURE Insight 2 + - Flexible expert systems shell has intrinsic dBASE operators, forward and backward chaining, transparent view of reasoning process. MS $ 389 We support MSDOS (not just compatibles), PCDOS, Xenix-86, CPM-80, Macintosh, Atari ST, and Amiga. CIRCLE NO. 162 ON READER SERVICE CARD provides complete information, advice, guarantees and every product for Microcomputer Programming. Special Features Finally . . . Easy Screen Handling for COBOL Saves Time, Adds Flexibility: Screenplay Menus, Help, and Data Entry Screens can be created (“painted”) interac¬ tively. When you are satisfied Screenplay performs all screen handling for you in any of more than 9 compilers. Save valuable time by avoiding the tedious, time consuming process of writing screen handling source code. Screenplay’s easy-to-use panel painter allows you to create I/O panels, pop-up windows or menu panels. True screen handling flexibility is yours. Override default panel settings to design practically any type of screen imaginable — even change just about any panel characteristic at runtime . Prototype your draft screens before you write a single line of COBOL source code. In addition, you can link Screenplay by interrupt or directly to your application. And if your compiler doesn’t allow a direct link, use the dynamic load option for linking Screenplay to your application. You can assign practically any keyboard key to serve as a specific cursor function and define exactly which keys will return control to your applica¬ tion. Entirely reconfigure the keyboard for your program. Screenplay’s panel painting process is a one step approach. There’s no need to go through a separate process to establish fields on your I/O panel. What’s more, you can use any ASCII character in your Screenplay panels. You also have full control over character attributes such as foreground and background color, intensity, and blinking. Panels are stored in a compressed ASCII file save memory and disk space. Copy panels across and within files, rename, delete, test and print panel de¬ tails. Even print an image of the panel for your documentation. No royalties. Not copy-protected. Supports IBM, MS, Realia, Ryan-McFarland (includ¬ ing 8X) COBOL. 201-895-4724 PCDOS List: $175 Ours: $155 Multitasking, Windowing for C, Turbo Pascal, or dBASE or... in only 12K! SYNERGY Development Toolkit The highly efficient design of Synergy by Matrix gives you the benefits of powerful graphics, windows, pull-down menus, dialog boxes, sophisti¬ cated text and icon management, math support, multitasking, and SPEED, all for an incredibly small 12K RAM requirement. The Synergy Runtime provides character and graphics support for menus, windows, dialog boxes, and more, so you can write programs that work in either mode, with very reasonable, low runtime fees. Functions include: window management with capabilities like tile and overlap, variable size and placement, process management, to support mul¬ titasking and sub-process generation, menus, dialog, and icon management, graphics, text (including a variety of fonts and sizes), and console manage¬ ment. The Synergy Development Toolkit is a collection of sophisticated tools de¬ signed for software developers writing new applications using Synergy, or modifying existing applications to take full advantage of Synergy. Tools in¬ clude: graphics resource editor for creating and modifying icons and text fonts, graphics resource compiler to construct and manage resource data files, font compiler and manager, debugging tools, sample library, and more. Supports IBM or Microsoft Macro Assemblers, Turbo, IBM, and Micro¬ soft Pascal, IBM and tylicrosoft BASIC, Lattice and Microsoft C, and dBASE II and III. CGA, EGA, and Hercules monochrome graphics support. PCDOS List: $395 Ours: $375 617-567-0037 Expert System Shell & Language Screen Management O/S ADDON Add AI Power to Existing Applications Insight 2 + “Insight 2 + is an awesome system . . . this may well be the best expert system generator on the market.”—ONLINE Choose a knowledge engineering tool that makes your current database sol¬ utions work smarter with a built-in PASCAL-like knowledge engineering grammar that minimizes your training time. Insight 2+ works with your installed software and database and has intrinsic dBASE II and III operators, plus Level Five’s powerful, flexible Production Rule Language. Insight 2+ is a highly connective, integrated expert systems shell that adapts to your needs. Its detailed interactive reporting system lets you see inside the reasoning process of the knowledge base. You can see reports on the lines of reasoning, known and unknown facts, alternate rule pathways to a shared conclusion, or knowledge trees, showing all possible goals, con¬ clusions, and paths of reasoning hierarchically — and more. You can even step forward and back in a rule chain from beginning to end. Create “what-if” scenarios by saving, editing, and re-using knowledge base contexts, or customized reporting to track end-user sessions. Insight 2 + performs backward and forward chaining inference, supported by object attribution and goal outlining, outside program activation, and full parameter passing capabilities. Insight 2 + supports very large knowledge bases which can be linked — the number limited only by disk space. Full scientific and math capabilities include logarithmic and trigonometric functions and floating point notation; ideal for engineering and scientific applications. 305-729-9046 PCDOS List: $485 Ours: $389 Get a Cleaner, Faster, User Interface with The Screen Ace Form Master Coded in assembler to give you the power for creative design, and the speed not available in other packages. Form Master supports all 256 color and monochrome attributes. Paint screens with the screenbuilder (allows changes without recompiling!) and save to a DOS file, define screens within your program at runtime, or combine these techniques, to modify screens on the fly. 400+ lines and 2000+ fields per screen; the number of screens limited only by available memory. Permits flexible function key defini¬ tion, toggling field colors and attri¬ butes at runtime. Switch between screens without losing data. DESQview, TopView, MS Win¬ dows compatible, Lattice, MS C (all models), APL*Plus/PC, Assembler. Call for a $3 demo with tutorial. PCDOS List: $195 Ours: $179 818-989-5329 NOW: Full Shell Programming with MSDOS: PolyShell with UNIX-Like Utilities PolyShell gives you a UNIX-com¬ patible command environment PLUS a full set of UNIX-like utilities — yet DOS commands and batch files are al¬ ways immediately accessible. Alias and Command Macro Sub¬ stitution save keystrokes, let you ac¬ cess and customize DOS internal commands. With History Substitu¬ tion, edit, re-execute previous com¬ mands or portion of command. ‘C-Shell’ and Bourne Shell compati¬ ble I/O redirection, very flexible filename expansion capabilities. Includes 30 powerful utilities from the UNIX world (like grep, diff, sed, cut, paste). Shell and utilities can be loaded separately. Requires only 30K RAM total. PolyShell is NOT UNIX; no UNIX license needed. PCDOS List: $149 Ours: $129 503-645-1150 Call for a catalog, literature, advice and service you can trust jay HOURS 8:30 AM-8:00 PM EST. 800 - 421-8006 THE PROGRAMMER’S SHOP™ 128-P Rockland Street, Hanover, MA 02339 Mass: 800^42-8070or617-826-7531 12/86 “The scope and detail of services you provide are exemplary — it’s obvious you have given a lot of thought to what information people need . . . For someone like myself, critical appraisals of software and comprehensive collections of offer¬ ings such as you have are really useful."
  28. Bruce Cyr

    Foundation of American College of Health Care Administrators CIRCLE NO. 151 ON READER SERVICE CARD Ttirbo Programmers: V . I ou're programming, getting all your ducks JL. in a row, but there's a culprit in there, a bug. T-DebugPLUS, the new symbolic run-time debugger, helps you find that bug and fix it faster than ever before. In Command. In Control. See what happens as your Turbo Pascal programs run.. .examine variables...change them.. .be in control. The top half of your screen displays the source code, current line highlighted.You debug interactively on the lower half. All data types are accessible, both local and global variables. You can set breakpoints at a procedure, function, or line number. Instant Gratification. T-DebugPLUS integrates invisibly, automatically loading Turbo Pascal. Switch instantly between the debug and output screen. Jump instantly to the editor when you find a bug. "T-DebugPLUS: Don't program in Turbo Pascal without it!' Nett Ranking PC Magazine Experts agree, it’s an invaluable time and frustration saver. T-DebugPLUS is only $60. More Power. More Productivity. Turbo EXTENDER’" helps you break the 64K barrier for both code and data, allowing you to use all 640K. A source code conversion program, make facility, and run-time routines make writing and compiling large programs dramatically easier. Turbo EXTENDER is only $85. Find the culprit fast with T-DebugPLUS: TurboPower Utilities'" supplies nine powerful programs. Four Pascal utilities, including the acclaimed Pascal Structure Analyzer and Execution Timer, help you write programs that are bug free, easier to docu¬ ment, and faster. Five PC-DOS utilities help you analyze, change, and find your program files.TurboPower Utilities is $95 with source, $55 executable only. "Impressiveproducts. ..Irecommend them:' Philippe Kahn, President Borland International Satisfaction guaranteed or your money back within 30 days. Call toll free for credit card orders: 800 - 538-8157 x830 outside California or 800 - 672-3470 x830 in California Shipping and taxes prepaid for TurboPower Software orders in U.S. and Canada. Others please include $6 per item for shipping. TurboPower Software products require Turbo Pascal 3.0 (standard, 8087, or BCD) and require PC-DOS 2.X or 3.X, and run on the IBM PC/XT/AT and compatibles. TurboPower Software, 3109 Scotts Valley Dr.

    122,

    Scotts Valley, CA 95066 Call 408-438-8608 for more information (M-F9AM-5PM PST). CIRCLE NO. 193 ON READER SERVICE CARD ■ Now You Can Ttirn Your PC On And Off From You’re on the road. Chicago.7:00 AM. You just got your wake-up call, and you’re about to place one yourself, back to your PC at the LA office. No matter that it’s 4:00 AM there, and the PC is turned off. You have Turn-On ™ an amazing peripheral that senses your call coming in and, before answering, safely powers up the peripherals and the PC, runs you through a three-level security check, then puts you through to your system. From there, you can get your PC started on a pre¬ programmed assignment, while LA sleeps and you go take a shower. And when your PC is done Turn-On automatically turns it off. Turn-On works with your modem as well as a host of remote software communications packages. And our Dyna-Talk software keeps your system secure while keep¬ ing track of all authorized and unauthorized access attempts. Turn-On is a 24-hour-a-day productivity tool that is a 24-hour-a-day protectivity tool as well, featuring three-stage power protection against surges, spikes and glitches, at no extra cost. Turn-On. When it comes to your PC, there’s nothing remotely like it. For the dealer nearest you, call (800) 638-9098. Dynatech Computer Power, Inc. 4744 Scotts Valley Drive, Scotts Valley, California 95066 408/438-5760. CIRCLE NO. 178 ON READER SERVICE CARD -320K. Windowing can give you a whole new outlook. It can also gobble up a whole lot of memory Lotus is a registered trademark of Lotus Development Corporation. Microsoft is a registered trademark of Microsoft Corporat ion. IBM is a registered trademark of International Business Machines Corporation. Sidekick and Turbo Lightning are trademarks of Borland In L, Inc. ProKey is a trademark of RoseSoft, Inc. Memory requirements are manufacturers’ minimum system requirements. €> 198b Intel Corporation. Above is a trademark and Intel a registered trademark of Intel Corporation. -66K, -128K, -128K A word of warning: Too many pop-ups can have a negative effect on your memory moryis first to go. -128K. Everyone will tell you downloading is where it’s at. Which is why expanded memory is where you should be. It can happen just like that. One minute you’ve got a walloping 640K, the next minute, you’ve got zip. That’s because each new application you add devours precious RAM. Fbrtunately you can avoid playing memory roulette. With an Above™ Board from Intel. Above Board is more than just another slam bam memory board. It’s a long-term memory solution. It not only takes you up to 640K of conven¬ tional memory it gives you up to 4 megabytes of expanded memory Based on the EMS standard developed by Lotus® Microsoft* and the folks paying for this ad. So now you can take advantage of applica¬ tions like the ones over there on the left, know¬ ing you’ve got memory | to spare. Plus (and it’s going to be a big plus in the future), Above Board provides extended memory, which will support protected mode DOS. So you won’t have to eighty-six your Above Board, no matter what happens in’87. And beyond. What’s more, every board comes with a five-year warranty toll-free hotline support and a free copy of Microsoft Windows. (-320K. But then, with Above Board, that’s no big loss.) Ebr details, see your favorite computer dealer. Or call us at (800) 538-3373. And find out why the first thing to go is the last thing to worry about. intel CIRCLE NO. 216 ON READER SERVICE CARD TECH RELEASES Moclprapb. Inc s PF.KI'ORMI-R II graphics controller HARDWARE A 16-MHz, 80386 microprocessor-based system, PC’s Limited 386 16 , has been previewed by PC’s Limited. The system uses VLSI (very large scale integration) technology, incorporating fewer than 30 chips on the motherboard. The mother¬ board measures 9 inches by 13 inches and has eight expansion slots (six avail¬ able). The expansion bus is user-switch- able between 8 and 12 MMz. The sys¬ tem's memory architecture features pure static RAM chips for zero-wait-state •operation. The PC's Limited 386 1( ’ base configuration includes 1MB of RAM, a 1.2MB diskette drive, a 200-watt power supply, and an I/O interface card with four video output modes, a mouse port, two serial ports and one parallel port, and a diskette drive controller. PC's Lim¬ ited will offer the following as options: a 1.44MB, 3^-inch diskette drive; a 150MB ESDI (enhanced small device interface) hard-disk drive with an average access time of 16 milliseconds (ms), and 40MB and 80MB hard-disk drives, each with a 28-ms access time. Prices for the 386 1() and its options are not yet available. PCs Limited, 1611 Headway Circle, Building 3, Austin , TX 78754; 800/426-5150; in Texas, 800/252-8336 CIRCLE 301 ON READER SERVICE CARD Two high-resolution graphics control¬ lers, the performer i and the perfor¬ mer ii, have been announced by Mod- graph, Inc. Both use the Hitachi ACRTC (111)63484-8) graphics coproces¬ sor. The performer i, with a 40-MHz pixel clock and a drawing speed of 2 million pixels per second, offers an on¬ board video memory of 16KB by 256KB for display of 16 colors with resolutions from 640 by 480 to 1,024 by 780 pixels. Primitives include line, circle, ellipse, arc of circle or ellipse, filled rectangle, and polygon. Zoom, pattern operations, and area fills are implemented in the hardware. Video output is RGBI at TTL (transistor-transistor logic) levels. The performer ii offers all the features of per¬ former i, but with a resolution of up to 1,280 by 1,024 pixels, 256 colors from a palette of 4,096, 40KB by 256KB video memory, and a pixel clock of 110 MHz. PERFORMER I, $1,895; II, $3,495. Modgraph, Inc., 56 WintProp Street, Concord, MA 01742; 617/371-2000 CIRCLE 315 ON READER SERVICE CARD A high-performance graphics board that provides twice the resolution and up to 100 times the speed of the IBM En¬ hanced Graphics Adapter (EGA) has been introduced by Quadram Corpo¬ ration. QuadHPG is based on the Intel 82786 graphics coprocessor. It supports four resolution modes: IBM Color Graphics Adapter (CGA), EGA, and Pro¬ fessional Graphics Controller (PGC) and a 640-by-480 pixel mode for RS-170A RGB display. QuadHPG can display as many as 256 colors from a palette of more than 16 million. It draws at a rate of 2.5 million pixels per second, dis¬ plays up to 25,000 characters per second and has an area fill rate of up to 3.75 million pixels per second. The board features from .5MB to 2MB of standard DRAM video memory for display re¬ fresh, character fonts, and display list. It supports both analog and digital output and is compatible with either an 8- or 16-bit data bus interface. $1,095. Quadram Cotporation, One Quad Way, Norcross, GA 30093; 404/923-6666 CIRCLE 310 ON READER SERVICE CARD The 4375M UltraScan monitor from Thomson Consumer Products Cor¬ poration automatically adjusts to any horizontal scan frequency between 15.7 and 35 K1 Iz, as well as any vertical scan frequency between 45 and 75 I Iz. This range supports the IBM CGA, EGA, and PGC standards, as well as the IBM monochrome and Hercules standards. The 4375M UltraScan features a 13-inch ibonison's 4.U5M f ’ItraScan color monitor diagonal, .31mm-dot pitch tube with high-contrast glass that eliminates glare, thus increasing picture contrast; it also filters color input, thereby improving the reproducible color range. The 4375M uses a multistep electron gun to automatically adjust the focus across a range of resolutions from 300 by 500 pixels to 800 by 560 pixels. $895. Thomson Consumer Products Corpora¬ tion, 5731 W. Slauson Avenue, Suite 111, Culver City, CA 90230; 800/325-046; in California, 213/568-1002 CIRCLE 309 ON READER SERVICE CARD Systems Manufacturing Technology, Inc. has introduced the UltraGraph, a graphics adapter that uses the Intel 82786 graphics coprocessor. The Ultra- Graph will process graphics at speeds up to 20 million pixels per second. The adapter offers a resolution of 2,048 by 2,048 pixels, 4MB of display memory, 256 colors, and 40-column-bv-25-Iine and 80-column-bv-25-line alphanumeric and all-points-addressable modes, in¬ cluding the IBM CGA, EGA, and PGC and two settings between the PGC and the 2,048-bv-2,048 mode. $2,500. Systems Manufacturing Technology, Inc., 1145 Linda Vista Drive, San Mar¬ cos, CA 92069-3820; 800/648-6262; in California, 619/744-3590 CIRCLE 311 ON READER SERVICE CARD Two workstations designed to merge ar¬ tificial intelligence with commercial in¬ formation processing and based on the Intel 80386 have been announced by Mad Intelligent Systems, Inc. The D3000 series is a family of PC/AT-com- patible systems and board-level prod¬ ucts that use the Intel 82786 graphics coprocessor. The D3000 will run pro¬ grams written for DOS; it can be config¬ ured with UNIX V release 3. The system has seven expansion slots, room for two removable media devices, and one full- height fixed media device. The D3000 is 32 PC TECH JOURNAL <)(>()()/V..iJ Trdlis modem from Cennetek Microelectronics available in OEM quantities. The D2000 series is based on a Multibus II architec¬ ture; it runs both UNIX V release. 3 and Common Lisp. The product line in¬ cludes a single-user system featuring a high-resolution display with advanced windowing capabilities and a multi¬ access knowledge server and a multi¬ user computer. D3000, $5,000 to $10,000; D2000, prices are not yet available from the company. Mad Intelligent Systems, 2950 Zanker Road, San Jose, CA 95134; 408/943-1711 CIRCLE 302 ON READER SERVICE CARD An 80386-based system has been re¬ leased by Zenith Data Systems. The Z-386 PC has a 32-bit memory bus and operates at 16 MHz with zero wait states. It features memory paging, burst¬ mode refresh, which increases system speed by refreshing multiple rows of memory' at once; optional cache control¬ ler board; and Zenith ROM for video operations (for speed). The Z-386 PC has 10 bus slots (six open), a diskette/ Winchester controller, serial and paral¬ lel ports, and sockets for 80287 or 80387 numeric coprocessors; it will sup¬ port two Winchester disks and two dis¬ kette drives. Z-386 Model 40 (with 40MB hard-disk drive and 1.2MB diskette drive), $6,499; Z-386 Model 80 (with 80MB hard disk drive), $7,499. Zenith Data Systems, 1000 Milwaukee Avenue, Glenview, IL 60025; 312/391-8860 CIRCLE 303 ON READER SERVICE CVRD Orchid Technology has introduced Jet 386, a 16-MHz 80386 accelerator board. Designed for the PC/AT, Jet 386 is compatible with software written for both the 80286 and 80386. The Jet 386 board replaces the 80286 in the AT, which then plugs into an adapter for the accelerator board. Users can toggle be¬ tween the two modes. The Jet 386 also supports both 80287 and 80387 numeric coprocessors. A 32-bit bus width and 64KB of on-board cache memory are also included. $1,499. Orchid Technology, 47790 Westing- house Drive, Fremont, CA 94539; 415/490-8586 CIRCLE 304 ON READER SERVICE CARD An 80386 accelerator board for the PC, PC/XT, and PC/AT is available from Applied Reasoning Corporation The PC-elevATor 386 runs in an 8088, 8086, or 80286 machine. It runs an Intel 80386 at a 16-MHz, zero wait state, with a 32-bit bus, and includes 1MB of on¬ board, high-speed RAM (100 nanosec¬ onds) expandable to 16MB with daugh¬ terboards. An 80287 or 80387 numeric coprocessor can be added. The board installs into a full expansion slot without removing the machine’s processor; it works in tandem with the processor, us¬ ing it to handle I/O. $1,995. Applied Reasoning Corporation, 86 Sherman Street, Cambridge, MA 02140; 617/492-0700 CIRCLE 305 ON READER SERVICE CARD Sigma Designs, Inc. has announced Laserview Display System, a package that includes a high-resolution adapter Uisetriew Display System by Sigma Designs, Inc. board and a 15-inch or 19-inch mono¬ chrome monitor both with a display of 1,664 dots by 1,200 lines. Both are land- scape-mount and have paper-white phosphor screens. They feature a scan frequency of 74.5 KHz and a refresh rate of 60Hz, in noninterlaced mode. The resolution provided by the 15-inch and 19-inch monitors is 150 and 110 dpi (dots per inch) respectively. This resolu¬ tion combines with four shades of gray to produce a perceived resolution that is close to 300 dpi. Adapter with 19-inch monitor, $2,395; with 15-inch monitor, $1,895; adapter alone, $1,150. Sigma Designs, Inc., 46501 Dinding Parkway, Fremont, CA 94538; 415/770-0100 CIRCLE 317 ON READER SERVICE GVRD Cermetek Microelectronics has an¬ nounced its 9600/V.32 Trellis Modem. The CCITT V.32 specification permits 9600-bps operation at full duplex over a wide range of telephone lines present in the general switched telephone net¬ work. The V.32 modem offers synchro¬ nous and asynchronous operation. Dur¬ ing dialing, the modem can monitor call progress electronically with either ver¬ bose or terse prompts, or audibly with a built-in speaker. Another dialing en¬ hancement includes resident nonvolatile memory' for ten 40-character telephone numbers. It supports the GSTN (general switched telephone network) and 2- or 4-wire, leased-line operation and offers more reliable data transfer than certain CCITT V.29, 9600 half-duplex modem installations. Trellis coding is a far-end correcting scheme that transmits redun¬ dant bit information simultaneously with the data bits. This scheme provides the error correcting and is accomplished without impacting the 9600- or 4800-bps data rate bandwidth. $2,999. Cermetek Microelectronics, Inc., 1308 Boiregas Avenue, Sunnyvale, CA 94088- 3565; 408/752-5000 CIRCLE 318 ON READER SERVICE CARD Two internal modems, the Quad 1200 and Quad 2400, are the first offerings of Omnitel, Inc. in its NetComm product line. This series is designed for use in IANs and PC-based remote infor- FEBRUARY 1987 33 TECH RELEASES \ \ Magic PC applications generator from Aker Corporation mation and database services. A modem server based on the Quad card provides pooling of 4, 8, 16, or more indepen¬ dently addressable modems for shared access by all LAN users. With a Quad board and a PC/AT, users can set up their own dial-in information services. Quad and dual configurations are avail¬ able for 1200-bps and 2400-bps speed. The Quad modem board may be used with multiuser systems based on the AT, PC/XT, and the RT PC using XENIX, AIX, PC/DC, or other UNIX software. Quad 1200, $1,249; Quad 2400, $1,799. Omnitel, Inc., 5415 Randall Place, Fre- mont, CA 94538; 800/654-2785; in Cal¬ ifornia, 800/233-2202 CIRCLE 308 ON READER SERVICE CARD Dastra America’s MU/FO is a multi¬ user office hardware/software package that supports as many as nine users on a single PC/XT or PC/AT. The RAM-resi¬ dent assembly code operating system al¬ lows users to input data, create reports, and perform and develop application programs simultaneously. Three-, five-, and nine-user systems are available. MU/FO contains conversion utilities for Ashton-Tate’s dBASE n and cIbase hi hie importation. Other features include rec¬ ord lockout, automatic backup, and 16 password security levels. In its maxi¬ mum configuration, the system supports eight terminals and printers, six hard disks, and a tape drive. DOS programs cannot be run concurrently with MU/ FO. Prices range from $249 to $1,395. Dastra America, 976 N. Lemon, Orange, CA 92667; 800/843-5087; in California, 714/633-2275 CIRCLE 316 ON READER SERVICE CARD GammaLink has announced that its GammaFax, a PC-to-facsimile commu¬ nications package that enables PC users to send documents directly from PCs to any CCITT group 3 facsimile machine, now offers a high-speed, PC-to-PC hie transfer capability. The enhanced GammaFax package allows users to send DOS hies, including ASCII docu¬ ments, over telephone lines at speeds as high as 9,600 bps. GammaFax can route multiple documents in a single trans¬ mission, transmit combinations of docu¬ ments to different sites, store and for¬ ward, and broadcast documents to dif¬ ferent sites. $995. GammaLink, 2452 Embarcadero Way, Palo Alto, CA 94303; 415/856-7421 ' CIRCLE 312 ON READER SERVICE CARD FX-BM88 Facsimile Board, an add-on card from Panasonic Industrial Com¬ pany, allows microcomputers to send and receive documents to and from CCITT group 3 facsimile machines. With the FX-BM88, the user can edit and send a hie or scanned image to a facsimile machine; a document received from a facsimile machine can be viewed and edited on screen, then output to a dot¬ matrix or laser printer. $1,000. Panasonic Industrial Company, One Panasonic Way, Secaucus, NJ 07094; 201/348-7000 CIRCLE 313 ON READER SERVICE CARD Corvus Systems, Inc. has announced a high-performance hie server that em¬ ploys the Intel 80386. The Series 80386 consists of a PC/AT-compatible work¬ station, 2.5MB of RAM, and the choice of a 70MB or 126MB hard-disk drive. The Series 80386 uses a 32-bit bus with eight expansion slots when running Novell Advanced NetWare 2.0a. With 70MB, $16,595; 126MB, $19,795. Corvus Systems, Inc., 160 Great Oaks Blvd., San Jose, CA 95119-1347; 408/559-7000 CIRCLE 306 ON READER SERVICE CARD PLUS4, an expansion subsystem that al¬ lows users to create microcomputer clusters of hve users has been intro¬ duced by Alloy Computer Products, Inc. A complete hve-user system built using PLUS4 requires only one host computer equipped with a hard disk and four terminals. PLUS4 includes NTNX Novell-compatible multiuser sys¬ tem software, tape backup, and four Al¬ loy PC-slave/16 boards that provide each user with an individual NEC V20 proces¬ sor and 1MB of memory. $5,495. Alloy Computer Products, Inc., 100 Pennsylvania Avenue, Framingham, MA 01701; 617/875-6100 CIRCLE 307 ON READER SERVICE CARD Epson America, Inc. has entered the laser printer market with the GQ-3500. The printer comes equipped with 640KB of memory and has a second generation engine that make possible the compact size of the printer (15.9 by 8.5 by 16.5 inches). The GQ-3500 fea¬ tures a 45-second warm-up time and a first-page-printing time of between 22 and 25 seconds with an overall speed of six pages per minute. Users have access to seven built-in fonts by pushing a but¬ ton on the control panel. The printer engine’s life is rated at 180,000 pages. GQ-3500, $2,495; toner cartridge, $29. Epson America, Inc., Computer Products Division, 2780 Lomita Blvd., Toirance, CA 90505; 800/421-5426; in California, 213/539-9140 CIRCLE 320 ON READER SERVICE CARD SOFTWARE Aker Corporation has introduced an application generator, called Magic PC, that requires no programming language to design applications. The entire pro¬ cess of implementing an application with Magic PC is one of filling in execu¬ tion tables and data dictionaries. The de¬ signer interfaces with these tables by highlighting selections from pop-up, menu-driven windows. Each entry in the execution table is an operation that ma¬ nipulates data in a true, relational data¬ base environment. A zooming capability allows the applications user to probe 34 PC TECH JOURNAL BOOKMARK Data Protection Software Automatically marks your place so you can resume where you left off. Runs with most software so if you decide to call it a day you can power down, and upon restart BOOKMARK will bring you back where you left off...it’s like having a BOOKMARK in your computer! Stop wasting time navigating through menus . . . or teaching novices. Easy to use. You choose how often work is saved, by number of keystrokes or length of time. Work in progress can be resumed within seconds after system crash, power failure, accidental reset or power down. Costly battery backup systems are no longer needed when work in progress is already saved to the point of the previous BOOKMARK placement. BOOKMARK is a memory-resident utility that automatically and periodically saves work in progress to a reserved area of the hard disk. Suggested Retail Price $69.95 Requirements: IBM PC/XT/AT or 100% Compatible 64 k to 640k IBM DOS 2.1 or Higher 1 Floppy Disk Drive • Hard Disk Drive (10 Megbytes Minimum) Video Display Adapter, IBM (Monochrome, Color, Enhanced Color). Hercules, AST (BOOKMARK occupies an equivalent space on hard disk as in system RAM plus video RAM) To Order, Call INTELLISOFT International or Ask Your Dealer for BOOKMARK INTEULISOFT INTERW ATIOIM AL Call Toll Free (800) 544-MARK • In California Call Toll Free (800) 543-MARK 70 Digital Drive • P.O. Box 1972-Novato, California 94948-(415) 883-1188 BOOKMARK' is a trademark of INTELLISOFT International. Copyright© 1986 by INTELLISOFT International. All rights reserved. IBM PC/XT/AT are registered trademarks of International Business Machines Corporation. Hercules is a trademark of Hercules Computer Technology. AST is a registered trademark of AST Research, Inc. CIRCLE NO. 114 ON READER SERVICE CARD TECH RELEASES (irapb produced by norland's Numerical Method Toolbox deep into the application through nested windows. Magic Run enables stand-alone operation at runtime. Magic PC Trial (limited to 100 records), $19.95; Magic PC (with unlimited users in a IAN), $695; Magic Run, $95 each (available in two-packs only). Aker Coiporation, 18007 Skypark Circle Drive, Suite B2, Irvine, CA 92714; 714/250-1718 CIRCLE 330 ON READER SERVICE CARD Microsoft Corporation and Phoenix Technologies Limited have an¬ nounced agreements to strengthen Phoenix’s custom OEM-level engineer¬ ing support of Microsoft's systems soft¬ ware, including MS-DOS, XENIX System V/386, and Windows. Under the terms of the agreement Phoenix will develop its 80386-based VP/ix virtual PC environ¬ ment for Microsoft’s XENIX System V/386 multiuser operating system, and license MS-DOS 3.2 from Microsoft and offer it to Phoenix’s VP/ix OEM custom¬ ers as part of the VP/ix offering. Prices are unavailable. Microsoft Corporation, 16011 N.E. 36th Way, P.O. Box 97017, Redmond, WA 98073-9717; 206/882-8080 CIRCLE 325 ON READER SERVICE CARD Phoenix Technologies Limited, 320 Nor¬ wood Park S, Nonvood, MA 02062; 617/769-7020 CIRCLE 326 ON READER SERVICE CARD A BASIC language development environ¬ ment, Turbo Basic, has been an¬ nounced by Borland International Turbo Basic offers full 8087/80287 nu¬ meric coprocessor support, which gen¬ erates in-line coprocessor instructions. Built-in conversion functions take BASICA floating-point data and convert it to IEEE floating-point format. Pro¬ grams that use integer mathematics have a 32-bit-long integer data type. Other features include pull-down menus; con¬ text-sensitive help; and window manage¬ ment (including user-controllable size, color, and placement), with separate windows for editing, messages, tracing, and program execution. The compiler, editor, and executable programs are fully integrated and the program text can be output either to a window or to the full screen. $99.95. Eor engineers and scientists, Bor¬ land has introduced Eureka: The Solver, a software tool for problem solving. The user writes an equation, Menu screen from norland's Eureka. The Solrer sets options, and instructs the software to solve the problem. The package also evaluates and displays the accuracy of the solution. Equations, solutions, and evaluations are accessible through sepa¬ rate windows on the computer screen. Eureka: The Solver fully supports the 8087 numeric coprocessor. $99.95. Numerical analysis is addressed in Borland’s Numerical Methods Tool¬ box. This package is a collection of Turbo Pascal routines and programs, each with an accompanying demonstra¬ tion program example. Comprised of 10 modules, the Toolbox provides the fol¬ lowing number-crunching abilities: find¬ ing solutions to equations, interpola¬ tions, calculus with numeric derivatives and integrals, matrix operations includ¬ ing inversions, determinants, eigen¬ values, differential equations, least- square approximations, and fast Fourier transforms. The generic procedures contained in each module can be modi¬ fied and included in the user’s own pro¬ grams. Complete source code is in¬ cluded with the Toolbox. $99.95. Borland International, 4585 Scotts Val¬ ley Drive, Scotts Valley, CA 95066; 408 / 438-8400 CIRCLE 321 ON READER SERVICE CARD Quarterdeck Office Systems has in¬ corporated virtual 8086 machine archi¬ tecture support for the Compaq Desk- pro 386 into DESQview 1.3, a multi¬ tasking operating environment. The vir- tual-86 mode permits 8088/86 code to be executed within the protected and paged environment provided by the 80386 and permits these programs to run simultaneously, as if they were in their own 1MB machine. DESQview 1.3 also improves the efficient' of high¬ speed—4800 or 9600 bps—communica¬ tion programs running in DESQview. To be released in February is version 2.0 of DESQview, which will increase the capabilities of 1.3 as well as add En¬ hanced Graphics Adapter (EGA) support and a DESQview Application Program Interface. Also, a runtime version will be available in conjunction with release 2.0. DESQview 1.3, $99.95; 1.21 upgrade to 1.3, $19.95; DESQview 2.0, $129.95; 1.3 upgrade to 2.0, $30.00. Quarterdeck Office Systems, 150 Pico Bird., Santa Monica, CA 90405; 213/392-9851 CIRCLE 324 ON READER SERVICE CARD Version 3.1 of watcom BASIC, a lan¬ guage interpreter, is now available from watcom Products, Inc. Enhanced fea¬ tures include: the watcom Graphics Ker¬ nel System (GKS), indexed hie process¬ ing, additional capability for parameters of procedures and functions, and sev¬ eral business and scientific program ap¬ plications. $250. watcom Products, Inc., 415 Phillip Street, Waterloo, Ontario, Canada N2L 3X2; 519/886-3700 CIRCLE 327 ON READER SERVICE CARD 36 PC TECH JOURNAL It makes desktop publishing a piece of cake! Tall Tree Systems introduces another breakthrough in desk¬ top publishing with JLASER PLUS. We've combined a 2 MB EMS memory board and an interface to both a Canon®-based laser printer and scanner. JLASER PLUS increases the perfor¬ mance of both devices and gives you a low- cost solution to the limitations you've been experiencing with them. Furthermore, the same memory that is made available to your printer and scan¬ ner is also available for all your other conven¬ tional applications. You get system mem¬ ory, expanded LIM memory, extended memory in an AT-type machine, RAM Disk and print spooler — all in a single slot! Supporting JLASER PLUS is a host of soft¬ ware packages, such as PC Paintbrush 4 netics, LaserGL from Software Express, Ventura Publisher from Xerox, Page Builder from White Sciences, Le Print from Le Baugh Software, Fancy Font and Fancy Word from SoftCraft, Inc., and many more to be announced. It takes a techno¬ logical innovator like Tall Tree Systems to provide a major advancement like JLASER PLUS. And we don't stop at performance. We also deliver value, which is truly icing on the cake. TALL TREE SYSTEMS 1120 San Antonio Road Palo Alto, CA 94303 (415) 964-1980 CIRCLE NO. 194 ON READER SERVICE CARD TALL TREE SYSTEMS Canon is a registered trademark of Canon, Inc. All software packages listed are trademarks of their respective companies. ©1986 by Tall Tree Systems. All rights reserved. LaserControlfrom Insight Deivlopment Corporation Screen s/x>t from T&W Systems’ VersaCAD DESIGNER Intel Corporation has extended its software development support of the 80386 system to PC hosts with the intro¬ duction of a C language compiler and utilities package for the PC/AT running DOS 3.0 or later. The C 386 Compiler and the RLL 386 Relocation, Linkage, and Library Tools package are the in¬ dustry’s first development tools for PC hosts. The DOS tools can he used on stand-alone PCs and on PCs linked via the Intel OpenNET network with other PCs or with VAX and MicroVAXT com¬ puters. C 386, $900; RLL 386, $600. Intel Corporation, Literature Depart¬ ment W338, 3065 Bowers Avenue, P.O. Box 58065, Santa Clara, CA 95052- 8065; 5031681-2279 CIRCLE 323 ON READER SERVICE CARD Corvus Systems, Inc. has released a network operating system for its Omni- net LAN. Designated PC/NOS, it permits networks to be created without file serv¬ ers, but still supports the PC-DOS 3.1 file- and record-locking calls. PC/NOS has complete access security control for nodes, peripherals, directories, and hies. When hie servers are needed, PC/NOS supports multiple servers. For 64 users, $695. Corvus Systems, Inc., 160 Great Oaks Bird, San Jose, CA 95119-1347; 408/559-7000 CIRCLE 322 ON READER SERVICE CARD BABY/36 from California Software Products, Inc..now permits develop¬ ment and execution of RPG II programs on the PC and PC networks. Release 3.4 updates the product to the latest version of IBM’s System/36 operating system: System Support Program (SSP) 4.0. Included are new conditional oper¬ ations and program loops: CASE, DO, DO.. .UNTIL, DO.. .WHILE, and IF.. .THEN.. .ELSE. Stand-alone systems range from $700 for execution-only ver¬ sions to $3,500 for complete RPG II de¬ velopment and execution systems. LAN versions range from $1,500 to $4,500, plus $100 per linked device; upgrades at no charge to existing customers. California Software Products, Inc., 525
  29. Cabrillo Park Drive, Santa Ana, CA 92701; 714/973-0440 CIRCLE 328 ON READER SERVICE CARD T&W Systems, Inc. has announced a complete design station, VersaCAD designer. Together with the power of VersaCAD 5.0, VersaCAD designer offers three-dimensional design, color shad¬ ing, automatic extrusion, a variety of dis¬ play modes, built-in primitives, and complete programmability. All designs can be moved between two- and three- dimensional models using a single main menu. VersaCAD designer offers two- way communications links to other soft¬ ware using recognized standards of protocol. $2,995. T&W Systems, Inc., 7372 Prince Drive, Suite 106, Huntington Beach, CA 92647; 800/228-2028, ext. 85; in Cali¬ fornia, 714/847-9960 CIRCLE 331 ON READER SERVICE CARD An application development environ¬ ment for the Intel 80386, Merge 386 has been announced by Locus Com¬ puting Corporation. Merge 386 allows the system to simultaneously, and trans¬ parently, execute both UNIX and DOS operating systems. Users can have sev¬ eral DOS and UNIX programs executing concurrently. Other benefits included are password security and file protec¬ tion for DOS, record-level access to the same files by both operating systems, UNIX programs invocable from DOS programs, named-pipe support for inter¬ process communication between UNIX and DOS, and DOS programs transpar¬ ently invocable from UNIX programs. Merge 386, $500. Locus Computing Corporation, 3330 Ocean Park Blvd., Santa Monica, CA 90405; 213/452-2435 CIRCLE 335 ON READER SERVICE CARD Version 2.2 of LaserControl, a utility package for Hewlett-Packard laser print¬ ers, is available from Insight Develop¬ ment Corporation. LaserControl en¬ ables the HP LaserJet to work with most IBM PC software. The program provides seven printer emulations: Diablo 630; Qume Sprint 5; NEC 3550, 5510, and 7710; Epson MX-80; and IBM Graphics Printer. This program allows any soft¬ ware that supports these printers to be used with the HP LaserJet. Besides printer emulation, LaserControl pro¬ vides menu-driven control of the laser printer. Through the menu, users can choose the page layout, fonts, margins, number of lines per page, paper size, paper tray, and other options. Laser- Control can be utilized as a memory- resident, pop-up program or a standard DOS application. $150. Insight Development Corporation, 1024 Country Club Drive, Suite 140, Moraga, CA 94556; 415/376-9451 CIRCLE 332 ON READER SERVICE CARD Prospero Software has made available Pro Fortran-77, which is a complete implementation of the ANSI X3.9-1978 standard, generally referred to as FORTRAN 77. The software consists of the compiler, runtime libraries, link edi¬ tor, librarian program, configuration utility, and symbolic debugger. The two- pass compiler converts a source file containing one or more program units into binary machine code in standard Intel object format. Runtime libraries contain the routines needed to support execution of object programs. The li¬ braries are provided in versions for small and large models, with and with¬ out the use of an 8087 numeric copro¬ cessor. Pro Fortran-77, $149. Prospero Software, 190 Castelnau, Lon¬ don SW13 9DH, England; 011-441-741 8531 • US. Distributor: Software Consult¬ ing Services, 3162 Bath Pike, Nazareth, PA 18064; 215/837-8484 CIRCLE 338 ON READER SERVICE CARD 38 PC TECH JOURNAL TALL TREE SYSTEMS. A Technological Innovator. Always a Step Ahead! For true industry leader¬ ship, look no further than Tall Tree Systems. We have a history of being first. We were the first to introduce bankswitching. The first with two megabyte memory boards. The first with I/O modularity in a single slot. The first with 8 MHz speed capabilities. The only maker of single command EMS boards. The first with a laser printer solution — JLASER — that allows you to do full-page graphics and multiple type fonts on any Canon® or Ricoh® laser engine. £ MJBti Now, we're first again with memory expansion for the IBM®RT. Innovation is our tradition. Our trademark is supe¬ rior technology at the lowest possible price. txr IS - 1120 San Antonio Road • Palo Alto, CA 94303 • (415) 964-1980 CIRCLE NO. 197 ON READER SERVICE CARD ©1986 by Tall Tree Systems. All rights reserved. IBM, RT are registered trademarks of International Business Machines Corp. Canon and Ricoh are registered trademarks of Canon Corp. and Ricoh Corp., respectively. Design created using CalComp's CAD package. Solid Vision dBXL, WordTech Systems' database manager A menu-driven, hard-disk-based total system manager called SNAP has been introduced by the Mt. Whitney Group. This product boasts over 200 features that give the user the functions of many programs executable in one or two key¬ strokes. SNAP allows the user to create unlimited, customized windows that can be deeply nested. Menus can be se¬ lected (alphabetically or free-form), mixed, and moved; password protection can be given to any menu or menu item. SNAP will copy, delete, move, ren¬ ame, format, sort, view, edit, tag, untag, encode, or decode any hie in any direc¬ tory on any drive. Complete editing and printing features are included as well as high-speed viewing and auto-scrolling. SNAP analyzes a system’s hardware and will display more than 35 drive and computer statistics. $99. Alt. Whitney Group, 11612 Knott Ave¬ nue, Building G-19, Garden Grove, CA 92641; 800/992-4992; in California, 800/624-7355 CIRCLE 333 ON READER SERVICE CARD A true, three-dimensional design and drafting package is being offered by CalComp Systems Division. Solid Vision allows users to design in three dimensions and revise that design as of¬ ten as necessary; it also provides the ability to see a design in plan, elevation, section, or perspective and to produce drawings, model design, and presenta¬ tion images—all from one model. Solid Vision uses boundary representation and boolean technology. All coordinate data are stored in floating-point format, providing six digits of numerical accu¬ racy. Stand-alone, $3,500; bundled with cadvance, $4,995. CalComp also is offering version 1.3 of cadvance, a two-dimensional CAD system. Added features include full digitizer tablet menu support, enhance¬ ments to ('advances Macro Program¬ ming Language, application specific commands, and inclusion of the pre¬ viously optional 3D projections, which allows the user to produce oblique, isometric, and perspective projections quickly and automatically. $2,500. CalComp Systems Division, 2411 W. La Palma Avenue, Anaheim, CA 92801; 714/821-2142 CIRCLE 329 ON READER SERVICE CARD Micro Data Base Systems, Inc. (mdbs) has made available version 1.1 of its expert system environment, GURU. The enhanced expert system ca¬ pabilities of GURU allow users to pro¬ cess mdbs s KnowledgeMan/2 and Ash- ton-Tate’s dBASE n or cIbase hi plus hies as if they were GURU hies. GURU can ac¬ cess Lotus 1-2-3 spreadsheets directly as well. Other enhancements include GURU’s knowledge tree and case-saving features. The knowledge tree allows de¬ velopers to view a diagram of a rule set showing the relationships among vari¬ ables, rules, and goals. The case-saving feature allows developers to save (and later replay) expert system consulta¬ tions. Version 1.1 allows multiple firing of rules within the same consultation. Single-user system, $6,500; upgrades at no cost for purchases after November 1, 1985, upgrades for purchases prior to November 1, 1985, $650. Micro Data Base Systems, Inc., P.O. Box 248, Izifayette, IN 47902; 800/344-5832; in Indiana, 317/463-2581 CIRCLE 334 ON READER SERVICE CARD Opt-Tech Data Processing has intro¬ duced Opt-Tech Soft 3.0, a high-per¬ formance assembly language sort/ merge/select utility. Major added fea¬ tures include record selection, record reformatting, comma-delimited hies, support for Ashton-Tate’s Ubase hi, dy¬ namic memory allocation, alternate col¬ lating sequences, expanded hie options, unlimited number of input hies, and new parameter options. Opt-Tech Sort is callable from 25 languages or can be run as a DOS utility (either stand-alone or batch hie). Version 3.0 supports un¬ limited hie sizes of most types including hxed length, variable length, random, cIbase, and Btrieve. $149. Opt-Tech Data Processing, P.O. Box 678, Zephyr Cove, NV 89488; 702/588-3737 CIRCLE 339 ON READER SERVICE CARD A version of the theos multiuser, multi¬ tasking operating system for the Intel 80386 has been released by theos. theos 386 will initially address up to 16MB of memory and support 32 users in a multiuser environment. THEOS is complemented by comprehensive BASIC, C, and assembly languages. The languages feature a bridge allowing soft¬ ware developed under one micropro¬ cessor version of theos to be translated and run under newer theos versions, including theos 386. THEOS, 201 Lafayette Circle, Suite 100, Lafayette, CA 94549-4370; 415/283-4290 CIRCLE 336 ON READER SERVICE CARD A work-alike to Ashton-Tate’s dBASE in plus has been announced by WordTech Systems. The dBXL database manager, which is not copy protected, offers full file syntax compatibility with dBASE m plus and brings new commands to the dBASE language, thus allowing users to create true windows within their pro¬ grams. Other features include DOS compatibility, an improved user inter¬ face, a menu-driven assist feature, and several levels of on-line help. WordTech has assembly code compiler and hie server support for dBXL. $169. WordTech Systems, Inc., P.O. Box 1747, 21 Altarinda Road, Orinda, CA 94563; 415/254-0900 CIRCLE 337 ON READER SERVICE CARD lmmmiiig§] The material that appeals in Tech Releases is hosed on vendor-supplied information. These products have not been reviewed by the PC Tech Journal editorial staff. 40 PC TECH JOURNAL 'our Quality Connection When you need programmer's development tools, Programmer's Connection is your best one-stop source. We’ve specialized in development software for IBM personal FREE Shipping. Shipping is FREE if you have your order shipped via standard UPS anywhere in the USA. We can also express your order to you with no special fees and we'll only charge you the shipping carrier's standard rate. Many other companies profit from overcharges plus special fees for express shipments. computers since 1984 and are experienced in providing a full range of quality products and customer services. Unbiased Advice. Our friendly, non¬ commissioned salespeople are always prepared to assist you. We also have experienced technical consultants who can answer questions, help you compare products and send you detailed product information tailored to your needs. Since we're not affiliated with any software publisher or manufacturer, we'll give you an unbiased look at the products we carry. No Sales Tax. Customers outside of are not charged state sales tax*. No HidJenCharges. Quite simply,the prices you see on the next two page§are all you pay. We don’t charge extra for standard UPS shipping, credit cards, . = COD orders) purchase orders orjpecial handling. When you buy from Programmer's .. Connection, you get all of the benefits of buying directly from the manufacturer and none of the drawbacks. So call us today and discover the advantages of our One-stop service for yourself. YguMI be glad you did! lllliMlBI High Quality. We stock hundreds of high quality software development tools specifically for IBM personal computers and compatibles. And as new products become available, we’ll sell only those that meet our high standards for quality Manufacturer Support. The products we sell are the latest versions and come with the same technical support as if buying directly from the manufacturer^ Return Guarantees. Our goal is customer? satisfaction and that's why we offer a^; 30-day documentation evaluatiog'perioi^ A or a 30-day return guarantee on most of our F products. Please call for specifitfletails. Immediate Shipment Most products are in stock and are ready for shipment from our large inventory. Discounts. You'll save money on all of your software purchases from Programmer's Connection. Our ads show both the discount » and retail prices for each product so you'll always know exactly how much you'll save. Turn the page for our latest a price list and ordering informatio Credit Cards. We'll charge your credit card at the time we ship your order. Othei companies may charge your credit ard atthe time they take your order so they can use your money interest-free while you wait for your shipment. k k kkk k k Sale prices effective through 2/28/87. apl language APL*PLUS/PC bySTSC . 595 APL*PLUS/PC Spreadsheet Mgr by STSC . 1 95 APL*PLUS/PC Tools Vol 1 by STSC .... 295 APL*PLUS/PC Tools Vol 2 by STSC .... 85 APL # PLUS/UNX For AT XENIX by STSC . . . 995 Btrieve ISAM File Mgr by SoftCraft . 245 Financial/Statistical Library by STSC . . . 275 Pocket APL by STSC . 95 STATGRAPHICS by STSC . 795 artificial intelligence 1 st - Class by Programs in Motion . 495 APT from Solution Systems . 65 Arity Combination Package. 1225 Expert System Development Pkg. . . . 295 File Interchange Toolkit. 50 PROLOG Compiler & Interpreter .... 795 Screen Design Toolkit. 50 SQL Development Package. 295 Arity PROLOG Interpreter. 350 Arity Standard Prolog. 95 Autointelligence by IntelligenceWare . 990 ExpertEDGE Advanced by Human Edge ... 2500 ExpertEDGE Professional by Human Edge . . 5000 Experteach II by IntelligenceWare . 475 EXSYS Development Software by EXSYS . ... 395 EXSYS Runtime System. New 600 GCLISP Golden Common LISP by Gold Hill. . . 495 GCLISP 286 Developer by Gold Hill . 1190 Insight 1 by Level Five Research . 95 Insight 2+ by Level Five Research . 485 Intelligence/Compiler IntelligenceWare . . . 990 Logic-Line Series 1 by Thunderstone .... 90 Logic-Line Series 2 by Thunderstone .... 125 Logic-Line Series 3 by Thunderstone .... 150 LPA microPROLOG by Prog Logic Systems . . 99 with APES. 149 LPA Professional microPROLOG. 395 with APES. 650 Microsoft LISP Common LISP . 250 MPROLOG Language Primer LOGICWARE New 50 MPROLOG P500 by LOGICWARE . New 495 MPROLOG P550 by LOGICWARE . New 220 PC Scheme by Texas Instruments . 95 Personal Consultant Easy by 77. 495 Personal Consultant Plus by Tl . 2950 Personal Consultant Runtime. 95 PROLOG-2 Interpreter by ESI . 450 PROLOG-2 Interpreter and Compiler. . . . 895 QNIAL by NIAL Systems . 375 TransLISP from Solution Systems . 95 Turbo PROLOG Compiler by Borland Inti. . . 100 assembly language 386 ASM/LINK Cross Asm by Phar Lap . . . 495 8088 Assembler w/Z-80 Trans by 2500 AD. 100 ASM LIB Function Library by BC Assoc .... 149 asmTREE BTree Dev System by BC Assoc . . . 395 Cross Assemblers Various by 2500 AD . . . CALL Microsoft Macro Assembler. 150 Norton Utilities by Peter Norton . 100 Turbo EDITASM by Speedware . 99 Uniware Cross Assemblers Various by SDS 295 Visible Computer: 8088 Software Masters . 80 basic language BetterBASIC by Summit Software. 8087 Math Support. Btrieve Interface. C Interface. Run-time Module. EXIM Services Toolkit by EX/M. Finally by Komputerwerks . Inside Track from Micro Help . . . MACH 2 by Micro Help . Microsoft QuickBASIC. 87 QB Pak by Hauppauge .... Peeks 'n Pokes from MicroHe/p . Professional BASIC by Morgan . 8087 Math Support. Stay-Res by MicroHelp . True Basic wl BA SICA Converter. . True Basic w/Converter & Run-time BASICA Converter. Run-time Module. Various Other Utilities . Turbo BASIC by Borland Inti .... blaise products ASYNCH MANAGER Specify C or Pascal Sale 175 C TOOLS PLUS. Sale 175 EXEC Program Chainer . Sale 95 LIGHT TOOLS for Data/ight C. . . . New, Sale 100 PASCAL TOOLS. Sale 125 PASCAL TOOLS 2. Sale 100 PASCAL TOOLS 8t PASCAL TOOLS 2 . Sale 175 ►RUNOFF Text Formatter . Sale 50 ►TURBO ASYNCH PLUS. Sale 100 ►TURBO POWER TOOLS PLUS. Sale 100 ►VIEW MANAGER Specify C or Pascal . . Sale 275 . . 200 99 99 99 . . 250 . . CALL 99 65 75 99 New 69 45 99 50 95 . . 200 . . 295 50 . . 150 50 New 100 429 139 199 59 695 194 195 69 579 399 CALL 1139 259 45 699 45 259 309 79 CALL CALL CALL 359 319 479 CALL CALL 75 379 749 85 115 139 89 129 339 469 163 45 395 175 85 439 2599 85 419 839 349 CALL 65 CALL 89 129 339 CALL 95 59 84 249 65 129 75 75 75 169 CALL 85 51 61 65 59 37 75 42 85 99 179 45 99 45 69 119 119 65 69 85 65 99 39 69 69 165 borland products EUREKA Equation Solver . New 100 69 REFLEX 8t REFLEX Workshop. 200 129 REFLEX Data Base System . 150 89 REFLEX Workshop. 70 45 Turbo BASIC. New 100 69 Turbo DATABASE TOOLBOX. 70 47 Turbo EDITOR TOOLBOX. 70 47 Turbo GAMEWORKS TOOLBOX. 70 47 Turbo GRAPHIX TOOLBOX. 70 47 Turbo LIGHTNING. 100 64 Turbo Numerical Methods Library . . New 100 69 Turbo PASCAL and TUTOR. New 125 85 Turbo PASCAL with 8087 and BCD. . . . 100 64 Turbo TUTOR. 40 28 Turbo Prolog Compiler. 100 64 Word Wizard. 70 47 Word Wizard and Turbo Lightning. 150 94 C + + ►C+ + by Guidelines wl kernel 1.1 .... Sale 195 169 c compilers 68000/10/20 Cross Compiler by SDS . . 595 CALL C86PLUS by Computer Innovations . . . . New 497 CALL ►Datalight C Compiler Small Mode! . . . Sale 60 45 ►Datalight Developer Kit. Sale 99 69 ► Datalight Optimum-C. New, Sale 139 99 ► with LIGHT TOOLS Blaise. . . . New, Sale 239 168 DeSmet C wl Debugger . 159 138 DeSmet C wl Debugger & Large Case . 209 184 Eco-C Development System by Ecosoft . 125 83 Lattice C Compiler from Lattice . 500 275 Mark Williams Let's C Combo Pack . New 125 99 Let's C Compiler . 75 57 csd Source Level Debugger . 75 57 Mark Williams MWC-86 . 495 289 ► Microsoft C with CodeView . Sale 450 265 ► Wizard C Combo by Wizard Systems . . Sale 750 529 ► Wizard C Compiler. Sale 450 299 ► ROM Development Pkg. Sale 350 259 cinterpreters ► C-terp by Gimpel, Specify compiler . . . . Sale 300 199 C Trainer with Book by Catalytix . 122 87 ► Instant C by Rational Systems . Sale 500 359 Introducing C by Computer Innovations. ... 125 CALL Run/C from Lifeboat . 150 89 Run/C Professional from Lifeboat . 250 169 c utilities ► APT by Shaw American Technology .... Sale 395 259 Basic C Library by C Source . 175 119 ►C Essentials by Essential Software . . . Sale 100 65 C-ISAM by Informix . 225 195 C to dBase by Computer Innovations . 150 CALL ► c-tree & r-tree Combo by FairCom . . . Sale 650 459 ► c-tree ISAM File Manager . Sale 395 279 ► r-tree Report Generator . Sale 295 199 ►C Utility Library by Essential . Sale 185 119 C Windows by Syscom . 100 85 Wings by Syscom . 50 43 Cl ROMPac by Computer Innovations . 195 CALL ►dbQUERY All Varieties by Raima . Sale CALL CALL ► dbVISTA Single-User DBMS by Raima. . . Sale 195 139 ► with Source Code . Sale 495 389 ► dbVISTA Multi-User DBMS by Raima . . . Sale 495 389 ► with Source Code . Sale 990 779 dBx dBase/C Translator by Desktop At . 350 314 with Library Source Code . 550 493 Entelokon Combo Package. 200 169 C Function Library. 130 109 C Windows. 130 109 Superfonts for C. 50 43 ► Essential Comm Library wl Debugger . Sale 250 159 ► Breakout Debugger Any language ..Sale 125 79 ► Essential Comm Library. Sale 185 119 Essential Graphics by Essential Software . . 250 195 Flash-up Windows by Software Bottling. . . 90 79 Graphic Mono v2.2 by Sci Endeavors . 280 209 Graphic Color v3.0 by Sci Endeavors . 350 284 GRAFLIB by The Librarian . 175 CALL Greenleaf Comm Library by Greenleaf ... 185 127 Greenleaf Data Windows by Greenleaf . . . 225 157 with Source Code . 450 295 Greenleaf Functions by Greenleaf . 185 127 HALO by Media Cybernetics . 300 209 HALO Development Pkg for Microsoft . New 595 395 The HAMMER by OES Systems . 195 149 HELP/Control by MDS . 125 109 Meta WIN DOWS No Royalties . 185 115 MetaFONTS. 80 58 MetaWINDOWS/Plus by Metagraphics . . . 235 189 MetaFONTS/Plus. 235 189 On-line Help from Opt-Tech Data Proc .... 149 109 PANEL by Roundhill Computer Systems .... 295 215 PC Lint by Gimpel Software . 139 99 PLOTHI by The Librarian . 175 CALL PLOT HP by The Librarian . 175 CALL Scientific Subroutine Lib by Peerless. ... 175 138 Vector87 by Vectorplex Data Systems . 150 135 Vitamin C by Creative Programming . 225 CALL VC Screen Forms Designer . 100 82 Zview by Data Management Consultants . . . 245 189 cobol language Micro Focus COBOL Workbench. 4000 3379 Micro Focus Level II COBOL. 1500 549 COGRAPHICS. 250 199 COMATH. 200 159 FORMS-2. 300 259 Level II Animator. 900 349 Level II SOURCEWRITER. 2000 CALL Micro Focus Level II COBOL for Novell. . . 2000 1699 Micro Focus Micro/SPF. 175 149 Micro Focus Professional COBOL. 3000 2295 Multi-user Runtime for PC Network . . . 500 429 Microsoft COBOL See Microsoft Section. . . CALL CALL Realia COBOL. 995 785 RM/COBOL by Ryan-McFarland . 950 639 RM/COBOL 8X by Ryan-McFarland . 1250 895 debuggers & profilers 386 DEBUG Cross Debugger by Phar Lap . . . 195 129 Advanced Trace-86 by Morgan Computing. . 175 125 Cl Probe by Computer Innovations . 225 CALL Codesifter Profiler by David Smith . 119 94 Codesmith-86 by Visual Age . 145 99 DSD86 by Soft Advances . 70 61 DSD87 by Soft Advances . 100 79 MiniProbe by Atron . New 395 CALL Periscope I by The Periscope Company .... 295 239 Periscope II wlNMI Breakout Switch . 145 107 Periscope ll-X Software only . 115 84 The PROFILER with Source Code by DWB . . 125 89 The WATCHER Profiler by Stony Brook . ... 60 51 forth language CFORTH Native Code Compiler by LMI .... 300 229 Forth/83 Metacompiler Specify Target ... 750 599 PC/Forth by Laboratory Microsystems . 150 109 PC/Forth + by Laboratory Microsystems . . . 250 199 Advanced Color Graphics Support ... 100 74 Enhanced Graphics Support. 200 148 Intel 8087 Support. 100 74 Interactive Symbolic Debugger. 100 74 Native Code Optimizer. 200 148 PCTERM Modem Pgm for Smartmodem . . 100 74 Software Floating Point. 100 74 UR/Forth by Laboratory Microsystems . 350 279 Object Module Libraries. 500 395 Source Code License. 1500 995 fortran language 50 MORE: FORTRAN by Peerless Engr ... 125 99 ACS Time Series Alpha Computer Service . . 495 399 Btrieve ISAM File Mgr by SoftCraft . 245 194 Essential Graphics by Essential Software . . 250 195 For-Winds Alpha Computer Service . 90 69 Forlib-Plus Alpha Computer Service . 70 49 FORTLIB by The Librarian . 95 CALL FORTRAN Addenda by Impulse Engr . 95 85 FORTRAN Addendum by Impulse Engr. ... 165 139 GRAFLIB by The Librarian . 175 CALL HALO by Media Cybernetics . 300 209 I/O PRO wlNo Limit Library by MEF . 390 349 Microcompatibles Combo Package .... 240 219 Grafmatic.- . . . . 135 119 Plotmatic. 135 119 Microsoft FORTRAN Compiler. 350 204 No Limit by MEF Environmental . 129 115 PANEL Screen Designer by Roundhill . 295 215 PLOTHI by The Librarian . 175 CALL PLOTHP by The Librarian . 175 CALL RM/FORTRAN Ryan-McFarland . 595 CALL Scientific Subroutine Lib by Peerless. ... 175 138 Statistician Alpha Computer Service . 295 245 Strings & Things Alpha Computer Service. . 70 51 Vector87 by Vectorplex Data Systems . 150 135 lattice products Lattice C Compiler from Lattice . 500 275 with Library Source Code . 900 495 C Cross Reference Generator . 50 37 with Source Code . 200 145 C-Food Smorgasbord Function Library. ... 150 95 with Source Code . 300 184 C-Sprite Source Level Debugger . 175 129 Curses Screen Manager . 125 89 with Source Code . 250 178 dBC dBase File Manager for C . 250 178 with Source Code . 500 356 LMK Make Facility . 195 139 RPG II Compiler No Royalties . 750 626 RPG II Combo with SEU & Sort I Merge. ... 1100 939 RPG II Screen Design Aid Utility . . . New 350 309 SecretDisk File Encryption Utility . 120 89 SideTalk Resident Communications . 120 89 SSP/PC Scientific Library . New 350 269 Text Management Utilities. 120 89 TopView Toolbasket Function Library .... 250 178 with Source Code . 500 356 logitech products logitech products LOGIMOUSE C7 Specify Connector Type ... 99 83 with PLUS Pkg . 119 98 with PLUS Pkg & PC Paintbrush . 169 134 with PL US Pkg & CAD Software . 189 153 with PLUS Pkg & CAD & Paint . 219 179 MODULA-2/86 Holiday Package. 199 159 MODULA-2/86 Compiler. 89 62 MODULA-2/86 with 8087 Support .... 129 98 MODULA-2/86 with PLUS Pkg. 189 138 Library Sources. 99 88 Make Utility. 29 25 ROM Package. 199 172 Run Time Debugger. 69 56 Turbo to Modula Translator. 49 42 Utilities Package. 49 42 Window Package. 49 42 REPERTOIRE for MODULA-2!86 by PMI. . . . 89 79 Object Code Only . New 19 15 microport products ► System V/AT by Microport Systems . . . Sale 440 359 Runtime System (Operating System) ... 159 145 Software Development System. 169 155 Text Preparation System. 169 155 User Upgrade 3 to Unlimited Users . 169 155 microsoft products Microsoft BASIC for XENIX . ► Microsoft C with CodeView . Sale Microsoft COBOL Compiler. for XENIX . Microsoft COBOL Tools with Debugger . . . for XENIX . Microsoft FORTRAN Compiler. for XENIX . Microsoft Learning DOS. Microsoft LISP Common LISP . Microsoft MACH 10 wlMouse & Windows . Microsoft MACH 10 Board only . Microsoft Macro Assembler. Microsoft Mouse Bus Version . Microsoft Mouse Serial Version . Microsoft muMath Includes muSIMP .... Microsoft Pascal Compiler. for XENIX . Microsoft QuickBASIC. Microsoft Sort. Microsoft Windows. Microsoft Windows Development Kit. . . 350 239 450 265 700 439 995 635 350 CALL 450 289 350 204 695 439 50 36 250 163 549 385 399 285 150 95 175 114 195 124 300 184 300 184 695 439 99 65 195 129 99 65 500 309 other languages CCS MUMPS Single-User by MGIobal .... 60 CCS MUMPS Single-User! Multi- Tasking .New 150 CCS MUMPS Multi-User . 450 Janus/ADA C Pack by R&R Software .... 95 Janus/ADA D Pack by R&R Software .... 900 Methods Smalltalk by Digitalk . 79 Personal REXX by Mansfield Software .... 125 Smalltalk/V by Digitalk . 99 Smalltalk/Comm. 49 SN0B0L4+ by Catspaw . 95 other products Compact Source Print by Aldebaran . . New CALL Dan Bricklin's Demo Pgm Software Garden. 75 FANSI-CONSOLE by Hersey Micro .... New 75 FASTBACK by 5th Generation Systems .... 179 Informix for DOS by Informix . 795 lnformix4GL for DOS by Informix . 995 InformixSQL for DOS by Informix . 795 Instant Replay by Nostradamus . 90 Interactive EASYFLOW by Haventree .... 150 MKS Toolkit with vi by MKS . 139 Norton Commander by Peter Norton . 75 OPT-Tech Sort by Opt-Tech Data Proc . 149 PrintQ by Software Directions . 89 Quilt Computing Combo Package. 199 [Make Program Rebuild Utility . 99 SRMS Software Revision Mgmt Sys ... . 125 screenplay all varieties by Plexus . CALL SoftScreen/HELP by Dialectic Systems ... 195 Source Print by Aldebaran Labs . 97 Taskview by Sunny Hill Software . 80 TLIB by Burton Systems Software . 100 Tree Diagrammer by Aldebaran Labs. . . New CALL VTEK Term Emulator by Sci Endeavors . 150 phoenix products Pasm86 Macro Assembler Version 2.0 ... . 195 Pdisk Hard Disk & Backup Utility . 195 Pfantasy Pac Phoenix Combo . 1295 Pfinish Performance Analyzer . 395 Pfix-86 Plus Symbolic Debugger . 395 51 129 369 89 769 66 99 84 45 80 CALL 59 65 149 639 789 639 79 129 119 55 115 84 169 84 109 CALL 149 CALL 56 89 CALL 129 115 125 849 229 229 LOWEST PRICES Since this ad is prepared in advance of publication, some of our current prices may be lower than what's advertised here. Call for latest pricing. FREE SHIPPING Orders within the USA (including Alaska & Hawaii) are shipped FREE via UPS. Express shipping is available at the shipping carrier's standard rate with no rush fees or handling charges. To avoid delays when ordering by mail, please call first to determine the exact cost of express shipping. CREDIT CARDS VISA and MasterCard are accepted at no extra cost. Your card is charged when your order is shipped. Mail orders please include credit card expiration date and telephone number. CODs AND POs CODs and Purchase Orders are accepted at no extra cost. POs with net 30-day terms are available to qualified US accounts only. FOREIGN ORDERS Shipping charges for foreign and Canadian orders are based on the shipping carrier's standard rate. Since rates vary between car¬ riers, please call or write for the exact cost. Foreign orders (except Canada), please include an additional $ 10 for customs form preparation. All payments must be made with US funds drawn on a US bank. Please include your telephone number when ordering by mail. Due to government regulations, we cannot ship to all countries. VOLUME ORDERS Call for special pricing. SOUND ADVICE Our knowledgeable technical staff can assist in comparing products, answer technical ques¬ tions and send you detailed product information tailored to your needs. 30-DAY GUARANTEE PforCe Comprehensive C Library . 395 229 Plink-86 Plus Overlay Linker . 495 319 Pmaker Make Utility . 125 78 Pm ate Macro Text Editor . 195 115 Pre-C Lint Utility . 295 155 Ptel Binary File Transfer Program . 195 115 polytron products PolyBoost The Software Accelerator . 80 69 Polytron C Beautifier. 49 45 Polytron C Library I. 99 78 Polytron PowerCom Communications . 179 139 PolyLibrarian Library Manager . 99 78 PolyLibrarian II Library Manager . 149 115 Poly Make UNIX-like Make Facility . 99 78 PolyShell. New 149 119 PolyWindows Products All Varieties .... CALL CALL PolyXREF Complete Cross Ref Utility . 219 169 PolyXREF One language only . 129 99 PVCS Version Control System . 395 309 softcraft products Btrieve ISAM Mgr with No Royalties . 245 194 Xtrieve Query Utility . 245 194 Report Option. 145 114 Btrieve/N for Networks . 595 464 Xtrieve/N. 595 464 Report Option/N. 345 274 text editors Brief from Solution Systems . 195 CALL Epsilon Emacs-like editor by Lugaru . 195 159 KEDIT by Mansfield Software . 125 99 PC/VI by Custom Software Systems . 149 119 SPF / PC by Command Technology Corp . 195 139 Vedit by CompuView . 150 107 Vedit Plus by CompuView . 185 139 turbo pascal utilities ALICE Interpreter by Software Channels... . 95 66 Flash-up Windows by Software Bottling. . . 90 CALL HELP/Control by MDS . 125 109 On-line Help from Opt-Tech Data Proc .... 149 109 Report Builder by Royal American . 75 CALL Screen Sculptor by Software Bottling .... 125 91 System Builder by Royal American . 100 CALL TDebugPLUS by TurboPower Software .... 60 49 Turbo EXTENDER by TurboPower Software . . 85 64 Turbo Professional by Sunny Hill . 70 48 TurboHALO from /MSI . 129 98 TurboPower Utilities by TurboPower . 95 78 TurboRef by Gracon Services . 50 45 TurboSmith Visual Age Debugger . 69 45 TurboWINDOW by MetaGraphics . 80 65 wendin products Operating System Toolbox. 99 79 PC NX Operating system . 99 79 PC VMS Similar to VAX/VMS . 99 79 XTC Text editor with Pascal source . 99 79 Most of our products come with a 30-day documentation evaluation period or 30-day return guarantee. Please note that some manufacturers restrict us from offering guar¬ antees on their products. Call for more informa¬ tion. CALL TOLL-FREE US 800-336-1166 CANADA 800-225-1166 OHIO & ALASKA (Call Collect) 216-877-3781 FOREIGN 216-877-3781 CUSTOMER SERVICE 216-877-1110 Hours: Weekdays 8:30 AM to 8:00 PM EST. Ohio customers add 5% state sales tax. 136 SUNNYSIDE ST. HARTVILLE, OHIO 44632 xenix system v See also Microport System V/AT section. XENIX System V Complete by SCO . 1295 999 XENIX Development System. 595 499 XENIX Operating Sys Specify XTlAT. . . 595 499 XENIX Text Processing Package .... 195 144 xenix products Btrieve ISAM File Mgr by SoftCraft . 595 464 C-ISAM by Informix . 319 285 ► c-tree ISAM Mgr by FairCom . Sale 395 279 ► dbVISTA All Varieties by Raima . Sale CALL CALL dBx with Library Source by Desktop Al ... . 550 499 DOSIX User Version by Data Basics .... New 199 CALL DOSIX Console Version by Data Basics . . New 399 CALL Informix by Informix . 995 795 lnformix4GL by Informix . 1500 1239 InformixSQL by Informix . 995 795 lynx by Informix . 595 449 Micro Focus Level II Compact COBOL. . . 1000 795 Forms-2 . 400 319 Level II ANIMATQR. 600 479 Microsoft See Microsoft Section . CALL CALL Networks for XENIX by SCO . 595 495 PANEL Screen Designer by Roundhill . 625 535 REAL-TOOLS Binary Version by PCT ... New 149 89 Library Source Version . New 399 289 Complete Source Version . New 499 369 RM /COBOL by Ryan-McFarland . 1250 949 RM/FORTRAN by Ryan-McFarland . 750 549 SCO Professional Lotus clone by SCO .... 795 595 CIRCLE NO. 175 ON READER SERVICE CARD C Programmers: We support every product in this ad & 700 others. Try any product here with a full 31-day money-back guarantee. Flexible SCREEN and WINDOW Development with ZVIEW Screen Library Use this field-sensitive tool to devel¬ op data entry screens and windows and provide run-time flexibility. Se¬ curity level settings restrict inquiry or update of fields; multiple screen help display is available at screen and field level. NEW Features: Windows can be stacked, peeled off, and moved at run-time. You also get automatic scrolling of data within fields. ZVIEW gives you full control of attributes, colors, boxes, protected fields, scrolling, and more. Load screens from memory for SPEED. Field support includes alpha, numeric, or alphanumeric data types, case conversion, range checking, and field comparison. ZVIEW even provides automatic data conversion to and from ASCII screen format. Microsoft C, Lattice 3.0, and Aztec 3.2e. Supports EGA, color, and monochrome displays. PCDOS $189 ■ ■ ■■ ' ' ; ■ ■ -' ' W: - 280 Functions Without “Fat”: Blackstar ‘C Function Library Without duplicating compiler li¬ brary functions, the Blackstar ‘C’ function Library covers the range. BOTH Microsoft C and Lattice C library versions are included in one product with screen, graphics, file, text, and serial communications routines. Extensive device driver support (including mouse handling). Low-level utilities and DOS and memory control routines. And a great price, too. Some other libraries are padded with different functions that do the ; same thing, or functions that repeat routines suplied with your compiler. JS Sterling Castle trims the fat to give you over 280 unique functions. u..« All source is supplied (most in C),
    including routines written in assem¬ bler for speed optimization. You get versions for small, medium, and large models. 350 page manual with quick reference guide and demos. No royalties. 1 -800-7-CASTLE PCDOS $99 BRIEF Makes Editing C Programs a Breeze BRIEF, The Programmer’s Editor, is tailored for C programmers. Take a look at the BUILT-IN features below — just part of the reason why 1000’s of C programmers already rely on BRIEF. AutoCompile - While in BRIEF, with MS C, Lattice, other compilers Autoindent - Use default or modify Template editing - for “fill in the blanks” style programming Error to Error Tracking - “Next error” moves to right line Multi Window Editing - Any size, any number Macro Language - Completely readable, programmable BRIEF can be used with any language. Even beginning programmers become productive in less then 30 minutes. Ask about UNDO (not un¬ delete), Unlimited File Size, Tiled & Pop-Up Windows, or for a detailed product description. /Solution Systems PCDOS $195 ; . -i ; Compiler-Compatible Interpreter, Editor, Debugger Interactive-C™ A fully integrated development environment, Interactive-C combines a K&R standard interpreter with a full-screen editor and source-level de¬ bugger. Interactive C is 100% compatible with Lattice or Microsoft. You can link in external libraries — your own or commercial: no source code modifications are necessary! The full screen editor gives you adjustable edit, command, and status windows. Switch to second screen for output, or even display on two separate monitors. Why get only a limited debugger when you can get full source debugging with an interactive interpreter? Unlimited breakpoints, variety of stepping modes, interactive viewing and modification of variables, automatic positioning of cursor at error. Even stop to edit, then continue without re-executing from start . 8087/287 support. Specify Lattice or Microsoft. PCDOS $219 Jjgfl III Si lllll NEW Blaise Tools Are Better Than Ever C Tools Plus Free yourself for more creative programming; stop worrying about hard¬ ware dependence. Handle everything from co-resident software require¬ ments to multiple display pages and monitors with C Tools Plus. Filter interrupts so that other resident programs still work. 200+ well- documented functions control screen handling (direct to video adapter or BIOS calls, EGA text mode support including 43 line and multiple display pages — even handle multiple monitors), an unlimited number of pop-up, stackable windows with word-wrap, interrupt service routines, DOS di¬ rectory and file handling, memory management and program control, string functions, and more. Source, no royalties. Lattice 3.0, MS C. ❖ PCDOS $139 BLAISE COMPUTING INC. § lllll! alilllllftl iflil I//;/;,/ Fast Prototyping and Development of User Interfaces with Skylights “It's much easier to adapt to the end-user f s needs than any other product I've seen . . . definitely a programmer's tool. ” William Elswick, Software Engineer, Compact Video Quickly design interactive prototypes, then include screens you develop in your finished application code. Design demos or tutorials. Skylight combines an intuitive screen/window/menu editor, run-time windowing, menu handling, and front-end support routines, and “Demo/ Tutorial Maker” program plus detailed low-level primitives. Supports a variety of pointing devices (mice, tablets, lightpens). All major C com¬ pilers; even use with other languages (BASIC, Pascal, Assembly) with utility included. Bit-mapped graphics upgrade available. No royalties. Shyllght PCDOS $359 Software, Inc. A NEW C Standard for SCREENS and WINDOWS: C-SCAPE Setting a new standard for screen generation, C-scape turns your Dan Bricklin Demo Program screens into C code instantly. You can capture existing screens from 1 -2-3, Turbo, or that old BASIC diehard and convert them to C inseconds. C-scape can save you immense effort and reduce errors for both new program development and language conversion projects. C-scape is a combination screen generator and library of input/output functions that provides an advanced and powerful ability to create different types of menus, input fields, help screens, and text with unprecendented speed and flexibility. Tiled, pull-down, and pop-up windows of virtually any depth (limited by RAM) are a key feature, along with scrolling, full color and type support, and individual key or field validation. Because C-scape is based on C’s printf statement, you can embed the com¬ mands for screen positioning and field definition right inside your format string. This helps you produce clear, readable code, which is easier to maintain and change. Since full source code is provided, the standard library routines can be tailored to meet your exact screen layout and keystroke handling requirements. All C programmers will benefit from C-scape’s readable, intuitive syntax, based on an extension of C’s printf function. Beginners will learn by studying code generated from captured screens. Advanced programmers will enjoy C-scape’s ease of maintenance. Power programmers will appreciate the free source code provided at no additional cost upon registration. Oakland Group, Inc. features free updates, an on-line bulletin board for users, and toll-free technical support at 800-233-3733 (800-BEE-FREE) or 617-491-7311. Escape the pitfalls of coding from scratch, and free up your time for creativity and productivity. Buy C-scape now and take advantage of the 31-day review period: satisfaction guaranteed or your money back. No royalties. No license fee. Lattice 3.0, Microsoft 3.0 & 4.0. Oakland Group, lnc.!d PCDOS $149 Call for a catalog, literature, advice and service you can trust HOURS 8:30 AM-8:00 PM EST. CIRCLE NO. 220 ON READER SERVICE CARD 800 - 421-8006 THE PROGRAMMER’S SHOP™ 128-P Rockland Street, Hanover, MA 02339 Mass: 800-442-8070 or 617-826-7531 12/86 “The scope and detail of services you provide are exemplary — it’s obvious you have given a lot of thought to what information people need . . . For someone like myself, critical appraisals of software and comprehensive collections of offer¬ ings such as you have are really useful/
  30. Bruce Cyr Foundation of American College of Health Care Administrators MICHAEL ABRASH Conditional-jump Macros Macros can be used to size a conditional jump automatically, in order to aid the assembly language programmer. T he need to work around short conditional jumps is one of the annoyances of assembly language programming for the 808x microprocessor family. Backward conditional jumps spanning fewer than 129 bytes and forward conditional jumps spanning fewer than 128 bytes can be implemented with a single instruction, such as JNZ, but longer conditional jumps require a two-instruction sequence, such as JZ around a long JMP. An optimizing compiler is better than an assembler in the automatic generation of the proper code sequence for long or short conditional jumps as needed, and produces tighter, faster code. With the proper macros, however, auto¬ matically sized backward conditional jumps are possible. The macro in MJNZMAC.ASM (listing 1) generates JNZ if the jump distance is short enough for the 128-byte range of the backward conditional jump to reach the destination. If the distance is too great, a JZ around a JMP is generated. If the jump distance is more than 128 bytes (as calculated from the end of the JNZ instruction), the JZ/JMP sequence will be gen¬ erated; otherwise, the more efficient JNZ instruction (3 bytes shorter and 3 to 12 cycles faster on the 8088) is used. The MJNZ macro can determine the optimal code se¬ quence for backward jumps only. On the first pass of the as¬ sembler, the destination of (and hence the distance covered by) forward jumps is not yet known, whereas on pass two, the destination is known, but any change in the length of the code sequence from pass one causes a phase error. The LISTING 1: MJNZMAC.ASM ; Input: / PI = label to jump to. MJNZ macro PI local skip_label, skip_label1, skip_label2 ifdef PI if (PI LE $) if <($ • PI
  31. 2) LE 128) jnz PI /backward short jump else jz skip_label Jmp PI ;backward long jump skip_label: end if else jz skip_label1 ;forward jump (pass 2) jmp PI skip_label1: end if else jz skip_label2 ;forward jump (pass 1) jmp PI skip_label2: end if endm MJNZ macro handles this problem by treating all forward jumps in the same way—as long jumps via a JZ/JMP sequence. Forward jumps that span more than 127 bytes do not cause an error. To make the code as efficient as possible, the for¬ ward jumps should be coded as short ones. If any of the jumps should have been long (more than 127 bytes), the as¬ sembler generates an error, and the jumps that are in error can be modified manually to be long. Another useful conditional jump macro is shown in MLOOPMAC.ASM (listing 2). MLOOP generates a LOOP in¬ struction, if possible, or a DEC CX/JZ/JMP sequence, if the jump range is too great. Again, for forward jumps, the listing creates a long jump to ensure that no errors occur at the time of assembly. This can be modified (as explained above for listing 1) for code efficiency where possible. One excellent application of conditional-jump macros is in building other macros. When coding macros that contain loops around REPT blocks of variable length or macros that contain conditional jumps to destinations outside the macro code, a long jump range normally is assumed, and the JX/JMP code sequence is used because a short jump might not reach in all circumstances. Conditional-jump macros used within other macros ensure that efficient jumps will be generated automatically whenever possible. 1 'mm m Michael Abrash is a senior software engineer for Orion Industries. LISTING 2: MLOOPMAC.ASM ; Input: ; PI = label to jump to. MLOOP macro local ifdef PI PI skiplabel, skip_label1, skip_label2 if (PI LE $) if (($ - PI loop
  32. 2) LE 128) PI /backward short jump else dec jz cx skip_label jmp skip_label: endi f PI else dec jz cx skip_label1 /forward jump (pass 2) jmp skip_label1: endi f PI else dec jz cx skip_label2 /forward jump (pass 1) jmp skip_label2: endif endm PI FEBRUARY 1987 45 For years BASIC has been everyone’s first language. And for almost as long, they’ve been tempted by other languages. Lured by promises of more speed, more power. We have a solution. A new language that’s a substantial improvement over BASICA. Faster. More structured. Finally, a compelling reason to leave BASIC. Introducing Microsoft’s QuickBASIC Compiler, Version 2.0. At last, you can have the latest programming techniques, combined with the solid foundation of BASIC. Our new compiler is as compatible with BASICA as you can get. At the same time it offers the extra speed and power you’ve been looking for. Run faster with compiled code. If there’s one thing you’ve asked for, it’s speed. And Microsoft® QuickBASIC simply blazes. Old BASICA programs will run up to ten times quicker once they’ve been compiled. Sometimes even faster. Everything you need. Built-in. Making programs run faster is only part of the story, though. The new Microsoft QuickBASIC Compiler includes a full-screen editor, built-in. So now you can make the jump from writing to RUNning in no time flat. Edit your program, compile it, and run it. Faster than any other BASIC compiler around. All without leaving our on-line help and prompts. SUB DrawStar(cx,cy,radius,theta) STATIC dx - radius cos(theta) dy = radius sin(theta) line(cx,cy)-(cx+dx,cy+dy),2 end sub 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. leaving BASIC for. On the rare chance your program doesn’t run 100% the first time out, we’ve got another sur¬ prise for you. The Microsoft QuickBASIC de¬ bugger. Our full-screen tracing lets you debug your programs while watch¬ ing the source code execute. A line at a time, or with breakpoints. As easy as can be. Our compiler is also smart enough to save you time. First, by finding any errors in one pass. Second, by putting your editor’s cursor on the problem. Automatically. So you don’t have to get lost in a maze of error codes and line-numbers. The BASIC virtues And more. Speaking of line numbers, let’s not. Because line numbers are strictly optional. And Microsoft QuickBASIC lets you use alphanumeric labels as well. Now you can GOTO ErrorCheck instead of line number 6815. Or you could stop using GOTOs altogether. There are a variety of options that could make the GOTO an endangered species. Features like multi-line IF-THEN blocks. And named sub¬ programs. Now your BASIC programs can be as structured and organized as you want. We’ve only just begun to talk about the virtues of Microsoft QuickBASIC. There are dozens of enhancements to your favorite language.Things like larger arrays. Local and global variables. Reusable modules that let you create libraries of your most often-used routines. All explained in a revised manual that includes a complete language reference. Making your quick escape. If all these features follow your BASIC instincts, then zip on down to your nearest Microsoft dealer. That’s where you’ll discover the best surprise of all. The price. Only $99 for the best reason to leave BASIC. For the name of your nearest Microsoft dealer, call (800) 426-9400. In Washington State and Alaska, (206) 882-8088. In Canada, call (416) 673-7638. Microsoft® QuickBASIC The High Performance Software™ CIRCLE NO. 121 ON READER SERVICE CARD Microsoft QuickBASIC Compiler Version 2.0 for IBM® PC and Compatible Computers. BASICA Compatibility ♦ Sound statements including SOUND and PLAY. ♦Graphics statements including WINDOW VIEW DRAW GET, PUT, LINE, CIRCLE, LOCATE and SCREEN. ♦ Support of EGA extended graphics modes. NEW! ♦ BASICA structures are supported including WHILE/WEND, IF/THEN/ELSE, FOR/NEXT, GOSUB/RETURN, and event handling. w . r Microsoft Results of Sieve Benchmark BASICA 3.1 QuickBASIC 2.0 Seconds per iteration 78 0.52 Complete Programming Environment ♦ Built-in Editor that places the cursor on found errors auto¬ matically. NEW! ♦ Compile entirely in memory at speeds up to 6000 lines per minute. NEW! ♦ Link routines once when starting a programming session and no need to link again when changing programs. NEW! ♦ Built-in debugger with single-step, animate, and trace modes. NEW! ♦ Create stand-alone programs. Alphanumeric Labels ♦Can be used to make your programs more readable. Line numbers are not required but are supported for BASICA compatibility. Structured Programming Support ♦ Block IF/THEN/ELSE/END IF eliminates the need for GOTO statements. NEW! ♦ Subprograms can be called by name and passed parameters. Both local and global variables are supported. Modular Programming Support ♦ Separate compilation allows you to create compiled BASIC libraries to use and re-use your programs. ♦ A library of routines to access DOS and BIOS interrupts is supplied. NEW! Large Program Support ♦ Code can use up to available memory. ♦Numeric arrays, each up to 64K bytes, can use up to available memory. NEW! u Rampage" 286 Offers Up To 2 Megabytes Of Memory For Our ATs and XT 286s. Linda’s job requires her to be a jack of all trades... accountant, writer, even market researcher. To get the job done she uses specialized software applications— 1-2-3® for spreadsheets, WordStar* for writing and dBASE III® for her extensive database files. Moving between applications was time consuming until Linda got AST's Rampage
  33. With the operating environment software AST includes with all its expanded memory boards, she's able to load her applications directly into RAM once in the morning. Now she jumps from applica¬ tion to application with the touch of a key And she can even do sev¬ eral tasks, using multiple applica¬ tions, at the same time. Rampage 286 was the right choice for Linda!' "We Needed \fersat Solutic "Advantage Premium* For A Combination Of I/O Ports and Expanded Memory. Bill is setting up his new AT with a modem to access and receive information, a plotter for plotting and analyzing data, and a letter-quality printer for reports to management. We knew he'd need extra ports. So we ordered his AT with AST's Advantage Premium. It offers all the same expanded memory features of the Rampage 286 combined with one or two serial ports and a parallel port—all in a single slot. With his 2 MB of expanded memory Bill intends to set up large RAM disks and print buffers. That's power and flexibility And it's just what Bill needsl' AT Memory m Chose AST’ U For Business Graphics...Rampage/EGA Is The Right Single-Slot Memory/EGA Solution. In accounting, Rick, uses EGA-color graphics to convert data into charts and graphs.These images help him to quickly analyze and understand the mountains of data his department acquires. He's found that EGA offers the sharpest, clearest images. Rick also creates big spreadsheets using the expanded memory version of Lotus® 1-2-3. And here Rampage/EGA's 2 MB of expanded memory can come in mighty handy When we added EGA capability to other ATs, Rick recommended AST’s Rampage/EGA. He said it works with popular monochrome, color and enhanced color monitors and makes upgrading a system easy We took his advice. Now Rick is the Accounting Manager." 'AST's Premium Series Boards For The AT Also Give Us Extended Memory. We use extended memory for large RAM disks and print buffers. And it gives us compatibility with current and future protected operating systems, like XENIX,*" To Learn More About AST's Premium Series AT Boards Call (714) 863-1480. Or complete the coupon and send to AST Research, Inc., 2121 Alton Ave., Irvine, CA, 92714-4992, Attn: MC. AST markets products worldwide-in Europe call: 441 568 4350; in the Far East call: 852 0499 9113; in Canada call 416 826 7514. AST. the AST logo, and Rampage registered and SixPakPremium trademark of AST Research, Inc. IBM and AT registered trademarks of International Business Machines Corp. Lotus and 1-2-3 registered trademarks of Lotus Development Corp. dBASE III registered trademark of Ashton-Tate. WordStar registered trademark of MicroPro International. XENIX registered trademark of Microsoft Corp. Copyright © 1986 AST Research, Inc. All rights reserved. Yes, send me information on AST's Premium Series boards for the AT! Name Title Address City/State/Zip Telephone Send to: AST Research, Inc., 2121 Alton Ave., Irvine, CA, 92714-4992, Attn: MC 01 CRN B087 B01 AT 2/87 R€S€RRCH INC. The newest microprocessor from Intel builds on the strong foundations of its predecessors to deliver minicomputer performance to the PC. rom its beginnings in the 8086 and 8088, the growth of the Intel pro¬ cessor family has been character¬ ized by full upward compatibility and significant advances in function and per¬ formance. While providing functional advances, every new member of the family has retained full instruction set and operational compatibility with its predecessors, affording protection of the investment made on software for the previous microprocessors. In the case of the 8086/88, this investment has been formidable. It is therefore significant that Intel’s latest microprocessor, the powerful 32- bit 80386, brings even greater function and performance while also providing for a smooth transition from the pro¬ gramming environment of the 8086/88 and 80286. This newest Intel family member features internal enhance¬ ments, such as instruction and bus pipe¬ lining, a larger prefetch queue, and a 32-entry page table cache for memory paging functions, which, coupled with the 16-MHz clock rate, provide a level pf performance that is traditionally asso¬ ciated with central processing units in minicomputer products. The most significant advances of the 80386 are those with the potential for removing the barriers that operating system and application developers have encountered in its predecessors. These new advances include the 32-bit instruc¬ tion set enhancements, the memory paging functions, the enhanced I/O per¬ mission features, and the large linear address (4GB) programming model. Most of all, and most important, is that these advances have been incorporated in a superset manner in order to main¬ tain full compatibility with software products developed for the 8086/88 and
  34. Table 1 summarizes the func¬ tional superset provided by each mem¬ ber of the Intel microprocessor family. 51 PHOTOGRAPH • WALTER IARRIMORE/B LAKES LEE-LANE 80386 TABLE 1: Intel Family Functional Aspects FEATURES 8088/8086 80286 80386 Maximum physical memory 1MB 16MB 4GB Maximum virtual memory 1MB 1GB 64TB Maximum segment size 64KB 64KB 64KB or 4GB Paging hardware No No Yes Operand sizes (bits) 8, 16 8,16 8,16, 32 Register sizes (bits) 8, 16 8,16 8,16, 32 Memory-I/O protection No Yes Yes Coprocessor support 8087 80287 80287/80387 Prefetch queue (bytes) 4 16 6 12 Newer members of the Intel microprocessor family are designed to add function¬ ality and performance while providing compatibility with older family members. SOLID FOUNDATIONS The 8086/88 microprocessors are the foundation of industry-standard per¬ sonal computing. They provide the functional base from which the Intel microprocessor family has continued to evolve in function and performance, and they have set the programming standards used to develop the large number of software products available today for personal computers. However, innovation in the software industry has outgrown the 8086/88 architecture. The performance and function provided by this architecture have become an im¬ pediment to the development of more powerful software applications. The 8086 and 8088 both use a 16- bit internal architecture and provide 16- bit registers and a 16-bit instruction set. The only difference between the two processors is that the 8086 uses a 16-bit external bus to reference memory, whereas the 8088 uses an 8-bit external bus. Their addressing mechanism is a simple one. During program memory references, the contents of the segment register are shifted left by 4 bits and added to the offset to form a 20-bit physical memory address. This address provides software programs with direct access to 1MB of physical memory. The 8086/88 programming model is based on a segmented memory mod¬ el in which the code and data portions of a program are partitioned into vari¬ able length segments up to 64KB in size. In this model, the 8086/88 micro¬ processors provide an environment ap¬ propriate for developing relatively sim¬ ple operating systems and applications. As applications have increased in sophistication, the limits of the 8086/88 architecture have become evident. The 1MB physical memory constraint has forced some applications to resort to complex memory management tech¬ niques, such as overlays, that typically place performance and function limita¬ tions on those applications. In addition, operating systems with the required functions to support the complexity of new applications have been limited due to the memory size constraints and the direct accessibility of physical memory and I/O devices by applications. 80286 EXPANDS LIMITS The next step in the evolution of Intel microprocessors was the 80286, also based on a 16-bit architecture, but with significant improvements in the areas limited by the 8086/88. The 80286 pro¬ vides two different modes of operation: real and protected. In real mode, the 16-bit instruction set, the segmented programming model, addressing mech¬ anism, and 1MB physical memory limi¬ tations are identical to those provided by the 8086/88. This compatibility al¬ lows most application programs devel¬ oped for the 8086/88 to execute on the
  35. Execution of these applications in real mode benefits primarily from the faster execution speed offered by the 80286-based computers. The 80286’s protected mode ad¬ dresses up to 16MB of physical memory and implements a hierarchical memory protection model that is necessary for the implementation of more sophisti¬ cated operating systems. Unfortunately, a basic incompatibility between real and protected modes has hindered develop¬ ment of protected mode operating sys¬ tems that make available to applications the new capabilities of protected mode while also allowing real mode applica¬ tions to execute. The protected mode’s memory protection model is based on four privi¬ lege levels (0 to 3) that can be used to manage access to system memory and I/O devices. Typically, the operating sys¬ tem executes at the highest privilege level (0) and has the ability to access all system memory and I/O resources. Ap¬ plications, on the other hand, usually execute at the lowest privilege level in which access to memory and I/O re¬ sources is limited. Applications can, however, access operating system and other higher-privi¬ lege services that have access to a wider range of system resources by transfer¬ ring control to those services via gates. Gates are used to transfer execution between routines at different privilege levels. For example, call gates can pro¬ vide access to operating system services that allow applications to access pro¬ tected system resources indirectly. Other gates—interrupt, trap, and task— are used for interprivilege-level trans¬ fers, such as those of execution be¬ tween tasks and interrupt handlers. Memory protection is accom¬ plished by assigning to each memory segment a privilege level that is placed in the segment’s descriptor entry. This level determines the minimum privilege a program must have to access that seg¬ ment. An I/O privilege level is also as¬ signed in the flags register to define the level of privilege necessary for a pro¬ gram to perform direct I/O to devices. Combined, the memory and I/O privi¬ lege levels assigned to system resources by the operating system define which programs can access these resources. Similarly, the operating system as¬ signs to each application a privilege lev¬ el of execution. This privilege level is placed in the least two significant bits of the program code segment (CS) regis¬ ter. Programs that are assigned a lower privilege (higher numerical value) than that required to access a memory seg¬ ment are prevented by the 80286 from accessing that segment. If such a pro¬ gram attempts to access a memory seg¬ ment of higher privilege level, a general protection fault (interrupt 0DH) occurs. Similar results occur if a program whose privilege level is lower than that assigned to I/O devices (IOPL) attempts to access an I/O device direcdy. By using the least significant bits of the segment registers to contain the privilege level of the executing pro¬ gram, the memory addressing mecha¬ nism is made to function differently in protected mode than in real mode. As a result, the vast number of applications developed for the 8086/88 cannot be executed in protected mode and thus cannot take advantage of the increased memory capacity of the 80286. Figures 1 and 2 show the address¬ ing mechanism used in the protected mode of both the 80286 and 80386. In this mode, the content of the segment 52 PC TECH JOURNAL FIGURE 1: Segment Registers in 80286/80386 Protected Mode SELECTOR /— 15 4 3 2 1 o x SEGMENT )) TI REGISTER 0 0 // ...0 0 1 1 1 1 INDEX ■ REQUESTOR PRIVILEGE LEVEL TABLE INDICATOR TI = 1 TI = 0 N N 6 6 5 5 4 4 3 DESCRIPTOR 3 2 2 1 1 0 0 NULL LOCAL DESCRIPTOR TABLE GLOBAL DESCRIPTOR TABLE A 16-bit segment register selects the segment by indexing either the global (GDT) or local (LDT) descriptor table. Typically, each task has its own LDT. FIGURE 2: 80286/80386 Protected Mode Addressing SEGMENT REGISTER SEGMENT LIMIT SELECTED SEGMENT 1 1 386 only SEGMENT BASE ADDRESS Both the 80286 and 80386 allow addressing through a combination of displace¬ ment and base/index registers. The 80386 provides additional segment registers FS and GS and allows the index register to be scaled (multiplied) by 1, 2, 4, or 8. registers is used, during a memory ac¬ cess, as an index into one of several de¬ scriptor tables that define how the phys¬ ical memory is partitioned in the sys¬ tem. Using the three least significant bits in the segment registers to define the privilege level (0 to 3) and descrip¬ tor table (global or local) make the use of the segment register contents incom¬ patible with that of the 8086/88 and 80286 real mode. For example, in the 8086/88, general data, unrelated to seg¬ ment information, can be stored in the segment registers. Some 8086 programs use their knowledge of segment/offset addressing by placing the value 0 in a segment register. On an 8086, this pro¬ vides access to the low 64KB of mem¬ ory. On an 80286 in protected mode, this typically results in a memory pro¬ tection fault, because the segment regis¬ ter bits have different meanings. The 80286 also offers task manage¬ ment facilities via the task state segment (TSS) data structure, which allows an operating system to assign a TSS to each task in the system and to store in the TSS the execution state (for exam¬ ple, register contents and flags) asso¬ ciated with that task. The TSS functions make an efficient transition from one task to another by saving the current task’s execution parameters quickly in the TSS and restoring the execution pa¬ rameters of the new task from its corre¬ sponding TSS data structure. A FEW CONSTRAINTS Powerful applications that have been es¬ pecially developed to run in protected mode face a number of constraints in the 80286 segmented programming model. For large applications, such as artificial-intelligence-based expert sys¬ tems, the 64KB segment size limitation forces the developer to partition an ap¬ plication into multiple code and data segments. Thus, the operating system cannot relieve the application (or its source language) from the burden of managing code and data segments. The segmentation model of the 80286 also hinders the porting of appli¬ cations developed for microprocessors that use a large linear address program¬ ming model, such as the Motorola
  36. Porting such an application to the Intel family would probably require a major redesign of the application in order to partition it into multiple code and data segments. Other constraints in the 80286 functions have also slowed certain areas of operating system development. For example, the 80286 lacks some of the functions needed to implement an ef- FEBRUARY1987 53 BOB STANTON HAD A GREAT IDEA. AN HOUR LATER HE WAS TESTING IT. Appointments. Everybody takes them — dentists, auto¬ body shops, dance instructors. And lots of computer applica¬ tions need appointment screens. Bob thought that a calen¬ dar made a terrific graphic metaphor for taking appoint¬ ments. Simply use the arrow keys to pick an open date, then press the Enter key, and up pops an appointment window. Lucky for Bob, he’s a CLARION programmer, one of nffisiwy wnwEswtr missm? FS11WV 12 13 pn: Bo 19 Easter Sunday 20 26 27 i;;ral ' HhKdh'HhHLlii 9:00 J. 9:38 - 10:08 -sane- 10:38 G. Fredricks 11:08 K. Laudstron 11:38 -sane- 12:08 Lunch - Rotary 12:38 - a fast growing cadre of super-productive application developers. With CLARION'S Screener utility, he painted a white calendar on a black back¬ ground. Then he drew a white-on-blue track around the page and between the days. He typed in the days of the week — and voila! — a calendar! CLARION knows that a PC monitor is refreshed from memory, so it treats a screen layout like a group of variables. Just move data to a screen variable, and it shows up on the monitor. Bob set up dimensioned screen variables for the days of the month and a screen pointer for selecting a date, and he was done. Then Screener generated the code. Then Bob drew the appointments window, built an appointment file, filled in the connecting code and tested it — ONE HOUR AFTER HE STARTED! Testing was a breeze. Screener doesn't just write code, it compiles your source, displays a screen, gets the changes, then replaces the old code in your program. So here are Bob's appointment screens. You can see the source listing to the right. We marked all the code Screener wrote for him. WHY CLARION? Why are application developers everywhere changing to CLARION? Because CLARION gives you all the tools you need: a coupled compiler and editor; screen, report, and help generators; an import/export utility; a sort/backup/restore utility; a format¬ ted file dump; a DOS shell — and much more. Because with CLARION’s comprehensive data management routines, records can be locked and files shared on Novell®, 3COM®, IBM® PC Net & Token Ring, Multi Link®, and most other networks. Because CLARION is not hardware locked or copy protected. Ryn-time systems are free and soon you will be able to translate CLARION into native machine code (.EXEs). And best yet, the price of CLARION vl.l is just $395 plus shipping and handling. You’ll need an IBM PC or true compatible with 320KB of memory and a hard disk drive. CLARION vl.l also comes with a 30-day money back guarantee. So call now and order CLARION vl.l. or ask for our detailed 16-page color brochure and reprints of major reviews. 800/354-5444 CLARION from BARRINGTON SYSTEMS, INC. 150 EAST SAMPLE ROAD POMPANO BEACH FLORIDA 33064 305/785-4555 Copyright 1986 Barrington Systems, Inc. CLARION is a registered trademark of Barrington Systems, Inc. IBM is a registered trademark of International Business Machines Corporation Novell is a registered trademark of Novell, Inc. 3COM is a registered trademark of 3COM Corporation Multi Link is a registered trademark of Software Link, Inc. Dept. A9 CIRCLE NO. 105 ON READER SERVICE CARD Adapted from Intel 80386 Data Sheet 80386 Most registers are expanded to 32 bits in the 80386. Instruction prefix bytes determine if the 16- or 32-bit register is used. fective virtual memory system. The ad¬ vantage of such a system is the ability concurrently to execute single or multi¬ ple applications, the total memory re¬ quirement of which exceeds the total amount of physical memory installed in the system. Such sophisticated memory management techniques have long been used in mainframe and minicomputer products and are becoming essential for microcomputers. The requirement in certain environments for running multi¬ ple applications concurrently has in¬ creased the need for these memory management techniques. STEPPING UP TO 32 BITS Given these limitations of the 80286, the time seemed right for yet another advancement in microprocessors—and Intel introduced the 80386. It is built on a 32-bit internal and external bus archi¬ tecture and features a full complement of 32-bit registers (see figure 3), a sub¬ set of which can be used to perform 16- bit operations compatible with those of the 8086/88 and the 80286. All 16-bit registers present on the 80286 can be accessed on the 80386 by the same names (AX, BX, etc.). Their 32-bit coun¬ terparts are accessed as extensions of the 16-bit registers (EAX, EBX, etc.). All instruction prefetch operations are made on a 32-bit basis, thus taking full advantage of the bandwidth of the memory bus. As a result of this more effective prefetching method and for optimization with the larger average in¬ struction size, the size of the prefetch queue has been increased from that of previous microprocessors to hold three double words (12 bytes). The instruction pipelining capabil¬ ity allows the parallel fetching, decod¬ ing, and execution of instructions. The execution unit can execute an instruc¬ tion while the instruction decode unit is decoding the following instruction and the bus control unit is prefetching yet a third instruction. Similarly, for instruc¬ tions that require memory or I/O bus cycles, the bus control unit can gener¬ ally perform bus cycles simultaneously with the execution of internal cycles that do not require bus activity. An example of the efficiency of in¬ struction pipelining is found in the ex¬ ecution of an iteration of the repeat move string (REP MOVS) instruction. An iteration (not the first execution of the repeated MOVS instruction) of this in¬ struction requires four execution cycles and two memory bus accesses (one to read and one to write). In a system with a pipelined zero-wait-state memory architecture, where each 32-bit memory bus access is performed in two cycles, the four bus cycles are performed in parallel with the four CPU execution cycles. The parallel execution of inter¬ nal and bus cycles yields a 32-bit mem¬ ory move time of 230 nanoseconds (ns), or four 62.5-ns cycles at 16 MHz. Bus pipelining is also an important advance of the 80386. It maximizes memory bus activity and allows 80386- based designs to use more cost-effective memory subsystems than equivalent 80286-based systems. With bus pipelin¬ ing, the 80386 places the control and address signals of the next bus cycle on its external bus while the current bus cycle is still in progress. This allows the memory subsystem to start decoding the next bus operation while the cur¬ rent operation is completing. As a re¬ sult, the memory control circuitry and memory devices have a longer time to decode memory cycles. Using bus pipelining, a 32-bit memory access can be accomplished, depending on the speed and design of the memory subsystem, as fast as 125 ns (two 62.5-ns cycles in a 16-MHz zero- wait-state bus operation). This access time compares favorably with the 1 microsecond (16 cycles at 62.5 ns) re¬ quired to access 32 bits of information via the 8-MHz one-wait-state, 16-bit-bus of typical 80286 computers. Figure 4 shows the operation of bus pipelining. The memory subsystem indicates to the 80386 via the next ad¬ dress signal (NA#) that it is ready to ac¬ cept the address and control signals for the second cycle while the first cycle is still in progress (the # symbol indicates the signal is active in its low state). The 80386 places the control (BE0#-BE3#, M/IO#, D/C#, W/R#) and address (A2- A31) signals on the bus and indicates the validity of these signals with a nega¬ tive transition of address status (ADS#). The memory subsystem uses this transi- FEBRUARY1987 55 UnleashThe Most Powerful Development Tbols OnThe Planet DOS. UNIFY DBMS/DOS.The UNIX World Leader Brings ANewDimensionTb DOS Application Development. What happens as the DOS world expands? As a new generation of hardware takes over? As networking becomes more important? The potential is enormous. But until now, the tools to achieve it have been limited. Now a leader from another world unleashes that potential: UNIFY® DBMS. The leading relational DBMS in the UNIX™ world. And now, the most advanced set of application development tools in the DOS world. With UNIFY DBMS, DOS developers have new power to build more sophisticated applications than ever before possible. The power to write high performance “C programs that will access the data base, using Unify’s Direct Host Language Interface. The power of an industry standard query language—SQL. The power of unmatched speed in pro¬ duction applications. Only UNIFY DBMS is specifically engineered for transaction through¬ put. With unique performance features like PathFinder™ Architecture multiple access meth¬ ods, for the fastest possible data base access. See Us At UniForum January 20 - 23, 1987 Washington Convention Center Washington D.C. The power of comprehensive pro¬ gram development and screen man¬ agement tools. Plus a state- of-the-art fourth generation report-writer. What’s more, with UNIFY DBMS, the potential of networked ^&' applications becomes a reality. Unlike DBMS systems which were originally single-user (and which have a long stretch to accommodate more users), UNIFY DBMS is a proven multi-user system. And because UNIFY DBMS/DOS is £ ', the best of two worlds, it offers you the most powerful benefit of all: DBMS applications that can grow as your needs grow. From single user DOS. To networked DOS. To multi-user UNIX. All without changing your applications. Call the Unify Information Hotline for our free booklet: The New DOS World. (503) 635-7777 uniF&d CORPORATION 4000 Kruse Way Place Lake Oswego, OR 97034 © 1986 Unify Corporation. UNIX™ is a trademark of AT&T Bell Laboratories. CIRCLE NO. 156 ON READER SERVICE CARD Adapted from Intel 80386 Data Sheet 80386 FIGURE 4: Bus Pipelining Operation CLK2 (INPUT) BHO# - BE3#,A2 - A31, M/10#,D/C#,W/R# (OUTPUTS) ADS# (OUTPUT) NA# (INPUT) READY# (INPUT) LOCK# (OUTPUT) DO - D31 (INPUT DURING READ) A fast memory subsystem can use the next address (NA#) line to overlap the fetching of one operand with the address decoding of the next operand. tion of ADS# to latch the control and address signals and to start decoding the operation for the next bus cycle (cycle 2). When cycle 1 completes, the memory subsystem then activates the READY# signal to indicate to the 80386 that it is ready to start cycle 2, the ad¬ dress and control signals of which have already been decoded during the exec¬ ution of cycle 1. Having the decoding already accomplished allows the mem¬ ory system to complete the memory bus cycle time in two CPU clock cycles. INSTRUCTION ENHANCEMENTS The instruction set of the 80386 is a superset of that found in the 8086/88 and 80286 microprocessors. Its high¬ lights are as follows: • Instructions such as multiply (MUL) have been optimized by using an early-out algorithm in which the most significant bits of the multiplier are 0. This allows a multiply instruction to execute in 0.36 microsecond (that is, 9 cycles 62.5 ns at 16 MHz). • The scaled index address mode has been added for instructions using memory references. This address mode permits the contents of an index register to be scaled—that is, multiplied by 1, 2, 4, or 8—before being added to the base. This allows for efficient indexing into data arrays with multiple-byte entries. For ex¬ ample, the instruction MOV EAX, [EDI*8] [EBX] can retrieve into EAX a double word from a data array with its base address stored in EBX. The number of the en¬ try to be accessed (0 = first entry) is stored in EDI with the multiplier, in this case indicating an array with eight bytes per entry. • A 64-bit barrel shifter in the 80386 ex¬ ecution unit optimizes shift, multiply, and divide operations. With the barrel shifter, multiple-bit shift operations can be executed in one clock cycle. The new shift right double (SHRD) and shift left double (SHLD) instruc¬ tions use this capability to allow bit string manipulations typically found in BITBLT graphics routines. The SHRD and SHLD instructions use two 32-bit registers to allow a 64-bit string to be shifted multiple positions in a single CPU clock cycle. These instructions allow BITBLT operations to execute on the 80386 in a small fraction of the time possible on the 80286 using mul¬ tiple shift instructions. • Support for 32-bit operands and ad¬ dresses has been added to the instruc¬ tion set. The 32-bit operand capabili¬ ties are available in all modes of the
  37. In real mode, the default size of the operands and addresses is 16 bits, but can be overridden by a pre¬ fix byte. This is necessary to maintain full compatibility with programs de¬ veloped for the 8086/88 and 80286. In protected mode, operand and address size is governed by a bit in the seg¬ ment descriptor. Use of the 32-bit operands and addresses in each 80386 mode is covered later. A 4GB IMPROVEMENT Protected mode of the 80386 features a large linear address programming model. Using this facility, the maximum size of a segment can be increased to 4GB from the traditional 64KB. In this programming model, large applications can reside in a single protected mode segment, thus eliminating the need for the application to manage multiple code and data segments. Protected mode operating systems such as XENIX/386 provide the linear address programming model to applica¬ tions. The operating system sets the maximum size of an application seg¬ ment by specifying a 20-bit segment limit and setting the granularity bit in the segment descriptor (see figure 5). When this bit is set to 0, the segment limit is specified in bytes and yields a maximum segment size of 1MB. Byte granularity is the default value in the descriptor and allows compatibility with programs written for the 80286. When the granularity bit is set to 1, the seg¬ ment granularity is in pages (4KB per page). This granularity yields a maxi¬ mum segment size of 4GB. Intel has added memory paging functions to the 80386 to allow linear addresses (as seen by programs) to be mapped to physical memory addresses. This facility allows the efficient imple¬ mentation of virtual memory systems. In virtual memory systems, the operating system creates an environ¬ ment that allows execution of single or multiple applications that are larger than the installed physical memory. The operating system stores on disk the por¬ tions of the application that are least re¬ cently used. Then, as code or data por¬ tions of the application are needed for execution, the operating system brings FEBRUARY 1987 57 ... DELIVERS THESE ESSENTIAL FEATURES. DOES YOUR DBMS? MDBS III is more powerful than most mainframe data base management systems and less expensive. MDBS III was designed for serious application developers like you. Like the developers of Solomon III, the "Number One” accounting system. And all the others who demand these essential features MDBS III provides: DATA STRUCTURING-So flexible it captures any data relationship you can imagine. So comprehensive you’ll design complex data bases faster than ever. TRUE MULTI-USER-Few DBMSs give you as many facilities to guard against haphazard concurrent data modification as MDBS III does, down to the locking of individual data records. PERFORMANCE-MDBS III gives you fast data modification and retrieval plus extensive performance tuning facilities. DATA INTEGRITY-MDBS III pro¬ vides airtight integrity assurances. . from range checking to transaction-logging to enforcement of data relationships . . all automatically. PHYSICAL DATA PROTECTION - You get automatic recovery from media as well as from physical data destruction. DATA SECURITY —Protect your data using passwords, encryption, and read/ write access down to the field level. PORTABILITY-MDBS III runs on a range of mini and micro computers, including LANs, and supports a variety of host language interfaces. SUPPORT — mdbs is there when you need us, with in-depth seminars, tele¬ phone support, individual consulting and contract programming to help you develop and install your applications. Call us today at 800-344-5832 for more information; in Canada or Illinois, dial 312-303-6300. Or write mdbs, P.O. Box 248, Lafayette, IN 47902, TELEX 209147 ISEUR. •\RSOU TE P O W E R CIRCLE NO:11 ON READER SERVICE CARD mdbs is a registered trademark and MDBS III is a trademark of Micro Data Base Systems, Inc. IMS is a trademark of IBM; IDMS of Cullinet. Adapted from Intel 80386 Data Sheet 80386 FIGURE 5: 80386 Segment Descriptor 31 SEGMENT BASE 15. . .0 SEGMENT LIMIT 15.. .0 BASE 31.. .24 G D 0 0 LIMIT 19. . .16 P DPL 1 S TYPE 1 1 A BASE 23.. .16 0 BYTE ADDRESS 0
  38. 4 BASE Base address of the segment LIMIT The length of the segment DPL Descriptor privilege level: 0 3

    S Segment descriptor: 0 = system descriptor 1 = code or data segment descriptor TYPE If system descriptor, TYPE indicates TSS, LDT, or GATE; if code or data descriptor, TYPE indicates reading, writing, or executing privileges A G Accessed bit Granularity bit: 1 = segment length is page granular; 0 - segment length is byte granular Default operation size (recognized in code seg¬ ment descriptors only): 1 = 32-bit segment; 0 = 16-bit segment Present bit: i = present; 0 = not present Bit must be zero for compatibility with future processors A segment’s starting memory address, size (up to 4GB), and attributes are all given by its segment descriptor. FIGURE 6: Linear to Physical Address Conversion LINEAR ADDRESS (AS SEEN BY PROGRAM) r-1 4GB | I PROGRAM CODE AND DATA 80386 PAGING MECHANISM 'i / \ /// /'

    h
    i I / \ '/ v/
  39. '/ \ V i//\ k/\ \ \ / \ \ r \ \ \ \ \ \ \ \ \ \ \ PHYSICAL MEMORY PAGES 4 KB 4GB The 80386 paging mechanism maps the program’s linear address space into physi¬ cal memory. The operating system decides how pages are mapped. them into memory from disk, while re¬ storing to disk the contents of the least recently used portions of memory. This operation occurs transparently to the application, which perceives the entire program as being memory-resident. With memory paging support, such as that implemented in the 80386 with a 4KB page size, the operating system can easily allocate contiguous memory to an application simply by mapping a num¬ ber of noncontiguous physical memory pages into the requested logical pro¬ gram space. This mapping is performed by updating the page directory and tables. Figure 6 shows how the page di¬ rectory and tables are used to translate the 32-bit linear address that the pro¬ gram sees into a noncontiguous set of physical memory pages. A set of control registers, shown in figure 7, governs the operation of mem¬ ory paging. Paging is enabled by setting a bit 31 in control register CRO. Another control register (CR3) is set by the operating system software to point to the location in memory that contains the base of the page directory table. This table?, together with the page ta¬ bles, defines the translation between the 32-bit linear address that is derived from the segmentation model and a 32- bit physical memory address. The page directory is 4KB in size. This table size allows up to 1,024 page directory entries, each containing the address of a page table. A page table is 4KB and allows up to 1,024 page table entries, each containing the address of a 4KB page frame in physical memory. Figure 8 shows how the memory pag¬ ing mechanism generates a 32-bit physi¬ cal address from the 32-bit linear ad¬ dress output by the segmentation unit. The page table entries also contain bits that are updated by the 80386 in order to help the operating system manage the memory pages. A dirty flag is set to 1 by the 80386 whenever a page is written to. This lets the operat¬ ing system know that the contents of the page have been modified since the last time it was brought in from disk. An accessed bit also is set by the 80386 whenever a page is read or written to. This bit allows the operating system to determine which memory pages have been most recently accessed. Another feature that helps the operating system implement memory management functions is the use of the present bit in the page table entries. When a page is swapped to disk, the operating system marks the page table entry as not present. If an access occurs to a page that is not present in memory, the 80386 generates a page fault. The FEBRUARY 1987 59 Adapted from Intel 80386 Data Sheet Announcing ... The First 80386 C and Fiscal Compilers for the Professional Developer MetaWare, Incorporated announces the first available C and Pascal compilers that generate protected-mode 80386 code. For running on any 80386 machine that runs MS-DOS (e.g.. The Compaq, Deskpro 386). The compilers are functionally identical to the well-respected 8086/286 MS-DOS High C® and Professional Pascal® compilers that have received out¬ standing reviews in such magazines as Computer Language, Dr. Dobbs and PC Tech Journal. Our compilers are currently used by such industiy leaders as Ashton-Tate, AutoDesk, Ansa and Lifetree. Now you can get them generating 80386 code. If you have an application that requires the large 32-bit address space and the full 32-bit registers of the 80386, expand your marketplace to the rapidly growing supply of 80386 MS-DOS machines. Contact MetaWare for your 80386 software solution today! INCORPORATED 903 Pacific Avenue, Suite 201, Santa Cruz, CA 95060-4429 408-429-6382 Telex: 4930879 The Clear Choice for Large Projects High C and Professional Pascal are trademarks of MetaWare Incorporated © 1987 MetaWare. CIRCLE NO. 259 ON READER SERVICE CARD Adapted from Intel 80386 Data Sheet 80386 FIGURE 7: 80386 Control Registers CRO CR1 CR2 CR3 PG Paging enable -, ET Processor extension; TS Task switched; EM Emulate coprocessor; MP Monitor coprocessor; PE Protection enable CRO regulates memory management and coprocessor handling. CR1 is reserved by Intel. CR2 is set by the 80386 to the linear address that last generated a page fault. CR3 is the physical address of the page directory, which is always page-aligned. 31 30 _ 5 4 3 2 1 0 PG ET TS EM MP PE PAGE FAULT LINEAR ADDRESS PAGE DIRECTORY BASE ADDRESS 0 0 0 0 0 0 0 0 0 0 0 0 12 . 0 fault signals the operating system that the page whose linear address is stored in control register 2 should be brought into memory. As the page is brought into memory, the operating system up¬ dates the page table entry as present and returns from the page fault to per¬ form the desired memory access. To support the memory paging functions without accessing the page di¬ rectory tables on each memory access, the 80386 contains an internal 32-entry cache called the translation lookaside buffer (TLB). This cache automatically keeps the address of the 32 most re¬ cently used page table entries for speedy look-up during memory access¬ es. The operating system must flush the contents of the cache whenever a page table entry is marked not present in or¬ der to maintain coherency between the cache and the pages present in mem¬ ory. The contents of the cache are flushed whenever CR3 is written to. When the TSS data structures are used by the operating system to per¬ form task management functions, the address of the page directory (CR3) as¬ sociated with a task is saved in its TSS when a task context switch is per¬ formed. Because a single page directory entry has the capacity to address a full page table of 1,024 entries (4MB of memory), it is doubtful that an entire page directory would be assigned to each task. A single page directory entry per task should suffice in most cases. The 80386 offers I/O permission functions that are an extension of the I/O protection level (IOPL) mechanism found on the 80286. The basic IOPL mechanism prevents applications with low privilege levels from accessing any I/O device without the intervention of the operating system. This mechanism has been extended on the 80386 to al¬ low the operating system to specify the I/O devices (I/O addresses) that it wants to protect from direct access by applica¬ tions. This capability is useful in the 80386’s virtual-8086 mode (described later) where it prevents direct access to I/O devices by 8086/88 applications and simulates low-bandwidth I/O devices. The I/O devices to be protected by an operating system are specified via the I/O permission bit map, a variable length map where each bit corresponds to a byte I/O port address. When I/O operations are performed to a device address whose corresponding I/O per¬ mission bit is 1, control is transferred by the 80386 to the operating system via a general protection fault. The oper¬ ating system then can take the appro¬ priate action to protect or simulate a specific I/O device at the accessed I/O address. The base address of the I/O permission bit map is contained in the active TSS and is automatically saved on a task context switch. Because each task is likely to have access to different de¬ vices, each task should normally have its own I/O permission bit map. MODES OF OPERATION Real mode is the default mode of the 80386 upon reset. This allows the 80386 to begin execution in a manner compat¬ ible with the 8086/88 and 80286. The memory addressing mechanism, 1MB memory limitation, and 64KB-maximum segmented programming model are identical to real mode in the 80286. Most programs written for the 8086/88 and 80286 should run without modifica¬ tion. For a discussion of trouble areas, see the sidebar “Programming Consid¬ erations for the Intel Family.” The key distinction between 80386 real mode and that of its predecessors is its support of 32-bit operands and ad¬ dresses in the instruction set. By using override instruction prefixes for oper¬ and size and address size, the 16-bit de¬ fault nature of instruction operands and addresses can be specified to be 32 bits in size. The specification of 32-bit oper¬ ands yields significant performance ben¬ efits in arithmetic and memory transfer operations. The 32-bit addressing fea¬ ture is less important in real mode due to the maximum segment limit of 64KB and the 1MB physical address limitation, but it does allow the use of the ex¬ tended addressing specifications, such as scaled indexing with the full register set available as base and index. The operand size prefix (66H), when used preceding an instruction in real mode, indicates that the operands to be used are 32 bits. For example, when the instruction MOV AX,BX is pre¬ ceded by the operand size prefix, the result is an instruction that moves the 32-bit register EBX to EAX. Similarly, the address size prefix (67H) can be used on individual instructions to spe¬ cify extended addressing and can be used in combination with the operand size prefix. With both the operand size and address size override prefixes, an instruction can be created, such as MOV EBX, [EAX] [ESI*4] ARRAY + 80 This specifies a base value (EAX), a scaled index value (ESI * 4), and a dis¬ placement (ARRAY + 80) that are com¬ bined to form an offset, the 32-bit con¬ tents of which are placed into the EBX register. Other improvements are avail¬ able in 80386 real mode. For more in¬ formation, see the sidebar “Making the Most of the 80386 Today.” Protected mode in the 80386 offers a superset of the functions found in that mode in the 80286. The privilege-level- based memory and I/O protection sys¬ tem, 8- and 16-bit operand modes, and 64KB-maximum segmented program¬ ming model of the 80286 are supported in the 80386’s protected mode. In addi¬ tion, memory paging, large linear ad¬ dress space, and the I/O permission bit map can be used in protected mode. The TSS, introduced in the 80286, now includes data defined by the oper- FEBRUARY1987 61 80386 FIGURE 8: 80386 Memory Paging Mechanism A two-level scheme is used to access a page. In a linear address, bits 22—31 act as an index into the page directory, selecting a page table. Bits 12—21 index into the selected page table to designate the page. Bits 0—11 give the offset into the 4,096- byte page. A page cache is used to avoid this look-up for commonly used pages. ating system software as well as the hardware registers. The 80386 I/O per¬ mission bit map, which allows precise control over I/O port usage, is also con¬ tained in the new TSS. The 80386 protected mode in¬ cludes a more effective mechanism to switch to real mode. In the 80286, pro¬ tected mode is entered by setting the protection enable (PE) bit in the ma¬ chine status word. Once set, the PE bit in the 80286 cannot be reset. The 80286 must be reset to return to real mode, an operation taking hundreds of micro¬ seconds. The 80386 can be returned to real mode simply by resetting the PE bit in control register 0. The 80386 protected mode pro¬ vides a programming environment fully compatible with that of the 80286; 16- bit protected mode applications can be executed because the segment descrip¬ tors function the same as those on the 80286 when initialized for use by pro¬ grams for the 80286. For example, when initialized for use by such a pro¬ gram, the granularity (G bit) in the seg¬ ment descriptors (see figure 5) is set to 0, indicating byte granularity. This yields memory segments compatible with the 64KB maximum limit of the 80286. Sim¬ ilarly, the default operation size (D bit) is set to 0, indicating the use of 16-bit operands and addresses equivalent to those of the 80286. When 80386 descriptors are initial¬ ized for use by programs developed for the 80386, the additional capabilities of protected mode can be enabled to create a 32-bit programming environ¬ ment. Full 32-bit applications (using 32- bit operands and addresses) can exe¬ cute without instruction prefixes, as is the case in real mode. In addition, the 32-bit programming environment pro¬ vides data segments of 4GB maximum size by selecting the page granularity in the corresponding descriptors. Combined, the 16-bit compatibility features and additional functions of 80386 protected mode make it ideal for multitasking operating systems support¬ ing a variety of programming environ¬ ments. An operating system can provide a virtual memory multitasking environ¬ ment capable of concurrently executing 16- and 32-bit protected mode applica¬ tions. The nature of each application (16- or 32-bit) is determined by the configuration of its segment descriptors. FULL FAMILY COMPATIBILITY When combined with virtual-8086 mode (an extension of protected mode), the 80386 provides compatibility with appli¬ cations developed for the 8086/88 while simultaneously providing a full, 32-bit, large linear address programming envi¬ ronment in its protected mode. With this capability an operating system can provide a multiplicity of programming environments that span those in the en¬ tire Intel microprocessor family. This family compatibility makes virtual-8086 mode one of the most significant ad¬ vances of the 80386. (Virtual in this context refers to a technique whereby an entire processor environment, or machine , is transparently simulated; the term should not be confused with virtual memory techniques used in demand-paged operating systems.) Virtual environments have histori¬ cally been used as bridges to provide upward compatibility with existing ap¬ plications while offering a new environ¬ ment with enhanced functions and per¬ formance. An example of this concept is IBM’s virtual machine (VM) operating system architecture for its mainframe systems. VM allows existing applications to be used for production work while new applications that take full advantage of the features of the new machines are being developed. Virtual-8086 mode allows virtualiza¬ tion of only a real mode environment. Applications for the 8086/88 can exe¬ cute transparently in virtual-8086 mode under control of a protected mode operating system. These applications perceive that they are running in real mode while actually executing in vir¬ tual-8086 mode. Virtual-8086 mode, however, does not provide for execu¬ tion of 80286 or 80386 protected mode software under supervision of a higher- level program—no level exists that is logically higher in privilege than 0. The 80386 does not allow a protected mode operating system to execute under the control of another like system. Technically, virtual-8086 mode is a subset of protected mode and is en¬ abled by setting the VM bit in the flags register (see figure 3). In a multitasking, protected mode operating system, vir¬ tual-8086 mode is enabled when an 8086/88 application is executed. The primary difference between virtual-8086 and protected modes is in the interpre¬ tation of the segment registers. In vir¬ tual-8086 mode, the normal protected mode segmentation unit is bypassed and the linear address is calculated as it is in real mode—the segment register value is shifted left by 4 bits and added to the offset. Although the 32-bit ad¬ dressing modes are allowed in virtual- 8086 mode (by use of instruction pre¬ fixes), segments are still limited to 64KB, limiting the value of 32-bit ad¬ dressing. The 64KB limitation also means that virtual-8086 mode address¬ ing is confined to the same 1MB physi¬ cal address of the 8086/88. Applications that are designed for the 8086/88 execute transparently in vir¬ tual-8086 mode. The main difference between execution in virtual-8086 and real modes is that in virtual-8086 mode all interrupts are vectored through the protected mode interrupt descriptor ta¬ ble (IDT). When a hardware, software, or processor trap interrupt occurs, the IDT entry for that interrupt, typically an interrupt or task gate initialized by the protected mode operating system, causes the VM bit to be reset. The inter¬ rupt handler, executing in protected mode, can either take care of the inter¬ rupt itself or reflect the interrupt back 62 PC TECH JOURNAL Adapted from Intel 80386 Data Sheet In general, software developed for ! one member of the Intel microproces¬ sor family executes without modifica¬ tion on the others. However, when a software product is under develop¬ ment, the developer should follow a few rules to ensure the product’s up¬ ward compatibility and its migration to the higher-performance members of the family. Some generally accepted • A program that is intended to run on all Intel processors should be written to the least common denom¬ inator, the 8086/88. • Any use, implicit or explicit, of the values of registers, flags, or data structures that are declared unde¬ fined or reserved in the Intel docu¬ mentation should be avoided. For example, a program that uses the re¬ served fields of an 80286 descriptor most likely will not run on an 80386; the multiply (MUL) instruc¬ tion provides another example; the state of the zero flag is listed as un¬ defined following the execution of MULAprogram that depends on the state of the zero flag after MUL is executed on one member of the familymay behave differendy when run on another member. • A program should not depend on the power-on state of processor reg¬ isters. The value of the various regis- ters and flags after reset is different bri die different processors. The pro¬ gram should explicitly load the re¬ quired register values. Instruction opcodes that are not ex¬ plicidy documented in the Intel lit¬ erature should riot be used. An op¬ code that is not part of the sup- pitted instruction set for a particu¬ lar processor may be defined differ- eridy in a later processor, even if the opcode appeared to have a function in the earlier processor. An application should not contain self-modifying code Due to the dif¬ ference in prefetch queue length for the various processors, an instruc¬ tion modification sequence that works correctly on one processor may not modify the target instruc¬ tion until after it has been pre¬ fetched on a different processor. In ; th& case, the unmodified instruction would be executed rather then the modified instruction. Because of increases in clock speed and optimizations in the architec¬ ture, die 80286 and 80386 tend to execute specific code sequences sig¬ nificant fester than the 8086/88. In addition, systems based on the same processor may run at different clock speeds. Any code that interacts with realtime events or depends on its execution time to perform its func¬ tion should use a timing source that is independent of the processor clock speed Execution-speed-inde- perident timing services are typically provided by the operating system and/or a hardware timer. Each peripheral chip or controller in a system has a minimum I/O re¬ covery time—-that is, the time re¬ quired by that peripheral between successive I/O cycles. If a peripheral was designed for operation in an 8086/88 system, this minimum I/O recovery time may be violated when the peripheral is used in the pipe¬ lined bus architecture of an 80286^ or 80386-based system. In general, 8086/88 I/O speed can be simulated by inserting aJMP $+2 instruction between successive I/O cycles to the same peripheral. • Routines for the 80286 and 80386 should not be sensitive to the state of the PE bit in the machine status word. Although the 80386 virtual- | 8086 mode runs with real-mode se¬ mantics, it executes with the PE bit set in the machine status word indi¬ cating protected mode. The visibility of the PE bit via the store machine status word (SMSW) instruaion may cause problems for dual-mode code-—that is, code that attempts to act differently based on whether the processor is executing in real or protected mode. Most of these guidelines are based on common sense; nonetheless, many applications violate one or more of them and therefore fail on one of the Intel processors. One reason may be that the application has been de¬ bugged and tested on one processor before another processor is available. In all cases, the appropriate Intel liter¬ ature should be consulted. —Caldwell Crosswy and Mike Perez to the code that normally would have been invoked in the 8086/88 applica¬ tion. This reflection is accomplished by retrieving the appropriate target address from the 8086-equivalent interrupt vec¬ tors (the table of 4-byte vectors starting at virtual address 00000000), manipulat¬ ing the stack frame to contain the ad¬ dress of the 8086/88 interrupt handler, and returning to virtual-8086 mode. The interception and reflection of interrupts is one of the basic functions of a pro¬ tected mode operating system supervis¬ ing the execution of an 8086/88 applica¬ tion in virtual-8086 mode. The other differences between vir¬ tual-8086 and real modes involve privi¬ leged instructions, IOPL sensitivity, and I/O permission. The ability to control the use of privileged instructions and access to I/O devices in virtual-8086 mode allows the operating system to maintain concurrency between 8086 and protected mode applications. Privileged instructions cause a gen¬ eral protection fault if executed at a privilege level other than 0. Because code executes at privilege level 3 in vir¬ tual-8086 mode (real mode implicitly executes at level 0), these instructions trap to the operating system, which exe¬ cutes at level 0. Load machine status word (LMSW) and load global descrip¬ tor table (LGDT) are examples of privi¬ leged instructions. Execution of these instructions typically indicates a pro¬ gram’s intent to enter protected mode. An application that executes these in¬ structions is usually aborted by the operating system because protected mode applications are not allowed to execute in virtual-8086 mode. Sensitive instructions are those whose operation is affected by the cur¬ rent IOPL. Again because virtual-8086 mode code runs at privilege level 3, the 2-bit IOPL field in the flags register (fig¬ ure 3) must be set to 3 to avoid traps on these instructions. The sensitive in¬ structions in virtual-8086 mode are soft¬ ware interrupt (INT), interrupt return (IRET), and push and pop flags (PUSHF/ POPF). Though INT is IOPL-sensitive in both protected and virtual-8086 modes, PUSHF, POPF, and IRET are sensitive only in virtual-8086 mode. This allows the operating system to keep track of and virtualize the interrupt flag. For ex¬ ample, an 8086/88 application can at¬ tempt to disable hardware interrupts with the clear interrupt flag (CLI) in¬ struction. The operating system can make interrupts appear disabled to the application and continue to handle hardware interrupts necessary for oper¬ ating system administrative functions FEBRUARY 1987 63 The 3-in-l applications development tool for evay Tom, Dick and Harriett Presenting the first database H applications development tool I that delivers the promises of 4th-generation lan- guages on the micro- computer. It’s SIMPLE Software. ^^SIMPLE stands for SYSTEM IMPLEMENTATION by EXAMPLE: and it delivers the absolute best balance of power and ease-of-use. SIMPLER THAN EVER BEFORE. SIMPLE lets you jump in at any level of experience and unleash the full processing power of the PC. It has a totally non-procedural way of doing things that flattens-out the learning curve. You can automate everyday business tasks or prototype new applications without ever having to write a single line of procedural code. SIMPLE enables experienced programmers to achieve higher levels of productivity. And for developing mainframe applications, SIMPLE is the perfect prototyping tool—com¬ bining ease-of-use, speed, and high- quality system documentation. YOU GET 3-IN-l.
  40. IT'S A DESIGN TOOL SIMPLE allows you to quickly proto¬ type applications on the microcom¬ puter—sit right down and draw, edit, and specify processing logic with a few keystrokes. SIMPLE aids in the process of structured design by organizing development efforts in a building-block fashion. Experienced developers move quickly and easily from task to task. Less experienced users are literally guided through the entire applications development process.
  41. IT’S A RELATIONAL DATABASE MANAGER. SIMPLE offers exceptional speed per¬ formance. It is written in Assembler and incorporates a highly optimized B-tree data access method that elim¬ inates record sorting. SIMPLE also uses a dynamic single-record index. You can have an unlimited number of indices in any record. Each index may be either a single or concate¬ nated key. SIMPLE’s relational joins are easy to construct and more efficient to process. Joins are accom¬ plished dynamically at time of proc¬ essing and support one-to-many and many-to-many relationships.
  42. IT’S AN APPLICATIONS GENERATOR. It is the most practically functional applications generator on the market today. SIMPLE is completely non¬ procedural, never forcing you back to procedural methods, letting you accomplish even the most complex databased applications in the most easy-to-use-and-understand fashion. A SINGLE, VISUAL 4GL LANGUAGE.

    Uniquely, every step in program development from input screens, to reports, to complex processing logic is accomplished in SIMPLE’s all-visual worksheets. It is fully non-procedural and totally picture-oriented. Design right on the screen, and SIMPLE’s built-in pattern-recognition logic automatically generates all the appli¬ cation code for you. You never have to leave SIMPLE’s 4GL non-procedural technique. POWERFUL WORKSHEETS. SIMPLE provides three powerful, yet easy-to-learn worksheets—a File Worksheet, Specify Worksheet and Design Worksheet. You need only to define a file, then SIMPLE creates the basic program for you. Enhance¬ ments are done on SIMPLE’s Design and Specify Worksheets. In the Design Worksheet, you simply paint or draw an example of the input screen or report you want. Company Managers like Tom easily develop custom¬ ized applications like this Branch Reporting System which reports information from support service calls. Tom now has a system which validates certain information and provides a customer his¬ tory to improve the branch's support capabilities. With SIMPLE’s Specify Worksheet on screen, Tom simply joins data from four different files and establishes their relationship. Information Center Staff Members like Dick easily create new microcomputer applications systems like this Lead-Tracking System. Dick is able to sit down with the Director of Marketing and review the main entry screen developed on SIMPLE which shows the prospect demo¬ graphic information, the media source and date from which each lead was gener¬ ated, and the fulfillment liter¬ ature to be sent. System Analysts/Pro¬ grammers like Harriett easily prototype design changes while interacting with Department Heads. Har¬ riett has prototyped some requested changes in a Main¬ frame Payables System. With the help of SIMPLE, she has built a test database with data imported from the main¬ frame and is able to review the check-ledger report, in the Controller’s office on her portable computer. The Design screen may be painted exactly as you want using SIMPLE’s built-in, full-screen editor which offers a wide range of capabilities to aid you—including the ability to delete or insert a character or an entire line, move or copy blocks of information, lasso text or variables, and window to other worksheets in one or two keystrokes. Powerful specification macros are invoked pro¬ viding application users the ability to pop-up a window and browse through another file, interrupt data entry to perform another program, provide context-sensitive help, and perform conditional processing based on the user’s input. In the Specify Worksheet, you implement your processing logic. You never have to fall back to procedural programming to get the processing power you need. Range checking and data validation are easily implemented, visually. Conditional processing statements are quickly set up. Arithmetic operators, date operators, and a full set of string functions are available. You specify an example of how you want your data processed, and SIMPLE creates the program. A POWERFUL MENU GENERATOR. SIMPLE’s power gives you the easy flexibility to generate unlimited levels of user-guidance menus, as your applications require. There are limitless design options for effective “point-and-shoot” menu creation. And you have total freedom to build menus before, during or after devel¬ opment, unmatched in other systems. SIMPLE, SIMPLER, SIMPLEST. Ask for SIMPLE at your computer dealer. Or call us direct for the dealer nearest you and a full-functioning SIMPLE demo package with a Quick- Start manual for only $9-95*.

    Includes shipping and handling. California residents add sales tax. SYSTEM IMPLEMENTATION BY EXAMPLE is a registered trademark of Accuphase. Ltd. IBM PC is a trademark of International Business Machines. Corp. SYSTEM IMPLEMENTATION BY EXAMPLE ,u Published by Software Merchants Unlimited Software Merchants Unlimited 2252 Fillmore Street, Suite 401 San Francisco, California 94115 415-567-5071 CALL 800-8 SIMPLE CIRCLE NO. 120 ON READER SERVICE CARD 80386 MAKING THE MOST OF THE 80386 TODAY Although operating systems that fully support the features of the 80386 may not be available today, the program¬ mer can take advantage of many 80386 features in real-mode programs now. • Many instructions such as the imme¬ diate forms of ADD and SUBtract have been optimized by direcdy de¬ creasing the number of cycles re¬ quired for execution. Others such as Multiply execute in fewer average cycles due to internal algorithm op¬ timizations. Nothing special is re¬ quired of the programmer to invoke these improvements; they are built into the 80386 architecture. • The operand size prefix (66H) can be used to achieve 32-bit data opera¬ tions. This allows the programmer to take advantage of the extended 32-bit register set for 32-bit arithme¬ tic and logic operations. For exam¬ ple, DB 66H / ADD AX,BX is equiva¬ lent to ADD EAX,EBX. The operand size prefix also can be used to speed data manipulations by taking advantage of the full 32-bit width of the 80386 internal and external data paths. One of the most dramatic im¬ provements to existing code can be realized by the use of a 32-bit re¬ peated string move instruction (REP MOVS) in block move operations. • Two additional segment registers, FS and GS, are available along with the instructions needed to manipulate them. No explanation of the desir¬ ability of extra segment registers is necessary to anyone who has pro¬ grammed the Intel family. • The new double-shift instructions, SHLD/SHRD, allow the manipulation of full-width (32-bit) bit strings with¬ in a double-width (64-bit) bit space. This allows the efficient implementa¬ tion of such graphics primitives as BITBLT. Because the maximum shift entity on the 8086/88 and the 80286 has been 16 bits, routines such as BITBLT have typically been limited to 8-bit manipulations. A full set of conditional jumps with 16-bit displacements is provided. This eliminates the awkward instruc¬ tion sequence often required (jump¬ ing around a jump) when the desti¬ nation of a conditional jump is more than 127 bytes away. The move with sign-extension (MOVSX) and move with zero-exten¬ sion (MOVZX) instructions allow small operands to be moved into larger ones in a single instruction with automatic size conversion. The high-order part of the destination is filled with the high bit of the source or zeroes. These may be most useful in manipulating the 32-bit register set, but they also allow functions such as MOVZX DI,AL to be done in a single instruction. A complete set of single-bit instruc¬ tions alleviates the time-consuming masking and test-and-set/reset oper¬ ations that characterize many oper¬ ating system primitives, such as manipulating the bits in a task’s status word. Having a single-instruc¬ tion implementation assures the in¬ divisible execution of these func¬ tions, freeing the programmer from the overhead of framing the opera¬ tion with the typical CLI/STI. The byte set on condition instruc¬ tions set the destination operand to 0 or 1 depending on the setting of the specified condition flag. This is a useful function for high-level lan¬ guage interfaces that pass status in¬ formation in registers or memory rather than in the CPU flags. These instructions provide direct transla¬ tion from CPU status to a byte regis¬ ter or memory operand • Although addressing is limited by real-mode semantics to 64KB seg¬ ments and a 1MB address space, the address size prefix (67H) allows the use of the extended addressing modes of the 80386 in real mode. When the address size prefix is used, any register can be used as base and index registers, with or without the scaling options. The coding of the Mod R/M byte is dif¬ ferent in this case, making manual encoding difficult. • A single-precision uncharacterized multiply instruction complements the immediate form of IMUL that was added to the 80286, but re¬ moves the implicit register charac¬ terization; therefore, the destination operand can be specified as some¬ thing other than die AX register. • New debug registers allow the im¬ plementation of a software debugger with hardware debugging capabili¬ ties. The debug registers can be pro¬ grammed to cause a trap when a specific memory location is read or written or when an instruction is ex¬ ecuted at that address. This capabil¬ ity previously required external breakpoint hardware. Selective use of these features can result in applications that achieve high performance relative to the 8086/88 and 80286. It may be desirable, how¬ ever, for the same application to exe¬ cute on all members of the Intel fam¬ ily. One approach is to optimize por¬ tions of an application that benefit most from the features of the 80386. These optimized portions would be executed only when the application is run on an 80386-based system. —Caldwell Crosswy and Mike Perez (such as system timers) and other con¬ current protected mode applications. The I/O permission facility allows the operating system to control selected I/O ports. The operating system can set up an I/O permission bit map in the TSS corresponding to the virtual-8086 mode application. The bit map can de¬ fine specific I/O ports as protected. Any IN or OUT instructions that refer to a protected I/O port will trap to the oper¬ ating system, which can either emulate or directly execute the instruction. In all these cases, the operating system decides whether or not a partic¬ ular instruction will appear to be exe¬ cuted. This action is totally transparent to the program running in virtual-8086 mode—as far as the program is con¬ cerned, an emulated instruction appears to have been executed by the 80386 mi¬ croprocessor. The only potential differ¬ ence is that simulated instructions or operations may take longer to execute. Through the use of the 80386’s paged memory management features,, an operating system can allow more than one 8086/88 machine to be simu¬ lated at a time, thus permitting multiple 8086/88 applications to coexist with each other as well as with 32-bit appli¬ cations. This capability would typically be used in concert with hardware simu¬ lation so that each application would see an entire machine, complete with the simulated, peripheral hardware. To simulate the programming envi¬ ronment of one or more 8086/88 ma¬ chines, the operating system would pro¬ vide support for interrupt handling and for the instruction and I/O emulation just as outlined above. In the case of a single, virtual-8086 environment, mem¬ ory paging would not be enabled and the single virtual-8086 machine would FEBRUARY 1987 65 Adapted from Intel 80386 Data Sheet 80386 The paging mechanism gives each virtual-8086 task a 1MB linear address space. Read-only areas, such as the 8086 operating system, can reside on shared pages used by all virtual-8086 tasks. Unused pages can be omitted from physical memory. INTEL REFERENCES For further reference, the following literature can he obtained from the Intel Corporation by calling this toll-free number: 800/548-4725. ORDER PROCESSOR TITLE NUMBER PRICE 8086/88 The iAPX 88 Book 210200 $20.95 80286 Introduction to the iAPX 286 210308 No charge iAPX 286 Programmer's Reference 210498 20.93 iAPX 286 Hardware Reference 210760 20.95 iAPX 286 Operating System Writer's Guide 121960 50.00 80386 Introduction to the 80386 (including the 80386 Data Sheet) 231746 No charge 80386 Programmer's Reference 230985 25.00 80386 Hardware Reference 231732 25.00 80386 System Software Writer's Guide 231499 $23.00 80386 Data Sheet 231630 No charge execute in the first physical megabyte of memory, just as it would in real mode. The operating system would normally reside in memory past the first (physi¬ cal) megabyte or in reserved and/or protected memory within the first megabyte of memory. If multiple 8086/ 88 machine simulations are desired, or if it is necessary to execute a single 8086/88 machine in a physical location other than the first megabyte, then the paging mechanism must be enabled. Because the segmentation unit is bypassed in virtual-8086 mode, the pag¬ ing unit is the only memory manage¬ ment method available to virtual-8086 mode programs. The paging mechanism allows the 1MB address space of virtual- 8086 mode to be simulated anywhere in physical memory. Via memory paging the 1MB contiguous memory space of virtual-8086 mode can be created from up to 256 physical memory pages (1MB address space / 4KB per page). Each of these pages can be located anywhere within the 4GB physical address space of the 80386 and need not be physically contiguous, allowing great flexibility. Using the 80386 memory paging functions, a demand-paged operating system can manage memory for multi¬ ple virtual-8086 mode machine simula¬ tions concurrently with protected mode applications. Memory paging also can be used to allow each 8086/88 machine simulation to have access to common routines and data, such as a system ROM, by making the physical ROM ap¬ pear in the memory space of each simulated machine. Actually, only one ROM exists, but each machine sees it at the expected address within its 1MB ad¬ dress space. Figure 9 shows how the 80386 paging mechanism enables multi¬ ple \1rtual-8086 machines to be man¬ aged; a single copy of the 8086/88 oper¬ ating system is made to appear in the address space of both machines. VIRTUAL PERFORMANCE The performance of applications exe¬ cuted in virtual-8086 mode is typically lower than in real mode in the same processor, because an operating system is intervening to handle interrupts and emulate certain instructions. The trap operation alone usually takes signifi¬ cantly longer to execute than the in¬ struction that caused it. To this is added the execution time of the code that saves and restores machine state and emulates the instruction. Fortunately, the instructions that must be emulated are relatively few in number and fre¬ quency of occurrence. The primary im¬ pact is in interrupt-intensive programs, because straight code tends to execute unimpeded in virtual-8086 mode. Like the instructions themselves, simulated hardware should not be ex¬ pected to have the same performance as the actual hardware. Differences in performance depend upon the device used. Performance is also affected when simulating more than one 8086/88 ma¬ chine at a time. The 80386 provides unprecedented compatibility with previous members of the Intel family while providing the ad¬ vanced functions required for the devel¬ opment of sophisticated virtual memory operating systems in which 8086/88 ap¬ plications can coexist with 16- and 32- bit protected mode applications. Even without such advanced operating system software, it is possible to take advantage of the 80386 by using its new instruc¬ tions and 32-bit data manipulations. Fu¬ ture software advances will unlock the full power of the 80386. GSBiiJB Caldwell Crosswy is a senior systems engi¬ neer , and Mike Perez is a systems engineer¬ ing manager with Compaq Computer Corp. 66 PC TECH JOURNAL “One of the primary reasons the Computer Press Association was formed was to promote high standards of writing in computer journalism. It’s time to reward those who do it best.” Hal Glatzer Vice President Computer Press Association Best Computer Magazine JI X£ E message in an application queue whenever special ac¬ tions need to be taken that affect a win¬ dow belonging to that application. The queue belongs to an individual applica¬ tion and is arranged on an FIFO (first- in/first-out) basis. The main function of an application retrieves the message from the queue and sends it to the ap¬ propriate window function. Each message-processing subpro¬ gram in a Windows program can be thought of as a stand-alone program de¬ signed to process a specific message. Many messages are common to all Win¬ dows programs and must have certain like sections, while others are unique and thus require unique code. NONPREEMPTIVE MULTITASKING Windows uses a nonpreemptive sched¬ uler to manage multiple tasks. Because such a scheduler is cooperative, each application must “yield” to Windows in order to allow other applications access to the main processor. Windows switches among applications when an application asks for its messages. Once an application has received a message it can execute for as long as it wants; Win¬ dows does not issue interrupts to force an application to yield. Windows appli¬ cations should check frequently for messages in order to yield control and allow other applications to run. A preemptive multitasking system, such as that found on an IBM main¬ frame, uses system interrupts to sus¬ pend the processing of an application and to allow other operating system functions or applications to be exe¬ cuted. Some preemptive multitaskers use time slicing to allocate the main processor to applications. Each applica¬ tion is given slices of time in which to execute, depending on priorities estab¬ lished by the system operators. Each ap¬ plication continues to execute until it needs the system to perform some ser¬ vice such as I/O (in some systems its execution may be interrupted to allow the execution of higher-priority tasks) or until its time slice completes. Windows does multitasking with only those applications that are specifi- 72 PC TECH JOURNAL cally written for it. While non-Windows applications such as Lotus 1-2-3 or MicroPro’s WordStar will run under Windows, they will not do multitasking. When a non-Windows application is started, all currently active Windows ap¬ plications are suspended. Windows multitasking is particu¬ larly useful for background tasks such as communications and print spooling; a user can execute Windows applica¬ tions at the same time that a file is be¬ ing transmitted or received across a communications network or that a large job is being printed. MEMORY MANAGEMENT Windows memory management pro¬ vides two significant features that are not offered in current versions of DOS: dynamic loading and discarding of code and data segments, and insulation of programs from hardware-specific mem¬ ory architectures. Code segments within a Windows application can be defined as fixed or movable through the module definition file (.DEF). The definition file for a sam¬ ple Windows application is shown in listing 1 (THERME.DEF). All code seg¬ ments should be defined as movable so that Windows has maximum flexibility in organizing memory. Code segments also may be loaded into memory dur¬ ing initial start-up of the application, or they may be loaded dynamically by Windows. When they are not currently in use, code and data segments also may be discarded dynamically by Win¬ dows if memory is scarce. When an application attempts to al¬ locate more memory than is available, Windows attempts to satisfy the request by dynamically discarding memory until a block of the requested size can be made available. If sufficient memory cannot be obtained, Windows returns error code 0001 to the application. Normally, Windows manages mem¬ ory in a way that is transparent to the user. However, if a scarce memory situ¬ ation occurs and Windows is unable to free enough memory, a degradation in performance occurs. Thrashing takes place if Windows begins discarding and loading the same code segments repeat¬ edly. For example, if an application is performing a repetitive operation (such as drawing a series of rectangles) and memory is scarce, Windows may per¬ form an operation, discard the code re¬ quired to perform that operation during memory compaction, then reload the code segment just discarded. While performance degradation is more desirable than an application fail¬ ure, it is of little consolation to a user who must either accept inadequate per¬ formance or close down other applica¬ tions until enough memory is freed to return performance to acceptable levels. Windows memory management further insulates application programs from hardware-specific memory archi¬ tectures by using 16-bit “handles” (address pointers) to reference all data variables. Because Windows dynamically allocates and frees memory, compacting it as required, the physical address of a data variable can be changed by Win¬ dows. As long as an application always uses a handle to access data, it does not matter where Windows locates that physical data item in memory. Windows provides two memory pools for use during program execu¬ tion: the global heap and the local heap. The former is all system memory not allocated to Windows or applica¬ tions; the latter is free memory in the application’s data segment. The maxi¬ mum size of any local heap is 64KB. Ap- Device independence, one of the greatest benefits of Windows, is achieved by ap¬ plications through the use of a graphics device interface. plications obtain memory by using the GlobalAlloc command (for addresses outside of the current 64KB memory segment) and LocalAlloc (for addresses within the current 64KB memory seg¬ ment). Windows gives the requesting application a handle to the requested memory. The GlobalLock and LocalLock functions are used to lock global and local handles, respectively, before as¬ signing values to the specified memory locations. This prevents the memory ob¬ ject associated with the handles from moving while in use. Applications are responsible for freeing allocated global memory before they terminate. Windows automatically frees any local memory that has been allocated during execution. GRAPHICS DEVICE INTERFACE One of the greatest benefits that Win¬ dows provides to application develop¬ ers and users alike is device indepen¬ dence, which is achieved by Windows applications through the use of a graph¬ ics device interface (GDI). Application developers benefit from the GDI be¬ cause it defines a logical device to which the application sends output. The physical device used, whether display screen, plotter, or matrix printer, is not important to the application because all application I/O is performed to and from logical devices. The same I/O rou¬ tines are used by an application regard¬ less of the physical device being used; thus, they must be written only once. Translations between the logical device used by Windows and physical devices are performed by device drivers. In order to maintain device inde¬ pendence, this interface draws images in an internal, logical coordinate system that is mapped to the actual physical coordinate system of the display device. The logical coordinate system has x and y axes, an origin at the center, and coordinate values that range from -32,768 to 32,767. To draw an image on a device, an application uses a GDI output function to draw in a rectangular area of the log¬ ical coordinate system called (in an un¬ fortunate choice of terms) a window . GDI then maps the image to the desig¬ nated device view port, which is simply the rectangular area on the display de¬ vice that contains the. image mapped from the logical coordinate system win¬ dow. The functions SetWindowOrg and SetWindowExt define the origin and ex¬ tent (size) of the window in the logical coordinate system. SetViewportOrg and SetViewportExt perform the same func¬ tion for the device view port. The point {0,0) in the physical device coordinate system is always the upper left corner of the view port. Every device has a logical size in which arbitrary width and height (in inches) are assigned. Usually different from the physical width and height, the logical size is used by applications when writing text or drawing graphics. For example, the logical screen size of the CGA (640 by 200 pixels) is 6.5 by 4 inches. The pixels per logical inch in the x and y directions are 96 and 48, respectively. The logical screen size of the EGA (640 by 350 pixels) is 6.5 by 5 inches. Its pixels per logical inch are 96 and 72, respectively. The location of points in an actual image depends upon the transformation equations used to map it from the logi¬ cal to the physical coordinate system. An application can use SetMapMode to select one of eight different mapping modes that define the orientation of the device’s x and y axes and specify scale factors for transforming logical units FEBRUARY 1987 73 And get ready for Video Seven Inc., 4' Falls Court, Fremont, C EASYCAD—Evolution Computing, IBM—International Business Machi You can eat 37% more carrots. Or you can get our new VEGA Deluxe™ EGA card. d pite its ivements t, today’s a strain on introduce you to a sight f sore eyes: the new VEGA Deluxe card. A short-card video adapter at goes beyond standard EGA to bring u as much as 37% higher screen resolution, pure pixels, that means 640 x 480. And 752 x 410. t t lui cio mcuiy cio 16 on-screen colors from a palette of 64. That, in turn, means sharper lines. More brilliant colors. And less strain on your eyes. (Of course, you can’t see more than your monitor will display. So for more than 640 x 350, the VEGA Deluxe requires a Multisync® or equivalent.) The VEGA Deluxe is compatible with every other video standard: EGA, CGA, Hercules and MDA. And it automatically selects which standard is right for your software’s needs when used with a compatible monitor. Not only that, the VEGA Deluxe includes high-resolution drivers for Microsoft Windows and Lotus 1-2-3 with 120 columns and 43 lines. EASYCAD, EGA Paint, GEM, Dr. Halo, In*A*Vision, Windows Draw Windows Graph, and many more now support VEGA Deluxe high resolution, more information? Just call 1-800-238-0101 for the name of the Video Seven vou. (In California, call 1-800-962-5700.) a real eye-opening experience. Fremont, CA 94539. VIDECTV/SEVEN :olor monitors capable of 25 KHZ and 29.4 KHZ. Trademarks: VEGA Deluxe—Video Seven Inc.; Hercules — Hercules Computer Technology; MultiSync—NEC Information Systems, Inc.; EGA Paint— Rix Soft Works, Inc.; GEM — Digital Research Corp.; Dr. Halo—Media Cybernetics; In»A* Vision, Windows Draw, Windows Graph—Micrografx, Inc. Registered trademarks: nines Corporation; Video Seven—Video Seven, Inc.; Lotus 1-2-3 — Lotus Development Corp.; Microsoft — Microsoft Corp. Video Seven reserves the right to change specifications without notice. CIRCLE NO. 204 ON READER SERVICE CARD WINDOWS into device units. The mapping modes are as follows: TEXT, LOMETRIC, HIMETRIC, LOENGLISH, HIENGLISH, TWIPS, ISOTROPIC, and ANISOTROPIC. These modes fall into three classifi¬ cations:, unconstrained, partially con¬ strained, and completely constrained. The TEXT, LOMETRIC, HIMETRIC, LOENGLISH, HIENGLISH, and TWIPS modes are completely constrained. In these mapping modes, calls to SetWindowExt and SetViewportExt are ignored. Constrained map modes pro¬ duce nondistorted images in fixed phys¬ ical units such as pixels, inches, or points, and they provide a way to en¬ sure that a 1-by-l unit square in logical coordinates is mapped to a 1-by-l unit square in physical coordinates. In ISOTROPIC (the partially con¬ strained) mode, window and view-port extents determine scaling and orienta¬ tion; GDI assures that x and y units are the same. Thus, squares in logical units come out as squares on the device. In the unconstrained (ANISOTROPIC) mode, arbitrary units and scaling may be achieved by setting window and view-port extents to any desired values. This mode does not change the extents, rather it directs the GDI to set an inter¬ nal flag to indicate that the extents can be arbitrarily changed by using SetWindowExt and SetViewportExt. A device context, or DC, describes a graphics device and driver. A DC is a data structure in an application’s mem¬ ory that contains all information neces¬ sary to create visual output in that appli¬ cations window. This information in¬ cludes background and text colors and conventions for combining them, as well as transformations used to map images from the logical coordinate sys¬ tem to the physical device. The DC con¬ tains the data itself or handles that point to the data. An application must request, using the CreateDC routine, that Win¬ dows create a DC for its window. The application can update the in¬ formation in the DC by selecting objects into the DC, setting the mapping mode, setting the clipping region, and so on. Once the application has all of the nec¬ essary information contained in the DC, it can perform graphics operations that affect its own window. The availability of Windows appli¬ cations and GDI enables equipment manufacturers to make new hardware compatible with an existing base of soft¬ ware simply by writing device drivers for Windows. It is also easier to up¬ grade hardware (and the Windows de¬ vice driver) to support new features, higher resolution, and faster modes. The time that an application devel¬ oper saves by not developing unique device support can be significant. Cer¬ tain applications, especially those that make extensive use of graphics, benefit the most. The 40 to 50 percent of pro¬ gramming time spent developing device support in a device-independent envi¬ ronment could instead be directed to improving the application or develop¬ ing new applications altogether. Device independence is also im¬ portant to end users because it protects their investment in software. Users can be confident that drivers will be avail¬ able for popular devices, and because Windows applications are device inde¬ pendent, upgrades from the software manufacturer to support a new device are not necessary. Communications between a realtime sewer and a client Windows application is accomplished through the Dynamic Data Exchange. Several examples of Windows and Windows-compatible devices are al¬ ready in use. Video 7’s new VEGA De¬ luxe EGA-compatible graphics adapter supports all the old CGA and EGA stan¬ dards and offers two new resolution modes—752 by 410 pixels and 640 by 480 pixels—with 16 colors. Few compa¬ nies offer such features. The VEGA De¬ luxe comes with a Windows driver that gives Windows applications instant com¬ patibility with these modes. Quadram’s as yet unnamed high- resolution graphics board uses an Intel 82786 graphics coprocessor to achieve a resolution of 640 by 480 pixels with 256 simultaneous colors (from a palette of 1.6 million). This board should be avail¬ able (with a Windows driver) in the first quarter 1987. The 82786 enables this board to achieve a tenfold increase in graphics performance. NEC’s new color version of the P5 printer is capable of 360-dpi (dots per inch) resolution with unlimited colors. It also should be available (with a Win¬ dows driver) in first quarter 1987. DYNAMIC DATA EXCHANGE Windows allows intertask communica¬ tion and the efficient sharing of data among applications. The Windows Dy¬ namic Data Exchange (DDE) protocol is a set of guidelines that allows applica¬ tions to share data freely using either one-time data transfers or establishing on-going communications in which ap¬ plications send updates to one another as new data become available. Intertask communications, the means by which Windows applications receive all input, occur in Windows through messages. Applications may de¬ fine private messages with unique meanings. The DDE protocol defines some new messages for communica¬ tions among the applications that use it. Windows also provides for the sharing of data among applications. The DDE protocol uses shared memory as the means for transferring data between ap¬ plications. The DDE defines some struc¬ tures to be used in order to pass data. In any interaction between DDE applications, the application generating the shared data is called the server and the application accepting the shared data is the client. A DDE link between applications is called a hot link. Communications between an on¬ line, realtime server and a client Win¬ dows application is possible with the DDE. Microsoft has demonstrated an ex¬ ample of this with Lotus Signal and a sample Windows application specifically developed to demonstrate the DDE. Lo¬ tus Signal uses an FM sideband receiver to obtain financial data from the New York Stock Exchange. A server was de¬ veloped to transfer data from Signal into a shared memory area within Win¬ dows. As data come over the FM chan¬ nel, the shared memory area is updated automatically. The client application was coded to detect when the data in this shared memory area changed and to update a spreadsheet and redraw a graph to reflect the new data. The clipboard is another data ex¬ change feature of Windows. It is a pool of handles, accessible to any Windows application, through which applications can exchange formatted data. Windows applications that follow Microsoft’s Style Guide all provide the standard clipboard operations of Cut, Copy, and Paste. Cut deletes selected data from an application and places it in the clipboard; Copy makes a copy of the selected data without deleting it and then places the copy in the clipboard; Paste is used by the receiving applica¬ tion to transfer data from the clipboard into an application. From a user’s point of view, the clipboard holds only one piece of data at a time. Previous data are cleared out every time a new Cut or Copy opera- FEBRUARY1987 75 WINDOWS tion is performed. Internally, the clip¬ board holds any number of different data formats and corresponding data handles, all representing the same data but in as many different formats as the application is willing to supply. For example, if a Windows Draw user selects a portion of a drawing (perhaps a piece of clip art) and copies it to the clipboard, Windows Draw ren¬ ders three different formats to the clip¬ board. These formats are bit map, meta¬ file, and Micrografx picture. [Editors note: The author is presi¬ dent of Micrografx, developers of the picture format referred to here. A Mi¬ crografx picture is decomposable and can record view-port transformations. Specifications for the format are avail¬ able free from Micrografx; also, they can be obtained from General Electric’s GENIE Information Service .—WFJ An application receiving the data from the clipboard could choose what¬ ever format that it supported. For exam¬ ple, Windows Paint can transfer only in bit maps while Windows Write can in¬ put a metafile or a bit map. Windows Draw can (currently) input only a Micrografx picture. Bit maps are simply pixel blocks well suited to pixel editors or paint programs such as Windows Paint. How¬ ever, some limitations are imposed. Bit maps are not easily scaled and lose res¬ olution when they are scaled; in addi¬ tion, bit maps in Windows are done only in black and white, so any color information is lost during the transfer. Finally, Windows limits the size of bit maps to 64KB maximum. Metafiles provide a more orderly mechanism for passing pictures among applications. Unlike bit maps, they can pass color information and metafiles can be scaled without loss of resolution. However, metafiles carry their own lim¬ itations: they cannot be decomposed, so a receiving application cannot break a metafile picture down into its compo¬ nent symbols (lines, curves, fill pat¬ terns). Neither can Metafiles record view-port transformations, which some applications use for scaling pictures. THE DEVELOPMENT KIT The Microsoft Windows Development Kit (version 1.03) is required for devel¬ oping Windows-compatible applications. The kit is a collection of the utilities, debugging aids, and sample source pro¬ grams necessary to this operation; table 1 lists its contents. Installing the kit is fairly straight¬ forward once the proper documenta¬ tion for version 1.03 is located in the TABLE 1; Windows Software Development Kit Contents WINDOWS DEVELOPMENT UTILITIES EXEHDR.EXE Displays Windows application file header IMPLIB.EXE Creates linkable library files for user-defined, dynamic Windows libraries LIB.EXE Creates and maintains library (.LIB) files LINK4.EXE Creates executable Windows applications MAKE.EXE Performs automatic file maintenance MAPSYM.EXE Creates symbol files for symbolic debugging RC.EXE Compiles and adds resources to an application RCCP.EXE Preprocesses resource script files SYMDEB.EXE Symbolic debugger for Windows applications WINSTUB.EXE Program to display a message indicating that an application must be run using Windows WINDOWS DEVELOPMENT APPLICATIONS ATRM1111.FNT Sample font file DIALOG.EXE Dialog box editor FILELIST.TXT Listing of files in Development Kit FONTEDIT.EXE Font editor HEAPWALK. EXE Displays lists of owners and sizes of allocated memory blocks in global heap ICONEDIT.EXE Creates and edits icons, cursors, and bitmaps INSTALL.BAT Batch file used to install Development Kit MKDEBUG.BAT Batch file used to create a debugging version of Windows README.DOC Installation instructions for Development Kit SHAKER.EXE Randomly allocates memory in the global heap LIBRARIES AND INCLUDE FILES (C language) STYLE.H Windows style definitions for edit control, dialog and list boxes, scroll bars WINDOWS.H Windows include file for C applications LIBW.LIB" Standard Windows library WINLIBC.LIB* Start-up library for Windows libraries LIBRARIES AND INCLUDE FILES (Pascal) 103PATCH.BAT Patches debugging version Windows KERNEL.EXE to allow support of Pascal applications CMACROS.INC Include file for macro assembler macros PASCAL.LIB Pascal library for Windows applications PASLIBW.LIB Windows library for applications in the Pascal language WINDOWS.INC Windows include file for Pascal applications “These file names are prefixed with a C, L, M or S, according to the memory model size: compact, large, medium, or small, respectively. README file on the second of two utili¬ ties disks. (This file is not mentioned in the printed documentation or the more than 30 pages of updates to it. The doc¬ umentation updates are not replace¬ ment pages, rather they are more than 100 separate items grouped together with section and page-number refer¬ ences.) The README file describes the use of the batch file that will install all of the toolkit except the sample applica¬ tion source files. The printed documen¬ tation provides recommended directory names and locations for storing these source files, but the user must consult a file on the second utilities disk to locate particular source files on the toolkit diskettes. To set up the operating envi¬ ronment, the AUTOEXEC.BAT file must be modified using the DOS SET com¬ mand to assign values to several envi¬ ronment variables. The variables and their meanings are as follows: LIB Location of library files used by the development linker (called Link4) INCLUDE Location of include files used by compiler TMP Location of compiler tempo¬ rary file directory TEMP Location of Windows tempo¬ rary file directory PATH Used by DOS to locate exec¬ utable files It may be necessary to expand the envi¬ ronment to accommodate these vari¬ ables. (See “Environment Expansion,” Jim Vallino, November 1986, p. 49.) Because some of the development utilities are Windows applications, Win- 76 PC TECH JOURNAL SYMBOL AND DEBUG FILES GDI.EXE GDI.SYM KERNEL.EXE KERNEL. SYM USER. EXE USER. SYM SAMPLE APPLICATIONS SOURCE FILES CARDFILE CLOCK FONTTEST HELLO MAPMODES MOTION MUZZLE SAMPLE Debugging executable file for GDI library Symbolic debugging file for GDI functions Debugging executable file for kernel library Symbolic debugging file for kernel functions Debugging executable file for user library Symbolic debugging file for user functions Application similar to the Windows card file Uses bitmaps and compatible device contexts Font and dialog box creation and use General form of a Windows application Use of various mapping modes Creation and use of dynamic-link libraries General form of a Windows application (Pascal) Similar to TEMPLATE but also uses standard file and edit menus and dialog boxes SHAPES Shows how to use menus and draw shapes TEMPLATE Skeleton application TRACK Use of mouse input and visual feedback TYPE Keyboard input processing WINDOWS DEVELOPMENT KIT MANUALS Update to Programmer's Reference and Programming Guide Describes new features of Windows version 1.03; contains updates and corrections to Windows Programmer's Reference and Windows Programming Guide Microsoft Windows Programmer's Utility Guide Describes purpose and use of Development Kit Utilities The Microsoft Windows Quick Reference Provides a quick reference to Windows functions and messages The Microsoft Windows Programming Guide Guide to creating Windows applications The Microsoft Windows Application Style Guide Design guidelines for applications’ user interface The Microsoft Windows Programmer's Reference Describes functions, data types and structures, files, and assembly language macros used by Windows applications The Windows Software Development Kit is a collection of utilities, debugging aids, and sample source programs required to develop Windows applications. dows must be installed on the comput¬ er being used for developing applica¬ tions, and it is also needed to debug Windows applications. An executable version of Windows is created using the Microsoft Windows Setup program. Setup uses files from the Windows disks to make a version of Windows that is tailored to the specific hardware being used. Instructions for installing a debug¬ ging version of Windows are provided in the README file. The process de¬ scribed includes using the MKDEBUG batch file to copy debugging versions of KERNEL.EXE, USER.EXE, and GDI.EXE (all supplied with the toolkit) to copies of the Windows Setup and Build diskettes. These diskettes are then used to install a debugging version of Win¬ dows, which is needed for development purposes. When used with the symbolic debugger in the development toolkit, the debugging version provides com¬ prehensive application debugging sup¬ port using an external display. A stan¬ dard version is required only for use of Windows without debugging support. APPLICATION RESOURCES A Windows program is made up of source code and resources. Applications can be written in Microsoft C or Pascal, or assembly language. Resources such as icons, cursors, menus, and dialog box templates are created using the Icon and Dialog editors. The sample application THERME il¬ lustrates the Windows application devel¬ opment process. THERME uses an icon, pull-down menus, and a dialog box to create a drawing of a thermometer and output it to the screen or printer. The user can select Fahrenheit and Celsius/ Centigrade readings by selecting a “ra¬ dio” button and can specify the temper¬ ature using a scrollable list. Photo 1 shows the THERME display with the print option selected. To create new Windows programs, these steps must be taken: • Create cursors, icons, or brushes us¬ ing IconEdit, the icon editor. • Create a resource script file contain¬ ing descriptions of menus or dialog boxes to be used by the application using a text editor and Dialog, the dialog editor. • Use the Windows resource compiler (RC) to compile application resources and then to copy those resources to the executable file. • Use a text editor to generate the ap¬ plication’s C, Pascal, or assembly lan¬ guage source files. • Use the appropriate Microsoft com¬ piler to compile the application’s source files. • Use a text editor to create a module definition file. • Use the linker (Link4) to link the compiled application source files with the Windows libraries and the module definition file. Windows applications typically use a number of resources, such as icons, cursors, fonts, menus, and dialog box templates. These resources must be created, then defined in a resource script file. The resource script file con¬ sists of one or more resource state¬ ments that identify the resource name and type. The resource script file used by the THERME sample application is shown in listing 2 (THERME.RC). The ICON key word is followed by the name of the file that contains the icon. The file THERME.ICO was gener¬ ated using die Icon Editor program (IconEdit), a Windows application used to create customized icons, cursors, and bit maps for the applications. IconEdit lets the user create and edit a large- scale image of an icon, cursor, or bit map while simultaneously viewing it at normal size. A mouse or similar point¬ ing device is required for use with IconEdit. The IconEdit display of the THERME.ICO icon shown in photo 2. The DIALOG statements and their associated CONTROL statements define the dialog boxes used in THERME. Dia¬ log boxes can be designed in the dis¬ play screen using the dialog editor. Because Dialog does not create the other components of a resource file, a FEBRUARY 1987 77 EGA Monitor TTL Monochrome Monitor RGB, Composite Monitors, and Compaq PC Portable 2 and the IBM Portable PC EGA Software Hercules Software CGA Software 132 Column Software EGA Software Hercules Software CGA Software 132 Column Software EGA Software Hercules Software CGA Software Column Software EGA Wonder runs EGA, CGA, MDA, Hercules and 132 Columns on an Enhanced Graphics Display. CGA text is improved to 8 x 14 and graphics are double scanned for a high quality display. Features ATI EGA Wonder Paradise Auto Switch Quadram and Video 7 Compatible to EGA, CGA, MDA, Hercules IX ✓ ✓ 256K Video Memory IX Automatic Switching Between EGA and CGA Color Modes and Among EGA, MDA, and Hercules Modes * \S Runs EGA, CGA, MDA, Hercules and 132 Columns on an EGA Monitor IX Runs EGA, CGA, MDA, Hercules and 132 Columns on an RGB Color Monitor IX Runs EGA, CGA, MDA, Hercules and 132 Columns on a TTL Monochrome Monitor IX Runs EGA, CGA, MDA, Hercules and 132 Columns on a Composite Monitor IX Runs EGA. CGA, MDA, Hercules and 132 Columns on an IBM Portable P.C. ✓ Warranty 2 Yrs 1 Yr 1 Yr Suggested List Price $399 $595 $599 EGA Wonder runs EGA, CGA, MDA, Hercules and 132 Columns on a TTL Monochrome Monitor and Compaq PC Portable 2 . Colors of EGA and CGA are converted into shades, graphics are full screen and no pre-boot drivers are required. ‘Trademarks: Paradise Auto Switch - Paradise Systems Inc; Quad EGA+ is a trade¬ mark of Quadram Corp.; Video-7 - Video-7, Incorporated; IBM PC Portable - IBM - International Business Machines. Compaq — Compaq. Inc
  43. "Any Software, Any Monitor, Any Time" applies to IBM graphics, standards, monitors, software.
  44. Optional Compaq Expansion Module (no 132 Columns) suggested list price $99.
  45. Flickering effect of interlacing reduced with purchase of anti glare screen filter. EGA Wonder also runs EGA, CGA, MDA, Hercules and 132 Columns on an RGB Monitor, Composite Monitor, and the IBM Portable PC in 64 colors (shades). EGA and Hercules software are inter¬ laced for high resolution text and graphics . 3 Composite monitor and PC Portable display not shown. Upgrade to EGA Without An EGA Monitor The ATI EGA Wonder goes far beyond software compatibility. It is the result of intensive development by one of the most revolutionary technology companies today — ATI Technologies Inc. The ATI EGA Wonder is not just better technology. It is the solution for upgrading to EGA without an EGA monitor. Only the ATI EGA Wonder displays EGA, CGA, MDA, Hercules and 132 column software on an Enhanced Graphics Monitor, an RGB Color/Graphics Monitor, a TTL Monochrome Monitor, a Composite Monitor, or the internal monitor of the PC Portable. Only the ATI EGA Wonder provides upward compatibility to EGA and downward compatibility to CGA, MDA, and Hercules on your present monitor — EGA, RGB, TTL, Composite or PC Portable. At ATI we have developed a better graphics card for you. Call us today at ( 416 ) 477-8804 for more information. 450 Esna Park Dr. Markham, Ontario Canada-DR 1H5 TLX. 06-966640 CIRCLE NO. 206 ON READER SERVICE CARD Technology you can Trust WINDOWS PHOTO 1: Therme Windows Application Therme is a C application that accepts keyboard input using a dialog box, then displays and prints a thermometer. The Icon Editor is used to create customized icons, cursors, and bit maps. A mouse or similar device is required. PHOTO 4: Font Editor Font Editor - flTRHIIII.FHT The Dialog Editor allows dialog boxes to be designed on the display screen and saved in a resource script file. The Font Editor permits the creation of font files for use with applications. A mouse or similar device is required. .RC (resource script) file defining the other components (icons, menus, bit maps) must be created and complied using RC before Dialog is used). Dialog is then used to add dialog boxes to the compiled resource (.RES) file. The dialog box that is used in the example resource script file (shown in listing 2) was coded by hand; however, it can be examined and modified using Dialog (see photo 3). The development kit includes the Font Editor, and although it is not used in the THERME sample application, it is a useful tool that allows the creation of custom font files for use with Windows applications. A font file consists of bit maps of characters used for text display. Font files must be added to a font re¬ source file for them to be used with ap¬ plications. A mouse or similar device is required to use this editor. Photo 4 shows a sample Font Editor display. RC also is used to copy the com¬ piled resources to the application’s ex¬ ecutable file created by linking the ap¬ plication’s object modules together with the appropriate Windows libraries. The copy step may be performed at the same time as resource compilation (if the executable file is available), or it may be performed as a separate step. Shaker and Heapwalker are two utilities provided with the toolkit to aid in application testing. Shaker randomly allocates and frees blocks of global memory to force Windows to move the data and code segments of sample ap¬ plications. Heapwalker displays informa¬ tion about the size and location of ob¬ jects in system memory, thus permitting the global heap to be examined. The Icon Editor, Font Editor, Dia¬ log Editor, Shaker and Heapwalker are all Windows applications, and are started, used, and closed as such. Each of the three languages in which applications can be developed using Windows has its own require¬ ments. Windows C applications are C programs that use Windows functions, data types, and programming conven¬ tions. Listing 3 (THERME.C) is the source code for the sample C applica¬ tion. Programs are compiled using the Microsoft C 4.0 Cl command. Recom¬ mended options to use when compiling a Windows program are listed in table
  46. The WINDOWS.H file must be in¬ cluded in all C programs. Definitions for all Windows functions, data types, and constants are in WINDOWS.H. The include file, THERME.H (listing 4), de¬ clares various data and routines that are used by the main unit. The starting point for a program is the WinMain function, which handles the creation of windows and reads and dispatches input for the program. FEBRUARY 1987 79 WINDOWS As with C, Pascal Windows applica¬ tions are Pascal programs that use Win¬ dows functions, data types, and pro¬ gramming conventions. Version 33 or later of the Microsoft Pascal compiler must be used to compile applications written in this language. In addition, all Pascal Windows applications must in¬ clude the Windows interface in their source files; this interface contains the definitions for the Windows functions, data types, and constants. It is included by using the statement, INTERFACE, and the hie, WINDOWS.INC. (Each application should have its own .INC hie that lists the specihc Win¬ dows functions, data types, and con¬ stants it uses. In addition, each Pascal application must be compiled with the ^WINDOWS metacommand.) Pascal programs must be dehned as Pascal modules, not programs. A pro¬ gram module can contain any number of Pascal procedures or function defini¬ tions, but at least one, the WinMain function, is required for all Pascal appli¬ cations. As in C programs, WinMain is the starting point of the application. It must be declared along with the PUBLIC and WINDOWS attributes. MUZZLE, a sample application written in Pascal, is provided with the Windows’ development kit. A patch provided with the toolkit must be applied to the de¬ bugging version of KERNEL.EXE (also provided with the kit) to allow the sup¬ port of Pascal applications. Windows applications in assembly language use high-level language calling conventions, Windows functions, data types, and programming conventions. Microsoft MASM 4.0 must be used to assemble these Windows programs. Assembly language applications must provide functions that use the same calling and segment conventions as C or Pascal applications. The hie CMACROS.INC, included with the devel¬ opment kit, ensures use of these con¬ ventions. It dehnes a set of high-level language macros that can be used in an assembly language source hie. Executable Windows programs are created by linking compiled source hies using the Link4 program supplied with the kit. Link4 uses the object modules, a list of Windows and other libraries, and a .DEF hie to create an executable hie that can load and run under Windows. This .DEF hie is a text hie containing in¬ formation about a Windows application: the name, size, format, functions, and segments. Every application must have a .DEF hie created before linking. The .DEF hie for an application must contain a NAME statement de- TABLE 2: Microsoft C 4.0 Compiler Options OPTION EXPLANATION -c Directs Cl command to create object,hie only. Without this option, Cl attempts to create a non-Windows executable hie. -AM Directs compiler to create far code pointers, near data pointers, and separate data and stack segments. -Gsw Directs compiler to remove stack probes from compiled code, and add Windows prolog and epilog code to all functions in source hie. -Oas Directs compiler to relax alias checking and optimize the compiled code for code size. -Zpe Directs compiler to pack bytes in structures. All structures in windows are packed, so this option must always be used to ensure compatibility with Windows. Enables special keywords, such as pascal, far, and near. Windows application source files are compiled using the Cl command. Line num¬ ber information may be included in the object file by adding the -Zd option. hning the application’s module name. Windows uses this name to identify the application. Most .DEF hies also contain DATA and CODE statements that further dehne aspects of the application. (The THERME.DEF hie is shown in listing 1.). The compiled object modules can be linked with the Windows library and the .DEF hie with Link4. The Link4 com¬ mand has the form Link4[ options] object-files,[ exe-file ],[ map-file ], [ lib-files ],def-file where options is one or more key words that direct Link4 to carry out spe¬ cial operations, object-files are the hie names of compiled application source hies, exe-file is the name given the ex¬ ecutable hie, map-file is the name of the map hie, lib-files are the names of Windows or standard language libraries, and def-file is the hie name of the .DEF hie. The commas shown in this com¬ mand are required to be there. If an application has more than one object module, all must be named in order to link. This means that more than one object-file can be specihed if necessary. Multiple hie names must be separated by spaces or the plus sign ( + ). Only one .DEF hie is allowed. To link the application object hie THERME.OBJ to the module dehnition hie THERME.DEF and the standard Win¬ dows library MLIBW.LIB, the following should be used: link4 therme,therme.exe,therme/map, mlibw,therme.def This statement creates the execution hie THERME.EXE, which is ready to have resources copied to it using the re¬ source compiler. It also creates the mapping hie THERME.MAP, which is used for symbolic debugging. PROGRAM MAINTENANCE The Windows Software Development kit contains Make, a program maintenance utility. This utility is also included with Microsoft C 4.0. Make automates the process of maintaining assembly and high-level language programs. It auto¬ matically carries out all tasks needed to update a program after one or more of its source hies has changed. Make com¬ pares the last modihcation date of a hie or hies that may need updating with the modihcation date of hies on which these target hies depend, and then car¬ ries out a given task only if a target hie is out of date. In order to use Make, a text editor hrst creates a description hie that lists the steps to be performed and specihes the hies upon which these steps will depend. Make then reads the description hie and performs the requested steps. A Make description hie consists of one or more target-dependent descrip¬ tions. Each description is expressed in the following form: targetfile : dependentfiles command 1 [command2] In this statement, targetfile is the name of any hie that may need updating, dependentfile is the name of the hie on which the target hie depends, and the commands are the names of executable hies or DOS internal commands. Listing 3 shows the Make hie used to compile and link THERME. This example dehnes the steps for creating three target hies, each of which has at least one dependent hie and one command. The target descriptions are given in the order in which the target hies will be created. Thus, the hies THERME.OBJ and THERME.RES are ex¬ amined and created, if necessary, before 80 PC TECH JOURNAL THERME.EXE. The window created when THERME.EXE is executed using Windows is shown in photo 1. WINDOWS DEBUGGING Microsoft includes a symbolic debugger (SYMDEB) with the Windows Software Development Kit; it is currendy the only debugger available for Windows. The CodeView debugger included with Microsoft C version 4.0 does not sup¬ port Windows software development. Because Windows takes complete control of the system console, SYMDEB I/O takes place on a separate debugging terminal. The debugging terminal can be an additional monochrome monitor or any ASCII-compatible remote termi¬ nal that can be connected to the serial port. When using an additional mono¬ chrome monitor, SYMDEB can receive keyboard input before and after the ap¬ plication runs or when it encounters a breakpoint. Using SYMDEB to debug an application involves the following: • Prepare the symbol files for an application. • Set up the debugging terminal. • Start SYMDEB and load Windows along with the symbol files for the application, the Windows USER and GDI libraries, and any other Windows libraries used by the application. • Interpret SYMDEB allocation messages. • Display the application’s machine and source code. • Set breakpoints and interpret backtraces. • Terminate the application and quit SYMDEB. Symbol files for symbolic debug¬ ging are created using mapsym, which converts .MAP files into .SYM files that can be used by SYMDEB. The /map op¬ tion is used when linking to create a .MAP file for input to mapsym. Line number information can be added to .MAP by adding the /linenumbers op¬ tion when linking, along with the ap¬ propriate compiler option to add line numbers to the object file (-Zd for C and /l for Pascal). The Windows USER and GDI symbol files, USERSYM and GDI.SYM, are part of the Kit. The same methods used to create application symbol files can be used to create symbol files for other Windows libraries. A symbol file for the applica¬ tion is required while symbol files for other Windows libraries are optional but recommended to help trace calls made to routines not in the application or to trace window messages. SYMDEB options include direction of debugging output to a secondary monochrome monitor, control of the reporting level of memory-allocation messages, loading of SYMDEB macro definitions from a file, and the auto¬ matic execution of commands on start¬ up. SYMDEB provides more than 50 de¬ bugging commands to allow the user to enable and disable breakpoints, trace and examine object and source code, assemble and disassemble instructions, and examine and change data. SYMDEB I/O can be redirected and commands can be passed to COMMAND.COM. A BRIDGE TO THE FUTURE Microsoft was thinking of the future when it developed Windows. It is writ¬ ten in C to make it easily adaptable to various environments. The list of origi¬ nal equipment manufacturers (OEMs) that already have adapted Windows to non-IBM compatible environments in¬ cludes AT&T, Hewlett-Packard, Digital Equipment Corporation, and Apricot. Considering that a large portion of Microsoft revenue comes from the sale of systems software to OEMs, compati¬ bility with new hardware from OEMs is a rather important issue. Many of Microsoft’s objectives are universal. All software vendors design products to be compatible with as wide M/croso// is in a position to address the problems of both software and hardware compatibility, and Windows is its dynamic response. a range of hardware as possible. Ven¬ dors want to avoid major rewrites of applications whenever changes to the hardware base occur. Only a few soft¬ ware vendors develop device drivers for a profit; most would prefer never to write another. Microsoft is in a position to ad¬ dress the problems of software and hardware compatibility, and Windows is its dynamic response. Not static, Win¬ dows has been updated twice since its release, and rumors concerning new versions of Windows are rife in the in¬ dustry. Although Windows has some problems, it has many strong points. It provides a standard graphic user inter¬ face, memory management, device inde¬ pendence, a well-defined interface for communications between applications, and the promise of compatibility with future hardware and software. Windows is an adjunct to DOS that provides many useful services that DOS does not. Not surprisingly, the cost for these services is performance. Because of the huge overhead that Windows im¬ poses, an 80286-based microcomputer is required for applications to perform with acceptable response times. In addi¬ tion, applications cannot effectively share the screen and processor unless they are developed specifically to run with Windows. Developing applications to Windows specifications (as opposed to normal DOS specifications) is more time consuming, the development pro¬ cess itself is much more complex, and the program takes considerable time to learn (as explained in this month’s Di¬ rections column, “Far Afield with Win¬ dows,” Will Fastie, p. 9). The up side of all of this is that Windows acts as an insulating layer be¬ tween applications and DOS. Therefore, as new versions of DOS are released, Windows applications should be able to run without change. When a version of Windows becomes available to exploit the capabilities of 80386 machines, users of Windows and Windows applica¬ tions should benefit immediately. Appli¬ cations and Windows will run faster be¬ cause the 80386 is faster. More to the point, Windows will run at speeds that PC users demand, and the improved architectural features offered by the 80386 machines will allow applications (both Windows-specific and not) to exe¬ cute in harmony with (and protected from) each other. Windows provides a usable, flex¬ ible environment for application devel¬ opment. It provides workable multitask¬ ing and memory management features now, and the promise of future en¬ hanced versions that will continue to support current Windows applications. Windows represents a real opportunity for software developers. Windows: $99 Application Development Kit: $500 Microsoft C Compiler: $450 Microsoft Pascal Compiler: $300 Microsoft MASM: $150 Microsoft Corporation 16011 Northeast 36th Way P.O.Box 97017 Redmond, WA 98073-9717 800/426-9400; 206/882-8080 CIRCLE 357 ON READER SERVICE CARD Paul Grayson is president of Micrografx, Inc., developers of the drawing programs In*A*Vision and Windows Draw. FEBRUARY 1987 81 WE JUST GOT MORE SOPMSTKATED SO TOUCAN GET MORE BASIC. W 'e invented BASIC over 20 years ago. Later, we re-invented it for micros as the True BASIC™ structured-programming language. And the idea was: To make program¬ ming as easy and natural as possible. So you could concentrate on what to program. Not how. Now there's True BASIC Version 2.0 for the IBM® PC and compatibles. Faster, more powerful and sophisticated than the original. MORE GRAPHICS. Right from the start, True Basic gave you terrific device-independent graphics. Built-in 2-D transforms. And support for multiple windows. Now we've added more graphics and full mouse support. So for the first time, you can create one program that will do superb graphics on CGA, EGA or Hercules displays. With¬ out worrying about additional drivers or overlays. And on the EGA, you can SET COLOR MIX to define your own colors. Use four shades of blue if you want (and make our competitors green with envy). MORE CONTROL We always supported you with recursion, local and global variables and separately compiled libraries. Now you can have modules, too, the industrial-strength tool for building large applications. Using modules makes it easier for you to share data between routines. Build data structures. Then, if you want, hide them from other parts of the program. So you can always be free to focus on the task at-hand. Modules have their own initialization sections, so you can set up global vari¬ ables or turn on instrumentation. And, like other procedures in True BASIC, modules can be compiled sepa¬ rately and stored in a library where they can be shared by several applications. Or they can be loaded directly into the True BASIC environment as part of your customized workspace. So when you use True BASIC interactively, the mod¬ ules look like built-in functions. Modules made Modula-2 the successor to Pascal. Now they've put True BASIC one-up on all other BASICs. MORE SPEED. 2.0 is 20 to 200 percent faster than True BASIC Version 1.0. Both compile times and execution speeds. And on some real-world benchmarks, we're faster than many native-code compilers. MORE POWER. Start with a complete matrix algebra package. Then, since we support the use of 640K for both code and data, add arrays as large as you want. Our compiled code is more compact than what other compilers generate, so there's more memory left for your application. We've enhanced our dynamic array redimensioning and improved our built- in 8087/80287 support, making True BASIC the most powerful number¬ crunching BASIC around. And if it's strings you crunch, we've added new string functions and raised the limit. So strings can be up to 64K characters long. MORE DEBUGGING. We pioneered breakpoints and immedi¬ ate-mode capability in a compiled BASIC environment. Now we've added utilities that allow you to visually TRACE through your program, and check the values of selected variables. Or print a cross- referenced listing. And new compiler options like NO LET and NO TYPO let you decide how strictly you want your variable names checked. MORE INNOVATION. True BASIC has always had features like full-screen, scrollable editing. Block copy and block moves. And global search and replace. Now, 2.0 keeps you on the leading edge of editing and hie-management technol¬ ogy. With SCRIPT, to write the True BASIC equivalent of a DOS batch hie. ECHO, to transfer your output to disk or printer. And ALIAS, to give you and your programs a better roadmap to your subdirectories. There's also Version 2.0 of the Devel¬ oper's Toolkit. With support for DOS interrupts. Pop-up menus. Even designer fonts. And remember: your programs are por¬ table to the other machines we support: the Apple Macintosh™ and Commodore Amiga® MORE SUPPORT. Call your local dealer. Call us TOLL- FREE at 1-800-TR-BASIC. Or write to: True BASIC, Inc., 39 South Main Street, Hanover, NH 03755. We'll send you more information. Including a free demo disk. See for yourself. That we're still true to our basic idea. True BASIC Language System is a trademark of True Basic, Inc. Macintosh is a trademark licensed to Apple Computer Inc. Amiga is a registered trademark of Commodore-Amiga, Inc. IBM is a registered trademark of International Business Machines. CIRCLE NO. 198 ON READER SERVICE CARD WINDOWS LISTING 1: THERME.DEF LISTING 3: THERME.C NAME Therme / (c) Copyright 1986 MICROGRAFX, Inc.,

    1820 N. Greenville Ave., Richardson, Tx. 75081. DESCRIPTION 'Simple Microsoft Windows Application'

    *
    THERME.C STUB 'WINSTUB.EXE' A*:. This Module defines the all routines that control the application. CODE MOVEABLE Wien the application is loaded, Windows calls the WinMain procedure. DATA MOVEABLE MULTIPLE WinMain initializes key variables used by the various functions in the application and creates a window for it via the initialization HEAPSIZE 4096 function. It then waits for input values, passing them to the window STACKS!ZE 4096 procedure each time an event occurs. */ SEGMENTS ,

include

_TEXT PRELOAD MOVEABLE DISCARDABLE

include "therme.h"

include "stdlib.h"

EXPORTS

include "string.h"

AppWndProc 31 about_dialog 32 / History / J print_dialog S3 / 11/24/86 (PML) • signoff / set_temp_dialog 34 / constants * */

define LOCAL

define APP CLASS "Therme" / Window Class Name /

LISTING 2: THERME.RC

define H1GHTEMP 100 / Highest Displayable Temp /

define L0WTEMP -20 / Lowest Displayable Temp /

^include

define IC0N_NAME "Classlcon" / Resource Icon ID String /

include "therme.h"

define IDABOUT 005 / ID for About... /

define MENUNAME "MainMenu" / Resource Menu ID String /

ClassIcon ICON Therme.Ico

define VIEWP0RT_0RGX 0 / Viewport Origin X Coord /

^define VIEWPORT^ORGY 0 / Viewport Origin Y Coord / MainMenu MENU ^define WINDCWJXTX , 1000 / Window Extent X Coord /

define WINDOW_EXTY 1000 / Window Extent Y Coord /

BEGIN

define WINDOW_ORGX 0 / Window Origin X Coord /

POPUP "File"

define WINDOW_ORGY 0 / Window Origin Y Coord /

BEGIN

define WNDJJAME "Therme" / Window Name /

MENUITEM "Print", PRINT . . ' 7 = END /* ************************** L 0ca l Data ************************** */ BOOL bCurrentTempMode = TRUE, /* TRUE for Farenheit */ POPUP "Change" bOldTempMode = TRUE; /* Previous Temp Mode */ BEGIN char ProStringBuffer [80]; /* Profile String Buffer */ MENUITEM "Set Temperature", SET_TEMPERATURE HANDLE hModule, /* Instance Handle */ END hWindow; /* Window Handle */ END int GraprfiicTemp = 0 # /* Graphic Temp Setting */ Degreelnc =1, /* Temperature Increment */ AboutDlg DIALOG 22,17,124,96 OldTemp, /* Previous Temp Setting */ STYLE US_POPUP | WS_DLGFRAME | WS_VISIBLE MathTemp; /* Math Temp. Conversion */ BEGIN PA!NTSTRUCT Paint;. /* Window Paint Structure */ CONTROL "Sample Windows Application",0,static,SS_LEFT,20,0,104,8 RECT ClientRect; /* Client Area Rect. V ICON "Classlcon",0,0,0,0,0 WORD ViewportWidth, /* Viewport X Extent */ CONTROL "Micrografx, Inc.",0,static,SSJ.EFT,20,16,104,8 ViewportHeight, /* Viewport Y Extent */ CONTROL "1820 N. Greenville Ave.",0,static,SS_LEFT,20,24,104,8 ViewportOriginX = 0, /* Viewport X Extent */ CONTROL "Richardson TX 75081",0,static,SSJ.EFT,20,32,104,8 CONTROL "Author: Patrick Leary",0,static,SS_LEFT,20,48,104,8 ViewportOriginY = 0; /* Viewport Y Extent */ DEFPUSHBUTTON "Ok",IDOK,46,72,32,16 I* ************************ Local Routines ************************ */ END LOCAL BOOL NEAR PASCAL command

break; default: bHandled = FALSE;

return (bHandled);

LOCAL WORD NEAR PASCAL dialog_box (hWindow,IpOialog,IpCal iBack) / This function displays a given dialog box and returns the value ret'd by the dialog box call-back function. The function first creates a relocation-independent version of the call-back function, then calls DialogBox. If Windows indicates an insufficient memory condition exists, then the user is so informed. Additionally, since the drawing area always needs to be updated after a dialog box is removed, the client area of the window is invalidated so as to be completely redrawn. /

HWND hWindow; LPSTR IpOialog; FARPROC IpCalIBack; C BYTE Item; FARPROC IpProc = MakeProcInstance (IpCalIBack,hModule); int Result = DialogBox (hModule,IpOialog,hWindow,IpProc); if (Result == -1) C Item = MessageBox (hWindow, (LPSTR) "Not Enough Memory To Display Dialog Box", (LPSTR) NULL, MB_OK | MBJCONHAND);

FreeProcInstance (IpProc); InvalidateRect (hWindow,(LPRECT) &CIientRect,TRUE); return (Result); ) LOCAL HWND NEAR PASCAL init_app (hPrevious,hInstance,lpCmdLine,Show) / This function handles the initialization of the sample application. This includes registering the window class, creating the window, and loading the menus. The viewport coordinates of the client area of the window are also established in globally available variables / HANDLE hPrevious, hInstance; int Show; LPSTR IpCmdLine; < BOOL bRegistered; HWND hWindow; WNDCLASS Class; hModule = hInstance; Class.style = CS_OWNDC | CS_VREDRAW | CS_HREDRAW; Class.IpfnWndProc = AppWndProc; Class.cbClsExtra = NULL; Class.cbWndExtra = NULL; Class.hlnstance = hlnstance; Class.hCursor = LoadCursor(NULL,IDC_ARROW); Class.hlcon = LoadIcon(hInstance,(LPSTR) "Classlcon"); Class.hbrBackground = GetStockObject (WHITE_BRUSH); Class.IpszMenuName = (LPSTR) NULL; Class.IpszClassName = (LPSTR) APP_CLASS; bRegistered = RegisterClass((LPWNDCLASS) SClass); hWindow = CreateWindow ((LPSTR) APP_CLASS, (LPSTR) WND_NAME, WSJILEDWINDOW, 0 , 0 , 0 , 0 , (HWND) NULL, (HMENU) NULL, (HANDLE) hlnstance, (LPSTR) NULL); ShowWindow (hWindow,Show); GetClientRect (hWindow,(LPRECT) &CIientRect); ViewportWidth = ClientRect.right; ViewportHeight= ClientRect.bottom; show_menu (hlnstance,hWindow); return (hWindow); ■ LOCAL void NEAR PASCAL paint_window (hDC,ExtentX,ExtentY) / This function erases the window background and repaints the thermometer using the given device context. The variable GraphicTemp is used to visibly update the rectangle that represents the temperature. / HDC hDC; WORD C ExtentX, ExtentY; char Buffer[3]; int StartHashX = 460, StartHashY = 100, EndHashX = 485, EndHashY = 100, HashCount = 12, Hash Inc = 5, Degree = HIGHTEMP, StringLength; PSTR pOegreeString; SetMapMode (hDC,MM_ISOTROPIC); FEBRUARY 1987 85 Alsys launches PC AT-TO-370 ADA Cross-Compiler at November ADA Expo; 80286 Debugger also introduced. A new Alsys cross-compiler permitting Ada programs to be written on an IBM-PC AT and executed on an IBM 370 was introduced at the November Ada Expo in Charleston, W. VA. The cross- compiler, pre-validated to AJPO test suite 1.7, is priced at $2,995 and includes a 4 MB RAM board. Two compilers, the Alsys validated PC AT self-hosted compiler, and the AT-to-370 cross-compiler, are offered as an option at $4,995. One RAM board serves both compilers. The cross-compiler, and especially the two-compiler option, implements a “dis¬ tributed programming’ ’ environment for which the Ada language and its ‘ ‘package’ ’ concept is par¬ ticularly suited. The two- compiler option permits developers to program in Ada and test their results at their workstations before uploading 370 object code to the mainframe. Alsys also introduced its PC AT debugger called AdaPROBE at the Expo. AdaPROBE combines a unique Ada- VIEWER with regular debug facilities. ALSYS, INC., 1432 Main Street, Waltham, MA 02154 PCTJ 2/87 ADA NOW. Tell me more about the cross-compiler. Name/Title_ Company_ Address_ City/State/Zip_ Phone/Ext_ In the US: Alsys Inc.. 1432 Main St.. Waltham, MA 02154 Tel: (617) 890-0030 In the UK: Alsys Ltd.. Partridge House, Newtown Rd.. Henley-on-Thames. Oxon RG91EN Tel: 44 (491) 579090 In the rest of the world: Alsys SA, 29. Avenue de Versailles, 78170 La Celle St. Cloud, France Tel: 33 (1) 3918.12.44 ’Ada is a registered trademark of the U.S. Government (AJPO). Alsys is the trademark of Alsys, Inc. References to other computer systems use trademarks owned by the respective manufacturers. CIRCLE NO. 141 ON READER SERVICE CARD WINDOWS ,SetWindowOrg 5)),520,700); SelectObject (hDC,GetStockObject (WHITE_BRUSH)>; for (;HashCount>=1;
HashCount) € pDegreeString a itoa (Degree,Buffer,10); StringLength = strlen (pDegreeString); MoveTo (hDC,StartHashX,StartHashY); TextOut (hDC, (StartHashX*75),/ (StartHashY-15), pDegreeString, StringLength); LineTo (hDC,EndHashX,EndHashY); MoveTo (hDC,(EndHashX + 30),(EndHashY ♦ 25)); LineTo (hDC,(EndHashX + 55),(EndHashY + 25)); Degree = Degree - HashInc; pDegreeString = itoa (Degree,Buffer,10); StringLength = strlen (pDegreeString); TextOut (hDC, (EndHashX + 65), (EndHashY + 10), pDegreeString, StringLength); StartHashY = StartHashY + 50; EndHashY » EndHashY + 50; Degree Degree HashInc; LOCAL BOOL NEAR PASCAL showjnenu (hlnstance,hWindow) / This function loads and displays the available menu resources, , and adds the "About..." option to the system menu. /

HANDLE hInstance; HWND hWindow; ( BOOL bSetMenu; KMENU hMenuResource, hSysMenu; hMenuResource a LoadMenu (hInstance,(LPSTR) MENUNAME); bSetMenu = SetMenu (hWindow,hMenuResource); hSysMenu s GetSystenttenu(hUindow,0); ChangeMenu (hSysMenu,NULL,(LPSTR) NULL,NULL, MF^SEPARATOR J MF_APPEND); ChangeMenu (hSysMenu,IDAB0UT,(LPSTR) "About...»,IDABOUT, MF_APPEND); return (bSetMenu);

j
Exported Routines * / long FAR PASCAL AppWndProc (hWindow,Message,Word,Long) / This Routine handles all input to the application. Any input values that the routine chooses not to handle are passed to the default window procedure. / HWND hWindow; unsigned Message; WORD Word; long Long; ( BOOL bHandled = TRUE; long Result; if (Message =• WM_COMMAND 11 Message « WM_SYSCOMMAND)

bHandled = command (hWindow,Word); else if (Message « WM_PAINT) ( paint_window (BeginPaint (hWindow,(LPPAINTSTRUCT) &Paint), ViewportWidth, ViewportHeight); 'EndPaint (hWindow,(LPPAINTSTRUCT) &Paint);

else bHandled = FALSE; if (bHandled == TRUE) Result = (long) 0; else Result » OefWindowProc (hWindow,Message,Word,Long); return (Result);

BOOL FAR PASCAL abcut_dialog (hDialog,Message,Word,Long) HWND hDialog; unsigned Message; WORD Word; LONG Long; / This function is called by Windows to handle input to the About... dialog box. Since "OK" is the only option available to the user, only one message is processed, namely, WM_COMMAND. /

C BOOL Result = TRUE; if (Message == WM_COMMAND) EndDialog (hDialog,Result); else Result = FALSE; return (Result);

BOOL FAR PASCAL print_dialog (hDialog,Message,Word,Long) HWND hDialog; unsigned Message; WORD Word; LONG Long; / This function processes input to the modeless dialog box created when the user selects the "Print" command from the file menu. / C BOOL Result TRUE; if (Message == WM_COMMAND && Word == IDCANCEL) EncDialog (hDialog,Result); else Result FALSE;

return (Result);

BOOL FAR PASCAL set_temp_dialog (hDialog,Message,Word,Long) HWND hDialog; unsigned Message; WORD Word; LONG Long; /
This function is called by Windows to process input to the Set Temperature dialog box. It looks for input from the scroll bars and updates the associated control each time a WMVSCROLL message is received. As part of the dialog's initialization, the current temperature is remembered in case the user changes it and then cancels the dialog. This ensures that the correct temperature will be displayed. The GraphicTemp variable is used for visible updating of the Thermometer when MathTemp falls within displayable limits. /

< BOOL Result = TRUE; if (Message == WMJNITDIALOG) < SetDlgltemlnt (hDialog,SET_DEGS,MathTemp,1); OldTemp = MathTemp; bOldTempMode = bCurrentTempMode; if (bCurrentTempMode == TRUE) CheckRadioButton (hDialog,FARENHEIT,CELSIUS,FARENHEIT); else CheckRadioButton (hDialog,FARENHEIT,CELSIUS,CELSIUS);

else if (Message == WM_COMMAND) < switch (Word) case CELSIUS: CheckRadioButton (hDialog,FARENHEIT,CELSIUS,CELSIUS); if (bCurrentTempMode == TRUE) { FEBRUARY 1987 87 "When Teradyne's Financial Systems Group needed DEC terminal emulation software we chose VTERM Gregg Prescoff; Teradyne, Inc. VHRM/220 Over 35,000 VTERM users, like Teradyne’s Financial Sys¬ tems Group, recognize the importance of critically evalu¬ ating a DEC terminal emulator. Demanding professionals require high quality, reliable DEC terminal emulation. After painstaking evaluation, Teradyne’s Gregg Prescott JI.laJtJI.ljl.ljl. said, “With VTERM’s speed, ease of use, hot key P|f||ll||TQ| j (IT) 111 IVN jj)i and host control of file transfer, we can build systems w w around VTERM utilizing distributed PC applications.” Coefficient’s VT100 terminal emulator, introduced in 1981, was the first in the industry. Our thorough attention to detail at every stage of the design, develop¬ ment and testing process has won us more satisfied users than all our competi¬ tion combined. Now, a new more powerful VTERM supports VT220 terminal emulation. Powerful features include: • Plug compatible VT220 and VT100 video and keyboard emulation with customizable key mappings. • Optional Tektronix™ 4010/4014 graphics terminal emulation. • Powerful file transfer including the most thorough implementation of KERMIT available on the PC, plus XMODEM, and our proprietary protocol VTRANS with complete host-side software for VMSJ M RSTS/E™ RSX11 M/M+™ and UNIX™ • Host data capture and conversion to Lotus® 1-2-3® Symphony® and dBase® • 132-column display via horizontal scrolling or optional video board. • Scrollback buffer for redisplay of up to 2,000 lines (80 screens!). Quality makes all other DEC terminal CIRCLE NO. 212 ON READER SERVICE CARD Trademarks: DEC, VMS, RSTS/E, RSX11 M/M + , Digital Equipment Corp.; Tektronix, Tektronix, Inc.; Lotus. 1-2-3, • “Hot Key” toggle between host session and PC DOS. • Programmable softkeys with script-like capabilities. • Full support for multinational and national character sets. Call 212-777-6707 ext. 502, to get the best there is in DEC terminal emulation and communications software. Coefficient The Leader in DEC Emulation Software Coefficient Systems Corporation Symphony, Lotus Development Corp.; dBase, Ashton-Tate, UNIX, AT&T. Bell Laboratories. 611 Broadway, New York, N.Y. 10012 WINDOWS MathTemp
(5*(MathTemp - 3Z))/9; if (MathTemp > HIGHTEMP) GraphicTemp = HIGHTEMP; else if (MathTemp < LOWTEMP) GraphicTemp = LOWTEMP; else GraphicTemp = MathTemp; bCurrentTempMode = FALSE; SetDlgltemlnt (hDialog,SET_DEGS,MathTemp,1) break; break; case FARENHEIT: CheckRadioButton (hDialog,FARENHEIT,CELSIUS,FARENHEIT) if (bCurrentTempMode == FALSE) MathTemp = ((9*MathTemp)/5)+32; if (MathTemp > HIGHTEMP) GraphicTemp = HIGHTEMP; else if (MathTemp < LOWTEMP) GraphicTemp = LOWTEMP; else GraphicTemp « MathTemp; bCurrentTempMode = TRUE; SetDIgltemlnt (hDialog,SET_DEGS,MathTemp,1) break; case IDOK: EndDialog (hDialog,Word); break; case IDCANCEL: MathTemp = OldTemp; bCurrentTempMode = bOldTempMode; EndDialog (hDialog,Word); break; default: else if (Message == WM_VSCROLL) switch (Word) case SB_LINEUP: MathTemp = MathTemp + Degreelnc; break; case SBJ.INEDOWN: MathTemp MathTemp - Degreelnc; break; default: MathTemp = MathTemp + 0; if (MathTemp < LOWTEMP) GraphicTemp = LOWTEMP; SetDlgltemlnt (hDialog,SET_DEGS,MathTemp,1) else if (MathTemp > HIGHTEMP) GraphicTemp » HIGHTEMP; SetDlgItemlnt (hDialog,SET_DEGS,MathTemp,1) GraphicTemp » MathTemp; SetDlgltemlnt (hDialog,SET_DEGS,MathTemp,1), Result = FALSE; return (Result); int FAR PASCAL WinMain(hInstance,hPrevious/lpCmdLine.Show) / This routine is called whenever a new instance of the application is created. First, init_app is called so that all necessary initialization can take place. Then a loop is created that waits for input to the application and dispatches the input values to the application's window procedure. / HANDLE hInstance, hPrevious; LPSTR IpCmdLine; int Show; HWND hWindow; hWindow = init_app (hPrevious,hlnstance,IpCmdLine,Show), if (hWindow != NULL) MSG Message; while (GetMessage ((LPMSG) &Message,NULL,0,0)) TranslateMessage ((LPMSG) &Message); DispatchMessage ((LPMSG) ^Message); return (0), LISTING 4: THERME.H / (c) Copyright 1985 MICROGRAFX, Inc., 1820 N. Greenville Ave., Richardson, Tx. 75081 THERME.H This file declares data and routines exported by THERME.C

define CELSIUS 04

^define FARENHEIT 03

define LINT_ARGS

define PRINT 100

define SCROLL_DEGS 02

define SET_DEGS 01

^define SET_TEMPERATURE 300 extern BOOL FAR PASCAL about_dialog (HWND,unsigned,WORD,long); extern long FAR PASCAL AppWndProc (HWND,unsigned,WORD,long); extern BOOL FAR PASCAL print_dialog (HWND,unsigned,WORD,long); extern BOOL FAR PASCAL set_temp_dialog (HWND,unsigned,WORD,long) extern int FAR PASCAL WinMain (HANDLE,HANDLE,LPSTR,int); LISTING 5: THERME therme.obj: therme.c \ therme.h cl -c *AM -Gsw *Oas *Zpe therme.c therme.res: therme.rc \ therme.h \ therme.ico rc -r therme.rc therme.exe: therme.def \ therme.obj \ therme.res link4 therme,therme.exe,therme/map,mlibw,therme.def mapsym therme rc therme.res FEBRUARY 1987 PC BRAND NOW PFEATURES PFANTASTIC T oday's professional programmer demands high performance tools that speed up and enhance the application development process. That 's why more programmers rely on one company fdr the best engineered, highest performance tools available- Pheomx. P hoenix offers a full line of powerful, yet easy-to-use, tools that help programmers more efficiently write, test and deliver the best applications possible. Complete, fully detailed documentation accompanying each tool enables quick mastery of the product. In addition, all Phoenix tools are backed by full-time customer support professionals respected throughout the indus¬ try for their commitment and expertise. As a result, many Phoenix tools are already established as industry standards and others are fast on their way. Pmaker™ S imilar to the Unix MAKE utility, Pmaker keeps track of which modules in a program are changed, and recompiles, reassembles, and relinks those modules to produce a finished product—all with a single com¬ mand. An essential tool for managing large, complicated, or distributed pro¬ gramming projects, Pmaker is easier to use than similar products, which re¬ quire you to create lists of all your input files. Pmaker includes a utility that auto¬ matically creates and edits such lists based on answers to a few simple questions. Pmaker works with any com¬ piled language, linker, or other tool you use. List: *125 PC Brand: *105 Pfix™ 86 plus Plink™ 86 plus P hnk86 plus is the only linkage editor containing advanced overlay capa¬ bilities. It handles any compiler or assembler producing standard Intel or Microsoft OBJ files, including COBOL and FORTRAN, Lattice C. Cl C-86, Microsoft/IBM languages, and mbp/COBOL. Virtual memory manage ment ensures ample capacity for sym¬ bol and common block names (35,000). Plink86 plus supports an unlimited size file, an unlimited number of modules and up to 4,095 overlays nested up to 32 deep. Merges object modules, caches overlays in extended or ex¬ panded memory, and automatically reloads overlays upon function return. Includes Plib86 object library manager List: *495 PC Brand: *359 Plib™ 86 P lib86 is an object module librarian for Microsoft and Intel format object modules and libraries. With Plib86, you can add. delete or extract modules to or from libraries, and explode a library to its component modules with one command. Plib86 also produces program cross-reference listings in various formats to a disk file, screen or printer. Originally listed at $195. Plib86 is now included with Plink86 plus. Ptel A Pfantastic communications program for use with most popular modems such as Hayes and compatibles, DEC, Racal Vadic, Anchor, US Robotics and Novation. Ptel automatically adapts to Tfelink. XModem. Kermit or Modem 7 for CRC checking and for ufn and afn (i.e. "wildcard") file name list transfers, if the bulletin board or the other end computer supports them. With Tslink, you'll even get a forecast of file trans¬ mission time, always useful in controll¬ ing telephone expenses. In addition to saving received files, Ptel can create and save a transcript of the session commands and messages. Highly configurable, with choices temporary or saved as altered defaults. Unique telephone directory of bulletin boards and other services, allowing access by service name. Ptel runs fully interactive or can be batch driven from a script. You can even exit to DOS move files around or run another appli¬ cation and then return to Ptel. all with¬ out dropping the line. List: *195 PC Brand: *149 Pasm™ 86 P asm86 provides both quick assem¬ bly and superior syntax checking, plus a wealth of other features and utilities to maximize programming pro¬ ductivity. It is a fully MASM-compatible 8086 macro assembler that supports 8087, 80286 and 80287 operating code mnemonics. Features include ability to: define local symbols in the current pro¬ cedure. assemble files with up to 15,000 symbols, define symbols at assembly time, obtain listings of error lines only, with warning messages on questionable statements. Pasm's comprehensive documentation includes detailed descriptions and examples of each pro¬ cessor instruction. Now includes Pfix- Lite, a subset of Pfix86 plus. List: *195 PC Brand: *144 Pmate™ A full screen, single keystroke, fully customizable text processor/ editor with advanced features includ¬ ing: ability to run in the background, C and FORTRAN specific macros, auto¬ matic disk buffering, ten individual auxiliary buffers, menu, mouse, or command driven with extensive macro command language, and horizontal scrolling. Pmate offers automatic word wrap, text formatting, global or local setting of margins, tab stops, indents, and a unique last-in, first-out "garbage stack" that saves deleted items for recovery. List: $195 PC Brand: *149 Pre-C™ N ow twice as fast! Similar to the Unix LINT for C, but with additional functionality. It crosschecks multiple source files and libraries at once, reporting incorrect, obsolete, and non¬ portable C usages that no compiler would catch. Pre-C immediately uncov¬ ers errors in interfaces between pro¬ gram modules which are very difficult to find using only a debugger. Pre-C accepts full UNIX System III C syntax, a subset of which is implemented by most MS-DOS C compilers, as well as ANSI proposed extensions. External libraries can be used with or without source code. Pre-C libraries for the latest releases of the Mark Williams, Lattice, Cl, Microsoft, Wizard, and Aztec "C" compilers are included, and others can be added by supplying Pre- C with function names and arguments. All memory models are supported. List: *295 PC Brand *208 Pfinish™ P finish helps to "fine-tune" a soft¬ ware product by identifying ineffi¬ cient or unnecessary sections of code that need to be rewritten for maximum performance. It analyzes your program during execution, producing reports and histograms that give a snapshot of which routines were reached, their callers, how many times each is executed, how much time is spent in each, how many instructions are executed in each, and more. Histo¬ grams and tabular reports, sorted by address or symbol, may be written in any page width or height, to a file, the console, or the printer. Pfinish, unlike other "profilers", can use symbol table information to produce much more meaningful analyses on overlays and interrupts. List: *395 PC Brand: *279 Pdisk™ P disk is a complete disk manage¬ ment package that includes ad¬ vanced Backup/Restore. Tree Manage¬ ment and Disk Cache utilites. Menu, command line or file-driven. Many options permit backup/restore mclu- sions/exclusions, whole and partial sub¬ directories, backups by date/time, file type, and backups of all files or files changed since last backup. It can also maintain a log of backups. Supports AT high-density floppies, PC floppies, and any storage device accessible through a device driver. Tree-oriented Direc¬ tory, Delete, Copy, Compare, and Remove-Directory simplify manage¬ ment of complicated subdirectory struc¬ tures. CACHE significantly speeds up disk operation on PC/XT/AT by keep¬ ing data in memory instead of disk. In addition. CACHE is compatible with the Lotus-Intel-Microsoft (LIM) expanded memory specification, as well as ex¬ tended memory. List; *195 PC Brand: *148 P ix86p7us is an easy to use, menu driven, multi-windowed symbolic debugger that works with any IBM or Microsoft compiled language. Pfix86p7us accesses the full symbol table provided by MS Link or Plink86p7us, and automatically handles Plink86p7us-overlaid or resident pro¬ grams. Source code, assembly lan¬ guage translations, stack, data areas, and breakpoints are displayed simul¬ taneously. Features include: In-line assembler for temporary patches, temporary and permanent breakpoint settings, full speed or trace modes, user-assignable variables, dual-monitor support, up to 100-step traceback, debug log to disk or printer, synchron¬ ized source file display, breakpoints in source code, disassembly to disk, con¬ figurable menus, multiple code and data windows, and keystroke macros. List: *395 PC Brand: *279 PforCe™ P forCe is a pre-coded optimized object-oriented toolkit of over 400 routines for C programmers. It includes data bases with B-trees, windows, interrupt-driven communications, string handling, menus, all of the basic DOS interfaces, and a complete set of low- level functions to interface directly to the hardware. PforCe comes complete with indexed reference manual, on line resident help, and quick reference card. It supports all memory models of the following C compilers: Lattice, T'lztec, Microsoft, CI-86, and Wizard. PforCe includes full source code and there are no royalties on generated ap¬ plications using the libraries. A demonstration diskette is also available. List: *395 PC Brand. *289 Pfantasy Pac A super value pac of Phoenix good¬ ies. Includes Pfix86p7us, Pmate, Ptel, Plink86p7us, Pmaker and Pfinish. List: $1295 PC Brand: $895 For Orders, Literature, or Catalogs, Call Us at... 800 PC-BRAND That’s (800) 722-7263. In NY State call (212) 242-3600 PC Brand, 150 5th Ave„ New York, N. Y. 10011-4311 Ttelex: 667962 (SOFT COMM NYK) © 1986 PC BRAND Prices, terms, and specifications subject to change without notice. aoiiou jnonijM a6uego 01 pafqns suoiieoijpads pue 'suujaj 'saoud aNVdeOd 9861® (SAN IMWOO JJOS) 296 Z 99 :xai 9 J, Iiefr-IIOOI A'N ‘^OA "SAY ms OST 'pueig og 0092-2^2 (212) Iieo ejeis AN «I 292Z-22Z, (008) s.ieqj, aNvua-Od 008 ■ ■ -)B Sfl IJBJ 'S30[B}BQ JO 'dJnjBJOJiq 'SJdpjQ IOJ “SS*** as *£&Jios ^ «gSf. 622 $ s n S6Z* :jsig landmoo $ OOfrOS :Ajpads uisqj pajlopB ©osds U00ios ©qj usqi i©6iei ji pspoios pus p0uq-iqnuj ©q Asm spjsij isq p0jq6qq6iq e Buiiosino Aq ©sooqo 0} qoiqM uioij sjsq ©oioqo-©idiJinui :p©dA) si lajjaj jsiij Jieqj u©qM ui pij qoiqM SESEiqd :(s0jEp ‘60) sjbuiioj pispusjs IOJ S5JSEUI :p0UEJS SI AlJU© M0U U0qM EJBp BUIJSIX© JO 0OUBIE9JO :©sbo i©ddn OJ jndui jo uoisi 0 auoo ‘lopo ‘©dAj Bjsp '©zis — pj0Tj Aub ioj pojoops ©q Aeui ssjnqiij -JE 0SI0AIQ SSIIJU© PJ0IJ I0SE 6UI>[O0qO ioj s©uijnoi uotjEpqEA soqddns 'spjoy U00MJ0q PUE UiqjIM JU0UI9AOUI 0>[OIIsA0 )J ioj ©objiqjui losn b ui sppnq i©UEd •sp{0lj lndui 0JEUI0}|B pus ‘S0XOq dj©q 'sjsq dn-dod punoiB^osg :s©6euii S uiddEjiSAO uoj 01 dn qjiM sudisop U001OS inoA 10AEI :©UEjd ©jJduis jsnf jojsj ©pOO 0OIROS 3 si jndjno AipidEi sluioj Aiju© Ejsp pus sAsjdsip U001OS jooidpoj dn 10s oj A{0 aijoei0}ui noA qjiM s>iiom wx iauEd Sjljoid PUE S0JEP UOIJ0ldUIOO MOjq ueo 0IBMU00IOS umo inoA fiUIJlI , jipai O M ®^.g l( 6um^ J0A 3 # g*ffipj****!!£ [ooj; uBisbq ueeios uap^q-oxn^ej 661$/082* '09809 :0omosqjiM '66$ :0I0 H 821* ‘-Wl '08809 :ioj >{sy puEuiuioo moA uo A[uo U001OS soqsoijol xrun aqiq oj© ‘jqbpqbiq ‘ssup quEjq 'noios 'souq dEIM 'siopBiEqo 106 oj j0s uoipunj jsea ‘lopo sjioddns ‘Aioui0Ui ui su00ios jo loquinu Aub sd©©)j esisa 0Dia puB ‘oj ©qj uo ouioq jb 01B suiEib -Old XTUfJ OS SJSIJ I010UIEIEd BuiqOJELU qjiM XTUfl sjojfEIEd soioeui pus suoipunj t?8 J° AiEiqiq s©smo wx xrun a>pi 3d aqi jo U001OS ©qj S06EUEUI m 0OijjEq luoij S0sm3 ;u9uia5EUBp[ uaejos x™l 2 S3SHHO S62$ 08^ 00800 :puBig Od W :ioj >{sy p0js066ns >1028 „'9iqBAi0OUOO uiEifioid jo pui5f Aub AipninA [ioj] Aspoi 0R[EA JU0UIUOIIAU0 }U0UldO|0A0p Q soa-sw iseq aqj,, ji s(jeo s.qqoa SMopuiM ■ doj0A0p 01 jpsji yosoioij^ Apuiuy 'pus ©jbj, -uojqsv 'snjoq Aq posn Ajpojiod©! si )\ soinpoui poduEqo 10 mou Aq popojjE sju0ui0[0 Ajuo duqquiossE puE Guqidiuoo Aq potoid jo ozis Aue pfmqoi oj jiojj0 uinuiiuiui puodxo oj smou>j qoiqM uiEidoid qojsq jieuis e ioj ©lueu mXINO E '..e^Hui,, ©qj si se ‘©dE^OEd ©qj jo jiEd ©IE 106BUEUI AiEiqii pus I0>[ui{ qjog S0iiEiqi{ ojui P0|6UIUIIUOO IO ©UIIJ )JUI{ 0UIOO P0XILUI0JUI ©q Aeui moj ije jo ©poo p©(qo 'i©iqui©ssy OIOEJAl JO 'NYHJiHOd '{BOSEd JJOSJAI JO suoisi0A i0jE{ ui U0}jiiM ©uijnoi Aue 3 siqj uioij iieo :s6uijj©s ©6EnduEj-ij[nui ui snjd 6iq v 'sdiqo Z8208/A808 JnoqjiM 10 qjiM AoEmooE snsi©A p©©ds ioj s©6E>{OEd qjEui 0JBUI0JJE SJSEOq PUE ‘U00jnq} I©qjOUE IOJ jioddns AiEiqij-uou snjd 'bjbp puB ©poo ioj SJ 0POUI AIOU10UI ©AIJ SEq MOU 3 JJOSOIOIJAI ‘(sqqoQ) u ©uiEqs oj 62€$ 868* 0990d :ptreig 3d :jsiq :ioj >jsv ©Aisu©q©iduioo s.jj Ajpsup ssoooE ueo noA suoqourj d©js-Aq-d©js p©sod -uioo©p pus ‘Buipoo uinuiiuiui qjiM sjrejap ©jpuEq qoiqM ssmjnoi jaivSI l aA0 l q fii q qiog qjfiu©! ©jqEUEA jo sA©>j puE '©{IJ X0 P U ! 0UO ui sA©>( ©jdijinui :qj6u©{ pioo©i ©jqEUEA jo S0jij sjioddns 'oiisuinu 10 oii©uinuBqdjE ‘sA©>i ©jEoqdnp sjioddns ‘©pj sjsp e ioj sA©>[ jo isquinu Aue sjiuu©d 001J-3 9I©q/AAUE 01 l©>pij e uoijEOijddE moA s©ai 6 001J-3 jEqj ©Aoid SJU0UIUOHAU0 Aueui ui spqL '{©aeij UEO © 0IJ-3 'piEpUEJS ©qj UIOIJ ©JEIA0P jou s©op qoiqM ©poo ©omos oj s-piEq^ XIN3X P^ xiNfl ‘2'8/r8 SOQ 068$ 008* aomosqjiM IIIOT S6I$ 082* III 3SVHP J0 d III0T 068$ 008* somosqjjM II003 S6I$ 082* II3SV9P I0 3 HOOT :puEig 3d :jsiq :suoisi©a •jguisaa J° ‘ x '8 JJOsoioijai ‘©oijjEq Ajio©ds SUOISI0A in puE n 3SV9P q)°q I 0 si©Anq oj junoosip 6ig u©do s©pj Ejsp pus x©pui U90JXIS ©AEq UEO PUE ‘Sl©pOUI AIOUI0UI moj he sjioddns 'ui©puEj ui p©sn ©q IPM 3SY9P J°u JO i©qj©qM 3 ioj i© 6 eueui © pj JAIVSI ajsiduioo b s.ji umo sji uo 10 'sju©ip ioj >iiom uiojsno ioj 3gp ©sq
isip uo s©pj ©omos oui©p Aq p©)jOBq qo©3 ioijuoo i©sop ©ai6 oj p©soduioo©p Aueui 'spuEUiuioo Buppusq ©PJ S.3SY9P lie piiEiEd suoipunj s,3gp pnpoid ©i6uis siqj qjiM 3 jo s©6ejueapb ©qj uib6 pus ‘©dEnSuEj 3SY9P ju©pis©i ©qj piOAE ‘}©>iieui jsqj ds^ si©uiuiEi5oid 3 Aq uonsjioidx© oj suoijeipjsui 3SV9P jo ©mjpo pE©ids©piM ©qj dn suodo jEqj, AiqE©6uEqoi©jui s©SEq EjEp ©lues ©qj uo ©jEi©do UEO 3SY9P P u e 3 M0 N 3SY9P Aq p©jE©io s©pj Aue ©sn ueo 3gp ©si©a©i ©qj puy ui©qj ©jspdn puE pE©i ueo 3SY9P os 'u6iS0p ©pj 3SY9P ajBOiidsi Ajpex© qoiqM s©x©pui n©qj puE s©pj si ;t ejuieui PUE S9JE0IO JI 3SV9P OJ 3 s^uq rn09 ” Ojo paads pun laMoj atp ipijft sapj aiqpedmoj 3SV3P smeimew Ajn&qpj ao Qgp ioj pspiAOid ©IE ssuijnoi Bui^ooi-pioosg ©[qissod ©IE S>IIOM10U OJ UOIJEjdEpE puB suoijsinfiijuoo i©sn-ijpui 05 sssifioid ui ©IE sajspdn u©qM u©a© AjsnosuEJinuiis ©pj x©pui ue SS 900E oj si©sn jo lequinu Aue MopE oj s©pou sjpds u6is©p s,©©ij- 3 uoijEOiiddE AiEUiq moA oiui ji puiq noA pspiAOid s©ijieAoi ojq ©seo pioeds e jij oj ji Ajipoui ueo noA os '©omos 3 ui S9UI00 ji ©sn pE©ids©piM pus p©6uoi -oid jo SU0SE9 S Aueui p©i©qjB0M ssq jsqj ©poo Apinjs si ©9ij- §J ;sapjBAoy on ‘apoQ analog ‘xaBavrejft apj aaxj,-g 33H1D js©i ©qj sjnd jsqj i©66nq©p i©A©i-©omos y, spuEUiuioo jo Jduiuie©! ©jEiAqo—©>pi noA ji © snoui b ©sn—SMopuiM UMop doiQ si©isi 6 ©i PUE >{OEJS 'S©iqElIEA 'P©[qO p©iqUI0SSESip ©pisfiuop ©omos :u©9ios ©uo uo 6uiqj -Ai©a© Moqs oj SMopuiM s©sn ‘©uiij pajiuii] e ioj 9©ij i©66nq©p wl M©iA©po3 ©qT •s>iiEUiqou©q n jo \ Buiuuim jsejuoo ©qj qjiM Aeme uru (yosoioijq UIOIJ P0SU0OII) 3 S.JAigi PUE S.JJOSOIOIJAJ sispduioo 3 1\ jo Aqaius oip©EdopAou© (98/8) s.pqoa Ja ui p©U0d©i sqiEui -qou©q ©qj ©ie ©Aissaidun Aip©i s.jEqM jng O't? oj i©quinu uoisisa pnj e psduinl SEq i©pdiuoo 3 yosoioijAj ©qj ‘>{{79 UEqj i© 6 iei sp©[qo EjEp ©iBuis 6uijjiuu©d ppoui Aiouieui „©6nq„ e duijiods puE ‘..o^eui,, e pus i©66nq©p ©omos e Buqpung iem siqj jo spods ©qj dE©i si©uiuiEi5oid s.AEpoj '©ouEupio i©iAE©q I0A© qjiM i©qjo XT qoE© punod sjq6nsupE0ip ©qj s 1£ Burning ax,noji pue saBeg apjeg q teaiQ y 0't D IJOSOHOIW 40 }S Buiiliou IsnJspMli . 9Meld3 o a^s. papas W*> -oB s3>nW u ° 0 , P 6uiuui6aq spnp 'SJaiBI xod op siadopteP ■pojdjofossmasoa Bul>fe ajq aoios l e3 f J P N u Bn0JU> 1 J0 J- .1% suivtodv*™, Am ueo noA u0 ' , m nsiunta- 1 P n P° J 692$ S62* ejEa ioj SMopuiy^ OSIOL 6H$ 861* O JOJ SMopuiM 00m ; PUEig 3d :jsiq :i©pdui03 Ajpsds nu©ui wx snjoq b ©>pi ©AEq©q oj ©peuj © q ueo ..sppij,, jo j©s e jEqj qfinou© ©si©Aip suoijdo oj© 'jinb 'ioud 10 jx©u ©qj oj dumf 'pi©ij b iE©p ipm sA©>{ qoiqM ©piosp noA puV S9IIJU© ©JEpifEA IO S06ESS9UI AEjdsip oj p©ueo juem noA suoipunj puE s©5ess©ui dj©q oijp©ds-pi©ij jo jusuiqoEjjE pus ‘S0>IOI}SA9)I MOpiSAO IO piJEAUl UO 6uid©©q '©dAjisAO 10 ji©sui jnui©d ‘Aiju© ju©A0id 'Aiiu© ©imbsi ueo suoijdo pi©ij SPI01J IOJ S>(SEUI UMO moA ©JE0IO 'sbuujs qjiM SS0UI ‘©uiij pus ©)Ep uisjsAs j©6 oj ssqipjn ©ie ©isqjj jndui s,i©sn e sssooid pus j©6 oj buiAimos suoipunj i©ss©i sj©s u©qj '©iqEiiEA i©6iej '©mpid ‘uoijeooi U99I0S '©dAj Ejsp ‘qjfiu©i pjsij 6uup

jduioid Ajiosds noA sj©j uoipunj ©ifiuis e i©a©i q6iq ©qj jy p0M se SMopuiM ©qj qbnoiqj EiEp ui s©>[B) jnq 3 ioj SMopuiy^ JO HE S0SlldUIOO BJEQ IOJ SMOpUIJft spnpoid buiMopuiM ©aij jo m©ia©i [Bumof 88 /L sjunn jpg ui Asidsip jsoisej pue BUIJEI HEI0AO JS©g AlIEOIUIEUAp p©SE©I©I si©qjo Iiaiyh Adnooo SMopuiM p©mosqo ApiEiodui©) 10 U99I0S-U0 buipioq si©jjnq Ajuo poquii ©ie p©sn ©soqj'Ajuo :s©inpoui ©jEiEdss ui ©ie suoipunj py ApEnpiAipui )©S ©IE SMOpUlM JO SI0J03 ©uioiqoououi IO IOJOO uo uni oj suiEiboid p©6uEqoun sjiun©d ssjnqiijjE o©piA jo juquijeqij jEOiboq U00IOS ©qj jjo s©pj p©peoi-Aioui©ui

  1. ©JIIM U9A© PUE 'SMOpUlM UI ApEJUOZlIOq PUB ApEOIJISA s©pj II3SY polos PUE pE©i piM 'sA©>i moiie qjiM sjsij jqfipqfiiq puE poios ipm ssuijnog u©0ios ©qj ©JIIMI9A0 AiJU©UEUH©d 10 dn dod oj i©qji© ©Peuj ©q ueo ‘uiEiboid inoA jnoqbnoiqj ©OU0I0J9I Ase© ioj ©mpmjs 3 e ui p©uy©p qOE© ‘SMOpUlM psjiuipun UOIJEOpddE moA oj SuiuoijijiEd MopuiMjo ’AjpEorj -OEid pus zzEzid ©qj ppE oj suoipunj k 08 isao jo AiEiqp e si wl 3 ioj SMopui /zV aiqpedmoQ jviaij^doj, pue ^SMopu tjh jjosoxdij/v ¥X¥a TOJ SMOdNITYV/O ^oj SMOONIM '662$ :s n ‘0f : w juiEd„ buipusjs -00IJ e ‘II OfEH -ia -612$ :0 M '008 -m ©bEnbUEq SI80S :Ajio©ds uoiinqiijsip©! ioj q6noqj ssijieAoi A1JS03 ©susop ©iBuis ioj ©njEA pijiapuq/w 'SuiqjAuE uo uni ueo uiEiboid psjnqujsip os si©Aiip j©s©i oj suoipunj snjd AiEiqii soiqdsib pxid jsbj © qj oj UMop y ,-pp oiEH-ipniAI s©op jsqjw •9813 ‘z©jzy 'yos.jAi ‘©oijjEq ioj suoisisa 3 ©jEiEd©s xoq qoE© ui jEqj py si©Aiip isjuiid pus ©snoui jo ©pnjipnui s SEq puE — S9II9S s©i-iq suoijniOA© 6 ipj puE y33 s.IAiai burpnpui — spreoq soiqdEib gg i©ao sjioddns ji jEqj jusjodiuiuo os umoi£> SEq puE soiqdEib p©sEq-3d ioj buipoi psq ©qj job JEqj AiEiqp soiqdEib i©iui©id ©qj, Axeiqrj sorqdEJQ p^os-pi SOIHdVHO OT¥H TFO 861* 06S0fl :pueig 3d :jsiq :ioj >jsy ( >1261 S P 00 N) PliOMOjUf 5JEIOAQ ‘„Anq ueo noA iojip© jx©j js©q ©qj Aiduiis,, soioeui qjiM spsip uiEuiop opqnd pus preoq uijopng ©i0qM©si0 u©©s ©a,©m sqdApoisiq ©qj ©>pi SuiqjOM jji pE©i ApEnps ueo noA pus ‘sdooi ‘uoijnoax© iBUompuoo ‘s©uieu ©iqEiiEA i©pEiEqo-28 ‘©mpmjs SEq qoiqM ©fiEnfiuEi oioeui ©p-dsiq UMO SJI qjiM U9JJIIM 9I0M J9lig JO SJIEd snEd©i ioj pc©) ©qj qbnoiqj noA s©qoiEUi pus ‘sion© qjiM s©up ©qj spuij p jaug 6 uiab©i i©a© jnoqjiM uisiboid 3 moA ©pduioo ueo noA ‘>J028 0A eq puE ‘piEziyyv 10 ‘ wx 983 ‘aomeg ©sn noA p s©6uei ispEiEqo jo ©ouEjdaoos ‘SI©PEIEqO 6UIU9AI9JUI OJ ©OU9I0JJipUI ‘6uiqojEiu ioj spisoppM qjiM ‘,d©ib„ bupEAii ssijipqE qoiE©s jx©j SEq j©ug juem noA se si©a©i ,,opun„ Aueui se qjiM ‘uoij©i©p 10 ‘sisjjnq i©qjo ojui ©jssd pus ino ioj siajjnq dsios oj jusuisaoui ‘s©pj oj buijiiM ‘fiuijuud ioj pspiEUi ©q Aeui s^oojq pc©! qjoq s©6uEqo ©uo ui ©buEqo y ©ouo JE SE0IE OMJ M91A O) SMOpUlM )U9I0JJip oj papEo ©q Aeui lajjnq pc©j y ©zis©i ‘©sop ‘u©do noA SMopuiM ©ioui 10 ©uo qbnoiqj papoios pus ‘siajjnq ©idipnui ui pssnou si ‘s©pj io piEoqA©>i uioij ‘pc©! jaiqo-ui -iojip© moA ioj p©)Eidui©juoo i©a© ©A.noX ©mjE©j Ai©a© ssq ^jsug‘SS9U ju
  2. qbnoioqj sji s©p©q jEqj ©uieu b qji ill xofipg ue jo xaddon/fi y jng BuppAuy sj i ■ i siooi uannvuooud N3SOHO ATinJ3UVO VNVU8 Od TODAY’S TOP QUALITY AIDS TO PROGRAMMING PRODUCTIVITY DAN BRICKLIN’S DEMO PROGRAM Storyboard Your Program GREENLEAF Bountiful FUNCTIONS Harvest C source, assembler source, and binary libraries of 225 functions for many com¬ pilers. Emphasizes tight functional group¬ ings to minimize loading code which your application may never use. Manual helps select functions, bulletin board, too. A sampling: DOS extensions for file and directory manipulation; Screen: to select mode, page, monochrome or color, palette; cursor shape, positioning; clearing and scrolling; pixel get and put; read light pen. Strings: Center, justify, etc.; efficient list operations which add, delete, sort string pointers for top speed. Other: graphics character primitives, keyboard status, func¬ tion key assignment, time/date, read registers and memory size, peek and poke. Mature best-seller. Specify: S0770 & Compiler. List: *185, Here: $ 139 GREENLEAF Heiio World COMMUNICATIONS Want your application to communicate with other users or remote date bases by asynchronous communications built right into your C programs! Even if you don’t need it now, that’s a skill to have at the ready! 120 functions and demo programs in both C and assembler source code set up separate transmit and receive ring buffers for up to 16 simultaneous channels. In¬ terrupt driven so you can halt an incoming record, display it, file it, let the user edit it, then continue. Goodbye separate com¬ munications software. Supports up to 9600 baud, ASCII or binary, any parity or word length, 8250 UARTs, Xon/Xoff and Xmodem, WideTrack receive. Specify: S0750 & Compiler. List:*185, Us: *139 INTERACTIVE-C Compiler-Compatible Interpreter, Editor, Debugger E arlier C interpreters were miracu¬ lous compromises. Interactive-C shows how far C interpreters have come. More than an interpreter, Interactive-C is a fully-integrated development environment: a complete K&R interpreter bound tightly to its own editor and debugger. Slice through programming projects like a hot knife through butter Exten¬ sive error-checking insures immediate detection of program misbehavior. State of the art debugging tools include breakpoints, watchvalues, sev¬ eral stepping options and interactive viewing and modification of variables. An Interactive-C exclusive lets you interrupt to edit and "continue” from where you left off. Eliminates plodding replays of already debugged code— the ball and chain of other interpreters Operate Interactive-C using adjust¬ able edit, command, and status win¬ dows. Toggle a second screen show¬ ing only your program's output— never any crowded intermixing Or, boost productivity with twin CRTs. Load object code of functions you have already compiled. Or of com¬ mercial libraries. Interactive-C has immediate mode, syntax checking both as you type and run, and cursor positioning precisely pointing at an error, not possible with incremental or pseudo-compilers which leave source code behind 100% compiler compatible—right down to header files and library calls. Port programs between Interactive-C and your compiler with no modifications whatever— not even tricky areas of dynamic memory allocation and I/O. Specity: List: PC Brand: E950 & Compiler *249 *219 T he Legendary One has created Metaphor Two when the rest of us are still on Zero. Dan’s first was the original electronic spreadsheet (VisiCalc™). This one is for programmers. Words don’t express program ideas because programs are screens! Dan’s Demo creates slide shows. Create a screen — a snapshot of your planned pro¬ duct as it runs. Anything goes: words, borders, box rules, inverse and underlining of monochrome, fore- and background color. Copy this "slide" to an empty screen. Change it a little, to show the next instant of run-time Do it again. Presto, a whole slide show of your program in action. All 250 characters and attributes are available from scrollable lists which pop to the screen. All commands are layered in Lotus-style pop-up menus. Frequent choices mapped to function keys as well. 80x25 character mode, not bit-mapped. Screen areas can be blocked for cut and paste or filled with color or characters, even blink. Slides can overlay on others, can be shuffled, deleted. Slides can pro¬ ceed at time intervals or branch anywhere .in the slide sequence depending on user keyhits. Invaluable to prototype the program you are about to write, to position the labels, choose the color decor, smoothe out the keystroke interface. Or load the "capture” utility and snapshot the screens of any run¬ ning program for an instant slide show. Each copy entitles you to redistribute fifty of the slide projector program that runs demos. Plain manual, no binder keeps price of big product small. "Might.. become the essential tool in.. .user inter¬ face prototyping," Tech Journal. Ask for: N0100. List *75 US: *69 RASTOC op-hm'z es! Translates BASIC Into C F or a trifling pnce, BASTOC™ moves truckloads of BASIC code over to C. It's a translator which takes in Microsoft Extended BASIC and emits pure K&R C for Lattice 3.0. It will optionally convert your program into a single monolithic C function or decompose it into separate functions, one for each GOSUB label. Version 2’s optimization dramatically reduces execution time. Converts to in¬ tegers those variables in BASIC programs which do not need floating point. Where BASIC uses full assignment statements to increment counters, BASTOC converts to C's compact form. Strings dynamically allocated nddmg your application of BASIC's catatonic halts for garbage collection. Creates-structure of even convoluted BASIC code. Huge worksaver. Ask for: List. PC Brand. S0375 *495 *399 Shopping List for the Power Workbench ASSEMBLERS & DEBUGGERS LIST US Advanced Trace-86 Morgan, ASM Interpreter ... 175 119 Codesmith-86 Dubugger by Visual Age . 145 99 CSD Debugger C source level by Mark Williams 75 55 C-Sprite Debugger by Lattice, source level . 175 139 Microsoft Macro Assembler with Utilities . 150 109 PASM86 by Phoenix, Macro Assembler . 195 144 Periscope I Debugger Data Base Decisions .... 295 235 Periscope II Da fa Base Decisions . 129 99 Periscope 11 -X software only . 115 74 Pfix86 Plus b Phoenix, Symbolic Debugger . .. 395 279 BASIC LANGUAGE BetterBASIC Summit Software . 195 165 BetterBASIC Utilities 8087 Math Support . 99 85 Btrieve Interface . 99 85 Run-Time Module . 250 225 Microsoft BASIC Interpreter for XENIX . 350 295 Microsoft QuickBASIC Compiler full BASICA . . 99 79 Professional BASIC by Morgan . 99 69 True BASIC True BASIC Inc . 150 99 Run Time Module . 150 99 True BASIC Libraries Btrieve, Asyn, Sort, etc.... Var Call C COMPILERS C-86 Compiler Computer Innovations . 395 289 Lattice C Compiler from Lattice . 500 299 Let’s C Compiler by Mark Williams . 75 55 with CSD Source Level Debugger . 150 105 MWC-86: Mark Williams C Development . 495 369 Microsoft C Compiler 4.0 . 450 295 C INTERPRETERS C-Terp by Gimpel Software . 300 249 Instant C by Rational Systems . 500 395 Interactive-C by IMP ACC with debugging . 249 219 RUN/C Professional from Lifeboat . 250 185 RUNIC without Loadable Libraries . 120 109 TEXT EDITORS Brief from Solution Systems . 195 Call Edix by Emerging Tech...Multi-screen . 195 159 Epsilon by Lugaru Software, like EM ACS . 195 149 FirsTime by Spruce Technology, C syntax . 295 229 Kedit by Mansfield, similar to Xedit . 125 99 LSE, the Lattice Screen Editor Multi Window ... 125 100 Pmate by Phoenix, with Macros . 195 149 Text Management Utilities Grep, splat, diff, etc. 120 100 Vedit by Compuview . 1 50 99 Vedit Plus by Compuview . 185 129 FILE MANAGERS Btrieve by Softcraft, no royalties . 250 195 Btrieve Network by Softcraft . 595 465 C-Tree by FairCom - no royalties, source . 395 329 R-Tr ee by FairCom-Report Generator . 295 245 C-Tree & R-Tree Combo by FairCom . 650 541 dBC dBASE file manager from Lattice . 250 195 with source . 500 390 dbVista single user DBMS by Raima . 195 139 with source . 495 399 dbVista multi-user DBMS . 495 399 with source . 990 815 Opt-Tech Sort Can sort Btrieve files . 149 105 SCREEN DESIGN Curses by Lattice, UNIX screen designer . 125 99 with Source . 250 199 Greenleaf Data Windows. New . 225 169 with source . 395 297 source purchased later . 225 169 On-Line Help from Opt-Tech Data . 149 105 Panel by Roundhill, no royalties . 295 229 View Manager for C by Blaise . 275 189 Vitamin C by Creative Programming . 150 129 Windows forC Vermont Creative Software .... 195 149 Windows for Data includes Windows forC .... 295 259 ZView Data Management Consultants . 245 175 GRAPHICS Essential Graphics by Essential, no royalties 250 210 GSS Graphics Development Toolkit. 495 375 GSS Kernel System by Graphic Software . 495 375 GSS Kernel System for IBM RT . 795 645 GSS Metafile Interpreter. 295 235 GSS Plotting System. 495 375 Halo by Media Cybernetics . 300 219 with Dr. Halo II . 440 299 Halo for Microsoft includes all fonts . 595 434 COMMUNICATIONS Asynch Manager by Blaise, forC or Pascal .... 175 125 Greenleaf Communications by Greenleaf . 185 139 PTel by Phoenix, Binary File Communicator. ... 195 149 Software Horizons Pack 3. 149 119 UTILITY LIBRARIES Blaise C Tools Plus. 175 125 Blaise C Tools. 125 89 Blaise C Tools 2 . 100 69 C Food Smorgasbord by Lattice . 150 109 C Utility Library by Essential, 300 functions .... 185 139 Greenleaf Functions by Greenleaf Software ... 185 139 PforCe by Phoenix, vast library . 475 349 Software Horizons Packages . Var Call TopView Tool Basket by Lattice, source avail... 250 199 DEVELOPMENT TOOLS Code Sifter by David Smith Software, Profiler 119 89 C-Worthy by Custom Design Software . 295 269 C-Worthy for Network Menus, help, errors . 495 449 Dan Bricklin’s Demo Program Prototyper . 75 69 LMK from Lattice by Lattice, “make” like UNIX . 195 149 Microsoft Window Development Toolkit. 500 365 PC-Lintby Gimpel Software, after UNIX’s “lint ". 139 125 PFintsh by Phoenix, EXE performance analyzer. 395 279 Plink86 Plus Utilizes memory for overlays . 495 359 Pmaker by Phoenix, like UNIX “make” . 125 105 Pre-C by Phoenix, UNIX “lint"-alike . 295 208 Pfantasy Pac six Phoenix products . 1295 895 OTHER TOOLS BASTOC by JMl, convert BASIC to C . 495 399 BASIC-C BASIC's functions added toC . 175 139 The HAMMER by OES Systems. 195 139 Report Option by Softcraft, Btrieve Report Gen.. 145 128 Xtrieve by Softcraft, Query Utility for Btrieve . . . 245 220 FORTRAN COMPILERS & UTILITIES ACS Time Series by A/pba Computer Se/v/ce. . . 495 405 Forlib- Plus by Alpha Computer Service . 70 45 Microsoft FORTRAN Links with Microsoft C . . . 350 219 Microsoft FORTRAN for XENIX . 695 546 RM/FORTRAN by Ryan McFarland . 595 Call Scientific Subroutine Package by A/pba. 295 239 The Statistician by Alpha Computer . 295 239 Strings & Things by Alpha Computer . 70 45 OTHER LANGUAGES & UTILITIES Microsoft COBOL Compiler. 700 499 Microsoft COBOL Compiler for XENIX . 995 795 Microsoft COBOL Tools with Source Debugger . 350 259 Microsoft COBOL Tools for XENIX . 450 333 Microsoft Lisp New Common Lisp . 250 189 Microsoft MuMath includes MuSimp . 300 199 Microsoft Pascal Compiler Links with M’soft C. 300 199 Microsoft Pascal Compiler for XENIX . 695 546 PDisk Phoenix’s new disk manager . 195 148 RM/COBOL by flyam/WcFar/and. 950 Call RM/COBOL 8XANSI85 COBOL . 1250 Call Source Print Aldebaran’s diagrammer . 139 109 PRICED TO SAVE YOU MONEY, SHIPPED EAST ANYWHERE. ryan-McFarland fortran A Mighty Fortress Is Their FORTRAN NHVV/ LATTICE C COMPILER Major Upgrades to the Best Selling C Compiler P icking over features of rival products is not necessary if FORTRAN is your need, still the citadel of scientific and engineering work. Ryan-McFarland has left the competition battering at the gates. RM/FORTRAN™ is a complete im¬ plementation of FORTRAN-77 (ANSI X3.9-1978), the only PC FORTRAN certified by the General Services Administration at the highest test level. The reason: it's a big mainframe compiler moved to PCs, with the bonus that mainframe and mini applications can wander between RUN/C PRO C Interpreter Links Binary Libraries R un/C comes in an apprentice and pro version. The professional model dynamically loads and unloads multiple binary function libraries like C-Food Smorgasbord™ and Halo Graphics™ - potentially any library compiled with Lattice’s large model. Inside this inter¬ preter your C program can reach for func¬ tions in the best of commercial libraries. This C interpreter behaves like PC BASIC meets WordStar . Use fullscreen editing to create a program. RUN it. If it stumbles, LIST it, EDIT it, RUN it again, fix it again. Use familiar commands like LOAD, MERGE, SAVE, FILES, even TRON and TRACE. Ideal for program development. Put up code at high speed, try out things devil- may care, let RUN/C find your malaprops. , Blast away until tight little code segments are undyingly faithful. Manual shows how to develop the inter¬ face to a commercial library, using the Lat¬ tice compiler (a must!). Link your own func¬ tion archive the same way. (320k minimum; 512k recommended to fit libraries.) Ask for: S0950 List: 250 PCB: S I85 ZVIEW Screen Desicjn Aid A complete package for screen design with full windows manage¬ ment as a bonus! Easy creation of screens with complex validation, such as range checking or required/option¬ al data. Powerful Screen Paint utility for creating or editing applications screens. Built in security levels, set at run-time, control read or read/write access by field or screen. Automatic help screen processing for run-time aid per field or screen. Applications regain control during field tabbing, allowing run-time on-screen transaction processing or flow control. Run-time functions include Screen Read and Write with automatic transparent data conversion from screen image to data storage, Field Editing, Help Screen Processing, even a capability to change any field characteristic at run¬ time, plus Window Push Pop and Scroll. Versions for Lattice, Microsoft and Aztec C. Automatic free updates to registered users. No run-time royalties. List: *245 PC Brand: *175 environments. Now, on your PC, you can develop large applications, with programs up to 640k (bigger using overlays), arrays over 64k, and using a long list of VS, VAX and FORTRAN-66 extensions you may have grown fond of - long symbolic names, "in¬ clude", IRT bit functions — because R-M has left out nothing. But what really sets RM/FORTRAN apart is optimization. The compiler reduces the number of instructions to the minimum which will actually execute, and even takes advantage of each processor’s features to deliver lightning-fast object code. It runs 30%-40% faster than Microsoft 3.2, and could make your mainframe not worth the trouble. Comes with an interactive symbolic debugger like that accompanying IBM VS FORTRAN, Plink86 subset, has a cross reference compile option, supports assembler and C subroutine calls, IEEE floating point, 8087 and 80287 chips. "Compiler’s documentation, ease of us speed of execution, and debugger facilities place it first for recommendation said the Tech Journal (10/85). R-M has been writing FORTRAN com¬ pilers for IBM, DEC, etc. for 20 years. There is no greater expert. Ask for: List: PC Brand: 10300 595 Call L attice now embraces key UNIX™ enhancements which have entered the language since K&R: void functions returning no value, enumerated data types to assign stepped values to variables, data passing between structures by assignment. The greatly expanded libraries (325 functions!) enable the file sharing and record locking provisions of DOS 3.1, pro¬ vide a full complement of transcendentals, and a host of utilities to mimic the UNIX and XENIX™ environments. Lattice 3.0 defaults to the ANSI proposed standard when you need strict adherence, but command line options restore leniency. And it adopts ANSI checking of external function arguments by data type to kill bug swarms when modules join up at link time. roKO G NPowc card nurrtbowPj wjre fnds , 0 PC GSS GRAPHICS SYSTEM Leave the Device Driving to GSS Lattice now delivers smaller .EXE files, boasts very fast link times and a more effi¬ cient aliasing algorithm. New options generate code to use 80186 and 80286 features; 8087 of course sensed and util¬ ized. Lattice has enjoyed pre-eminence so long that developers have created far more snap-on tools for Lattice C than any other compiler. William Hunt’s PC Tech Journal review of 12 compilers awarded Lattice the only "very good" rating for add-on library availability. Ask for: List: PC Brand: S0100 *500 *299 BETTER BASIC Convert Microsoft BASIC. Structured, Compilable. C ombines the familiarity of BASIC with the best features of C, Pascal, and Modula 2, yet BetterBASIC is 100% com¬ patible with Microsoft’s GW™ BASIC and IBM BASICA including graphics, sound, and assembly language calls. So load your old programs and RUN. SAVE and they are converted automatically to BetterBASIC! It’s big: Needs 192k; programs can go to the PC’s full 640k. It’s comfy: Behaves like M’soft BASIC at the interactive level, with a full-screen editor, direct statement execu¬ tion, and always poised to RUN. It’s fast: Each statement checked and compiled ansi Q ni ..4-. , iidui sicken lent cuiu ujinpueu CGI STANDAf'U rtf'! ‘once, not every time encountered. Sieve

    PRICES CUT! G SS™ has reconfigured two compo¬ nents of its comprehensive graphics tools to conform with the ANSI Computer Graphics Interface (CGI) standard. At the heart of the system is the Develop¬ ment Toolkit which contains all language interfaces and device drivers for key¬ boards, mice, joysticks, tablets, printers, plotters, cameras, and more. Drivers house management of vector graphics (plotters) and bitmaps used by raster input devices (scanners) to insulate the application pro¬ gram from concern for device ldiosyncracy. No one else has implemented CGI that way. It means your programming remains generic; just switch drivers and the same program will drive a different device. GSS Kernel™ conforms to level 2b of ANSI's Graphical Kernel System (GKS) and contains all its needed drivers and language bindings. Kernel has macro level tools to draw and color an object, store the sequential instructions, and recreate the object on its own, as well as segment it, transform it, etc. So powerful, a single com¬ mand may represent several score lower level statements. Plotting has the equivalent GKS tools for graph and chart generation and their cap¬ tioning: hand it apples and oranges, say "pie", and it bakes the numbers into a digestible display for screen or plotters. Kernel and Plotting have tools to convert images they create to ANSI Computer Graphics Metafiles (CGMs), a tokemzed standard for storing every form of graphic image as data. The Metafile Interpreter reads the contents of a CGM and inter¬ prets it with full CGI capability for re¬ creation on various devices. Quality software? IBM thinks so. They sell the GSS series under their own label. Unit royalties and annual fees have been instituted for redistribution. Needs 256k. Ask for: GS010 CGI Dvlpmt Toolkit GS020 Kernel System GS025 Kernel for IBM RT GS030 Plotting System runs 6 times faster than with M'soft. C-like structures house file records so goodbye to FIELD, MKI$, CVD, LSET, etc. Named "procedures" replace GOSUBs to lmenumbers. Lots more features: built-in linker for compiled modules; trace; debug¬ ging breakpoints; cross-reference com¬ mand; 32k strings; DOS and BIOS calls and interrupts; recursion. Run-time module List: PC Brand: stores object code for redistribution.

    495

    *375 Ask for:: List: Us: *495 *375 S1200 BetterBASIC *195 *165 *795 *645 S1201 Run-time Module *250 *225 *495 *375 S1202 8087 Interface

    99 85

    *295 *235 S1205 Btrieve Interface

    99 85 BTRIEVE ASK ABOUT XTRIEVE & RTRIEVE Queen B-tree File Manager Abdicates Royalties T here’s no longer a tithe to incorporate Btneve™ in applications, a welcome proclamation if royalties would ruin your profit margins. Btneve takes complete charge of all file creation, indexing, reading, writing, insertion, deletion, space recapture, forward and backward search¬ ing. It builds function call "commands" right into the language you use: interfaces to C, Pascal, BASIC, and COBOL, with sam¬ ple programs in all four, come with each copy. Btrieve has mainframe specifications! Its balanced-tree indexing scheme finds any key in a million in four or less accesses. Files may have up to 24 indexes; fixed record length to 4090 characters; indexes up to 255 characters; files of 4 billion bytes. Can even extend a file across two drives - even two hard disks! Version 4.x speeds DOS interaction for large multiply-keyed files; enables variable length records of virtually any length; verifies accuracy (optionally) with read after write, useful in gritty en¬ vironments; offers password and data encryption. There's also Xtneve, for Btrieve file in¬ quiry and data manipulation, and Rtrieve for report writing. All three in versions for any network that supports the MS-DOS 3.1 file sharing function. Ask for: List: PC Brand: S0650 *250 *195 S0652 Network Version *595 *465 TERMS AND CONDITIONS OF SALE Licenses: Each price is for a license to use a prod¬ uct on a single computer and does not constitute its ownership. We will inquire for you about site licenses. Except as otherwise indicated or where V follows the Product Code, products may be used to create programs for distribution without royalty payments or additional licenses, provided said programs do not substantially replicate the products themselves. Compatibility: PC BRAND'S standard products are designed to operate with the IBM PC. XT or AT

    under PC-DOS and require no more than 128k of RAM unless indicated. Non IBM machines using MS-DOS. contact manufacturer about precise dif¬ ferences so we can advise Returns: See box page one. Defective parts will be replaced Please call for authorization to return a product for refund Payment: We honor MasterCard. Visa. American Express (no surcharge), checks in advance, or funds wired to PC Brand, c/o Chemical Bank. 126 East 86 St . New York. Account 034-016058 COD (U S. only) for cash, money order, certified check (no fee). NY State, add sales tax Purchase orders accepted from larger corporations and institutions at our discretion if you agree to net 30 days plus 2% a month late penalty thereafter Shipping & Handling: U S UPS Surface. 1st product $6. each add'l $3 UPS 2nd Day Air. 1st product $10. each add'l $4.50 UPS Next Day Air or Federal Express 1-2 Day Air: 1st product $18. each add'l $6 FedEx Next Day 10 AM. 1st product $28. each add'l $7. International: Charges vary by destination and carrier. $10 per shipping container for export forms. Air parcel post at your risk beyond collected insurable amount For Orders, Literature', or Catalogs, Call Us at... 800 PC-BRAND That's (800) 722-7263. In NY State call (212) 242-3600 PC Brand, 150 5th Ave„ New York, N.Y. 10011-4311 Ttelex: 667962 (SOFT COMM NYK) © 1986 PC BRAND Prices, terms, and specifications subject to change without notice. Unreliability mars what otherwise would be an excellent value offered by the 12 MHz AT compatible from PCs Limited. STEVEN ARMBRUST and TED FORGERON | he combination of massive adver¬ tising, a money-back guarantee, and rock-bottom prices has brought PC's Limited into the limelight of the mail-order computer business. At> center stage in mast of the company’s advertisements is the PC’s Limited 286 12 , a PC/AT compatible that promises an al¬ most unheard-of 12-MHz performance at a price thousands of dollars below that of IBM’s original AT. At the time this article was written, advertisements for the 286* 2 proclaimed the price to be $2,695 for a package that includes the system unit with 1MB of RAM on the system board, a single diskette drive, a combination ..2MB < diskette/hard-disk controller, and a key¬ board. Some of the advertisements also claimed that the machine Is equipped with two serial ports and one parallel port, but those items were not present on the machine tested for this article and the manual treats them as options. Other components not included in the base machine are a hard disk, monitor, and display adapter (see sidebar). Neither DOS nor BASIC is supplied with the 286K Either PC- or MS-DOS (versions 2.0 or later) can be used, but PC’s Limited advises using PC-DOS 3.1 or MS-DOS 3-11 or later. Version 3 2 (packaged with GW-BASIC) is available at extra cost from the company. The test machine included the stan¬ dard items, plus a 40MB Tandon hard disk, a 360KB diskette drive, the PC s Limited EG Ads! graphics adapter, and a Princeton Graphics Systems HX-12E en¬ hanced color monitor. The total price for this configuration when purchased from PC’s Limited is $4,447—more than the advertised price, but still a good buy if the equipment works as advei tised. Photo 1 shows the entire system. (PC's Limited now offers a package price for two configurations of the 286 12 . The system unit with 1.2MB diskette drive, 30MB hard-disk drive, one parallel and two serial ports, EGAtis! card, and 12-inch enhanced PCS LIMITED PHOTO 4: Keyboard Comparison VBKBlBKBIVKSBBIia aaiia » svbhbii mwm asajjjiaaajii I sm aaaaaaai w p ■■ asa Baa aaa aaa Photo 1: Tlic PC’s Limited machine comes standard with 1MB of RAM on the system board, a single 1.2MB diskette drive, and a combination diskette/hard-disk controller. Photo 2: The PC’s Limited system unit, which measures 18.75 by 16.5 by 6.5 inches, is 25 percent smaller than the AT’s. The dotted lines indicate the size of the 286 12 . Photo 3 The SmartVU LED display panel provides several useful diagnostic functions on the 286 12 , including the cur¬ rent track that is being read on the disk. Photo 4: The PC’s Limited keyboard layout (top) is similar to the original AT, but it provides little tactile feedback. The position of the Esc and tilde ( ") keys can be swapped. llllllllllllllllllllllllllllllll Photo 5: The 80286 and 80287 sockets are located for easy access inside the system unit. The support brace on the left must be removed before access to slot 8 is possible. % PC TECH JOURNAL graphics color monitor is priced at $3,595. The same package except with a 40MB hard-disk drive is $3,695.) Because of its price tag, questions about the quality of the 286 12 naturally arise. Even with the low price, is the computer really a wise investment? Is it well engineered, or will it spend most of its time traveling to and from PC’s Limited headquarters in Austin, Texas, for repairs? When it is first pulled from the box, the 286 12 exudes quality. The cabinet looks and feels like an IBM product, and the SmartVU panel on the front of the unit adds a high-tech flavor. Unfortunately, the computer tested for this article did not live up to its good- looking package or its advance billing. Before testing could even begin, the unit had to be returned to PC’s Lim¬ ited three times for repairs. The Smart¬ VU panel (the diagnostic read-out on the front of the system unit) failed twice, once accompanied by the unmis¬ takable odor of burning insulation. A third problem involved the diskette/ hard-disk controller, which failed to ac¬ cess the hard disk properly at 12 MHz. Until the controller was replaced, it de¬ stroyed files, crashed the system, and eventually did so much damage that the hard disk had to be reformatted. After the unit was returned from PC’s Limited for the third time, it devel¬ oped another problem that prevented the warm reboot (Ctrl-Alt-Del) from working. Although the system booted when it was turned on, it ceased oper¬ ating when a warm reboot was per¬ formed, and the following message ap¬ peared in 40-column mode on the screen: “Error 8259

    1 101 System

    Halted.” Aside from this initial problem, though, the 286 12 worked almost flaw¬ lessly for the rest of the test period. SMALL FOOTPRINT From the outside, the system unit looks like an AT, except narrower. At 18.75 inches by 16.5 inches by 6.5 inches, it is actually 25 percent smaller than the AT. Photo 2 compares the footprint of the PC’s Limited 286 12 with that of the AT. The only apparent penalty imposed by the reduced footprint is in drive space: the 286 12 ’s single storage bay is capable of holding only three half¬ height drives, whereas the AT’s two storage bays can handle two half-height diskette drives and two full-height hard disks. The 1.2MB diskette drive is nor¬ mally mounted in the 286 12 ’s top bay. In the unit tested for this article, the mid¬ dle bay contained a 360KB diskette drive, and the bottom bay contained a 40MB hard disk. This arrangement is not the only one possible. The diskette/ hard-disk controller has cables for two diskette drives and two hard disks, so a second hard disk could be substituted for the second diskette drive without having to purchase another controller or extra cables. One minor annoyance is that the 1.2MB diskette drive and the 360KB drive look identical when viewed from the front. Some companies place a large asterisk on the front of one drive to dis¬ tinguish it; other companies provide ac¬ cess lights of different colors. Neither method is used on the 286 12 . Its small footprint notwithstanding, the 286 12 manages to house a full complement of eight expansion slots (two 8-bit slots and six 16-bit slots) and 1MB of RAM on its system board. The front panel of the 286 12 system unit includes a key-lock switch, a flex¬ ible set of indicators, and the SmartVU panel, as shown in photo 3. The key lock is a miniature version of the AT’s key lock and provides the same func¬ tions. Situated next to the key lock are a hard-disk access light and another indi¬ cator light, the function of whicfi can be selected with a switch on the system board. In one setting, this light is sim¬ ply a power indicator that is lit when power is on. In the other setting, the light indicates processor speed (off for 6,MHz, on for 12 MHz). Because the de¬ fault operating speed is 6 MHz, most us¬ ers will choose the latter setting, thus creating a visual reminder to switch to 12 MHz after booting. Next to the indicator lights is the SmartVU diagnostic panel, the trouble¬ some component that had to be re¬ placed twice in the test unit. When it does work, SmartVU provides valuable feedback about system operations. The panel consists of two separate displays: a four-character alphanumeric LED dis¬ play and a DIP consisting of a row of eight LED bars (see photo 3). The alphanumeric display has four primary functions. First, it lists the names of the power-on routines during the boot process and displays error messages. On a machine that is operat¬ ing properly, the names of the power- on routines (such as RAMI, RAM2, Optr, KB33, VMem, Inti, and Int2) flash by too quickly to be seen. If a problem develops, the name of the current test remains on the screen for a moment, then an error message appears. In the case of the test machine, whenever a warm reboot was performed the display stopped at the test Int2. Then the mes¬ sage “Error 8259

    1 101” appeared

    on the screen and also scrolled across the SmartVU display. The second function of the alpha¬ numeric panel is to display the proces¬ sor speed whenever it changes. Pressing Ctrl-Alt-\ toggles the processor be¬ tween 6 and 12 MHz; then the com¬ puter beeps and the alphanumeric dis¬ play lists the new processor speed. The third panel function should es¬ pecially please those users who are ada¬ mant about having access lights on their disk drives. Whenever a drive is ac¬ cessed, the panel displays the drive let¬ ter, followed by the two least significant digits of the sector that is being ac¬ cessed. This can be helpful while de¬ bugging programs, if only to give hints about whether a program is accessing the drives at the expected times. The sector numbers do not provide much explicit information, but they do make it easier to estimate the amount of data being accessed. With large amounts of data, the numbers fly by; when quick accesses are performed, only a short burst of sector numbers appears. The fourth function of the alpha¬ numeric panel is to display error mes- PC’S LIMITED 286 12 VITAL STATISTICS PC’s Limited 286' 2 : $ 2,695 1MB memory Realtime clock 1.2MB diskette drive Memory capacity on system board 1MB Display adapters None provided Expansion slots 16-bit: 6 8-bit: 2 Available slots (after adding display adapter and serial/parallel card) 16-bit: 5 8-bit: 0 Options available Monochrome display adapter $ 159 EGAds! adapter $ 269 Serial/parallel card $ 199 12-inch enhanced graphics color monitor $ 479 30MB hard disk $699 40MB hard disk $ 819 FEBRUARY 1987 97 THE BAD NEWS ISN'T THE PRICE Okay, you could have saved thousands with Ability” the $99 integrated program that does everything your armload of programs does. But maybe even more importantly, you could have saved tons of time and hassle. Because we’ve combined six high- powered PC productivity tools into a single, simple package. You get full-featured wordprocessing with no exotic codes to leam, and what- you-see-is-what-you-get formatting. Spreadsheets larger than Symphony, with all the powerful math and business functions you need and the ability to import Lotus 1-2-3 files (and formulas where possible). A forms-oriented database that’s easier to use than pfs:file. Professional business graphics from your spread¬ sheets and databases with just a few keystrokes. Ability: $99. Utt-h Menu-driven, Migent Pocket Modem” and Hayes-compatible communications. Even “slide shows” with sound on your PC! And smooth, seamless integration like nothing you’ve ever seen before. Because with Ability, the table and graph you see in the letter aren’t just copies pasted in—they’re live. So if you change the table in the letter, the changes are made in the linked spreadsheet or database that contains the underlying data. Or change the spreadsheet and the letter is updated at the same time. And the graph is automatically redrawn to reflect the changes, either way (Perfect for those weekly and monthly reports.) And anybody can do it with no programming at all, because Ability is menu-driven and uses the same instructions in all six applications. At just $99, Ability could even pay for your PC if you don’t already have one. Check it out at your local computer store or contact: Migent, Inc., PO. Box 6062, Incline Village,

    NV 89450. iMI/iZKIT (702)832-3700. MW IIVm HI I ©Migent, Inc. 1986 Ability and Pocket Modem are trademarks of Migent, Inc. Other names and products trademarked by others. CIRCLE NO. 154 ON READER SERVICE CARD PCS LIMITED TABLE 1 : SmartVU Display Panel Error Messages MESSAGE DESCRIPTION Er02 80286 failure Er03 Multiple RAM errors in the first 64KB Er04 Video RAM failure Er05 ROM checksum error Er06 Parity error status bit cannot be reset Er07 8254 timer failure Er08 Programmable array logic or RAM refresh failure Er09 8742-controlled Gate A20 not operating well in virtual-86 mode ErlO Virtual-86 mode exception error, extended memory failure, or 8742 failure Erl 1 The 14-MHz crystal is shorted or inoperable Battery Low The battery powering the realtime clock is low The SmartVU LED display panel, when it works, provides a list of error messages to help pinpoint system errors, including a low battery for the realtime clock. sages during system operation. These messages can indicate a CPU failure, a memory problem, or even a low-battery indicator for the realtime clock. Table 1 lists the error messages. The second display of the SmartVU panel consists of an array of eight LEDs. Once the system has been booted, a light flashes back and forth across this eight-element display, indicating that the system is operational. The individ¬ ual lights are related to timer interrupts. When an interrupt occurs, the LED cur¬ rently on is switched off and the next one in sequence is switched on. If the lights stop flashing, it is an indication that the CPU has halted for some reason or that interrupts have been disabled. This display is useful in determining whether a program has really crashed or is just taking a long time for compu¬ tation. The lights can be disabled if the flashing becomes too distracting. The Princeton Graphics Systems HX-12E monitor and the PC’s Limited EGAds! adapter that were included in the test unit provide features similar to IBM’s Enhanced Graphics Adapter (EGA) and Enhanced Color Display. Al¬ though a full test of the EGA’s compati¬ bility was not performed for this article, the EGAds! card exhibited no trouble handling software that uses the EGA’s special video modes (such as Microsoft Word and Windows). The EGAds! card is a three-quarter length, sparsely popu¬ lated card that contains the Chips and Technologies (C&T) EGA chip set. (For a review of the EGAds! card, see “The EGA Spectrum, Part 1,” John T. Cocker- ham, October 1986, p. 80.) As might be expected from an inexpensive compatible, the 286 12 ’s key¬ board is a lightweight model that pro¬ vides little tactile feedback, although the F and J keys do have ridges to help keep fingers positioned properly on the home row. Manufactured by the Maxi- Switch Company, the keyboard features a layout that is virtually identical to that of the original IBM AT. Photo 4 com¬ pares the two keyboards. One interesting note about the key¬ board is that it can be used on both AT- and PC/XT-compatible computers. A switch on the underside of the key¬ board sets the mode; another switch lets users swap locations of the Esc and tilde ( ~) keys to place the Esc key back in its original, top-left location. OPERATING AT 12 MHz The 286 12 comes with 1MB of RAM on the system board, rated for 100-nano¬ second (ns) access time so that it will work properly with a 12-MHz 80286. The system board is extremely flexible in its method of RAM allocation be¬ tween conventional and extended mem¬ ory. The default configuration is 640KB of conventional and 384KB of extended memory; it also can be divided into 512KB for both types of memory, or only conventional memory can be as¬ signed. This option is useful when bad memory chips are suspected, because the user can exchange memory chips from the unused extended memory to replace the bad chips. Unfortunately, the manual for the 286 12 mentions only the 512KB/512KB option, even though the switches are set at the factory for 640KB/384KB. Fur¬ thermore, the manual warns that when the 640KB option is chosen, the remain¬ ing memory cannot be accessed, but the factory-selected 640KB/384KB op¬ tion does permit use of the additional 384KB as extended memory. The 286 12 ’s 12-MHz operation is a performance bonus. The default 6-MHz operation permits speed-sensitive pro¬ grams, such as games and copy-pro¬ tected software, to run without diffi¬ culty. At any time, however, the user can toggle to 12 MHz by using the Ctrl- Alt-\ key combination. PC’s Limited does not provide a way to set the pro¬ cessor speed through programming. One side effect of the 12-MHz op¬ eration can be good or bad, depending on the expansion cards running in the computer. When the CPU is switched into 12-MHz mode, the expansion bus runs at 12 MHz as well. This is ideal for cards that can handle the smaller bus cycles, but many popular expansion cards, such as the Intel Above Board and the Cheetah memory card do not function at that speed; in that case, the entire computer, including the CPU, must be switched back to 6-MHz mode. The 286 12 contains an option menu, including the entire set-up program, in ROM; it is activated by pressing Ctrl-Alt- Enter. The menu options are listed as they appear on the screen: • Configure hardware • Disable RAM parity • Enable RAM parity • SmartVU scan off • SmartVU scan on • Park fixed disk heads • List SmartVU diagnostic summary • Resume program • Restart system This menu provides access to the set-up utility for specifying the number and type of disks, the amount of memory available, the type of display adapter used, and the presence or absence of a numeric coprocessor. The option menu also lets users disable or enable RAM parity or SmartVU’s array of lights, park the heads on the hard disk, and list the SmartVU error codes. Because the entire option program resides in ROM, it can be accessed and the options changed—even when an ap¬ plication program is running. However, accessing the option menu while run¬ ning other application programs is not recommended. If the user accesses the set-up portion of the program—for ex¬ ample, to view the current settings— then the only way to leave the program is to reboot the computer. Of course, rebooting means that any data not saved before the option menu was activated will be lost. Even if the user wishes to switch off the SmartVU panel or to look at a FEBRUARY 1987 99 PCS LIMITED list of the error messages, the option menu still should not be invoked from within application programs. Although the program can be resumed, the pre¬ vious screen is not restored. INSTALLING HARDWARE Installing hardware in the 286 12 is for the most part easy. The metal cover of the system unit is fastened with three easily accessible screws on the rear panel. A medium-sized Phillips screw¬ driver can be used to remove them, as well as any other screws in the system unit The cover, which wraps around like the AT’s cover, slides forward and tilts up and off. One difficulty arises if any one of the drives installed by PC’s Limited needs to be removed. These drives are fastened to the storage bay by two screws, one on each side of the bay. Re¬ moving the screw next to the outside edge of the computer is easy, but the screw on the side next to the expansion cards poses a problem; it requires ei¬ ther, a very short screwdriver or the re¬ moval of the disk adapter card from the slot adjacent to the bay. Adding and removing expansion cards is as easy in this machine as in the AT, with the exception of slot 8 (the slot next to the edge of the system unit). Direcdy above this slot is a sup¬ port brace that must be removed in order to gain access to the slot. Photo 5 shows the inside of the system unit with this support brace visible. The 286 12 does not include plastic card guides to steady and align the ex^ pansion cards when they are inserted. Because most expansion boards come with a card guide, however, this lack should not prove to be a problem. Other areas of the system unit are easily accessible. The 80286 and 80287 sockets are placed so that neither the power supply nor any drive needs to be removed to gain access to the chips. The 80286 is in a leadless chip carrier (LCC) socket with an AMP-type socket cover. The socket cover can be tricky to remove, but it is manageable. When the socket cover is removed, the label on the underside of the chip verifies that the processor is rated at 12 MHz. The system board’s switch settings are labeled on the board next to the switch—a nice touch that enables the switches to be set without using the manual. This label includes the relevant switch settings for the amount of mem¬ ory that is installed. The switches for the 80287 socket are similarly labeled. As photo 5 also shows, the system board of the 286 12 contains six 16-bit and two 8-bit expansion slots, even though the 286 12 ’s board is considerably smaller than that of the AT. The disk ad¬ apter normally resides in the 16-bit slot next to the power supply. In the test unit, the EGAds! adapter was placed in one of the 8-bit slots. If serial and paral¬ lel ports are desired, another expansion slot is required for their use. Therefore, five slots are actually available for op¬ tional expansion cards. The four C&T components used on the system board are one reason the board can contain a full complement of expansion slots and still fit in a small¬ sized chassis. These custom compo¬ nents provide the sa/ne services that are normally provided by many general- purpose components; thus, they take up less area on the board. The 286 12 ’s half-height, 40MB Tan- don hard disk had a slighdy better per¬ formance rating than that of the AT. The average access time for the Tandon T be system board of the 286 12 contains the full eight expansion slots (six 16-bit and two 8-bit) even though the board is considerably smaller than that of the AT. drive was 34.1 milliseconds (ms). Be¬ cause DOS cannot manage disks larger than 32MB, PC’s Limited provides a de¬ vice driver called SPLIT_1.SYS that splits the disk into two logical drives, C: and D:, enabling the entire disk to be accessible. Of course, for this device driver to work, FDISK must be used to set up two DOS partitions on the drive. This operation is normally performed by PC’s Limited before shipping the drive. The tested drive was set up for 32MB in drive C: and 8MB in drive D:. The 286 12 supports IBM drive types 1 through 13 for users who would like to add their own drives. The disk drive housing does not look as if it would cause any problems with the installation of third-party, half-height drives, and the standard mounting kits supplied with such drives should be adequate. Full- height drives also will fit, but different mounting hardware may be necessary in order to install them. The power supply, manufactured by Fortran, is rated at 192 watts. Typical power consumption at 110 volts is 27 watts with a 1.2MB diskette drive, a 360KB diskette drive, and a 40MB hard disk installed in the system unit. TESTING 1, 2, 3 Like the other computers reviewed in this series, the 286 12 underwent two kinds of tests. First, a set of commonly used hardware and software products was installed to check for compatibility. Then the PC Tech Journal AT Evalua¬ tion Suite of compatibility and perfor¬ mance tests was run, and the results were compared with an 8-MHz AT. The add-on hardware products in¬ stalled in the PC’s Limited 286 12 for these tests included an 80287 numeric coprocessor, the Intel Above Board AT with 4MB of memory, a Cheetah zero- wait-state RAM card, the PC’s Limited EGAds! card, Microsoft serial and bus mice, an IBM game adapter, and the Hayes Smartmodem 1200B. An IBM par¬ allel/serial adapter also was added for use with the serial mouse and to check whether or not the software products tested could access these ports. The software products that were used included Microsoft Windows and Word (to test graphics capabilities and the mice); SuperKey, SideKick, and Turbo Lightning, all from Borland Inter¬ national (to test memory-resident pro¬ grams); Ready! from Living Videotext and Intel QUIKMEM (to test expanded memory); Hayes Smartcom II (to test the communications port); IBM VDISK (to check extended memory); Fastback from Fifth Generation Systems (to check direct memory access); and the IBM SETUP and Advanced Diagnostics programs (to perform a general check¬ up on the PC’s Limited system). A major hardware problem oc¬ curred when the computer was set to run at 12 MHz. At that setting, neither the Above Board nor the Cheetah mem¬ ory card would function reliably. The Above Board’s diagnostic program (TESTAB) reported that two complete banks of memory were bad. These problems occurred because at the 12- MHz setting, both the processor and the expansion bus run at 12 MHz. Neither the Above Board nor the Cheetah card is rated for use at that speed. If either one of these cards is to be used, the 286 12 must be set to run at 6 MHz. All of the software products tested worked properly, even at 12 MHz. Soft¬ ware that depended on the expanded memory in the Above Board was tested only at 6 MHz. Even the IBM AT Ad¬ vanced Diagnostics ran at the 12-MHz speed without detecting an error. 100 PC TECH JOURNAL PCS LIMITED TABLE 2: Results of Compatibility and Performance Tests 8-MHz AT, PCs LIMITED 286 12 , 30MB DISK" 40MB DISK (at 12 MHz) ATBIOS ROM BIOS date 11/15/85 06/14/86 ATPERF Average RAM .403 (100) fc .262 (153) instruction fetch (|xs) Average RAM read time (jjls) BYTE .401 (100) .262 (153) WORD .401 (100) .262 (153) Average RAM write time (jjls) BYTE .401 (100) .262 (153) WORD .401 (100) .262 (153) Average ROM read time (|xs) BYTE .401 (100) .262 (153) WORD .401 (100) .262 (153) Average video write time (fis) (CGA only) BYTE 1.208 (100) 1.210(100) WORD 2.415 (100) 2.410 (100) Average EMM read time (jjls) BYTE .402 (100) .262 (153) WORD .402 (100) .262 (153) Average EMM write time (|is) BYTE .402 (100) .262 (153) WORD .402 (100) .262 (153) CPU clock rate (MHz) 8.0 (100) 12.0 (150) Math coprocessor clock rate (MHz) 5.3 (100) 8.0 (150) Refresh overhead (%) 7.1 4.6 RAM read wait states 1 1 RAM write wait states 1 1 ROM read wait states 1 1 Video write wait states (CGA) 8 12 EMM read wait states 1 1 EMM write wait states T 1 ATFLOAT Performance as percentage 100 150 relative to AT ATDISK Sectors/track 17 17 Heads 5 5 Cylinders 731 975 Total space (million bytes) 31.81 42.4 Track-track seek time (ms) 6.0 5.4 Average seek time (ms) 37.1 34.1 Effective transfer rate (KB/sec) 170.1 169.9 DOS File I/O (sec) 7.3 7.1 Interleave 3 3 a The figures for the IBM AT are the average results from several machines, whereas the results from the PCs Limited 286 12 are taken only from the review sample model. b Figures shown in parentheses represent the relative performance expressed as a percentage compared to PC Tech Journal’s baseline machine, the 8-MHz, 30MB AT. The expanded memory manager (EMM) measurements are shown in this table, even though the Intel Above Board did not work reliably at 12 MHz. The ATBIOS results did not provide the manufacturer of the BIOS in this case. The bus is run¬ ning at the 12-MHz speed of the processor itself when in the faster mode. After all the add-on hardware and software products were tested, the PC Tech Journal AT compatibility and per¬ formance tests were run. These tests perform the following functions: ATBIOS checks the BIOS and BIOS data area; ATKEY checks for keyboard com¬ patibility; ATPERF measures CPU and numeric coprocessor clock rates as well as memory access times; ATFLOAT measures floating-point operations with the numeric coprocessor installed; and ATDISK measures hard-disk perform¬ ance. (See “Out from the Shadow of IBM...,” Steven Armbrust, Ted Forger- on, and Paul Pierce, August 1986, p. 52, for a more detailed description of these programs.) All of these tests were run with the 286 12 at its 12-MHz speed set¬ ting. Table 2 lists the results. ATBIOS showed that the 286 12 uses the data area in the same way that the AT does. The area normally used for the copyright statement merely stated that the machine was IBM compatible; as a result, the designer of the BIOS could not be identified. ATPERF indicated that the proces¬ sor, numeric coprocessor, and the expansion bus all were running at a higher speed than in the 8-MHz AT. The 80286 does indeed run at 12 MHz, and the 80287 runs at 8 MHz. The numbers for the Intel expanded memory man¬ ager (EMM) read and write times show that access to the expansion bus is also at 12 MHz. The EMM measurements are included in table 2 even though the Above Board does not work reliably at the 12-MHz speed. ATFLOAT also showed that floating¬ point operations were performed faster with the 286 12 . ATKEY verified that the keyboard was compatible with the AT keyboard. In fact, the IBM AT keyboard worked when plugged into the 286 12 . ATDISK determined that the Tan- don hard disk slightly exceeded the performance of the AT hard disk. With an interleave of 3, the effective transfer rate was almost identical to the AT. CONFUSING DOCUMENTATION The owner’s manual for the 286 12 pro¬ vides the minimum amount of informa¬ tion necessary to operate the 286 12 , but just barely. Although it claims not to speak “computerese,” the manual de¬ fines only a few of the terms it uses. Its major error is in failing to mention the option that divides memory into 640KB of conventional memory and 384KB of extended memory. This omission, along with warnings about the 640KB setting, might lead the user to believe that the FEBRUARY 1987 101 isn’t it a pity... Everything Isn’t As Accommodating As

    TM TM c-tree / r-tree FILE HANDLER REPORT GENERATOR Performance and Portability For all the time you devote to developing your new programs, doesn't it make sense to insure they perform like lightning and can be ported with ease? c-tree: Multi-Key ISAM Functions For Single User, Network, & Multi Tasking Systems Based on the most advanced B* Tree routines available today, c-tree gives you un¬ matched keyed tile accessing performance and complete C Source Code. Thousands of profes¬ sional C programmers are already enjoying c-tree s royalty-free benefits, outstanding performance, and unparalleled portability. Only FairOom provides single and multi-user capabilities in one source code package, including locking routines for Unix, Xenix, and DOS 3.1., for one low price! In addition, c-tree supports fixed and variable record length data files; fixed and variable length key values with key compression; multiple indices in a single index file; and automatic sharing of file descriptors. r-tree: Multi-File Report Generator r-tree builds on the power of c-tree to provide sophisticated, multi-line reports. Information spanning multiple files may be used for display purposes or to direct record selection. You can develop new reports or change existing reports without programming or recompiling and can use any text editor to create or modify r-tree report scripts including the complete report layout. At your option, end users may even modify the report scripts you provide. Unlimited Virtual Fields; Automatic File Traversal r-tree report scripts can define any number of virtual fields based on complex computational expressions involving application defined data objects and other virtual fields. In addition, r-tree automatically computes values based on the MAX, MIN, SUM, FRQ, or AVG of values spread overmultiple records, r-tree even lets you nest these computational func¬ tions, causing files from different logical levels to be automatically traversed. Unlike other report generators, r-tree allows you to distribute executable code capable of producing new reports or changing existing reports without royalty payments, provided the code is tied to an application. Your complete source code also includes the report, script interpreter and compiler. How To Order Put FairOom leadership in programmers utilities to work for you. Order c-tree today for $395 or r-tree for $295. (When ordered together, r-tree is only $255). For VISA, MasterCard and C.O.D. orders, call 314/445-
  3. For c-tree benchmark comparisons, write FairOom, 2606 Johnson Drive, Columbia, MO 65203. PC’S LIMITED extended memory in the computer is not an option. The manual does not include an index—a definite disadvantage. It is spiral-bound, so it lies flat when in use. No technical reference manual is avail¬ able for the 286 12 , and because no soft¬ ware is shipped with the machine, no manuals describing DOS or BASIC are included either. PC’s Limited offers an excellent warranty and service plan, and judging from the test machine’s performance, many users will need to take advantage of it. A 30-day, money-back guarantee and a one-year warranty are offered by PC’s Limited; it offers a toll-free support line, which is staffed by courteous, knowledgeable people. Users also can contact PC’s Limited via Telex, facsimile machine, or MCI Mail. RELIABLE BARGAIN? The PC’s Limited 286 12 , if it works, of¬ fers a good value for the price, but if the unit tested is any indication, the ma¬ chine has significant reliability prob¬ lems. Contacting PC’s Limited and send¬ ing the computer back was never a problem. The support staff was always eager to help. However, users who can¬ not afford any down time might be¬ come frustrated by the necessity to help PC’s Limited do the testing and evalua¬ tion that should have been performed earlier by the company itself. In addition, because the 286 12 runs both the processor and the expansion bus at 12 MHz, this fast mode might not work with many of the expansion cards currently in use. In order to use such hardware, the computer must be run at the slower 6-MHz setting, and at 6 MHz, the 286 12 is hardly a bargain. To its advantage, the 286 12 was able to run every software package that was tested, even at 12 MHz. Once PC’s Limited learns how to build reliability into this computer, the 286 12 will be an excellent buy, especially for users who do not have old expansion cards that they must use. tem^l 286 ’» PCs Limited 1611 Headway Circle, Building 3 Austin, TX 78754 800/426-5150; in Texas, 800/252-8336 CIRCLE 347 ON READER SERVICE CARD Steven Armbrust is a freelance technical writer, and Ted Forgeron is software project manager for Intel Scientific Computers . To¬ gether, they are the authors of the Program¬ mer’s Reference Manual for IBM Personal Computers (Dow-Jones Irwin, 1986). Complete C Source Code & No Royalties! Xenix is a registered trademark of Microsoft Corp. Unix is a registered trademark of AT&T. CIRCLE NO. 119 ON READER SERVICE CARD 102 PC TECH JOURNAL LOTUS 1-2-3 ™ TO DOT MATRIX PRINTER PCs TO SERIAL DEVICES PCs TO MODEM PCs TO MAINFRAME PC APPLICATION TO MULTIPLE PERIPHERALS NOW—SOFTWARE AUTOMATED PERIPHERAL SHARING. Introducing Crosspoint 8 —the first data switch that links any combination of peripherals and PCs up to 8 by software control. PC offices can access RS232c serial devices for about $100 per port—a lot less than duplicating peripherals for each PC. Crosspoint 8 means greater productivity with fewer peripherals, and more output from each. Set programs to run automatically on your choice of peripheral: Assign Lotus 1-2-3 to a dot matrix printer; Auto CAD™ to a plotter; WordStar to a laser printer; communi¬ cations to a modem. Use Crosspoint 8 for multi¬ tasking programs like Microsoft Windows.™ Each user can store up to 16 application configurations. The Crosspoint 8 package includes all necessary hard¬ ware to interface PCs and peripherals—like easy-to- connect data phone jacks and cable. Compatible with IBM and other PCs, it allows file transfer; LAN, and simultaneous user access. Add peripherals or change output in a flash with pop¬ up menus, or automate your ap¬ plications with batch file execution. Link to a leader for support you can count on. We’re committed to reliability with a 100% 1-year parts-labor warranty. A step-by-step manual starts you off—fast. Solo PC power users: Get 7-peripheral software control with Crosspoint AB + —for under $500. TO FIND YOUR NEAREST CROSSPOINT DEALER, CALL 1-800-232-7729 OR 503-485-4254. ■■Crosspoint Systems Copyright ® 1^6 by Crosspoint Systems, Inc., 1710 Willow Creek Circle, Eugene, OR
  4. Prices and specifications subject to change without notice. Lotus 1-2-3, Auto¬ CAD, WordStar and Microsoft Windows are trademarks erf Lotus Development Corp., Auto Desk, Inc., MicroPro lnt’1., and Micro¬ soft Corp., respectively. A SOLUTION IN A BOX: HARDWARE AND SOFTWARE TO LINK PCS AND PERIPHERALS BY SIMPLE MENU COMMANDS. CIRCLE NO. 161 ON READER SERVICE CARD IBM’s new 2,400 bps PC Modems give you an easy choice: Either way, you can’t go wrong. With IBM’s new modems and a personal computer you can tap into information at a very impressive 2,400 bits per second (bps). That translates into a binary file transfer speed of nearly 13 K characters per minute— or over six pages worth. Now imagine the im¬ pact that can have on your long distance tele¬ phone bill. But these new modems aren’t just fast, they’re also versatile. They can both send and receive data asynchronously at speeds rang¬ ing from 2,400 bps down to 75 bps. Both modems are compatible with the pop¬ ular “AT” command set, as well as the IBM command set. And they have been tested for compatibility with leading PC communications software such as Crosstalk™ XVI, Microsoft® Access, Kermit, Smartcom® and Smartcom II? The Automatic Modems These modems feature Automatic Adaptive Equaliza¬ tion at 2,400 and 1,200 bps— which means they will continu¬ ously fine-tune themselves to com¬ pensate for changes and noises on the telephone line. The result is, you can re¬ ceive data over a wider range of telephone line conditions. Both modems also feature automatic or manual answering and dialing. They’ll auto¬ matically switch to pulse dialing if tone dial¬ ing doesn’t work. They have automatic redialing. And once a'connection is made, automatic speed detection. They also have automatic detection of a voice or a failed call. A Modem with a Memory of Its Own The stand-alone IBM 5842 2,400 bps Modem offers some additional features. It can also send and receive data synchronously at speeds of 2,400 bps or 1,200 bps. You’ll find extensive “Help” menus. A dial direc¬ tory for 20 phone numbers. A log-on direc¬ tory for five log-on sequences. A built-in pattern generator for self testing. Diagnostics implemented from the front panel as well as from the computer keyboard. And a com¬ plete array of LED Status Indicators to give you a quick visual check on what’s happening. Internal. The IBM Personal Computer 2,400 bps Modem. Which One Is for You? The internal IBM Personal Computer 2,400 bps Modem is de¬ signed to occupy a half slot in the IBM PC, XT, AT and 3270 PC. The stand-alone IBM 5842 2,400 bps Modem is compatible with all models of IBM Personal Computers. And, in addition to the features mentioned above and its internal power supply, the significant difference is that a stand-alone modem can be moved from PC to PC more easily than an internal modem. If you feel that 2,400 bps is more modem than you need, we also offer the stand-alone IBM 58411,200 bps Modem, and the internal IBM Personal Computer 1,200 bps Modem. For the Authorized IBM PC Dealer nearest you—or for free literature on the IBM family of PC Modems—call 1800 IBM-2468, Ext. 936/EM. Or you can contact your — „ i ' sjt 111 IBM marketing representative, Crosstalk is a trademark of Microstuff, Inc. Microsoft is a registered trademark of Microsoft Corp. Smartcom and Smartcom 11 are registered trademarks of Hayes Microcomputer Products, Inc. CIRCLE NO. 172 ON READER SERVICE CARD I n the scientific laboratory, data ac¬ quisition and analysis programs are playing an increasingly important part in the manipulation of experimen¬ tal data. Similarly, such programs can be used in a variety of industrial appli¬ cations to control simple processes. Macmillan Software’s asystant+ converts the IBM PC and compatibles into a desktop data acquisition and anal¬ ysis system comprising several virtual instruments. For many applications that can tolerate moderate sampling rates, /VSVSTANT-f can take the place of more expensive, dedicated instruments-—al¬ beit at a loss in ultimate performance. . The basic version of the program, asystant, converts the PC into a sophis¬ ticated calculator. To that basic capabili¬ ty, the more advanced version, asys¬ tant + , adds the ability to control a data acquisition accessory, asystantt $ capa¬ bilities are similar to those of a sister product, asyst, which provides a FORTH interpreter-like user interface. display is referred to as the desktop cal culator and resembles a calculator in functionality. It is divided into five windows, four of which correspond to the facilities of an advanced program¬ mable calculator (see photo 1). The fifth window contains the main options that access other parts of the program, such as waveform processing and gen¬ erating, graphics, and curve fitting. The calculator windows are stack contents, calculator functions, parame¬ ters, and variables. Three other calcula¬ tor menus—array operations, conver¬ sions and special functions, and wave and matrix operations--can be inter- A SOPHISTICATED CALCULATOR asystant- s basic user interface is simi¬ lar to that of a stack-oriented, hand¬ held, electronic programmable calcula¬ tor, such as the various Hewlett-Packard (HP) models. In fact, the main screen ■-■I ASYSTANT+ from Macmillan Software provides sophisticated data acquisition for scientists and engineers from a desktop computer. VICTOR E. WRIGHT changed with the calculator functions (see figure 1). Each calculator menu in¬ cludes the selection, next, to display the next calculator menu. A key concept in learning to use ASYSTANT+ is that of the stack The program begins with a cursor positioned on the first selection of the main menu, acquire. Pressing PgUp moves the cursor to the calculator func¬ tions menu. This gives the expected as¬ sortment of mathematical functions and stack operators—store, stores the entry at the top of the stack in a parameter or variable; dup, duplicates the top entry in the stack; drop, drops the entry at the top of the stack; swap, switches the top two entries on the stack; and roll, places the bottom entry on the stack on the top and pushes the other entries down one. A status selection allows the user to select the format of numeric output: angular units for use with trig¬ onometric functions, and data type—in¬ teger, double-precision integer, real, double-precision real, complex, or dou¬ ble-precision complex. Calculator commands can be en¬ tered by moving the cursor to the de¬ sired selection with the arrow' keys and pressing Enter or by typing them at the keyboard. When a number, letter, or operator is typed, the main menu win¬ dow clears and a command line area appears in its place, regardless of the location of the cursor. Commands can be entered in Re¬ verse Polish Notation ( RPN) used by HP -an area of memory used for temporary data storage. Data can be placed on the stack from the keyboard or from other stor¬ age areas, and can be removed from the stack to be placed in other storage areas. Most operations and functions take their arguments from the stack and leave their results on the stack. HP cal¬ culator users and FORTH programmers should be comfortable with the system: . ASYSTANT+ The calculator functions menu is replaced with the array menu, the conversion and special functions menu, or the wave and matrix menu by selecting the “next” option. PHOTO 2: Window Options Hj Am to y Plot Minfaw Graphics xy (hi to xy Plot xy Axis The screen can be split into a variety of windows by select¬ ing the windows option, and each window can then be used to display data independently. and FORTH or in algebraic notation. The program expects RPN; an algebraic notation always must be preceded with the \ character. Commands can be en¬ tered in strings and then are terminated with the Enter key. Entering a valid number places a result on the stack. asystant+’s stack is limited to five en¬ tries, which are displayed in the stack contents window. Stack entries can be integers, real numbers, complex num¬ bers, or arrays of integers, real num¬ bers, or complex numbers. In the calculator menu, macros (“user functions”) can be assigned to the ten function keys. Each key can be assigned up to five lines of RPN or alge¬ braic notation. Pressing a function key while in the Calculator executes the macro. The macro assigned to one key can include the name of another key, so that additional functions may be per¬ formed by a single macro. The parameters and variables win¬ dows on the main screen display pro¬ vide two types of storage registers, nine of each. Parameters, A through /, store numbers; and variables, R through Z, store either numbers or arrays. Parame¬ ter and variable values can be copied to the stack, and stack entries can be cop¬ ied or moved to the parameter and variable registers. Parameters and vari¬ ables are available in all parts of the program, and they can be assigned descriptive names. VECTORS AND MATRICES The array operations menu is displayed by selecting the next option from the calculator functions menu. It offers a set of commands to create and manipulate arrays. asystant+ provides for two types of arrays; one-dimensional arrays, or vectors, and two-dimensional arrays, or matrices. An array occupies one slot on the stack or one variable. Arrays cannot be stored in parameters. The program uses two 64KB seg¬ ments of RAM for storage of arrays. One segment contains the arrays assigned to the variables R through Z, and the other segment contains any unnamed arrays on the stack. A single array can occupy an entire 64KB segment. The array operations menu offers selections for the basic vector and ma¬ trix operations. Three commands, n-.ramp, nm:ramp, and aedit, generate unnamed arrays and place them on the stack. N:ramp takes the top entry on the stack as the size of a one-dimensional array (vector) and replaces it with a vector in which the I th element contains the value i —the value of each element is equal to the index. Nrmramp takes the top two entries as the number of rows and columns of a two-dimensional array and replaces them with an array in which the if h element contains the value (i—l)m+j-—i is the row index and j is the column index. The commands xsect, sub, trans, diag, and reverse access certain array elements. Xsect takes the top element of the stack and replaces it with an ele¬ ment, sub with a subarray, trans with the transpose of the array, diag with the main diagonal, and reverse replaces the top element of the stack with an array with reversed column indices. Arrays can be reordered with the commands n:rot, reshape, sort, and lookup, and they can be indexed with index and n:search. Two commands combine two arrays to form a third; cat stacks the two arrays one over the oth¬ er, and lam places them side by side. Cumulative operations can be per¬ formed on die rows of an array to cal¬ culate sums and products and find cu¬ mulative maxima and minima. Arrays can be examined in spread¬ sheet format with the array editor func¬ tion, aedit. Arrays can be created direct¬ ly with aedit or with another command, rnramp, nmiramp, lam, or cat, for exam¬ ple, and then edited. They also can be built and edited by using other menu options and functions, but using the ar¬ ray editor is the easiest way to make minor changes. Switching to the third calculator menu, conversions and special func¬ tions, provides an assortment of options for converting data from one coordinate system to another, or from one data type to another, as well as special ad¬ vanced functions. Numbers can be con¬ verted from a pair of values on the stack, one real and one imaginary, into a single complex entry on the stack. A single complex entry can then be split into a pair of values. Data sets representing coordinates can be converted between Cartesian coordinates and polar coordinates or spherical coordinates. Also, complex numbers in the form x + jy can be converted to the polar form. (Note that PC Tech Journal is using the electrical engineering notation j for the imaginary part of the complex number rather than the mathematical form i.) The more advanced functions in¬ clude the error function, factorials, the number of combinations of things taken r at a time from a set of n things, the number of permutations of things taken 108 PC TECH JOURNAL asystant+’s available calculator menus provide a versatile selection of mathemat¬ ical functions for manipulating the obtained waveforms and matrices. r at a time from a set of n things, the Bessel functions, elliptic integrals, the gamma function, and the incomplete beta function. The wave and matrix menu, the fourth calculator menu, offers several numerical techniques for the analysis of waveforms and matrices. Storing wave¬ forms as arrays allows the use of many operations for the analysis of waveforms or matrices. A series of waveforms can be stored in a two-dimensional array, one waveform per row. Once the waveforms have been stored, two functions, smooth and window, are available to filter them. The smooth function, a low-pass filter, removes high-frequency components of a waveform in the time domain, to eliminate noise in a signal, for example. The window function simulates a Black¬ man window, filtering out selected high and low frequencies. This function is better suited to waveforms stored in the frequenq' domain. A waveform can be integrated by using Simpson’s 1/3 rule or differenti¬ ated by using interpolating polynomials of a user-specified degree as many as seven. Four functions are provided for Fourier transformations: fast Fourier transforms and inverse fast Fourier transforms for both one- and two-di¬ mensional arrays. An additional function calculates the power spectrum (the square of the magnitude of the Fourier transform) of an array. Other matrix operations included in the fourth calculator menu are the autocorrelation function, which is ap¬ plied to the top entry on the stack; the aperiodic convolution of the top two entries; the application of a Blackman window to a subset of the top entry; the Hilbert transform of the top entry; and the cross correlation of the top two en¬ tries. By combining these advanced functions, the user can filter signals with low-pass or band-pass filters to re¬ move noise or isolate signal compo¬ nents, process images, generate spectral analysis displays, generate diffraction patterns, and analyze signals in both the time and frequency domains. The program performs the basic statistical operations, average, standard deviation, maximum, and minimum. A single operator is provided to solve the matrix equation, y = Ax. The operator expects the y vector as the top stack en¬ try, and the A matrix (n by ri) as the second entry. It replaces these two en¬ tries with the x, or solution, vector. Ad¬ ditional matrix functions are available, they include commands to return the trace of a matrix (the sum of the diag¬ onal elements), the matrix product of two arrays, the Kronecker product of two arrays, the determinant of a matrix, and the inverse of a matrix. CHOOSING FROM THE MENU The main menu of asystant+ provides 11 options that enhance the versatility of the program. These options include, graphics, a waveform generator and processor, two file operations, users functions, curve fitting, polynomials, sta¬ tistics, differential equations, and a data acquisition menu. Graphics. asystant+ ’s graphics com¬ mands allow data to be displayed on the screen, on a graphics printer, or on a pen plotter. Graphics boards, printers, and plotters are selected from menus at the beginning of the initial session, and the selection can be changed at the be¬ ginning of any session thereafter. Arrays are used to store graphics data. Two types of graphic displays can be generated, Cartesian plots and three- dimensional plots. Cartesian plots in¬ clude line graphs of a single vector vari¬ able or a row of a rectangular array, plotted as a function of the indices; and line graphs of two vector variables or rows of rectangular arrays, with one variable or row taken as the indepen¬ dent variable and the other as the dependent variable. Three-dimensional representations include axonometric plots and contour plots of two-dimensional arrays (shown in photo 2). An axonometric plot dis¬ plays a surface representing the values of the plotted array superimposed over a rectangular grid; the height of the sur¬ face above the grid is proportional to the value of the array element. A con¬ tour plot displays a series of contour lines superimposed over a grid with the contour lines connecting elements of equal magnitude. The graphics display is available to preview graphics before plotting. The default screen display includes a graph¬ ics menu and a graphics window. The graphics window can be split into left and right halves, upper and lower halves, and four quarters. asystant+ is able to produce a plot ' with a minimum of information, by us¬ ing default values and scaling the axes to display all of the data in a single plot. The Setup command gives the user the ability to customize the plot by speci¬ fying minimum and maximum values, linear or logarithmic scales, labels, grids, and the location of the origin. Whenever an IBM Enhanced Graphics Adapter (EGA) is used, the axes, labels, background, and plot can be displayed in different colors. Users also can customize graphics windows with the addition of text labels. Labels can be positioned and aligned as desired. The contents of a graphics window can be saved to disk, and recalled at a later time for display. A graphics display is generated by selecting the type of plot —y Auto, y Plot, xy Auto, xy Plot, xy Axis, Axon, or Contour. The program prompts for the variable to be plotted and then displays a menu that includes the selections display graph and to plotter; these selections produce screen displays and plots. Waveforms. asystant+ includes both a waveform generator and processor. The generator creates arrays of values that represent a variety of continuous wave¬ forms typically available from analog function generators. These include sine waves, cosine waves, square waves, triangular waves, sawtooth waves, pulses, uniform noise, white noise, and Poisson pulse trains. In addition to se¬ lecting the type of waveform, the user can control the gain, bias, and frequen- FEBRUARY 1987 109 ASYSTANT+ cy of the waveform. These created ar¬ rays can be displayed on the screen, stored on disk, plotted on the pen plot¬ ter, and used as the digital input to an digital-to-analog convertor in asystant+. The waveform generator produces a single output—one of the waveforms listed above. However, the output can be stored in memory and then pushed onto the stack. Successive output wave¬ forms can be pushed onto the stack, and then the calculator can be used to manipulate or combine them, creating waveforms of arbitrary complexity. While in the waveform generator, two waveforms are immediately avail¬ able: the output of the generator and a waveform stored in memory. The out¬ put waveform can be added to the memory waveform to create complex waveforms without leaving the genera¬ tor. Waveforms can be plotted on either the screen or the plotter. The waveform processor provides a graphic alternative to the calculator for processing one-dimensional arrays (waveforms) or specified rows of two- dimensional arrays. The waveform pro¬ cessor display includes a large window in which a waveform is displayed, a se¬ ries of small windows that summarize the history of the wave processing ses¬ sion, and a menu of commands. The commands available in the waveform processor are a subset of those available in the calculator and file processor. However, intermediate re¬ sults are displayed on the screen inter¬ actively, and several graphic aspects of display can be specified by the user. Waveforms can be processed in segments, allowing uninteresting por¬ tions of the waveform to be ignored, or separate segments to be processed in different ways. A current segment can be selected graphically, by positioning two cursors in the main graphic win¬ dow. Segments of the waveform are stored in several repositories —WFM (waveform), ORG (original segment), MEM (memory segment), PRV (previous segment), and SEG (current segment). Images of the repositories are shown at the top of the screen for reference; con¬ tents of MEM and SEG can be com¬ bined with selections from the wave¬ form processor’s memory ops menu. Processing options include scaling the waveform with a fifth-degree poly¬ nomial, clipping SEG to a specified minimum and maximum, computing the derivative of the waveform (to a user-specified order), computing the in¬ tegral, smoothing the current segment, computing the power spectrum, and finding the envelope of the waveform. HIGH POWER WITHOUT THE HIGH PRICE Microstat® has been the most popular statistics package for microcomputers since we in¬ troduced it in 1978. In the past two years, Microstat has been requested by name on more military contracts than any other statistics package. When it comes to coverage, ease of use, accuracy, and value, Microstat is unbeatable. Just some of it features include: ■ Data Management Subsystem for file creation and management. ■ Data Transformations ■ Hypothesis Testing ■ Three types of ANOVA ■ Simple, Multiple, Stepwise Multiple Regression ■ 11 Nonparametric Tests ■ Factorials, Permutations, Combinations ■ Batch or Interactive Operation ■ Read external files (e.g., Lotus, dBasell, ASCII) ■ Descriptive Statistics ■ Scatterplots ■ Correlation Analysis ■ Time Series ■ 8 Probability Distributions ■ Crosstabs and Chi-Square ■ User’s Manual Microstat® is available for MSDOS, PCDOS, CP/M80, CP/M86. The price is $375.00. Multiple copy discounts and cost- effective site licenses are available. To order, call: 800-952-0472 (for orders) or 317-255-6476 (tech, info.) InfoWbcId | „ , | Software Report Card c o ^ o £ =5 £ <2 O uj MICROSTAT ECOSOFT Infoworld, March 16,1981. Functionally Documentation Ease of Use Error Handling Support Ecosoft Inc. 6413 N. College Ave. Indianapolis, IN 46220 An analysis menu provides selections to find the basic statistics, rise time, fall time, area under the curve, and width of a specified peak. Data file operations. Two submenus from the main menu are devoted to file op¬ erations: file I/O, and file processor. File I/O provides the basic facilities for storing and retrieving data associated with variables and for converting data files into files that can be used by other programs. The program supports two external formats: DIF and ASCII. asystant+ data files are physically composed of a block of comments fol¬ lowed by a series of data subfiles. Logi¬ cally, the file can consist of comments and data sets. Both subfiles and data sets contain multiple data points, and both are limited to 64KB, which corre¬ sponds to the area in RAM that asys- tant+ sets aside for the storage of vari¬ ables. A data file can contain several blocks that may represent various aspects of a model or experiment. asystant+’s file I/O menu allows subfiles and data sets to be selected as rectangular sections of a group of ar¬ rays. Even though the data file is actu¬ ally a linear sequence of values, data can be addressed by row and column number, just as if the data were ar¬ ranged in two dimensions. Data sets can be selected by specifying values or by scrolling through the file graphically. The file processor menu integrates calculator functions and disk I/O func¬ tions. The processing capabilities of the desktop calculator and the file proces¬ sor are identical. However, the file pro¬ cessor allows the user to specify the data source, the operations to be per¬ formed, and the destination for the re¬ sults. The actual processing can be al¬ lowed to proceed unattended, whereas processing with the desktop calculator usually must be performed step by step. Curve fitting. The curve fitting of asys- tant+ gives an interactive environment for fitting smooth curves through x-y data sets. Results are displayed as math¬ ematical values and in graphic form. The fitted curve can be specified as linear, polynomial, logarithmic, expo¬ nential, multilinear, or user-defined. Multilinear fits operate on one rectan¬ gular array and one vector, and the re¬ maining fits operate on two vectors. The goodness of fit is determined by the least-squares fitting method. Both the original data and the fit¬ ted curve are displayed, superimposed in a graphic window. The residual error curve is plotted in a separate window. Polynomials. An extensive set of poly¬ nomial operations can be performed CIRCLE NO. 131 ON READER SERVICE CARD PC TECH JOURNAL •; A *> **4/ ndows Magus Inc. Screen Designer /ARNING: This product may promote large comes, high productivity, and excessive free time. lagus, Inc. is proud to present •ata&Windows: a window-oriented data- itry system based on a new, revolutionary jsign philosophy. The only problem is ... hat should we call it? is easy to learn and use, like a panel ;nerator, because it allows you to draw your ■xt, fields, and colors on the video display, ut we can’t call it a panel generator, jcause it supports full windowing and rolling, and because screen and field Lformation may be stored in your program les (.EXE) rather than separate data files. is flexible and powerful, like a library- iented programmer’s toolkit, but you are not stricted to "visualizing" your data-entry indows as you type page after page of code ' set up borders, fields, text ana ghlighting. Our innovative approach ailed static windowing) eliminates the need r replication of static data in dynamic Lemory. produces tight code , like a YACC (Yet nother Compiler Compiler), but you don’t ive to tolerate a myriad of small program odules that need to be compiled and aintained. Instead, our "screen designer" eates Microsoft object files which you mply link with your applications. dd to this new, superior design philosophy le fact that it has more features, produces ghter code, and yields higher performance ian any of the above. Throw in a clear, mcise user manual, a thorough on-disk torial, and some example programs. Top it f with a utility program that documents ich screen and another that allows you to •ototype (or simulate) your application Tore you write a single line of code. Now, hat would you call it? st’s settle on a single word, et’s call it the "best." at don’t take our word for it. Order your mo disk today. You will receive a copy of ie screen generator, the tutorial, and some Dcumentation on the utility programs and brary routines. Then make the decision Durself. r take advantage of our one-time Ltroductory offer and get $100 discount if 3u order before March 31,1987. all (713) 665-4109 for more information, lajor credit cards accepted. SCREEN DESIGNER: Move/delete/center/fill/highlight block, global field redefinition, move/resize window and buffer, add/modify/move/delete field, insert/delete/undelete line, test/save/abort window, graphics characters, paint, jump-to- field, many cursor movement options, monitor switching, operating system calls, help. Set validation mode, highlight current field, scrolling by line or page, input mask, tabs, initial values. More. Up to 400 lines per screen. FIELD DEFINITION: Left-justify/right-justify/center, uppercase translation, built-in character validation, byte/integer/word/long/float/ double/string/date field validation, retain data, auto-erase, protected fields, input required, use commas, use zeros/spaces, margin bell. User-defined character validations, pattern-matching validations, picture validations, and field types. More. Up to 9999 fields per screen. LIBRARY ROUTINES: Open, close, move, display, and refresh windows. Allow user to edit data fields in window, or to view and manipulate a window but not change data stored in it. Pull-down and pop-up menus. Read screen object file from disk. Intercept keyboard filter. Override default key actions. Automatic and manual refresh. Switch display device, erase all data fields on window, plot data onto fields or entire screens, retrieve data from fields or entire screens, screen image dump, retrieve and modify screen and field attributes, locate field, force use of bios. Direct interfacing with some bios interrupts, including cursor and mouse control. More. Mnemonic and simple to use. REQUIREMENTS: IBM PC/XT/AT/JR or true compatible, DOS 2.0 or later, at least 128K free RAM, and the Microsoft C, Pascal, or Fortran compiler or the IBM C compiler. Support is available for other C Compilers and the XENIX operating system. Call for specifics. IBM, IBM PC, IBM XT, and IBM AT are trademarks of International Business Machines. Microsoft and XENIX are trademarks of Microsoft Corporation. For More Information (713) 665-4109 CIRCLE 180 ON READER SERVICE CARD Let’s Do Windows! □ C □ Pascal □ FORTRAN □ Please send_copies @ Introductory discount Your price □ Dat&Windows with Library Source Code Introductory discount Your price Hurry! Introductory offer expires March 31,1987. | Show Me More! 1 □ Send me a Demo $10.00 In Texas add 6.125% sales tax Outside U.S. add 15.00_| Total enclosed $ . ■ Enclosed is ■ I □ Check □ Money Order I ■ □ Visa □ MasterCard 1 • Number*
    Expiration Date_
    Name_
    Company I Address | I City - - I State _Zip Code I

    I Send to: I MAGUS, INC. I 4545 Bissonet Suite

    114

    j^Bellaire, TX 77401 $345.00
  5. 100.00 245.00 $695.00
  6. 100.00

    595.00 ASYSTANT+ from the polys menu. Polynomials can be added, subtracted, multiplied, di¬ vided, and shifted by a factor. Polyno¬ mial coefficients can be edited and cop¬ ied to a variable. Roots can be extracted and saved in a variable, and polynom¬ ials can be integrated and differentiated. Finally, selections are provided to gen¬ erate Legendre, Laguerre, Tchebyshev, and Hermite polynomials. asystant + can handle 10 polyno¬ mials. Each polynomial can contain real or complex coefficients and can be up to the ninth degree. A polynomial is first defined, and then it can be applied to the top stack entry. Statistics. The stats selection of the main menu presents a submenu of statistical operations and messages. An edit func¬ tion is available to allow the user to create or edit a data table without leav¬ ing the menu. The stats editor is identi¬ cal to the array editor that is provided in the desk calculator. The basic stats option computes and displays the basic statistics for a variable or subset of a variable. The sta¬ tistics displayed include the maximum value, the minimum value, the sum of the values, the mean, the median, the variance, the standard deviation, skew¬ ness, kurtosis, the sum of the squares, and the root mean square. These values are displayed in a window on the screen and can be sent to the printer. Other basic statistical functions such as sorting, percentile calculations, and hy¬ pothesis testing also can be performed from the menu. The hypothesis tests that are provided include the Kolmo- gorov-Smirnov normality test, the 1 sample t test, the 2 sample t test, the 1 sample chi-square test, the 2 sample F test, the Wilcoxon signed-rank test, and the Mann-Whitney rank-sum test. Histograms can be generated and plotted. The user specifies the number of breakpoints between “bins”. The program sets up the specified number of bins, equally spaced between the minimum and maximum data values. Once generated, the histogram can be plotted, saved to a disk file, or left in the calculator variables. A menu selection is available to generate commonly used frequency dis¬ tributions. These include both percent¬ ages and percentiles of the normal dis¬ tribution, the chi-squared distribution, the student t distribution, and the F (n,m) distribution. Two advanced analysis techniques are provided by asystant+. Stepwise re¬ gression is included with three varia¬ tions of the analysis of variance (anova) technique, one-way, two-way, and table. The anova techniques indicate which of several independent variables are most significant in explaining the variations in the dependent variable. asystant+ displays the results of anova in a table listing the sum of the squares, the de¬ grees of freedom, the mean sum of the squares, the F-value, and the signifi¬ cance level of the F-value for each com¬ ponent and the residuals. The regression option allows the construction of a model representing a dependent variable as a linear function of several independent variables. A vec¬ tor holds the dependent variable, and an array holds the independent vari¬ ables. The technique is interactive. Terms can be entered into and re¬ moved from the model with a few key¬ strokes; this allows several combina¬ tions of terms to be examined easily. Differential equations. asystant + provides a numerical method for solving first- order differential equations, ranging from a single equation to a system of five equations, using the fourth order Runge-Kutta method. Up to six variables are used, the X variable for the inde¬ pendent variable, and K, Z, U, V , and W for dependent variables. The model to be examined is spec¬ ified by entering the system of differen¬ tial equations, the initial conditions, and extrapolation parameters, consisting of step size used to generate the solution curves and the final X-value. Solution curves are stored in variables that can be displayed on the screen under the graphics menu, saved to disk, or sent directly to the plotter. Notepad. asystant+ includes a simple screen editor, the notepad, which is available from both text and graphics screens by pressing Ctrl-N. The manual cautions that the notepad is not in¬ tended to take the place of a word pro¬ cessor; however, the editor is equal to the task of taking notes during experi¬ ments and creating simple reports. The notepad is limited to straight ASCII text files with no control charac¬ ters (such as the ones inserted by most word processors), 16KB total file size, and 80-character lines. Arrow keys and function keys are implemented, to pro¬ vide cursor movement by character, word, line, word, and file. A limited set of block operations is available, as well as search and replace capability. Text can be inserted into the cur¬ rent notepad file when the editor itself is inactive, asystant + stores the current file name, and a cursor location. The calculator functions menu includes a print command that sends the top stack entry to the screen, printer, or current The Advanced Programmer's Editor That Doesn't Waste Your Time lOil fgk • Fast, EMACS-style commands—completely reconfigurable • Run other programs without stopping Epsilon—concurrently! • C Language support—fix errors while your compiler runs • Powerful extension language • Great on-line help system • Multiple windows, files • Regular Expression search • Unlimited file size, line length • Supports large displays • 30 day money-back guarantee • Not copy protected oniy yivb LLJcaanLj

    Software Ltd. 5740 Darlington Road Pittsburgh, PA 15217 Call (412J 421-5911 for IBM PC/XT/AT's or compatibles 112 CIRCLE NO. 125 ON READER SERVICE CARD PC TECH JOURNAL ... one package stands out as the best support available for Turbo Pascal programmers: Blaise Com¬ puting’s Turbo Power Tools. This definitive set of prewritten Pascal functions and procedures will make the life of any programmer — from the beginner to the hard-core professional—easier and more productive. ANOTHER PLUS FROM BLAISE COMPUTING The best just got bet¬ ter! Turbo POWER TOOLS, acclaimed as the best programmer support package for Turbo Pascal, now has even more functions, more detailed docu mentation and more sample programs. NOSECRETS Power Tools Plus™ Window Routines. Memory Resident Routines. Routinely. Turbo POWER TOOLS PLUS is crafted so that the source is efficient, readable and easy to modify. We don’t keep secrets! We tell you exactly how windows are managed, how interrupt service routines can be writ¬ ten in Turbo Pascal, and how to write mem¬ ory resident programs that can even access the disk. Maybe you’ve heard of some un¬ documented DOS features that resident programs use to weave their magic. Turbo POWER TOOLS PLUS documents these features and lets you make your own magic! Here*s j us t pa rt of th e PL US in Turbo POWER TOOLS PLUS: ♦ WINDOWS that are stackable, re¬ movable, with optional borders and a cursor memory. ♦ FAST DIRECT VIDEO ACCESS for efficiency. ♦ SCREEN HANDLING including multiple monitor and EGA 43-line support. ♦ POP-UP MENUS which are flexible, efficient and easy to use, giving your applications that polished look. ♦ INTERRUPT SERVICE ROUTINES that can be written in Turbo Pascal without the need for assembly lan¬ guage or inline code. CIRCLE NO. 104 ON READER SERVICE CARD I from ' ♦ INTERVENTION CODE lets you de velop memory resident applications that can take full advantage of DOS capabilities. With simple procedure calls, you can “schedule” a Turbo Pascal procedure to execute either when a “hot key” is pressed, or at a specified time. ♦ PROGRAM CONTROL ROUTINES allow you to run other programs from Turbo Pascal, and even execute DOS commands. ♦ MEMORY MANAGEMENT allows you to monitor, allocate and free DOS- controlled memory. ♦ DIRECTORY AND FILE HAN¬ DLING support to let you take advan¬ tage of the newer features of DOS including networking. ♦ STRING procedures al¬ lowing powerful trans¬ lation and conversion capabilities. ♦ FULL SOURCE CODE for all included routines, sample programs and utilities. ♦ DOCUMENTATION, TECHNICAL SUPPORT have distinguished Blaise Computing over the years. Turbo POWER TOOLS PLUS sup¬ ports Turbo Pascal Version 2.0 and later and is just $99.95 . Another quality prod¬ uct from Blaise Computing: Turbo ASYNCH PLUS ™ A new package which provides the crucial core of hardware interrupt support needed to build applications that communicate. ASYNCH PLUS offers simultaneous buffered in¬ put and output to both COM ports at speeds up to 9600 baud. The XON/XOFF protocol is sup¬ ported. Now it also includes the “ XMODEM ” file-transfer protocol and support for Hayes compatible modems. The underlying functions of Turbo ASYNCH PLUS are carefully crafted in assembler for effi¬ ciency and drive the UART and programmable interrupt controller chips directly. These func¬ tions, installed as a runtime resident system, require just 3.2K bytes. The high level function are all written in Turbo Pascal in the same style and format as Turbo POWER TOOLS PLUS. All source code is included for just $99.95. BLAISE COMPUTING INC. 2560 Ninth Street, Suite 316 Berkeley, CA 94710 (415) 540-5441 ORDER TOLL-FREE 800-227-8087 Calif, residents call (415) 540-5441_ domestic order phone: (--

    and attention to detail that Reprinted from PC Magazine, June 10, 1986 Copyright © i986 Ziff-Davis Publishing Company ASYSTANT+ notepad disk file. Disk file output can be inserted at the current cursor loca¬ tion or appended to the end of the hie. Charts and tables can be constructed in the stack with the various matrix opera¬ tors and functions, edited with the aedit command, and then inserted into the notepad hie. Mini-calculator. A streamlined version of the desk calculator, the mini-calculator, is available from both text and graphics displays when any of the main menu options is active. Only the command line can be used for input; menu input • Attach to most IBM PC compatibles • Cobol, Fortran, BASIC, and C support • 800 NRZI, 1600 PE, and 6250 GCR • Transfer rate is 1-4 MByte/Minute • Block lengths up to 65K • ANSI, IBM, DEC, and DG supported • Support for most record types • Multivolume and labeled tapes • Select specific records to transfer • Record reformatting and translation • Hard disk backup utility • Support for many tape drive models is not available, and those commands that are only available as menu selec¬ tions cannot be called from the mini¬ calculator. The display consists of the stack and a command line. DOS commands and help. A menu of basic DOS operations can be invoked by pressing Ctrl-D. Menu selections can delete, copy, and rename hies, display directories, and return to asystant+. An on-line help facility can be invoked by pressing the ? key. It is context sensitive and organized to follow the structure of the manual. The help display can be The price for controller card, cable, and transfer software is only $795. The op¬ tional tape data reformatting utility is $195. Several model tape drives are available for $2700 to $9200 depending on features. Since 1982, we have installed thousands of diskette and tape conversion systems at customer locations around the world. Call us today for help in connecting a 9-track tape system to your IBM PC. paged by pressing the Space Bar, or navigated with the function keys. ACQUIRING THE DATA In addition to the basic ASYSTANT facil¬ ities, asystant+ includes the software necessary to control data acquisition hardware, The host computer, under the control of asystant+, becomes the control panel and graphic display for several such devices. In each case, the computer display resembles a tradi¬ tional analog instrument. Data acquisition functions are avail¬ able from the data acquisition menu, which is displayed when the acquire option is selected from the main menu. This menu includes selections for the various instruments asystant+ can emu¬ late and a selection for configuring the software to match the data acquisition board or external chassis. Configuration of the system is menu-driven. It consists of selecting the host computer and the data acquisition board from lists of supported devices and then setting various parameters to match the physical configuration of the data acquisition board. The manual astutely warns the user that determining the physical configuration of the hard¬ ware may not be a trivial matter. A detailed appendix provides information about the configuration of supported boards; it is presented clearly and con¬ cisely enough to replace most data acquisition board manuals for standard applications. It should be noted that configura¬ tion involves specifying the host com¬ puter as well as the data acquisition board, even though the program is in use on the host computer. The program must know the clock speed of the host computer to perform timing tasks. Data acquisition board parameters that are specified during the configura¬ tion process include the board’s I/O ad¬ dress, the number of A/D channels, the A/D channel voltage range, the hard¬ ware gain, the number of D/A channels, and the D/A voltage range. asystant+ does not necessarily support all of the features and configurations of sup¬ ported boards, but the manual docu¬ ments the ones that are. Additional configuration parame¬ ters, selected from the acquisition con¬ figuration menu include confirmation that a hardware scroller board (a high¬ speed, strip-chart recorder) is installed, the specification of engineering units to be used in hie conversion, color assign¬ ments for A/D channels when an EGA board is installed, the assignment of names to channels, and a bit pattern to f FLAGSTAFF

    ENGINEERING 1120 W. Kaibab • Flagstaff, AZ 86001 • Telephone 602-779-3341 9 TRACK TAPE Our “TAPE CONNECTION” system is used by hundreds of companies for mailing lists, report filing, check processing, sales analysis, off-line printing, and exchang¬ ing large data base files with a mainframe. Our system features: 114 PC TECH JOURNAL 0/S ARCHITECTURE: sink with UNIX or soar with QNX If the sheer weight of UNIX brings the PC to its knees, all applications running under it will suffer. Conceived more than a decade and a half ago, UNIX is today the result of modifications, additions and patches by hundreds of programmers. It needs the resources of at least an AT. Compare this to the QNX O/S, designed by a dedicated team with a common purpose and complete understanding of both the software and the environment in which it must run. Having elegantly solved the problem of inter-task communications, QNX is more than capable of both networking and real time performance
  7. the superior choice for process control and office automation systems. Quick and efficient on a PC, QNX soars on an AT. QNX occupies 70K (stand-alone version) to 104K (network version) of system memory and allows 40 tasks (programs) and up to 10 terminals per computer. QNX modular architecture facilitates easy adaptation and extensions by software developers for specific requirements. In addition, PC-DOS runs as a single-tasking guest operating system under QNX. With the DOS Development System, DOS EXE files can be developed in shorter time than under DOS itself. Communication among all tasks is via “message-passing.” Tasks anywhere on a network of up to 255 computers communicate rapidly and transparently with each other. With the true distributed processing and resource sharing of QNX, all the resources on the network are available to any user. Application programs and data can be distributed over the network without having to go through a central file server. Network growth is fast and simple. If your disk becomes a bottleneck, add a disk anywhere on the network. If your needs outgrow your present configuration! just add terminals and/or computers as required, without having to re-write programs and without system degradation. If you would like to know the secret of the QNX architecture, please give us a call. We invite End Users, VAR’s, OEM’s and Software Developers to discover a whole new world of computing capabilities. Over 25,000 systems have been installed worldwide since 1982. Multi-User 10 serial terminals per PC, AT. C Compiler Standard Kernighan and Ritchie. Multi-Tasking 40 (64) tasks per PC (AT). Flexibility Single PC, networked PC’s, Networking 2.5 Megabit token ring. 255 PC’s and/or AT's per network. 10,000 tasks per network. Thousands of users per network. Single PC with terminals, Networked PC’s with terminals. No central servers. Full sharing of disks, devices and CPU's. Real Time 2,800 task switches/sec (AT). PC-DOS PC-DOS runs as a QNX task. Message Fast intertask communication between Cost From US$450. Passing tasks on any machine. Runtime pricing available. For further information or a free demonstration diskette, please telephone (613) 726-1893. The only multi-user, multi-tasking, networking, real-time operating system f^L^Zfor the IBM PC, AT t and compatibles. By Quantum Software. Unix is a registered trademark of AT a T Bell Labs. IBM PC. AT. XT and PC DOS are trademarks of IBM Corp. Quantum Software Systems Ltd., Moodie Drive High Tech Park, 215 Stafford Road, Ottawa, Ontario, Canada K2H 9C1 CIRCLE NO. 239 ON READER SERVICE CARD ASYSTANT+
  8. \ STOP HALF-FAST PROGRAMMING! Speed Up YOUR Programs With... THE^WVTCHER An execution profiler for IBM PCs and compatibles. Most programs run at less than half the speed they could. You can opti¬ mize almost any code, but where do you start? A typical program spends 90% of its time in 10% of its code. The Watcher identifies that critical 10% for you, so you don’t waste your effort on the wrong 90%. The Watcher is easy to learn and easy to use, and we provide full technical support. Watcher users have increased program performance by as much as 300%. You can get similar results. The Watcher works with any non-interpretive language on DOS version 2 or 3. Turbo Pascal users: A special section of our manual is dedicated to you! THE^WMCHER only $59.95 68 Plus $3.00 Shipping & Handling. To order or for free information, call or write: Forest Road Wilton, New Hampshire 03086 (603) 654-2525 CIRCLE NO. 244 ON READER SERVICE CARD FUNCTION GENERATOR STRIP CHART RECORDER TRANSIENT RECORDER DATA LOGGER HIGH SPEED RECORDER SIGNAL AVERAGER HARDWARE SCROLLER FIGURE 2: Data Acquisition Menu XY RECORDER Although the accuracy that can be obtained from a PC-based data acquisition sys¬ tem does not match that of individual laboratory instruments, asystant+ does man¬ age to provide an economical solution for moderate sampling rates. be set on the digital output port at the beginning of a data acquisition session. A final option is the selection of an un¬ protected mode. ASYSTANT+ normally op¬ erates in a protected mode, in which it prevents acquisition of data at sampling rates above that known to be reliable (the Nyquist rate). The unprotected mode allows the user to specify higher sampling rates at the risk of hanging the system, requiring a reboot. With the data acquisition board in¬ stalled and configured, asystant+ pro¬ vides the user with the ability to select the preferred interface, or metaphor , from the data acquisition menu. Each selection performs the same basic task, that of controlling the data acquisition board, but it resembles a different labo¬ ratory instrument (see figure 2). asystant+ can simulate a strip-chart recorder, a hardware scroller (if one is installed), an XY recorder, a transient recorder, a data logger, a high-speed re¬ corder, a signal generator, and a func¬ tion generator. When an instrument is selected, the program displays a sub¬ menu including options to set or mod¬ ify instrument parameters, to begin acquiring data, and to return to the data acquisition menu. Set-up parameters can be saved to disk and recalled. In general, acquisition parameters are common to all of the instruments; although some of them require the specification of additional parameters. asystant + displays the current parame¬ ters on a configuration screen, along with appropriate limitations, and prompts the user for new values. The parameters required to set up a gener¬ al-purpose instrument for a session are trigger type, internal or external clock, number of analog input channels, the first channel in a scan cycle, value for the software gain, the acquisition rate, the number of data points per channel, the number of scans to perform in the session, and the file to be used for data storage (file storage is optional). Because data acquisition boards typically multiplex several analog input channels through a single analog to dig¬ ital converter and have limits on the speed at which they can operate, these parameters are interrelated. For exam¬ ple, in the high-speed recorder mode, the maximum acquisition rate is in- 116 PC TECH JOURNAL Introducing the new 386XT Personal XT M ctd386% Quad386XT turns your XT into a 386 for less than $1500. Step up to the power of 386 with Quad386XT from Quadram. At under $1500, it’s the first system en¬ hancement to deliver uncompromised 386 per¬ formance for your PC XT. The power of 32-bit processing* Just plug Quad386XT into your PC XT. It’s easy. There are no switches or jumpers to set. The on-board 80386 chip takes charge of your XT system with true 32-bit pro¬ cessing, unlimited memory access, greater speed, and full PC program compatibility. Multitasking at 16MHz! With Quad386XT, your XT acts like a $7000 Compaq 386 machine. IBM is a trademark of International Business Machines Inc., Compaq is a trademark of Compaq Computer Corp. The Qpadram logo, Qpad386XT are trademarks of Quadram Corp. And at 16MHz, Qpad386XT gives you fast, efficient multi¬ tasking. Run your programs con- currendy and watch your productivity jump! Attention DP managers and VAD/VARs. Quad386XT makes perfect sense when you want to upgrade or custom-tailor a system for true 386 perfor¬ mance. And at under $1500, it’s the smartest choice around. For more information, contact us at One Quad Way, Norcross, Georgia 30093,404-923-6666 QUADRAM ' An Intelligent Systems Company CIRCLE NO. 223 ON READER SERVICE CARD ASYSTANT+ versely proportional to the number of channels selected. asystant+ extends the operation of its waveform generator to the control of the data acquisition hardware, allowing the system to operate as a function gen¬ erator. The digital values determined by the function generator are used to pro¬ duce analog signals with the data acqui¬ sition board’s digital-to-analog con¬ verter. The function generator provides two output channels, taking arrays stored in variables R and S as the input waveforms. The function generator can create standard waveforms, experimen¬ tal waveforms acquired from earlier ses¬ sions, and waveforms that have been processed by any asystant+ function. asystant+’s function generator is capa¬ ble of providing signals that are not available from conventional analog function generators. It is limited in speed and resolution to a throughput of 300 to 400 points per second. The function generator can be used as a stand-alone device or in con¬ junction with other asystant+ instru¬ ments. In either mode, the generator’s output can be controlled interactively. As a stand-alone device, it can replace a conventional generator and drive a plot¬ ter or real-strip chart recorder to pro¬ duce a hard copy of a waveform. When used in conjunction with the other in¬ struments, the generator can provide a known stimulus or control signal to the experiment Using the generator with other asystanth- devices can affect the operation of the generator or the other device, reducing the throughput of the acquisition instrument. The program, however, does allow the operator to set the priorities of concurrent tasks. asystant+’s strip-chart recorder is a digital replacement for an eight channel strip-chart recorder. The screen display resembles an analog strip-chart record¬ er with data points that appear at the right edge of the display and move across the screen as if on moving pa¬ per. The screen displays only the active channels, providing greater resolution as the number of channels is reduced from the maximum of eight. The strip-chart recorder is limited to a maximum throughput of 40 to 70 Hz (points per second in this con¬ text), the exact maximum rate depends upon the hardware configuration. If the maximum number of channels is select¬ ed, and data are output to disk concur- rendy, the throughput is reduced. Thus, the recorder is suited 6nly to slowly varying signals. If data file output is not selected, the data are lost once they scroll off the screen. Personal REXX for the IBM PC ★ Interpreter for the full REXX language, including all of the standard REXX instructions, operators, and built-in functions ★ Sophisticated string manipulation capabilities ★ Unlimited precision arithmetic ★ Direct execution of DOS commands from REXX programs ★ Built-in functions for DOS file I/O, directory access, screen and keyboard communication, and many other PC services ★ Compatible with VM/CMS version of REXX ★ Uses include: — Command programming language for DOS — Macro language for the KEDIT text editor — Can be interfaced by application developers with other DOS applications, written in almost any language Mansfield Software Group, Inc. $125 plus $3 shipping
  9. O. Box 532 MC, VISA, AMEX, COD, PO, CHECK Storrs, CT 06268 (203) 429-8402 CIRCLE NO. 263 ON READER SERVICE CARD While it is operating, the strip-chart recorder can be controlled. The data ac¬ quisition rate and gain can be altered; data file output can be suspended and resumed; and the display resolution can be modified by skipping data points. If the function generator is active, it may also be adjusted. The XY recorder acquires data from a maximum of two channels and displays the data on an xy plot—one channel’s input corresponding to the x axis and the other corresponding to the y axis. It is possible to display vertical and horizontal grids either individually or together. The XY recorder has a higher throughput, ranging from 340 to 670 Hz, than does the strip-chart recorder. The difference in speed is due to the limit of two channels, and to a lack of concurrent data file output that is avail¬ able only between scan cycles. The user can select a single scan mode in which the recorder pauses to allow data file output or a continuous scan in which data file output is not an option. The XY recorder can be interac¬ tively controlled. While the recorder is acquiring and plotting data, the user can set the acquisition rate and pro¬ grammable gain, adjust the function generator (if it is enabled), change the display increment and halt the scan. Be¬ tween scans, data can be saved to disk if data file output was selected; then the next scan can be initiated, and the cur¬ rent scan can be displayed versus time, superimposed on the xy plot. To acquire data before and after an event in an experiment, the transient recorder captures and plots analog data in two stages, based on two triggers. It can acquire data on as many as eight channels with a maximum throughput of 340 to 800 Hz. The user must specify two triggers to begin acquisition of data for each stage. The recorder acquires and then plots the data. As with the XY; recorder, data can be output to a disk file only between scans. A continuous mode and active control during opera¬ tion are available. The data logger is a low-speed de¬ vice that provides for analog data input from up to four channels and the con¬ trol of eight digital lines. Its throughput is limited to 1 Hz. However, concurrent data file output, realtime conversion of voltagevto engineering units, and simul¬ taneous hard-copy output are available. Data are displayed in text form on the screen in realtime. Setting the acquisition parameters for the data logger requires three screens instead of the usual one for se- 118 PC TECH JOURNAL AN ELECTRONIC DETECTIVE In a practical application, asystanth- can be used as a sophisticated detec¬ tive in an industrial plant. As an example, a plant engineer installs a tachometer on a component of a production line, and it produces a clean, square wave. However, when the tachometer is connected to the control panel several hundred yards away, the control panel display is greatly altered and meaningless. The plant engineer connects a microcom¬ puter with a data acquisition board and asystant + installed, and finds a signal like the one shown in figure 1, instead of the square wave. The plant engineer then takes the asystant + equipped microcom¬ puter to the tachometer and meas¬ ures the signal directly. As expected, its output is normal, the square wave shown in figure 2. Evidently, the sig¬ nal is being degraded between the tachometer and the control panel. Because the line from the tachom¬ eter to the control room is routed through the plant, past various ma¬ chines and switchgear, the plant en¬ gineer is not surprised. The problem is to identify the offending signals and their sources. With the noisy signal at the con¬ trol panel and the square wave sam¬ pled at the tachometer stored in asystant + variables, the engineer is ready to begin analyzing the signal. After verifying that the square wave and the noisy signal samples repre¬ sent the same time interval and the same number of data points, the en¬ gineer subtracts the square wave from the composite signal. Subtract¬ ing the two arrays stored in the vari¬ ables from each other and storing the result in another variable leaves just the noise that is picked up in the system. The resulting waveform, plotted in figure 3, is still made up of several components. On a logical hunch, the plant engineer tries subtracting a 60 Hz sine wave, to remove any “power hum”. After a few attempts with the waveform processor to get the cor¬ rect amplitude, the waveform of fig¬ ure 4 results. At this point, two components are clearly discernible, a high fre¬ quency sine wave riding on a lower frequency sine wave. The frequency of each waveform is easily deter¬ mined, at least in this simplified ex¬ ample. With the frequencies of these components known, the engineer can set about locating their sources. For a more complicated situation, other methods such as plotting the power spectrum can be used. —Victor E. Wright The waveform at the control panel has a large amount of The waveform that is produced at the tachometer end of the noise superimposed on the square wave. signal lines is in the form of a clean square wave. Subtracting the square wave from the waveform in figure 1 shows the noise that has been inducted in the cables. After the removal of the power hum, the remnant noise can be seen to be two waveforms, as shown in this example. FEBRUARY 1987 119 Best of All \AJhr1rlc The 80386 chip. The “hi# bang” that’s put the speed and power or a mini¬ computer into a desktop PC. As awesome as the creation of the universe, the 80386 signals the beginning of a new generation of computers. But how will you make them run? Will you choose an operating system’designed for the world of DOS applications.. .or one for the world of multi-users? Introducing a new star, PC-MOS/386"'... The Best of All Worlds. The Brightest of the Multi-User Operat¬ ing Systems. PC-MOS was specifically designed to take full advantage of the 80386’s 32-bit multi-user power. Planetary features include file & directory secur¬ ity, access to four GIGABYTES of memory, and graphics support for 25 terminals driven by a single 80386-PC. PC-MOS’s “Hot Spots” .. 10,000 DOS Appli¬ cations. DOS program compatibility puts a world of applications at your fingertips.. .like Lotus 1-2-3, dBASE HI, and WordPerfect. Plus, multi-tasking lets each user run up to 25 programs at the same time. New Stars Are Still Being Bom. Call The Software Link TODAY for more information and the dealer nearest you. PC-MOS/386™ will make its earth orbit in February 1987 with single- 1 user, 5-user, & 25-user versions. PC-MOS/386 M THE FIRST 80386 OPERATING SYSTEM c© THE SOFTWARE LINK, INC. 8601 Dunwoody Place, Suite 632 Atlanta, GA 30338 Telex: 4996147 SWLINK CALL: 404/998-0700 Dealer Inquiries Invited THE SOFTWARE LINK, INC./CANADA 250 Cochrane Drive, Suite 12 Markham, Ont. L3R 6B7 CALL: 416/477-5480 PC-MOS/386" 1 is a trademark of The Software Link. Inc. Lotus 1-2-3. dBASE III, & WordPerfect are trademarks of Lotus Development Corp. AshtonTate, & WordPerfect Corp.. respectively Technical specifications subject to change. Copyright O 1986 by The Software Link. Inc. CIRCLE NO. 196 ON READER SERVICE CARD ASYSTANT+ lecting and configuring the analog input channels. Screens are provided to de¬ fine from one to four stages and up to six alarm triggers. The stages allow the acquisition rate and control logic to be varied during the course of an experi¬ ment. The alarm triggers control the display of messages and output of user- defined bit patterns on the digital lines according to analog input levels or digi¬ tal input bit patterns. The ability to place bit patterns on the digital port allows the data logger to be used as a controller. It can monitor and display up to four process variables measured with analog sensors, and it can monitor the states of as many as eight digital, two-position, devices. Based on these conditions, the data log¬ ger can provide an eight-bit digital out¬ put, which can be used to control eight digital devices or, if suitably converted, an analog device. It cannot directly con¬ trol a proportional control device. The high-speed recorder provides the highest sampling rate of the asys- tant+ instruments, matched only by the signal averager. Depending upon the data acquisition hardware, the sampling rate may exceed 30 KHz. The sampling rate that is realized is affected by the number of channels specified, as well as by the add-on hardware limitations. This high-speed recorder performs its tasks sequentially, first acquiring the data, then plotting them on the screen, and finally recording them to disk. Users can disable the screen display to reduce the time between scans. Active control is provided, allowing the data plot to be examined in detail between each of the scans. The signal averager is similar to the high-speed recorder, offering the same sampling rate and number of channels and storing a cumulative aver¬ age of multiple scans. It allows data file output only at the end of a session, at which point it stores the current cumla- tive average. The display is similar to that of the high-speed recorder, howev¬ er, it shows the current scan and the cumulative average scan superimposed for each channel. HARDWARE CONSIDERATIONS asystant+ runs on the IBM PC family of computers, as well as on compatibles. The full 640KB of RAM supported by PC-DOS must be installed, along with an 8087 or 80287 math coprocessor, two diskette drives or one diskette and one hard-disk drive, and a supported graphics board. Supported graphics boards include the IBM Color Graphics Adapter (CGA), the IBM EGA, the Her¬ HARVEST THE KORN Over 70 programs bringing elements of UNIX System V.2 to the world of DOS. Our tools enhance your efficiency on machines like AT&T 6300, IBM PC, XT, AT and compatibles. We offer: shell — Korn shell compatible — combines best features of Bourne & C shells vi — a detailed implementation of the UNIX full-screen editor awk — the only commercially-available version offering Bell Lab's latest published specs cat chmod cmp comm cp cpio ctags cut date dd dev df diff du echo ed egrep fgrep file find head help join Ic Is more mv nm od paste Pg prof pwd rm sed size sort split strings tail time touch tr uniq wc and much, much more . . Programs come with complete UNIX-style command-line file name expansion and are not copy protected. Phone support 9-6 EST. Full documentation is included. Price: $139.00 Mortice Kern Systems Inc. 43 Bridgeport Rd. E., Waterloo, Ontario N2J 2J4 For information or ordering call collect: (519) 884-2251 MasterCard & Visa orders accepted. OEM & dealer inquiries invited. UNIX is a trademark of Bell Labs. MS-DOS is a trademark of Microsoft Corp. STREAMLINE YOUR PROGRAMMING CIRCLE NO. 174 ON READER SERVICE CARD cules Graphics Card, the AT&T High- Resolution card, and the HP Vectra Mul¬ timode adapter. The program performs the basic asystant tasks without installing addi¬ tional hardware. However, if data acqui¬ sition is to be performed, asystant+ does require that a data acquisition board or external data acquisition chas¬ sis be used. Supported data acquisition hardware includes the Cyborg Issac 91- I, the Dataq WFS-200PC Waveform Scroller, Data Translation’s DT2800 se¬ ries, IBM’s Data Acquisition and Control Adapter, the Keithley Series 300 system, Metrabyte’s DASH-16 board, and Tec- mar’s Lab Master and Lab Tender boards. (See “Digitizing Analog Data,” Eric M. Miller, May 1986, p. 52 for re¬ views of some of these products.) asystant + is a demanding program. In addition to installing 640KB of RAM, the user must ensure that the maximum amount of RAM is available. TSR (termi¬ nate and stay resident) programs and device drivers must be kept to a mini¬ mum; the safest course is to use only the standard DOS configuration. For this article, asystant-f was tested on a Heathkit H-241 AT-compati- ble computer, with 640KB of RAM, 2,176KB of extended memory, an 80287 numeric coprocessor, a Concept Tech¬ nologies ConceptBoard graphics adapt¬ er, and a Data Translation DT2801A data acquisition board. Although asystant + can operate on a dual-diskette system, a hard disk should be considered a practical re¬ quirement. Macmillan furnishes asystant + on six diskettes—running the program from diskette drives requires frequent swapping of diskettes and se¬ verely limits file storage. Program configuration is an option when the program is first loaded. The program displays a sign-on message and then a menu with options to recall functions, parameters, and variables from a disk file, to perform hardware configuration, and to begin using the program. The second selection, Setup, displays a configure menu, with options for selecting the display, plotter, and printer, and for disk assignments for the system overlay, data, and help files. The initial installation of the program con¬ sists of copying the files from the distri¬ bution disks. Configuration is accom¬ plished at the beginning of the initial session and can be repeated at the be¬ ginning of any subsequent session. FEBRUARY 1987 121 ASYSTANT+ asystant+ uses a straightforward method of configuring and controlling a data acquisition board. However, instal¬ lation of a data acquisition board in a typical microcomputer system may re¬ quire the reconfiguration of other boards, the use of a nonstandard config¬ uration of the data acquisition board, or the removal of other boards. Most data acquisition boards are designed and factory-configured to operate in a stan¬ dard microcomputer system, and asys- tant+ assumes the use of a factory-con¬ figured board. Microcomputers that have multiple video boards, high-reso¬ lution graphics boards, nonstandard mass storage device controllers, mice scanners, and other accessories may be difficult to configure. The program allows the specifica¬ tion of the I/O address of the data ac¬ quisition board, and most data acquisi¬ tion boards can be jumpered to one of several addresses. Selecting an unused I/O address in a complex system may not be trivial, but it can be accom¬ plished with some research. To provide high-performance hard¬ ware, many data acquisition board com¬ panies incorporate circuitry to use the computer’s DMA channels, as do the manufacturers of hard-disk controllers, tape backup systems, optical scanners, network interface boards, and other high-performance accessories. The stan¬ dard PC has four DMA channels, two of which are free for accessories; the XT has only one free channel to support all of the accessories that require DMA ser¬ vices. asystant+ does not use DMA, but some acquisition boards must be con¬ figured to use DMA The user must pay attention to this issue. Some data acquisition boards im¬ plement a memory mapped addressing scheme rather than an I/O addressing scheme, using the memory above the base 640KB of user RAM. These boards, designed when it appeared that there were “holes” in the PC’s memory map, may conflict with the EGA and other video boards or with other accessories that use normally vacant segments of the memory map. RATING THE PERFORMANCE As a calculator, asystant+ is a high-per¬ formance program. Most computational tasks, including matrix operations, are performed almost instantaneously. A few of the advanced operations are slower, but still reasonably fast, requir¬ ing a few seconds at most. As a data acquisition system, asys- tant+ realizes the potential of the microcomputer. Critical elements of the program are written in assembly lan¬ guage to attain the highest possible speed of operation. However, a micro¬ computer is limited by its design as a general purpose computing machine. Overall system throughput is limited by the speed of the data acquisition board, the clock speed of the computer, and the speed with which data can be writ¬ ten to disk. asystant+ achieves its ulti¬ mate performance, which is essentially the performance limit of the data acqui¬ sition accessory, by dedicating the host computer to controlling the accessory and transferring the acquired data to RAM. Graphic displays and disk I/O are performed between acquisition tasks. asystant+, a data acquisition board, and a microcomputer will not replace a battery of high-performance, dedicated laboratory instruments. Dedicated in¬ struments are able to offer higher sam¬ pling rates, sometimes by factors of hundreds or thousands, than does an asystant+ data acquisition system. Fur¬ thermore, they provide higher accuracy and resolution. As an example, an HP 3852S Data Acquisition and Control Sys¬ tem, suitably configured, can acquire 100,000 readings per second and store up to the order of 64,000 readings lo¬ cally. High-performance digital storage oscilloscopes and waveform analyzers 122 PC TECH JOURNAL can acquire data at sampling rates of tens of millions of samples per second. Nevertheless, the asystant+ based sys¬ tem is a sound solution to the data acquisition problem. An example of asystant+’s uses is given in the accom¬ panying sidebar. It should be noted that the basic acquisition and analyzing of data is pro¬ vided by the data acquisition hardware and not the program. The ambitious ex¬ perimenter/programmer may be able to do quite well without asystantt, by writing custom software to control the hardware. But the average experiment¬ er, who must concentrate on the task at hand, will find that asystant+ makes configuring a comprehensive system a relatively straightforward procedure. Writing custom software to match asys- tant+’s analysis and presentation capabilities could not be done within a reasonable timeframe. THE SOFTWARE PACKAGE ASYSTANT+ comes with seven diskettes. The program is copy protected; a key diskette must be inserted in a diskette drive to load the program. An alterna¬ tive to the key diskette arrangement is available from Macmillan in the form of a hardware protection device. All of the software can be copied to the hard disk or to the diskette drive with the DOS COPY command. The manual is a 2-inch, loose-leaf binder with 8^ by 11-inch pages. It in¬ cludes a tutorial, a reference section, several appendices, and an index, all separated with tabbed dividers. A hard slipcase is included. Both the printing and packaging are excellent. The tutorial is thorough and accu¬ rate. It guides the user through the es¬ sential features of asystant+. Although the tutorial assumes that the user already has some knowledge of data acquisition, it is suitable for use as a re¬ fresher for occasional practitioners, or as an introduction for a determined be¬ ginner. The tutorial can be completed in a reasonable amount of time. The reference section is well organized, closely following the pro¬ gram’s menus. It covers the simulated instruments in considerable detail. The user will seldom have to refer to the data acquisition hardware documenta¬ tion if the hardware is controlled exclu¬ sively With ASYSTANT-K One possible drawback is that the manual is definitely not a mathematics textbook. The advanced math functions available in the calculator are summar¬ ized only briefly. Users who occasion¬ ally require Bessel functions and fast Fourier transforms may need to keep an assortment of math textbooks handy. The sister product, asyst, provides a more insightful tutorial for using the mathematical functions. asystant + adds realtime data acqui¬ sition capabilities to the asystant calcu¬ lator, which rivals any general purpose computational tool, microcomputer- based or not, in terms of speed, ease of use, and functions. The data acquisition capabilities obviously do not match those of dedicated instruments. Howev¬ er, they do provide a comprehensive as¬ sortment of techniques for applications that can tolerate moderate sampling rates and provide these features at much lower cost than dedicated instru¬ ments. Aii asystant + system is a well- balanced solution to moderate data ac¬ quisition needs and a high-perfo rmance solution to analysis needs. L'~"" ASYSTANT+: $895 Macmillan Software Company 866 3rd Avenue New York, NY 10022 212/972-3960 CIRCLE 348 ON READER SERVICE CARD Victor E. Wright is the manager of process engineering at Luckett & Farleys located in Louisville, Kentucky. nights you spent eating soda and wishing vou had This is for Steve Klein and Dave Rolfe... two partners of Singular Solutions Engineering of Pasadena, California, and for the more than 100 other people at Lotus® who comprised the Ix>tusHAL“ team. Without their help, Lotus HAL would never have become what it is today: one of the most successful new releases in personal computer software smce 1-2-3. Thanks Lotus Development Corporation © 1987 Lotus Development Corporation. Lotus and 12-3 are registered trademarks of Lotus Development Corporation. Lotus HAL is a trademark of Lotus Development Corporation. Lotus HAL is distinguished from HAL. which is a trademark of Qantel for its Hotel and Leisure Software. FEBRUARY 1987 123 Hllllltlltllliutiiiiii In a multi-access micro to mainframe environment like this university computer center, the responsibility of insuring round the clock operation is the system experts / PC Systems Experts: Corporations trust them with millions in purchasing. T T The computei marketplace has changed. It has gone from the fairly basic prc curement of stand-alone personal computers and printers to complex configurations of extended memory boards, graphic boards, monitors, hard disks, tape back-up, printers, local area networks, micro-to-mainframe linkages and a whole host of complex software necessary to make these systems run. These products require in-depth technical evalu¬ ation before they can be even considered for purchase. That’s why the computer buyer has changed. The end-user is no longer able to select his own PC and peripherals. That job is being tackled by the systems experts-professionals who are able to build PC systems which optimize processing power, mass storage, connectivity and software applications. His sys¬ tems expertise has made him the key factor in recommending, evaluating and selecting PC’s and related peripherals for both his own and client companies. And in light of the industry’s shift toward connectivity, companies need someone who can understand the exacting requirements and specifications involved. Which is why the role of the systems expert has become even MORE important in system configuration, since very often he alone has the knowledge and expertise required. Consequently, reaching the systems expert should be the primary target for every marketer in the IBM PC standard arena. ill PC TECH JOURNAL: Brings over 100,000 systems experts into To stay on the cutting edge of computer technology, sys¬ tems experts rely on PC TECH JOURNAL. They turn to it every month because they know its editorial and ad content keeps them on the cutting edge of developments in the computer industry. And when companies depend on you for multi-million dollar systems—nothing else will do. That’s why PC TECH JOURNAL has become the key source of technical systems issues and PC product informa¬ tion for over 100,000 systems experts. If you’re a computer products marketer, you have to reach the systems experts, the ones whose expertise is directly responsible for corporate com¬ puter buying decisions. Reach 100,000 of them every month in PC TECH JOURNAL. i ; v 5-1) DRAWING WITH MEGA (ADD DATA MANAGER: REVELATION SETS IN ASSEMBLY LANGUAGE The deciding factor 10480 Little Patuxent Parkway, Columbia, MD 21044, (301) 740-8300 PHOTOGRAPH • MARC DAVID COHEN Jglff M' gSmw . . '• Kr'i t Speed Infusion 7T>c original IBM PC, which seems slow compared with 80286 machines, can be speeded up with different types of accelerators; these six do so by ina r easing the clock speed of the PCs resident 8088. TED MIRECKI S peed is much of what computers are all about. As each new category of personal computer is intro¬ duced, it necessarily boasts a higher clock rate: the original 4.77-MHz IBM PC was followed by 80286 machines running first at 6 MHz, then at 8, 10, 12, and now 16 MHz. The new 80386 mod¬ els start at 16 MHz, but have the poten¬ tial to reach 24 MHz and beyond. More¬ over, the increase in performance deliv¬ ered by these machines is greater than the ratio of clock frequencies because the amount of work they accomplish at each clock cycle is much greater. By comparison, the PC is slow indeed. Rather than putting up with a slug¬ gish machine or replacing it outright, the hapless PC user has one other op¬ tion: a PC accelerator board. Accelera¬ tors work by adjusting one or both of the parameters that determine the com¬ puter's internal processing speed: they modify either the clock rate (the fre¬ quency at which computational events occur) or the amount of useful wwk performed at each event, or clock cycle. Increasing the clock rate would seem to be a fairly simple process, but it is for from trivial on the PC. And expanding the processing power is more compli¬ cated still, requiring the replacement of the PC’s 8088 with something more ca¬ pable, such as an 8086, 80286, or 80386. This article reviews accelerator boards referred to here as Class I: they run the PC at a higher clock speed but retain the 8088 (or, in some cases, up¬ grade to an NEC V20). Six products are evaluated: American Computer & Pe¬ ripheral’s American Turbo, Maynard Electronics' Surprise!, Megahertz Corpo¬ ration's TurboSwitch, Microspeed’s Fast88, Microsync’s Screamer, and MicroWay’s 87/88 Turbo. Articles in sub¬ sequent issues will deal with boards in Classes II and III, which are more com¬ plex boards that contain advanced mi¬ croprocessors with data paths that are wider than eight bits. Because these first boards are, for the most part, simple devices, the per¬ formance improvement they deliver is far from spectacular. Still, their rela- im . Ill lijflfS 88fr mmm ' 7' Personal Computer ffgi 126 SPEED INFUSION PHOTO 1: American Turbo PHOTO 2: Maynarcl Surprise! PHOTO 3; Megahertz TurboSivitch Because each product modifies PC timing circuits (which were not designed to be modified), none is as easy to install as a typical PC add-in card. All require the removal of at least one chip from the motherboard, and some require the removal or replacement of several. Those requiring the in¬ stallation of a ribbon cable into a chip socket present the ad¬ ditional danger of plugging the cable connector in back¬ wards, as such cables are rarely keyed to avoid such confu¬ sion. The Megahertz TurboSwitch (photo 3 above) also re¬ quires the attachment of several fragile spring-hook-style clip PHOTO 4: Microspeed Fas/88 PHOTO 5: Microsync Screamer leads to chip pins on the motherboard. These are easily dis¬ lodged by shock or vibration. Provision must be made in several cases for routing a switch cable out of the machine and attaching a switch box to the chassis. For the Turbo- Switch, this box is mounted on the PC’s front panel; thus, re¬ moval of the machine’s cover requires disconnection of the switch box. All of the other products mount the switch box on the back panel. The Maynard Surprise! (photo 2) and Mi¬ crosync Screamer (photo 5) avoid the switch box problem altogether by allowing control completely from software. 128 PC TECH JOURNAL PHOTOGRAPHS • BLAKESLEE/LANE FIGURE 1: The PC/XT Clock Generator The oscillator and timer frequency cannot be altered without disrupting system operation. The oscillator signal is essential to 200-line video modes, and the timer signal generates the 55-ms time-of-day interrupt and controls dynamic RAM refresh. tively modest price (starting at about $100) makes the purchase of one a worthwhile investment. An understand¬ ing of how they work also provides some interesting insights into very fun¬ damental aspects of the PC’s design. IS TIMING EVERYTHING? The main clock frequency that drives all PC system components is derived from a quartz crystal. In theory, a higher fre¬ quency can be obtained by changing this part. However, such an operation carries intrinsic difficulties. First, the crystal is soldered to the mother¬ board—its removal is no small task. A more serious problem is that this one source provides a base for several dif¬ ferent frequencies used in various parts of the computer. As figure 1 shows, an Intel 8284 clock generator produces various timing signals from one crystal frequency. In a stock PC, these signals are for the following components. The oscillator has a frequency that is equal to the crystal’s resonant fre¬ quency of 14.31818 MHz. This frequen¬ cy is fed to the expansion slots and used by various adapter cards, most notably the IBM Color Graphics Adapter (CGA), which divides it by 4 to obtain the 3.58-MHz color burst frequency re¬ quired by television monitors. The main processor clock runs at 4.77 MHz, a speed obtained by dividing the oscillator frequency by 3. This is the heartbeat of the computer, the signal that synchronizes all activity in the sys¬ tem. At each beat of the clock, adders add, shifters shift, buses transmit, and so on. The duration of one clock cycle (the clock period) is the reciprocal of the frequency, or 210 nanoseconds (ns). The timer is a 1.1932-MHz signal obtained by dividing the clock frequen¬ cy by 4 (actually, the 8284 outputs a sig¬ nal that is the clock’s signal divided by 2; this is again divided by 2 by circuitry on the motherboard). This timer signal is used by the 8253 timer chip in three timers, each of which may be pro¬ grammed to produce different frequen¬ cies by various divisions of the input. The first timer channel runs at 18.2 Hz (timer signal divided by 65,536) and produces the familiar timer-tick inter¬ rupt every 55 milliseconds (ms) that maintains die time-of-day clock. The second channel runs at 66.3 KHz (input divided by 18), generating a DMA (di¬ rect memory access) request for dy¬ namic memory refresh every 15 micro¬ seconds (fis). Both of these timers are initialized by the ROM boot-up routines. The last timer channel controls the speaker; its divisor can be set by a user program to any value between 1 and 65,536, thereby theoretically producing sounds from the ultrasonic down to 18 Hz. In practice, the physical limitations of the speaker limit it to a much nar¬ rower range of about 100 Hz to 8 KHz. Simply changing the crystal fre¬ quency, therefore, is not a possibility. The realtime clock, CGA video syn¬ chronization, and, most critical of all, dynamic memory refresh, are all too in¬ timately associated with it. This is not a problem with the AT, in which the pro¬ cessor clock is driven by its own crys¬ tal—the AT clock frequency is one-half that of the crystal, not one-third as in the PC—and the oscillator and timer signals are derived from a separate 14.31-MHz crystal. In addition, the crys¬ tal driving the clock generator is sock¬ eted for easy replacement. The AT doc- FEBRUARY 1987 129 SPEED INFUSION The 8284 running at 21 MHz is used only to generate a 7-MHz clock signal. The slower 8284 generates oscillator and timer signals at standard PC/XT frequencies. umentation states that the clock signal is located in the expansion slots solely for synchronization and that its frequency is not guaranteed at any particular value. This design enabled IBM to easily re¬ place the 6-MHz AT with the 8-MHz model, and manufacturers of compati¬ bles to produce machines that operate at speeds up to 16 MHz. Interestingly, products to speed up the PC clock became widely available only after the introduction of the AT. Before that, users had no perceived need for the extra speed because there was nothing with which to compare the PCs speed—it seemed adequate. On the other hand, the more complex co¬ processor boards with 8086 and 80186 chips were being sold even then. Thus, although not always at the forefront, the market for higher-speed computing has existed. The AT, with its separation of the processor clock from the other tim¬ ing signals, pointed the way for chang¬ ing the PC’s clock frequency. In its simplest form, this method consists of installing two crystals in ad¬ dition to two 8284 chips, one to pro¬ vide oscillator and timer signals at the PC’s design frequencies and another to provide the clock signal at some fre¬ quency higher than 4.77 MHz. A typical arrangement is shown in figure 2. In ef¬ fect, the original 8284 is replaced by a printed circuit board (PCB) containing two 8284s; the various signals from the two are fed to the motherboard via the PC’s original original 8284 socket. This requires that the original 8284 be mounted in a socket. Some machines arrive with the 8284 soldered; in this case, it must be desoldered and a sock¬ et installed. Fortunately, the 8284 is socketed in most IBM PC’s. Figure 2 also demonstrates how the replacement of the 8284 with this additional circuitry permits the imple¬ mentation of two switches. One switch is used to move between 4.77-MHz mode and high-speed {turbo) mode. This is useful for clock-sensitive soft¬ ware, such as copy-protected programs, that does not work at high speed. The second switch really should have been a part of the original PC de¬ sign; it is a hardware reset that per¬ forms a cold boot in the same manner as the power switch, but with less wear and tear on the circuitry (especially hard disks). An explanation of how this reset is accomplished, and the ways in which it differs from a keyboard reset, is provided in the sidebar, “Alternatives to the Big Red Switch,” p. 135. Therefore, the PC’s pulse can be quickened without disrupting the activi¬ ties that depend on a fixed time period. The next question is, can the hardware components in the PC keep pace with the faster clock? The most critical of these is the microprocessor, which typi¬ cally is not capable of running at much beyond its design rate. In a stock PC, the 8088 is rated at 5 MHz and cannot be speeded up by a significant percent¬ age. It can, however, be replaced easily and at a reasonable price (even for a very high-speed chip). All of the boards reviewed here incorporate a high-speed replacement microprocessor. Again, this requires that the CPU be socketed. With a faster processor, the clock rate can be increased until the next bot¬ tleneck is reached; in most cases, this 130 PC TECH JOURNAL 12 MHz SPEED... ... plus A MEGABYTE FOR DOS! THEY ALL NEED NUMBER SMASHER/ECM" Turn your PC or XT into the machine it should have been! The 12 MHz Number Smasher/ECM is the fastest accelerator on the market It is also the most powerful, provid¬ ing a true megabyte for DOS! To break the 640K DOS barrier MicroWay designed a Memory Management Unit (MMU) that is tailored to DOS plus a 2000 byte resident driver- MegaDOS™. MicroWay calls this breakthrough Extended Conventional Memory. When you type CHKDSK with the board installed, your sys¬ tem will report 1,036,288 bytes total memory and 1,010,016 bytes free! Any conventional DOS program can utilize a full megabyte for data or code without changing a byte. Downloading a mainframe application? ECM memory runs with any program that uses DOS for screen services including RM and MS FORTRAN and MS and LATTICE C! This means you have an additional 384 K available for over¬ sized applications. Programs which write directly to the screen require a simple patch to adhere to the new standard. MicroWay has already developed patches for the Lotus, WORDSTAR and AUTOCAD screen drivers. Release 1A of 1-2-3 jumps from 535,516 to 916,444 bytes available and runs faster than Release 2 for most worksheets. Number Smasher/ECM is 100% compatible with all hardware and software including EMS and EGA boards. The compatibility is a result of control: its speed is switch, key¬ board or software selectable from 4.77 MHz to 12.0 MHz. Applications which have not been upgraded to ECM can still be run by setting DOS to 640K or 704 K and using the memory above DOS for I/O enhancers. Number Smasher/ECM runs floating point bound pro¬ grams fasterthan an AT or any other80286 based machine. In fact, Number Smasher’s 12 MHz 8087 runs a factor of three faster than the standard 80287 on the AT, delivering up to 125 kflops. Software is included for RAM Disk, print spooler, and disk caching, which speeds up floppy and hard disks by a factor of 2 to 10! Number Smasher/ECM is the most cost effective pro¬ ductivity tool you can buy. The base board which runs at 9.54 MHz comes with 512 K and costs only $599! The com¬ plete system which includes a motherboard accelerator, one megabyte of memory and a 12 MHz 8087 is just $1199. Call today to discuss your particular configuration. Remember: “The advantage of buying from MicroWay is outstanding per¬ sonal service.” (PC Magazine, 6/10/86 - p. 162) Micro The World Leader in 8087 S upport P.O. Box 79, Kingston, Mass. 02364 USA (617) 746-7341 32 High St., Kingston-Upon-Thames, U.K., 01-541-5466 Number Smasher, ECM and MegaDOS are trademarks of MicroWay, Inc. MicroWay is a registered trademark of MicroWay, Inc. CIRCLE NO. 155 ON READER SERVICE CARD Clipper is the fastest dBase 111 and dBase Ill Plus™ compiler available Nothing else comes close. When performance counts, experts rely on Clipper for more speed, more power, and more creative freedom. You can, too. Call for details. • Clipper compiled programs run 2 to 20 times faster. • No royalties...no runtime fees. • Source code security . • User defined functions. • Arrays. • Simple menu commands. • Context sensitive help can be included with programs. • More fields; more memory variables . • Call C and Assembly programs. • Complete debugging facilities. • Multiple file relationships., •IBM PC, XT, AT, 3270 compatible™. • Multi-user capability. CLIPPER. THE dBASE COMPILER. A WINNING PERFORMANCE EVERY TIME. Nantucket™ Nantucket Corporation 5995 South Sepulveda Boulevard Culver City, California 90230 (213) 390-7923 Outside California call toll-free: 1-800-251-8438 dBase, dBase III. and dBase III Plus are trademarks of Ashton-Tate, Inc. IBM PC, XT, AT, and 3270 are trademarks of International Business Machines Corporation. Clipper and Nantucket are trademarks of Nantucket Corporation. CIRCLE NO. 224 ON READER SERVICE CARD LOOK FOR CLIPPER™ f Autumn 86 IT MAKES NETWORKING EASY. SPEED INFUSION turns out to be the response time of the memory chips. However, some other chip, the DMA chip or interrupt control¬ ler, for example, may be the limiting factor. If speed is limited by memory, it might be practical to replace the entire complement of RAM chips with higher- speed chips. Note, however, that the first bank of memory is usually sol¬ dered to the motherboard. It is one thing to replace a single 8284 chip with a socket; it is quite another to do like¬ wise for eight additional chips. There¬ fore, except for the faster CPU they bring, most clock accelerators are de¬ signed to stay within the limits of the machine’s original components. The most obvious way to accom¬ plish this is to limit the new clock fre¬ quency to a rate acceptable to the slow¬ est component in the system. To do so and still manage to realize speed im¬ provement can be attributed to two fac¬ tors: first, components usually are speci¬ fied slightly faster than they need to be, and second, each component typically exceeds its specifications slightly. The additive effect of these factors can be sufficient to allow a 50-percent increase in the clock rate. The simpler clock ac¬ celerators, those providing circuitry not much more complex than that shown in figure 2, follow this approach. Another method of circumventing speed limitations is to provide hard¬ ware that slows the system down as re¬ quired, either by changing to a slower clock rate at critical times or by allow¬ ing more clock cycles for certain activi¬ ties. The latter involves the insertion of wait states —extra clock cycles—into the memory I/O cycle (see “The Bottleneck at the Display Adapter,” Michael Abrash, January 1987, p. 104). Wait states in AT- class machines are a hot topic, but the same considerations must be given the PC. The action and role of the wait state is tied to the manner in which data transfers occur between the CPU and memory or I/O ports. WAIT STATES In general terms, the time needed to transfer one unit of data to or from the CPU is called a bus cycle. In the 8088, the unit of data is one byte, and the minimum length of a bus cycle is four clock cycles. These cycles are desig¬ nated T1 through T4. Each cycle encom¬ passes specialized activities. During T1, the CPU outputs a bus transfer request on its status lines and an address on its data/address lines. The status lines indicate the type of access, either to memory or to an I/O port, and whether it is to read or write. The bus controller saves the address in an ad¬ dress latch so that it is available during the remainder of the bus cycle. In T2, the CPU removes the ad¬ dress from the data/address lines and, for a write request, places the output data there. For a read request, the lines are disconnected from the CPU to make them available to the memory or I/O device that will supply the data. The use of the same lines for different informa¬ tion at different times is known as time multiplexing. This allows the complex signal requirements of the 8088 to be accommodated by a relatively compact 40-pin package. Meanwhile, address de¬ coding circuits connect the data lines to the proper memory chips or I/O ports, and data transceivers establish the sig¬ nals that control the direction of the transfer (to or from the CPU). During T3, the memory or I/O device performs the actual transfer, while the CPU does nothing. In the last cycle, T4, the device disconnects itself from the data lines and disables all of its control signals, returning to a quies¬ cent state. For a read, the CPU recon- Lattice* Works LATTICE ANNOUNCES MICROSOFT WINDOWS SUPPORT IN VERSION 3.2 Version 3.2 of the Lattice MS-DOS C Compiler features full support for Microsoft Windows—including the “far” “near” and “pascal” keywords. In addition, version 3-2 includes the ability to generate more than 64K bytes of static data and to declare objects larger than 64K bytes. It also includes improved support for ROM- based applications via the “const” data type. Version 3.2 is a significant release because it eliminates Micro¬ soft’s claimed monopoly on future MS-DOS C development tools. Now that the Lattice MS-DOS C Compiler supports a window interface, pro¬ grammers using Lattice C can avoid the problems caused by switching to a different compiler. $500.00 LATTICE NOW OFFERS ENHANCED AmigaDOS C COMPILER Version 31 of the Lattice AmigaDOS C Compiler offers a new library with 100 more functions than the standard AmigaDOS C Compiler. What’s more, increased library modularity and new address¬ ing modes help reduce load module sizes by more than 20%. The new version also features faster pointer and integer math, faster IEEE floating point routines, direct support of the Lattice (800)533-3577 In Illinois (312) 858-7950 Amiga’s FFP format floating point library, and multi-tasking support. With Version 3.1, Lattice has broken free of the reliance on the Amiga standard linker and object file format. This new release includes completely new expanded documen¬ tation, and a Lattice assembler and linker which remain compatible with previous software but allows professional programmers to take advantage of both the Amiga’s speed and the industry’s standardization. Lattice AmigaDOS C Compiler with Lattice’s Text Management Utilities, $225. Professional AmigaDOS C Compiler with, Text Management Utilities, Lattice Make Utility, Lattice Screen Editor, and the Metadigm MetaScope Debugger, $375. AmigaDOS C Compiler $150. LATTICE RELEASES NEW VERSIONS OF C CROSS COMPILER AND LINKER Version 3.1 of the Lattice C Cross Compiler to MS-DOS and version 2.12 of the Plink86Plus Overlay Linker are now available for Sun and Apollo workstations as well as the DEC VAX Family of processors run¬ ning VMS, UNIX or Berkeley UNIX. All Lattice C Cross Compilers possess the same functionality and generate the same code as the native Lattice MS-DOS C Compiler. This allows users to take advantage of the larger systems’ speed and multi-user capabilities when creating applica¬ tions for most popular PCs. Contact Lattice Corporate Sales for details. TELEX 532253 FAX (312) 858-8473 INTERNATIONAL SALES OFFICES: Benelux: Ines Datacom (32)2-720-51-61 Japan: Lifeboat, Inc. (03)293-4711 England: Roundhill (0672)54675 France: Echosoft (1)4824.54.04 Germany: Pfotenhaur (49)7841/5058 Hong Kong: Prima 85258442525 A.I. Soft Korea, Inc. (02)7836372 Australia: FMS (03) 699-9899 Italy: Lifeboat Associates Italia (02) 46.46.01 CIRCLE NO. 160 ON READER SERVICE CARD FEBRUARY 1987 133 SPEED INFUSION At last! - Fast, On-screen FLOWCHARTS Finally! An on-screen flowchart proc¬ essor that knows about flowcharts - not just another “screen draw” program that makes you do most of the work. Interactive EasyFlow is a powerful full-screen graphics program dedicated to flowcharts and organization charts. With this program you can quickly com¬ pose charts on the screen. More im¬ portant, you can easily modify charts so they are always up to date. Features: • Text is automatically centered, character by character, within shapes as you type it • Text formatting controls allow you to over-ride the auto¬ matic formating where desired • Lines are created by specifying the starting and ending points - the program auto¬ matically generates the route • Cut and paste facility allows arbitrary chart fragments to be moved, copied rotated, reflected or sent to/from disk • Shape insert-delete and row/column insert- delete • Charts can be up to 417 characters wide by 225 lines high. Charts too wide for the printer are auto¬ matically printed in strips. • Charts can be larger than the screen - the window into the chart scrolls both horizontally and vertically as necessary • Works with many popular matrix printers in¬ cluding Epson, IBM graphics printer and compatibles. Full support for HP LaserJet and LaserJet Plus. Works with HP 7475A (& compatible) plotters. Can be used with ANY printer when non¬ graphic (character) output is acceptable • All standard flowcharting shapes in¬ cluded • Most shapes supplied in large, medium and small sizes • Extensive manual (100+ pages) includes many examples • Context sensitive “help” facility provides immediate assistance at any time • Any number of titles can be placed on a chart • Commentary text blocks can be placed anywhere in the chart • Fast: written in assembly lan¬ guage • Plus many more features than we can mention here Requires at least 320K memory, DOS-2 or higher and an IBM or Hercules com¬ patible graphics card. On EGA, full 640x350 resolution is used. Order direct for only $149.95 + $2.00 S&H (USA/Canada), $10.00 (foreign). Payment by MO, check, VISA, MasterCard, COD or Company PO. Rush orders accepted ($15:00 S&H; USA/Canada only). Rush orders re¬ ceived by noon will be delivered the next business day (to most locations). Order Desk: 1-800-267-0668 The sample screen display shown below is typical of what you see while editing a chart. Other screen dis¬ plays are provided for entering titles, changing options, getting “help” and so on. STATUS BAR (not to be confused with a wet bar) tells you what Interactive EasyFlow is doing at all times. TEXT/MESSAGE WINDOW used to enter user text and to display messages from Interactive EasyFlow. CURRENT SHAPE WINDOW - shows the content of the current flowchart shape (the one under the SHAPE CURSOR) in complete detail. HavenTree Software Limited P.O. Box 1093-N Thousand Island Park, NY 13692 Information: (613)544-6035 ext 48 CHART WINDOW gives an overview of your chart; this example shows the “normal” view. “Close-up” view shows a smaller part of the chart in more detail. “Wide-angle” view shows a larger part of the chart at reduced size. SHAPE CURSOR shows where you are in the chart. Cursor keys move it around; chart window scrolls if you run off the edge of the window. CIRCLE NO. 113 ON READER SERVICE CARD nects itself to the data lines and then can use the data it finds there. This four-step process represents a minimum bus cycle with zero wait states. Nominally, the time for transfer¬ ring data to or from devices is one clock cycle; at 4.77 MHz, that time is 210 ns. By no coincidence, the memory chips in the PC have a cycle time of 200 ns. Actually, the time available for the transfer is a litde longer, because an ad¬ dressed memory chip becomes active towards the end of T2 and need not complete the transfer until sometime af¬ ter the start of T4. (Early PCs worked fine with 250-ns chips; the switch to 200-ns devices was not made out of ne¬ cessity, but because of the increasing availability of the faster chips. For simi¬ lar reasons, the latest models have the readily available 150-ns chips.) If a memory chip or I/O port can¬ not respond, quickly enough to transmit data in the one-and-a-fraction clock cy¬ cles, it can be designed to insert wait states between T3 and T4. The mecha¬ nism used to insert these is the READY line of the CPU. During a bus cycle, the CPU does not enter state T4 unless READY is high. When a slow device is selected by the address decoding logic at T2, it immediately drops READY to low. The signal is fed to the 8088 through the 8284 to synchronize transi¬ tions in the READY line with clock cy¬ cles. READY has no effect on T3, but thereafter, the CPU will remain idle— that is, in a wait state—for each clock cycle that READY remains low. After some predetermined number of clock cycles passes—sufficient to complete the data transfer—the device raises READY high, allowing the processor to advance to T4 to complete the bus cy¬ cle. Figure 3 is a simplified timing dia¬ gram for two bus cycles, one with zero wait states, the other with two. The PC was designed with zero wait states for memory access and one wait state for I/O port access. This one wait state is inserted without regard for the speed of the device being ad¬ dressed because an I/O access cannot be completed in less than five clock cy¬ cles (1,050 ns at 4.77 MHz). However, a slow device can insert additional wait states if necessary. Similarly, a memory expansion board can be designed to in¬ sert a wait state whenever memory on that board is accessed. None of the reg¬ ular boards is designed this way, al¬ though some expanded memory boards do insert wait states. By comparison, the bus cycle of an 80286 is two clock cycles, but a stan¬ dard AT inserts one wait state into each 134 PC TECH JOURNAL ALTERNATIVES TO THE BIG RED SWITCH The hardware design of the IBM PC omits one feature that typically is part of every computer: a reset button. The big red switch at the right rear is not an appropriate alternate, for reasons quite apart from its inconvenient loca¬ tion. It takes 10 to 15 seconds after being switched off for the power sup¬ ply to bring its output to zero volts before the system will restart. More importantly, power-downs and power- ups put undue strain on the electronic and mechanical components, espe¬ cially hard disks. The Ctrl-Alt-Del key¬ board combination is not adequate because, as every PC user knows, it fails at times when a reset is most nec¬ essary—to resurrect a crashed system. Many PC clock accelerators rectify this situation by providing a hardware reset switch. The reset is associated with the clock circuitry because the 8088 reset signal is controlled by the 8284 clock generator in order to synchronize it with the processor clock: the 8088 needs to be at a pre¬ dictable point within a clock cycle when it is interrupted and restarted. Ordinarily, the “power good” signal from the PC power supply is tied to the 8088’s reset line, making a power¬ down/power-up cycle the only way to initiate a hardware reset on the PC. As shown in figure 2 of the article, the rerouting of the 8284 inputs and out¬ puts in the accelerator circuit allows rerouting of the 8284’s reset line (RES) to a switch that performs a hardware reset (cold boot) without powering down the system. The operation of the reset signal itself is handled carefully within the PC. The 8088 operates only while the reset line is low (at logic level 0); when reset goes high, the processor stops. On a high-to-low transition of reset, the CS (code segment) register is loaded with FFFFH, all the other registers and flags are cleared to zero, and execution is resumed. The next instruction is fetched from the address pointed to by the CS:IP register pair, thus causing a jump to location FFFF:0H. In the PC, that location is in ROM and contains a jump to the ROM POST (power-on self-test) routine. In a stock PC, the 8284 reset in¬ put is connected only to the power- good signal from the power supply. At power-up, this signal is initially high and is pulled low by the power supply when its output comes up to specifica¬ tion. This causes the processor to be¬ gin executing the POST as soon as the power supply has stabilized. If the power should fall outside of specifica¬ tion during operation, the reset line goes high, stopping the system. When and if power is restored, the line again goes low as on power-up. Thus, a power supply with intermittently failing regulation circuits can cause spontaneous reboots. The keyboard reset is handled entirely by software, not by switching the hardware reset line. The BIOS routine that responds to keyboard in¬ terrupts, when it detects this particular combination, executes a jump to the beginning of the POST routine. Before doing so, it sets a flag in the BIOS data area; during POST, the value of this flag determines whether a short or long memory test is performed. If the machine was just turned on, the flag will not have the value (1234H) set by the keyboard routine, and a long memory test is executed. In most cases, the keyboard reset has the same effect as a hardware re¬ set, except when die system has crashed, meaning that the processor has turned off interrupts and is stuck executing some infinite loop. At such times, keyboard input is unrecognized because the keyboard interrupt ser¬ vice routine has no way to gain con¬ trol, examine, or respond to the sig¬ nals sent by the keyboard controller. But even when a system is up and running, other situations can hin¬ der a keyboard from producing a re¬ set. The BIOS keyboard routine may have been replaced by another pro¬ gram installed as a device driver or a resident utility, and this new program might take some action other than re¬ set upon detecting the Ctrl-Alt-Del combination. For example, under DESQview (by Quarterdeck Office Systems), a keyboard reset closes only the current window and does nothing if no windows are open. Other resi¬ dent programs that perform nonstan¬ dard functions with Ctrl-Alt-Del can reassign the reset function to some other combination of keys. A final subtle difference between hardware and keyboard resets is that at the start of the latter, interrupts are not disabled. A hardware reset, by contrast, zeroes out all flags, including the interrupt-enable flag. This is essen¬ tial at power-up, so that interrupts are held off until the interrupt vector ta¬ ble is initialized and the interrupt ser¬ vice routines are loaded. It is possible, if not probable, that between the time Ctrl-Alt-Del is recognized and the POST gains control (it begins with an instruction to disable interrupts), a hardware interrupt diverts control for some finite time. Even if control even¬ tually reaches the POST, the point is that the response time to a keyboard reset cannot be guaranteed. A hardware reset switch thus of¬ fers the best of all worlds: it is guaran¬ teed to work predictably in all situa¬ tions short of physical failure in the circuits, and it avoids the stresses of powering up. But does the switch pro¬ duce a short reboot, like a keyboard reset does, or a long one, such as at power-up? The POST performs short or long diagnostics depending upon the value it finds in the BIOS reset flag; at the end of POST, the value is not changed. Therefore, if the reset switch is pressed after a keyboard re¬ set, the POST finds the keyboard reset value in the flag and performs a short test sequence. If the previous POST was a long one initiated by power-on, the next one caused by pressing the reset switch will take just as long. To ensure that the reset switch al¬ ways performs a short reboot, the re¬ set flag can be set to the proper value upon boot-up by a program from the AUTOEXEC.BAT hie. SET1234.COM is created with DEBUG as follows: DEBUG SET1234.COM (Ignore “not found”) A MOV AX,40 MOV DS, AX MOV WORD PTR [72],1234 INT 20 (Press Return) R CX D W Q Alternatively, the flag may be set by running the following BASIC program: 10 DEF SEG = &H40 : POKE &H72,&H 1234 Thus, the reset function provided by clock accelerators is a welcome fringe benefit to their primary func¬ tion. After using one of these, it is even more frustrating than usual to have to reach for that big red switch. —Ted Mirecki FEBRUARY 1987 135 SPEED INFUSION TABLE 1: Features Comparison AMERICAN COMPUTER MAYNARD ELECTRONICS MEGAHERTZ CORPORATION MICROSPEED MICROSYNC MICROWAY MODEL American Turbo Surprise! TurboSwitch Fast88 Screamer 87/88 Turbo PRICE $120.00 $249.00 $149.95 $149.00 $199.00 $149.00 MICROPROCESSOR 8088-2 V20 8088-2 8088-2 V20 V20 CLOCK SPEEDS (MHz) 7.37 9.55 5.96 to 8.79 6.14, 6.67, 7.37 6.00, 8.00 6.67, 7.37, 8.00 SPEED CHANGE BY Switch • O • • O • Hot key O • O O • • Program O • O O • • RESET SWITCH • o • • O • CLOCK/CALENDAR O o o o • • TAKES UP A SLOT O o o o • • I/O PORTS USED None 2E8H-2EFH None None 2C0H-2C2H 280H-288H 2C8H-2CFH 2A0H-2A4H 9 - Yes O — No While many of the PC compatibles with fully socketed memory can be made to run at speeds up to 8 Mhz, the original IBM PC contains at least one soldered row of slower memory chips and usually cannot be made to run faster than 6.5 or 7 MHz. At those speeds, the performance enhancement achieved is not always worth the expense and difficulty of installation. memory access and at least four wait states into I/O accesses. At 6 MHz, an I/O access takes 1,000 ns (6 clock cycles of 167 ns each), or about the same total time as an I/O cycle oh a PC. This en¬ sures that PC peripherals are usable on the AT. (The issue of wait states in 80286 memory bus cycles will be cov¬ ered in a subsequent article.) SWITCHING TO SPEED Varying the clock frequency and insert¬ ing wait states can be accomplished only by accelerator boards that contain more complicated circuitry than the simple clock replacement arrangement shown in figure 2. Of the six products tested here, only the Surprise! board is sufficiently intricate. The PC Turbo- Switch and the Screamer switch auto¬ matically to slower clock frequencies under certain circumstances. The others take their chances widi the pushing of the PC’s components beyond specifica¬ tion. Most provide a choice of several clock speeds so that more capable ma¬ chines need not be limited to the low¬ est common denominator. Table 1 is a features comparison of the six boards reviewed. Each board was tested in two different systems. The first was an IBM PC-2 with 640KB of memory, a 2MB AST RAMpage! expand¬ ed memory board (384KB of this was back-filled conventional memory), wo diskette drives, a Seagate ST225 20MB hard-disk drive with Xebec combination diskette/hard-disk controller, and an IBM CGA. Conventional memory con¬ sisted of a mixture of 200-ns and 150-ns chips; expanded memory was 256K-bit, 150-ns chips. This system’s maximum clock rate was about 7 MHz; the rate was not improved by removing the ex¬ panded memory board. The second system tested was a PC/XT compatible with 8-MHz turbo ca¬ pability. On this system, the perform¬ ance delivered by the accelerator boards was less than that from switch¬ ing to its native 8-MHz mode; the pur¬ pose of using it was to test the boards above 7 MHz. This system also had 640KB of memory (256K- and 64K-bit chips, all rated at 150 ns), the identical model of Seagate hard disk (but with a Western Digital controller), one diskette drive, an ATI EGA card, and the same 2MB AST RAMpage! (but with no back¬ fill of system board memory). American Computer and Peripheral. The American Turbo is the smallest board in the group and the simplest in design. It comes with a replacement 8088 rated at 8 MHz, a switch box containing a speed switch and reset button, and a DIP (dual in-line package) socket intended to be soldered onto the motherboard in case the 8284 is not already socketed. This component turns out to be indis- pensible even if the 8284 is removable. The board itself plugs into the socket vacated by the 8284 chip. Care must be taken to line up the pins on the underside of the board with the holes in the socket; even so, the pins are a tight fit. They would not enter the socket when pushed, even with an amount of force sufficient to put an alarming bend in the motherboard. Stressing a multilayer board in such a way can break a trace in one of the in¬ terior layers, which is enough to ruin the board. This is where the extra socket comes in handy. It is plugged onto the underside of the turbo board, and that assembly is plugged into die motherboard socket. Besides making in¬ sertion much easier, this yields the ad¬ ditional benefit of raising die Turbo board above the motherboard compo¬ nents adjacent to the 8284 socket, thus allowing unrestricted airflow for cool¬ ing. This use of the extra socket is not mentioned in the instructions. Once die board is mounted, the rest of the installation goes smoothly. The reset and speed switches are of good quality and mounted in a heavy- gauge, black metal box that bolts to the outside of the back panel next to the power switch. The cable connecting the switches to the board is keyed to pre¬ vent plugging it in backwards. A major disadvantage of the Ameri¬ can Turbo is that it has only one clock speed, 7.37 MHz. This is too fast for most 200-ns memory chips; in fact, the board would not work in the IBM sys¬ tem. The documentation plainly states that memory chips must be rated at least at 150 ns, and that, if used, an 8087 numeric coprocessor must be rated at 8 MHz. But this information should be on the outside of the box. As it is, the only warning on the exterior is that installation requires the removal of 136 PC TECH JOURNAL THE SOURCE FOR All IBM PC EXPERTS. There's one place to find the information about the sophisti¬ cated applications and products you need at your work place. PC TECH JOURNAL It's the magazine that brings you the in- depth coverage about the products and issues you have to know more about 13 times a year! Guarantee delivery of the technical infor¬ mation and insights the systems experts of PC TECH JOURNAL deliver issue after issue and save 50 %! P.O. Box 2996 Boulder, CO 80322 YES Send me PC TECH JOURNAL for: □ One year (13 issues) only $26.70. □ Two years for only $53.35. SAVE 50%! Savings based on annual single-copy price of $53.35. Mr./Mrs./Ms Company_ Address_ City_State_Zip_ □ Bill me □ Payment enclosed Add $6 per year for postage outside USA, US currency only. Please allow up to 60 days for delivery of first issue. Annual basic subscription price is $34.97. For faster service call Toll-Free 1-800-852-5200 today! Your subscription includes the Special PC TECH JOURNAL Directory published in November! 4Z635 [JOURNAL. PROTECT YOUR COPIES OF iur n OURNA Make your collection of PC TECH JOURNAL a handsome addition to your office or home—and pro¬ tect and organize them for easy reference! PC Tech Journal Magazine Binders and cases are made of durable luxury-look leatherette over quality binder board. Custom designed for PC TECH JOURNAL, every order receives FREE transfer foil to mark dates and volume numbers. FOR FAST SERVICE CALL TOLL-FREE 1-800-972-5858 MAGAZINE BINDERS Hold your issues on individual snap-on rods. $8.95 each; 3 for $25.75; 6 for $48.75. OPEN BACK CASES Store your copies for individual reference. $795 each; 3 for $22.95; 6 for $43.95. 'Ill’I® 1 p - a 80x5,20 OURNAL Philadelphia, PA 19141 Please send □ Binders □ Cases Quantity_ Payment endosed $_ Add $1 per order for postage & handling. (Outside USA, add $2.50 per unit ordered, US currency only.) Charge my: □ Amex □ Visa □ MC (Minimum order $10.) Card No. Exd. Date ! Mr./Mrs./Ms. ! 1 Address please print full name 1 ■ i 1 Citv ! 1 State 1 ZiD 1 j PA residents add 6% sales tax. Read what they’re saying about this new concept in prototyping and demo-making: “A winner right out of the starting gate. After you use DEMO once, you’ll wonder how you got along without it.” — PC Magazine, 4/29/86 “Everybody who writes software, either commercially or for in-house applications, should immediately order a copy. Period. No exceptions.”
  10. Soft-letter, 4/20/86 “Its low price, superb performance, and range of applications practically guarantee that it will be widely used. Four Floppy Rating (8.0)”
  11. InfoWorld, 3/31/86 “Apparently has a hit on its hands with... a development tool for personal computer software that has won rave reviews from early users.” — Computerworld, 4/7/86 “A gem.” -PC Week, 3/18/86 Product of the Month — PC Tech Journal, 3/86 ,T® eS ' Montn g* Thousands of developers are de¬ signing better products faster and producing more effective demon¬ strations using Dan Bricklin’s Demo Program. You can, too. Act now! ■ ONLY $74.95 m 617-332-2240 Massachusetts residents add $3.75. Outside of the U.S.A. add $15.00. SOFTWARE GARDEN Requires 256k IBM PC/compatible, DOS 2.0 or later. Supports Monochrome, Color/graphics, and EGA Adaptors (text mode only). Dept. T-2 P.O. Box 373, Newton Highlands, MA 02161 CIRCLE 142 ON READER SERVICE CARD PC TECH JOURNAL 137 AT performance atanXTprice. OTeleVideo Introducing theTeleCAT-286. $2995.Complete. With TeleVideo, you always settle for more. For some time, you've known exactly what kind of PC you could get with a mid-range budget. But now, you can settle for a whole lot more. With the new TeleCAT-286," from TeleVideo. It starts you off with everything you need. Including a high-resolution 640x400 monitor. 512KRAM. A 20MB hard disk. A 1.2MB floppy. And an Intel 80286 CPU that runs at either 6 or 8 MHz. All standard. To make even better use of internal space, we socketed the TeleCAT-286 for one MB of RAM, and also included serial and parallel ports on the motherboard. As a result, we can still give you three extra expansion slots. And we didn't stop there. We've also designed more ergonomic features into the TeleCAT-286. Including sculptured keycaps on a high-quality keyboard. LEDs right on top of the three critical locking keys, where they won't get covered up by over¬ lays. And a footprint that's 28% smaller than the IBM AT's. So you get more of your desk back, too. There's a lot more we could say about the TeleCAT-286. But it's even better to get your hands on it. So call (800) TELECAT, Dept. 359, and we'll tell you where you can try one. The TeleCAT-286. Our 20MB version is S2995; 30MB, S3495. For high performance at a low price, don't settle for less. ft TeleVideo Settle for more. TeleVideo Systems, Inc. 1170 Morse Avenue, Sunnyvale, CA 94088-3568 (408) 745-7760 IBM is a registered trademark of International Business Machines, Inc. © 1986 TeleVideo Systems, Inc. CIRCLE NO. 182 ON READER SERVICE CARD SPEED INFUSION the 8284 chip. True enough, but not a complete indication of the require¬ ments for successful operation. The results obtained with the American Turbo are consistent with its clock rate. The reset switch performed reliably, permitting the speed to be switched between high and normal at any time. The speed at boot-up can be set at either high or low using the turbo switch on the black box. For the most part, the installation instructions are clear. The 20-page man¬ ual contains many diagrams and photo¬ graphs, but its presentation is marred by numerous typographical errors that are present. Furthermore, the documen¬ tation is missing any mention of the company’s address or telephone num¬ ber (the simple fact that it should be there aside, American Computer and Peripheral offers a service to desolder the 8284 and install it in a socket). The American Turbo leaves a mixed impression. In systems that can run at its one speed, it works fine. But with other boards offering multiple speeds at similar prices, little is left to recommend this one. Maynard Electronics. The Surprise! board offers the easiest installation of the group. Following removal of the 8088, a special carrier is plugged into the mi¬ croprocessor socket. This carrier is eas¬ ier to install than a replacement chip because its pins are sturdier and al¬ ready at the proper spacing. In addition, it is symmetrical, for installation in ei¬ ther direction. Once in, the carrier turns the processor socket into a short slot with 40 pins instead of 62. The Sur¬ prise! then plugs into this slot like an expansion card (but in one direction only). This ease of installation comes at a price, however; the Surprise! falls at the top end of the price scale and at the bottom end of the performance scale among these competitors. The Surprise! board incorporates a V20 that, strangely, is soldered, not socketed. The processor runs at 9.54 MHz, or exactly twice the normal rate. This speed is obtained by a frequency¬ doubling circuit that takes its input from the original 4.77-MHz processor clock. However, only the supplied mi¬ croprocessor can run at this speed. To synchronize it with the slower mother¬ board components, the Surprise! adds two or three wait states per bus cycle. The net effect is about the same as that of a simple clock accelerator running at 6 to 6.5 MHz—but the Surprise! costs twice as much as the others. The speed at boot-up is controlled by a jumper on the board. Subse¬ quently, speeds can be changed by run¬ ning a transient program, or, if the sup¬ plied SURPRISE.SYS device driver has been installed through CONFIG.SYS, via a hot-key combination. On a keyboard reset, the system reboots at the speed last in effect, not at the speed indicated by the jumper. Surprise! provides no hardware reset capability. SURPRISE.SYS can do more than simply switch speeds. It also improves the speed of several functions by re¬ placing some DOS routines. Its effect is especially noticeable in writing to a CGA screen; and display-bound func¬ tions, such as the DOS DIR command, are remarkably faster. Its impact on compute-bound programs or programs that bypass DOS is barely discernable. This driver effects these changes by repointing both the interrupt 20H (pro¬ gram terminate) and interrupt 21H (DOS function) vectors. Interrupt 20H normally points to IBMDOS.COM, and is interrogated by many programs to determine the segment location of DOS. With SURPRISE.SYS installed, these programs will cease to work. Do You Ever Get the Feeling That No One Speaks Your Language? Arity/Prolog. The Language That Spans the Generation Gap. Arity listens to what you ask for. You want a serious, versatile language that will go the distance for you. There are two very good reasons for you to use Prolog —to do your work smarter and faster. That's exactly what the Arity/Prolog development environment-w*ll help you do. Our powerful tools, based on ‘ the general purposelprogramming language Prolog, will signif¬ icantly redpce your development time and allow you to solve a wide range of application|problems. r I No translation required "(jur development environment for i the IBM PC family and aft MS-DOS compatibles includes the Arity/Prolog Compiler and Interpreter, the Arity/Expert Sys¬ tem, and Arity/SQL. And you can tie them all together. You can interfacl| with several other programming languages and build extensions to your existing applications. You'll be truly multilingual —what better way to span the generation gap? i r ^t can take you to new places You’ll discover amazing speed, power, and flexibility using the Arity/Prolog programming environment, with its one gigabyte of virtual memory and fast, compact compiled code, for conventional applications. And if you're working in new territories, like expert systems or sophisticated database management systems, you'll be speak¬ ing the native tongue. Speak it freely Our products are not copy protected and we charge no royalties, so you can use them in as many end-user applications as you'd like. Why keep the language of solutions all to yourself? Join the thousands of assembly and C programmers who already use Arity/Prolog—the language of solutions. Call 1-800-PC-ARITY Today. Masschusetts residents call 617-371-1243. Software that roars. ARITY CORPORATION 30 Domino Drive, Concord, MA 01742 U.S.A. 1-800-722-7489 or in Massachusetts call 617-371-1243 CIRCLE NO. 136 ON READER SERVICE CARD FEBRUARY 1987 139 SPEED INFUSION NEW AND IMPROVED Version 2 Dlf.DAT. • Fully disassembles both .EXE and .COM files! • Flow- and Seg. Reg. Data-trace finds SEGs, PROCs, & Data Areas! • Outputs SEGMENT & PROC pseudo-ops at proper places. • Outputs data areas via proper form of DB/DW (ASCII text as strings, others as hex value). • Labels both code & data. Labels of form ‘Hxxxxx’ where ‘xxxxx’ is hex offset from beginning of program. NEW! • User may easily input locations of multiple pgm. areas (if reqd.). • 8086/88/186/286 op-codes, (‘real' addressing mode). • DOS function calls commented to show operation performed. • Output format fully compatible with IBMVMicrosoft* assembler input. • For IBM PC*/XT*/AT* & com¬ patibles, 128K+, DOS 2.0+

8634-22 PC-DISnDATa 2.0

(SVa” disk & manual). $165 U.S. Funds only, drawn on a U.S. bank. Add $3 shipping (U.S. & Canada). $10 (overseas air) per item. Ohio residents please add local sales tax. •Registered trademark. IBM Corporation. ••Registered trademark. Mic rosoft Corp. To order, phone (513) 435-4480 (M-F. 9a.m.-5p.m.. EST), or send check, money order, or VISA/MasterCard information (name, street address (No P.O. box please) . card number, expiration date, and your telephone number) to: PRO/AM SOFTWARE | 220 Cardigan Road | Centerville, OH 45459 (513) 435-4480 Professional Software for both Novice and Expert Software One reason for knowing the DOS segment is to find the print echo switch, which is toggled by Ctrl-PitSc and Ctrl-P. SURPRISE.SYS seems to lose track of this switch, causing print echo to behave erratically. Print echo can be turned on at either clock speed, but it can be turned off only at slow; once turned on (at either speed), it remains on at high speed at all times. (The May¬ nard technical support personnel ac¬ knowledged only that printing does not work properly at high speed because of “timing loops” within the print control routines. It was suggested that the user switch to low speed whenever print echo is desired. No problem occurred with printing itself at high speed, only with recognizing when the DOS print echo switch had been turned off.) Another problem with the Surprise! is that it fails to recognize an 8087. The documentation states that the Surprise! uses the 8087 at low speed, but not at high. In fact, with this board installed, Lotus 1-2-3, Microsoft C, and Lattice C all refused to acknowledge the pres¬ ence of the 8087 at any speed. Surprisingly, Maynard claims that in many applications (spreadsheets specifi¬ cally), a V20 running at 10 MHz can out¬ perform an 8087 running at 5. This is patently untrue because it implies that hardware floating-point operations on the 8087 are less than twice as fast as software simulation on an 8088 or V20. Typically, the performance ratio at equal clock speeds is between 4:1 and 10:1. In the testing that was performed for this review, a system with a V20 and 8087 running at 4.77 MHz calculated a 1-2-3 spreadsheet about twice as fast as the Surprise! did at 9.54 MHz. Achieving half the execution time at half the clock rate equates to an actual fourfold im¬ provement in the rate of computation with the use of an 8087. The documentation is fairly com¬ plete, but it comes in too many pieces: the installation instructions are on one sheet, technical information is on an¬ other, and these pieces are in addition to an assistance booklet, another outlin¬ ing Maynard’s customer service plan, and several sheets with the software li¬ cense agreement, registration cards, product comment forms, and so forth. One booklet is much preferable. Ease of installation notwithstanding, the Surprise! cannot be recommended because of its interface problems with DOS and the 8087. Even putting this aside, the board is overpriced for the performance improvement it offers. Megahertz Corporation. The TurboSwitch board provides not just two or three higher speeds, but ten, controlled by a rotary switch that mounts on the front panel of the system unit. This permits running the system very close to its maximum speed and changing the speed without reinstalling the Turbo- Switch. As enticing as this may sound, the problems that arise in the installa¬ tion and operation of this board may outweigh the advantages of not wasting some minor portion of speed capability. This board’s installation is far more complicated than any of the others. First, the 8088 is unplugged and re¬ placed with a supplied 8-MHz 8088-2. Then, the 8284 chip is removed from the motherboard and plugged into a socket on the TurboSwitch board (each of the other accelerators has its own 8284). A ribbon cable connects the TurboSwitch and the 8284 socket. Only one end of the cable is marked to pre¬ vent its being plugged in backwards; the orientation of the other end is spec¬ ified only in the instructions, (In this particular case, experience with con¬ necting PCB components is not a help, because the cable is installed contrary to the standard conventions: the striped edge does not connect to pin 1.) Apart from that quirk, the installa¬ tion thus far is quite ordinary. At this point, however, one of the power con¬ nectors from the power supply must be removed from the motherboard and plugged into a receptacle on the Turbo¬ Switch board; a short cable then con¬ nects from the TurboSwitch to the motherboard power connector. Next, the A: drive must be unmounted and slid forward to reveal the direct mem¬ ory access (DMA) chip on the mother¬ board. A spring-loaded grabber clip (of the type used on the end of test instru¬ ment probes) is connected to one of the pins of the DMA chip; then the disk drive must be slid back into place with¬ out dislodging this connection. The TurboSwitch board is mounted by a clip to the back panel, hanging above the 8088 and 8087 sockets. That is the easy version of the in¬ stallation. For a system with a soldered 8284, five more clip-on connections must be made to various points on the motherboard: Worse, the documenta¬ tion for this is literally sketchy, showing line drawings only of the chips, not their names. Also note that owners of compatibles with different component layouts are simply out of luck. Hooking leads onto chip pins is certainly less expensive than paying a serviceman to mount a socket, but the added reliability of the latter approach could be worth the extra expense. In CIRCLE NO. 252 ON READER SERVICE CARD PC TECH JOURNAL Give your system some 1 dir Plus is the most powerful and customizable file management and menuing system available. File management "Right Out of the Box" it provides the tools to organize and manage hard disk files beyond the limitations of DOS and other system utilities. The Idir Plus Command Library includes all the "standard" DOS com¬ mands, plus others, (like Tree, Move & Locate), that make life managing files even easier. The Global Directory enables operations, like erasing all the BAK files, across the entire hard disk with a single command. The system also includes a multi-mode View/Editor that you can use to view or edit any type of file - (ASCII, Extended ASCII, and HEX). C'.SDATABASE CUST BAX INVTBY BAX Drive C 1 Mi* Ext Sixe Sep 20, 1985 09:50a* Jan 01, 1980 00:18a* Hay IS, 1986 01:00p* Aug 28, 1985 02:Up* Jan 01, 1980 00:16a* Bee 27, 1985 11:42a* Jan 01, 1980 00:16a* Jan 01, 1988 00:16a* +■ Nov 15, 1985 05:42a* Jan 01, 1980 00:16a* Nov 19, 1985 02:44a* EE

Hove Eena*e Egj HkJlr Locate ri lrfigtz}
CAUTION: Verify file* to Be erased, press Y to continue...

With "WONDER” PLUS Menuing Made Easy The Menuing System provides an easy way to set up custom commands and menus to run programs and applications. Develop on line Help for any and all new commands created. Beyond Menuing further customizing features include: ■ The ability to select from 8 optional screen displays, ranging from the simple to the sophisticated, for the novice to the expert. Specify one as the default without compromizing the ability to change to any of the others at anytime, when the need arises. We call these the "Faces of ldir Plus.” Global Directory Face Drives Select directory end press , to csncel, (Ctrl Enter) for options H -■ View |?rogra*s||nie Ngt|i)t II lty || Feces jvoTvler* j»| ldir Flu* Version 1.00 - Copyright (c) Bourhaki, lne. 1986 Tree Structured Directory ■The ability I M to tailor each and every directory to display only the desired files, sorted the way you want. You can even use a date range to display only the files that have been changed within the specified period. We call these "Directory Personalities." In addition, you have the ability to specify a different Menu and or Face to be displayed, when you change into a directory that has a "Personality." Corporate Notes ldir Plus provides the perfect environment for PC Managers setting up systems for a wide variety of users, ldir Plus is also a perfect shell for Networks where different users require different configurations. System also includes Password Protection. Inquire about site licensing options. Hester Henu 4444 Come mi Description FI = Edit Edit a file Bun Lotus 123 F3 = Account Change to accounting enu F4 = Fre»e Bun Franework Bun hacloip hatch file F6 = Telecom Bun telecomunlcatlons progra F7 = Personal Change to y personal directory and nenu F8 = Exit Bemue ldir Plus fro ae*ary and exit to DOS Use the function keys or the arrow keys , to select the desired a amend, then press . Use for help. ldir Flu* Version 1.00 - Copyright (c) Bourhaki, lne. 1906 Mem^Onb/^Face - DuunoAKi INC. Suggested Retail Price =$119.00 Dealer & Corporate Evaluation P.O. Box 2867 Boise, ID.83701 Ask your Dealer About Special Pricing units available on written request. (208) 342-5849 CIRCLE 124 ON READER SERVICE CARD SPEED INFUSION We’Ve seen a lot of Pascals, but this one takes the blue ribbon. Produces code smaller and faster than optimized C compilers. ISO- compatible. Supports the 8087 in-line (8087 code emulation option if you don’t have die chip). True relocatable linker allows access to the Microsoft family of languages and assemblers. Four memory models. Overlays. Variable-length strings. Structured constants and structured Junction values. Separate compilation of modules. Procedural parameters. Powerful compile options (optimization by-pass for quicker compiles, syntax evaluator, I/O “fine tuning’’, etc.). Turbo Pascal Translator brings your present Borland programs over to a ISO/Marshal-readable format. Watch the difference it’ll make in your software’s code size and speed! Suggested retail is $189.00. Our price is $159.00. FREE OFFER! ABC WRITER, a powerful WordStar clone with full Print/Merge capabilities FREE with each copy of Marshal Pascal! Only while supply lasts. Call (415) 930-9848-Ask for our free catalog of other software. INNOVATION COMPUTERS 223 Donegal Way Martinez, CA 94523 Itirbo Pascal is a trademark of Borland International. WordStar is a trademark of MicroPro Inc. Microsoft is a trademark of Microsoft Corporation. the course of testing, the connections slipped off several times, crashing the system. Furthermore, one of the con¬ necting wires eventually broke off from its soldered connection on the Turbo- Switch board. Perhaps the test process subjected the connections to more pok¬ ing and prodding than would be done normally in a buttoned-up production system, but this scheme is definitely not recommended for a portable machine, or even for a desktop system that is moved from time to time. Yet, installation of this board is still not complete. The box containing the speed control and reset switches must be mounted to the front panel of the system unit cover using bolts through the vent slots under the nameplate. An¬ other ribbon cable, this one keyed at both ends, connects the switch and the board. With the switch on the cover, the board on the chassis, and the connect¬ ing cable on the inside, opening and closing the system unit can become somewhat complicated. The switch box contains a ten-posi¬ tion rotary selector for clock speeds marked from 6.1 to 9.0 MHz, and a tog¬ gle switch that chooses either the nor¬ mal speed of 4.77 MHz or whichever high speed is set on the selector. A third, spring-loaded position of the tog¬ gle switch provides a reset function. Boot-up may be accomplished at either normal or high speed. Despite the switch markings, run¬ ning a PC at 9 MHz is wishful thinking on two counts. First, no 8088-based IBM PC or compatible system is capable of that speed. Second, the markings on the TurboSwitch are somewhat optimistic; the clock rates measured with a fre¬ quency counter were lower by 3 to 6 percent. The 9-MHz position actually produced a frequency of 8.7 MHz, but that is still too fast for either test sys¬ tem. The maximum speed possible with the IBM system was 7.06 MHz (position 5, marked 7.3). The TurboSwitch could not be tested at higher speeds because it would not run at all in the XT-com¬ patible system—there it simply refused to boot at any setting. The TurboSwitch uses resistance capacitance (RC) circuits rather than quartz crystals to generate frequencies above 4.77 MHz. The reasoning behind this choice is obvious: ten crystals would be much more expensive. How¬ ever, it delivers less precise control and is more subject to failure than a crystal- controlled oscillator circuit. Using its connection to the DMA chip, the TurboSwitch board can detea disk I/O and reduce the system speed for the duration. Therefore, DOS FORMAT can be run without switching back to normal speed. Surprisingly, this board’s performance in the disk-inten¬ sive tests was not significantly better than that of boards that do not deceler¬ ate during disk access. The bottom line recommendation on the Megahertz TurboSwitch is not overwhelmingly positive. Although it has no fatal flaws, neither does it offer any operational advantages to compen¬ sate for the intricacies of installation or for the shortcuts in design. Microspeed. To put it simply, the design, execution performance, and documen¬ tation of the Fast88 is the best in this field of simple accelerator boards. It contains three crystals to run at speeds of 6.14, 6.67, and 7.37 MHz. The manual says these are meant for systems with memory chips rated at 250, 200, and 150 ns, respectively. The choice is made at installation by means of a jumper. Another jumper enables or disables the reset button—this is the only board to carry such an option. Installation involves replacing the microprocessor with a supplied 8-MHz 8088-2, removing the 8284, and con¬ necting a ribbon cable between its socket and the Fast88. The connectors are not keyed, but the cable is plainly marked and the instruaions are more than adequate to avoid confusion. The board itself attaches with screws to the inside of the back panel, over the round knockout of a PC or the DB-25 opening of an XT. The mounting bracket is cleverly designed so that a telephone-style modular jack on the board lines up with the opening. This jack accepts a short length of cable that connects with a small plastic box containing the speed switch and a reset button. The box may be left sitting on the desktop or attached to the sys¬ tem unit cover with double-sided adhe¬ sive tape, also supplied. The quick- connect Telco jacks at both ends of the cable will be appreciated both at instal¬ lation and subsequendy whenever the system unit needs to be opened. The operation of the Fast88 was as smooth as the installation. As stated in the manual, the board could run no fas¬ ter than 6.67 MHz in the IBM system with 200-ns memory chips; it did run at 7.37 MHz in the XT compatible (with 150-ns chips). Speed switching and re¬ setting worked flawlessly every time. The Microspeed documentation also is first-rate material. An exhaustive, 64-page booklet covers not only installa¬ tion, but also the design criteria and theory of operation. It even has an in- 142 PC TECH JOURNAL PROFESSIONAL INDUSTRIAL COMPUTERS LOW PRICED YET HIGH RELIABLE 100% IBM compatible, Phoenix Bios Technical Data : Professional 286-10 Intel 80286 Microprocessor 8/10 MHZ • Math coprocessor (80287) • Seven channel DMA

16 level interrupt

• System clock • Three programmable timers PROFESSIONAL 286-10 ?.o' V, • 64 kB ROM • One MB RAM on board • CMOS RAM for system configeration • Real time clock • Battery backup for CMOSRAM • Eight slots • Two parallel printerports • One serial port • Floppy drive 1.2 MB • Rugged hard disk drive 20 MB/30MB • Enhanced graphics adapter 720 x 350/16 (64) colors • EGA compatible high resolution monitor • Membrane type keyboard IBM-AT compatible, 98 keys • Without floppy drive • With two floppy drives • 3.5 inch disk drives available • uninterruptable power supply • Bubble memory • Custom designed hardware add ons • Special analog preamplifiers • Power amplifier outputs • Telephone modem for service • LAN’s available • Air conditioning Runs with MS-DOS 3.1 or higher and can handle all software products available for PC/AT systems • Energy Management • Laboratory automation • Pressure Measurement • Flow Measurement • Level monitoring and control • Product testing • Data logging • Process Control • Servocontrol • Robotics • Chromatography • Signal Analysis • FFT • Vibration Analysis • Transient Analysis • Your special application 12-bit to 14-bit AD/DA cards designed for industrial applications with 1/0 lines, frequency counters and individual preamplifiers per channel are available. KORROS-DATA delivers turnkey projects KORROS-DATA of America Inc. 797 San Antonio Road Palo Alto, CA 94303 Tel. (415) 858 2866 Circle No. 226 on Reader Service Card TLX 33-4959 APTECH PLA Registered Trademark: IBM-International Business Machines Corp. SPEED INFUSION dex—an unheard-of luxury in instruc¬ tion manuals of this type. The Fast88 is a superior product, the choice by far in this field. The only possible improvement would be to sub¬ stitute a V20 processor for the 8088-2. But even as it was tested, the Fast88’s cost/performance ratio is the best, espe¬ cially if cosr takes into account not only money, but also that other scarce resource, expansion slots. Microsync. The Screamer is a short-slot board that fits into an expansion slot. With this full access to the system bus, it can adapt itself better to the capabili¬ ties of the system and exert some con¬ trol over the system’s timing. A battery- backed clock/calendar is included, but unlike most devices that are used only to set the system clock at boot-up, this one plays a significant role in the board’s operation. Despite a complex and convoluted design, the Screamer turns in very ordinary results, and it has one very serious failing. Installation itself is fairly straight¬ forward. The board may be plugged into either of the two rightmost slots; a ADVANTAGE C+ + Brings the power of C++ to your PC. • Opens the door to object-oriented programming • Allows programs with greater resilience, fewer bugs • Fully compatible with existing C programs • All the benefits of C without its limitations ADVANTAGE Link Everything you've always wanted in a PC-DOS linker. • The fastest, most powerful PC-DOS linker available • The first linker to take full advantage of extended memory • Accepts Microsoft and Phoenix command files • Supports up to 53 commands—more than any other linker • Compatible with Microsoft CodeView ADVANTAGE LIBRARY SERIES TimeSlicer Multi-tasking library streamlines C programming. • Perform concurrent tasks and real-time event processing • Includes higher files for both C and assembly language and example programs with source code • Compatible with C++ and object-oriented programming • Critical resource management assured To order or to obtain complete specification sheets, call: 1-800-847-7078 In NY: 914-332-1875 55 South Broadway Tarrytown, NY 10591 UFESQAT The Full-Service Source for Programming Software. CIRCLE NO. 173 ON READER SERVICE CARD switch must be set if it is installed in slot 8 of an XT. The system’s original microprocessor is unplugged and re¬ placed with a V20. The 8284 is removed from its socket, then a special socket with some of the pins removed is plugged in its place, and the 8284 is plugged into that. The connection be¬ tween the board and the 8284 is made by means of a single wire terminated with a clip that snaps over the clock chip. The final step is the running of an installation program and the setting of the Screamer’s DIP switches according to an on-screen diagram. The switch settings can be changed while the sys¬ tem remains powered; the purpose of these switches becomes clear upon ex¬ amination of the board’s design. The Screamer generates three clock frequencies: 4.77, 6.0, and 8.0 MHz. At any given instant, the clock rate will vary according to the capabilities of the components being accessed. For processor-only operations, the 8-MHz rate is used; for other activities, die rate is controlled on a cycle-by-cycle basis. This has the effect of “stretching” por¬ tions of a bus cycle without using wait states. During a bus cycle that reads or writes slow memory, only two of the four clock cycles are lengthened. On the surface, this scheme seems preferable to inserting wait states. At a clock rate of 8 MHz, a bus cycle with a single wait state lasts 625 ns (five clock cycles of 125 ns each), while a four- clock cycle with two clock cycles at 125 ns and two at 167 (the clock period at 6 MHz) lasts only 584 ns. But in practice, lengdiening q'des exacts more of a penalty than inserting wait states. This is so because the 8088 and V20 processors perform two activities at once: prefetch¬ ing of instructions and execution. Most of the time, while a bus cycle is in progress, die processor’s execution unit is busy crunching an instruction fetched on a previous bus cycle. If the clock cycle is lengthened, fetching and execution are slowed down together. On the other hand, inserting a wait state slows down only the bus interface unit, while the execution unit continues to move along at full speed, provided that it has a prefetched instruction to work on. In fact, a single wait state in a bus cycle exacts no penalty whatsoever if the currently executing instruction takes five or more clock cycles; two wait states have no effect during execu¬ tion of an instruction of six or more clock cycles, and so on. The Screamer’s installation pro¬ gram tests the DMA channels and each portion of memory and attempts to de- 144 PC TECH JOURNAL Whetstones/sec* Microsoft 3.31 " 1 Lahey 2.0 89,700 | z z z z z z z J This is the one. C^| Ry an-McFarland 2.11 Whatever the yardstick, — RM/FORTRAN™ blows i the others away. Microsoft 3 31 Sieve? RM/FORTRAN Microsoft 3.31 _ runs 26% to 228% fas ter. Lahey 2.0 Whetstones? RM/FORTRAN is MIMI 20% to 33% better. | *Single precision. Run on IBM PC// And those aren’t our i benchmarks. They’re the f _J industry standards. / 7 With RM/FORTRAN, k you can actually feel the ' S=5=J ^ difference in the seat of your pants . . . because you’ll do less sitting and waiting for those big, complex mainframe programs to run on your micro. In fact, an ARPANET Bulletin Board user said, “. . . for serious conversion work of mainframe Fortran code, use the Ryan-McFarland ...” 119,000 99,300 Single precision. Run on IBM PC/AT (6 MHz) with 80287, PC-DOS 3.2. ] y~V example, said our jO “compiler’s documentation, ease of use, speed of execution, and debugging facilities place it first for recommendation. ” But why spend any more time reading when — you should be filling out ® 3 - 2 - the coupon and getting your free “RM/FORTRAN Tbols, Utilities and _ Applications Directory” and ^ sample benchmark programs to \ run on your own PC. / Remember, if it isn’t } RM/FORTRAN, it’s just a Fortran also-ran. Ryan-McFarland 609 Deep Valley Drive Rolling Hills Estates, CA 90274 or caU 213-541-4828 RYAN-McFARLAND RM/FORTRAN is also the first and only PC Fortran GSA certified at Full Level ANSI 77 with no discrepancies. So programs move effort¬ lessly from your mainframe to a PC, XT, AT or compatible. And they also port to 68000-based systems or new 80386 machines. You may already be using version 1.0 under the name “IBM PC Professional Fortran by Ryan-McFarland.” RM/FORTRAN comes with popular extensions from "VAX, VS and Fortran 66. That’s more mainline mainframe extensions than any other micro Fortran. And there’s more. PC TECH Journal, for S Knock me out. Send me the benchmark | programs and the free Applications Directory. CIRCLE NO. 137 ON READER SERVICE CARD TRAVEL Add RealCICS™ to REALIA® COBOL and your online applications are free to travel to the PC. With RealCICS, you don't have to work nights to get the test time you need. You don't have to buy an XT- or AT-370. You don’t even have to revise the definition tables. Realia's well-known IBM compatibility makes upload/download easy. But compiled under REALIA COBOL, your CICS applications will run so fast on the PC that you may not want to send them back to the mainframe for production. In fact, one user just put a mainframe application on a bunch of portables and sent them on the road. RealCICS is the ticket. Call us. nuuA 10 South Riverside Plaza, Chicago IL 60606 Telex 332979 / Phone (312) 346-0642 CIRCLE 192 ON READER SERVICE CARD SPEED INFUSION termine the maximum speed at which each will operate. Because it sits in a slot, the Screamer has access to the ad¬ dress bus and can vary the clock rate depending upon the segment being ad¬ dressed at each cycle. Memory is tested in 128KB increments all the way through the 1MB address space, includ¬ ing video memory, any expanded mem¬ ory page frames, and ROM. At the com¬ pletion of testing, the program graphi¬ cally displays the switch settings. Instructions for setting switches are also given in detail in the documenta¬ tion. This is fortunate because the test program is not wholly reliable, and its recommendations do not always work. For example, on the PC test system with 200-ns RAM chips, the test procedure specified switch settings for a constant 8-MHz clock rate to all of memory. But with these settings, the system crashed whenever it was switched into high speed. The board ran well when set for a 6-MHz rate of memory access. Another switch controls the boot¬ up speed of the Screamer. Thereafter, the speed is switched via a supplied program that can be either resident or transient. Once the proper switch set¬ tings were determined, no problems were encountered with switching among the three speeds. At high speed, the Screamer’s aver¬ age clock rate, as measured with a fre¬ quency counter, varied between 6.5 and 6.8 MHz, depending upon the activity. Most of the time, the counter would sta¬ bilize at 6.67 MHz, which is the result of 60 percent of the clock cycles at 6 MHz and 40 percent at 8 MHz. (The average frequency is obtained by aver¬ aging not the 6 and 8, but the periods of 167 and 125 ns.) The benchmark re¬ sults are almost identical to those ob¬ tained with boards that were running at a constant 6.7 MHz without any of this complexity with the clock. However, the most serious flaw in the Screamer’s design is the fact that it does not provide the standard timer in¬ put frequency of 1.1932 MHz. Because only one original 8284 is present, the processor clock and timer signals can¬ not be separated, and the 8253 timer chip receives one-quarter of whatever frequency is being fed to the micropro¬ cessor. In the Screamer, this can vary from cycle to cycle, thus the timer does not have a constant time base. The video synchronization, however, is unaf¬ fected, because the 14.3-MHz oscillator from the original crystal continues to be fed to the expansion slots. To salvage the time-of-day capabil¬ ity, an installable device driver replaces FEBRUARY 1987 the DOS clock device and maintains the correct time despite the variations in the timer frequency. However, this does not fully duplicate the standard clock fa¬ cilities because the correct time is maintained only by the Screamer’s on¬ board clock/calendar and is available only through DOS. The timer words in the BIOS data area do not reflect the true time of day, nor are they updated at the actual time rate. Thus, processes that measure elapsed time by reading the timer words (or, for more resolu¬ tion, the timer registers) directly will not obtain the correct values. Further, the frequencies of sounds produced by the speaker are very* different. IBM has made a commitment to maintain a fixed timer input frequency in all members of the PC family. Micro¬ sync’s disregard of this standard is un¬ warranted. Providing a substitute date and time driver is not sufficient, be¬ cause the timer frequency has other uses. For compatibility across the PC line, programs should take time-critical information from the timer, and the most efficient way of doing that is not A Contradiction! Running Under PC DOS
750 million bytes formatted in two volumes for the "Eagle" (one volume/drive)...M2361A can hold 552MB/volume...data transfer rate up to 2.4MB/sec....data access time - 18ms/drive...variable interleave capability...partitioning possible...drives built to mainframe specifications with mainframe reliability...greater than 20,000 hours MTBF. For further information contact: Upper Bound Micro 18 Elizabeth Street, W. Conshohocken, PA 19428 (215) 825-0505 FAX (215) 828-8618 The "Eagle" is a trademark of Fujitsu America, Inc. PC DOS is a trademark of IBM. CIRCLE NO. 169 ON READER SERVICE CARD 147 SPEED INFUSION through DOS, but directly from the BIOS or timer words, or from the tim¬ er’s registers. With the Screamer in¬ stalled, the timer becomes useless. It is primarily for this reason that the Screamer is not a recommended prod¬ uct. Even so, the cost and complexity of this accelerator are not justified by the performance it delivers. MicroWay. Although the 87/88 Turbo is a short-slot board that plugs into an ex¬ pansion slot, it is basically the same type of clock accelerator as the other no-slot boards. It runs an 8088 or V20 in the original motherboard socket and feeds its higher-speed clock signals through the original 8284 socket on the motherboard. However, with full access to the bus, this board can do some tasks the others cannot, such as switch¬ ing speeds with software and automati¬ cally slowing down for disk access. In addition, it includes a battery-powered clock/calendar for setting the system clock on power-up. The 87/88 Turbo comes with an 8-MHz V20 and three crystals that gen¬ erate frequencies of 6.67, 7.37, and 8.0 MHz. The crystal for the slowest of these is soldered to the board; one of the other two is to be plugged into a socket. Then, a jumper is set to choose one of the two remaining frequencies as the turbo speed. The choice of 6.67, 7.37, or 8 MHz can be made only at in¬ stallation, not during operation. It would have been much clearer, there¬ fore, to provide only one method of choosing—either by a jumper that se¬ lects one of three premounted crystals, or by plugging one of three into the board. The purpose of providing three clock speeds is, of course, to allow tai¬ loring the speed to the capabilities of a particular machine, but there seems to be no overwhelming reason to have two crystals, rather than one or three, mounted on the board. The socketed crystal does offer one option not available with the other boards. For a system that can run faster than 6.67 MHz but cannot manage 7.37, the user can purchase and plug in a crystal for some intermediate speed. The crystal frequency needs to be three times the desired clock rate; for exam¬ ple, a 21-MHz crystal is needed for a clock rate of 7 MHz. The documentation for this board, consisting of five 8-by-l 1-inch sheets of paper, contains installation instruc¬ tions that are a model of conciseness and clarity. MicroWay has always tar¬ geted its products to the more experi¬ enced PC user, for whom it is a pleas¬ ure to be spared the tedium of yet an¬ other explanation of how to take off the system unit cover or what exacdy an AUTOEXEC file is and how to add lines to it. But the user who needs this kind of instruction will find the lack of tech¬ nical information frustrating. The pages provide absolutely no detail regarding the board’s theory of operation, the I/O port addresses used by the clock and the speed switching hardware, nor any explanation about the operation of any of the supplied resident programs. The port addresses given here were discov¬ ered by disassembling the programs. The process of installation involves replacing the 8088 with the V20, insert¬ ing the 87/88 Turbo into a slot, remov¬ ing the 8284, and connecting a ribbon cable between the board and the va¬ cated socket. The cable is keyed at one end, and pin 1 is plainly marked on the other. A push-button reset switch mounts in the round knockout in the rear panel; its cable is too short, howev¬ er, to permit mounting in a more acces¬ sible location for the user. The system always boots up at 4.77 MHz. Thereafter the speed can be changed in one of three ways: first, by means of a spring-loaded switch that protrudes through the mounting bracket —pressing it down causes the system to speed up into turbo mode, and vice- versa (although a minor point, the re¬ verse would have seemed more logi¬ cal); second, by running one of two programs, LARGO and PRESTO, either from the DOS prompt or from a batch file; third, by installing a supplied resi¬ dent utility that performs speed-switch¬ ing via hot keys. However, the key com¬ binations of this last choice seem rather arbitrary and not mnemonic: Ctrl-Alt-P for fast speed, Ctrl-Alt-L for slow. The MicroWay instructions suggest starting out at the highest speed (8 MHz) and stepping down until the sys¬ tem does not crash upon shifting into high speed. As stated, the test PC system would not run faster than 6.67 MHz. Strangely, the board would not run at 8 MHz in the XT compatible, even though that machine has built-in capabilities to operate at that speed. This suggests that the 87/88 Turbo makes no concessions to slow system components, and indeed, it used zero wait states. But this board gives the user one element of control not provided by any of the others: the choice of auto¬ matically switching into slow speed for all disk accesses. If a resident utility is installed, slow speed is entered at each disk I/O interrupt, and the former speed is reenabled afterwards. Without this utility, disk I/O proceeds at what- Complete Communications for Programmers & Engineers for $95 Turn Your PC or AT into a Communicating Workstation ZAP gives you all the communications fea¬ tures you need, plus emulation of graphics and smart terminals. And at a reasonable price! You can use the full capabilities of almost any computer — a mainframe, mini, or just using a BBS . . . unattended. Accessing existing data shouldn’t cost you a lot of money. TAP is the most versatile ~ communications package you - could ask for. / communicate - -- with a number of mainframe and mini systems and use ZAP to download everything. It is very easy to use. Vve bought 4 communications packages. All cost more, and none come close to TAP's performance. TAP is now the only package I use. — Larry Cole, President PC Powerware Corp., Chicago, IL TAP is a phenomenal product at a very reasona¬ ble price. To think / was ready to settle for VT100 emulation for $195! — Hank Streeter, Owner Integrated Software Development, Houston, TX Requires an IBM PC or close compatible and 128K RAM. w LJUWiuuai ZAP VT100, 102, TEK 4010/14 ... It’s all Here Emulate TEKtronix 4010/14 and DEC VT 100, 102, 52 including variable rows and columns, windows, full graphics, more. Reliable file transfer to/from any mainframes and PCs including KERMIT and XMODEM protocols (plus a full copy of KERMIT). 50-38,400 BAUD transfer speeds. D ownlo ad and fully automated logon with Macro and Installation files (scripts) • EMACS, EDT and VI Script” files are included. ZAP also supports products like DISSPLA and SAS/GRAPH. Configurable to the communications and terminal features on the ‘‘other end”; 1, 2 stop bits; 5, 6, 7, or 8 data bits; parity of odd, even, none, mark and space; remap most keys including the numeric pad. Set any screen size your hardware supports. DOS shell for full PC/MSDOS access. Supports 9 Comm ports and the IBM Monochrome, color, EGA, or Hercules Monochrome cards. Call 800-821-2492 to order ZAP risk-free for only $95 evolution Systems™ 335-P Washington St., Norwell, MA 02061 (617) 659-1571 CIRCLE NO. 129 ON READER SERVICE CARD PC TECH JOURNAL SPEED INFUSION microDCF™ Text Workstation IBM DCF3 Compatible Text Processing System For Your PC • IBM Script language • IBM GML language • macro libraries • symbol support • multi-pass processing • high performance • laser printer support • table of contents • back-of-book index • user-definable languages • modular print manager • and much more... $795.- Quantity Discounts Site Licenses Full Maintenance TM Programmer Workstation IBM ISPF Compatible Program Development Tools For Your PC • ISPF PDF editor • dialog manager • dialog panel editor • utilities • multitasking while editing • directory file selection • customizable master menu from $145.- Arrix Logic Systems Inc. PO Box 142, Don Mills Stn. Ontario M3C 2R6, Canada (416) 292-6425 TELEX 06-986766 TOR IBM is a registered trademark of International Business Machines Corp. ever clock speed is in effect. The other boards that have the capability of slow¬ ing down for disk I/O do not offer the option of disabling it. The MicroWay 87/88 Turbo opera¬ tion was flawless. As its name indicates, it also works well with an 8-MHz 8087. The installation instructions are first- rate, but it has no technical documenta¬ tion. Although it has some minor, but irritating, design flaws, the product works as promised, and the price is rea¬ sonable. For systems with no shortage of slots, and especially for those in need of a clock, MicroWay’s 87/88 Turbo merits consideration. GOING FAST ENOUGH The accelerator boards were examined with measuring equipment and bench¬ mark programs. Clock frequencies were measured using a frequency counter. For the boards with crystal-controlled oscillators, and for those that doubled the 4.77 Mhz from the motherboard, the frequencies were found to agree with the nominal indicated to better than 0.1 percent (the output of a crystal oscillator may be varied over a narrow range with a trimming capacitor). Only one board, the Megahertz TurboSwitch, generates frequencies with less stable RC circuits. Its output is below the nominal by as much as 5 percent, and varies generally by about 1 percent. The Microsync Screamer also varies, but that is by design; its two individual frequen¬ cies are derived from a crystal oscillator and both are steady. A logic analyzer was used to deter¬ mine the insertion of wait states into bus cycles. This instrument samples a number of signals from a system under test, recording the logic state (zero or one) of each signal at each clock pulse. The capacity of the unit used was 4,000 bytes, meaning that 4,000 clock cycles could be stored with an 8-channel probe, or 2,000 with a 16-channel probe. The start of sampling can be triggered manually or by the occur¬ rence of a particular bit pattern on the sample lines. At the end of the sampling interval, the stored data can be dis¬ played on the unit’s screen in binary, octal, or hexadecimal numbers, or graphically as timing diagrams similar to the one shown in figure 3. Because it ran at a faster clock speed (9.33 MHz) than the other five products, the Maynard Surprise! was the only board found to insert wait states into the bus cycle. The number of wait states is at least two, and occasionally three, for memory cycles, and four to six when accessing I/O ports.

1 Lint for MS-DOS

diagnostic facility for C PC-lint lets you zap swarms of C bugs and glitches at a time. Now you can uncover the quirks, inconsistencies, and subtle errors that infest your C programs . . . waiting to bite you. PC-lint finds them all... or as many as you want... in one pass. Set PC-lint to match your own style. Outperforms any lint at any price ■ Full K&R support and common ANSI enhancements (even MS keywords) ■ Finds inconsistencies (especially in function calls across multiple modules!) ■ Modifiable library descriptions for 8 popular compilers ■ Super fast,one-pass operation ■ Suppress any error message ■ Zillions of options PRICE $139 • MC • VISA • COD Includes USA shipping and handling Outside USA, add $15. In PA add 6%. ORDER TODAY, 30-day guarantee Runs under MS-DOS 2.0 and up, and AmigaDOS. Uses all available memory. Trademarks PC-lint (Gimpel Software). ■& MS, MS-DOS (Microsoft), Amiga (Commodore) :c8Vr » T* CIRCLE NO. 122 ON READER SERVICE CARD FEBRUARY 1987 149 SPEED INFUSION The asynchronous changes in the state of READY are brought into synchronization with the system clock by logic within the 8284 clock generator chip. (See figure 1.) Note that the READY line has no effect on the T3 clock cycle. In designing benchmark programs to test these accelerators and the more complex models in future installments, one factor became immediately ob¬ vious: it is not possible to devise a sin¬ gle numeric measure that rates the rela¬ tive speed of processing under all con¬ ditions. A microprocessor performs many different functions, and its throughput can be increased by improv¬ ing the speed or efficiency of several of these functions in varying degrees. The effective improvement seen by the user depends upon the particular mix of these functions performed by a given application. The apparent gain in per¬ formance will vary depending upon the task used to measure that performance. Therefore, several different bench¬ marks were devised to test performance under a variety of conditions. With one exception, these tests are practical ap¬ plications, not artificial sequences of in¬ structions contrived to exercise some limited aspect of the microprocessors capabilities. The benchmark results are shown in table 2. Where two speeds are listed for a board, the lower of the two was achieved in the PC system de¬ scribed, the higher in the XT compat¬ ible. Note that the American Turbo was tested only in the compatible because its one speed was too fast for the PC; the Megahertz TurboSwitch would not run in the compatible; and the Maynard Surprise! ran at the same speed in both. BUSPERF (written in Lattice C and assembly language) was the one bench¬ mark designed specifically to determine low-level timing characteristics (see list¬ ings 1 and 2). It tests the speed with which systems fetch instructions from memory and calculates a speed index relative to a standard PC running at 4.77 MHz. Measuring bus access timing re¬ quires a sequence of instructions for which the execution time is limited by the bus; that is, each instruction must execute in less time than it takes the bus unit to fetch it. The 8088 requires at least eight clock cycles to fetch a two- byte instruction; therefore, any instruc¬ tion that executes in fewer than eight clock cycles satisfies the requirement for this test. Ideally, the same test should be applicable to 80286 ma¬ chines, and the processor should fetch word-long instructions in a minimum of two clock cycles. Some two-byte instruc¬ tions do execute in two clock cycles, namely register-to-register moves. The high-resolution (better than 1 |xs) timing method required for this test was developed by Bob Smith and Tom Puckett (see “Life in the Fast Lane,” April 1984, p. 62). Basically, the timing routine counts the pulses on the 1.1932- MHz timer line (refer to figure 1). The timing sequence is coded in straight-line fashion, rather than as a loop, to prevent the LOOP instruction from upsetting the balance between ex¬ ecution and fetch times. One other pre¬ caution must be taken: the timed se¬ quence cannot be interrupted by a hardware interrupt. The obvious way to avert this is to disable interrupts, but that still leaves one problem. If the tim¬ er count reaches zero during the test, the time at the end of the test may be less than the time at the start. Instead, the test is made to fit between timer ticks by delaying the start of the test un¬ til a tick occurs and limiting the instruc¬ tions in the sequence so that they can be executed in less than the 53 ms be¬ fore the next timer tick. The primary purpose of BUSPERF is to complement the logic analyzer in finding wait states. The analyzer can de¬ termine precisely the number of wait states and the circumstances when each occurs, but only in a relatively short time span of 4,000 clock cycles. If an event that affects the system’s timing oc¬ curs outside of this interval, it is not re¬ flected in the data stored in the ana¬ lyzer. On the other hand, BUSPERF can determine average bus access time over a time period two orders of magnitude (100 times) longer. In more colloquial terms, the analyzer might miss the for- 150 PC TECH JOURNAL TABLE 2: Benchmark. Results IBM CORPORATION AMERICAN COMPUTER MAYNARD ELECTRONICS MEGAHERTZ CORPORATION MICROSPEED MICROSYNC MICROWAY MODEL PC PC American Surprise! TurboSwitch Fast88 Screamer 87/88 Turbo Turbo MICROPROCESSOR 8088 V20 8088-2 V20 8088-2 8088-2 V20 V20 CLOCK SPEED (MHz) 4.77 4.77 7.37* 9.55 7.06 6.67 7.37* 8.00 6.67 7.37* CLOCK SPEED RATIO 100 100 155 200 148 140 155 168 140 155 BUSPERF 0.045 6 100 159 132 150 142 159 c 143 159 ATFLOAT No 8087 106 124 158 166 151 142 158 174 160 196 With 8087 22 116 158 cl 151 142 157 159 157 175 ASSEMBLY OF VDISK 34 110 158 148 148 142 156 154 154 172 LOTUS 1-2-3 No 8087 122 103 157 152 147 141 155 161 159 187 With 8087 41 106 153 _ d 149 142 157 157 156 179 dBASE SORT 119 106 146 115 118 115 147 118 119 143 WORD REPAGINATE 50 111 152 156 156 148 170 156 161 192 DOS FORMAT • • O • • O O O O O • = Yes O = No a These results were obtained with the board in a PC/XT-compatible machine (with 8.0-MHz capacity), in order to accommodate the higher clock speed. b The figures in the first column (from this test down) are times in seconds for the base machine—an IBM PC with a 4.77-MHz 8088. The remainder of the fig¬ ures for the tests (including the second column, which is the base PC with the 8088 replaced by an NEC V20) are percentages relative to the first-column unit figures (base 100), and represent the increase in PC performance yielded by the accelerator boards. c BUSPERF relies on the IBM standard timer frequency, which is altered by Screamer. d Surprise! does not allow the use of the 8087 numeric coprocessor. The impressive clock rate of the Surprise! does not give a proportional performance improvement. The use of wait states by the Surprise! brings its performance down to a level comparable to the other products. None of these products provides even twice the performance of a stock PC, a level considered by many to be the minimum significant performance enhancement. est for the trees, while the program alone could be the statistician who drowned in a lake with an average depth of two feet. For an example of how the ana¬ lyzer and the program complement each other, consider the results ob¬ tained for the Maynard Surprise! The analyzer indicated that, most of the time, two wait states were inserted into memory accesses, with an occasional bus cycle having three wait states. How can it be determined if this is the nor¬ mal state of affairs and not an artifact of the narrow sampling window? Perhaps in a wider time frame, the cycles with three wait states are more prevalent, and those with two are an exception. Some simple calculations, and the results of BUSPERF, provide the answer. At the normal speed of 4.77 MHz and with zero wait states, a bus cycle takes four clock cycles of 210 ns, for a total of 840 ns. At 9.55 MHz, the clock period is 105 ns, and a bus cycle with two wait states (six clock cycles total) takes 630 ns. The ratio of the bus cycle times, 840/630, is 1.33, almost exactly the re¬ sult produced by BUSPERF. Therefore, it follows that the Surprise! inserts two wait states into most bus cycles. However, because of the occur¬ rence of cycles with three wait states, the average calculated by BUSPERF should be somewhat higher than the ra¬ tio obtained by the above calculation; instead it is slightly lower. This differ¬ ence can be explained by the saving in overhead for DMA refresh cycles. Under normal circumstances, every 72 clock cycles (15 [is at 4.77 MHz), one of the DMA channels performs a. dynamic memory refresh to prevent the contents of RAM chips from fading away. The refresh cycle takes five clock cycles, representing an overhead of 5/72 or 7 percent. The refresh cycles are triggered by the timer chip (the input for which is the 1.1932-MHz timer clock), and a correctly designed acceler¬ ator board does not change this fre¬ quency, so that the refresh interval re¬ mains 15 |is. But if the processor clock runs at twice the speed, 144 clock cy¬ cles occur between refresh cycles. With, for example, three wait states per re¬ fresh cycle, the refresh overhead would be (5 + 3)/l44 or 5.5 percent. In the case of the Maynard Surprise! board, this reduction in refresh overhead ap¬ proximately offsets the occasional inser¬ tion of a third wait state. Because the results reported by BUSPERF depend on a constant timer frequency, this test could not be run on the Screamer. With that board, the timer frequency changed along with the processor clock, so the relative speeds of the timer and processor were the same (at 4.77 MHz). As a result, BUSPERF gave a bus speed index of 1.0. The other benchmarks are more straightforward. ATFLOAT is a floating¬ point benchmark written in Microsoft C by Steven Armbrust, Ted Forgeron, and Paul Pierce for testing AT compatibles. (See “Out from the Shadow of IBM...,” August 1986, p. 53.) It has no processor- specific code and runs on 8088 and 8086 processors, with or without an 8087 (and the test was performed both with and without). Note that at clock speeds above 5 MHz, the 8-MHz 8087-2 model must be used. Five of the six ac¬ celerators ran fine at both high and normal speeds with the 8087. As has been noted previously, the exception was the Maynard Surprise! The assembly test used Microsoft’s MASM 4.0 to assemble the DOS 3.2 ver¬ sion of VDISK.SYS. The source code was obtained by processing the listing file VDISK.LST (on the DOS Supple¬ mental Programs disk) with the BASIC program LST2ASM (previously pub¬ lished with “Same Language, New Archi¬ tecture,” Ted Mirecki, October 1985,

  1. 48.) To minimize timing differences caused by disk I/O, the assembler, FEBRUARY 1987 151 SPEED INFUSION source file, and object file all resided on a RAM disk in expanded memory. To avoid taking timings manually, the following batch file was used: TIMEO MASM VDISK; TIME REM Reset your clock or run boot-up clock program. Typical end-user applications are represented by Lotus 1-2-3, Ashton¬ Tate’s dBASE hi, and Microsoft Word. The mortgage payment table using the Data Table 2 feature. The rows of the table are the life of the loan in years, with values varying 1 to 30 by 1. The col¬ umns hold the interest rates from 1 to 20 percent by .23. This is a more realis¬ tic business calculation than the more compute-intensive log, square root, or logarithmic functions. A file containing this spreadsheet, SSPERF.WK1 (for 1-2-3 release 2.0 or 2.01) is available for downloading on PCTECHline. For this test, the expanded memory was dis¬ ing paged memory. Despite the nonpro¬ cedural nature of spreadsheets, their re¬ calculation timing may be automated by the following 1-2-3 macro: {LET Al,@NOW} steps to be timed {LET A2,(@NOW-Al >*24*3600} {GOTO} A2 - When complete, cell A1 contains the start time and cell A2 the elapsed time in seconds. The @NOW function returns a value for which the fractional part represents time of day (.0 is mid¬ night, .5 is noon, .75 is 6 PM, etc.). The fraction representing elapsed time is converted to seconds by multiplying by the number of seconds per day. Of course, cells A1 and A2 can be in any convenient place in the spreadsheet, or, more effectively, they can be range names. The {GOTO} command at the end was put in as a work-around for what appears to be a minor bug in 1-2-3: the effect of a LET, which assigns a value to a cell, is not displayed until the next time the cell pointer is moved. The dBASE hi test consisted of sort¬ ing the author file from PC Tech Jour¬ nal s standard application for testing da¬ tabase managers (see “Evaluating Data Managers as Development Tools,” Julie Anderson, August 1985, p. 46). The file contains 900 records of 353 bytes; the sort was done on three fields (ZIP, LAST_NAME, FIRST_NAME) totaling 35 bytes. The input and output files were on hard disk, so the results here are de¬ pendent upon the speed of the disk as well as the processor. Although the ab¬ solute time of this test may vary from system to system, the relative times on one system should be close to those in table 2. As expected, the improvement provided by an accelerator is less on a disk-intensive task than it is on more compute-bound activities. The word processor test timed Microsoft Word repaginating a 57KB document occupying 19 pages. This was the only test timed using a stopwatch; the reported results are the average of five runs. The document resided on a hard disk, so this elapsed time also de¬ pends upon the disk speed, but to a lesser extent than the dBASE m sort be¬ cause the disk access is less frequent. The final test was the formatting of a diskette. Three of the six accelerators failed this, but three of them clearly documented the fact that formatting re¬ quires switching to normal speed. The boards that accomplish the task without manually switching out of high speed 1-2-3 spreadsheet calculates a monthly abled to avoid timing effects of access- Command Plus: What Command should have been. Command was fine when it came out. But when it came out again and again and again with few substan¬ tial changes, it became a real roadblock for efficient programming. Well, we always thought the programmer should be in command. So we designed Command Plus. An eminently reasonable shell that replaces MS-DOS® Command. You don’t have to forget the commands you already know. And Command Plus gives you an enhanced DIR, COPY and DEL. Plus features like command macros, command recall, file browsing, and lots more that you can’t get anywhere else. There’s even LOG to help track the time you spend on projects. You also get Script, a batch processor that’s easy to learn and unbelievably powerful. Its Pascal-like language includes control loops, conditionals and variables which let you create unique system utilities. Hassling with batch files is a thing of the past. If you think you’d get more done if you were in com¬ mand of all this, get Command Plus. Itk even within a programmer^ budget at $79.95. lb order or for more information, call us at (800) 992-4ESPIn California, call (213) 390-7408. VISA and MasterCard accepted. 11965 Venice Blvd., Suite 309, Los Angeles, CA 90066 MS-DOS is a registered trademark of Microsoft Corporation. ESP SOFTWARE SYSTEMS INC. CIRCLE NO. 190 ON READER SERVICE CARD 152 PC TECH JOURNAL Windows, Data Entry, Help Management, Menus^lg Text Editing, pins...
  2. J*' I w /M / Vitamin C It’s good for your system! The Vitamin C Difference With Vitamin C, your applications come alive with windows that explode into view! Data entry windows and menus become a snap, and context sensitive pop-up help messages are nearly automatic. With VCScreen, you’ll save time by inter¬ actively painting windows and forms so what you see is what you get! Then, one button generates C source cdde ready to plug into your program and link with Vitamin C. Easy enough for the beginner. Versatile enough for the professional. Vitamin C’s open- ended design is full of “hooks” so you can intercept and "plug-in” special handlers to customize or add features to most routines. Of course, Vitamin C includes all source code FREE, with no hidden charges. It always has. That means you’ll have everything you need to adapt to special needs without spending hundreds of dollars more. Windows Create as many windows as you like with one easy function. Vitamin C automatically takes care of complicated tasks like saving and restoring the area under a window. Options include titles, borders, colors, pop¬ up, pull-down, zoom-in, 4-way scrolling, scroll bars, sizes up to 32 k text file displays editing, cursor display, and more. Unique built-in feature lets users move and resize windows during run-time via a definable key. Access the current window by default or a specific window any time, even if it’s hidden or invisible. Save and load windows on disk for more versatility! Data Entry Flexible dBase-like data entry and display routines feature protected, invisible, required, and scrolling fields Picture clause formatting, full color/attribute control, selection sets single field and full screen input and unlimited data validation via standard and user definable routines That means you aren’t locked into one way of doing things. Vitamin C even provides true right-to-left input of numeric fields with dynamic display of separators & currency symbols High Level Functions Use our intergrated help management, multi-level menus, and text file routines, or build your own handlers using Vitamin C’s basic windowing and data entry routines. Standard help handler provides context sensitive pop-up help messages any time the program awaits key strokes. The help text file is stored on disk and indexed for quick access. So easy to use that a single function initializes & services requests by opening a window, locating, formatting, displaying, and paging through the message. Multi-level “Macintosh” & “Lotus” style menus make user interfaces and front ends a snap. Menus can call other menus, functions, even data entry screens, quickly and easily. Text editor windows can be opened for pop-up note pads, memo fields, or general pur¬ pose editing. Features include insert, delete, word wrap, and paragraph formatting. VCScreen Screen Painter/Code Generator Just as Vitamin C’s reusable functions speed your programming, VCSreen makes it even faster and easier by automatically generating C source code for your data entry screens! With VCScreen’s interactive screen editor, you actually draw your forms. You can define input, output and constant fields, headings, boxes, lines and even a window for the form to run in. What you see is what you get. If you don’t like the position of an object, just “pick it up” with the cursor and move it! Changing colors, attributes, copying, and deleting is just as easy. VCScreen generates readable C source code. It declares variables with names you provide and can even generate structures. With VCScreen choosing the right functions, parameters and sequences, and Vitamin C supplying the functions to choose from, you can stop worrying about semi-colons, matching braces, and calling conventions and concentrate on creating your application! 30 Day Money Back Guarantee Better than a brochure. More than a demo disk. If you’re not satisfied, simply return the package within 30 days and receive a full refund of the purchase price. Vitamin C .$225.00 Includes ready to use libraries, tutorial, reference manual, demo, sample, and example programs, and quick reference card. For IBM PC and compatibles. Specify Microsoft, Lattice, Computer Innovations, Aztec, Mark Williams, Wizard, DeSmet, or Datalight C compiler AND compiler version number when ordering. VitaminCSource ... FREE ‘Free with purchase of Vitamin C VCScreen.$99.95 Requires Vitamin C and IBM PC/XT/AT or true compatible. ALL ORDERS: SHIPPING: $3 ground, $6 2-day air, $20 overnight, $30 overseas. Visa and Master Card accepted. All funds must be U.S. dollars drawn on a U.S. Bank. Texas residents add 7V4% sales tax. For Orders or More Information, Call... (214) 245-6090 Creative Programming Consultants; Inc. Box \ 12097 Carrollton, Texas 75011 Attention Realia COBOL Users: SCREENIO 2.0 Screen Manager for COBOL Professionals. A strictly COBOL approach to screen management, written by and for COBOL professionals. Screen Design is easy with SCREENIO. You take care of your application. We take care of the screens! Fully compatible with Realia COBOL. What does it do? Interactive Screen Design, Full Feature Screen Painter, COBOL Data Field Specifications, Edit Masks, Automatic Error Detection, Data Validation, High Speed Video, Full Compatibility, Window Panels , Hot-Fields, Key Redefinition, Foreign Language Capability, Full Color Support, Cursor Management, PC Speaker Control, Screen Libraries, and Very User Friendly. We’ve thought of everything! And Best of all: No Runtime Facility, No Runtime Fees, Superb Support. Only $400 Plus Shipping. Ask about our FREE demo pack and SCREENIO+Realia Package Deal! NORCOM Northern Computing Consultants Post Office Box 020897 Juneau, AK 99802-0897 (907) 780-6464 Telex: 5106014951 (NORCOM)
  3. Amex MC Visa Check - CIRCLE NO. 191 ON READER SERVICE CARD Can your IBM-PC do this? It can if you have PLOT88... and with PLOT88 , you can do a whole lot more. Plotworks offers you PLOT88, a library of subroutines to construct grids, con¬ tour maps, and three-dimensional mesh drawings. In addition, PLOT88 is a device-independent, industry-standard graphics package which includes PLOT, PLOTS, NUMBER, SYMBOL, AXIS, SCALE, LINE, FILL, and many others. You can output your drawings to Hewlett Packard plotters and laser jet printers, Houston Instrument plot¬ ters, and dot matrix printers. Now your mainframe graphics programs can run on your IBM-PC, PC/XT, or PC/AT at your convenience and at a fraction of the cost. PLOTWORKS, Inc. Dept. J-3, P.O. Box 12385 La Jolla, CA 92037-0635 (619) 457-5090 “Toolmakers for the Information Age ” CIRCLE NO. 153 ON READER SERVICE CARD SPEED INFUSION are the Surprise!, the TurboSwitch, and the 87/88 Turbo, the last only after in¬ stallation of a resident program that au¬ tomatically switches to slow speed for the duration of disk access. Several other tests were run as well, but all of the boards passed them uneventfully. These included the start¬ ing of software protected with Vault’s SuperLok, and the booting of several games, including Microsoft Flight Simu¬ lator. All in all, no incompatibilities were found; but every board permitted switching to normal speed in the event problems did arise. This also points out one of the advantages of this type of ac¬ celerator: at slow speed, they are totally transparent and indistinguishable from the system’s native hardware. CHOOSING RELIABILITY As the tests shows, none of these boards turns the PC into a blazing per¬ former. This is simply a limitation of the basic design of this type of accelera¬ tor. In most cases, the improvement in performance, about 20 to 40 percent overall, is directly proportional to the increase in clock speed, and the clock speed itself is limited by the existing components in the PC. Despite similarities among many of these products, certain differences stand out, and some recommendations can be made. First, the one board to avoid is the Microsync Screamer, because of its tampering with one of the declared constants of the PC standard, the timer frequency. As evidenced by the five other products, providing a faster pro¬ cessor clock without disturbing the tim¬ er input is not difficult to do, nor does it add significantly to the cost. A negative vote must be registered against the Maynard Surprise! for not recognizing an 8087 at any speed. Users who want the speed advantage of an ac¬ celerator will no doubt find it hard to live without the advantages of a nu¬ meric processor. The Surprise! also has a problem with the DOS print echo switch. Finally, whatever performance gain is achieved when this board does work is simply not commensurate with its high price tag. The American Turbo is very capa¬ ble, and its installation is straightfor¬ ward. But it has only one clock speed, 7.37 MHz. Buy it only for a system that has been tested at that speed. At the top end of the spectrum, two products can be recommended in an otherwise unexceptional field. The first is the MicroWay 87/88 Turbo. It provides the most flexibility in methods of switching speeds, and it performs 154 PC TECH JOURNAL very reliably. Its two minor drawbacks are that it takes up an expansion slot and that the documentation is some¬ what lacking. But for a system that can spare a slot, and especially one that needs a battery-backed clock/calendar, it deserves consideration. The standout is the Microspeed Fast88. Its high-quality construction, complete and comprehensive documen¬ tation, facile installation, and reliability in operation recommend it highly. Little else needs to be said, and that is meant as praise—a product of this type can be installed and forgotten. The performance of a PC with a clock accelerator comes nowhere near that of an AT, period. But for a modest improvement at a modest cost, and at a level of compatibility that is higher than with more complex enhancements, this method of speed improvement is a worthwhile consideration. GjSggj American Computer & Peripheral, Inc. 2720 Croddy Way Santa Ana, CA 92704 714/545-2004 CIRCLE 340 ON READER SERVICE CARD Maynard Electronics 400 E. Semoran Blvd. Suite 207 Casselberry, FL 32707 305/331-6402 CIRCLE 341 ON READER SERVICE CARD Megahertz Corporation 2681 Parleys Way Bldg. 2-102 Salt Lake City, UT 84109 801/485-8857 CIRCLE 342 ON READER SERVICE CARD Microspeed 5307 Randall Place Fremont, CA 94538 415/490-1403 CIRCLE 343 ON READER SERVICE CARD Microsync 15018 Beltway Drive Dallas, TX 75244 214/788-5198 CIRCLE 344 ON READER SERVICE CARD MicroWay P.O. Box 79 Kingston, MA 02364 617/746-7341 CIRCLE 345 ON READER SERVICE CARD Ted Mirecki is a contributing editor to this magazine. He is a corporate planner respon¬ sible for developing decision support systems on a variety of hardware. Storage Dimension's SpeedStor 286 BIOS from Award Software

    for use with PC ATs and I XENIX System V Novell Advanced Netware ■ Overcome drive table limitations a Includes low-level initialization and disk drive advanced diagnostics e 30% faster than IBM's BIOS a $99 - Dealer and distributor pricing available STORAGE DIMENSIONS The Experts in High Capacity PC Storage Supports Seagate ST4096, Miniscribe 6085 and the following: Seagate ST251. ST405I, ST4096 Maxtor XT1085, XT 1105, XTI140. XT2085, XT2I40, XT2I90 Miniscribe 6074, 6085 Micropol is 1325 Control Data Wren II 94155-86 Microscience HH1050 Newbury NDRI085, NDR1I40, NDR2190, Priam Vertex VI50, VI70, VI85, 519 Toshiba MK54F, MK56F 408 - 395-2688 981 University Ave. Los Gatos, CA 95030 Storage Dimension's family of high performance products for PC storage. SpeedStor subsystems from 42MB to 640MB ■ SpeedCache caching software SpeedStor hard disk integration software ■ Extended drive table ROMs 60MB tape backup (DOS, Xenix, Novell) ■ SpeedStor 286 BIOS CIRCLE NO. 176 ON READER SERVICE CARD The Answer to sprawling files and vanishing disk space Short on disk space? V Your remedy is Squish, a unique 40K resident program. Squish compresses large databases up to 90 %! Text files, spreadsheets, etc. by up to 60%. Now for the best part... Your other software (dBASE III, R:BASE, etc.) 30-day money can read or even update “squished files” so you have while the files stay compressed on disk. .. and a lot of without doing anything to your other software! PC, XT, AT,

    I For information to order: 20 or 55 unaog Software Corporation 264 Court Street, Brooklyn, NY 11231, (718) 855-9141 Trademarks/Owners: dBASE lll/Ashton-Tate, Inc.; R:BASE/Microrim, Inc. CIRCLE NO. 118 ON READER SERVICE CARD $79 30-day money-back guarantee so you have nothing to lose and a lot of free disk space to gain! PC, XT, AT, 100% compatibles. DOS 2.0 or above. FEBRUARY 1987 155 BATCH FILES, I/O REDIRECTION SIDEKICK n DOS MENU PROGRAMS, MOST OF YOUR RAM, EXECUTION SPEED? SERVICE INTERRUPTS No assembly required RESIDENT PROGRAMS Easy, pop-up routines EXECUTIVE PROGRAMS Run ANY DOS program DISK SECTOR I/O Lowest level access FAST TEXT WINDOWS Virtual windowing system KEYBOARD MACROS Simple, powerful LOTS OF EXAMPLES 21 + full example programs MUCH MORE. . . Over 140 routines in all LISTING 1: BUSPERF.C / Program for timing bus performance of IBM compatibles, Ted Mirecki, October 1986, For LATTICE C compiler versions 2.x and higher, may require modifications for other compilers. Compatible, efficient DOS multi-tasking. We designed Taskview with effi¬ ciency in mind. During normal operation, TASKVIEW hides behind DOS, providing you with control of up to 10 concurrent or non-concurrent programs. Just the touch of a key instantly switches a program to the fore¬ ground. Included desktop utili¬ ties let you cut and paste from program to program. Simple to use and reasonably priced, no well equipped PC user should be without it. Requires: PC/AT/Jr compatible, DOS 2.0-3.1, 256K RAM, 1 Floppy drive. Taskview trademark ot Sunnyhill Software Sidekick registered trademark ot Borland Inti. WHY GIVE UP. long double basetime = 54001.0; / Timer count on base PC / = 1/1.19318; / Microseconds per timer count / / ASM functions in BUSPERFX.ASM int timersetO long bustestO; long count; double msecs, index; static char dispform[] printf("\n\nBUSPERF -- PC Bus Performance Analyser\n"); printfC (C) Copyright PC TECH Journal 1986\n\n\n") / initialize timer mode / perform the test timersetO count = bu 30-day money back guarantee Dealer Inquiries Invited. / calc & display results oy plus $5.00 S&H Washington residents add 7.9% International orders add $5.00 VISA and Mastercard accepted. printfC" Timer Count Mi l liSeconds\n"); msecs = period basetime / 1000.0; printf(dispform, "Base PC", basetime, msecs); msecs = period count / 1000.0; printfCdispform, "This Run", count, msecs); index = (double) basetime / (double) count; printf("\nBus Performance index: %5.2f\n", index) Sunny Hill Software^ 13732 Midvale N. Ste. 206 Seattle. WA 98133 (206) 367-0650 M-F, 8-6 PDT To order Toll-Free call 1-800-367-0651 LISTING 2: BUSPERFX.ASM CIRCLE NO. 158 ON READER SERVICE CARD TITLE BUSPERFX - TIMER ROUTINES FOR PC PERFORMANCE TESTS COMMENT " Routines to time execution of various operations, Copyright (c) PC Tech Journal 1986 Written by Ted Mirecki, Oct. 1986. Linkage conventions per Lattice C. Limitation: test must not span midnight INCLUDE DOS.MAC ;LATTICE INTERFACE DEFINITIONS “If you never thought Turbo Pascal was a systems program¬ ming language, you've never seen Turbo Professional." Darryl Rubin Computer Language For programs that move with technology—Turbo Profession¬ al—a truly professional library of subroutines. 150 page reference manual. Full source—many example programs. No royalties charged for applications. Requires IBM compatible, DOS version 2.0 or greater, Turbo Pascal 2.0 or greater. Turbo Professional, trademark ot Sunnyhill Software Turbo Pascal, registered trademark ol Borland International DATA SEGMENTS SEGMENT AT 40H 6CH .-DEFINE TIMER WORDS AT 40:6C BIOSDATA ORG TIMERLO DW TIMERHI DW BIOSDATA MACRO TO OPEN DATA SEG (DOS.MAC) TIMER COUNT BEFORE CAL IB T1L0 DW TIMID DW T1HI DW T2L0 DW T2MID DW T2HI DW NEWSEG DW WORKDATA TIMER COUNT AFTER CALIB ;SAVE ALLOCATED WORKSPACE 10 DUP (0) ;SCRATCH AREA .-MACRO TO END DATA SEG (DOS.MAC) ENDDS Dealer Inquiries Invited. MACROS USED IN CODE SEGMENT Oy plus $5.00 S&H Washington residents add 7.9% International orders add $5.00 VISA and Mastercard accepted. MARK MACRO TX Sunny Hill Software 13732 Midvale N. Ste. 206 Seattle. WA 98133 (206) 367-0650 M-F. 8-6 PDT TIMERGET TX&HI.AX TX&MID.BX TX&LO.CX GET CURRENT TIMER VALUES SAVE 3 WORDS OF TIMER CALL To order Toll-Free call 1-800-367-0651 CIRCLE NO. 152 ON READER SERVICE CARD 156 PC TECH JOURNAL !MACRO TO START PROG SEG (IN DOS.MAC) TIMERSET: INITIALIZE TIMER FOR INTERVAL TIMING, Sets Timer 0 (the time-of*day counter) to mode 2, with a period of 0 (equivalent to 65536). This makes it a4ow-order extension of the BIOS timer words. , BEGIN TIMERSET TIMERO EQU TIMERCTL 40H ;I/O PORT FOR TIMER 0 EQU 43H ;I/0 PORT FOR TIMER CONTROL EQU 00110100B ;VALUE FOR MODE 2, 2 BYTES, BINARY SETM0DE2 MOV AL,SETM00E2 ;SEND CONTROL BYTE TO TIMER OUT TIMERCTL,AL XOR AL,AL ;SEND ZERO COUNTER VALUE (65536) NOP ;DELAY FOR PORT RECOVERY OUT TIMERO,AL /SET LO BYTE OF COUNT NOP ;DELAY FOR RECOVERY NOP OUT TIMERO,AL ;SET HI BYTE OF COUNT ENDP TIMERSET TIMERGET: READ 3 TIMER WORDS INTO AX, BX, CX TIMERGET r PROC NEAR ASSUME DSlBIOSDATA COMMAND TO SAVE TIMER 0 COUNT PUSH DS MOV AX,BIOSDATA MOV DS.AX MOV AL,LATCH POINT TO TIMER WORDS IN BIOS PREPARE TO CAPTURE TIMER COUNT ;NO INTERRUPTS WHILE READING TIMER TIMERCTL,AL ;LATCH THE TIMER COUNT BX.TIMERLO /GET TIMER VALUES FROM BIOS DATA CX.TIMERHI ;HI TIMER TEMPORARILY IN CX AL,TIMERO ;READ LOW ORDER BYTE OF TIMER COUNT AH,AL ;SAVE IT ;DELAY FOR RECOVERY AL,TIMERO /GET HI ORDER BYTE OF COUNT ;ALLOW INTERRUPTS AGAIN RESTORE CORRECT ORDER OF BYTES CONVERT TO UP-COUNT GET 3 WORDS IN PROPER ORDER TIMERGET ELAPSED: CALCULATE ELAPSED TIME INTERVAL ; input: T3 timer values in AX, BX, CX; previous values in T1 and T2 locations. Output: Elapsed time value, (T3-T2)-(T2-T1), as long int in AX:BX. . ASSUME DS:DGROUP ELAPSED PROC NEAR CX.T2LO ;CALC (T3-T2)-(T2-T1) BX.T2MID AX,T2HI CX,T2LO BX,T2MID AX.T2HI CXyTlLO BX,TIMID AX,T1HI .‘DIFFERENCE IN AX, BX, CX AX.BX ;RETURN LONG INT IN AX,BX BX.CX RET ELAPSED ENDP POWERFUL STATISTICAL ANALYSIS AND FORECASTING SOFTWARE StotPoc Gold is the most advanced statistical analysis package available for your PC. It's been proven in business, government and academic communities for more than six years. StotPac Gold is powerful and easy to use. A compre¬ hensive programming language gives you complete control over your data. Perform complex transforma¬ tions and sophisticated analyses with speed and accuracy. Produce customized tables and outstanding presentation-quality graphics. StotPac Gold uses sequential ASCII files so it's compat¬ ible with most other PC software. Time-series analysis and quality control options are also available. StotPoc Gold is the best statistical analysis’ package you can buy-a high-quality product for professional applications. Free brochure and technical specifications Call Now: 1-800-328-4907 \A/L| WALONICK ASSOCIATES, INC. 1 6500 Nicollet Avenue South, Minneapolis, MN 55423 (612) 866-9022 CIRCLE NO. 150 ON READER SERVICE CARD BUSTEST: TIME MEMORY ACCESS FOR INSTRUCTION FETCH BEGIN BUSTEST /MACRO TO BEGIN PROC (IN DOS.MAC) PUSH BP MOV BP,SP ;STANDARD C ENTRY SEQUENCE PUSH DS MOV AX,BIOSDATA MOV DS.AX ;POINT TO BIOSDATA SEGMENT ASSUME DS:BIOSDATA MOV AX.TIMERLO STAY: CMP AX.TIMERLO ;DID TIMER TICK OCCUR? JE STAY ;IF NOT, WAIT UNTIL IT DOES POP DS ASSUME DS:DGROUP /LATTICE DATA GROUP MARK T1 GET INITIAL TIMER VALUES SET-UP CODE, IF ANY, GOES HERE END CALIBRATION, START TEST CODE TO BE TIMED BEGINS HERE AX,BX /TWO-CYCLE, 2 BYTE INSTRUCTION 24999 D.UP (89H, 0D8H) /PERFORM IT 25,000 TIMES END OF TIMED CODE CALL TIMERGET /GET ENDING TIME (T3) INTO REGS CALL ELAPSED /CALC ELAPSED TIME IN AX:BX POP BP RET BUSTEST ENDP ? END OF TESTS ENDPS END MACRO TO CLOSE PROGRAM SEG (IN DOS.MAC) FEBRUARY 1987 157 The Token-Ring Solution Until standards are developed, users have to rely on individual assessments of LAN capabilities. Here are a few guidelines for choosing a system.
  4. SCOn HAUGDAHL M any variables come into play in analyzing the performance of PC local area networks (LANs). With the introduction of the IBM Token-Ring Network comes yet another system structure that demands attention (see the “The Token-Ring Solution,” j. Scott Haugdahl, January 1987, p. 50). Further¬ more, developing benchmarks for LANs is difficult because no “typical” usage pattern has been established for an in¬ stalled network. This article offers points for consideration, including a few caveats, and gives examples of lim¬ ited LAN benchmarks, in this case con¬ ducted by IBM and Novell. Because standards are as yet unes¬ tablished, planners must be careful in weighing vendor claims against the probable realities of implementing a system. For example, a vendor that pub¬ lishes a benchmark for a specific task (such as a file transfer) may be simply highlighting a particular area in which its LAN outperforms the competition. In other cases, LAN vendors may make as¬ sertions that simply do not bear out. A typical claim may be that the net¬ work uses “low-cost” twisted-pair cable (which is in more frequent use since IBM introduced its cabling system—see “Underlying Connections,” J. Scott Haugdahl, December 1986, p. 126). Al¬ though this cable may be considered low-cost, installation is far more expen¬ sive than the wire itself. Vendors some¬ times claim that they employ a nondedi- cated server, so that it can be used for more than one purpose (that is, as a file server/workstation, file/print server, and so on). This may be so, but the long¬ term costs in terms of performance, re¬ liability, security, and integrity (not to mention employee down time on par¬ ticularly slow networks) may nullify the savings realized initially in the hard¬ ware/software investment. A vendor may claim that its LAN can host thousands of PCs. The number actually accommodated will typically be a limitation of the logical address space, not simply the comfortable number of PCs that can exist on a LAN without se¬ vere degradation in performance. (As a rule of thumb, the I/O response time on a LAN should be no worse than that of a stand-alone, diskette-based PC.) Re¬ lated to this, a vendor may claim that a LAN can operate with an unrestricted number of simultaneous users, but again, a limit must be imposed some¬ where to maintain performance stan¬ dards. Software vendors that make this claim generally are using the extended file-locking (byte-range) and open modes provided by DOS 3.x. They are 158 PC TECH JOURNAL ILLUSTRATION • ANDY LEVINE leaving determination of the actual limit up to the table capability of a hie server and the realistic capability up to the user. In some cases, this type of mul¬ tiuser software will not work at all with a disk server (such as a Nestar or an older Corvus LAN system). Although some vendors claim that LANs are transparent to the user (that the user will notice no difference be¬ tween using a IAN or a PC in a stand¬ alone environment), this is not entirely true. Users in a LAN must know how to handle delays, errors, concurrent ac¬ cess, and possibly having to assign vir¬ tual disk volumes. Neither is the system transparent to programmers: time-outs, semaphores, and record-locking proce¬ dures must be managed. Finally, the multiuser databases used with LANs also offer varying capa¬ bilities. Users will need to know, for ex¬ ample, about the maintenance of the system’s index structure, and if the lock¬ ing techniques are hidden from the ap¬ plication. Even though a LAN may be distributed totally, meaning that any PC may share any resource with any other PC, it may be difficult to locate data. •Moreover, the software for a distributed LAN system is typically complex, occu¬ pies a lot of RAM, and may be ineffi¬ cient (and thus, slow). SOFTWARE OPTIONS First things first. Five basic options are available for LAN software licensing, with many variations. The first option is for the vendor to license on a per-ma- chine basis; that is, the user buys a copy of each type of software for each PC in a LAN. Although vendors continue to market this option, it is clearly unac¬ ceptable to users. The idea behind LANs, after ail, is to share resources, and that should include software. The second option is licensing on a per-network basis. Under such an ar¬ rangement, vendors may charge four to five times the single-user cost of the software, but then the licensee will have unlimited use. Microrim takes this ap¬ proach with its R:base System V. A third option is to include the LAN in a corpo¬ rate or site license enabling the users to have unlimited use of the software and produce an unlimited number of copies. The fourth method is to license software on a per-server basis; the soft¬ ware will operate only when installed on that particular server. Performance, will dictate when another copy is re¬ quired for a second or third server. Perhaps the last option is the most acceptable: to have one license per net¬ work with a limit on the number of users on the network. One copy of the software is placed on the server, and a limited number of PCs can run the soft¬ ware at one time. Many vendors market a system after this blueprint, including Ashton-Tate with its dBASE m plus. Many questions arise regarding the actual performance of IAN software: Does it have a hie or a disk server? What is the degree of transparent mul¬ tiuser support? How many active PCs are permitted (those using I/O), and are they application and time-of-day depen¬ dent? What is the maximum number of servers for the system? Does the net¬ work interface hardware contain direct memory access (DMA) and interrupt support? Does it have a VLSI (very large scale integration) coprocessor? What is the physical bandwidth and transmis¬ sion speed? What are the packet sizes? Does the system use token-passing or CSMA (carrier sense multiple access)? (This becomes insignificant if the sys¬ tem is a typical PC with mixed I/O usage.) Will the network I/O be basical¬ ly light, for applications such as pro¬ gram editing, word processing, spread¬ sheets, graphics, and electronic mail, or will it be moderate to heavy, for appli¬ cations such as database searching and indexing,.virtual print spooling, file transfer, assemblers, and compilers? Server performance itself depends upon several factors: Is the server dedi¬ cated or nondedicated? Is it a custom server or a PC operating as a server? Is a multitasking operating system used? Are resident drivers included? This is something that is often hidden in the implementation of a IAN. A number of PC LANs patch, modify, and change DOS until it works in a DOS IAN envi¬ ronment. In other systems, such as Novell NetWare, the operating system does not depend on DOS for its opera¬ tion. Indeed, a true multitasking operat¬ ing system has nothing to do with DOS. The 3Com company is an interesting case in point. Before its current 3Com server, the company used a high-per¬ formance server called the AP Server. The AP was an Altos 586 machine run¬ ning Microsoft XENIX. In addition, the speed of a ma¬ chine’s hard disk can affect server per¬ formance. The average disk access time is approximately 30 milliseconds (ms), which is acceptable; however, some sys¬ tems have disks that take 60, 70, 80 ms, or more. Although hundreds of accesses take place per second, these times add up quickly and affect performance sub¬ stantially. This is the reason why some systems with very high-speed drives can access information very quickly and perform better in a multiuser environ¬ ment where the server’s hard disk has a lot of head movement. Disk caching is important for keep¬ ing frequently used data in the file serv¬ er at all times. Hashing, another feature important to server performance, allows the server to run path names through an algorithm and obtain a 16-bit or 32- bit hash code instead of a large path name. Thus, when a server moves to re¬ trieve a file from a directory, it can look up the hash code in a table instead of the longer path name. The number of concurrent opera¬ tions on a system naturally will affect server performance. For example, the Novell system can run a print server and the file server on the same ma¬ chine. The 3Com system can run elec¬ tronic mail, a print server, and a file server, all on the same machine. The ability to queue incoming requests is also a consideration. Suppose the server is gathering data from the hard disk. Are all users to shut down at this time, or can the server continue to accept re¬ quests from the network packets while it is gathering data? Some servers incorporate elevator seeking to optimize the ordering of re¬ quests and thereby minimize the head movement on a hard disk. The process is similar to that of an actual elevator: someone on the 18th floor presses a button for an elevator that is at ground FEBRUARY 1987 159 Some people need low price AND high in their LAN... People like Resellers, Distributors, OEMs, VARs, End Users. People who sell LANs, and people who use LANs will tell you: TiaraLink is the price/performance leader in local area networks for the IBM* PC market. Their reasons are sound:

1 TiaraLink supports DOS 2.0 through

3.2 and a complete NetBIOS.

2 Thousands of TiaraLink networks are

installed worldwide on IBM PC, XT, AT and compatibles.

3 LanWare,™ the network operating

system software, is a one-time purchase regardless of the number of servers on the network. So your cost-per-station decreases as your network grows!

4 Gateways allow your networked PCs

to operate both as terminals to a remote mainframe, and as network PCs. “TiaraLink is an excellent product for us to carry. ARCnet* is a proven technology, around since 1978. Although ARCnet can be utilized with other companies’ software, we still recommend TiaraLink. Tiara, the company, is great in terms of support, product availability, and margins. Customer reaction is super.” — Bob Putignano President, Access Data Products, Inc. Mt. Vernon, NY “TiaraLink is the only high performance LAN on the market with reasonable software pricing. That fact, combined with its ease of installation and operation, total reliability, fault recovery and multiple server capability is why we chose TiaraLink to distribute with our computers.” — Allan D. Dale, President OnSite Business Systems, Inc., a division of Dale Computer Corporation Okemos, Ml “Th& TiaraLink network has allowed (us) to grow from 5 nodes to over 100 nodes with no problems. We continue to add disks, printers, and plotters easily . . . Even with over 400 megabytes of storage in 17 hard disks, user response time is great!” — Gerd Hoeren Senior Software Engineer Integrated Measurement Systems, Inc. Beaverton, OR Join the knowledgeable network of Tiara resellers. Call us today for our reseller kit and more information. Dial 1-800-423-1268. In California call 1-800-325-6223. Here’s what they say about TiaraLink. See us at Hannover Fair CeB/T, USA Pavilion Hall 6 _ Booth Q1. COMPUTER SYSTEMS. INC 2685 Marine Way • Mountain View, CA 94043 • (415) 965-1700 • TLX 4996251 • FAX (415) 965-2677

  • Trademarks/Owners: TiaraLink, LanWare are trademarks of Tiara Computer Systems, Inc.; IBM/International Business Machines Corp.; ARCnet/Datapoint Corp. CIRCLE NO. 246 ON READER SERVICE CARD TOKEN-RING FIGURE 1: Novell NetWare System Profile The Network Load Factor is determined by considering the various types of users on the ring, assigning each a weight value, and adding them to produce a total. level; as the elevator begins to go up, someone else wishes to get on at the 14th floor. The elevator picks up the person on the 14th floor on the way to the 18th floor. In LAN elevator seeking, the head picks up requests as it travels through the disk. A server that incorpo¬ rates elevator seeking yields the best performance. (Single-user machines, such as the PC/XT and PC/AT, do not implement elevator seeking. Vendors who put their servers on top of an XT or AT system will have a major problem with head thrashing.) Benchmark reports on LAN envi¬ ronments frequently contain inherent fallacies. First, the number of PCs used in a benchmark network is generally too low (typically, fewer than six). This does not give a clear indication of how the system will work with 30, 40, 30 PCs, or more. And, as discussed, all servers are not the same—various mod¬ els can be 10 to 100 times faster than others. Some benchmarks have been carried out using a server with a poor performance only because it was the least expensive. Another factor that benchmarks often do not take into ac¬ count is the effect of keyboard inter¬ rupts, especially in IBM PCs. Typing on a PC keyboard generates low-level inter¬ rupts to the processor. If the PC is be¬ ing used as a server, the user will con¬ stantly be interrupting the server pro¬ cess running in the background. This will affect performance significantly. Other enigmas impair LAN bench¬ mark reports: How can the reliability of a LAN environment actually be tested, and is that reliability based on the in¬ tegrity of the software? In addition, some benchmarks try to make single- user software perform in a multiuser way. They may downgrade a network or a PC software vendor because it does not work in a multiuser LAN environ¬ ment when the software was never de¬ signed for that in the first place. (Lotus 1-2-3 is often abused in this way.) EARLY GRADES The sample benchmarks included with this article are typical of those now be¬ ing run on LANs. They were timed and measured by the respective companies (Novell and IBM); thus, they represent real, not simulated, results. They were chosen because they were designed to measure performance outright, not as a comparison among competitive ven¬ dors. Although they still say nothing about “typical” work environments, these data can be used as a rough gauge for response times. The Novell benchmarks run NetWare on different LAN technologies. (For a full discussion of this software, see “NetWare in Con¬ trol,” Art Krumrey, November 1985,
  • 102.) The IBM data represent raw throughput of the its PC Network Pro¬ gram under certain circumstances. Novell’s format. Novell has defined a LAN performance methodology called the NetWare Evaluation System. The idea is to determine the network load based on a profile of user types, then com¬ pare the result with various graphs to determine the best network/server con¬ figuration to meet that requirement. The user types are ranked from 1 to 5, where 1 is a light-load user and 5 a full-load user. The load is defined as a bandwidth requirement for that user, based on an average maximum single¬ station throughput of 64KB/second (in reality, it ranges from a low of 17KB/ second for an XT server on PC Network with the IBM NETBIOS to 174KB/sec- ond for an 8-Mhz AT-compatible Novell server on EtherNet using NetWare). Thus, a light load is about 3KB/second, and a full load is defined as 64KB/sec- ond (Novell points out that it is doubt¬ ful such an application exists—the 1 through 5 loads are not linear. For ex¬ ample, a type 4 user may be a heavy database operator with a 20 to 40 per¬ cent single-station throughput require¬ ment, that is, 12 to 25KB/second.) The load factor is obtained by mul¬ tiplying the number of users by the user-type weight factor for each group, and adding the totals. For example, 10 users times a type 1 weight of 3 yields
  • Adding that to say, 8 users times a type 3 weight of 15, yields 150. If one type 4 user (at 40) is added, the total becomes 190 for an estimated network load. By comparing that number with Novell’s Network System Profile (figure
  • for a standard IBM PC 6-MHz server operating with NetWare, a vertical line can be drawn at the 190 mark to see how the various LANs might perform under such a load. (Novell has included in this trial an AT with a hard disk and a diskette-based PC for comparison to stand-alone performance.) The graph shows that three net¬ works will turn in a better performance than the hard disk with a 190 load: 3Com EtherLink Plus, Proteon proNET, and the IBM Token-Ring. Note the con¬ vergence of the two Token-Ring net¬ works to EtherLink Plus as the network FEBRUARY 1987 161 BASIC Programmers Memory—Resident BASIC Stay-Res lets you pop up compiled BASIC pro¬ grams. Select your hot key or pop them up with a POKE. Automatic screen save/restore. Add our EMS/disk module (for DOS 3 +) and programs use only 7K of DOS memory - the rest is stored in Expanded Memory or disk. Stay-Res includes a true SHELL facility allowing you to SHELL ANY PROGRAM, even other BASIC programs, before or instead of becoming memory-resident. Requires IBM or Microsoft compiler (QB2 needs DOS 3+). Only $95. Add $50 for EMS/disk module. MACH 2 Turbocharges BASIC Use our assembler subroutines to boost program speed many times. Instant screen displays and pop-up windows when compiled. No 64K limit - use all avail. DOS memory for strings/numbers. Store, search, sort strings at assembler speed. Controlled input routine uses standard edit keys & ignores'C 8TBrk. Print using for numbers up to 6 times faster than BASIC. Read & write files fast as DOS. Much, much more. Assembler source code available. Only $75. Know Thy PC With Peeks ’n Pokes you can read & change system configuration from your program. Read CMOS chip on AT. Unprotect IBM/GW-BASIC pgms saved with “p” option. Plug characters in¬ to k’board buffer. Read/change k’board status. Read printer status - no more timeouts. Use 4 printers as LPT1. Swap printers, monitors, COM ports. Read monitor/COM ^status. Boot system 3 ways from BASIC. Disabled &~Brk. Find more Peeks & Pokes. Much, much more. All BASIC & most assembler source code included. Only $45. Indispensable Utilities The Inside Track lets you load and execute large EXE files faster than DOS. DOS/BIOS calls & in¬ terrupts from BASIC. Limit memory used by com¬ piled programs to eliminate Command.com re¬ load. Copy protect a diskette. Boot system 3 ways from DOS. Memory map + summary of most common BIOS calls, including EGA. Control k’board state - force Caps Lock, Num Lock - disable "C.^Brk and Ctrl-Alt-Del. Program tips. Much, much more. All source code included. Only $65. Money-Back Guarantee Call for details on 30-day money-back perfor¬ mance guarantee. Our software is not copy pro¬ tected. No royalties when you use our subroutines in compiled programs. Compatible with IBM/GW- BASIC, QuickBASIC 1 & 2, BASCOM 1 & 2, MS 5.36. System Requirements: • IBM PC, XT, AT or compatible • DOS2+ (Stay-Res EMS/disk requires 3+). • Stay-Res with QuickBASIC 2 needs DOS 3 +. Order Now 800-922-3383 We welcome VISA / MC. COD in US only - add $3. Shipping: US $3/order. Canada - $5 for 1 or 2 pkgs. Add $2 each addt’l. Elsewhere - $18 for 1 or 2 pkgs. Add $7 each addt’l. In Georgia add tax and call 404-973-9272. Stay-Res/Mach 2 demo available - send $5 check. Refunded on direct purchase. MicroHelp, Inc. 2220 Carlyle Drive Marietta GA 30062 TOKEN-RING load factor increases. In terms of raw performance, the EtherLink Plus Ether- Net (with a raw data rate of 10 megabits per second—Mbps) outperforms the Token-Ring (with its raw data rate of 4 Mbps). A LAN based on all EtherLink Plus adapters is also more expensive than one based on Token-Ring adapters and components. (Note that these No¬ vell figures were complied using the PC Token-Ring Adapter I. This testing was done before Adapter II became avail¬ able. The Adapter II will yield a slight increase in performance as a result of its increased buffer size and the fact that server software could take advan¬ tage of a new command in Adapter II to improve link performance.) Novell’s benchmarks are subject to argument. How can a vendor of server software remain objective? Consider, however, that although the benchmarks certainly are useful for comparing vari- WHICH INTERFACE? A programmer has several options in choosing an interface for an applica¬ tion that will be run on the IBM Tok¬ en-Ring Network. IBM itself offers NETBIOS, APPC/PC (Advanced Pro- gram-to-Program Communication/PC), IEEE 802.2 (logical link control, or LLC, protocol), IEEE 802.5 (token-ring protocol), DISOSS (Distributed Office Support System, via personal services), 3270 (via the 3270 Emulation Pro¬ gram), and API/CS (Application Pro¬ gram Interface/CS via NetView/PC). Through third-party vendors, a user can obtain NETBIOS emulation from Novell, and Microsoft-compatible net¬ works from Ungermann-Bass and 3Com Corporation. And, of course, an operating-system level interface is al¬ ways possible through DOS. System Network Architecture (SNA) is clearly IBM’s strategic long- range network architecture (even though the European data processing community is pushing IBM to follow International Standards Organization protocols). IBM’s SNA commitment is reinforced with the introduction of IBM NetView/PC and the now-estab¬ lished APPC/PC program. Offering SNA-based protocols and applications for the PC is one of the ways in which IBM can retain its market share of per¬ sonal computers and support large host customers that have many PCs. However, subsequent to the in¬ troduction of the IBM PC Network, which offered the first hope for a common thread to LAN software, writ- ous LAN and PC technologies, they are not necessarily helpful in comparing servers. Performance is only one aspect of LANs to be considered, features and functionality are quite another. A com¬ mon benchmark for performance, with some agreed upon weight factor for server functionality, would truly leave the choice to the user. IBM endeavors. IBM has engaged in a number of studies to determine Token- Ring performance using the PC Adapter. For comparison purposes, IBM chose to perform the tests on the PC Network as well. The IBM numbers presented here are preliminary and are not guaranteed by IBM. (In testimony to the fact the ar¬ rival at a set of standards for PC LAN operation is still some time away, the accompanying sidebar, “Which Inter¬ face?” is a brief discussion of the sev¬ eral interfaces available in writing appli¬ cations to function on a network.) ing to NETBIOS has become reason¬ ably popular, especially in PC-only LANs. The NETBIOS emulator on the Token-Ring was developed primarily for compatibility with the PC Network and to transport PC-Network-develop- ed applications to the Token-Ring Net¬ work. In addition, Microsoft (MS) net¬ works also offer most of the features of NETBIOS (such as the redirector). But even though a user can obtain NETBIOS applications to communicate widi the IBM System/36, System/370, and even the Series/1, the NETBIOS interface (and MS networks) should be considered temporary solutions for either PC-only LANs or LANs with mixed computers and applications (that is, with PCs, minicomputers, mainframes, and so on). A safe approach would be to write multiuser applications for net¬ works that require file and record locking, in keeping with DOS 3.x. For mixed IBM environments, APPC/PC and NetView/PC clearly are the long¬ term interfaces to which applications should be written. For writing systems and protocol software, it is safer to write procedures that follow the 802.2 LLC for two important reasons: to maintain compatibility widi the latest IBM/IEEE 802.2 specification and to operate on top of IBM’s Adapters or those that use the Texas Instruments chip set. This also will build in sup¬ port for mixed IBM/other vendor 802.5-compatible token-ring LANs. —J. Scott Haugdahl CIRCLE NO. 257 ON READER SERVICE CARD 162 PC TECH JOURNAL TiiriAour S!ystem/3X Intolhe Perfect Host Wth PCOX Technology PCOX"5250 products make your System/3X treat your PCs like members of the family. Your System/3X and your PCs already live together. Now they can work together, too. Thanks to PCOX Technology With PCOX 5250 connec¬ tions, your PCs enjoy the full privileges of a 5251 Model 11,5291 or 5292. Which means your PCs can access and transfer files from your System/3X data base, use its host as a departmental processor, or participate in your company’s dis¬ tributed SNA network. PCOX 5250 products come in twinax and remote versions, so PCs can enjoy S/3X connections in person or over phone lines. MORE WAYS TO SAY HELLO. The PCOX 5250 series comes in twinax and remote versions-one for local connections , and one for connections over phone lines. And both versions support up to seven concurrent host sessions. No competing product delivers more. So let PCOXTfechnology open doors between your System/3X and your PCs. Call CXI today, toll-free. 800-225-PCOX In California, call 415-424-0700. oa CXI, Inc., 3606 West Bayshore Road Palo Alto, CA 94303. Tfelex: 821945 PCOX and all PCOX products are trademarks of CXI. Inc. CIRCLE NO. 217 ON READER SERVICE CARD TOKEN-RING The response time will depend upon the time that is spent by the network station to service the request in and the time taken to transmit the data over the ring. TABLE 1: IBM Benchmark Results LOGICAL LINK CONTROL NETBIOS 40KB FILE LOAD FROM SERVER PC or PC/XT < 8 percent <20 percent PC/AT < 3 percent < 8 percent 100KB FILE COPY FROM/TO SERVER PC or PC/XT <21 percent <59 percent PC/AT < 8 percent <21 percent The transfer of a large file on the PC takes a sizable percentage of the processor’s time. It is unlikely that sufficient time is left for use by a multitasking system. Assuming the network could be loaded with frames as close to 100 per¬ cent as possible, the Token-Ring can carry data (at the physical link level) at 3.7 Mbps, or about 92.5 percent of the 4-Mbps bandwidth. The maximum data capacity of PC Network is 1.5 Mbps, or about 75 percent of the 2-Mbps band¬ width. Thus, if the device attached to the Token-Ring (such as a PC) can sus¬ tain back-to-back transmission of pack¬ ets, the Token-Ring performance will be two times better than the PC Network. This can be traced to PC Networks in¬ creased overhead, such as preambles and interframe spacing time present in its CSMA protocol. In a case where sev¬ eral stations were offering load at once, the Token-Ring would fare even better because it operates without collisions. IBM measured capacity over multi¬ ple sessions at the NETBIOS level, using 16KB messages. For the PC Network, the maximum possible throughput at the session level was 650 kilobits per second. Using the Token-Ring with the NETBIOS emulator running in a 6-MHz AT, the throughput was 2.0 Mbps, or ap¬ proximately three times better than PC Network. Another contributing factor is that no transport or network layers are present in the IBM NETBIOS emulator for the Token-Ring Network; the session services communicate directly with the adapter handler. An AT might actually run slower on the PC Network because of the 8-bit DMA emulation required to operate the PC Network Adapter Card. Another fac¬ tor that slows down NETBIOS on the PC Network is that every packet is ac¬ knowledged, whereas on the Token- Ring, a parameter can be set to acknow¬ ledge every n packets. This, together with the fact some NETBIOS send oper¬ ations are acknowledged by the receiv¬ ing station before the sender “com¬ pletes” the operation, adds up to a fair¬ ly impressive performance. IBM also determined that the maxi¬ mum data rate of any one station on the Token-Ring depends on how fast the processor for that station is. For exam¬ ple, a single 6-Mhz AT can drive the network at nearly double the rate of a standard PC or XT. “Real-world” tests were conducted by IBM using the Token-Ring with the NETBIOS emulator and the PC Network Program, and one AT that was config¬ ured as a dedicated file server. A 40KB file was loaded by one to four worksta¬ tions. The response time exhibited by the workstations is illustrated in figure
  • The top portion of each bar is the time spent by the AT in servicing the request (mainly in fetching data from the hard disk). The bottom portion is the actual time spent transferring the data over the ring. As with all PC LANs, the response time will depend not only on the performance of the network, but also on how fast the server can service the request. Recall that file servers, for example, are limited by the speed of a system’s hard disk. The bottom line in achieving optimum server performance is to use as much of the available LAN bandwidth as possible. Another interesting way to measure performance is by the percentage of the PC’s processor used while performing a network operation. This indicates the amount of “idling” (or time wasted) ex¬ perienced by the processor in which a multitasking operation could be imple¬ mented. The results of the IBM study are listed in table 1. In general, to achieve optimal ring performance, re¬ gardless of the PC type, the user must maximize the buffers in each worksta¬ tion and minimize the links between the workstations. With a sizable portion of the PC community either engaged in or consid¬ ering LAN environments, the issues of standards and benchmarks will develop vigorously. At this stage, it is a good idea to look at a variety of published re¬ ports to obtain an overview of available products. It is advisable to test individu¬ al products in the anticipated configura¬ tion rather than commit to a system based on reputation alone. 1 r.iiTmim
  • Scott HaugdaJd is a senior systems special¬ ist at Architecture Technology Coiporation, a consulting, publications, and seminar firm specializing in data communications. Air. Haugdahl has been researching the LAN in¬ dustry / for more than five years, designing products, uniting papers and books, and presenting seminars on a world-wide basis. 164 PC TECH JOURNAL LAN REPORT 5 A Hard Look at LAN Choices. Novell's LAN Report Package makes choices easier. The flexibility of local area net¬ works allows users to assemble LANs using network components that bestsuitthe needs of the instal¬ lation. But choosing those compo¬ nents can be a confusing process. Novell, Inc., has published two reports designed to make the process easier: the LAN Operating System Report 1986 and the LAN Evaluation Report 1986. These reports help users evaluate network compo¬ nents and make informed decisions when choosing the components that meet their needs. Hardware and software issues are sepa¬ rately evaluated in the two reports, and extensive performance benchmarks are included. Software Choices. Choosing a network operating system, or LAN software, isthe most critical aspect of design¬ ing a network. Simply, the better the operating system, the better the network. The LAN Operating System Reportc ontains an in-depth analysis of LAN software, begin¬ ning with an examination of LAN software standards such as MS-DOS 3.1 and NETBIOS, and the file server environment. Issues like internetworking, system reliability, security and performance are addressed as well. The LAN Operating System Report also evaluates Novell Advanced NetWare, the IBM PC Network Program and 3Com 3 +. The report shows users how the design and implementation of these products translates into real performance. Hardware Options. The LAN Evaluation Report 1986 focuses on evaluating network hardware. It examines hardware issues that affect LAN performance, including an analysis and bench¬ marking of major LAN products. A key element of the study is the NetWare Evaluation System. The system provides a mechanism for matching site needs to specific hardware. Whether a new network is being planned oran existing site is being upgraded, the study is useful in the performance evalua¬ tion of any network. System planning starts with the net¬ work interface card (NIC) and cabling. NICs analyzed in the study are: • AT&T StarLAN • Corvus Omninet • Davong MultiLink • Gateway G-Net • IBM PC Network • IBM Token Ring • Interactive Systems Vista LAN/PC • Nestar PLAN 2000 • Novell S-Net • Proteon ProNET • Standard Microsystems ARCNET • 3Com EtherLink • 3Com EtherLink + The report analyzes each NIC according to its access scheme, raw bit rate, on-board processor and NIC-to-host transfer method. Another important compo¬ nent of the LAN is the network server. In examin¬ ing network servers, the LAN Evaluation Report looks at several perfor¬ mance indicators. Proces- sortype isthe mostobvious feature to differentiate servers. However, other factors important in deter¬ mining server performance are also evaluated, includ¬ ing processor clock cycle speed, wait states, server memory cycle speed, mem¬ ory channel and transfer bus channel. And the report examines the effect of disk channel speed on network performance. In addition to providing a careful examination of LAN hardware, the LAN Evaluation Report features an evaluation formula. Using the formula, a LAN's estimated future site activity is measured and matched to the appropriate LAN hardware. To Get the Reports. The LAN Operating System Report 1986 a nd the LAN Evaluation Report 1986 are available free of charge from Novell. To obtain a copy of the Novell Report Package, call or write Novell Corporate Communications, 122 East 1700 South, Provo, Utah 84601, (801) 379-5900. 1NOVELL "Hardware and software issues are separately evaluated in the two reports.. CIRCLE NO. 109 ON READER SERVICE CARD Execution Profilers for die PC Part 2 RALPH G. BRICKNER T o optimize a program’s perfor¬ mance, a developer needs to dis¬ cover the parts of the program that take up the most time. An execu¬ tion profiler can be used to analyze a program, determining how much time the program spends performing various tasks. Sophisticated performance analy¬ sis of this type is available from the many commercial profilers. Part 1 of this article (November 1986, p. 120) presented assembly lan¬ guage and Turbo Pascal code for a sim¬ ple execution profiler, PRF. In Part 2, five commercial software packages are reviewed and compared with PRF. They include: Atron Corporation’s SPTA (Soft¬ ware Performance and Timing Analyzer; David Smith Software’s Code Sifter; dwb Associates’ Profiler; Phoenix Technolo¬ gies Limited’s Pfinish; and Stony Brook Software’s The Watcher. (For a compari¬ son of features, see table 1.) TESTING THE PROGRAMS To evaluate the performance of these five products, three programs were used. SIN.EXE is- a FORTRAN program that calculates the sine function by two methods; one uses its own Taylor’s se¬ ries approximation, and the other calls the FORTRAN intrinsic function SIN. SIN.EXE is included as a demonstration program with IBM Professional FOR¬ TRAN. For the purpose of these tests, S1N.EXE was compiled with IBM FOR¬ TRAN version 2.0, because it provides line number output to the linker for symbolic interpretation. The second program, TERM.EXE, does interrupt-driven I/O to the COM1 serial port. The assembly language code first appeared in PC Tech Journal as DUMBTERM (see “Interrupts and the IBM PC,’’ Chris Dunford, January 1984,
  • 144). The only modifications that were made to the code were to include PUBLIC statements for all of the proce¬ dures so that the PROC names would appear in the .MAI 3 file. LOOPS.EXE, the third test program, is written in C and is provided with Code Sifter. This program consists of a series of nested loops that do simple assignments and some arithmetic com¬ putations. All three test programs have .MAP files to allow symbolic interpreta¬ tion of the collected data. Profilers employ one of two ap¬ proaches to performance monitoring, passive and active. Some simple pro¬ filers use the passive approach. PRF is an example of this type; it does not modify the actual subject code. The pas¬ sive type of monitor is restricted to an observational role, recording CS:IP (the segment and offset of the instruction pointer) at specified intervals. In addi¬ tion to the capability of passively sam¬ pling CS:IP, the active-type profiler ac¬ tually modifies subject code, inserting jumps to the profiler to count proce¬ dure calls and events and to turn timers on and off. Although these features are quite useful, there are trade-offs. Active profilers consume more memory re¬ sources, and it is possible to corrupt data that are not specifically excluded from active sampling techniques. Not surprisingly, the two active profilers, SPTA and Pfinish, come from vendors who also offer sophisticated symbolic debuggers; their execution profilers are part of a comprehensive line of debug¬ ging and performance monitoring tools. Profilers save data in different ways. PRF, SPTA, and The Watcher sim¬ ply save all the samples they collect, un¬ til the data table fills up or the subject program terminates. After collecting these data, the analysis portion of the 166 PC TECH JOURNAL COMPUTER GRAPHIC • NATALE/EAST Commercial software profilers help developers identify and speed up the part of a program that consumes the most time. profiler reads the data and interactively processes them to make its report. This approach allows the user to run the (possibly lengthy) subject code once and then formulate questions to ask the profiler in an iterative manner, without rerunning the subject. This also allows separate code to be used for sampling and analysis. Using separate sampling and analysis code saves on memory usage by the profiler. Profilers that combine both sample and analysis code tend to be rather large; SPTA, for exam¬ ple, requires more than 128KB by itself. A convenient feature that is found only in The Watcher saves samples to a per¬ manent disk file. This allows the pro¬ grammer to come back later to analyze the data. Another significant issue in the de¬ sign of profiling software is the provi¬ sion for a macro or command file capa¬ bility. Some of the more complex prod¬ ucts require the user to enter a rather large number of instructions in order to exploit their flexibility. Therefore, the ability to save and retrieve these in¬ structions becomes a necessity. The out¬ standing products in this area are SPTA that offers an interactive save-and-recall macro feature and Pfinish with a batch¬ like command file facility. The presentation of data was nearly uniform across the product spectrum. As with PRF, the results are usually giv¬ en in histograms. Some of the programs supported changing histogram param¬ eters, such as minimum percentages to be displayed; some did not. They also differed in the amount of auxiliary in¬ formation that was displayed, for exam¬ ple, address partition labels or actual address ranges, number of samples, individual bin percentages. An important consideration in the reduction of the data is how the ad¬ dress ranges for the bins for accumulat¬ ing counts are determined. In PRF, a list is kept of all distinct code segment reg¬ ister values found in the samples. A seg¬ ment histogram is then displayed, show¬ ing the relative abundance of each seg¬ ment in the samples. Next, each individ¬ ual segment may be analyzed, with a histogram of offsets encountered within that segment. PRF is very address-driv¬ en, not symbolic; its model of segment- offset histograms closely matches the actual 8088 architecture. Programmers tend to write in high- level languages and think in symbolic terms. Therefore, the ability to associate histogram bins with meaningful pro¬ gram symbols is very important. All of the reviewed products provide some support for symbolic interpretation of the results, using information obtained from the .MAP file produced by the DOS linker. In practice, an enormous variation in the amount of information generated in the .MAP file will be encountered go¬ ing from one language processor to an¬ other or from one program to another using a given language processor. Thus, significant questions in the analysis of these products’ usefulness include: how robust are they in dealing with this in¬ formation? What aids do they give the user for managing the information? How well are they able to distill the in¬ formation to a useful basis for making software development decisions? A par- 1 he presentation of data was nearly uniform across the product spectrum. As with PRF, the results are usually given in histograms. ticularly useful feature is the ability au¬ tomatically to assign symbolic regions to the physical address bins; the other option is manually to enter symbolic regions for the bins. A number of less important features are available that an individual product might offer. For ex¬ ample, convenient redirection of output to a printer or disk file, variation of the sampling rate, and variation of the data table size are all features of PRF, which may or may not be offered in the soft¬ ware that was reviewed. Atron Corporation. Atron’s Software and Performance and Timing Analyzer (SPTA) is a complex, active-type pro¬ filer. It is an interactive, menu-driven program, although complex command streams may be defined as macros and saved to disk for later retrieval. Like the other reviewed products, it can statisti¬ cally sample the code by means of a clock tick interrupt, the frequency of which may be selected by the user. For this mode of operation, however, SPTA stores a fixed number of samples. To vary the total amount of execution time that may be sampled, the user must change the timer frequency to an appropriate number. Other functions available from SPTA include procedure duration meas¬ urement that determines the amount of time spent in a given piece of code, a program event counter that counts the number of times a given event occurs, and a procedure timing analysis that stores the times at which a given event occurs. SPTA is actually an enhancement to Atron’s Software Source Probe de¬ bugger; consequently, a variety of auxil¬ iary functions are available, such as un¬ assemble, memory block moves, and a powerful macro capability. Symbolically, SPTA handles public names and line numbers within a mod¬ ule (if they are present in the .MAP file). However, the user must manually assign the (symbolic) address limits to the 16 collection bins. Fortunately, col¬ lection bin limits are stored on disk symbolically and reconverted to ad¬ dresses each time a new .MAP file is used. After setting up symbolic limits for LOOPS, SPTA produced the output shown in figure 1. The demonstration program pro¬ vided with SPTA can produce some real surprises if it is not used with care. The program is a small Pascal program that tests a region of system memory by writing to and reading values from it, beginning at an address entered by the user. The beginning address suggested in the documentation is 200K. Anything that happens to be in the memory re¬ gion (including the performance analyz¬ er or the demonstration program) will be overwritten by a test pattern. Users who employ terminate-and-stay-resident programs or execute programs from within a word processor or text editor must be careful about the region of memory they test with this program. FEBRUARY 1987 167 EXECUTION PROFILERS The documentation provided is well organized and indexed; a list of available commands is provided at the bottom of the command screen. Data analysis seems to take an unusually long time (1 minute and 5 seconds to plot approximately 8,000 samples). On the whole, SPTA seems to provide generous capabilities at a reasonable price. David Smith Software. Code Sifter is a pas¬ sive, monolithic profiler that does its data reduction in realtime. It is interac¬ tive and menu driven, and includes on¬ line help. The documentation is brief, but clear and well organized. A unique feature of Code Sifter is an automatic repartitioning of the 32 sample bins. These bins are initially partitioned on the basis of the public symbols in the subject programs .MAI 3 file in symbolic mode, or they are de¬ fined manually in terms of absolute ad¬ dresses. After running the subject pro¬ gram, a quick press of F3 causes the code to discard the 16 least active bins and subdivide the remainder into 2, 4, 8, or 16 bins. This repartitioning is done after every step when executing the subject program in the autorepeat mode. A few painless iterations of this procedure narrowed down the LOOPS program to its two most time-consuming subpro¬ grams (see figure 2). Note that LOOPS was provided with Code Sifter as a demonstration program. An interesting feature of Code Sift¬ er is that it automatically reads the .MAP file for the subject program, if present, and produces a sorted, condensed map file (JMP) consisting of all public sym¬ bols. It then reads .$MP to set up the sample bins in symbolic mode. Unfortu¬ nately, this results in a loss of segment, group, and line number information, so that Code Sifter is not able to analyze SIN at the line number level. The large number of public names in the FOR¬ TRAN runtime code result in an unin¬ formative session with the default .MAI 3 file. When an edited version of the .MAP file that was created manually was used, Code Sifter was able to profile the exe¬ cution times among the user-defined subprograms and the runtime code on the first iteration. Another useful feature of Code Sift¬ er is the ability to select any combina¬ tion of user program, DOS, and BIOS code to include in the sampling, all with a single function key. This function is especially helpful when profiling TERM, because TERM executes a large number of DOS function calls. A few iterations on the partitioning and clock speed-up gave useful data on the TERM TABLE 1: Features Comparison PC1J SAMPLE ATRON DAVID SMITH PHOENEX DWB STONY ASSOCIATES BROOK Model PRF.ASM SPTA Code Sifter Pfinish Profiler The Watcher Version N/A 1.13 1.20 1.10 2.03 1.05 Price TYPE AND OPERATION N/A $129 $119 $395 $125 $59.95 Active profiler O • O • O O Interactive • • • O • • All samples saved for analysis • • O O o • Separate sampling and analysis code OUTPUT TYPES • O o o • • Histograms - • • o • • • Changeable histogram format • o N/A • o O Summary statistics • PERFORMANCE MEASUREMENTS • • • • • Timer ticks • • • • • • Interrupts 0 • 0 • o • Procedure calls o • o • O O Stack tracing o 0 o • O O Event counts ADDITIONAL FEATURES o • O o O O Clock speed-up • • • • O O Subject autorepeats 0 o • • O O Output to printer • • • • • • Output to file • • • • • • On-line help ADDRESS REGION o • o Absolute address • • • • • • Address relocation o o • • • • User definable • • • • • • Automatic partition assignment o O • • O O Automatic repartitioning o o • O O O Symbolic SYMBOLIC SUPPORT o • • • • Named segments o o o o O • PUBLIC symbols o • • • • • Line numbers o • o • • • Autoread map file o O • o O • Map file editing • = Yes O = No N/A Not applicable o • % b • “ Rudimentary b Done automatically o O All of these products offer some symbolic support, in addition to the basic func¬ tions that are required to analyze PC program performance. program. (For information on clock speed-up for performance monitoring see part 1 of this article in November.) On the whole, Code Sifter provides all of the basic functions required to per¬ form timer-tick performance analysis, along with its autopartitioning feature, at a reasonable price, dwb Associates. Profiler, from dwb, is a passive, two-phase profiler. The first step in using the package is to execute the INSTALL program, which makes the sampling code (profiler driver) perma¬ nently resident in memory. The user then turns the sampling on and off by pressing the two Shift keys simulta¬ neously. Unfortunately, this procedure is not fully compatible with Borland Internationals SideKick. While Ctrl-Alt always moves into and out of SideKick, 168 PC TECH JOURNAL FIGURE 1: SPTA Display FIGURE 2: Code Sifter Duplay Program terminated. Termination code=0000 Program Activity Measurement Sample rate is: 20.000 ms Min address Max address Count % 0 20 40 60 80 100 0000:0000 .MAIN+F08E 682 9Q 1 * .MAIN .MAIN+0117 22 3 | .COPYRIGHT •COPYRIGHT+0458 0 0 1 3000:0000 3000:FFFF 0 0 | .CSCLEAR .CSCLEAR+0025 0 0 | .CSENABLE .CSENABLE+001D 0 0 | .CSDSABLE .CSDSABLE+05FB 57 8 | .STRCPY .STRCPY+0029 298 43 I* .UPPER .UPPER+0049 0 0 | .STRCMP .STRCMP+003C 0 0 1 .STRCAT .STRCAT+0032 298 43 |* .SORT .SQRT+0117 1 <1 | C 000:0000 C000:FFFF 0 0 | 0000:0000 D000:FFFF 0 0 | E000:0000 E000:FFFF 0 0 1 F000:0000 F000:FFFF 10 1 | Total: 196 ASm ARange BP BYte COMpare CONsole DElete ECho EMacro EVal Fill FLag Go IF INIt INTerrupt List LOAd LOOp MAcro MEnu MODule MOVe NEst NOVerify MORe AREA COUNT PERCENT RANGE USER 196 1.5 MAIN > MAIN + 08B USER 271 2.0 MAIN + 08C > End of MAIN USER 766 5.7 MYSUBROUTINE > End of MY_SUBROUTINE USER 187 1.4 SENTRY > SENTRY + OF USER 34 0.3 PRINTF > End of PRINTF USER 262 2.0 SDLOAO > End of SDLOAD USER 18 0.1 SDADD > End of SDADD USER 87 0.6 SDMUL > End of SDMUL USER 729 5.4 SDDIV ••> End of SDDIV USER 4 0.0 SDSTORE > SDSTORE +010 USER 2853 21.3 STRCPY > STRCPY + 014 USER 2808 21.0 STRCPY + 015 > End of STRCPY USER 4821 36.0 STRCAT > End of STRCAT USER 13 0.1 SORT > End of SORT USER 4 0.0 FREXP > End of FREXP USER 33 0.2 FPUTC --> End of FPUTC Total Counts = 13396 Press a key to return to MAIN MENU .... SPTA handles public names and line numbers within a mod¬ ule; the bin address limits must be assigned manually. The two most time-consuming subprograms in LOOPS are identified using the automatic repartioning of sample bins. holding down both Shift keys results in an annoying alternating display: Profiler ON; SideKick; Profiler OFF; SideKick; Profiler ON; SideKick... Even without SideKick sharing the system, Profiler takes nearly a full second of holding down both Shift keys to switch on and off. Because the user must start and stop the sampling process without any knowledge of the internal state of the CPU’s instruction stream, it is difficult to know what is being sampled. For accu¬ racy and reproducibility, it would be clearer (although much harder to code) if a profiler adhered to a convention such as “Turn on sampling preceding EXEC call; turn off after return.” In the tested version, Profiler does not know if a program is being loaded or if it is in the midst of running; it relies entirely on the user for that information. Once the INSTALL code has been executed and is resident, PROFILER.EXE may be executed. This program is an interactive monitor that communicates with the resident code, telling it the ad¬ dress bin limits, resetting bin limits, and producing the output. The Profiler Mon¬ itor can be profiled by pressing Shift- Shift. As many as 16 address bins are in¬ tended to be set to the addresses of pieces of code in which the user is in¬ terested. The address limits on these bins must be set manually or Profiler does not perform as expected. By default, Profiler’s address bins are set to 0000:0000H - 0000:FFFFH, 1000:0000H - 1000:FFFFH, and so forth. The results of profiling the LOOPS pro¬ gram with this default range assignment are given in figure 3. Ranges for the ad¬ dress bins can be entered symbolically, because Profiler does read a .MAI 3 file for symbolic information. However, af¬ ter entering the limits symbolically, the ranges are converted to a numerical ad¬ dress and stored that way (assuming that the SAVE PARTITIONS function has been executed). These address regions become numerical offsets into the load module, which is assumed to be at seg¬ ment 0000H. The documentation from dwb actually instructs the user to run DOS DEBUG to determine where the subject program is to be loaded into memory. Then the user must record the value and use function key F4 in Pro¬ filer to set a global CS (code segment) value to be added to all the absolute addresses. Because any program change results in a change in the absolute off¬ sets of symbolic addresses, all the parti¬ tion limits that have been laboriously entered will be invalidated whenever the code is changed. Furthermore, any change in the operating system environment (such as loading a RAM disk driver) results in the user having to redetermine the global CS offset. During this review, af¬ ter typing several lines of partition lim¬ its and saving them to a file, the LOAD PARTITION FILE function resulted in an “Invalid hex number in partition file” error message. The documentation provided for Profiler is well organized and appro¬ priate for the functions provided by the package. The program also offers some rudimentary on-line help. Phoenix Technologies Limited. Pfinish is an extremely complex execution pro¬ filer of the active type. It is capable of generating statistical reports based on timer ticks and lists of callers of given regions, the number of instructions exe¬ cuted in a given region, the number of times overlays are loaded, and the num¬ ber of times a region is entered. A rich and varied command language is pro¬ vided to support these functions. To use Pfinish, the programmer first must run a utility to append the .MAP file symbolic information to the end of the subject program’s executable file. Pfinish commands can then refer¬ ence symbols in the table. Next, a com¬ mand file is prepared that tells Pfinish which symbolic (or possibly absolute) regions to INCLUDE in or EXCLUDE from the analysis, which reports to gen¬ erate, and which modes to set. If a com¬ mand file is not provided, histograms will be prepared by dividing the subject program into 256 equal regions. Then Pfinish is run, and the subject program is executed. Finally, the user examines the output file with a text editor (or re¬ directs the output to the screen). Figure 4 is an example of the basic Pfinish out¬ put for LOOPS.EXE. Pfinish has some idiosyncracies that make it somewhat difficult to learn to use. For example, to INCLUDE all the procedures in a given code segment for analysis, the user must specify “IN¬ CLUDE SEGMENT proc_name” in the command file instead of “INCLUDE SEGMENT code_seg_name”. Here, proc_name is the name of some proce¬ dure in the desired segment, while code_seg_name is the name of the segment itself. As with most active pro- FEBRUARY 1987 169 EXECUTION PROFILERS The ultimate solution for information interchange... The ultimate 9-track magnetic tape subsystem for the IBM- PC /XT/AT and compatibles! Innovative Data Technology offers a variety of 1/2 inch 9-track magnetic tape sub¬ systems for the IBM-PC/XT/AT featuring the new “LEO” PC tape controller. “LEO” is a state-of-the-art PC tape controller that lends itself to the most sophisticated applications in¬ cluding real time data acquisition, multitasking and true streaming disk back-up. “LEO” comes standard with an impressive list of features that include a dedi¬ cated microprocessor, up to 64K of RAM for buf¬ fering, high speed thruput with memory mapping 1/0—no DMA channel required, ASCII to EBCDIC code conversion and external cable connectors for easy installation. Supplied on a 5 1/4" diskette is the most compre¬ hensive set of software drivers and utilities available. Users have a choice between an installable 1/0 driver with modules to “Basic” and “C” languages, or an MT-DOS device driver, which allows direct tape access under any language supported by DOS 3.1. Also in¬ cluded is “ANSI,” a sophisticated file transfer utility, “TAP” a comprehensive disk back-up and restore util¬ ity and “TCMD” tape command, a valuable tool for in¬ specting tape data and format. All utilities are menu driven with help screens for user friendly operation. IDT manufactures the complete subsystem ... con¬ troller and tape drive. With a commitment to excel¬ lence, IDT staffs a complete customer service department, offering you assistance to assure top per¬ formance at all times. Contact us today for additional information. INNOVATIVE DATA TECHNOLOGY 5340 Eastgate Mall • San Diego, CA 92121 (619) 587-0555 • TWX: (910) 335-1610 Western Regional Office: 10061 Talbert Ave., Suite 202 Fountain Valley, CA 92078 • (714) 968-8082 Eastern Regional Office: One Greentree Center, Suite 201 Marlton, NJ 08053 (609) 596-4538 • TWX: (710) 833-9888 FIGURE 3: Profiler Sample Output FUNCTION 6, DISPLAY PROFILE. 10% 20% 30% 40% 50% 60% 70% 80% 90% ,| - , - | - , - | - | - | - , - | - | - | Partition 0 Partition 1 Partition 2 ||(3i. 73%)(112) | |*( 6 £ oi%)(233) ||(0.00%)(0) Partition 3 j|(0.00%)(0) Partition 4 ||(0.28%)(1) Partition 5 ||(0.00%)(0) Partition 6 ||(0.00%)(0) Partition 7 ||(0.00%)(0) Partition 8 11(0.00%)(0) Partition 9 ||(0.00%)(0) Partition a 1|(0.00%)(0) Partition b ||(0.00%)(0) Partition c jj(0.00%)(0) Partition d ||(0.00%)(0) Partition e ||(0.00%)(0) Partition f 11 (1.98%)(7) II- ——1- — i —-I —— — 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% Total samples taken = 353 Total samples hit = 353 Partition hit ratio = 100.00% (Horizontal bars have been converted to asterisks; underlines deleted.) The information given using the default ranges for the 16 bins is of little use. Useful ranges must be entered manually. PFINISH COMMAND LINE : loops PROGRAM EXIT STATUS : Terminated normally PROGRAM RUN COUNT: 1 LOWEST STACK POINTER: 100 PROGRAM RUNNING TIME: 00:00:24.45 445 ticks TOTAL RUNNING TIME: 00:00:24.45 445 ticks HIT COUNT ' $DADD 1* 0% 95 $DCEQ 0% 19 $DCLE 1* 0 % 20 $DCLS 1* 0 % 1 SDCVTL 1 0 % 20 $DDIV I 0% 76 SDLOAD 0% 556 $DMUL I* 0% 104 SDST0RE 1 0% 163 SENTRY I * 8 % 5001 SLMUL 1 0% 3 SMAIN I 0 % 1 CALLOC 1 0% 3 CLOSE 1 0% 3 CSCLEAR 1 0 % 1 CSDSABLE 1 0 % 1 EXIT I* 0 % 1 FCLOSE 1* 0% 3 FILENO I* 0% 4 FPUTC 1* 0% 93 FREE 1 0% 3 FREXP 1 0% 19 LDEXP 1* 0% 19 MAIN 0 % 1 MALLOC 0% 3 MY_SUBR0U | 8 % 5000 PRINTF 1 0% 4 SBRK 1 0% 3 SETMEM 1 0% 4 SORT 1 0 % 20 STRCAT I

    26% 15000 STRCPY

    *
    53% 30065 SYSINT21 0% 4 WRITE 0% 4 _EXIT 1 0 % 1 _FMT0UT 1 0% 4 _MAI N 1

    0 % 1 A command file tells Pfinish which regions of the program to analyze and which reports to generate. 170 CIRCLE NO. 108 ON READER SERVICE CARD PC TECH JOURNAL FIGURE 5: The Watcher PLOT PROGRAM BY SYMBOL Output

    Plot of program by symbol from sample f le LOOPS.IPS MAIN 3.2% 1
    MY_SUBROUTINE 8 .0% 1 SENTRY 1 .2% 1 PRINTF 0 .0% 1 SDLOAD 2 .0% | SOMUL 0 .8% 1 SDDIV A.8% |* SFLOAD 0 .0% 1 SFSTORE 0 .0% 1 STRCPY 37.1% |

    UPPER 0 .0% 1 STRCMP 0 .0% 1 STRCAT 34.7% SORT 0 .0% 1 92.0% of the samples were included in this histogram. The Watcher from Stony Brook Software claims to be able to generate histograms based on lines, symbols, and addresses, but, in fact, not all of the options worked. filers, the user must instruct Pfinish to exclude data regions from its analysis to avoid corruption of data. During testing, Pfinish refused to give statistics on timer tick samples, in¬ sisting that zero clock tick samples exis¬ ted in the user program for SIN when no command file was specified. (It did perform satisfactorily when an appro¬ priate command file was prepared, however.) Even worse, it froze the sys¬ tem when trying to analyze TERM (which admittedly accesses the interrupt controller chip directly) and required a system power-off to reset. This was after the data and stack segments were EXCLUDEd from analysis. Of the reviewed products, only Pfinish and Profiler can analyze resident code. Once executed, Pfinish remains resident and collects data while the sys¬ tem goes about its business, until a sep¬ arate utility is run to terminate the sam¬ pling and produce the report. The user is required, however, to reboot the sys¬ tem in order to return the occupied memory to DOS. The documentation is quite lengthy; an index and detailed table of contents aid the user in locating infor¬ mation. Pfinish is expensive, but for the user who is willing to learn its idiosyn- cracies, it does provide a powerful pro¬ filing capability. Stony Brook Software. The Watcher from Stony Brook is a passive profiler with separate sampling and analysis portions that communicate by means of a data file generated by the sampling program. The documentation provided is clear, well indexed, and not overly long. The Watcher is a bare-bones pro¬ filer that does not include a clock speed-up feature, but it does offer rea¬ sonable symbolic support. It knows a program is composed of segments that are processed from various source modules, which have line numbers, and that code is distributed in memory by address. A histogram can be generated for a program, segment, or module, or for DOS interrupts. The Watcher can show sample counts for segments, lines, symbols, or addresses. For example, users can plot the number of hits for the different seg¬ ments encountered in a program, or they can plot the number of hits for line numbers in a source module. In fact, this method worked well in deter¬ mining which subprograms LOOPS was spending its time in (see figure 5). The Watcher was used to profile the execution of SIN and TERM without any problems. It had no trouble plot¬ ting the relative execution times in the public procedures in the code segment. However, it cannot plot a symbol (pro¬ cedure name) by address, because that is not an allowed combination. Instruc¬ tion-level profiling is only possible by means of the PLOT SEGMENT CODE BY ADDRESS command, which requires looking up the location of the proce¬ dure within the code segment in the assembler output listing. The Watcher has only one useful command, PLOT, and a limited number of subvarieties of this command. The format of this command’s output is fixed; all bins are shown even if they received no hits. The Watcher is reason¬ ably priced; however, the amount of data entry required, along with The Watcher’s nonautomated mode of oper¬ ation, lessens its appeal. FURTHER AUTOMATION NEEDED A number of extremely powerful execu¬ tion analysis tools are available to PC program developers, some at very rea¬ sonable cost. These tools can be quite useful in helping programmers to op¬ timize code for maximum performance. While product characteristics vary wide¬ ly, all of them offer, in principle, some symbolic support and the basic func¬ tions required to do a performance analysis. However, further automation of the analysis process is still necessary to free the programmer from the drud¬ gery of needless data entry. Code Sifter and Pfinish represent the best solution to this problem, although neither is the final answer. I liiliiiiiiu Bdl SPTA: $129.00 Atron Corporation 20665 Fourth Street Saratoga, CA 95070 408/741-5900 CIRCLE 352 ON READER SERVICE CARD Code Sifter: $119.00 David Smith Software Box 25A, RD

    3

    Oxford, NY 13830 607/843-6209 CIRCLE 353 ON READER SERVICE CARD Profiler: $125.00 dwb Associates 7877 S.W. Nimbus Beaverton, OR 97005 503/646-5607 CIRCLE 354 ON READER SERVICE CARD Pfinish: $395.00 Phoenix Technologies Limited 320 Norwood Park S. Norwood, MA 02062 800/344-7200 617/762-5030 CIRCLE 355 ON READER SERVICE CARD The Watcher: $59.95 Stony Brook Software Forest Road Wilton, NH 03086 603/654-2525 CIRCLE 356 ON READER SERVICE CARD Ralph G. Brickner, Ph.D., is a researcher in parallel processing at Los Alamos National Laboratories, where he also performs bench¬ mark tests on scientific computers. FEBRUARY 1987 171 your appli< Our reputation depends on it. It all comes c to - It ru Why do we make it that way? Customers expect all accelerator boards to run as promised. The sad truth is they don't. STD built it s reputation on fulfilling the promise..." We build Bullet Proof Boards!" Starting with our PC-286 accelerator board running DOS and Protected Mode XENIX, we continue to keep the promise with the newest member of our family, our 386 board. The new STD-386 16MHz board was designed to be compatible with 6 and 8MHz IBM PC/ATs and popular PC/AT Clones. It is EGA compatible and supports Real-and Protected-Mode software. It is a total hardware solution. From our experience, we know our approach insures full compatibility. The STD- 386 is a plug-and-play 80386 CPU board taking up one slot and offering memory choices from 1 to 16 Megabytes of RAM. An optional 80387 coprocessor is available. IBM PC/AT Is a registered traden'iark. The STD-386 was designed from thousands of hours of experience building the world s most reliable 286 accelerator board. Before any board is ever shipped, it will go through nearly 1 00 hours of bum- in and testing. We know our reputation is on the line, and we proudly invite you to give us a call to find out how easy it really is to upgrade your company's ATs with the new world standard - The circle no. 170 on reader SERVICE card Listening to Customers is Our Future. Seattle Telecom Data, Inc. 12277 134th Court Redmond, Washington 98052-2429 ( 206) 820-1873 PROGRAMMING PRACTICES AUGIE HANSEN Creating Sound with the Tinier The PCs programmable interval timer devices can be used to generate a wide range of sounds. C ontrol of the sound system is one of the bigger omissions in the support services provided by DOS and BIOS. The PC timer can help make up for this lack. With the programs presented here, it can be used to generate a wide vari¬ ety of sounds in the PC. The IBM PC, PC/XT, and PCjr contain the Intel 8253-5 programmable interval timer (PIT), and the PC/AT has an 8254-2 PIT; for all practical purposes, the two chips per¬ form their functions identically. (IBM technical reference documents refer to the PIT as the timer/counter chip.) All of the IBM PCs and ATs use a timer/counter input clock frequency of 1.19318 MHz. The 8253-5 can run at a maximum input clock rate of 2 MHz. The 8254-2 tops out at 10 MHz accord¬ ing to the Intel specification sheets, but IBM runs it at the same 1.19318 MHz rate. This indicates that the original de¬ sign of the AT may have anticipated a higher timer clock rate, but IBM de¬ cided to maintain the same rate used in earlier PCs for compatibility reasons. The highly compliant PIT contains three independent timer/counter chan¬ nels. Each of the three timer/counter channels in the 8253-5 (and the 8254-2) PIT has the same design as summarized in figure 1. The external view of each channel shows a clock input, a gate lead, and an output lead. In addition, the entire chip has control registers and a data buffer. Each channel is pro¬ grammed by writing a control word (ac¬ tually a single byte) to port 43H, fol¬ lowed by a count, which is presented to port 42H as a sequence of two bytes. At the core of each channel is a 16- bit, synchronous down counter, which can be preset. This counting element is surrounded by input and output buffer¬ ing and control logic. On the input side of the counter is a pair of 8-bit registers (CR m and CR L ) that form a 16-bit count register , which latches the count pro¬ grammed by the CPU. The count is retained until it is reprogrammed. On the output side of the counting element is another pair of 8-bit regis¬ ters (OL m and OL l ) that form the 16-bit output latch , which normally contains the same value as the counting element. Under CPU control, however, the out¬ put latch remembers the count at the time of a read request so that a stable value can be obtained. After the value has been read, the output latch is al¬ lowed to return once again to following the counting element. The count register and output latch are each formed from two 8-bit regis¬ ters so that the 16-bit counting element can be accessed over the internal timer/ counter 8-bit bus, which is compatible with the external 8-bit data bus that is found in the PC. Each counter/timer channel can be individually programmed for one of six modes (MO through M5) of operation. (Refer to Intel’s “Microprocessor and Peripheral Handbook,” 1984, for pro¬ gramming details. Also, the article “Life in the Fast Lane,” by Bob Smith and Tom Puckett, PC Tech Journal , April 1984, p. 62, contains a detailed introduc¬ tion to the PIT chips and their use as moderately high-resolution timers.) In a PC, channel 0 of the PIT is used to produce a regular timer inter¬ rupt at a frequency of approximately 18.2 interrupts per second, as shown in figure 2. A count of timer interrupts is kept in the BIOS data area of memory and is referred to as the BIOS time-of- day clock. At each occurence of the tim¬ er tick, interrupt 1CH is triggered, al¬ lowing a service routine to be installed that executes 18.2 times per second. This interrupt is at the core of many multitasking systems. Channel 1 should not be tampered with because it is dedicated to RAM re¬ fresh. The gates to both channels 0 and 1 are tied electrically high (equivalent to a logical 1) so that the counters are free running at all times and cannot be disabled by software. Channel 2 is part of the PC’s audio subsystem. The components of the au¬ dio system are highlighted in figure 2. The counter gate is controlled by bit 0 of an 8255 programmable peripheral in¬ terface (PPI) device. The output of channel 2 and bit 1 of the PPI are logi¬ cally ANDed together and fed to the audio driver circuit. The output of the driver is fed to the speaker through a low-pass filter. This channel can be pro¬ grammed in a variety of ways in order to produce sound. SOUNDING OFF The C routines presented here provide a basic level of audio support for the PC. Combined with machine-indepen- FEBRUARY1987 173 ILLUSTRATION • MACIEK ALBRECHT PROGRAMMING PRACTICES The PIT chip has only one control word register that is shared by all three chan¬ nels (which are selected by two channel-select bits in the register). Channel status is also queried by presenting a command to the control word register. SQL Compatible Query System adaptable to any operating environment. CQL Query System. A subset of the Structured English Query Language (SEQUEL, or SQL) developed by IBM. Linked files, stored views, and nested queries result in a complete query capability. File system interaction isolated in an interface module. Extensive documentation guides user development of interfaces to other record oriented file handlers. Portable Application Support System Portable Windowing System. Hardware independent windowing system with borders, attributes, horizontal and vertical scrolling. User can construct interface file for any hardware. Interfaces provided for PC/XT/AT (screen memory interface and BIOS only interface), MS-DOS generic (using ANSI.SYS), Xenix (both with and without using the curses interface), and C-library (no attributes). Screen I/O. Report, and Form Generation Systems. Field level interface between application programs, the Query System, and the file system. Complete input/output formatting and control, automatic scrolling on screens and automatic pagination on forms, process intervention points. Seven field types: 8-bit unsigned binary, 16 bit signed binary, 16 bit unsigned binary, 32 bit signed binary, monetary (based on 32 bit binary), string, and date. $395.00 C Interpreter. Run the interpreter on any hardware and on any operating system. Develops true intermediate code, allowing full .C features in an interpreter. User configurable interface to compiler library allows linkage with compiled routines. HARDWARE AND FILE SYSTEM INDEPENDENT c F%urtzberg Computer Systems 41-19 BELL BLVD. BAYSIDE, N.Y. 11361 VISA/Master Charge accepted (718) 229-4540 *C-tree is a trademark of FairCom IBM, SEQUEL, PC. XT, AT are trademarks of IBM Corp. MS-DOS and Xenix are trademarks of Microsoft Corp. CQL and the CQL Logo are trademarks of Kurtzberg Computer Systems. dent time delays, these functions and macros permit a wide range of audible sounds to be generated by the PC’s ru¬ dimentary sound system. The aim of these programs is to generate tones that run in the back¬ ground. The tones’ frequencies are de¬ rived from the timer/counter clock, not from any output of the CPU, so their pitch is not controlled by the CPU and will be completely independent of any activity in which it is engaged. The SPKR program, composed of SPKR.C (listing 1) and SOUND.H (listing 2), allows the speaker to be turned on and off from the DOS command line or from batch files. Invoking SPKR ON (any argument in place of ON will work, too) turns the PC’s speaker on. Invoking SPKR without any argument turns the speaker off. The speaker-control macros, SPKR_ON and SPKR_OFF (defined in SOUND.H), control the state of bits 0 and 1 of port 61H in the 8255 PPI chip (see figure 2). When both bits are set to logical one, achieved by ORing the cur¬ rent value of port 61H with 03H, the au¬ dio system passes the signal from the channel 2 timer/counter to an amplifier and low-pass filter and then on to the speaker. When either (or both) bits 0 and 1 in port 61H is a logical zero, sound is turned off. This is accom¬ plished by the macro SPKR_OFF, which ANDs the current value in port 61H with FCH, the bitwise complement of 03H. This sets bits 0 and 1 to 0 and leaves all other bits undisturbed. SPKR allows the user to turn sound on and off, but gives no control over the pitch of the tone emitted by the speaker. The TONE program, consisting of TONE.C (listing 3), SETFREQ.C (list¬ ing 4), and TIMER.H (listing 5), selects the frequency by setting the count value in channel 2 of the PIT. TONE accepts a single command-line argument (the de¬ sired frequency in Hertz), converts the character form of the argument to an integer, and calls setfreq. The setfreq function uses the val¬ ues defined in the TIMER.H header file to set mode and counter values of PIT channel 2. The TIMER_PREP constant is interpreted as shown in figure 3. The value to be placed in the PIT channel 2 count register is the divisor needed to CIRCLE NO. 148 ON READER SERVICE CARD 174 PC TECH JOURNAL Sound can be turned on and off in two ways. The channel 2 timer can be gated on or off by using its gate input, or the timer can be allowed to run freely, and timer output can be passed to the speaker or blocked by the AND gate. Although the PIT supports six modes through mode bits M0-M2, only mode 3 (square wave) is useftil in generating sound through the PC’s speaker. produce the desired frequency by the formula (timer clock rate / desired fre¬ quency). The counter is programmed by writing the TIMER_PREP value to the control port (TIMER_CTRL), followed by the least significant byte (LSB) and fi¬ nally the most significant byte (MSB) of the divisor. BEYOND BEEPS Turning the speaker on and off and setting the pitch is only part of the requirement for a useful package. The duration of tones must be controlled in a machine-independent way so that changes in processor clock speed and processor loading do not affect the sound being produced. The use of timing loops, which de¬ pend directly on the execution times of instructions, does not work. If the CPU clock crystal is changed, then the dura¬ tion of a sound also is changed. Instead, the duration should depend on the timer tick (18.2 times per second) or something else that is regular and unaf¬ fected by machine type and CPU clock speed. These programs use the timer tick as its CPU-independent reference. The constants TIMER_MAX and TICKRATE in TIMER.H are used by the second part of the sound-generation package. The delay function in DELAY.C (listing 6) takes a floating-point number of seconds and fractional seconds as a parameter and converts it to a long in¬ teger (ticks) that is the equivalent num¬ ber of BIOS timer ticks. The getticks function in GETTICKS.C (listing 7) is called to get the current tick count from the BIOS time-of-day (TOD) clock count stored in the BIOS data area. This number is added to the number of de¬ lay ticks to get the count for the future time (then) that marks the end of the desired delay period. Then delay re¬ peatedly queries the TOD clock until the returned value equals or exceeds the number stored in then, thus pro¬ ducing the required delay within about 55 milliseconds, which is the resolution of the timer tick. Combining tone generation and delays produces a sound routine that behaves as the BASIC SOUND state¬ ment. The source for sound is in SOUND.C (listing 8). A frequency and a duration are specified. The function sets the specified frequency by calling setfreq, turns the speaker on, calls delay with the specified duration argument, and then turns the speaker off. The demonstration program in SOUNDS.C (listing 9) contains four examples of audible signals that can be produced by making sound func¬ tion calls with different arguments in various combinations. Recreating the executable files from the several source files presented here requires a fair number of compile and link operations. MAKEFILE (listing
  • is used by MAKE (a utility that is provided with many C compilers) to control the compiling and linking of the SPKR, TONE, and SOUNDS programs along with the various modules of the sound package. Another file called TOOLS.INI (listing 11) contains infer¬ ence rules for use by the MAKE utility. With MAKE as provided with Microsoft C 4.0, it should be invoked as: MAKE MAKEFILE with the various source files in an ac¬ cessible directory. If MAKE is not avail¬ able, use the text of MAKEFILE as a guide to compiling and linking. With little or no DOS or BIOS sup¬ port, the PC sound system must be ma¬ nipulated by working very close to the hardware. This raises the possibility that future generations of PCs will imple¬ ment the sound system differently, and the routines presented here may be¬ come inoperative. The best defense, as always, is to understand the PC’s timers and the different ways they may be ap¬ plied, so that sound control software may evolve with the PC’s sound genera¬ tion hardware in a relatively painless way. In the overall design scheme, sound may not be the most important aspect of a computer, but when used well, it adds that extra touch of excel¬ lence to a good user interface. 1 mimimi B61 Augie Hansen is the owner of Omniware, a Denver-based consulting and training firm that specializes in DOS and UNIX topics. This article is based on material presented in his most recent book, Proficient C, soon to be published by Microsoft Press. FEBRUARY 1987 175 PROGRAMMING PRACTICES LISTING 1: SPKR.C LISTING 5: TIMER.H / /
  • spkr *- turn speaker ON/OFF
  • timer.h -- header for timer control routines
  • no args => OFF / timer clock and interrupt rates /
  • any arg(s) => ON

define TIHER_CLK 1193180L

*/

define TIMER_HAX 65536L

include "sound.h M

define TICKRATE (TIMER_CLK / TIMER_MAX)

main(argc, argv) / timer port access for frequency setting / int argc;

define TIMER_CTRL 0x43

char **argv;

define TIHER_COUNT 0x42

<

define TIMER_PREP 0xB6

/ turn speaker on or off / if (argc == 1) LISTING 6: DELAY.C SPKR_OFF; else /* SPKR ON;

  • delay -- provide a delay of approximately the exit(O);
  • specified duration (resolution is about 0.055 second) }

include "timer.h"

void LISTING 2; SOUND.H delay(d) float d; / duration in-seconds and fractional seconds / /* long ticks, then;

  • sound.h -- header for sound routines extern long getticksO; */

define PPI 0x61

/ convert duration to number of PC clock ticks /

define SPKR 0x03

ticks TICKRATE;

define SPKR_0N outp(PPI, inp(PPI) | SPKR)

/ delay for the specified interval /

define SPKR_0FF outp(PPI, inp(PPI) & -SPKR)

then = getticksO + ticks; while (1) if (getticksO > then) LISTING 3: TONE.C break;
/ tone -- set the frequency of the sound generator */ LISTING 7: GETTICKS.C

include

/* . ...." V main(argc, argv)

  • getticks -- get the current BIOS clock ticks value int argc; */ char **argv;

include

extern void setfreqCunsigned int);

define TOO OxIA

if (argc != 2) { ^define READ_C0UNT 0 fprintf(stderr, "Usage: tone hertz\n"); exit(1); ^define TICKS PER DAY 0x01800B0L
long / set the frequency in Hertz / getticksO setfreqCatoi(++argv));

i exit(0); long count;

union REGS inregs, outregs; LISTING 4: SETFREQ.C /
get BIOS time of day as no. of ticks since midnight / inregs.h.ah = READ_COUNT; v'g:; ■' . X';- int86(TOD, ftinregs, &outregs); / correct for possible rollover at 24 hours / /

count = (outregs.h.al != 0) ? TICKS_PER_DAY : 0;

setfreq -- sets PC's tone generator to run / add current day ticks / continuously at the specified frequency
  • / count += (outregs.x.dx + (outregs.x.cx « 16)); /

include

return (count); ^include "timer.h" ■ > ’ ■" ' void setfreq(f) LISTING 8: SOUND.C unsigned f; / frequency in Hertz (approximate) / / <

  • sound . produce a constant tone for a specified duration unsigned divisor = TIMER_CLK / f; */

include

outp(TIMER_CTRL # TIMER_PREP); /* prepare timer */ outp(TIMER_C0UNT, (divisor & OxFF)); /* low byte of divisor */ ^include "sound.h" outp(TIMER_C0UNT, (divisor » 8)); /* high byte of divisor */ void
v: v . : sound(f, dur) unsigned int f; / frequency of pitch in Hertz / 176 PC TECH JOURNAL float dun; / in seconds and tenths of seconds / i extern void setfreq(unsigned int); extern void delayCfloat); / set the frequency in Hertz / setfreq(f); / turn the speaker on for specif i ed durat ion /

SPKRjON; delay(dur); SPKR_OFF;

LISTING 9 : SOUNDS.C / sounds •• make various sounds on demand V

include

include

include

define ESC 27

extern void sound(unsigned int, float); main<) C int ch; fprintf(stderr, "1=warble 2=error 3=confirm 4=warn\n"); fprintf(stderr, n Esc=quit\n“); while ((ch * getchO) != ESC) switch (ch) C case '1': warbleO; break; case *2*: errorO; break; case '3': confirm(); break; ■ 0case •4' : warn<); break;

exit(O);

define CYCLES 3

define LOTONE 600 ^define HITONE 1200 ^define PERI00 0.1 warbleO € ' ...■int- i; for (i = 0; i < 2 * CYCLES; ++i) if (i % 2) sound(LOTONE, PERIOD); else SoundCHITONE, PERIOD);

errorO L float d = 0.1; sound(440, d); sound(220, d);

confirm() <. float d = 0.1; sound<440, d); sound(880, d);

warn() ( float d = 0.2; sound(100, d); ■. LISTING 10: MAKEFILE % makefile for time delay and sound routines :

timing and sound functions

delay.obj: delay.c timer.h getticks.obj: getticks.c setfreq.obj: setfreq.c timer.h • sound.obj: sound.c sound.h . sounds.obj: sounds.c spkr.obj: spkr.c sound.h tone.obj: tone.c

demonstration programs

sounds.exe: sounds.obj sound.obj link $ sound delay getticks setfreq; spkr.exe: spkr.obj link $; tone.exe: tone.obj link $ setfreq; • LISTING 11: TOOLS.INI (make) .c.obj: msc $; ' ' f ... 80386 SOFTWARE DEVELOPMENT TOOLS The Phar Lap 80386 Software Development Series: 3861 ASM/LINK by Phar Lap (MS-DOS®) $495 Full-featured macro assembler and linker. Includes a de¬ bugger and 32-bit protected mode runtime environment. 80386 High-C™ by MetaWare (MS-DOS®) $895 80386 Professional Pascal™ (MS-DOS®) $895 by MetaWare UNIX™ and VAX/VMS® cross tools (call) The wait for professional software development tools for the 80386 is over! Whether you are upgrading an existing IBM PC application to the ’386, moving a mainframe application down to a PC, or writing the next PC best-seller, the Phar Lap 80386 Software Development Series is for you. It is an integrated line of products which provides everything you’ll need to create and run 80386 protected mode applications under MS-DOS. (617) 661-1510 Phar Lap Software, Inc. ‘The 80386 Software Experts” 60 Aberdeen Ave. Cambridge, MA 02138 FEBRUARY 1987 CIRCLE NO. 146 ON READER SERVICE CARD 177 IF YOU NEED $5,000. . $20,000 EVEN UP TO $500,000 TO START A NEW BUSINESS OR TO EXPAND AN EXISTING FIRM—THEN READ WHY YOU TOO WILL CALL THIS INCREDIBLE MONEY RAISING BUSINESS OPPORTUNITY SEEKERS’ LOANS MANUAL “The Small Business Borrower’s Bible Practically prepares the loan application for you line-by-line...the “proper” way. All properly prepared applications are processed faster...no red tape! EVERY LOAN DOLLAR | YOU GET YOU KEEP AND USE TO OPERATE I YOUR BUSINESS! Guaranteed Loans...Direct Loans...and Immediate Loans are available now! Most men and women seriously interested in starting their own business are eligible to apply — including those who already own a business and need capital fast for expansion...or to stay afloat...even if they’ve been flatly refused by banks and turned down elsewhere! Yet, too many never qualify, simply because they do not know how to “properly” prepare the loan application...

In order to help those people applying for these guaranteed and direct loans fill out their loan appli¬ cations the "right way" our business researchers, with their diligent com¬ pilation and effective efforts, have successfully assembled and pub¬ lished a comprehensive, easy-to- follow seminar manual: The Business Opportunity Seekers’ Loans Manual, that will quickly show you practically everything you'll need to know to prepare a loan application to get federally Guaranteed and Direct Loans. Here are just some of the many important benefits the Business Opportunity Seeklrs' Loans Manual provides you with: • a completely filled in sample set of actual SBA loan application forms, all properly filled in for you to easily follow—aids you in quickly preparing your own loan application the right way. Each line on the sample appli¬ cation forms is explained and illustrated in easy-to-under- stand language. • fast application preparation procedures for getting loans for both new start up business ventures and established firms. • advises you on how to properly answer key questions neces¬ sary for loan approval and in order to help avoid having your application turned down—gives you advice on what you should not do under any circumstances. • what simple steps you take to guarantee eligibility—no matter if you do not presently qualify. • where you can file your appli¬ cation for fastest processing. At this point the most important question you want answered is Just where is all this loan money coming from’’ Incredible as it may sound—these Guaranteed Loans. Direct Loans and Immediate Loans are indeed available right now — from the best, and yet. the most overlooked and frequently the most ignored and sometimes ’outright ridiculed made-fun-of" source of ready money fast capital, in America — THE UNITED STATES GOVERNMENT Of course there are those who upon hearing the words ' UNITED STATES GOVERNMENT will instantly freeze up and frown and say " only minorities can get small business loan money from the government!" Yet on the other hand (and most puzzling) others will rant on and on and on that don’t even try, it's just impos¬ sible — all those Business Loans Programs are strictly for the Chryslers, the Lockheeds, the big corpora¬ tions, not for the little guy or small companies" etc. O ■o ■o o 73 H C (/> m m

m 73 O

2 (A Stfll there are those who declare "... / need money right now and small business government loans take too darn long Its impossible to qualify. No one ever gets one of those loans." Or you may hear these comments " My accountant's tumor assistant says he thinks it might be a waste of my time
1 ' "Heck, there 's

too much worrisome paperwork and red tape to wade through." Frankly — such rantings and ravings are just a lot of “bull” without any real basis — and only serve to clearly show that lack of knowledge .. misinformation ... and not quite fully understanding the UNITED STATES GOVERN¬ MENT'S Small Business Adminis¬ tration's (SBA) Proqrams have unfortunately caused a lot of people to ignore what is without a doubt — not only the most important and generous source of financing for new business start ups - and existing business expansions in this country — but of the entire world 1 Now that you've heard the "bull" about the United States Govern¬ ment's SBA Loan Program — take a few more moments and read the following facts • Only 9.6% of approved loans were actually made to minorites last year • What SBA recognizes as a “small business" actually applies to 97% of all the companies in the nation • Red tape comes about only when the loan application is sent back due to applicant not providing the requested infor- mation...or providing the wrong information • The SBA is required by Congress to provide a minimum dollar amount in business loans each fiscal year in order to law¬ fully comply with strict quotas. (Almost 5 billion this year) Yet. despite the millions who miss out — there are still literally thousands of ambitious men and women nationwide who are prop¬ erly applying — being approved — and obtaining sufficient funds to either start a new business, a franchise, or buy out or expand an existing one Mostly, they are all just typical Americans with no fancy titles, who used essentially the same effective know-how to fill out their applications that you'll find in the Business Opportunity Seekers’ Loans Manual. So don t you dare be shy about applying for and accepting these guaranteed and direct government loans Curiously enough the government is actually very much GUARANTEE

1

Simply — look over this most effective money raising loan preparation assistance manual for 15 days — and. then, if you are not convinced that it can actually help you obtain the Business Loan you need right away - just return it for a full and prompt refund GUARANTEE

2

Even after 15 days — here s how you are still strongly protected

  • if you decide to keep the manual — and you apply for an SBA Loan anytime within 1 year your loan must be approved and you must actually receive the funds or your money will be refunded in full interested m helping you start a business that will make a lot of money It's to their advantage — the more money you make the more they stand to collect in taxes in fiscal 1986, our nation’s good old generous "uncle” will either lend directly or guarantee billions of dollars in loan requests, along with technical assistance and even sales procurement assistance Remember. If you don't apply for these available SBA funds somebody else certainly will. Don’t lose out — now is the best time to place your order for this comprehensive manual It is not sold in stores. Available only by mail through this ad. directly from Financial Freedom Co., the ex¬ clusive publisher, at just a small fraction of what it would cost for the services of a private loan advisor or to attend a seminar. For example: Initially, this amazing Guaran¬ teed and Direct Loans Manual was specially designed to be the basis of a Small Business Loan Seminar — where each registrant would pay an admission fee of $450. But our company felt that since the manual's quality instructions were so exceptionally crystal-clear that anyone who could read, could successfully use Its techniques without having to attend a seminar cr pay for costly private loan advisory assistance services Therefore, for those purchasing the manual by mail. no3day class, no course and accommodations are required And rather than S450 we could slash the pv'ce all the way down to just a mere $20 — a small portion of a typical serflmar attendance fee — providing you promptly fill in and mail coupon below with fee while this special seminar-m-print" manual offer is still available by mail at this rela¬ tively low price' Remember, this most unique manual quickly provides you with actual sample copies of SBA Loan application and all other required forms—already properly filled m for you to easily use as reliably accurate step-by-step guides — thus offering you complete assurance that your application will be properly prepared and thereby immediately putting you on the right road to obtaining fast no r ed-tape loan approval Only because we are so confi¬ dent that this is a fact do we dare make such a strong binding seldom-heard-of Double Guarantee. No stronger guarantee possible! Of course, no one can guarantee that every request will be ap¬ proved—but clearly we are firmly con¬ vinced that any sound business re¬ quest properly prepared —showing a reasonable chance of repayment and submitted to SBA —will be approved. THOUSANDS ARE PROPERLY APPLYING AND BEING APPROVED. HERE’S YOUR CHANCE TO JOIN THEM! J GUARANTEED YOUR LOAN MUST BE APPROVED OR MONEY BACK — ONLY A IsMALL PRICE TO PAY FOR THE LOAN YOU CAN GET... NO RISK AND NO HASSLES. FREE BONUS If you order your manual today you'll receive a valuable treasury of fast. easy, low- capital and highly profitable business programs worth forty- five dollars — yours abso¬ lutely tree 1 100% tax deductible as .a business expense. Don't delay — order your copy today! ■ NO RISK LOAN OPPORTUNITY FORM • Detach and rush lor COMPLETE PREPARATION ■assistance for loan approval! Please rush me_copies of “Business Opportunity Seekers’ Loans Manual" each at a $20 fee plus $3.00 handling and shipping. I am fully protected by the two strong guarantees above. I'm ordering today
  • so I can receive FREE - the valuable

    treasury of fast, easy, low-capital and highly profitable business programs ... worth forty-five dollars - mine free to keep even if I decide to return the manual for a full refund. L Enclosed is Full Payment f Cash ; Check l Money Order Send payment with order. Name_ Please Print Clearly Address_

    State _Zip I MAIL TO: I Financial Freedom Publishers ■ 110W. 5th St. PRODUCT WATCH Reviews and Updates VECTOR87 Magic Software, Inc. ADIC MODEL TD 440 ADIC HIGH-C MetaWare, Inc. VECTOR87 Magic Software, Inc. 7941 Paseo Del Ocaso La Jolla, CA 92037 619/454-3750 PRICE: $130 CIRCLE 349 ON READER SERVICE CARD C ombining the assembly language routines in Magic Software’s vector- 87 library with interpreted Microsoft BASICA is like bolting a 100-horse- power motor on a dingy. Taking a 1,024-point Fast Fourier Transform in 2.5 seconds with interpreted BASIC is positively neck-snapping. vector87’s package of 312 optimized assembly lan¬ guage routines provide lightning-fast, accurate vector and matrix manipula¬ tions. The minimum requirements for using the VECTOR87 library are an 8087 or 80287 numerical coprocessor in an IBM PC or PC/AT machine with at least 256KB of RAM and two diskette drives. The routines are not copy protected. VECTOR87 offers a huge variety of single- or double-precision vector and matrix manipulations from a single-line CALL statement. It can be used to solve linear systems of equations, invert ma¬ trices, take fast Fourier transforms, eval¬ uate transcendental and hyperbolic functions and their inverses in real or complex form, find histograms, do table look-ups, calculate mean square roots, generate arrays of random numbers, and evaluate polynomials. VECTOR87 also can perform a wide variety of complex vector and matrix manipulations, logical operations and comparisons, Cartesian to polar conversions, and more. The first step in using VECTOR87 is to enter BASICA/M:,&H2000 at the DOS prompt. This reserves room for the as¬ sembly language routines outside of the BASICA code segment so that the BASIC source code can still occupy as much as 64KB of RAM. The BASIC source code then can be written—defining the de¬ sired precision, declaring all subroutine parameters, and, finally, CALLing upon any of the needed library functions with a single line of BASIC with a sensible and clear syntax. The application source code then is merged with a provided VECTOR87 BASIC source file. When the completed program is run, all essential assembly language code containing all of the necessary assembly code inter¬ face is BLOADed by one GOSUB call that is provided with the package. The documentation is well written and clearly indexed. The system in¬ cludes BASIC program examples that call each vector87 subroutine at least once. Several Turbo Pascal programs also are included so that users with Turbo-87 Pascal can compile them and compare their execution times with the corresponding vector87 demos. Gener¬ ally, the demos execute 20 to 50 per¬ cent faster than similar code written in Turbo-87 Pascal. This percentage is a bit misleading because it does not contain some of the interpreted BASIC sections of code that may be necessary. This package is not a set of gen¬ eral-purpose numerical analysis rou¬ tines, but one that focuses on vector and matrix manipulations. For example, to evaluate an integral numerically, to find the roots to a function, or to inte¬ grate a differential equation, these rou¬ tines must be built from scratch. Even if some of the primitives from VECTOR87 can be used, the user usually will have to perform some of the calculation with interpreted BASIC alone, which loses much of the performance gains realized from the assembly language routines. This is especially a problem because in¬ terpreted BASIC uses a format different from the IEEE real-number format used by the 8087. Also, because vector87’s machine code functions cannot call one another, control must return to inter¬ preted BASIC after each function call. In applications that must execute a great many of the function calls, performance may lag significantly behind the per¬ formance of a Turbo-87 Pascal program written to accomplish a similar task. For all its power, serious problems arise in using vectors, which require a cold reboot to ultimately escape. The worst problems come from the nonex¬ istent error trapping for calls to the as¬ sembly language routines. Each routine requires strict type-assignment; only variables (not constants) can be passed to subrouting, and all parameters must be initialized before they are passed, even if the initialization is equal to 0, as BASIC does by default. No error mes¬ sages occur if any one of these con¬ straints is violated or if a subroutine that was not previously BLOADed is called. The manual says, “As these func¬ tions operate outside the environment and protection of BASIC, it is entirely up to you to ensure that the parameters in the CALL list match the number, type, and length with the parameters ex¬ pected by the vector87 function. Any mismatch here will cause the operating system to ‘crash.’ This should be easy to ascertain as BASIC will likely fail to re¬ spond to keyboard commands.” Obvi¬ ously, a crash is “easy to ascertain” when a cold reboot is required. There are no return codes to indi¬ cate whether a routine has been com¬ pleted properly or not. Truly nefarious problems happen when errors are si¬ lently generated and all seems well—a FEBRUARY 1987 179 PRODUCT WATCH situation that occurs all too easily. For example, if the user tries to invert a ma¬ trix and fails to set a calling parameter that specifies the number of arrays in a vector of arrays, BASIC will initialize the parameter to equal 0—a meaningless value in this context. The matrix inver¬ sion routine then just quietly generates errors and returns meaningless values as if nothing is wrong. The same silent generation of er¬ rors occurs when the user attempts to invert a singular matrix—one with a determinant equal to 0 and, hence, no inverse. The routines do not check to see if the array subscripts are within bounds. Once again, the manual states, “Overrunning array bounds, particularly when storing data to memory, will gen¬ erally crash the system at best or at worst give you no indication of a fault but wrong answers and perhaps a BASICA interpreter that doesn’t work correctly!” This wild behavior is ration¬ alized in the manual with the statement, “VECTOR87 does not check subscripts against bounds and gives you back that time for number crunching. The price you pay for this added speed is that VECTOR87 leaves it to you to manage your own data resources.” Anyone with programming experience knows this is completely false economy. Only small amounts of code and execution over¬ head are required to check for reason¬ able input parameters and index array bounds. Then the user is free from any uncertainty and many hours of frustrat¬ ing debugging as well. Debugging BASIC with VECTOR87 code is extremely frustrating. For exam¬ ple, although BASIC automatically ini¬ tializes all variables to 0, if the user does not explicitly initialize the deter¬ minant of the matrix (found as part of the inversion algorithm) to 0 before calling the matrix inversion routine, the system locks. Interpreted BASIC permits easy coding and debugging, even if the BASIC editor seems painful by modern standards. With the unruly assembly lan¬ guage routines from vector87, however, frequent crashes occur without a clue as to the cause. Until the error trapping and debug¬ ging improves, vector87 cannot be rec¬ ommended. Anyone desiring serious numerical analysis should get one of the good standard compilers on the market and a set of numerical analysis routines. Although useful work can be accomplished with vector87’s fast rou¬ tines, the development process often is more difficult than it should be. —VICTOR MANSFIELD ADIC MODEL TD 440 DATA CARTRIDGE TAPE SYSTEM ADIC P.O. Box 2996 Redmond , WA 98013 206/881-8004 PRICE: $1,595 CIRCLE 351 ON READER SERVICE CARD T he ADIC Model TD 440 Data Car¬ tridge Tape System is a miniature version of ADIC’s Model 552, which was reviewed in “Moving Up To Tape” (Steven Armbrust and Ted Forgeron, November 1985, p. 63). While the Model 552 is as large as the typical computer’s system unit, the Model TD 440 measures only 10 inches by 6 inches by 3.25 inches and can be easily squeezed onto a crowded desktop. This unit’s small size is attributable to its tape format. Instead of using 5 V 4- inch cartridge tapes, the Model TD 440 uses the new 3M 3-inch DC2000 mini¬ tapes. On each of these tapes, the Mod¬ el TD 440 can store 40MB of data. If this is not enough, a backup session can be split across multiple tapes. The tape drive plugs into an SCSI (Small Computer Systems Interface) controller, a half-size card that can fit in the short slot of a PC/XT. Installation is simply a matter of inserting the card and connecting the cable, although the DMA channel used for tape operations can be changed via jumpers, if the de¬ fault channel (2) conflicts with other hardware in the user’s system. An addi¬ tion to the CONFIG.SYS file is all that is needed to make the drive ready to use. Like other ADIC units, the Model TD 440 sacrifices speed for data integ¬ rity. For example, each time a new tape cartridge is inserted, the drive spends between one and two minutes perform¬ ing electrical and mechanical align¬ ments. During this time, the drive re¬ winds the cartridge, sets the amplifier gain control, retensions the tape, re¬ aligns the head in reference to the edge of the tape and to the data tracks, and, finally, verifies its ability to read the tape’s formatting information. Although the Model TD 440 accepts any DC2000 tapes, the amount of time required to format a tape will lead most users to order preformatted tapes di¬ rectly from ADIC. Each blank tape re¬ quires a low-level format that consumes approximately 48 minutes, and a DOS format that consumes 2 minutes. Once the low-level format has been done, it need not be done again, even if margi¬ nal or bad blocks develop. Instead, a verify operation can be performed to map out the bad blocks. This verify op¬ erations takes about 25 minutes. The formatting time is lengthy, in part because the tape is set up as either one 32MB or two 17.8MB DOS vol¬ umes; creating DOS format information on a tape is much more complex than preparing a tape for a simple streaming drive. File I/O can be performed just as it is on any DOS volume, using stan¬ dard COPY, ERASE, and DIR commands available with DOS. The drive is treated just like a hard disk, taking the next (or next two) drive letters when the system is initialized. Programs can even be exe¬ cuted from tape, just as if they resided on a disk drive. Another reason for the unit’s lengthy format is that it must gen¬ erate one error-correction block for every three data blocks. In addition to working with stan¬ dard DOS commands, the Model TD 440 also includes special backup and restore programs called SARCHIVE and SRESTORE. SARCHIVE can operate in automatic mode, in which it backs up all subdirectories under the starting directory, or it can prompt to continue after backing up each directory. In addi¬ tion, the user can create a file that lists specific files or directories to include or exclude when backing up. An option is also available to generate a log file showing each file that was backed up during the session. Both the SARCHIVE and SRESTORE programs display convenient statistics while performing their operations. They estimate the time of completion before beginning the backup or restore opera¬ tion and display the elapsed time as they proceed. The number of files and directories, as well as the amount of data backed up or restored (in kilo¬ bytes) also are updated constantly. The files that SARCHIVE stores on tape also can be accessed by the standard DOS commands. Therefore, after using SARCHIVE to back up a disk drive, the tape can be examined by using' the DIR command (for example, DIR D: if the tape drive is drive D). The SARCHIVE and SRESTORE pro¬ grams are menu driven, but they also 180 PC TECH JOURNAL HIGH-C MetaWare, Inc. 903 Pacific Avenue, Suite 201 Santa Cruz, CA 95060-4429 408/429-6382 PRICE: $495 CIRCLE 350 ON READER SERVICE CARD can be invoked from the command line for inclusion in a batch file. In addition, the Model TD 440 includes a program called WAITUNTL that enables the backup program to be invoked now for execution at a later time. The one area in which the Model TD 440 is lacking is speed. Backing up approximately 10MB of data (10,223,616 bytes in 614 files and 25 directories) takes 17 minutes and restoring the same amount of data takes 90 minutes. This is approximately the same per¬ formance as the Model 552, and that unit was one of the slowest tested. Despite the slow performance of the Model TD 440, the sophisticated error detection/correction algorithms used in the unit may convince users who are particularly concerned about data integrity that the extra time is well spent. One out of every three 8,192-byte blocks of data is devoted exclusively to error correction. Therefore, if an error occurs in one block of data, the tape drive can correct it by comparing the error correction block with the other associated data block. The Model TD 440 offers all of the features of the Model 552 in a much smaller, and more convenient, package, but users must be willing to put up with its lengthy backup sessions. —STEVEN ARMBRUST M etaWare’s High-C stands out in con¬ trast to down-sized and scaled-back C compilers. High-C is even an excel¬ lent alternative to the venerable Micro¬ soft C and Lattice C compilers. High-C also has some uniques features that will appeal to software product developers. The basic specifications for High-C are shown in table 1. The compiler is shipped with sev¬ en diskettes. Installation of the compiler is done by a .BAT file that creates the necessary subdirectories and copies the libraries and modules to them. A hard disk is required to use the High-C; with all of the memory models installed, the compiler and libraries occupy 2.6MB. The installation process is clearly ex¬ plained in the manual. Several demon¬ stration programs can be run to verify that the compiler is functioning prop¬ erly; sample compilations for all mem¬ ory models are included. Along with the compiler and librar¬ ies, High-C offers a directory that is full of UNEX-like utilities, including MV (move) and FGREP (a pattern finder). An even more useful addition to High-C is a cross-reference utility that generates a listing of functions and variables that are assigned and referenced within a C program. Unlike many cross-refer- encers, it can process include files and The Digi-Data 2000 PC tape system reads and writes IBM/ANSI compatible, 9 track, 1600 bpi, V 2 inch tapes. It comes complete with PC controller board, cables and DOS software utilities. Just plug it in and run. The 2000 PC provides file interchange in ASCII, EBCDIC or binary. That means you can exchange data between your PC and most minis or mainframes. The 2000 PC also provides high speed disk backup and restore functions. For all the reasons you need a 9 track tape on your IBM PC/XT/AT, call us at (301) 498-0200. DIGI-DATA CORPORATION 8580 Dorsey Run Road Jessup, MD 20794-9990 (301) 498-0200 Telex 87-580 First In X/alue In Europe contact: Digi-Data Ltd. • Unit 4 • Kings Grove • Maidenhead, Berkshire England SL6 4DP • Telephone No. 0628 29555/6 • Telex 847720 CIRCLE NO. 123 ON READER SERVICE CARD FEBRUARY 1987 181 PRODUCT WATCH multiple modules. To use the cross-ref- erencer, a compilation option must be selected to generate a cross-reference file along with the object. Table 2 lists the features of the High-C compiler and language. High-C is implemented as a command that gen¬ erates an .OBJ file which must be linked to produce a final .EXE file. In actual use, the compiler operates in one of two distinct environments, High-C and ANSI standard. The High-C environ¬ ment is a superset of K&R (Kernighan and Ritchie) C, but with extensions, such as the ability to use underscores in constants, to intermix declarations and statements anywhere in a function, and to use long (up to a line in length) identifiers. These extensions are for im¬ proved readability and maintenance of source code. Another convenience is High-C’s implementation of frequently used functions, such as abs( ), min( ), and move(), as intrinsic functions that have been optimized by MetaWare for the target processor. TABLE 1: Specifications Version tested 1.3 Supported on other systems See text Cross-compiler hosts See text Availability of libraries Yes Minimum disk space 1.5MB Minimum RAM 256KB Supports full language Yes Full standard library Yes PC-specific functions Yes Assembly language interface Yes COMPATIBILITY MASM Yes LINK Yes SOURCE CODE Start-up sequence No Library 7 functions No MEMORY MODELS Large Yes Medium Yes Compact Yes Small Yes .COM No OTHER PROGRAMS INCLUDED Librarian No Assembler No Linker No Source-level debugger No MAKE No Other See text These specifications can be compared with those j for other C compilers in table 1 in “The State of C, ” (William J. Hunt, January / 1986, p. 84). See also table 1 in Marty Franz's Product Wat do re¬ views of Whitesmith’s C Compiler (June 1986,
  • 201), Let’s C (August 1986, p. 177), and MIX C (September 1986, p. 191). High-C supports all memory models and creates .OBJ files that are linkable by DOS LINK or Phoenix Plink86. Along with these minor extensions, High-C has included some radical ones, namely parameter associations, nested functions, and full-function values. Us¬ ing named parameter associations (a concept borrowed from Ada), a pro¬ grammer is able to call a function and specifically match the function’s param¬ eter names with their chosen values us¬ ing = >. Thus, he can choose the order of a function’s parameters. With Pascal¬ like nested functions, a C programmer can write private functions that share data inside other functions, thereby in¬ creasing the ability to hide data in a module. The full-function values allow a programmer to store a nested function’s environment and its value in another variable and to reference the entire environment through it. Q The Most Powerful & Flexible Source Code Revision &l Version Control System . The POLYTRON Version Control System (PVCS) allows programmers, project managers, librarians and system administrators to effectively control the proliferation of revisions and versions of source code in software systems and products. PVCS is a superb tool for programmers and programming teams. If you allow simultaneous changes to a module PVCS can merge the changes into a single new revision. If changes conflict, the user is notified. Powerful capabilities include: Stores and retrieves multiple revisions of text; Maintains a complete history of revisions to act as an “audit trail” to monitor the evolution of a software system; Maintains separate lines of development or “branch¬ ing”; Provides for levels of security to assure system integrity; Uses an intelligent “difference detection” to minimize the amount of disk space required to store a new version. Requires DOS 2.0 or higher. Compatible with the IBM PC, XT, AT and other MS-DOS PCs. Maintains source code written in ANY language. Only PVCS meets the needs of Independent Programmers and Corporations. Once you standardize on PVCS, the “Logfiles” used to track and monitor changes are interchangable between any PVCS product. You will receive full credit for your initial purchase if you upgrade to a higher-priced PVCS. Personal PVCS — Offers most of the power and flexibility of the Corporate PVCS, but excludes the features necessary for multiple- programmer projects. Corpor: — Offers additional features to maintain source code of very large and complex projects that may involve multiple programmers. Includes “Branching” to effectively maintain code when programs evolve on multiple paths (e.g., new versions for different systems, or a new program based on an existing program). Single user. Network YVC: — Extends Corporate PVCS for use on Networks. File locking and security levels can be tailored for each project. 5-Station License $1,000. Call (503) 645-1150 for pricing on Licenses for more than 5 Stations. TO ORDER: VISA/MC 1-800-547*4000. Dept. No. 310. Oregon and outside US call (503) 684'3000. Send Checks, P.O.s to: POLYTRON Corporation, 1815 NW 169th Place, Suite 2110, Dept. 310, Beaverton, OR 97006. ■POLYTRON* High Quality Software Since 1982 CIRCLE NO. 164 ON READER SERVICE CARD 182 PC TECH JOURNAL TABLE 2: Compiler Functions TABLE 3; Documentation Quality COMPILER OPERATION Single-step compile command Yes Compile and link No Accepts lists of files No Accepts wild cards No Lists preprocessor output Yes Lists assembler output Yes Line numbers in error messages Yes Header file search list Yes Flexible disk file layout Yes C LANGUAGE EXTENSIONS Embedded assembly language No Void function returns Yes Enumerated types Yes Structure assignment, etc. Yes Function argument checking Yes LIBRARY EXTENSIONS Math functions (sqrt, exp, etc.) Yes Unbuffered file I/O See text Keyboard input (low-level) See text PC screen output (cursor control, See text cursor attributes, scroll) Execute programs/DOS No (exec/fork and system) DOS services (date, time, etc.) See text PC-specific functions Some UNIX-compatible functions Yes Error recovery (setjmpO, longjmpO) Yes FILE I/O Redirection Yes Full path names Yes DOS 1.1 support No DOS 3.1 file sharing Yes Record locking Yes ASCII/binary mode Yes MEMORY USAGE Overlays Yes Default stack size Yes Stack size settable No Stack overflow checking Yes 8086 FAMILY SUPPORT Byte/word alignment Yes 80186/80286 support Yes 8087/80287 support Yes Automatic sensing Yes ROM support Yes These features can be compared with other C compilers in table 2 in “The State of C, ” (William J. Hunt, January 1986, p. 86). See also table 2 in Mar¬ ty 1 Franz’s Product Watch reviews of Whitesmith’s C Compiler (June 1986, p. 202), Let’s C (August 1986, p. 178), and MIX C (September 1986, p. 192). High-C is a full-featured compiler that supports both the proposed ANSI C standard and a useful set of extensions. INSTALLATION Packing list Yes File inventory Yes Key files described Yes Quick step-by-step procedure Yes Instructions for diskette and Yes hard-disk configurations List changes from last version Yes SET-UP Set-up assumptions described Good Notes on RAM/second hard disk Good OPERATIONS EXPLAINED Compile options Good Compiler error messages Good Linking C programs Good Runtime error messages Good Runtime options Good LANGUAGE / LIBRARY SPECIFICATIONS Deviations from Kernighan and Ritchie standard Good Data type representation Good Memory models and memory layout Good DOS and PC-specific features Poor ASSEMBLY LANGUAGE INTERFACE Segment, group, and class specification Good Standard prologue, epilogue Good Instruction formats for args, public, extern, struct Good Return value conventions Good Complete examples Fair FILE I/O Redirection Good Console I/O Good Device I/O Good Buffered versus unbuffered Poor ASCII versus binary modes Good LIBRARY DOCUMENTATION Average lines per function 20 Cross-reference information Fair Functions in table of contents Good Examples of use Fair MANUAL ORGANIZATION Detailed table of contents Good Index with functional entries Fair Order of function documentation Alpha. OVERALL RATING Good These notes on documentation can be compared with those for other C compilers listed in table 3 in “The State of C, ” (William J. Hunt, January> 1986, p. 88). See also table 3 in Marty Franz’s Product Watch reviews of Whitesmith’s C Compiler (June 1986, p. 203), Let’s C (August 1986, p. 179), and MIX C (September 1986, p. 192). Overall, the High-C documentation was complete and infor¬ mative, but a more conventional index would be welcome. The High-C extensions give the product a Pascal flavor. Because many of the extensions are in areas where the K&R standard is vague or nonexistent, they cause little problem when porting normal C programs to the High-C com¬ piler. Some common extensions of ver¬ sion 7 UNIX C (such as void functions and enumerated types) have been in¬ cluded. These changes make High-C a stronger language for large projects with multiple programmers; they in¬ crease the ability of the knowledgeable C programmer to structure code. In addition to this enhanced ver¬ sion of the C language, High-C also compiles programs conforming to the proposed ANSI (X3J11) standard and disallows the High-C extensions. This is done by using a switch at compilation time. Other switches to the High-C compiler select the memory model, object file name, and cross reference and list file generation options. An after- FEBRUARY1987 183 PRODUCT WATCH market MAKE utility (such as PolyMake from Polytron) is a necessity because High-C supports neither wild cards nor multiple file names on the command line. The compiler’s default option set¬ tings can be configured through a sepa¬ rate command that stores common de¬ faults in the compiler’s .EXE file and makes them permanent. A key addition to the C language as implemented by High-C is the pragma statement. Another concept borrowed from Ada, this is a directive to the com¬ piler in the source file that specifies listing format, code generation, array checking, external labels, and register variable usage—in short, anything that concerns the generation of the final module. A set of pragmas is placed in a source file, profile, included in the module when it is compiled. Different profiles are used for different environ¬ ments: one with stack and array check¬ ing enabled for module testing and one with checking disabled for maximum- performance production programs. High-C supports five memory mod¬ els for the PC: small (64KB code, 64KB data), compact (64KB code, large data), medium (large code, 64KB data), big (multiple 64KB code segments, large data) and large (large data, large code). They are selected by a compilation switch or a pragma statement. Overlays can be generated for the Phoenix Plink linker. The compiler generates code for the 8087/80287 numeric coprocessor and/or the 80186/80286 processors with pragma statements. These features allow the exact control of code generation for production applications. High-C supports the UNIX standard library (see table 3) and the usual ex¬ tensions, such as alloc() and setjmp(). An unusual feature of this compiler is that more primitive I/O functions, such as read() and open(), are handled with a utility package that must be defined through an include file and not direcdy through library functions as they are in most C compilers. This allows users writing embedded applications (those that do not use DOS, such as programs placed in a ROM) to isolate and write their own implementations of these nonportable functions. High-C also has a flexible system for interfacing to other languages and libraries. The pragma statement can be used to tell the compiler which inter¬ face an external module has, including call by value (C standard), call by refer¬ ence, and called function pops argu¬ ments. This feature should allow High-C to interface with most aftermarket C li¬ braries. The manual states that by using the external interface pragmas, High-C can call Professional Pascal and assem¬ bly language modules, and it provides examples for doing so. High-C is weak in its PC-specific library functions. Only the most basic level of access, interrupt calls and basic file I/O, is supported. Higher-level graphics or directory functions must be written by the user or accessed through an aftermarket library. The documentation for High-C is summarized in table 3. The High-C manual’s loose-leaf binder contains far more pages than it can hold success¬ fully. The documentation is divided into an installation guide, a programmer’s reference section, a library reference, and a language reference. Content is complete, but very tech¬ nical in the best (or worst) UNIX tradi¬ tion. Its strong points are the installa¬ tion guide and language description, which are particularly accurate. The li¬ brary reference and interfacing sections are its weak points. Sample programs and some library source code is in¬ cluded and is well commented. Benchmark results are given in ta¬ ble 4. As the benchmarks show, compi- Soft Rite » LANbasic! Soft*Rite announces a Superior three-part programmer’s tool. Microsoft BASIC™ compatible in every place that counts.

    LANscreen LANbasic LANdbase LANscreen makes the burden of defin¬ ing your database record structures one that you will look forward to instead of dread. Standard fields and types such as “Money”, “Telephone” and “Date” are one keystroke to generate. As many as 255 database structures can be related to a single screen! Segmented data input can be done automatically by edit¬ ing the field display. Part numbers with spaces or dashes and slashes are auto¬ matically parsed down to the essential raw data. Definable Upper and Lower limits for numeric inputs along with ACCEPT/EXCEPT input filters are stand¬ ard features. Screen Mask generation is done with a “freestroke” approach. You may put mask elements and data input/output cells wherever you wish. COLOR them too! EGA support too! ‘Drivers Installed for IBM PC-NET/MS-NET LANbasic is your own personal solution to powerfull data manipulation. How many times have you got excited over some new “total" database package only to find out (after spending a fair amount of time and money) that you were stuck in some corner, unable to do some function that has become standard in “In Business for Bloney’s” Basic? The manual is 400 pages long, so we cannot fully describe all the features, but here are a few in ADDITION to the ones you are now used to: ★ COMDATAS 14 common areas ALWAYS available to inside or outside, chained or linked programs ★ Re-assignable printer ports LPT1 -LPT4 ★ Generic filename use that allows file and database locations to be re¬ defined outside of basic in a user-created REDIRECTOR file, to ease multi-user system configuation ★ USESCREEN,<1-16> ★ SCREENINPUT, ★ SCREENOUT- PUT, ★ OPENDB,< remote or local database manager > ★ DBGET, ★ DBPUT, LANdbase is the home for your data. LANbasic calls are coupled to LANd¬ base via network comunications (PCnet or ?). A single keyvalue and function number will return a record. Multiuser record locking is handled by simply put¬ ting an ‘X’ after the read call. (i.e. RDDBEQUX,< argument>. Automatic “health checking” to warn you of poor hardware performance and lost or frag¬ mented data. “Paranoid” mode of opera¬ tion where files not accessed for some time will be closed and reopened to flush buffers and insure integrity. Pass¬ word, Userlevel and Data encryption functions. Several DBM’s can be installed in the network system to improve performance and reliability. Tog¬ gle mode screen (printer) reporting to record log-on or other access activites. | Bill Fairman’s tried and proven true C- Tree(c) data management product. j Soft*Rite Multi-User Programming Tools 15381 Chemical Lane, Huntington Beach, CA. 92649 (714) 898-0525 CIRCLE NO. 186 ON READER SERVICE CARD 184 PC TECH JOURNAL TABLE 4: Benchmarks COMPILE TIMES 60-line file 150-line file 500-line file 58.6 79.0 64.2 LINK TIMES 1 object file 6 object files 53.4 59.5 PROGRAM SIZES (bytes) Eratosthenes sieve Pentathlon 24,176 26,016 GENERAL OPERATIONS (small/large model) Function calls (Fibonacci) 21.8/ 28.2 Integer arithmetic Long arithmetic Subscripts (character count) 30.3/ 30.3 98.5/100.5 22.3/ 24.9 Pointer use (string copy) With register variables Eratosthenes sieve With register variables 36.4/ 42.9 32.9/ 43.0 20.7/ 20.7 18.2/ 18.8 FILE I/O (small/large model) ReadAvrite Diskette to diskette Hard disk to hard disk 6.5/ 6.3 3.1/ 3.0 Getc/putc Diskette to diskette Hard disk to hard disk 3.5/ 3.4 4.3/ 4.3 FLOATING POINT OPERATIONS (small/large model) Add/multiply (dot product) Exp/log Sin/tan (trig functions) 49.2/ 62.8 65.0/ 77.6 62.5/ 75.4 All times are in seconds. Benchmarks were run on an IBM PC/XT with 640KB, 20MB hard disk, DOS 2.1, and no 8087 numeric coprocessor. 'These features can be com¬ pared with those for other C compilers in table 4 in "The State of C, ” (William J. Hunt, January 1986, p. 90). See also table 4 in Marty Franz's Product Watch revieivs of WJjitesmitb ’s C Compiler (June 1986, p. 205), Let’s C (August 1986, p. 179), and MIX C (September 1986, p. 193). Although it is a bit slow in compila¬ tion, High-C is among the fastest of the C compilers in the speed of the compiled programs that it produces. lation times are slower than average— probably because the compiler per¬ forms a great deal of optimization on the program prior to generating code. Once the compiler finishes, howev¬ er, the object code it produces is faster than the compilers reviewed in “The State of C” (William J. Hunt, January 1986, p. 82). The .EXE files were larger than average, but their size had not been reduced by pragma statements (a size/speed compilation option is avail¬ able) or by linking with smaller ver¬ sions of the library without floating¬ point formatted output in them. Only one problem marred an otherwise excellent benchmark per¬ formance by High-C; when compiling the AUTO6.C source file, the compiler’s optimizer removed several statements containing a variable that was assigned but never referenced within the mod¬ ule. Later, the code generator generated a system error trying to generate code for the removed statements. Inserting a dummy reference to the offending vari¬ able solved the problem. A final feature of High-C is the MetaWare arrangement with Plum Hall to provide training seminars to High-C users at a reduced price. This further demonstrates MetaWare’s commitment to supporting technical users. MetaWare’s High-C is a powerful, full-featured C compiler well worth consideration by users who undertake large development projects. liiiimmiitel —MARTY FRANZ 9 Track Tape Answers for • 9 Track tape support for personal computers • XENIX and MS-DOS support • A standard data interchange medium for government and industry Virtually all business mainframe and mini systems already have 160D BPI V 2 ' 1 9 track tape. The Tape Linx subsystem provides the necessary connection for PG users. Tape Linx moves most data base information from mainframes and translates it automatically into a format readable by the PC. Software reads mainframe data in a variety of formats. Tape Linx can also transfer data to data base programs like dBASE III. The Tape Linx package includes FLASHBAK™, a high-speed, file- oriented tape back-up utility. It offers a window-oriented user interface featuring pull-down menus and single keystroke commands. Overland Data’s professional technical staff provides telephone support for all ODI products, and will be happy to discuss your specific application requirements. Call today. Overland Data, Inc. Answers on Tape 5644 Kearny Mesa Road San Diego, CA 92111 (619) 571-5555 754923 OVERLAND XENIX and MS-DOS are Registered Trademarks of Microsoft Corp. CIRCLE NO. 185 ON READER SERVICE CARD FEBRUARY 1987 185 Release the Power of Fortran, C and Pascal A library of over 120 Assembler routines transforms FORTRAN, Pascal and C language compilers into a flexible, responsive language for the microcomputer environment. Existing mainframe code may be converted with ease, sav¬ ing time and money. With the powerful Assembler sub¬ routines of NO LIMIT ™, mainframe users can fully realize the advantages of microcomputer technology. • Complete Communications • File/Directory Management • Full Screen/Keyboard Control • Extensive Graphics Applications • Character/String Manipulation • System Information • And much more! NO LIMIT” is available for $ 129. with no license fee, and supports MS/FORTRAN/Pascal/C, IBM Professional, Ryan-McFarland, and Lahey F77L compilers. MEF Environmental, Inc. P.O. Box 26537 Austin, Texas 78755 512/251'5543 ©Trademark of Microsoft. Inc.. IBM Corporation. Ryan-McFarland and Lahey. Inc., respectively. QuickBASIC just got quicker with

    QuickPak QuickPak is a superb collection of enhancements, subroutines, and instructional material designed to help you get the most out of pro¬ gramming in BASIC. ■ Powerful assembly language routines to give your programs more speed, more power, and full access to DOS and BIOS services. SORT all or part of a string array with one command! Complete windowing capability — display help screens instantly, overlay text. FIND any string or sub-string within an entire array regard¬ less of capitalization — accepts wildcards. READ directories into your programs from any drive or path. READ/WRITE disk sectors — create your own DOS utilities! _ „'71 MANY, many more programs | | ■ Professionally written QuickBASIC | routines and functions. Powerful input routines for text, l dates, and numbers. Menus, / scroll bars, date/time functions, 1 ov and much more. I “ ?:=r 7fip- ■ The Assembly Tutor — a complete I guide to learning assembly language u from a BASIC perspective. Learn how to create your own routines and extensions. ■ Tips and Tricks book — packed with clever ideas and techniques to help you be a better programmer. You get all this, all of the source code for every program included , and a thirty-day money back guarantee for ; only S69.00. No royalties are required for using any of the QuickPak routines in your pro¬ grams. Not copy protected, of course. L I CRESCENT SOFTWARE / 64 Fort Point Street, East Norwalk, CT 06855 J (203) 846-2500 QuickPak requires Microsoft QuickBASIC or BASC0M, DOS 2.0 or higher. Visa, M/C, C.O.D., or checks accepted. CIRCLE NO. 133 ON READER SERVICE CARD CIRCLE NO. 145 ON READER SERVICE CARD Serial Card EXTENDS SPEED AND FLEXIDIUTY OF PC APPLICATIONS improved 8-channel ACL™ serial card now offers the option of RS422 and RS485 compatibility. The new card provides all the standard ACL “smart card” features... flexible address decoding, program¬ mable interrupts, expandable options via software, and the ability to download custom [programs... now the ability to operate over greater distances and speeds of RS422 applications. In addition, the new card enables PCs to interface with industrial process controls via RS485 links. Call for free literature that explains how the improved

    ACL Serial Card can t expand your PC’s multiuser CIRCLE NO. 177 ON READER SERVICE CARD VT100/VT52 & Tektronix™ 4010/4014 Terminal Emulator Excellent emulation and the features you want: use 4096 x 3120 resolution -> 18 User-definable keys pan, and window plots -► capture plots and text on disk

    solution printer dumps -♦ full or half duplex e text and plot color -» access to DOS commands : er files with -» all VT100 keypad commands W and Kermit protocols -♦ command line editing last 4 pages of text -• fast direct screen access ilumn VT100 capability -» password security VTEK makes your PC better than a terminal ■ zoom, pan, and window plots - high resolution printer dumps

    -» choose text and plot color

    transfer files with XMODEM and Kermit protocols ■ scroll last 4 pages of text 132 column VT100 capability S150 from Scientific Endeavors Publication Quality Graphics for Scientific and Technical Applications - linear, log, & polar plots - multiple levels of •“g ar scripts -> bar charts & Smith charts - 4096 x 3120 resolution •» contour plots with labels -♦ zoom, pan, window plots - 3-D curves, 3-D surfaces > multiple plot3 on a page with hidden line removal -■ high resolution printer

    -> 4 curve types, 8 markers dumps, full or half page -♦ 14 fonts, font editor -* plotter support in COLOR 16 color plots on EGA, Sigma, TeleVideo & Tecmar boards Over 100 routines can be called by your C program. $350. Demo $8. SOURCE INCLUDED for private use only. For DeSmet, C-86, Aztec, Lattice, and Microsoft C compilers. Scientific Endeavors Route 4, Box 79; Kingston, TN 37763 [615] 376-4146 For 256k IBM and Corona PCs. DOS 2.xx,3.xx. ujfrffJj sQvyYY] Epson, Okidoto, Toshiba, C. Itoh printers. ^y I Hewlett Packard, Houston, Sweet-P plotters. Corona Laser printer. IBM, IBM EGA, Sigma, TeleVideo, Tecmar, Hercules, Corona graphics, compatible assembler is required.

    THIS AD WAS MADE USING Graphic" CIRCLE NO. 187 ON READER SERVICE CARD FEBRUARY 1987 EXPERT CONSULTANT: HUMAN FACTORS HENRY F.LEDGARD Three Misconceptions Although they may be unspoken or subconsicous, some deeply rooted misconceptions affect the way software designers think about human factors. W hen the topic human factors is mentioned, some mental response comes to mind. Consider this list:
  • Easy-to-read, messages
  • Good on-line help
  • Icon and windows
  • Using a mouse
  • Simplicity

    Item 1 is the response for many people. Certainly, readable messages are a part of human engineering. But are they a large part? No. This is precisely what is wrong with item 1 as a response. To think about human factors in this way is a rather deeply rooted misconception. Ah, you say, do not be foolish. No one would give the definition: “Human factors is the study of writing clear mes¬ sages.” I agree. But the point is our misconceptions are more subtle. They affect our attitude, our work. People who relate to item number 1 are likely to think of human factors as window dressing, an add-on to development; on the other hand, they will probably not articulate this view. This is probably a consequence of being in a field that is considered “motherhood and apple pie.” No one is against human factors or supports poor human factors. Accordingly, we in the field have a different task. It is not to convince people of the importance of human factors, but to define what hu¬ man factors are and uncover some of the many unspoken and deeply rooted misconceptions. You can say that “many believe, but few go to church.” Here is my list of misconceptions. • The primary goal is to help novices. • Users will feel comfortable with subsets. • Human engineering is not particularly a technical matter. I believe that there are many users, engineers, and designers who (private¬ ly, perhaps subconsciously) hold such views. The misconceptions are largely unspoken; they reflect a set of estab¬ lished attitudes. The primary goal is to help novices. When designing systems, designers often ask how Charlie, the novice, would cope with it. When they document the sys¬ tem, try to write manuals, provide on¬ line help, or introduce special keys, the novice is kept in mind. A consequence of this attitude is that, subconsciously, we think of human factors as babying the user. As an aside, notice a looming contradiction—the system evolves toward greater complex¬ ity, yet we add even more complexity (on-line help, special features) to help the novice. Moreover, the real work¬ horse systems, which are not particu¬ larly meant for novices, can have the worst human factors. The marketplace is alive with many different computer systems: electronic mail networks, word processors, appli¬ cation packages, and implementations of computer languages. The people who use these systems are not primarily novices. When a new system is intro¬ duced, those who encounter it are cer¬ tainly first-time users of that new sys¬ tem, but most of them have probably had experience with other systems and similar pieces of software. Therefore, they will be transferring their skills from a previous experience to a new one; in other words, they can be called transfer users (see Good et. al., ’’Build¬ ing a User-Derived Interface,” Commu¬ nications of the ACM , October 1984). Charlie the transfer user would undoubtedly be able to apply his knowledge of his own word processing system to a new one. His concerns as a transfer user would be substantially dif¬ ferent from those of Charlie the novice. Transfer users are familiar with automa¬ tion, command languages, and screen layouts. They know many of the small details that are needed in using a sys¬ tem: how to use special keys, invoke a command, or save work. Table 1 out¬ lines the differences between the nov¬ ice and the transfer user. Even the true novice may not re¬ main a novice very long. Often, people are taken with the novelty and chal¬ lenge. They become “experts” in a short period of time, even when com¬ plexity interferes with useful work. The point is that spreadsheet or compiler, novice or expert, the human factors in day-to-day usage are the is¬ sues that really count. Users will be comfortable with subsets. The popular wisdom is that small systems are desirable. Nonetheless, systems have a tendency to grow. When a system de¬ sign begins to snowball, by its own mo¬ mentum the. subset idea becomes in¬ creasingly attractive. The subset idea is simple—users will pick and choose FEBRUARY 1987 187 ILLUSTRATION • MACIEK ALBRECHT EXPERT CONSULTANT: HUMAN FACTORS TABLE 1: Differences between Users THE NOVICE THE TRANSFER USER Is unsure of automation Needs encouragement Develops skill slowly Needs gentle documentation Is hesitant with new combinations Knows what automation is Wants to get work done Becomes skilled rapidly Needs a good reference manual Thrives on technical consistency One misconception is that products must be designed for novices. Most users are transfer users. Even novices become experts in a short time. their own features, eventually establish a reasonable selection, and then will be comfortable with it. So what is wrong with large systems anyway? Many arguments are lodged against large scale in computer systems. Some of them have to do with cost. Others have to do with documentation and the difficulty of implementing large systems. Users should question every feature in a system. They may not need so many options if the system does the simple tasks it is designed to do, and does them well. Nevertheless, what is really wrong with the subset idea from the user’s point of view? Using a system well requires docu¬ mentation. A system that is larger than required forces the user to face a docu¬ ment describing many features that are irrelevant to the problem at hand. As I noted in my first article in this column (see “Computer Attitudes,” November 1986, p. 193), Charlie had no use for a magic debugging tool when he was learning his new word processing sys¬ tem. Irrelevant information intimidated him. He might well have muttered: “Oh, Lord! Thy system is so big, and Thy user, so small.” Moreover, the larger the system the more likely that the documentation will be inadequate. Manuals tend to be pieced together under increasing pres¬ sure. The examples become sterile; the text uninteresting. The documentation DOUBLE YOUR STORAGE CAPACITY The new PERSTOR 200 Series Double Capacity Controllers increase the storage capacity of your ST506/412 Win¬ chester hard disks by 90% or more. Advanced RLL encoding technology is used to increase data transfer rate to 9 and 10 megabits per second, and a 56 bit error correction code is used to assure data integrity. What’s more, it works with both RLL and MFM drives with plated or oxide media* To place an order or become a dealer call (602) 948-7313. £>ERSTOR Sensible solutions for your hard disk problems. Systems and Software, Inc. 7825 East Redfield Road Scottsdale, Arizona 85260 can deteriorate into nothing more than the reports of one engineer to another. The result is a general loss of quality. No designer can predict which part of a system a user will be using. Any system responses, help frames, or menus can only force upon the user in¬ formation about unknown topics. Some operations, such as program configura¬ tions or hie options, may be barely understood. The user may get lost tak¬ ing an unknown option and wind up in a dead end, not knowing whether to re¬ cover or begin again. When the user is on the right track, the system is less likely to give the kinds of specific infor¬ mation that the user really needs. Users feel most comfortable when they understand everything they see: the menus, the icons, the commands, the options, and the messages. They find themselves at ease when they be¬ lieve they are in complete control. It is similar to feeling comfortable driving your own car rather than somebody else’s. When the driver understands all the controls and is able to use them confidently, driving is safer, easier, and certainly less stressful. That is why Char¬ lie eschewed templates pasted on his keyboard—he wanted his fingers to move around the keys without having to think about it. The substantive question here is: Why can’t users simply find their own subsets and function there conven¬ iently? In response, I need to ask more questions: Whose subset? How do I get the document for the subset that 1 use? How can I disregard instructions on the screen that are of no relevance? What about my specific needs? Can I grow with the system or must I grope with it? Can I be sure that the subset I am using is the optimum one? Am I ignorant of more efficient ways to do what I am currently doing? If I am not comfortable with a sub¬ set, I will want to learn more until I am satisfied that I understand the system as well as I can. If I cannot do this, if I finally give up exploring, I will reluc¬ tantly hold on to my subset but with a feeling of misgiving. Is this what human engineering is all about? If this is so, the system will always seem to be bigger than I am, and my subset is just a myth. Human engineering is not particularly a tech¬ nical matter. Few human factors special¬ ists would agree with this statement, but my guess is that some system develop¬ ers secretly believe it. Some liken hu¬ man factors to making system messages more pleasing for the user to read. 188

    call for specific drives. CIRCLE NO. 231 ON READER SERVICE CARD PC TECH JOURNAL GET PC/XT HEADACHE RELIEF. FORTRAN PROGRAMMERS Looking for the right PC FORTRAN language system? If you're serious about your FORTRAN programming then you should be using F77L - LAHEY FORTRAN. "Lahey's F77L FORTRAN is the compiler of choice, it's definitely a 'Programmers FORTRAN ' ' w/r/7 features to aid both the casual and the professional programmer... F77L compiled the five files in a total of 12 minutes, which was 4 times as fast as MS FORTRAN and an astounding 6 times as fast as Pro FORTRAN" - PC Magazine Compare the features and performance of other PC FORTRANs with F77L and you will find that F77L is clearly the superior product. Full Fortran 77 Standard (F77L is not a subset) • Popular Extensions for easy porting of mini • and mainframe applications COMPLEX 16, LOGICAL*! and INTEGER*2 • Recursion - allocates local variables on • the stack • IEEE - Standard Floating Point Long variable names - 31 characters • i IMPLICIT NONE • NEW FEATURE -/ Fast Compile - Increases productivity Source On Line Debugger (Advanced features without recompiling) Arrays and Commons greater than 64 K Clear and Precise English Diagnostics Compatibility with Popular 3rd Party Software (i.e. Lattice C) Easy to use manual Technical Support from LCS F77L - THE PROGRAMMER S FORTRAN $477.00 U.S. System Requirements: MS-DOS or PC-DOS, 256K, math coprocessor (8087/80287) FOR MORE INFORMATION: 1702 ) 831 -2500_ B 1 Lahey Computer Systems, Inc. international Dealers: ) P.O.Box 6091 England: Grey Matter Ltd., Tel: (0364) 53499 Incline Village, NV 89450 Denmark: Ravenholm Computing, Tel: (02) 887249 | ' Australia: Computer Transitions, Tel: (03) 537-2786 Japan: Microsoftware, Inc., Tel: (03) 813-8222 SERVING THE FORTRAN COMMUNITY SINCE 1967 MS-DOS & MS FORTRAN are trademarks of Microsoft Corporation.Pro FORTRAN refers to Professional FORTRAN a trademark of International Business Machines. Editor's Choice
  • PC Magazine CIRCLE NO. 128 ON READER SERVICE CARD Take one WELTEC floppy drive and upgrade your PC or XT to AT capacity-without changing your controller card. Is your mix of IBM PC’s and XT’s giving you an MIS headache? Get rid of it fast with our versatile 514" half-height flexible disk drive. • 1.2 Mb formatted capacity • No additional controller card needed • Brushless direct-drive motor with 30,000 MTBF IBM'“ PC, XT and AT are trademarks of International Business Machines Corp. 17875 Sky Park North, Suite P, Irvine, CA 92714 • Full interchange of diskettes between IBM AT and PC or XT as well as most IBM compatible systems • Internal or external configurations • ANSI and industry interface compatibility Get relief now! Call 714/250-1959 VAD and VAR inquiries invited E3 WELTEC digital, inc. FEBRUARY 1987 CIRCLE NO. 243 ON READER SERVICE CARD 189 UNIX TOOLS FOR YOUR PC PCIVI UNIX’s VI Editor Now Available For Your PC! Are you being as productive as you can be with your computer? An editor should be a tool, not an obstacle to getting the job done. Increase your productivity today by choosing PC/VI — a COMPLETE implementation of UNIX* VI version 3.9 (as provided with System V Release 2). PC/VI is an implementation of the most powerful and most widely used full-screen editor available under the UNIX operating system. The following is only a hint of the power behind PC/VI: • Global search or search and replace using regular expressions • Full undo capability • Deletions, changes and cursor positioning on character, word, line, sentence, paragraph, section or global basis • Editing of files larger than available memory • Shell escapes to DOS • Copying and moving text • Macros and \Aford abbreviations • Auto-indent and Showmatch • MUCH, MUCH MORE! , Don’t take it from us. Here’s what some of our customers say: “Just what I was looking for!’’, “It’s great!”, “Just like the real VI!’’. "The documentation is so good I have already learned things about VI that I never knew before." — IEEE Software , September 1986. PC/VI is available for IBM-PC’s and generic MS-DOSt systems for only 8149. Included are CTAGS and SPLIT utilities, TERMCAP function library, and an IBM-PC specific version which enhances performance by as much as TEN FOLD! PC/TOOLS What makes UNIX so powerful? Sleek, Fast, and POWERFUL utilities! UNIX gives the user not dozens, but hundreds of tools. These tools were designed and have been continually enhanced over the last fifteen years! Now the most powerful and popular of these are available for your PC! Each is a complete implementation of the UNIX program. Open up our toolbox and find: • BFS • DIFFH • OD • STRINGS • CAL • DIFF3 .PR • TAIL • CUT • GREP . SED • WC • DIFF • HEAD • SEE All of these for only $49.00: naturally, extensive documentation is included! PC/SPELL Why settle for a spelling checker which can only compare words against its limited dictionary database when PC/SPELL is now available? PC/SPELL is a complete implementation of the UNIX spelling checker, renowned for its understanding of the rules of English! PC/SPELL determines if a word is correctly spelled by not only checking its database, but also by testing such transformations as pluralization and the addition and deletion of prefixes and suffixes. For only $49.00, PC/SPELL is the first and last spelling checker you will ever need! Buy PC/VI and PC/TOOLS now and get PC/SPELL for only $1.00! Site licenses are available. Dealer inquiries invited. MA residents add 5% sales tax. AMEX, MC and Visa accepted without surcharge. Thirty day money back guarantee if not satisfied! Available in 8", 5 Va" and SW' disk formats. For more information call today! •UNIX is ;i inulrutark nl ATttT *MS IX>S Is a trademark «»l Mtcrosofl. CUSTOM SOFTWARE SYSTEMS P.O. BOX 678 • NATICK, MA 01760 617 • 653 • 2555 CIRCLE NO. 261 ON READER SERVICE CARD EXPERT CONSULTANT _ If human factors are important, they should be a concern from the be¬ ginning to the end of the software life cycle. Even when the requirements for a proposed system are being sketched, human factors arise quickly. Question¬ ing the need for features, scaling down the requirements, and looking for clean technical solutions that will meet the needs of the user—these have implica¬ tions for human factors. In developing a good technical de¬ sign, the designer should consider such questions as: Are so many special-pur¬ pose keys really necessary? How should commands or menus be organized? How should screen management work? What notations should be used? When the design is started, conflict¬ ing principles may have to be resolved. Perhaps some experiments may need to be run in order to test competing ideas. Data can be gathered on an existing sys¬ tem to see which features are the most confusing. If an on-line help system cannot be developed in a reasonable manner, perhaps the matter should be dropped and other avenues of user training explored. For example, cursor movement, file management, and com¬ mand language principles must be dis¬ cussed and implemented as an integral part of human factors. Let us suppose we are designing a new system for compiling, running, and testing programs. Suppose we have identified 200 or so functions (com¬ mands, options, features, etc.). Some typical functions might be: put the com¬ piler output in a file; recompile a single module; set a breakpoint; display the value of an expression. Consider these questions: • What is a good syntax model? • Do options have consistent syntax? • Which are commands versus sub¬ commands? • Which features can be arranged into sensible groups? • Should commands be combined? • Should all options have a default? • Can features be grouped under a sin¬ gle option? These are technical issues that directly affect the user, ease of learning, recall, and documentation. Human engineering is not some¬ thing that can be grafted on to an exist¬ ing system. It is the fiber of technical development. Imiiiffunffil Henry F. Ledgard is a private consultant, specializing in software engineering audits, and education as well as human factors. He holds a Ph.D. from MIT. 190 PC TECH JOURNAL ;m= INTERACTIVE MICROWARE '111 1 1986 IBM'PC CATALOG COMPOS gssff

    EBEta&if

    oL 5 f Dlef£ ornp* ete ’r^graphy * J S=S^.'5SSjA-5S SSS&Ss& , Sf ! -ea tA 8 B «!$ IBM 48 PAGES 94 PRODUCTS / IBM is a j registered trademark of I International Business Machines Corp; Apple is a registered trademark of Apple Computer, Inc. APPLE 64 PAGES 264 PRODUCTS INTERACTIVE MICROWARE, INC. POB 139, Dept. 237, State College, PA 16804 Phone: (814) 238-8294 • Telex 705250 9-TRACK MAG. TAPE SUBSYSTEM FOR THE IBM PC /XT/AT AND... For information interchange, backup and archival storage, IBEX offers a 9-track, IBM format-compatible V 2 " magnetic tape subsystem for the IBM PC, featuring: ■ IBM format 1600/3200 and 800 cpi. ■ Software for PC-DOS, MS-DOS. ■ Also for DEC, VAX, VME, S-100, RS-232, IEEE 488. Write, phone or TWX for information. IBEX COMPUTER CORR 20741 Marilla St. Chatsworth, CA 91311 (818) 709-8100 TWX: 910-493-2071 CIRCLE READER SERVICE NO. 208 FOR IBM, NO. 209 FOR APPLE DeSmet C execution profiler included DeSmet C Compiler* still $109 The professional's choice for fast compilation and execution. Includes Compiler, Assembler, Binder, Librarian, and Full Screen Editor (SEE tm ). Execution Profiler reports by address, procedure name or line number. Supports both disk and memory resident Overlays. Contains both 8087 and Software floating point support. Full STDIO library. With D88 Debugger Option .$159 Gain most of the benefits of an interpreter while losing none of the run-time speed of the C88 compiler. Display C source and variable contents during execution. Set breakpoints by function name or line number. Examine and set variables by name using C expressions. With Large Case Option and D88 $209 Makes a great C Compiler even better. Adds 32-Bit Pointers to C88 so you can utilize all of your PC. Groups scalar and static data for fast access. *D88 & Large Case Options available as add-ons. C Ware Corporation 505 W. Olive, Suite 767, Sunnyvale, CA 94086 U.S.A. (408) 720-9696 — Telex: 358185 We accept VISA, MasterCard & American Express CIRCLE NO. 149 ON READER SERVICE CARD Modula-2 IBM PC/DOS Native Code Compiler This is a full implementation of Niklaus Wirth’s Modula-2 language. Our product is not an interpreter, but a true 8086 compiler, using state-of-the art techniques. A Unix-like "make" utility is included which provides automatic recom¬ pilation of modified source programs. The code generator produces object module input for the DOS link utility. You may combine your Modula-2 pro¬ grams with code from other languages such as Assembler. The software also operates on PC compatibles using MS/DOS. All the run time source code is included. None of the software is copy protected, and is fully supported and maintained by farbware. No royalties are charged for the use of the run time object. A complete and comprehensive reference manual is included in the purchase price. The manual is available separately for $25.00. Site licenses and quantity discounts are available. $89.95 Complete farbware 1329 Gregory Wilmette, IL 60091 (312) 251-5310 Master Card and Visa Accepted CIRCLE NO. 117 ON READER SERVICE CARD FEBRUARY 1987 191 15 SUCCESS MANUALS that could solve vour money problems once and for §11! FASTEST, EASIEST... PROVEN PROFITABLE BUSINESSES YOU CAN QUICKLY START AND OPERATE FROM HOME WITH LOW OR NO CAPITAL.. .PART TIME OR FULL TIME... \ No experience required ... Nothing complicated to study ... Strictly legal and honest ... Each beginners Success Manual is Guaranteed to teach you everything you need to know to succeed fast! The perfect answer for ambitious men and women .
  • FIFTY QUICK, EASY AND MOST UNUSUAL WAYS TO POCKET “GIANT DOLLARS!” Here’s your chance to discover how so many folks miss out on numerous opportunities to pull in some big, fast cash. A most unique money-opportunity book which quickly shows you how just ordinary men and women from all walks of life are building spare time and full time fortunes; plus home businesses, money secrets, wealth-building methods, out-of-the-ordinary plans and odd blue prints to success, plus more, (only $3.95)
  • HOW TO STACK UP HUGE MAIL ORDER PROFITS - HAND OVER FIST WITHOUT BREAKING YOUR BACK (OR RISKING AN ARM OR A LEG) Shows you how to immediately set up — and get your operation off to a smooth flying start. Quickly teaches you short cut mail order fundamentals from A to Z. Crammed with Insider “tricks of the trade” and revealing “money getting gimmicks.” Imagine yourself receiving envelopes containing hundreds of dollars or more a day every day—that’s the potential of mail order, (only $6.95)
  • HOW TO SEW YOUR WAY TO PRETTY PROFITS FAST! It's a fact that millions of women (and men, too) own their own sewing machines... and truly enjoy sewing. This peculiarly profitable book clearly demonstrates to them how to, virtually, turn their sewing machines into money making machines ... and take fast and full advantage of today’s most promising market conditions. Especially —considering the present sky-high prices, (only $6.95) 4 HOW TO TURN YOUR TELEPHONE INTO A MONEY MAKING MACHINE: Right now your phone is only costing you money — but if you knew how to make it work for you, it could be making you money. Many people have heard about men and women making handsome incomes, via their telephone. But only a few people know exactly how it’s done. Complete easy-to-follow instructions, (only $6.95)
  • HOW TO EARN A FISTFUL OF MONEY WITH NEWPAPER CLIPPINGS: Imagine, earning good money by clipping articles from newspapers? This unusual book instructs you in straight- to-the-point, how-to-information. Fast starting operation by mail on a tiny shoestring capital. Unusual way to earn $50, $100, $300 or more, weekly. Ideal for ambitious Homeworkers, spare-time or full, (only $6.95)
  • HOW REAL ESTATE CAN MAKE YOU A FORTUNE... USING OTHER “FOLKS MONEY:” Real estate has produced more millionaires than any other field. The plans inside this amazing fast, fortune¬ building book tells why and how, in easy-ABC fashion; learn how to let other folks money work for you; speculate in raw land and get back $5 for every $1 you put in; rake in huge profits on Uncle Sam’s losses; set up a nice income for yourself and your family with little or no investment, (only $6.95)
  • WORK-AT-HOME SUCCESS GUIDE (For Men and Women) Time and time again — successful spare time and full time businesses are made with out-of-the-ordinary methods; off beat money making ideas, prosperous home enterprises. Shows how plain every day folks from all walks of life can stack up good money. Here’s your opportunity to go after incredible wealth, (only $6.95)
  • AMAZING MONEY MAKING TREASURY OF 1 & 2 INGREDIENT FORMULAS THAT COULD PUT YOU ON EASY STREET This startling opportunity book places the little “beginner” operator with tiny capital in a most profitable position to manufacture sellable products. All prepara¬ tions require no more than two chemicals, many just one. All represent a popular best-seller kind of product with both genuine merit and wide sales appeal. No expensive equipment or facilities required. You can almost always pack everything from your kitchen, (only $6.95)
  • WORLD’S EASIEST MOST PROFITABLE MAIL ORDER BUSINESS... A relatively uncrowded business that any man or woman can enter regardless of age. Book shows you how to start small, with ‘piggy bank’ capital and grow prosperous year after year. Reveals the surest, most profitable and safest items to sell by mail. Crammed with all the precious, easy-to-understand details, (only $6.95)
  • TWELVE SIMPLE LITTLE-KNOWN WAYS TO MAKE BIG MONEY FAST! An amazing book that clearly reveals a dozen ways men and women could pocket some real fast cash profits — if they only knew the right wealth building moves to make. This book quickly teaches you all the necessary moves, shows you exactly how and what to do to help assure your success, (only $6.95) HOW TO SIT SACK AND RAKE IN A BUNDLE SELLINO BOOKS BT MAIL HOW TO WIN BIO CASH AND VALUABLE PRIZES — CONTESTS WITHOUT 8REAKIH0 TOUR BACK f OR RISKING AN ARM 0ft A LCGJ BIO EAST FULL TIME AND PART TINE PROFITS FOR WOMEN EASIEST AND FASTEST WAT TO START A SUCCE88FUL MAIL ORDER BUSINESS ON A SHOESTRING HOW TO SEE THE WORLD . . TRAVEL AND GET PAID WELL FOR IT fifty quick, east ano MOST 11. HOW TO SIT BACK AND RAKE IN A BUNDLE POC«T-OlAMT DOLLAR ST SELLING BOOKS BY MAIL: Practically all mail order experts agree that absolutely nothing sells better by mail than books... and there’s _ . nothing that sells easier than books. Better yet — you T stand to make bigger and faster net profits from selling books by mail than you could realize on any other items. You will be shown everything from A to Z. (only $6.95)
  • HOW TO WIN BIG CASH AND VALUABLE

    r to stack up huqe " PRIZES CONTESTS: This unique book quickly shows you all the important 1 < ?o5^53'2n y 2r£ inside Melts. Opportunity to win national and local con- malmo, tests again and again. Cash, cars, homes, appliances, s ~ furs and vacations... No other publication on the

    market exactly like it. (only $6.95) m 13. BIG FAST FULL TIME AND PART TIME PROFITS FOR WOMEN: This book is a remarkable treasury of unique but common —-< sense, easy to operate Little "big” money making
  • businesses for many millions of today’s serious and m? profit* fa*V 0 enterprising women interested in fabulous earnings, § independence and security. Little or no investment and fast starting full- and part-time income increasing activities, (only $6.95) x 14 EASIEST AND FASTEST WAY TO START A SUC- /(T WU CESSFUL MAIL ORDER BUSINESS ON A SHOESTRING: Simple, and most effective, step-by-step mail order start- up and operating instructions written especially for ' " beginners. Crammed with vital facts... Covers every -aspect of this exciting big money field, (only $6.95)
  • HOW TO SEE THE WORLD ... TRAVEL AND GET PAID WELL FOR IT: Everyone enjoys traveling. But most people cannot Kik afford to travel to those far away places they dreamed /V /7v\ of visiting. Here’s your chance to take In the wonderful y// sights throughout the world — and actually get paid ffyW for doing it. Yes, it’s truly possible that this little known strictly legal method could provide you with the information for doing it. (only $6.95) Everyone of the 15 Manuals’ home-based businesses, can be successfully operated, by a single person, retirees, unemployed people — most ideal for husband/wife teams — and can be, almost, instantly turned into an enterprising family operated business, kids can help too. With everyone pitching in ... your business could suddenly take off, and profits could increase fast! So, be sure to keep in mind that: Even though, it’s true — some good money could be made with just a single one of these start-up success manuals working for you... but, much better than that, you could give yourself a greater opportunity to make your profits multiply much faster, by simply putting together a super powerful profitable combination of five, ten, or more of these fifteen — fastest, easiest... proven profitable businesses out of over a thousand in our files. Imagine having them all operating, and bringing in big hefty profits for you, at the same time! But you must send your order in right away. Supplies are extemely limited at these special introductory low prices! Buy Any 2 to 5 SUCCESS MANUAL And Get Free! Any One Of The Three LIMITED EDITIONS Below, or Buy Any 6 to 10 SUCCESS MANUALS And Get Free! Any Tivo Of The Three Below, or Buy Any 11 to 15 SUCCESS MANUALS And Get Free! All Three Below. HOW REAL ESTATE CAN MAKE YOU A FORTUNE... U8JNO OTHER "FOLKS THE AMAZING HOME WORKER'S WORK-AT-HOME SUCCESS GUIDE INGREDIENT FORMULAS THAT COULD PUT YOU ON EASY STREET HOW TO OU1CKLY WIPE OUT ALL TOUR OEBTS AND TURN BAD CREOIT RATING INTO GOOD HOW TO RETIRE YOUNG ANO LIVE LUXURIOUSLY ON VERY LITTLE MONEY TWELVE SIMPLE LITTLE-KNOWN I WAYS TO MAKE I BtQ MONEY FAST! g HOW TO RAISE ALL THE CASH YOU NEED IN A HURRY. If you need $54100, $204100, $100,000 or more to help get your new business off the ground — then, you’ll most certainly want to read this book. Even if you’ve already been turned down by banks... and finance companies. HOW TO QUICKLY WIPEOUT ALL YOUR DEBTS AND | TURN BAD CREDIT RATING INTO GOOD! j Now with this amazing book — you can stop bill collectors cold in their tracks. Here's your golden opportunity to get out of debt without borrowing. HOW TO RETIRE YOUNG AND LIVE LUXURIOUSLY ON VERY LITTLE MONEY. Finally — It's possible foryoutosay“goodbye” and “good riddance” to that old out-dated idea that you must remain on a boring nickel and dime wage slave, time-clock punching job until you reach 65. Our organization—Successful Business Publishers, offers what is perhaps the largest Collection of Unique ‘Home-business’ Beginner’s Success Manuals in the world! Out of over a thousand of businesses in our organization’s flies — our home business specialists, have painstakingly selected The 15 Fastest, Easiest ... Most highly Profitable part-time and fulltime Businesses you and other beginners can quickly start and easily operate from home — with very low or, virtually, no investment. How many of these Proven, Highly Profitable Enter¬ prises, can you combine together and successfully operate — and Benefit From At The Same Time? Possibly, all fifteen if you’re that ambitious ... The big Shrewd Corporations, call this almost secret method ‘diversifi¬ cation’ which is, merely, a high sounding big word, which simply boils down to — having a lot of different busi¬ nesses, operating ... and pouring fast-fat profits * into your pockets, at the same time. Let’s face it—Plain common sense says that—the more of these 15 Proven Profitable Businesses, you choose to operate at the same time... the bigger, and faster your profits could be! Of course, our organization will profit a few more dollars if you choose to put five, ten or all fifteen of our proven profitable, start-up success manuals, to work for you. But then — why should our making a modest few dollars of profit bother you — when it’s you, who makes ... and keeps all the income — no matter how much — Your different home businesses bring in? The demand for our unique wealth-building Beginners Start-Up Success Manuals has been so overwhelming... and, understandably so too, since, there’s absolutely nothing .like them on the market! You must be absolutely, positively, and totally convinced that the actual money making success profitability of each manual is real — and may quickly increase your income or you may return everything within 10 days Jor a prompt no hassle refund. . Remember, those who snooze will certainly lose. However, those who choose right now, to begin — can win, and right now, while there’s still time, is the best time to begin. You’ll be making a very wise and highly profitable move. ORDER NOW! | Circle the manuals you are ordering 1 2 3 4 5 6 7 8 | 9 10 11 12 13 14 15 I I have circled above the catalog number ot each Success | Manual I am ordering, and I’ve Included the proper amount ■ to help cover shipping and handling, as indicated below. Also, | I’m fully protected by your organization’s strong, no-risk I success guarantee that - unless I am totally convinced that | the actual money making success profitability ot my manual(s) . is real - and may quickly increase my incoma Also, I may | return everything within 10 days, for a prompt, no-hassla I full refund. Total Success Manuals Ordered I Full Amount Enclosed-- Be sure to include proper shipping and handling fee - I see charges below: SHIPPING AND HANDLING CHARGES I Ordering just one Success Manual Add $1.25 for S&H Ordering from 2 to 5 Success Manuals Add S0C per I each manual Ordering from 6 to 14 Success Manuals Add 50C per I each manual ENJOY BIG SAVINGS ON ORDERS FOR ALL 15 I SUCCESS MANUALS - We pay all Shipping & Handling Cost, (a hefty savings of $7.50!). I Note: We pay shipping and handling on each Limited Check the box below which indicates each desired FREE Limited Edition Manuals' Title(s) which your order qualifies you to receive FREE: ■ How to quickly wipe out all your debts and turn bad credit rating into good I How to raise all the cash you need in a hurry I How to retire young and live luxuriously on very little money | METHOD OF PAYMENT (all prices are in U.S. funds): 1 □ My check or money order is enclosed (do not send I currency through the mail). 1 Sorry - due to high percentage of sale charged by card I companies - charge card orders not accepted. SHIP TO I Name_ Complete this order form and mail to: , SUCCESS BUSINESS PUBUSHERS I 110W. 5th Street | J/inston^alenMJ^27101 I ©1S85 Successful Business Publishers BOOK REVIEW Database Practicum This in-depth book on practical techniques features a solution for challenging real-world database management problems. Micro Database Management: Practical Techniques for Applica¬ tion Development Robert H. Bonczek, Clyde W. Holsapple, and Andrew B. Whinston (Academic Press, Inc., Orlando, FL, 1984) 511 pages, paper, $37.50 The abstract discus¬ sions and simple examples included in books on data¬ base management often fail to give readers the in- depth understand¬ ing of practical techniques that is necessary for appli¬ cation development. The authors of Mi¬ cro Database Management , however, have selected for their book an interest¬ ing assortment of challenging real- world application problems. Each of these problems is addressed with a specific database management system (DBMS) to illustrate practical develop¬ ment techniques. Micro Data Base Sys¬ tems III (MDBS III) is used as the DBMS of choice for the examples in¬ cluded throughout the book. The book is written on a profes¬ sional level, but the carefully selected examples help the reader’s understand¬ ing of the basic and complex concepts involved. Professional developers and students will find Micro Database Man¬ agement useful. It covers all the usual DBMS fundamentals: data items, record types, and relationships between record types, as well as many advanced topics that usually are not discussed in depth in books on the subject, such as die rel¬ atively new postrelational (or extended- network) data model, end-user inter¬ face, database restructuring, and data¬ base integrity and security. The first three chapters provide a general background in the area of applications development for micro¬ computers. The evolution of database management is studied, and file man¬ agement systems are contrasted with DBMS. Six end-user needs are defined that must be satisfied by the database management system as inexpensively as possible: ability to manipulate data with¬ out programming or knowledge of data structures; data security; compatibility with existing hardware and software; portability to other environments; high performance; and extendability. The au¬ thors indicate that high-quality micro application software can be built to match the software available on main¬ frames, provided the appropriate tools are used. Characteristics and features of such tools for data-handling, screen¬ handling, and control-computation tasks are discussed in detail. Micro Database Management pro¬ vides an excellent insight into the fun¬ damentals of logical structuring. A very practical technique for designing sche¬ mas is presented that systematically takes the developer through the seven steps necessary for a complete design: identify each data item and its purpose; collect items for which there is a one- to-one relationship into record types; put each remaining data item into a rec¬ ord type; identify one-to-many relation¬ ships between record types; delete du¬ plicate relationships; create many-to- many relationships for all other record types; and create additional relation¬ ships using artificial record types to support required reports. The book also covers database pro¬ cessing. Various data manipulation com¬ mands are discussed in detail. The chapters on this subject provide in- depth illustrations of how an actual application system is developed. These examples, like the many others in¬ cluded in the book, play an essential role in clarifying sophisticated concepts. The database management systems used in the examples are designed us¬ ing MDBS III data manipulation lan¬ guage (DML). Although this DML can be used with a number of host languages, the examples in the book are not writ¬ ten in any specific high-level language. Instead, a pseudolanguage is used to make the material accessible to all read¬ ers. The syntax of this language is ex¬ plained in the book and proves to be very easy to understand. One of the book’s chapters is de¬ voted to a discussion of the interactive data manipulation language (IDML), a low-level procedural language, and the query retrieval system (QRS), a high- level non-procedural language. A sec¬ ond chapter shows how some of the ad¬ vanced features exclusive to the post- relational data model—such as direct representation of many-to-many, recur¬ sive, and forked relationships—can help simplify the task of the applications de¬ veloper. The book offers performance enhancement guidelines for advanced developers. It illustrates how a perform¬ ance-conscious developer can take ad¬ vantage of the underlying physical struc¬ ture to optimize performance. Another chapter gives a complete, detailed case study, which does a good job of encompassing all the concepts covered in previous chapters and pro¬ vides an excellent illustration of how an actual problem can be implemented. While multiuser database processing is often ignored in database books, Micro Database Management has detailed examples (using MDBS III facilities) of how to develop effective multiuser applications software. Although many concepts discussed in the book would be useful in any DBMS context, the book’s full potential is realized only when it is used in con¬ junction with MDBS III. The book is an important contribution to the database field. It can provide practical knowledge for applications development and should be a valuable addition to any database library. 1S 1 —NASIR GHIASEDDIN CoTpgt*. Sdtnc« e-d >psi«d Ma+eroda MiCftO DATABASE MANAGEMENT PftlCTCAl TRMN'QUES FOR WPUCATR5N OEVUOWUtNT RotfrtHJaunk, OjAKMawle, KdM'Nl.WfatB FEBRUARY 1987 193 The VF PC VF Associates The VF PC is fully IBM compatible... better than Leading Edge! The standard VF PC system is equipped with: 8088 motherboard, 8 slots, 150
  • power supply, XT case, 2 floppy drives, hi-res 12-inch green or amber TTL monitor, con¬ troller with Hercules-compatible graphics &

    printer port, 640K memory, full keyboard, and 1 year warranty (system unassembled): . ASSEMBLED & TESTED: .

    795 DELUXE SYSTEM: with P/S/G ports and clock, AT style keyboard, 8 MHz turbo motherboard, unassembled: . yyv COLOR SYSTEM, unassembled. 903 PLEASE NOTE: The VF PC is designed so that you can assemble your own PC to create the system that’s best for you. Call us today about the other VF PC options that are available. Also, ask about our FREE catalogue. ASSOCIATES STORE HOURS: Monday through Thursday: 12 noon-8 p.m. Friday: 12 noon-6 p.m. ■ Saturday: 11 a.m.-5 p.m. (Pikesville Store Closed Wednesdays) 8231 Woodmont Ave., Bethesda, MD 20814 0 (3oi) 652-4232 220 Reisterstown Rd., Pikesville, MD 21208 0 (3oi) 484-8901 SOFTWARE SENTINEL' ' Stop unauthorized use of software...and keep your cus¬ tomers happy at the same time. The no-interference hardware keys from the industry's leading supplier put money in your pocket and save you from angry customer complaints. Our product line includes devices for either parallel or serial port. The latest addition allows you to cover multiple programs with one device and/or customize as needed. Call for new low prices. SOFTWARE DEVELOPER BENEFITS • Prohibits unauthorized use of software • No need for copy protection • Algorithm technique (never a fixed response) • Virtually unbreakable • Higher level language interfaces included • 100 times faster (1 ms) than fixed response devices • Minimal implementation effort • Runs under DOS and Xenix, on IBM PC. AT, XT & compatibles SOFTWARE USER BENEFITS • Unlimited backup copies • Pocketsize • No floppy required with • Transparent hard disk • Transportable | RAINBOW EVALUATION KIT AVAILABLE 17971 SKYPARK CIRCLE SUITE E, IRVINE, CA 92714 (714)261-0228 CIRCLE NO. 157 ON READER SERVICE CARD Introducing multi-channel conmunications boards400% fester than what you’re, probably using now Introducing the DIGIBOARD COM/Xi Series front-end processor. Intelligent multi-channel communications boards 400% faster than the industry standard. Like our popular COM/X Series, they provide users of PC/XT/AT-compatible computers with four or eight individually addressable serial ports. But with the new COM/Xi series we’ve added: • an 80188 co-processor operating at 10 MHz • 256K of dual-ported RAM + 16KofROM, all accessible to user/ programmers for application and security software development • a modular design that allows us to custom- tailor I/O to individual customer requirements. On-board intelligence means more speed for multi-user operating systems and multi-channel data collection and dissemination. And makes the new DIGIBOARD COM/Xi Series a more intelligent choice for you. Plugging you into Tomorrow. Call 1-800-344-4273. In Minnesota, (612) 922-8055. 194 CIRCLE NO. 110 ON READER SERVICE CARD CIRCLE NO. 127 ON READER SERVICE CARD PC TECH JOURNAL NEED IT FAST? WANT TO KNOW MORE? DON’T HAVE TIME TO SHOP AROUND? INTRODUCING. • • I f you’re like most system pro¬ fessionals you’re up-to-date about the products in the PC marketplace. You’re aware of brand and model differences, are informed about connectivity and compatibility problems, and you shop for competitive prices and fast service. You’re also probably among the many PC TECH JOURNAL readers who purchase by mail. That’s why we’re starting THE MART— PC TECH JOURNAL’S First Class Mail-Order Section. Starting this month, and every month hereafter, you’ll find the products you’re looking for advertised in THE MART—and you’ll benefit from the fast service and helpful support that identifies PC TECH JOURNAL advertisers. If you’re ready for First Class service, you’re ready for THE MART. Plot's enha tor softwar MAIL ORDER SECTION! AST ADVANTAGE W/128K.$365 VIDO 7 VEGA EGA .$425 GENOA SPECTRUM.$295 FORTE PJ.$875 INTERNAL HARD DISKS FOR THE AT SEAGATE USED BY IBM PRIAM 40 MB.$1195 PRIAM 60 MB.$1395 RODIME 20 MB.$595 RODIME 32 MB.$695 CORE 20 MB "F".$1195 CORE 30 MB ’ F".$1395 CORE 40 MB.$1795 CORE 56 MB.$2595 CORE 7 2 MR ST2Q5 SEAG7 SEAG/ SEAG/ LASEF 128 Ah fiB h ni.is.Msi e reflects quantity purchaj "HOT" NEW PRODUu ★ AMERICA’S ★ LOWEST PRICES ARE EVEN LOWER NOW!!! (25 MS) UNIock ALBUM $ 49.95 “A” • LOTUS 1-2-3™ (i.A, i.A. 2.0) • dBASE III™ (i.o, i.i, i .2 & plus) • FRAMEWORK™ (i.o, i.i, ii) • SYSTAT™ (i.3 & 2.0) • SPOTLIGHT™ (i.o & i.i) • GRAPHWRITER™ (4.3 & 4.3i) • REALIA COBOL™ ( 1 . 2,2 0 ) MB HT. IB F. HT. B F. HT • (23 MS) IBM XT 256K/1 Dr. 20 MB IBM XT 256K/1 Dr./30 MB IBM AT :"2K/20 MB IBM AT 512K/30 MB Compaq Desk Pro-1 128K/1 Dr. Compaq Portable 256K/2 Dr. AST 6 PAK w/384 K/Advantage MCI MSC w/384K (25 MS) Samsung/PGS Max 12 Princeton HX 12/E 2250 2299 3895 3995 1699 1650 259/369 175 109/169 435/535 Hercules Color Card/Monochrome graphic 150/299 Hayes 1200B w/SW US Robotics Courier 2400 SPECIALS in MR Hard nick gPEM INTRODUCING IU d till |)EC VT-100/VT 52. a Retrogl lO, a Tektronix 4010/4014 orl I Tektronix 4027. Over 12,01 Ijrrently in use world-wide atl ■rations, educational facilities! Bind independent consulting I lore information call toll freef 'High Perfo; Drive Subsystei DRIVE PEI j Configuration 4CaST/2 T Complete Forecasting System IB for AT Stcl SM-AT SPEED ■•he industry's recognized leader in High Performance Sp€| live performed extensive research and developed unmatcp; I field. Our products offer the COMPLETE solution. IXCELX " -Switch from five frequencies including the stand & |12HMz. Uses reliable frequency synthesis to allow compote jj ■with all IBM ATs including the TYPE 2 and Model 239 .... I Mil-Spec Crystals-The famous Ariel cyrstals. Choose fronris 116-17-18-19-20-21-22-23-24 MHz. I FAST 80286 - lO-Micro-processor for 20-24 MHz speeds I FAST RAM-For System Board 128K 120 & IOO NS. For marketing, planning, financial and forecasting professionals: ■ Easy to use menus with on-screen help facilities ■ Most often used forecasting methods ■ Popular spreadsheet interfaces ■ Outstanding color graphics ■ Fast RAM-based program ■ Thoroughly tested and numerically accurate ■ Exponential smooth ■ Step-wise and robusi capabilities ■ Macro language for applications ■ Full documentation 389 479 559 895 775 379 360/499 539 575/675 ISA MC AMEX COD P0 wsm. Only: S350 Demo F 4CaST/2X: includes a f version of the Census’X- Only: S595 Demo F Both versions run on IB ' C89 > S0CC

    , \Q' “Top Sellers Series” UNIock DISK “NO. 101”

    A A Q (■ (Plus $4 ship/handling 1 “Tw Fo»eign o o^ e HIGH QUALITY AMERICAN MADE IBM COMPATIBLES AT UNBEATABLE PRICESI HARD DISKS, EGA/CGA MONITORS V-i AT LOWEST PRICES A F t 20 MB Segate At 65 MS 30 MB Segate/Priam High Speed $ Call

    Cl || 80 MB Seagate/Priam High Speed $ 1195 II j I I Paradyse Autoswitch EGA $ Call w w STB Plus EGA

    ”] 24008 Modem Hayes Compatible $ Call NEC Multi Sync EGA Monitor $ Call 1 YEAR WARRANTY. •2 CPU OTHER CONFIGURATIONS AVAILABLE WE ACCEPT VtSA/MC, PREPAYMENT WITH CASH DISCOUNTS, COD, CORPORATE ACCOUNTS WELCOME, DEALERS WELCOME. FULLY IBM COMPATIBLE turnkey AT SYSTEM $1495 ✓ 80286-10 CPU ✓ 6/10 MHz Speed ✓ 1 MB RAM ✓ 1 Serial Port/1 Parallel Port ✓ Hard Disk/FL Contr. ✓ Clock/Cal, Battery ✓ 192W Power Supply ✓ AT Keyboard ✓ Hercules Compatible Mono Adapter ✓ High Resolution Mono Monitor ✓ Runs Autocad, Unix, Ze- nix, Novell ✓ 15 month Warranty ✓ 30-Day Money Back Guaranty ✓ Free Nationwide Onsite Warranty ✓ Excellent Manuals ✓ 24-Hr Online Tech Support $830 ✓ 8088-2 CPU ix 640K Ram Expand To 1MB ix 4.77/8Mhz Speed ix 360K Floppy Drive ix 2 Serial Ports ix 1 Parallel Port ix Clock/Cal. Battery ix SASI Interface ✓ 135/150W P/S SAME WARRANTY & SERVICE UNBEATABLE! Technology Corp. 377 ROUTE 17 AIRPORT 17 CENTER HASBROUCK HEIGHTS, NJ 07604 I 201-288-8629 CIRCLE NO. 183 ON READER SERVICE CARD PC XT /AT ADD-ON BOARDS • MS DOS/QW Basic 3.2.$80 • XT Mother Board/Bios.$83 • XT Turbo Board/Bios.$103 • Monochrome/Graphic/Printer Card . . . $66 • Monochrome Graphic Card.$60 • Color Qraphic/Prlnter Card.$60 • Color Qraphlc Card.$50 • XT Multi I/O Card.$73 • XT I/O Plus 11.$45 • Floppy Disk Controller 1 port.$25 2 port.$33 • RS232 Interface Card 1 port.$22 2 port.$27 • Parallel Printer Card.$19 • Clock Card.$25 • QameCard.$18 • Hard Disk Controller Card.$100 • Hard Disk/Floppy Disk Controller Card $123 • XT 2 MB RAM Card.$195 • AT Mother Board/Bios.$490 • AT 3 MB Multifunction Card.$178 • AT 4 MB RAM Card.$210 • AT 1.2M Floppy Disk Card.$72. • EGA Card.$245 • AT HDC/FDC Controller w/Cable.$215 KEYBOARDS • 5151 Style AT/XT Keyboard.$68 • 747 AT Style AT/XT Keyboard.$53 POWER SUPPLY • 150 Watt XT Power Supply.$53 • 200 Watt AT Power Supply.$85 MONITORS PARCO (Sony) Height Resolution 12 "90° Monitor 800 x 700 Lines With Hon-QIare Screen/Swivels Base Amber. $115 • SAMSUMQ - Amber.$79 • TAXAH 620 Color.$375 • TAXAH 630 Super Hi-Res. Color.$445 • TAXAH 640 Super Hi-Res. Color.$495 • TAXAH 760 EQA Monitor.$499 PRINTERS • RITEMAH PLUS (120 cps. 80 col.).$175 • RITEMAH -15 (160 cps. 136 col.).$345 • BROTHER M1509 (180 cps. 136 col.) . . . $395 DRIVES • TEAC 360K Floppy Drive.$90 • FUJ1SU 360K Floppy Drive.$82 • CHIHOH 360K Floppy Drive.$85 • 20MB Hard Disk/WD.$Call • 30MB Hard Dlsk/WD.$Call • 1.2MB TEAC AT Drive.$135 CHASSIS • Flip Top XT Case.$29 • Slide Off XT Case.$36 • AT Jr. Style XT Case.$37 • AT Case.$85 All Cases Include Speaker/Hardware MODEMS • Internal Modem-Everex.$137 Select 300/1200 bps, powerful BitCom Communication Software included. Auto answer/dlal. • External Modem-Smarteam.$160 PC/AT 2000 SYSTEM 80286 Processor (6/8MHZ) 1024K RAM 1.2MB Floppy Disk Drive AT Hard Disk/Floppy Disk Controller Card Clock/Calendar with Batter Backup AT Style Keyboard 200W Power Supply/Case Runs All Major Software Six Month Warranty $1249 PC/XT 2000 SYSTEM JB ESSSMi jfHi • 640K RAM • 360K Half Height Floppy Drive w/Controller • AT Style Keyboard • 150W Power Supply • Slide Off Case • Runs All Major Software • Six Month Warranty $495 (201) 944-5002 2142 Pi. Hudson St. Fort Lee, NJ 07024 IBM PC. IBM XT and IBM AT are trademarks OF IBM corpratlon. MS-DOS Is a trademark of Microsoft Corporation. ORDER TOLL FREE: 1 - 800 - 367-1132 MONDAY - SATURDAY 9AM - 6PM EST. Customer Service (201) 944-5010 9AM - 5PM EST. M-F ORDERS SHIPPED UPS COD WITHIH 24 HRS. 196 CIRCLE NO. 184 ON READER SERVICE CARD PC TECH JOURNAL Today’s 386 compatibles fall into two categories: Those that “enhance” technology. And those that blow it away. The PC Designs GV-386 is not an enhance' ment. It’s the fastest 80386'based compatible you can buy. That’s because the engineers here at PC Designs realized early on that to take full advantage of the 80386 chip, an equally revolutionary motherboard was needed. So they started with a blank piece of paper and— from the ground up—designed a 80386 micro that blows the doors off every other compatible available. Get Power Hungry At the heart of the GV-386 is a 32-bit processor operating at 16MHz clock speed; keyboard switchable to 8MHz (it will even support 24MHz operation, once Intel makes that available). And that’s Zero Wait State clock speed, thanks to a specially-designed, high-speed memory cache circuit. When enabled, this unique circuit—with a full 64K of static RAM—allows you virtually instant data retrieval 80 percent of the time. The cache circuit—a PC Designs exclusive—also ensures rock-solid reliability because it eases the load high speed puts on the integrated circuits. Even at zero wait state, the GV-386 never exceeds IC design specifications. Radical, but compatible Despite its radical innovations, the GV-386 was designed to retain the standard 8MHz IBM PC-AT bus timing. The result is unparalleled compatibility with existing software and hardware. And every GV-386 is bundled with Desqview 1.3 from Quarterdeck Office Systems, giving you both expanded memory management and multitasking capabilities allowing up to nine simultaneous opera¬ tions. Affordable power If all this speed and performance doesn’t blow you away, take a look at the price: The standard system starts at around $4000. And it’s available now. The fact is, it’s the most innovative compatible to date. So why settle for an 80386 machine that just “advances” technology, when the GV-386 blows it away? Designs 2500 N. Hemlock Circle Broken Arrow, OK 74012 19 Rector St., Suite 2705 New York, NY 10006 Call us now in New York: 1-212-514-7280 or in Tulsa: 1-918-251-5550 CIRCLE NO. 159 ON READER SERVICE CARD Technical Support and Shipping and Receiving (703) 761-6177, 78 ITS TEK-NET-BBS (703) 690-7462 Visa, MC, CHOICE, AE Leasing, Renting & Financing available Open 7 days a week (703) 847-4740 (800) 642-2395 Information and Technology Services, Inc. Micro Systems Specialists 8478A Tyco Rd., Vienna, VA 22180 Printers ‘Editor’s Choice ITS Turbo XT 1 year warranty 30 day money back guarantee Ml The $895 ITS W Turbo XT from Information and Technology Services t is our “best buy” recommendation with 20MB $1224.00 'Serving the Nation’s Capitol and the World” Software Drives $480 $685 $1122 $1245 $235 $299 $360 $480 $189 $383 $445 $537 $699 $355 $255 $440 $320 $435 $485 $835 $1227 $1239 $413 $253 $412 $613 $713 $1976 $624 $285 $434 $631 NEC P-6 NEC P-7 NEC P-5 NEC P-5XL PANASONIC 1080 I PANASONIC 1091 I PANASONIC 1092 PANASONIC 1592 STAR LV1210 STAR NX-15 STAR ND-15 STAR NR-15 STAR NB 24-15 STAR SD-10 STAR NX-10 BROTHER 1509 CITIZEN MSP-10 CITIZEN MSP-15 CITIZEN PREMIER 35 TOSHIBA P341 TOSHIBA P351 FUJITSU DLP24 FUJITSU DM9I OKDATA M182 OKIDATA M192 + OKIDATA M193 + OKDATA M84 OKDATA 2410 EPSON FX-286 EPSON LX-80 EPSON FX-85 EPSON LQ-800 SUPERCALC 4 SUPERPROJECT + WORDPERFECT 4.2 DBASE 3 + FOXBASE + FRAMEWORK II RBASE 5000 RBASE SYSTEM V CROSSTALK XVI REFLEX TURBO PASCAL TURBO PROLOG TURBO LIGHTNING NORTON UTILITIES MS WINDOWS MS QUICKBASIC MS C-COMPILER MS WORD WORDSTAR 2000 MULTIMATE PC MAGAZINE OCT. 14, 1986 complete IBM® PC Compatible Superior to the IBM AT Ijl Rated 8.8 by InfoWorld 44MB, 28ms Access Hard Drive 3 Speed Processor Free 8MHz Math Coprocessor 1.2MB Floppy , 640K Ram 2 Serial/1 Parallel Ports Clock/Calendar, AT Keyboard DOS 3.1, Basic, System Guide oo 1 year warranty Easy Business Accounting Systems GENERAL LEDGER $395 ACCOUNTS RECEIVABLI $395 ACCOUNTS PAYABLE $395 INV. CONTROL $395 RETAIL INVOICING $395 PAYROLL $458 ORDER ENTRY $395 TIME. BILLING & REC. $635 Laser Printers $2095 $3085 $2295 $1995 $CALL CANON A1 CANAON A2 HP LASERJET QMS KISS XEROX 4045 ITS SYSTEM 386 BLACKHAWK QUAD EGA + PARADISE AUTO SWITCH STB EGA TECHMAR EGA VEGA DELUXE 64K 150ns set of 9 64K 120ns set of 9 256K/150ns set of 9 256K/120ns set of 9 64x4 128K Piggyback 8087-3 8087-8 80287 5MHz 80287 6MHz 80287 8MHz Features: • INTEL 80386 CPU and support circuits • INTEL designed motherboard • Phoenix BIOS • 18 Mhz clock speed • PC/AT compatible 8 Mhz switchable from keyboard • 512K RAM standard up to 14 megabytes • Parallel/Serial/Clock • 8 Slot Expansion bus interface 2- PC Compatible 8 bit bus connectors 2-32 bit bus connectors • Hard disk/Floppy disk controller • 1.2 megabyte floppy Specials NOVELL NETWORKING DESIGN & INSTALLATION Available now Software non-returnable if opened No surcharge on VISA, MC, CHOICE.. .AE, 3% Prices subject to change 12/18/86 10% re-stock fee on all items TOSHIBA Lap-Top T-1100 Plus dKK (DUAL FLOPPY) 1800 + • 256K Ram Memory $1995 • CMOS 80C86 Run- with ning at 7.1 MHz • Two c™- \

    720K 3.5" Floppy Drives TOSHIBA Keyboard • LCD Display • Color Graphics/Monochrome Composite Card • One Parallel and Serial Port • Clock Calendar • External Floppy Drives Optional • DOS 2.1 IBM AT Compatible % 512K of RAM expandable to 1MB 1.2MB Floppy AT Keyboard Documentation and Diagnostics Made in the USA 1195 Color RGB Mon. $305 Amdek310A $150 TEAC 360 Drive $89 Samsung Monitor $89 Amdek 722 $549 NEC Multi-Sync $631

    Other Systems Sharp PC 7000 $1095 DM XT $1798 DM AT $2789 BIOS AT 8MHZ $1769 20 MB SEAGATE 65MS $399 30 MB SEAGATE RLL $499 20 MB ST4026 AT $573 30 MB ST4038 AT $651 40 MB ST4051 AT $792 80 MB ST4096 AT $1273 40MB PRIAM XT $1395 60MB PRIAM XT $1450 40MB PRIAM AT $1175 60MB PRIAM AT $1350 BERNOULLI DUAL 10 $1939 BERNOULLI DUAL 20 $2594 20MB PLUS HARDCARD $695 20MB MAYNARD HCARD $759 ISI WORM 220MB INT. $3295 TEAC360K DRIVE $89 60MB ARCHIVE TAPE $740 60MB ARCH. EXT. TAPE $740 60MB GENOA TAPE $935 60MB SYSGEN $1089 TOSHIBA 3.5 DRIVE $150 TOSHIBA 10 MB DRIVE $899 •TOSHIBA 5.25 EXT. $349 Memory Boards JRAM2 $129 JRAM 3 ABOVEBOARD $179 JRAMAT $179 JRAM AT3 ABOVEBOARD $239 JLASER MODULE $265 JLASER + AVAIL. INTEL ABOVEBOARD $438 AST RAMPAGE 512K $485 ORCHID CRAMRAM $291 ZUCKER BOARD $68 AST 6 PAK + W/384 $199 QUADBOARD W/384 $189 Chips Programmer's Paradise Gives You Superb Selection, Personal Service and Unbeatable Prices! Welcome to Paradise. The PC/MS-DOS software source that caters to your individual programming needs. Discover the Many Advantages of Paradise... • Lowest price guaranteed • Huge inventory, immediate shipment • Special orders • Latest versions • Knowledgeable sales staff • 30-day money-back guarantee We’ll Match Any Nationally Advertised Price. C+ + ADVANTAGE C+ + PFORCE++ C COMPILERS C-86 PLUS LIST OURS $ 495 CALL 395 CALL DATALIGHT -C 60 49 DATALIGHT - C DEVELOPER’S KIT 99 79 LATTICE C 3.2 500 289 LATTICE C W/SOURCE 900 545 LET’S C 75 59 W/CSD DEBUGGER 150 109 MICROSOFT C 4.0 450 275 MARK WILLIAMS C 495 289 SUPERSOFT C 395 339 WIZARD C 450 369 C INTERPRETERS C-TERP 300 235 INSTANT C 500 379 INTRODUCING C 125 105 RUN/C 150 89 RUN/C PROFESSIONAL 1.1 250 169 ASSEMBLERS, LINKERS 386IASM/LINK 495 445 ADVANTAGE LINK 395 349 MACRO-86 150 98 PASM-86 195 135 PLINK 86 PLUS 495 335 QUELO 68000 X-ASM 595 509 Polytron Specials POLYBOOST 80 65 POLYTRON C BEAUTDFIER 49 45 POLYTRON C LIBRARY 1 99 75 POLYTRON POWERCOM 179 135 POLYLIBRARIAN 99 75 POLYLIBRARIAN II 149 115 POLYMAKE 99 75 POLYWINDOWS PRODUCTS CALL CALL POLYXREF 219 175 POLYXREF (One Language Only) 129 105 PVCS 395 315 GRAPHICS ADVANTAGE GRAPHICS 295 CALL ESSENTIAL GRAPHICS 250 195 GSS GRAPHICS DEVELOPMENT TOOLKIT 495 379 GSS KERNEL SYSTEM 495 379 GSS METAFILE INTERPRETER 295 239 GSS PLOTTING SYSTEM 495 379 HALO—ONE LANGUAGE 300 209 HALO—FIVE MICROSOFT LANGUAGES 595 415 METAWINDOWS 185 115 METALINDOWS PLUS 235 189 METAFONTS 80 59 METAFONTS PLUS 235 189 LIST OURS C UTILITY LIBRARIES ASYNC MANAGER 175 135 BASIC C 175 129 C ESSENTIALS 100 85 C FOOD SMORGASBORD 150 98 W/SOURCE 300 188 C TOOLS PLUS 175 135 ESSENTIAL C UTILITY LIBRARY 185 135 ESSENTIAL COMMUNICATIONS 185 135 W/BREAKOUT DEBUGGER 250 195 GREENLEAF FUNCTIONS 185 135 GREENLEAF COMM 185 135 THE HAMMER 195 175 MULTI C 149 135 MULTI COMM 149 135 PFORCE 395 245 TIMESLICER 295 265 W/LIBRARY SOURCE 1000 CALL TOPVIEW TOOLBASKET 250 189 SCREEN DISPLAY, WINDOWS FOR C C WORTHY 295 269 CURSES 125 94 W/SOURCE 250 184 DATA WINDOWS 225 159 W/SOURCE 450 315 FLASH UP WINDOWS 75 68 MICROSOFT WINDOWS DEVELOPMENT SYSTEM 500 329 ON-LINE HELP 149 109 PANEL 295 224 SCREENPLAY (LATTICE) 150 135 SOFTSCREEN HELP 195 175 VIEW MANAGER 275 199 VITAMIN C 3.0 225 199 VC SCREEN 99 84 WINDOWS FOR C 195 145 WINDOWS FOR DATA 295 250 ZVIEW 245 189 FILE MANAGEMENT BTRIEVE 245 195 XTRIEVE 245 195 W/REPORT GENERATION 390 315 BTRIEVE/N 595 465 XTRIEVE/N 595 465 W/REPORT GENERATION 940 750 CTREE 395 329 RTREE 295 249 CTREE/R TREE BUNDLE 650 529 CQL 395 329 DBC III 250 189 W/SOURCE 500 379 DB VISTA 195 155 W/SOURCE 495 425 DB QUERY 195 155 W/SOURCE 495 425 FABS 150 129 FABS PLUS 195 169 INFORMIX 795 639 INFORMIX 4GL 995 799 INFORMIX SQL 795 639 PHACT 295 265 SORT UTILITIES AUTOSORT M/SORT OPT-TECHSORT 150 155 149 129 139 115 MAKE, LINT, PROFILE, UTILITIES C CROSS REFERENCE GENERATOR 50 39 LMK 195 145 POLYMAKE 99 75 PMAKER 125 95 PFINISH 395 245 THE PROFILER 125 94 PC LINT 139 105 PRE-C 295 165 TEXT MANAGEMENT UTILITIES 120 94 DEBUGGERS ADVANCED TRACE 86 175 139 BREAKOUT 125 99 CODESMITH 86 145 108 C SPRITE 175 138 Cl PROBE 75 59 CSD SOURCE DEBUGGER 75 59 PERISCOPE 13.0 345 293 PERISCOPE II 3.0 175 145 PERISCOPE II-X 3.0 145 109 PFIX 86 PLUS 395 245 XVIEW86 60 49 February’s Bundle of the Month BTRIEVE, XTRIEVE, REPORT GENERATOR $635 OURS $495!!! EDITORS BRIEF CVUE W/SOURCE EDIX EMACS EPSILON FIRSTIME (C) KEDIT LSE PMATE PC/VI SPF/PC VEDIT VEDITPLUS 195 CALL 75 250 195 295 195 295 125 125 195 149 195 150 185 59 195 155 265 159 229 105 95 125 129 149 109 139 ADDITIONAL PRODUCTS DAN BRICKLIN’S DEMO PROGRAM 75 59 FASTBACK 175 149 INTERACTIVE EASYFLOW 150 129 PDISK 195 129 SOURCE PRINT 139 115 VENTURA PUBLISHER (XEROX) 895 805 PASCAL2 350 329 TURBO PASCAL 100 69 OTHER BORLAND PRODUCTS CALL CALL TOOLS FOR TURBO PASCAL ALICE 95 68 FIRSTIME 75 59 FLASH UP WINDOWS 75 68 HALO 300 209 TURBO HALO 129 99 SCREENPLAY 100 89 SCREEN SCULPTOR 125 94 T-DEBUG PLUS 60 50 TURBO EXTENDER 85 65 TURBO PASCAL ASYNC MGR 100 84 TURBO PROFESSIONAL 70 49 TURBO POWER TOOLS PLUS 100 83 TURBO WINDOWS 80 65 OTHER TURBO TOOLS CALL CALL NEW Products ADVANTAGE GRAPHICS—Fast, powerful and extensive graphics library offering a full set of graphics primitives. No royalties, many languages! List $295 Ours CALL DATAWINDOWS—Greenleaf’s latest offering includes integrated windows, transaction data entry, pop-up, pull-down, Lotus-style menu systems. And more! Data Windows is fast, writing directly to video memory. List $225 Ours $159 w/Source List $450 Ours $315 PASCAL 2—Highly optimized Pascal compiler, with source level debugger, profiler. List $350 Ours $329 TIMESLICER—Multitasking, linkable library supporting concurrent tasks and real-time event processing with header files provided for C+ +, C and assembly. Library source available! List $295 Ours $265 VENTURA PUBLISHER (XEROX)—Desktop publishing software, lightning fast, loaded with features. Create professional-looking docu¬ mentation at minimal cost! List $895 Ours $805 BASIC BETTERBASIC 199 139 SUMMIT ADD ONS CALL CALL BETTER TOOLS 95 89 FINALLY 99 89 MICROSOFT QUICKBASIC 99 75 PROFESSIONAL BASIC 99 75 8087 MATH SUPPORT 50 45 PANEL-BASIC 145 115 TRUE BASIC 150 105 ADDONS CALL CALL OTHER PRODUCTS AVAILABLE TO THE BASIC PROGRAMMER INCLUDE MULTIHALO, BTRIEVE, GSS GRAPHICS, SCREEN SCULPTOR, STRUBAS, 87 BASIC. COBOL COMPILERS/UTILITIES MICROSOFT COBOL 700 445 MICROSOFT COBOL TOOLS 350 205 MICROSOFT SORT 195 139 MICRO/SPF 175 CALL OPT-TECH SORT 149 115 REALIA COBOL 995 785 SCREENPLAY 175 155 RM/COBOL 950 639 RM/COBOL8X 1250 895 VISUAL COBOL (MBP) 1150 1015 FORTRAN COMPILERS/UTILITIES LAHEYFORTRAN 477 CALL MICROSOFT FORTRAN 350 209 RM/FORTRAN 595 389 ACS TIMES SERIES 495 419 87SFL 250 225 FOR-WINDS 90 78 FORLIB-PLUS 70 54 GRAFMATICS OR PLOTMATICS 135 119 GRAFMATICS AND PLOTMATICS 240 219 FORTRAN SCIENTIFIC SUBROUTINES 295 249 POLYFORTRAN TOOLS I 179 143 STRINGS AND THINGS 70 54 ALSO AVAILABLE TO THE FORTRAN PROGRAMMER: PANEL, MULTIHALO, BTRIEVE, ESSENTIAL GRAPHICS, FLASH UP WINDOWS, GSS GRAPHICS, OPT-TECH SORT. PROLOG ARITY PROLOG (STANDARD) 95 79 ADDIT. ARITY PRODUCTS CALL CALL CHALCEDONY PROLOG 100 89 TURBO PROLOG 100 79 LISP, OTHER AI, CALL FOR INFORMATION, PRICING, AVAILABILITY. Terms and Policies • We honor MC, VISA, AMERICAN EXPRESS No surcharge on credit card or C.O.D. Prepayment by check. New York State residents add applicable sales tax. Shipping and handling $3.00 per item, sent UPS ground. Rush service available, prevailing rates. • Programmer’s Paradise will match any current nationally advertised price for the products listed in this ad. • Mention this ad when ordering—some items are specially priced. • Prices and Policies subject to change without notice. • Corporate and Dealer inquiries welcome. 1 - 800 - 445-7899 In NY: 1-800-642-6471 Programmer’s Paradise 487 E. Main Street, Mt. Kisco, NY 10549 914-332-4548 CIRCLE NO. 143 ON READER SERVICE CARD Programmer’s rcJmJM Turbo Screen/Application Generator Be 3-6 times more Productive!!! Guaranteed* For$69 95 (one month holiday special) Turbo Master helps you develop your functional specs (Generates Screen, File, Isam, Variable and Menu Control Documentation) and then allows you to "Quickly” prototype a validation model of your system. (Which can be incorporated as part of your functional specifications.) Turbo Master can then generate a super-fast Turbo Pascal Program that features advanced screen input and control, a professional control menu, the database functions of (1) Add/Edit/Delete Records (2) Search Database by any Key (3) Database Recovery programs (4) Screen/Printer Report for each of the keys. Each Key can have up to 6 fields. Our Users Report • "Since Fall of 85,1 have generated over 300 program modules with it and find it to be just what I needed. Most all of the modules represent 5000 to 8000 lines of Pascal Code" Oner Systems. • "By being able to produce a 21 screen and menu control demo so quickly helped me obtain the contract.' • "Speeded up my screen development by 6 times" Elexor Associates. • "Has many of the features of the Super Mini development tools costing $10.000." Applied Micro Systems. • "Saved months from having to recode portions of our system." Real Green Inc. • "We developed 3 Vertical Market Applications in the 6 months we had your system." Absolute Systems. Btrieve Interface Module Allows full multiuser record locking and Automatic file recovery for the industry’s most popular LANs. Works with the in¬ dustry’s leader of professional databases for multiuser LANs. Requires Btrieve by SoftCraft Inc. $99.95 □ Turbo Master by Hawaiian Village Software □ Btrieve Interface by Innovative Interfaces □ Turbo Pascal by Borland International Receive 6 Floppy UISKS and a manual containing:
  • Screen Painter/Editor & Generator • Paint menu screens using keyboard • Has variable dictionary to provide consistant edits • Date entry masks • Date & range checks • Field and/or global help screens • Box & line drawing • Error & message handler
  • Help Screen Maker - Different help screen for each field.
  • Menu Editor & Generator • Allows selection by 4 methods.
  • Database Program Generator • Produces "Easy to Read” code that can be easily modified by experienced developers.
  • Resident Isam Module - compatible with Turbo Toolbox, but saves 8K of codespace and 10K of dataspace.
  • Turbo Resident Screen Capture Utility which allows you to capture Text Screens from any running program.

    & Much, Much More Credit Card & C.O.D. Orders Call: 1-800-821-9503 Btrieve is a trademark of SoftCraft Inc Turbo Pascal & Turbo Database Toolbox are trademarks of Borland In Florida 1-800-342-0137 International For Further Information Call: (305) 892-5686 Add 7.50 shipping to all U S Cities All foreign orders add 15.00 per product ordered 640 KB RAM Bare Bone System:

    FREE □ DOS 3.1 (85 Value) □ 1 Year Nationwide on site STANDARD FEATURES: • Clock/calendar w/battery back-up • FCC and U.L. APPROVED • 6/8 MHz 80286 Microprocessor • 80287 Math Co-processor Socket • 8 Expansion Slots • 640 KB RAM Expandable to 1024 KB on Mother Board • 200 WATT U.L. Approved Power Supply • AT case with Lock and LED indicators • 5060 Compatible Keyboard • MS DOS 3.1 (*85 value FREE) • Full Documentation B • Complete technical support • Fully compatible with IBM-AT SYSTEM CONFIGURATION B: • AT 640 KB RAM Bare Bone System • 1.2 MB Teac Floppy Disk Drive • 30 MB Hard Disk (39MS) • Western Digital WA-2 Floppy & Hard Disk Controller • 1 Year Nationwide (50 States) ON-SITE Service (Includes Parts & Labor) £ ja am • msdos 3.1 nnlx/V | MMK 30 day { money i back 1 guarantee Evaluation Unit $1,095 We Welcome VAR and Dealer Inquiry (quantity discounts available) All major credit cards accepted NO MORE RETURNS OR LONG WAITS FOR REPAIRS WE WILL FIX YOUR COMPUTER ON SITE FREE OF CHARGE FOR 1 YEAR Business Engineering Scientific Technologies 1914 W. Farwell • Chicago, IL 60626 (312) 465-8886 or (312) 262-3480 Prices subject to change without notice IBM AT is a trademark of International Business Machines Corporation Professional Programming Products for Microsoft C, PASCAL, FORTRAN, and Assembly Language •> \ ' |l / . mei v PC-WRITE™ text editor, and ™ SOURCE CODE PROGRAMMERS AND SOFTWARE DEVELOPERS - LOOK AT THESE PRODUCTS! NO ROYALTIES REQUIRED ASMLIB The Programmer’s Library A Multipurpose set of over 200 Assembly Language sub routines supplied in the form of a linkable library. \ ,o< • Virtual disk file handling. • Int. driven asynch. support. • Graphics on EGA, here, and CG • Floating point math and trigrfoijflnes with 8087 support. Installable keyboard^cti^ated programs are easily written with ASMLIB’s spfidtfrfunctions. • Plus much-MLich more. • Supplied\vith complete source code. Only $ 149°° Complete asmTREE The Programmer’s B+Tree Data File Management System ^ • A complete single/ multiuser database mana^nent system written entirely in Assembly Language Qiwi the Lattice “C” or Assembly Language programmer fcele capabilities. • Up to 256 users. OV • Up to 256 index and data fi^f • Multiple key types, .• Multiple indices ner maex file. • Duplicate andy&riable length keys. • Virtual fijgi handling • Plus^Sfch, much more • Supplied with complete source code. Only $ 395°° Complete NET-TOOLS - Network Programming Tools NET-TOOLS allows you to write programs for ANY NETBIOS compatible local area network - fast and easily. ★A multitude of subroutines allow your program to handle all network tasks directly. ★Redirect Local Devices simply and easily with a single function call. ★Send and Receive disk files with error detection, issue a single call to NET-TOOLS, and it will automatically send a file of any length to a NET-TOOLS receiver. ★Send and Receive Messages with automatic retries and error detection. Both the datagram and session protocols are available to your program. ★COMPLETE SOURCE CODE IS PROVIDED - written in assembly language. BC ASSOCIATES 3261 No. Harbor Blvd., Suite B Fullerton, CA 92635 1 - 800 - 262-8010 in Calif. Call ( 714 ) 526-5151 ONLY §149.00 complete ★FREE Assembly Language SOURCE CODE ! Outside CA, call TOLL FREE 1-800-262-8010 USE YOUR VISA OR MASTERCHARGE - 9| All prices include UPS shipping within continental United States. Outside U.S. please add $10 per package. Calif, residents please add 6.5% sales tax. 5V4" diskettes SSDDRH . $ .76 Each DSDDRH . 97 Each DSHD 96TPI . 2.17 Each 3V 2 " DISKETTES SS MICRO. $1.32 Each TOLL FREE o r der LINE Sr 800-258-0028 r FOR INFORMATION CALL 616 - 452-3457 3M Diskettes THE CLEAN IMAGE 7 PRINTER HEAD CLEANING KIT EVSAN COMPANY P.O.BOX 21 A3 DALY CITY, CA 9A017 DYNAMIC RAMS f (415) 991-1051 MATH CO-PROCESSORS STATIC RAMS EPROMS PRINTER RIBBONS Quality replacements for most popular printers. Min./6. Applelmagewriter .$3.95 ea. Apple Scribe .$2.95 ea. Epson LX 80/90.$2.95 ea. Okidata 80/82/83 .$1.49 ea. Cleans your dot matrix print head in less than one minute. Compatible with Apple Image- writer I & II and others. Good for up to 10 cleanings. $14.95 Each FREE SHIPPING COLOR GRAPHIC CONTROLLER ; D7220AD 18.50 MOTHERBOARDS XT Motherboard $ 149.00 XT TURBO BOARD 210.00 AT Motherboard 999.00 IBM COMPATIBLE INTERFACE CARDS Floppy Disk Drive Adaptor $ 45.00 Color Craphic Adaptor 80.00 Monographic Card 99.00 Multifunction Cards 95.00 FLOPPY DISK DRIVES TEAC 5V" FD55B 94.00 FUJITSU 5V' M2551 82.00 DIGITAL REAL TIME CLOCK Min. Order $25.00. Add 10% for less than 50 disks. S&H: Continental USA $4.00/100 or fewer disks. $2.00 per dozen ribbons. Reduced shipping charge on largerquantities. Foreign orders. APO/FPO, please call. Ml residents add 4% tax. Prices subject to change without notice. Hours: 8:30 AM - 7:00 PM ET. I I Precision Data Products™ \naW\ p ° Box 8367. Grand Rapids. Ml 49518 mh Customer Service & Information: (616) 452-3457 T“ i fi III Toll Free Order Lines: Ml 1-800-632-2468 IIII’m III! Outside Ml 1-800-258-0028 PRIME PARTS 100% GUARANTEED TERMS & CONDITIONS : 1 ) Visa A Mastercards Accepted with 3% surcharge.
  • Prices subject to change. PLease call for current & volume pricing.
  • Shipping & Handling (1 lb) UPS Surface $3.00 UPS 2nd Day $4.50 California Residents add 6.5 sales

    PROMPT DELIVERY OFFICE HOURS : Monday thru Friday 7:30A1 Saturday 7:30A1 . available , please cal CANADA'S SOURCE F0RC Compilers • Utilities & Aids • Editors Interpreters • De-Bugging Tools File Access Systems • Graphics vkzhk: 'O' Lattice LIFEBOAT Complete Line of Programming Development Tools Full Service and Support - Fast Delivery CORPORATE DISCOUNTS (416) 449-9252/5 SCANTEL SYSTEMS LTD. 801 YORK MILLS RD„ 201, DON MILLS, ONT M3B 1X7 MEGAMEMORY AND DESKTOP PUDLISHING Lowest Prices In USA Fully Populated 2MB Boards Made by Tall Tree Systems HIGHEST QUALITY RAM CHIPS JRAM-2.$319 JRAM-3 LOTUS-INTEL.$389 JRAM-AT.$389 JRAM-AT3 LOTUS-INTEL.$429 JLaser-Plus PC.$599 SUPER SPECIAL OMS KISS Laser Printer W/TWO MEGABYTE JRAM-3 and JLASER-PLUS.... $2499 600x300 Dots Per Inch! THE RAM EXPLOSION 5119A Leesburg Pike, Suite 260 Falls Church, VA 22041 (703) 569-4471 Dealer Inquiries Invited VISA/MASTERCARD AMEX An Authorized TALL TREE DEALER 202 PC TECH JOURNAL MICROWAY MEANS 8087 PERFORMANCE MicroWay Europe 32 High Street Kingston-Upon-Thames Surrey England KTI 1HL Telephone: 01 -541 -5466 The World Leader in 8087 Support! I P.O. Box 79 "Kingston, Mass, 02364 USA (617)746-7341 FastCACHE-286™ Runs the 80286 at 8.5 or 11 MHz and the 80287 at 5, 6 or 11 MHz Includes 8 kbytes of 55ns CACHE Works with more PCs than any other accelerator, including Leading Edge Model D, Compaq, and Turbo motherboards Includes 8088 Reboot Switch, DCache and Diagno¬ stics . From $449 LOTUS/INTEL EMS SPECIFICATION BOARDS MegaPage™ The only EMS board which comes populated with two megabytes of cool-running, low power drain CMOS RAM installed. Includes RAM disk, print spooler, disk cache and EMS drivers For the IBM PC, XT and compatibles.. .$549 MegaPage with 0K. $149 MegaPage AT/ECC™ EMS card for the PC AT and compatibles includes Error Correction Circuitry. With ECC, 11 RAM chips cover 256K so the user never en¬ counters RAM errors Sold populated with 1 megabyte CMOS . . . $699 or with 3 megabytes CMOS cool running low power drain RAM ... $1295. Optional serial/parallel daughterboard. $95 NUMBER SMASHER/ECM Triples the speed of your PC, XT or compatible! ^ From $599 12 MHz Accelerator Plus A Megabyte for DOS PC Magazine “Editor’s Choice DATA ACQUISITION and REALTIME TOOLS DAL'“ - “Data Acquisition Language" Unkelscope " - A real time data acquisi¬ tion, control and process software pkg. 87FFT and 87FFT-2 TransView Menu driven FFT Spectrum/ transfer analyzer.$250 RTOS- REALTIME OPERATING SYSTEM A multi-user, multi-tasking real time oper¬ ating system Includes a configured ver¬ sion of Intel’s iRMX-86, LINK-86, LOC-86, LIB-86, OH-86 and the MicroWay 87DEBUG. Runs on the IBM-PC, XT, PC- AT and COMPAQ.$600 INTEL COMPILERS Available for RTOS FORTRAN-86, PASCAL-86, PL/M-86. 287 T u rbo™ -10/12 8087 UPGRADES All MicroWay 8087s include a one year warranty, complete MicroWay Test Pro¬ gram and installation instructions, 8087 5 MHz $114 For the IBM PC, XT and compatibles 8087-2 8 MHz $149 For Wang, AT&T, DeskPro, NEC, Leading Edge 80287-3 5 MHz $179 For the IBM PC AT and 286 compatibles 80287-6 6 MHz $229 For 8 MHz AT compatibles 80287-8 8 MHz $259 For the 8 MHz 80286 accelerator cards 80287-1010 MHz $395 For the Compaq 386 Call for prices on V20, V30, 64K, 128K and 256K RAM HM| 287Turbo runs the 80287 I at 10 or 12 MHz in the IBM I PC AT, compatibles and the I new Compaq 386 with 100% I software compatibility. 12 MHz.$550 PC Magazine “Editor’s Choice” A2D-160™ The Fastest 12 bit A/D Converter 287TU R BO- PLUS™ Speeds up your AT Adjustable 80286 Clock 6-12 MHz 10 MHz 80287 Clock Plus Full Hardware Reset.9 Optional 80286-10 m 8087 SOFTWARE IBM BASIC COMPILER.$465 MICROSOFT QUICK BASIC.$79 87BASIC COMPILER PATCH.$150 IBM MACRO ASSEMBLER.$155 MS MACRO ASSEMBLER.$99 87MACRO/DEBUG.$200 MICROSOFT FORTRAN.$209 RM FORTRAN.$399 LAHEY FORTRAN F77L.$477 MS or LATTICE C. CALL STSC APLA- PLUS/PC.$450 STSC STATGRAPHICS.$675 SPSS/PC 4-.$675 87SFL Scientific Functions.$250 PHOENIX PRODUCTS. CALL FASTBREAK for 1 -2-3 V.1 A.$79 HOTLINK for 1 -2-3 V.1 A.$99 160,000 Samples per second Pseudo Random Noise Generator/DAC Optional signal conditioners AFM-50 Programmable Low Pass Filter Module.$225 287TU RBO-PLUS With 80287 10 MHz. With 80287 12 MHz. CALL (617) 746-7341 FOR OUR COMPLETE CATALOG TECH MARKETPLACE THE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR THE MS DOS MARKET PRODUCT CATEGORIES SOFTWARE ACCESSORIES/SUPPLIES.207 ARTIFICIAL INTELLIGENCE.207 BUSINESS.207 COMMUNICATIONS.207 DATA BASE MANAGEMENT. EDUCATIONAL. ENGINEERING.207, 208 EXPERT SYSTEMS.208 GENERAL.208 GRAPHICS.208 LANGUAGES.208 MULTI/USER SYSTEMS. NETWORKING. OPERATING SYSTEMS.208 PROGRAMMERS TOOLS.209, 210 PUBLIC DOMAIN.210 SCIENTIFIC.211 SECURITY DEVICES.211 SOFTWARE UTILITIES ... 211, 212, 213 STATISTICS.211 TERMINAL EMULATION.211 WORD PROCESSING. HARDWARE ACCESSORY CARDS.205 COOLING DEVICES. COMMUNICATIONS. COMPATIBLES. . .. GENERAL.206 MASS STORAGE. PERIPHERALS.206, 207 SECURITY DEVICES USED EQUIPMENT . MISCELLANEOUS BAR CODING.213 PUBLICATIONS.213 Advertising Rates and Information: PC Tech Journal Marketplace PC Tech Journal Marketplace is a special economical section for product and service listings. Listings are grouped by category and sold by column inches. Second color option available. Standard Directory Listings are also available for a minimum of 3 issues at $170 per issue ($510 total). For additional information call 212-503-5115. Advertising Rates and Information: PC Tech Journal Marketplace PC Tech Journal Marketplace is a special economical section for product and service listings. Listings are grouped by category and sold by column inches. Second color option available. Standard Directory Listings are also available for a minimum of 3 issues at $ 170 per issue ($510 total). For additional information call 212-503-51 15. PC Tech Journal Classified Advertising Staff One Park Avenue, New York, NY 10016 (212) 503-5115 Advertising Director Kathryn J. Cumberlander Sales Manager Daniel L. Rosensweig Sr. Advertising Coordinator Monica Dixon Advertising Coordinator Angela Kiffin Sales Assistant Linda Annis Production Manager Anne Brockinton (212) 503-5441 Production Coordinator Elliot Appel (212) 503-5470 Account Managers Territory

    1—Anthony L. Perkins (212) 503-5116

    AL. AR. IA. IL. IN. KS. KY. AZ. CO. OR. NM. LA. MI, MN. MO, MS, NB, ND. OH. OK, SD. TN, TX, NV. AK, GA. UT. CA (ZIP 92999 & DOWN), CANADA (OTHER THAN BRITISH COL.) AND ALL OVERSEAS CALLS. Territory

    2—Lisa B. Stick (212) 503-5172

    CT. MA. ME. NH. NJ, NY. RI. ID. MT. MD, VT, DC. DE. HI, NC. SC. FL. VA. WV. WI, PA. WA, WY. CA (ZIP 93000 & UP) BRITISH COL. HARDWARE/ACCESSORY CARDS TECH MARKETPLACE THE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR THE MS DOS MARKET q smip mmm IN 80386 TECHNOLOGY SWITCH YOUR SLOW IBM "AT/XT286" INTO A FAST 386 !! WITH THE KW386-ET16 FEATURES: 75 TO 250 7. FASTER THAN “COMPAQ” 80386 SYSTEM SPEEDS OF 12 TO 24 MHZ AND AT/XT286 BUS SPEED OF 6 TO 12 MHZ SELECTABLE 80287/80387 MATH CHIP SPEEDS AT 8/10/12/14/16 MHZ HIGH SPEED MEMORY EXPANDABLE TO 16 MEG ON BOARD BGI 386 BUS INTERFACE EXPANSION CONNECTOR ON REAR OF THE BOARD HILL PROVIDE COMPATIBILITY WITH “IBM 386/RISC COMPUTER SYSTEMS KU CPU BOARD HILL TAKE ONE 16 BIT EXPANSION SLOT BUILT IN 386 BIOS HILL INTERFACE UITH “IBM BIOS" TO PROVIDE 100 7. SOFTUARE & HARDWARE COMPATIBILITY COMPUTER DIV. <215)538-3900 BGI CIRCLE 375 ON READER SERVICE CARD HARDWARE/ACCESSORY CARDS—PERIPHERALS TECH MARKETPLACE THE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR THE MS DOS MARKET Hardware Accessory Cards Z80 and HD64180 CO-processors For PC, PC/AT. Clockspeeds to 9mhz. Prices start at $199.50. Run CP/M-80 software fast. De¬ velop code for Z80/HD64180 with software ICE. Run Intel ISIS tools. Interface to real world with iSBX bus devices. High speed communications, including Apple Talk compatible. Decmation 2065 Martin Ave.

    110

    Santa Clara, CA 95050 (408)980-1678 FIXED DISK BIOS/BOOT FiXT boots from most popular Hard Disks—DA- VONG, TECMAR, IOMEGA, GT LAKES, etc. Adds XT-like BIOS interface to your disk for PC. Se¬ curity, multiple volumes, removable media sup¬ port optional. No-slot plug-in installation. Specify controller and computer with order. S80-S95. Add $3 shpg., CA tax. GOLDEN BOW SYSTEMS 2870 Fifth Avenue Suite 201 San Diego, CA 92103 (619)298-9349 IBM-AT SPEEDUP The High-Performance Speedlnjector'from Ariel As the industry's recognized leader in high-performance speedup products, Ariel has performed extensive research and developed unmatched experience in this field. Our products offer the complete solution. • XCELX 286/287 XPRESS—A Speedlnjector for_ALL IBM-ATs. Uses relia¬ ble frequency synthesis for full compatibility and high performance • 100% variable from 5-13 MHz CPU speed, while running • Mode switch defaults to standard 6 MHz or fast mode • Hardware reset switch • Speedup the 80287 independently. Choose from: Stand¬ ard—16 CPU speed, 8, 10, 12, 14, or 16 MHz actual co-processor speed • Rear mounted • One-year warranty.$ 99.95 • XCELX 286/287 XPRESS + The Speed Utilities—The Speedlnjector with software that will display exact XCELX frequencies • speedup hard disk by 50% • speedup keyboard reaction time • correct floppy disk access.$139.95 • FAST 80286-10—For CPU speeds of 10+ MHz.$299.95 • FAST 80287—8,10,12,14,16 MHz.Call • FAST RAM—100 & 120 NS, 128K & 256K.Call • Mil-Spec Crystals—The famous Ariel Crystals. For early ROM ATs. Available: 16-17-18-19-20-22-24 MHz.$ 19.95 increase overall speed up to 300% ORDER HOTLINE: 201-788-9002 P.O. Box 866—Flemington, NJ 08822 CIRCLE 376 ON READER SERVICE CARD Tech Marketplace, the home of the power buyer. DIGITAL SIGNAL PROCESSOR The Model 10 coprocessor board is based on the 16/32 bit Tl TMS 32010 and is designed for ap¬ plications in communications, speech, instru¬ mentation, and numeric processing. A IK complex FFT takes 90ms. Offered with onboard 12 bit 40 Khz A/D and D/A. Includes all utility and applications software. $650-3850. Dalanco Spry Suite 241 2900 Connecticut Ave. NW Washington, DC 20008 (202)232-7999 PC ANALYZER Real-Time debugging package for your PC or XT. Complete with board and debugging software. Also allows you to use your own software de¬ bugger. Nonintrusive operation, simple to in¬ stall. Operates with DOS & QNX. Price $995. Free shipping. Sofpak Technologies, Inc. 215 Stafford Road, Unit 101 Ottawa, Canada K2H 9C1 (613)726-1908 PC-SPRINT “ PC-Sprint is the most cost effective PC Speedup product on the market. ” —Computer Shopper Magazine • Run your PC, XT or clone at 7.38 mhz. • 280% Speedup (Norton SI rating) • Speeds up all software— you can see the difference • External speed switch • External reset button • Change speed “on the fly" • Compatible with 8087 • Works with all color or mono displays • "Slotless” plug-in on most PCs • Includes: Selectable top speed, instructions, war¬ ranty , tool, remote mount switch, free BBS subscription $0095 V20 add $10. Call for infor- mation on other products Exec-PC, Inc. P.O. Box 11268 Shorewood. Wl 5321 (414) 242-2173 CIRCLE 377 ON READER SERVICE CARD Truly Low Cost PC Imaging! I X. $ 295 < — complete — =IMA GE A CE11= Video Capture System • Digitize video from cameras, tuners, and VCRs directly to your IBM PC display • 320 x 200 x 4 levels • 1.3 sec. full screen capture • Complete with hardware card, software, cable, and manual I qcIge F Iectrqmcs P.O. Box 338 • Streamwood, IL 60103 =(312) 837-6553= CIRCLE 378 ON READER SERVICE CARD General VIDEO LAN ‘LINK SYSTEM’® FOR IBM, PC, PC/XT, PC/AT labs. Instructor has complete control of all trainee computer moni¬ tors. Instructor can 1) transmit image, 2) receive trainee image or 3) transmit any trainee image to any/all trainees. Color or mono. Software in¬ dependent. Increases instructor efficiency and trainee comprehension. APPLIED COMPUTER SYSTEMS, INC. 3060 Johnstown-Utica Road Johnstown, OH 43031 1-800-237-LINK CREATE A DISKLLS PC! PC-R0MDRIVE allows users to create a “Disk¬ less PC" capable of booting a ROM-resident copy of MS-DOS and/or user application programs. PC-R0MDRIVE consists of a PC-compatible R0M/PR0M expansion board and the PC- R0MDRIVE software. PC-R0MDRIVE is priced at $195 for single units. Quantity discounts and OEM arrangements available. MC/VISA ALDIA SYSTEMS, Inc. P.O. Box 37634 Phoenix, Az. 85069 (602)866-1786 Peripherals SPEECH SYNTHESIS SynPhonix: TRUE Unlimited Speech Synthesiz¬ er for IBM-PC/XT/AT/jr & compatibles. This low power short card includes an SSi263 speech chip, amplifier and speaker. Software includes Text-to-Speech, Phonetic Editor, Talking Clock & demos. Can be programmed with BASIC and other languages. Prices start below $200. S ynPhonix Electronic Speech Articulator Artie Technologies 1311 N. Main St. Clawson, Ml 48017 (313)435-4222 HARDWARE/PERIPHERALS—SOFTWARE/ENGINEERING TECH MARKETPLACE THE COMPR EHENSIVE GUIDE T O PRODUCTS AND SERVICES FOR T HE MS DOS MARKET Peripherals DATA INPUT DEVICES TPS provides Bar Code & Magnetic Stripe Readers for simple installation IBM PC, AT, 3161, 3163,3164, 3191, 3194 terminals, as well as many other microcomputers and terminals. No card slot or RS-232 port is required, and the readers are transparent to all software. A bar code print program (code 39) is available for the PC & AT at only $50 with the purchase of a reader. A magnetic encoder is also available for the PC & AT. TPS Electronics 4047 Transport Street Palo Alto, CA 94303 (415)856-6833 PC-PROMPAK ROM Expansion for PC! Aldia systems introduces PC-PROMPAK, a “half¬ sized” PROM/ROM expansion board for IBM and IBM compatible PCs. PC-PROMPAK will sup¬ port up to six 28-pin JEDEC compatible devices (ex: 2764,27128,27256,27512,6264, etc.) with individually selectable address ranges. Prices start at $125 for single units. Quantity discounts and OEM arrangements available. MC/VISA. ALDIA SYSTEMS, Inc. P.0. Box 37634 Phoenix, AZ 85069 (602)866-1786 CP/M & 1.2Mb AT ON PC With MULTI-DISK card & UniForm-PC use 3.5, 5.25 & 8-inch single & double density CP/M format as DOS diskettes on your IBM PC or XT. Many MS-DOS formats supported including IBM AT 1.2 Mb. HP-150 & Data General 1. Over 200 formats. Both MULTI-DISK & Uniform-PC for $225. Disk drives & adapter cable available. PS Engineering P.O. Box51068 San Jose, CA 95151-5068 1-800-369-2398; 1-800-423-7171 in CA. EPROM/EEPROM PROGRAMMER Programs 2716-27512, 25xx, 68764/66 eproms via RS-232. Also 874x, micros, 28xxA & 52Bxx eeproms. Automatic Baud rate select, built in menus, no personality modules. Price: $250. Mention this ad for free terminal software. 16 BIT I/O MODULE $75 For control of input or output lines via RS-232. Use with modems for remote control. INTELLITRONICS P.O. Box 3263; Tustin, CA 92680 (714)669-0614 Software Accessories/Supplies ••SOFTWARE PUBLISHING •• GDS offers a wide variety of services that will help get your software to the market. Address your needs with GDS. • IBM style cloth/vinyl 3-ring binders/slips • Labels, sleeves, disk pages... • Disk duplication with 100% verification • Bulk diskettes • Shrink wrapping and assembly • Quick turnaround A well-packaged product can make the differ¬ ence in making a sale. Call us NOW. VISA/MC Glenco Development Systems 3920 North Ridge Avenue Arlington Heights, IL 60004 (312)392-2492 Artificial Intelligence TURBO EXPERT Full Scale IBM-PC Expert Systems/Ready To Consult. $34.95. Runs on all compatibles.

1. THE STOCK MARKET EXPERT

2. THE EXECUTIVE HEALTH EXPERT

3. THE PSYCHIATRY EXPERT

4. THE TURBO EXPERT TOOLKIT III

Please specify # when ordering. Thinking Software, Inc. 46-16 65 Place Woodside, N.Y. 11377 (718)429-4922 Business TRANSPORTATION RESEARCH TSA88 Transportation Simplex Algorithm (up to 510 sources, sinks or trans¬ shipment points) TNET88 Transportation Network System (networks up to 510 nodes & 16K links) TPR088 Transportation Problem Solver (shortest path, tours up to 50 stops) Req. 192K, color graphics adaptor. $99 each w/ 8087 support, User’s guide. Write or call for our brochure. EASTERN SOFTWARE PRODUCTS INC. P.O. Box 15328, Alexandria, VA 22309 (703)549-5469 Tech Marketplace. . . the comprehensive guide to products and services for the MS DOS market. Communications PC SERIAL DATA ANALYZER Use your IBM PC or compatible to analyze data streams between two serial devices (up to 9600 BAUD). Two windows display each devices transmission in ASCII or HEX. PC can also act as a terminal for either device. Invaluable tool for debugging serial interfaces. Disk & manual $150. Triple C Software 2897 SW 13th St. Fort Lauderdale, FL 33312 (305)583-0687 Engineering SIMULATION GPSS/PC is a full-power version of GPSS, the most popular mainframe simulation language. Specifically designed for interactive use on to¬ day’s high-speed microprocessors it is loaded with features such as interactive graphics and animation. Using GPSS/PC, you can predict the behavior of complicated real world systems. MINUTEMAN SOFTWARE P.O. Box T171 /B. Stow, MA 01775 1-(800) 223-1430 1-(617) 897-5662 (MA) METAL FABRICATORS PC/Cultist takes input from your bill of mate¬ rial—Detail drawing and calculates the best cutting combination for any length stock and prints a shop ready cutting list and scrap report. Also an optimization feature finds best multi length for mill orders. Price $300. Demo Disk $25.00 THE JOSEPH ALBERT CO. P.O. Box 611 Blue Island, Illinois 60406 (312)349-9032 ENGINEERING SCREEN PLOT Screen plot engineering graphs. Single & mul¬ tiple graphs, regular & cross plot capability. Fi¬ nal report format. Input data from key-board or disk. Run your application programs, dump data to disk then plot. Easy to use, quick. Ask for 8087 support if desired. Not copy protected. IBM-PC. $39.95. Lonney S. Pauls, Engineering Software 22032 S. Springwater Rd. Estacada, OR 97023 (503)630-2594 FINITE ELEMENT ANALYSIS Full-featured SAPIV finite element program for 3D static structural analysis. Includes all origi¬ nal elements-trusses, beams, plates, 2D plane, axisymmetric, 3D solids. Solves large prob- lems-up to 700 nodes. IBM/PC or compatible. Complete program for only $295! Try the 70 node 3D truss/beam version—$39. APPLIED SCIENCE & DEVELOPMENT, INC. Suite 141,169 Southeast Cary Parkway Cary, NC 27511 (919)467-4614 DISK COPIER Fast (one minute) Simple (one button) Reliable (one board) $995 (one price) 275 Santa Ana Ct„ Sunnyvale, CA 94086 (408) 737-8441 CIRCLE 379 ON READER SERVICE CARD SOFTWARE/ENGINEERING—OPERATING SYSTEMS TECH MARKETPLACE THE COMPREHENSIVE GUI DE TO PRODUCTS AND SERVICES FOR THE MS DOS MARKET Engineering CAN WE TALK? You bet we can! BlueStreak Plus emulates 13 terminals including VT100, multiple Comports, Baud rate to 19.2, Modem commands via AT command set, Resident mode. What’s more, you can customize BlueStreak Plus using languages like C, Turbo Pascal or Dbase. Create turnkey applications. Why pay more? BlueStreak Plus, $89.95 Lang-Allan, Inc. 711 Clay St. Winter Park, FI. 32789 (305)629-5788 ENGINEER’S AIDE • Pipeline/Ductwork Sizing • Pump/Fan/Compressor Sizing • Heat Exchanger Sizing • Orifice/Control Valve Sizing • Project Financial Analysis • Conversion Calculator • Specification Writer Pull down menus, Pop-up help windows, Single Screen entry & results-ALL above for $395 (into price, $back guarantee). Mac Interface for IBM &MAC. ENGINEERING PROGRAMMING CONCEPTS P.O.Box 925 Camarillo, CA 93011 (805)484-5381 Expert Systems CxPERT for Expert Systems C programmers interested in using expert sys¬ tems technology will love CxPERT. Al features such as explanations, why, frames, av pairs, le¬ gal values and more are completely compatible with C. Create executable systems with no roy¬ alties. $165 + $5 s&h. MD add 5%. CK/MO/ Visa/MC. Req. C compiler & DOS 2.0+. Software Plus 1652 Albermarle Dr. Crofton, MD 21114 (301)261-0264 General PUBLIC DOMAIN SOFTWARE IN C Over 115 volumes of public domain software in CP/M & MS-DOS formats. • editors & compilers • text formatters • communications packages • many UNIX-like tools Write or call for more details. C Users' Group THE C USERS’GROUP P.O. Box 97 McPherson, KS 67460 (316)241-1065 TAPE/DISK CONVERSIONS Conversion services to or from over 500 com¬ puter systems: • Magtapes • Micro Computers • Mini Computers • Word Processors • Typesetters Our conversion capabilities surpass most in the industry. Pivar Computing Services, Inc. 165 Arlington Hgts. Rd.

T

Buffalo Grove, IL 60089 (312)459-6010 DOCUMENTATION-BY MAIL™ Technical writing service specializing in long¬ distance production of economical and timely manuals for small, medium-sized and large de¬ velopers. Tutorials, user’s guides, reference manuals. Fixed price contract, professional quality, quick turnaround. Call for credentials, sample and free estimate. BNP Enterprises, Inc. 20370 SW 84 Ave. Miami, FL 33189 (305)253-2317 GREAT SOFTWARE, CHEAP Only $5.95 per disk for absolutely smashing Shareware and Public Domain programs. Mon- eyback guarantee. PC-Outline, DOSamatic, PC- Write, File Express, Chess, Poster/Banner, Util¬ ities Galore plus Databases, Arcade and Adven¬ ture Games, and lots more! IBM PC, PCjr., & compatibles. Send for Free Catalog. PLUS 33495 Del Obispo, Suite 160Q Dana Point, CA 92629 Graphics MetaWIND0W’7TurboWIND0W'" Advanced graphics toolkit provides Xerox Star/ Apple Macintosh style graphics on your IBM PC. Supports most popular graphics cards. Allows you to create pop-up menus, windows & icons; use proportionally spaced fonts; rubberband & rag lines, text or bitmap images; supports mouse- cursor tracking. Tightly optimized for use with Turbo Pascal, IBM Pascal, C, Fortran. METAGRAPHICS SOFTWARE CORP. 4575 Scotts Valley Drive Scotts Valley, CA 95066 (408)438-1550 FORTRAN GRAPHICS LIBRARY GRAFMATIC (screen graphics): 75 MS FORTRAN/Pascal, R-M/Profort, Lahey FORTRAN callable subroutines. Fully documented, prof, graphics capabilities, inc. general utility, 2-D in¬ teractive, total 2-D plots, 3-D plots and solid models. $135. H-P or H-l plotter? get PLOTMATIC, complete plotter graphics library. Interfaces w/GRAFMATIC. $135. Both $240. MICROCOMPATIBLES, INC. 301 Prelude Drive Dept. J Silver Spring, MD 20901 (301)593-0683 FORTRAN TOOLS & GRAPHICS PC-PLT: CALCOMP and VERSAPLOT Compati¬ ble Graphics Package for the Fortran Programmer. Supports CGA, EGA, Tecmar and Printer Graphics. $325 PC-TOOLS: 125 Subroutines and Functions Giving Fortran Programmers Complete access to the PC. $125 ONTAR Corporation 129 University Road Brookline, MA 02146-4532 617-739-6607 35mm SLIDE FROM YOUR PC COMPUTER SLIDE EXPRESS converts graphic files produced on the IBM PC into brilliant 35mm color slides with color resolution 400% better than your monitor. Leave your printouts behind. Use high resolution color slides up to 4000 line. COMPUTER SLIDE EXPRESS $9/slide. VISUAL HORIZONS 180 Metro Park Rochester, NY 14623 (716)424-5300 SCIENTIFIC DATA PLOTTING SCI-GRAF creates graphs up to 1680 X1712 dots (over 3 million pixels!) on Epson or IBM graph¬ ics, printers. Supports log scaling, overlays, point-labeling, legend creation, batch mode, wide-carriage printers, and color graphs on a JX-

  1. Requires DOS 2 or 3,256k. No credit cards. $99.95 Microcomputer Consultants (MSC) 32 WAnapamu Suite 190 Santa Barbara, CA 93101 (805)963-3412 Languages FINALLY! MODULES Add class to your compiled BASIC programs with FINALLY ! MODULES. Use pull-down WIN¬ DOWS, horizontal menus, pop-up help screens, input screen and directory managers. For use with FINALLY! Library and Quick Basic 2.0 or IBM compiler 2.0.30 day MoneyBack guar. Visa/MC/ CK/MO. FINALLY! MODULES is $99.00 +$4.00 s/h. Komputerwork Inc. Dept PCT 851 Parkview Blvd. Pittsburgh, PA 15215 (412)782-0384 Operating Systems Real-Time Multitasking Executive i No royalties i Source code included i Fault free operation i Ideal for process control i Timing control provided i Low interrupt overhead i Inter-task messages Options. ■ Resource Manager ■ Buffer Manager ■ Integer Math Library ■ Language Interfaces: C Pascal PL/M Fortran ■ DOS File Access . CP/M-80 IBM PC DOS AMX IS TM of KADAK Products Ltd CP/M-80 is TM of Digital Research Corp IBM. PC DOS are TM of IBM Corp AMX for 8080 $ 800 US 8086 950 6809 950 68000 1600 Manual (specify processor) 75 Jk KADAK Products Ltd. IF (604) 734-2796 Telex: 04-55670 206-1847 W. Broadway, Vancouver, B.C., Canada V6J1Y5 CIRCLE 380 ON READER SERVICE CARD SOFTWARE/PROGRAMMERS TOOLS TECH MARKETPLACE THE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR THE MS DOS MARKET Programmers Tools “NEW” BIT-LOCK® SECURITY Piracy SURVIVAL “>4" YEARS proves effective¬ ness of powerful multilayered security. Uses rapid decryption algorithms and small reliable port for transparent security device. NOW AVAILABLE for PARALLEL or SERIAL port. NEW KEY-L0K'“ se¬ curity device available at HALF-PRICE. MICROCOMPUTER APPLICATIONS 7805 S. Windermere Circle Littleton, CO 80120 (303) 798-7683 or 922-6410 GENSCREEN FOR MS-COBOL Cobol Source Code Generator for generating the screen section and data division cobol source code for Microsoft and IBM PC cobol. Screen Image Text files are run through GENSCREEN to produce all of the source code for your screen in less than a minute. Super fast programmer pro¬ ductivity tool $69.99. Personal Computer Development Corporation PO. Box 8556 Warwick, R.l. 02888-8556 (401)333-8704 VERSION CONTROL SYSTEM TUB™ stores ALL versions of your source in ONE compact library file, even with hundreds of re¬ visions. Updates (deltas), 5-7 times faster than Unix SCCS. Date & comments for each version, easy retrieval. LAN-shared libraries. Free public domain MAKE (with source) by Landon Dyer. DOS 2.X/3.X $99.95 $3 s/h VISA/MC. Burton Systems Software PO. Box 4156 Cary, NC 27511-4156 (919)469-3068 MODULA-2 TOOLS: $19 REPERTOIRE—the proven toolkit for Logitech, ITC & others: 250p manual (on disk): screen de¬ sign/display system; DBMS with variable-length records; multi-window editor; natural-language analyzer; over 200 low level routines. Printed manual: $15. Source code. (440K): $89. Call for free demo/doc. disk. PMI 4536 SE 50th Portland, OR 97206(503)777-8844 BIX: pmi; CompuServe: 74706,262 IBM® PC MANAGEMENT TOOLS™ • Forecasting • Inventory Control • Quality Control • Project Mgt. • Statistics. • Plant Lay¬ out • Financial Mgt. • Production Planning. 40+ New programs (not pub. dom.) w/544pg. user manual. FREE BASIC SOURCE CODE Not Copy Protected! Visa, MC, Amex, Cks & Ppd PO’s. $99.95 + $7.50 s&h +5% GA tax. Volume Dis¬ counts! Call or Write. MANAGEMENT INFORMATION SYSTEMS, INC. Dept. AA P.O. Box 98209 Atlanta, GA 30359, (404)231-1297 TURBO FORMS Bullet-Proof user data entry. Unlimited charac¬ ter & field level data verification. Create & edit forms for data entry & display without recom¬ piling source code. Flexible formatting with graphics, windows, colors & display attributes. IBM PC & compatibles. One of PC Magazines “14 HOT TURBO UTILITIES: $39.95 including S&H. MC/VISAor C.O.D. GREAT LAKES SOFTWARE SYSTEMS, INC. 2510 Capital Ave. SW Suite 203 Battle Creek, Ml 49015 (616)962-2017 END YOUR FRUSTRATIONS — MASTER YOUR SCREENS WITH Developing, testing & changing screens is tedious, frustrating, time-consuming work. Until now. With FORMIX, you can trouble¬ shoot before writing one line of code. You can even prototype the entire system with actual screens — complete with data entry. Little changes in screen design are little effort. So are major changes. Our advance panel-oriented system allows you to quickly develop complex screens that integrate several panels or windows. Plus, FORMIX has an on-line help system. You just write the application help text. FORMIX handles the rest. In short, FORMIX simplifies screen design and slashes the cost of program development. Let FORMIX handle the tedious, error-prone programming aspects while you concentrate on solving today’s application problems— and eliminating a lot of tomorrow’s. And there’s more. Contact us for details. We're ready to prove the power, flexibility & simplicity of FORMIX. An Expression of Quality Master Computer Systems, Inc. FORMIX Division 9531 West 78 Street Eden Prairie, Minnesota 55344 612/944-5220 FORMIX interfaces with ADA. Assembler. Sasic. C Cobol. Fortran & Pascal ATTENTION TURBO PROGRAMMERS! Use Turbo-Xtra to: • Break the 64K barrier • Compile Pascal Code Separately (Never recompile frequently used procedures again!) • Create memory resident libraries • Fully integrated with TURBO environment • Many libraries currently available (Btreet, Windows, Statistics, Time and date rou¬ tines, Hi-Res Graphics, more!) Only $49.95 (VISA
  2. MASTER CARD accepted)

    SYSTEMS SERVICES INTERNATIONAL P.O. Box 2865 Huntington, WV 25728 (304)529-9425 BASIC + StruBAS Developing serious applications in compiled BASIC? It’s easier with StruBAS v2.0 tools com¬ plementing QuickBASIC and IBM BASIC 2.0 with extended structured code, screens, menus, na¬ tive ISAM, Btrieve interface, and subroutine ob¬ ject library. $495 single, $1495 network. VISA/ MC. Not copy protected. Laney Systems Inc. 3 Office Park Dr., Suite 100 Little Rock, AR 72211 501-225-7755 PASCAL-to-C TRANSLATOR Industrial strength conversion from Turbo, Mi¬ crosoft, UCSD, MT+, Apollo, Macintosh, and other Pascals to K&R C. Handles nested proce¬ dures, intrinsic functions, separately compiled units and modules, all data types including long integers. Requires 512K IBM PC/XT/AT. Send up to 500 lines of Pascal and we will convert it for FREE. Site licensing from $5,000. Conversions 50 cents/line. TGLInc. 27096 Forest Springs Ln. Corvallis, OR 97330 (503)745-7476 ATTENTION TURBO PASCAL USERS! Crash the 64K Barrier Try TURBO PACKAGE now! 90 day money back guarantee! Modular Programming! Promotes REUSE of working CODE CUTS development TIME IMPROVES system RELIABILITY SIMPLIFIES program MAINTENANCE FILL 640KB with code/data any way you want VERY FEW CODE CHANGES. FASTER than chaining or overlaying SUPERMATH, FREE! With purchase of Turbo Package 40 plus LONG (32-bit math) routines Faster than real - big enough for $. ASM coding insures top performance Just $49.95 (in TX add tax) Visa/MC (no shipping chg) Write or call for more information CONVERSATIONAL COMPUTER SYSTEMS 5371 Verbena Rd. San Antonio, TX 78240 Phone: (512) 692-0353 CIRCLE 381 ON READER SERVICE CARD APL Programmers! Interface C and APL*PLUS with APL2C™! Speed up your APL code. Link to C libraries. Includes K & R C compiler. $195 Complete. FULLSCREEN Panels" 4 is here! Screen Generator and full¬ screen processor for the APL environment. Pop- ups, panels, menus, scrolling fields NO ROY¬ ALTIES, $150. Lauer Software PO Box 728 Newtown, PA 18940-0728 (609)921-6249 True Shell for BASIC SHELL any other program or batch file, includ¬ ing other compiled BASIC programs and the BASIC interpreter. Requires DOS 2+ and IBM (Ver 1 or 2) or Microsoft compiler (QB1, QB2 or 5.36). QB2 requires DOS 3+. Only $29.95 + $3 s/h. MC/VISA/COD OK. 30 day money-back perfor¬ mance guarantee. MicroHelp, Inc. 2220 Carlyle Drive Marietta, GA 30062 800-922-3383. In GA 404-973-9272 Ouelo®680j00 Software Development Tools Quelo Assembler Packages are Motorola compatible. Each package includes a macro as¬ sembler, linker/locator, object li¬ brarian, utilities for producing ROMable code, extensive in¬ dexed typeset manuals and pro¬ duces S-records, Intel hex, extended TEK hex, UNIX COFF and symbol cross references. Portable source written in “C” is available. It has been ported to a variety of mainframes and minis including VAX. 68020 Assembler Package For CP/M-86.-68K and MS/PC-DOS . $ 750 68000/68010 Assembler Package For CPM-80.-86.-68K and MS PC-DOS. $ 595 68000 “C” Cross Compiler For MS/PC-DOS by Lattice, Inc. With Quelo 68000/68010 Assembler Package.$1095 With Quelo 68020 Assembler Package .$1250 Call Patrick Adams today: Quelo, Inc. 2464 33rd W. Suite

    173

    Seattle, WA USA 98199 Phone 206/285-2528 Telex 910-333-8171 COD, Visa, MasterCard Trademarks: CP/M, Digital Research: MS, Microsoft Corporation; Quelo, Quelo, Inc. CIRCLE 382 ON READER SERVICE CARD SOFTWARE/PROGRAMMERS TOOLS—PUBLIC DOMAIN TECH MARKETPLACE THE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR THE MS DOS MARKET _ Programmers Tools ROMable CODE on PC! PCLOCATE allows PC users to develop ROM- based software from MS-DOS “Exe” files. The user specifies the physical location of all seg¬ ments. Output files are compatible with most PROM programmers. PCLOCATE supports the 8086,8088,80186,80188, and 80286 proces¬ sors. MC/VISA. ALDIA SYSTEMS INCORPORATED P.0. Box 37634 Phoenix, AZ 85069 (602)866-1786 Fortran Addenda ’86 Libraries for graphics and friendly/interactive programs. ASMUTIL2: Total PC control; printers (3), CRTs (2), disks, FULL keyboard, strings, high-speed gets/puts, line/box, fills tile paint¬ ing, CGA/EGA/Hercules graphics. BUTILE 2: In¬ put wordprocessing/editing, non-overflowing formats, window management... 100 easy to program, “smart" routines + defaults/toggles. 170 pg. manual & annotated samples. $95 alone; both $165. Specify compiler and version. A IMPULSE ENGINEERING PC CROSS-ASSEMBLERS Up to 10,000 lines per minute! Fast X-ref and Linker plus Macros and Librarian. Generates HEX, TEKHEK, S-records, and .OBJ output rec¬ ords. Over 40 micros and XENIX, MS DOS, CPM 80 and ISIS versions. Accepts MOTOROLA and INTEL directives and Mnemonics. RELMS'“ P.0. Box 6719 San Jose, CA 95150 (408)265-5411 PRODUCTIVITY TOOLS SRMS'“ Software Revision Management Sys¬ tem stores all versions of source code in a single library. Allows retrieval of any version of source and application of changes while recording when, why, and where changes were made with no du¬ plication of common code. DOS pathname, di¬ rectory, and environment variable support, typeset manual, much more. New version (2.0).$125.00. QMAKE ,M is an intelligent system builder pat¬ terned after the UNIX make utility. Only compiles those routines that have changed since last built. Support for macros, multiple entry points, com¬ mand line parameters. Integrates fully with SRMS' M .$99.00. MS/PC-DOS 2.0 (MN plus 6%) MC/VISA QUILT COMPUTING 7048 Stratford Rd. Woodbury, Minnesota 55125 (612)739-4650 IMPULSE Engineering, B.R. Strong, Jr. P.O. Box 3540 San Francisco, CA 94119-3540 (415)788-4611 MS-COBOL SCREEN/DATA DIV. MSCREEN generates Screen Section code for MICROSOFT/IBM COBOL. Paint/Edit screens. No other editor needed. Select from complete set of attributes for each field. No field terminators. Many other features! $55. COBWORK generates Data Division code for MICROSOFT/IBM/RE- ALIA COBOL. $35. TAJEVA SOFTWARE 6064 Belle Grove Cove S. Memphis, TN 38115 (901)365-4692 SCREEN MANAGER SAVE TIME! Powerful Screen Designer and Memory Resident Screen Manager Increases Pro¬ grammer Productivity! Interfaces to most languages. BASIC, FORTRAN, COBOL, C, PASCAL, PLM86, ASM. Not a Code Genera¬ tor! No Royalties. ^si— The West Chester Group PO. Box 1304 viqa/mt West Chester, Pa 19380 (215) 644-4206 FREE DEMO DISK CIRCLE 383 ON READER SERVICE CARD LINK & LOCATE LINK & LOCATE enables PC users to produce ROM- based firmware for 8086/87/186 from object files generated by popular C compilers, such as from Wizard, Microsoft and Lattice, and MASM assembler from Microsoft. Provides full control of segment placement anywhere in memory. Supports output of Intel HEX file for PROM programmers, Intel OMF absolute object file for symbolic debuggers and in-circuit emulators. Includes Intel compatible linker, locator, librarian and hex formatters. $350. Systems & Software, Inc. 3303 Harbor Blvd., Cl 1, Costa Mesa, CA 92626 Phone(714) 241-8650 FAX(714) 241-0377 TWX910-695-0125 CIRCLE 384 ON READER SERVICE CARD turboMAGIC The slickest code generator available for TurboPascal programmers. Input forms. Report forms. Help windows. Pop-up menus. Pull-down menu systems. And more! Order your MAGIC today for only $99. 30-day full money back guarantee. Requires IBM PC compatible with 256K RAM. Sophisticated Software Inc. 6586 Old Shell Road Mobile, AL 36608 (800) 225-3165 or (205) 342-7026 BOOSTERS V2.0 IS HERE! Tools for Turbo Pascal programmers who need the speed and efficiency of online code. 70+ string, video, and DOS routines—incl. Exec. V2.0 also incl. powerful new SCREEN GENERATOR, DOS SHELL, and many example programs. All Pascal and assembler source, manual, update notices. No Royalties. $40 + 4% GA tx. Visa/MC. GEORGE F. SMITH & COMPANY 609 Candlewick Lane Lilburn, GA 30247, (404) 923-6879 Real-Time Multitasking Kernel for the IBM PC display MASCOT network diagram Suite 202, 544 Princess St., Kingston, Ont. Canada K7LIC7 '. ■ Supports MASCOT modular real-time design methodology a Extensive built-in debugging facilities a Shared memory for intertask communication • Synchronization and mutual exclusion a Modular design and implementation approach allows unit and sub-network testing a Can use DOS DEBUG with application • Can access all PC-DOS facilities a C language interface (specify compiler) a Device drivers may be written in C • No royalties • $795 includes software, manual, support, updates Kingston, Ont. (6131548-4355 CIRCLE 385 ON READER SERVICE CARD FIRMWARE PRODUCTION ON PC UNK&LOCATE enables PC users to produce ROM-based firmware for 8086/87/186 from ob¬ ject files generated by C, PL/M compilers & MASM. Provides full control of segments place¬ ment anywhere in memory. Supports output of INTEL hex file for PROM programmer, absolute object file for symbolic debugger & ICE, and MS- DOS EXE file. Includes an INTEL compatible linker, locator, librarian and hex formatters. $350. Systems & Software, Inc. 3303 Harbor Blvd., C11 Costa Mesa, CA 92626 (714)241-8650 BASIC Base 007 BASIC database library including menues, passwords, program generator, query, screen control, data record control, index commands for add, delete, find, find next, find last. $15 demo with disk manual and compiled database soft¬ ware. $99 development system with library source code and printed manual. $165 for com¬ piled & all 4,000 + lines of BASIC code. Application Micro Computers, Inc. 1663 Bachan Ct. Reston, Va. 22090 (703)471-1471 -3:00 to 9:00 PM. PRE-PROCESSOR Add custom features to any language: longer identifiers, opcode, register and operator syn¬ onyms, nested macros, etc. C Source Code in¬ cluded. Not copy protected. OK to share. $19.95
  3. s/h. MC/VISA.

    SUPERTECH 11410 NE124 St.,

    6143

    Kirkland, WA 98034-4399 (206)488-9253 Public Domain TURBO PASCAL- SOFTWARE $6 Write or call for information about: • Systems & applications development tools • Programs for home and business • Communication tools & applications • Games in specialized applications • Scientific/engineering programs & routines • Graphics including animation tools TURBO S.I.X. P.O. Box 8373 Waco, TX 76714 (817)753-2182 NEW PUBLIC DOMAIN LISTING 13,000 MS DOS PROGRAMS with brief de¬ scriptions, 52 pages, $4. Also available on disks for $10 including search program. This months special set 5 disks $2 including p+h. 90 pro¬ grams including Mandelbrot Set Images, Cal¬ Tech utilities, advanced Lotus tutorial, artificial art, Freecalc V2, Genealogy V4. Send your card
  4. $4 to or call: The Public Domain Software Co.

    THE PUBLIC DOMAIN SOFTWARE COPYING COMPANY 33 Gold Street NYC, NY 10038 800-221-7372 • NY 212-732-2565 TURBO PASCAL $2/disk TSS is a BBS-by-mail, no modem needed (long distance is more $$$ than mails)! 60+ disks of Pascal files. Most incl. source code. All files compressed. Membership fee ($25) incl. free starter pkg. and 2 FREE disks with 1st order. Non¬ members $7/disk. Cat. list $5. VISA/MC/COD (s/h extra) (data) 617-545-9131 TURBO SOURCE SEARCH P.O. BOX 876 SCITUATE, MA 02066 (voice) 617-545-6677 SOFTWARE/SCIENTIFIC—UTILITIES TECH MARKETPLACE THE COMPREHE N S 1 V E GUI DE TO PRODUCTS AND SERVICES FOR THE MS DOS MARKET Scientific SCI/ENG GRAPHICS OMNIPLOT [S] (screen graphics) & OMNIPLOT [P] (plotter driver) provide integrated engineer¬ ing/scientific 2-D & 3-D graphics with NO PRO¬ GRAMMING! Menu-driven, flexible, professional. Choice of formats: tabular/line, contour, bar, pie, 3-D wire frame & much more! OMNIPLOT [S] $195. Add OMNIPLOT [P], both $295. MICROCOMPATIBLES, INC. 301 Prelude Dr. Dept. J Silver Spring, MD 20901 (301)593-0683 TECHWRITER SCIENTIFIC Complete word processing system that easily blends Greek, mathematical symbols, and chemical structures with standard text. Power¬ ful, yet easy-to-use, TechWriter features over¬ sized scientific characters, headers, footers, and automatic footing, index, and table of contents generation. CH CONH CMI SOFTWARE 1395 Main Street Waltham, MA 02154 (617)899-7244 8087 FFT/VECTOR PROCESSING The VECT0R87 library is written in assembler, includes 60 routines to speed up your number- crunching programs. Uses 80(2) 87 extensively. PC IK real FFT takes only 1.2 sec. Versions for Fortran (MS, RM, Lahey), C (MS, Lattice), Turbo Pascal -87. $150 per version with source, no royalties. Write for technical information. VECTORPLEX Data Systems Ltd. 136-100 Maitland Place N.E. Calgary, Alberta, Canada T2A 5V5 (403)248-1250 DATA ACQUISITION & ANALYSIS ‘MEASURE for data acquisition directly to Lo¬ tus 1-2-3*FOURIER PROSPECTIVE II advanced signal digital analysis ‘Lotus Manuscript & technical document preparation systenTPRIME FACTOR FFT subroutine library. Call Turbo Pas¬ cal, C, Fortran, Basic. Up to 65,520 data-points. 2D available*Turbo Pascal from Borland ‘TELEVISION for Image Communications

    8087 Coprocessors, all varieties*Dash-16A/D converter board from MetraByte. ALLIGATOR TECHNOLOGIES, INC. P.0. Box 11386 Costa Mesa, CA 92627 (714) 662-0660 NUMERICAL C SOFTWARE Computationally stable numerical routines for scientific C software developers. LINLIB con¬ tains all the basic vector and matrix routines so¬ lutions to equations, LU, QR, Cholesky factors of matrices, least squares solutions. LINLIB has splines, B-spline routines, spline interpolation, spline approximation of data. $150. INFORMATION AND GRAPHIC SYSTEMS 15 Normandy Court Atlanta, GA 30324 Call (404) 231-9582 Security Devices SMART COPY PROTECTION Attention Software Developers, are you tired of Copy Protection that: -is NOT transparent to the user. -does not allow backups. -requires I/O plugs or special media. -doesn’t support hard or cartridge disks, -makes you pay for every disk protected, -requires source code changes. -can be beaten by hardware copy boards. If so, EVERLOCK can solve these problems for only $495. Free info & demo disk available. Az-Tech Software, Inc. 426 Grandview Richmond, MO 64085 (816)776-8153 SECURE AT/XT/PC Control system access, data access! FiXT/S. Control system boot for most popular XT/PC hard disk controllers. Feature for AT-and-XT-com- patible HD controllers segments hard disk by volumes, controls access with passwords, sup¬ ports hard disk expansion. $80 $120+$3 shpg. plus CA tax. Golden Bow Systems 2870 Fifth Ave. Suite 201 San Diego, CA 92103 (619)298-9349 Statistics STATISTICS FORECASTING TWG/ARIMA—a univariate Box-Jenkins fore¬ casting package, designed for statisticians. EASI/ARIMA—same as above, for the non¬ statistician. ELF—The Statistical Package—a general pur¬ pose statistical package. Call or write for more information. $150. EACH. THE WINCHENDON GROUP, INC. P.O. Box 10339 Alexandria, VA 22310 (703)960-2587 STATISTIX™—ONLY $75! STATISTIX is a powerful and very easy-to-use interactive statistical system for micros. Used by many major universities, businesses, state gov¬ ernments and research organizations. Please check us out before you buy a statistics pro¬ gram; you’ll agree SX is a “best buy”! SATIS¬ FACTION GUARANTEED-For more info: NH ANALYTICAL SOFTWARE 801 West Iowa Avenue St. Paul, MN 55117 (612)488-4436 RATS! VERSION 2.0 RATS, the best selling Econometric software package now includes daily & weekly data, a new, easier to use 500-page manual, & many ad¬ vanced features. Use RATS for time-series & cross-section regression, including OLS, ARIMA, VAR, logit, & probit. IBM PC or compati¬ ble. $200. VC/Visa. Call for brochure. VAR Econometrics, Inc. P.O. Box 1818 Evanston, IL 60204-1818 1(800)822-8038 P-STAT® Full mainframe package for IBM PC/XT/AT & compatibles. Combines data & file manage¬ ment, data display, statistical analysis, report¬ writing & survey analysis in a single package. 4GL programming language, online HELP, menu or command driven with interactive EDITOR. $95 demo and Site License available. P-STAT Inc. 471 Wall Street, P.O. Box AH Princeton, N.J. 08542 Telephone: 609-924-9100 Telex: 466452 Pick & Choose for Your PC BMDP Statistical Software offers 40 programs for data analysis. But you can choose any com¬ bination to suit your needs. From simple statis¬ tics and plots, to t-tests, ANOVA, ANCOVA, stepwise regression, time series, frequency ta¬ bles, survival analysis and more! Call for your free catalog. Hard disk req’d. STATISTICAL SOFTWARE BMDP Statistical Software, Inc. 1440 Sepulveda Blvd. Los Angeles, CA 90025 (213)479-7799 Taxes Where Does the Time Go? TUSKER knows! TIME & USAGE KEEPER logs and reports your computer time; meets and ex¬ ceeds IRS requirements for proving tax deduction. ‘Define your own business uses *6 reports in any date range for any printer ‘Log non-computer time too! DOS 2.0+. $88. Free brochure. $4 demo disk. Craig Banning Route 3, Box 317 Big Pine Key, FL 33043 (305)872-3817 Terminal Emulation BARR/HASP INTELLIGENT RJE WORKSTATION Hardware and software communications pack¬ age for IBM PC, XT and AT. Simultaneously transmits data to host and receives output di¬ rectly to MVS/JES2, MVS/JES3, VS/RSCS, and CDC/NOS, bypassing TSO and CMS. Emulates IBM 3777-2 and HASP on IBM 360/20. Line speed: 1,200 to 19,200 baud (56,000 bps on AT). Supports multiple high-speed printers beyond 2,400 Ipm. (6,000 Ipm on AT). Features: concurrent DOS, LAN support, printer forms control, plotter support, unattended operation, easy installation. $1,290 includes Hardware & Software. B/IRR BARR SYSTEMS, INC. 2830 NW 41st Street, Building M Gainesville, FL 32606 (800)-BARR-SYS/(904) 371-3050 Utilities AT/XT/PC HARD DISK EXPANSION “Replace hard disk with a bigger one, or add a second drive! Vfeature BREAKS THE 33 MBYTE BARRIER on standard AT, XT, and compatible hard disk controllers. Includes multiple vol¬ umes, security features, selectable clusters, keyboard lock. $80-$120 + $3 shipping + CA Tax" Golden Bow Systems 2870 Fifth Avenue, Suite 201 San Diego, CA 92103 (619)298-9349 DOCUMENTATION MANAGER Create and maintain manuals - procedure man¬ uals, program documentation / system user manuals, etc. Edit files with the excellent Nor¬ ton Editor (included) Save User Defined con¬ figuration Save screen dumps to files Variety of Print Options

    $69.95 complete MasterCard/Visa Ben ix PHENIX HOSPITAL SYSTEMS 1616 Palm Avenue Deland, FL 32724 (904)736-1132 SOFTWARE/UTILITIES TECH MARKETPLACE THE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR THE MS DOS MARKET Utilities SAVE THAT SCREEN! Do you immediately reach for the PrtSc key to save screen info? What a waste of time and pa¬ per! Now, SCREENSNAP™ lets you save and re¬ call up to 9 screens at the touch of a key. Friendly with other resident programs but unlike some it is compact; will run in as little as 5K. Also in¬ cludes useful utilities to save and recall from files, programmer’s interface and sample code. Build your own help screens with your text editor, then save and recall them with SCREENSNAP. $39. Programming ARTS P.O. Box 219 Milltown, NJ 08850 Call 800-443-4160; NJ (201) 846-7242 FILE PRINT MANAGER GLISTER™ ★ Use DOS wildcards to build a list of up to 100 files to print ★ Save/restore file lists ★ Restart a file on any page after a printer jam ★ Print multiple copies ★ Control: margins, line/page length, spacing, user-formatted header/footer lines and more ★ Prints files as fast as printer is capable $49 Programming ARTS P.O. Box 219 Milltown, NJ 08850 Call 800-443-4160; NJ (201) 846-7242 XT/AT HARD DISK DIAGNOSTICS! Disk Manager Diagnostics performs extensive tests on your ST412/506 hard disks. Areas tested are: Controller, data write/read, seek test, auto¬ matic error correction(ECC), random reads and media defects. Interactive help. Excellent error detection and isolation. $49.95 + ship. VISA/MC accepted. QNTRPCK COMPUTER SYSTEMS INC. Ontrack Computer Systems, Inc. 6222 Bury Drive Eden Prairie, MN 55344 (612)937-1107 VCACHE GETS YOUR DISK MOVING! Hard disk accelerator increases speed of car¬ tridge and fixed disk operations using memory caching to eliminate repetitive disk access. Al¬ locate up to 15Mb of extended or expanded memory, or ,5Mb of standard memory for cach¬ ing disk data. Includes diskette and screen ac¬ celerator modules. Automatic and transparent after installation. $65+ $3 shpg, CA tax. GOLDEN BOW SYSTEMS 2870 Fifth Avenue, Suite 201 San Diego, CA 92103 (619)298-9349 LIMSIM Expanded Memory Simulator for the PC/AT and compatible 286 machines. Use the extended memory you already have as Lotus style Ex¬ panded Memory. Fully supports EMS version 3.2. Requires 70k of conventional memory. $50 ($75 with assembler source) plus $5 s/h. 30 day money back guarantee. Larson Computing 1556 Halford Ave.

    142

    Santa Clara, CA 95051 (408)737-0627 TallScreen—DOS POWER Natural extension of DOS. Scroll back through screen output, edit text on full screen, mark blocks to printer or file, recall commands & directories, enter multiple commands, capture screens from application programs, create user profiles. Solid tech support. PC MAG & PC WORLD calls TallScreens a Real bargain at $49.95. VISA/MC 8314 Thoreau Drive Bethesda, MD 20817 (301)469-8848 AT’s DON’T NEED 360KB DRIVES The 1.2MB drive has long been known to READ but NOT reliably WRITE on 360KB floppies. With “CPYAT2PC” 1.2MB drives CAN reliably WRITE 360KB floppies saving a slot for a second hard disk or backup tape. “CPYAT2PC” (Not Copy Protected) offers the preferable SOFTWARE SOLUTION. • NO software or hardware modification • A 360K drive is NOT required • “CPYAT2PC” program MAY reside on hard disk • Runs on IBM PC/AT and COMPATIBLES i.e. Compaq Deskpro 286/386, AT&T 6300 + , HP Vectra, Sperry PC/IT, Tandy 3000 Only $79.00 + $4.00 S/H VISA, MC, COD, UPS-B/R ORDER TOLL FREE 1-800-621-0851 XT777 TELEX EZLINK 62873089 j Dealer Inquiries Invited MICROBRIDGE COMPUTERS 655 Skyway

    125

    San Carlos, CA CA 415-593-8777 NY 212-334-1858 CIRCLE 386 ON READER SERVICE CARD CHARACTER CUSTOMIZATION CHARGENI 3.0 works with the IBM/EGA to let you modify the character set, allowing many wordprocessors to display technical material, equations or other special characters. Requires DOS 2 x or 3.x, IBM Standard or Enhanced Graphics Adapter. $35+ $2 s/h (MN add 6%). DK Micro Consultants RO. Box 6714 Minneapolis, MN 55406 (612)722-0931 THE NEWMAN UTILITIES 50 utils includes help system below and disk + system utilities $19.95 EZRUN menu. Run 1 -36 programs $19.95 CACHER. speedup disk access 10X $19.95 HELP system for DOS 3.1 + add your own $9.95 All $45, $2 demo, 15 day MB guar., $2 Ship NEWMAN COMPUTER 2 Briar Mills Drive Suite 2-A Bricktown, NJ 08724 (201)458-5169 uaid Analyzer the tool that created CopyWrite Now you can debug your own programs with a professional quality debugger - the one that unraveled every form of copy-protection used on the PC. With the Quaid Analyzer, you can: □ See occurences of any interupt, with its meaning shown on the screen. □ View memory as text or instructions, scrolling as easily as you do with an editor. □ Run until a memory location or I/O port is changed. □ Protect your hard disk from accidental destruction. □ Analyze software without the source, even when it uses countermeasures to thwart tracing. □ See all stages of the boot load. We kept the Quaid Analyzer off the market to avoid helping publishers with copy-protection. Now that copy¬ protection is gone, we can sell it to you. The Quaid Analyzer is a software tool occupying 100K bytes. It runs on any IBM PC and most MS-DOS systems without hard¬ ware modification. Quaid Software Umited $99 U.S. Jftfccan (416) 961-8243 All orders shipped at^3|jij|v^ or write to: our expense within a 45 Charles St. East day. All major credit Third Floor, Dept. 602 cards accepted. Toronto, Ontario. M4Y 1S2 Ask about Disk Explorer the program that takes over where Quaid Analyzer leaves off. CIRCLE 387 ON READER SERVICE CARD SOFTWARE/UTILITIES—MISCELLANEOUS/PUBLICATIONS TECH MARKETPLACE THE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR THE MS DOS MARKET Utilities DISK ACCELERATOR V2.0 DiskCache speeds up your hard disk access. Disk caching and ram disk in one package. Ram disk shares cache space. Transparent, flexible, con¬ figurable, no h/w changes. RAM, EMS, and AT extended memory versions incl. Not copy pro¬ tected. VISA, MC, volume discounts. No PO’s w/o prior approval. $49.00 Datamorphics Ltd., P.0. Box 820 Stittsville, Ontario, Canada KOA 3G0 Or call (613) 836-2670 DISK UPGRADE BIOS for ATs DUB-14 overides AT Drives Table to allow any compatible drive to be attached and fully used on the standard AT controller. Two ROMs plug into empty sockets on system board. Includes complete Set-Up routine and low-level format facility. Works with UNIX, XENIX, other OS and networks. $95 + $3 shpg. CA tax. vi i, GOLDEN BOW SYSTEMS 2870 Fifth Avenue, Suite 201 San Diego, CA 92103 (619)298-9349 HARD DISK EXPANSION! Disk Manager allows the installation of any ST506 hard disk on PC,XT,AT and compatibles. Volumes up to 256mb! Menu driven/auto in¬ stall, compatible w/ all vers of MS/PC DOS (does not modify DOS), up to 16 volumes, easy to use! $125+ ship. Ask about Novell product! Dealer inquiries invited. ©NTRflCK k COMPUTER SYSTEMS INC. Ontrack Computer Systems, Inc. 6222 Bury Drive Eden Prairie, MN 55344 (612)937-1107 MAKE YOUR PC SEEM LIKE AN AT! MAKE YOUR AT SEEM LIKE A DREAM MACHINE! if ANSI- CONSOLE” The Integrated Console Utility ™ FAST, POWERFUL ANSI.SYS REPLACEMENT For the IBM-PC, AT, and clones New Version 2.00 is MUCH FASTER Now blink free scrolling on CGA! Now use EMS for scroll recall! New option menu program! •Speed up your screen writing •Extend your ANSI.SYS to full VTIOO •Scroll lines back onto screen •Save scrolled lines into a file •Add zip to your cursor keys •Free your eyes from scroll blinking •Easy installation •Get 43 line EGA support •Over 50 useful options “The psychological difference is astonishing” -Lotus June 85 pg 8. “So many handy functions rolled into one unobtrusive package” -PC- World Feb 86 pg 282. “The support provided by the publishers is extraordinary.” -Capital PC Monitor May 86 pg 25. “...the best choice for improving your console...” -Capital PC Monitor June 86 pg 282. 460p Manual (w/slip case) and software diskettes $75. Satisfaction Guaranteed! Order Yours Today! HERSEY MICRO CONSULTING Box 8276, Ann Arbor, Ml 48107 (313) 994-3259 Visa/MC/Amex DEALER INQUIRIES INVITED CIRCLE3880N READERSERVICECARD Introducing ARC. It's used to create and main¬ tain data file archives for computers operating under any DOS system. But it does something that other archive and library utilities can’t. It automatically squeezes the files being saved so they take up less space. Like a can of con¬ centrated orange juice. From 20% to 90% less, depending on the kind of data being saved! So there’s more room to store data, no matter what media it’s stored on! And that’s like giving a shot of vitamin C to your savings on equipment and supplies. This compressed data can be trans¬ mitted over telephone lines in a lot less time than it takes to transmit uncom- MBBB pressed data. So you can beat the high fjyH cost of phone bills to a pulp, as well. ARC has a full range of functions for archive creation and maintenance. Including password encryption to protect data from unauthorized use. Typi cal Compre ssion Rate Program^^" - 1 ASCII f™™™ afe ^ j-n - l files I I text I n II20% to I—Qj50%to I (2 W 130%. | W 160% I System Enhancement Associates • 21 New Street, Wayne, NJ 07470 • (201)473-5153 CIRCLE 389 ON READER SERVICE CARD Tech Marketplace . comprehensive guide products and services MS DOS market. . . the to for the Miscellaneous Bar Coding BAR CODE READERS • IBM PC/XT, AT, AT&T 6300/7300 etc. key¬ board models or RS-232 interface • NO programming. Reads dot matrix • Auto-recognition and single code decoding • Reads Code 39. UPC A/E Codabar & 12 of 5 • Units in stock, 2 year warranty great margins. PERC0N, Inc. 2190 W. 11th Eugene, OR 97402 (503)344-1189 $99 BAR CODE READERS We need Distributors & OEMs worldwide. Our readers are IBM PC/XT/AT & Tandy 1000/2000 keyboard compatible, convertible to RS232 In¬ terface, have auto code distinction, need no ad¬ ditional software and are availabe from assembled board to fully packaged units. From US $99 plus wand in modest OEM quantities. ASP MICROCOMPUTERS P.0. BOX 259, CAULFIELD EAST 3145 VICTORIA, AUSTRALIA PHONE 011 61 3 5000628 (note time difference) To place your ad in Tech Marketplace call 212 - 503 - 5115 . Publications Advanced TurboPascal Book “Turbo Pascal—Advanced Applications" a new book for serious programmers. Written by the TP experts, it covers topics such as optimization techniques, interrupts, system level tools, graphics, and more. In-depth and thorough. $16.95; or with MS DOS disk $29.95. Add $1.50 shipping (US & Canada). Free info. Rockland Publishing 190 Sullivan Crossroad, Suite 107 Columbia Falls, MT 59912 (406)257-9119 AN INVITATION TO STEAL Bad copyright—or none at all? Your software may be public domain. Protect your work before you show it. Learn how to copyright software inex¬ pensively and effectively. Software Copyright Guide. $6 ppd. Innovation Press Dept. 112 Box 351 Highland, IL 62249 INDEX TO ADVERTISERS PC TECH JOURNAL FEBRUARY 1987 READER SERVICE NUMBER ADVERTISER PAGE 116 Advanced Logic Research. Cover 3
  5. Aldebaran. 24 141 Alsys.86 214 Answer Software.21 136 Arity Corporation.139 206 Array Technologies, Inc.78 122 Arrix.149
  6. AST Research, Inc.48 & 49 203 Atron.8 249 Atron., 18 105 Barrington Systems.54
  7. BC Associates.201 102 Blaise Computing.113
  8. Borland Int’l. Gatefold Cover 254 Borland Int’l.1 124 Bourbaki.141
  9. Business Engrg. Systems.200
  10. Business Opportunity Publishers.178 & 192 147 Code Blue.12 & 13 212 Coefficient Systems.88 114 ComCal.35 144 Computer Innovations.6 & 7
  11. Creative Programming Consultants... 153 145 Cresent Software.186 161 Crosspoint Systems.103 167 Crosstalk Communications.... Back Cover 261 Custom Software Systems.190
  12. C-Ware.191 217 CXI.163 110 Digiboard.194 123 Digi Data.181 178 Dynatech.29
  13. Evsan Co.202 119 FairCom.102 117 Farbware.191
  14. Flagstaff Engineering.114 READER SERVICE NUMBER ADVERTISER PAGE
  15. Gimpel Software.149 113 Haven Tree Software Limited.134
  16. Hawaiian Village.200 149 IBEX Computer Corp.191 218 IBM Corp.104 & 105
  17. Information Technologies.198 135 Innovation Computer.142 108 Innovative Data Tech.170 216 Intel Corp.30 & 31 209 Interactive Microware.191 226 Korros.143 148 Kurtzberg Computer Systems.174 128 Lahey Computer Systems, Inc.189 160 Lattice, Inc.133 163 Lifeboat Assoc.25 173 Lifeboat Assoc.144 229 LOGITECH Inc.20
  18. Lotus Development.123 125 Lugaru.112 180 Magus, Inc.Ill 263 Mansfield Software.118 133 MEF Environmental.186 259 Meta Ware Inc.60 211 Micro Data Base Systems.58 257 MicroHelp, Inc.162
  19. Microsoft Corp.23 121 Microsoft Corp.46 & 47
  20. MicroTech.22 155 Micro Way.131
  21. MicroWay...203 154 Migent.98 186 MITS.184 174 Mortice Kern.121 224 Nantucket Corp.132 191 Norcom. 154 109 Novell.165 222 Opt-Tech Data Processing.4 185 Overland Data, Inc.185
  22. PC Brand.90-93 159 PC Designs. 197 215 Periscope Company.5 146 PharLap.177 153 Plotworks.154 164 Polytron.182
  23. Precision Data Products.202 252 Pro/Am.140 175 Programmer’s Connection.41-43 143 Programmer’s Paradise.199 220 Programmer’s Shop.44 162 Programmer’s Shop.26 & 27 183 Proteus.196 READER SERVICE NUMBER ADVERTISER PAGE 223 Quadram.117 239 Quantum Software.115 166 Raima Corp.11 157 Rainbow Technology...194
  24. Ram Explosion.202 192 Realia.146 137 Ryan-McFarland.145
  25. Scantel Systems Ltd.202 187 Scientific Endeavors.186 170 Seattle Telecom.172 201 SoftCraft Inc.2 196 Software Link.120 120 Software Merchants.64 189 Software Security.84 130 Solution Systems.16 129 Solution Systems.148 177 Stargate Technologies.186 244 Stoneybrook Software.116 176 Storage Dimensions.155 195 Summit Software.14 & 15 118 Sundog.155 158 Sunny Hill Software.156 184 Sunny Tech Inc.196 231 Systems & Software.188 194 Tall Tree Systems.37 197 Tall Tree Systems.39 182 TeleVideo.138 246 Tiara Computer Systems, Inc.160 198 True Basic.82 193 TurboPower Software.28 156 Unify Corp.56 169 Upper Bound Micro Computer.147 115 Vermont Creative Software.19 127 VF Associates.194 204 Video 7. 74 150 Walonick Associates.157 243 Weltec Digital.189 214 PC TECH JOURNAL INDEX TO PRODUCTS PC TF.CH JOURNAL FEBRUARY 1987 PRODUCT ADVERTISER PRODUCT ADVERTISER IBM AND COMPATIBLE PC’S The PC2/286 Advanced Logic Research ....Cover 3 Industrial AT Korros Data Systems .141 GV 386 PC Designs, Inc.197 Compatible Proteus Technology Corp.196 TeleCat 386 TeleVideo ..7.....„.138 VF PC VF Associates . 194 MULTIFUNCTION/MEMORY CARDS Above Board PS Intel Corporation .30 & 31 Number Smasher Microway .131 PC 386 Seattle Telecom & Data .172 RT Boards Tall Tree Systems .39 GRAPHICS CARDS EGA Wonder Vega Deluxe Array Technologies, Inc...78 Video 7 ..74 MASS STORAGE HARDWARE 9 Track Tape E Tum-On E 9 Track Tape F Magtape Subsystem II 9 Track Tape Sub System C Perstor 200 S The Eagle Series U Mass Storage Product V Digi Data .181 Dynatech Systems Inc.29 Flagstaff Engineering .114 Ibex Computer Systems .191. Overland Data, Inc.185 Systems and Software .188 Upper Bound Micro Computer .. 147 weltec Digital Inc.189 PRINTERS-PLOITERS J Laser Plus DATA ACQUISITION Catalogue Tall Tree Systems .37 Interactive Microware .191 PROGRAMMER’S TOOLS Tree Diagrammer/Source Print ICD 286 Miniprobe PC Probe Mail Order DeSmet C86 Vitamin C Quick Pak PC/VI R-Tree/C-Tree Flowchart C-Tree Query Programming Tools Epsilon MDBS III C Cross Compiler Basic Programmer Screen IO Qpt-Tech Sort Plott 88 Dis-N-Data Real C/CS Fortran Btrieve The Watcher Turbo Professional/Taskview Turbo Pascal Utilities Windows for C SOFTWARE UTILITIES Turbo Power Tools Plus Sidekick, Superkey, Turbo Lightning Bookmark Command Plus Data Windows Periscope 80386 Tools Software Sentinal Speedstar Aldebaran .24 Answer Software .21 Atron .18 Atron .8 BC Associates . 201 C-Ware ..191 Computer Innovations .6 & 7 Creative Programming Consult. . 153 Crescent Software .186 Custom Software Services .190 FairCom .102 HavenTree Software .134 Kurtzberg Computer Systems .174 Lattice, Inc.133 Lugaru Software .112 Micro Data Base Systems .58 Micro Tech Research .22 MicroHelp, Inc.162 Norcom .154 Opt-Tech Data Processing .4 Plotworks, Inc.154 Pro-Am Software .140 Realia. Inc.146 Ryan-McFarland .145 Softcraft .2 Stoneybrook Software .116 Sunnyhill Software .156 Tubro Power Software .28 Vermont Creative .19 Blaise Computing .113 Borland Inti.Gatefold & 1 Corneal .35 ESP Software .152 Magus, Incorporated .Ill Periscope Company, The .5 Phar Lap Software, Inc.177 Rainbow Technologies, Inc.194 Storage Dimensions .155 MICRO-MINI MAINFRAME COMMUNICATIONS Prolog & Pascal Borland Ind.Gatefold Cover & 1 PCOX 5250 Products CXI .. 163 The Block Software Security .84 LOCAL AREA NETWORKS AT Multifiincdon Family AST Research ...48 & 49 Crosspoint 8 Crosspoint Systems .103 LEO Innovative Data Technology .170 LANbasic, LANdbase, LANscreen MITS . Z .184 Tiara Link Tiara Computer Systems Inc.160 OTHER COMMUNICATION HARDWARE V-Term Coefficient Systems .88 Digiboard Com/XI Digiboard, Inc.194 SFT Netware Novell, Inc.165 “The 386” Quadram, Inc.117 Stargate OC8000 Stargate Technologies .186 OTHER COMMUNICATION SOFTWARE Mail Order Code Blue .12 & 13 Multi link Advanced Crosstalk Communications ... Back Cover Software Link .120 EXPERT SYSTEMS/AI SOFTWARE ZAP Solution Systems GRAPHIC SOFTWARE Graph C Scientific Endeavors Corp.186 DATA BASE MANAGEMENT SOFTWARE Reflex Borland Inti..Gatefold & 1 HAL Lotus Development Corp.123 Clipper Nantucket Corporation .132 DBVista Raima Corporation .11 Simple Software Merchants Unltd.64 Unify Unify Corporation .56 OPERATING SYSTEMS MKS Tool Kit QNX PUBLICATIONS Business Publication Mortice Kern Systems, Inc.121 Quantum Software Systems .115 Business Opportunity Publ.178 & 192 SCIENTIFIC/ENGINEERING SOFTWARE StatpacGold Walonick Associates .157 OTHER SERVICES No Limit/10PRO Squish MEF Environmental, Inc.186 Sundog Software .155 LANGUAGES ADA Compiler Prolog Compiler Clarion ECO-C88-Microstat Modula-2 C-Terp Marshal Pascal F77L Lahey Fortran Programming Tools Modula 2 Personal Rexx Professional Pascal-High Language Newsletter Ouickbasic Enrich Brief Better Basic True Basic Alsys, Inc.86 Arity, Inc.139 Barrington Systems, Inc.54 Ecosoft Inc.110 Farbware .191 Gimpel Software .149 Innovation Computers .142 Lahey Computer Systems .189 Lifeboat Associates . 144 Lifeboat Associates .25 Logitech .20 Mansfield Software .118 Metaware .60 Microsoft Corporation .23 Microsoft Corporation 46 & 47

    Migent Software Inc.98 Solution Systems .16 Summit Software .l4 & 15 True Basic .82 OTHER SUPPLIES Poly V MAILORDER Mail Order Mail Order Mail Order Mail Order 8087 Boards Mail Order Util., Edit., Function, Graphics Mail Order Mail Order Mail Order Mail Order Mail Order Mail Order Polytron Corp.182 Business Engineering Systems .200 Evsan Company .202 Hawaiian Village Computer .200 ITS-Info. Tech. Svcs.198 Microway .203 Precision Data Products .202 Programmer’s Paradise .199 Programmer’s Shop .44 Programmer’s Shop .26 & 27 Programmer’s Connection ..41 & 43 The Ram Explosion .202 Scantel Systems Ltd .202 Sunny Tech, Inc.196 FEBRUARY 1987 215 FEBRUARY February 2-6 Third International Conference on Data Engineering Los Angeles, CA Sponsor: IEEE-CS Contact: IEEE-CS, 1730 Massachusetts Avenue NW, Washington, DC 20036- 1903; 202/371-0101 February 10-12 Systems Design and Inte¬ gration Conference San Francisco, CA Sponsors: IEEE and ERA (Electronic Representatives Association) Contact: Deanna Myerson, Electronic Conventions Man¬ agement, 8100 Airport Blvd., Los Angeles, CA 90045; 800/421-6816; in California, 800 / 262-4208 February 10-13 Designing Modem Soft¬ ware/User Interfaces Anaheim, CA Sponsor: Integrated Com¬ puter Systems Contact: Yolande Amundson, Manager Education Services, 5800 Hannum Avenue, P.O. Box 3614, Culver City, CA 90231; 800/421-8166; in Canada, 800/267-7014 February 12-13 Implementing DB2 Chicago, IL Sponsor: Digital Consulting Associates, Inc. Contact: Seminar Services Department, 8 Windsor Street, Andover, MA 01810; 617/470-3880 February 17-19 Computer Science Conference ’87 St. Louis, MO Sponsor: ACM Contact: Arlan DeKock, Con¬ ference Chairman, University of Missouri-Rolla, Rolla, MO 65401; 314/341-4491 February 22-28 Third Artificial Intel¬ ligence Applications Conference Kissimee, FL Sponsor: IEEE-CS Contact: Jan Aiken, Aion Corporation, 101 University, Fourth Floor, Palo Alto, CA 94301; 415/328-9595 February 23-24 Micro-mainframe Links Boston, MA Sponsor: Digital Consulting Associates, Inc. Contact: Seminar Services Department, 8 Windsor Street, Andover, MA 01810; 617/470-3880 February 26-27 IBM’s DBMS and 4GL: Strategies and Implemen¬ tation Alternatives Toronto, Ontario, Canada Sponsor: Digital Consulting Associates, Inc. Contact: Seminar Services Department, 8 Windsor Street, Andover, MA 01810; 617/470-3880 MARCH March 15-20 GUIDE 67 Anaheim, CA Sponsor: GUIDE Contact: Bill Reinberger, GUIDE International Corpo¬ ration, 111 E. Wacker Drive, Chicago, IL 60601; 312 / 644-6610 March 17-19 Reliability in Distributed Software and Database Systems Williamsburg, VA Sponsor: IEEE-CS Contact: Edwin C. Foudriat, NASA, Langley Research Center, Information Systems Division, MS 469, Hampton, VA 23665; 804/865-3535 March 22-26 Computer Graphics ’87 Philadelphia, PA Sponsor: National Computer Graphics Association Contact: NCGA, 2722 Merri- lee Drive, Suite 200, Fairfax, VA 22031; 800/225-6422; in Virginia, 703/698-9600 March 23-27 Theory and Practice of Software Development Pisa, Italy Sponsor: University di Pisa Contact: Pierpaolo Degano, Dipartimento di Informatica, Universite di Pisa, Corso Ita¬ lia, 401-56100 Pisa, Italy March 30-April 2 Ninth International Conference on Software Engineering Monterey, CA Sponsors: ACM SIGSOFT and IEEE-CS Contact: William E. Riddle, Software Design and Analy¬ sis, 1760 Bear Mountain Drive, Boulder, CO 80303; 303/499-4782 March 31-April 3 ANSYS 1987 Conference Newport Beach, CA Sponsor: Swanson Analysis Systems, Inc. Contact: Swanson Analysis Systems, Inc., Johnson Road, P.O. Box 65, Houston, PA 15342-0065; 412/746-3304 March 31-April 3 PC-based Tools for Soft¬ ware Analysis and Design Boston, MA Sponsor: Integrated Com¬ puter Systems Contact: Yolande Amundson, 5800 Hannum Avenue, P.O. Box 3614, Culver City, CA 90231; 800/421-8166; in Canada, 800/267-7014 PERFORMANCE Access 386 Multitasking Windows This DESQVIEW software can control nine (9) simultaneous MS-DOS® applications running concurrently, plus QEMM, a Lotus®/Intel® / Microsoft® (L1M) expanded memory specifica¬ tion compatible. The QEMM breaks the 640K memory barrier to 8 megabytes of high speed memory. This creates bigger spread sheets, sorts larger databases and powers through your most complex programs at pulse quickening speed! Access 386 more than triples your

    processing capacities 80386 80286 8088 18.5 5.5 1.0 ACCESS 386 more than triples your processing capacities. A 32 bit interleave memory data path eliminates through put slowdowns by doubling the flow capacities of 80286 16 bit systems. Advanced Logic Research, Inc. 10 Chrysler Irvine, California 92718 - (714) 581-6770 FAX: (714)581-9240- TELEX: 5106014525. Answer back Advanced Logic In Canada contact ALR (416) 229-6477 he Fu f Virt TM 80386 includes Special Edition Virtual Mode Machines J Is Here Touc This memory through put, plus the speed of a 16 MHz 80386 CPU will streak through industry standard software faster than anything else! ACCESS 386 Advanced Logic Research offers a complete family of 8088, 80286 and the NEW 80386 based microcomputers in a variety of configura¬ tions. Please contact your nearest authorized ALR dealer for brochures on the enhanced IBM compatible microcomputer manufactured by Advanced Logic Research. Advanced Logic Research, Inc, the first com¬ puter company to introduce the 80386 system. Advanced Logic Research again is the first company to include a special edition of DESQVIEW® software to take advantage of the 80386 virtual mode. Novell® Network Spoken Here NETWORK 386™ NETWORK 386™ IS NOW AVAILABLE WITH NOVELL NETWORK 286™ AND ALR/LAN™ (ARCNET COMPATIBLE) CARDS MODEL - ACCESS 386-40 • 80386-16 32 bit processor • 16MHz CPU Speed • Phoenix BIOS • 1Mb RAM Expandable to 10.5 megabyte • 1.2MB floppy • 42 Mb/28 MS hard disk drive • Serial port, parallel port • 80287-10 or 80387 support • 8 system expansion slots • QEMM - Expanded Memory (LIM) software • DESQVIEW™ - Special Edition MODEL - ACCESS 386-80 As above with 80 Mb/28 MS hard disk drive in place of 42 Mb/28 MS drive. ACCESS 386 rs a Trademark of Advanced Logic Research. DESQ is a registered Trademark of Quarterback Office Systems. MS-DOS is a registered Trademark of Microsoft Corporation. Novell and NetWare are registered Trademarks of Novell. Inc. CIRCLE NO. 116 ON READER SERVICE CARD No matter where you take CROSSTALK Mk.4 ♦ ♦ ♦> You won’t encounter a PC communications program with as much versatility as CROSSTALK®Mk. 4. It has everything we could imagine you needing today. More protocols — X.PC, Xmodem. Kermit, and our own CROSSTALK. More terminal emulations, including complete IBM 3101, DEC VT-IOO, andTeleVideo 900 series. Concurrent communications capability -- up to 15 sessions, each displayed in its own expandable window, or on separate' ’pages. ’ ’ Error checking at high speeds. Prepared script files to extract information from most popular information utilities. A powerful programming language to create customized scripts. Finally, we’ve built-in a bit of tomorrow, m i V CROSSTALK Mk. 4 is based on a modular architecture that means we can add new capabilities by phone, as they come along. So you’re getting more than today’s standard in communications software. 1 You’re getting tomorrow’s as well. % \ pnnCCTAl [/"-Digital Communications Associates. Inc. I vKv\l/\U\ 1000 Holcomb WoodsParkway l 1 . COMMUNICATIONS Roswell. Georgia 30076 i ,
    ... . ..... m I MM • m JLI