Micro_Cornucopia_#29_Apr86 Micro Cornucopia #29 Apr86
Micro_Cornucopia_#29_Apr86 Micro_Cornucopia_%2329_Apr86
User Manual: Micro_Cornucopia_#29_Apr86
Open the PDF directly: View PDF .
Page Count: 108
Download | |
Open PDF In Browser | View PDF |
$3.00 April-May 1986 Faster & Cheaper Upgrading Your XT To A Turbo For (almost) Nothing .... 28 If your PC or clone feels slow, here's a cheap solution. Importing Systems From Taiwan ........................ 38 What are the problems you face doing your own importing? What are the benefits? Here are the answers. Porting A 68000 Assembler To The Atari ST ............ 72 Good inside look at the 68000 and the ST. PC RP/M2, A Designer's View Of a CP/M Emulator ...... 94 What are the problems faced by emulator writers and users? C Extravaganza C Prototyping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Prototyping is the most exciting part of the new C standard. The C Environment .................................... 12 Do the C interpreters really help? -.:t 0 ,.., 00 00 f'I') Benchmarking The Speedy PCs In C .................... 32 Benchmarking the 6.67MHz clones, 280s, V20s & the ST with simple C routines. 0~ a The C Competition .................................... 18 -.:t -.:t Following on the heels of the very popular Pascal Runoff. I'I'- Turbo Pascal® and the Turbo Pascal family give you a perfectly integrated program:rning environment and unbeatable speed, power and price Turbo Pascal is faster than any other Pascal compiler, and at only $69.95, a distinctly better deal. But it offers much more than speed, power, _ and price. There's also the complete Pascal family of products that's grown from 1'to 9 products in just 3 years. Turbo Pascal 18 backed by a complete range of "toolboxes" that give you most of the progI'a.mmJng tools you'll ever need. The Turbo Pascal farn1ly 18 never statlc, but 18 continuously expanding, with new prcx:lucts llke Turbo Editor Toolbox™ and Turbo Gameworks.™ The secret of software success 18 not merely low price, but top quallW, allied with complete documentatlon, llke our 400-page reference manual. All of which are some of the reasons why Turbo Pascal 18 clearly the leader, and the recipient of awards llke ro Week's "Product of the Year" and ro Magazine's "Award for Technica.l Excellence." And some of the reasons why Turbo Pascal has now become a de fBCtiJ worldwide standard with more than half a II1.IH1on users. • 'furbo Pascal 3.0 • 'furbo Pascal with the 0087 SUPJXlrt • 'furbo Pascal with BinaIy Coded Declmal, (BCD) • 'furbo Pascal with 0087 and BCD • 'furbo Database TooItx))c™ • 'furbo Graph1x Toolbox'I'M • 'furbo '!Utor@) • 'furbo Editor Toolbox • 'furbo GameWorks I want the best. o 'furbo 'futor teaches you Coded Decimals to ellm1nate roundlng-off errors for business applicatlons. o 'furbo Database 'lbolbox 18 a perfect complement to Turbo Pascal. It includes a complete library of Pascal procedures that allows you to search and sort data, and build JXlwerful database applicatlons. o 'furbo Grapblx'lbolbox includes a library of graphics routines for 'furbo Pascal programs. Lets even beg1nn1ng progra.m:mers create high resolutlon graphics on the IBM@) ro and true compatlbles. Does complex buslness graphics, 88Sj wlndoW1ng, and stores screen lInages to memory. I···········, .YESI = . step by step how to use 'furbo Pascal, with commented source ccxie for all program examples on diskette. Save $109.70 when you choose the Turbo Jumbo Pack 6 different Turbo Pascal products for on..{y $245.001 For only $245.00, you get 'furbo Pascal 3.0 and Turbo Editor Toolbox and Turbo Tutor and Turbo Graph1x Toolbox and Turbo GameWorks and Turbo Database Toolboxl All 6 for only $245.00, which saves you $109.70. Th1s l1m1ted offer 18 good. through September 1, 1986, so act now. Turbo Pascal has grown from a single product :3 years ago to a fa.mi.1y of9 toda.y. Success breeds success, so the 'furbo Pascal farn1ly hllB flour1ahed. Your choices now include: o 'I\Irbo Pascal 3.0 combines the fastest Pascal compiler with an integrated development environment. o 'I\Irbo Pascal with 8087 math ccrprocessor SUPJXlrt for heavy duW number-crunching, and/or Binary • . ~~~~ ~'!f;J~ZJ;cIi!ft;J1J ~~~ Borland products Include Turlxl P!lBcal; Turlxl Ilata.OO.ae Toolbox; Turlxl Llghtn1ng; Turlxl OraphJx Toolbox; Turbo TutDr; Turlxl OameWorkB; Turlxl EdItDr Toolbox; Rellex, The Ana\vSt; SldeKlck; S1deklck, The MBclntooll Olllce ManBger; Travellng SideKIck; 8Il.d SuperKey- all of whlch are tredelDlll'ks of Borland internatIOnal, inc. or Borland/Ana!ytJca, Inc_ 'l\Jrlxl PaecaI and Turlxl TutDr are reg1BterOO tredelDlll'ks, and Turlxl OameWorks, Turlxl EdItDr Tooltxix, Turbo Datahaae Toollxlx, Turlxl OraphJx Toollxlx, Turbo Llghtnlng, and MlcroStar are tredelDlll'kB of Borland internatJonal mM IB a ~rOO tradelDlll'k of internatIOnal Bua1nooa MachInes Corp, Copyrlght 1900 Borland internatIOnal BI-lOO6 • • To order by phone, or for a dealer nearest you, • call (800) 255-8008; • • in CA call (800)742-1133 • • Copies _ _ Turbo Pascal 3.0 Turbo Pascal wlBOB7 • _ Turbo Pascal wlBeD $109.90 $ _ _ • • _ Turbo Pascal wlBOBl. BCD $124.95 $ _ _ • • _ • _ ,. _ • : • Product • • • '. _ _ • _ Price Tota/s. $69.95 $ _ _ $109.90 $ _ _ • Turbo Dalabase Toolbox $54.95 $ _ _ • Turbo Graphix Toolbox Turbo Tutor $54.95 $ _ _ $34.95 $ _ _ • • Turbo Editor Toolbox $69.95 $ _ _ Turbo GameWorks $69.95 $ _ _ • '$245.00 $ _ _ • g~ts: 1fJ: r:~d ::: ~~;s c~:: $_ _ • MJount enclosed $__ Turbo Jumbo Pack • • Prices include shipping to all US cities. • • carefully describe your computer system: Mine i~' _ B-bit _ 16-bit • • fuse: _ PC-DDS _ MS-DOS • • JPIM-BO _ CPIM-B6 • • My computer's name and model is: Thedisksilelusei~'03W • Payment: • Credit card expiration date --.l--.l_ • VISA MC • 05W DB' • ICard# Bank Drafl • Check IIIIIII I I I I I I I NOT COPY-PROTECTED **60-DAY MONEY·BACK GUARANTEE ;. ,• ' . Name: • Shipping Mdress: • • '. _ _ _mw•. 'x"'*""""'............''''''''''""""""W"'"B;'_ _............_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _... • City: State: • • • • . • • I Zip: • • Telephone: • • ~~::~~;t';t~fayment by bank draft, payable in US dollars I• ;:~;in~~h;~C~d~Z! ~i~u~~~g,~i;t~~r:u,u~~:r:e~~~Nice I I• COOs and purchase orders WILL NO Tbe accepted by Borland. 'Limited Time Oller !_. ~. ~_'"W . • ~----------c~PLlJG INTO S A V I N G S ! - - - - - - - - - -....... FOR YOUR I.B.M. DataMac Dual Async card with 256K. no memory. requires 8250 plus your cable for second port. DataMac Dual Async Card (card only) comes with one active port. you add the second 8250 and connector. with documentation DataMac 5.25" hard disk controller card. $3995~ S~\..~ RODIME 20 MEG 5.25" HARD DISK CONTROLLER CARDS 3 1/2' FLOPPY DRIVES SHUGART . SA300 D.T.e. 1403·D (shown with optional software and adaptor) control two 8" 851 DSDD and two 8" 1000 type • BRAND NEW -SOOK -80TRACK -135 T.P.I. - THESE DRIVES GIVE YOU THE SUPER RELIABILITY OF A HARD DISK. THEY ARE COMPATIBLE WITH ANY COMPUTER WHICH USES A 1770. 1771. 1791 OR 1793 CONTROLLER CHIP - THEY WILL FORMAT SINGLE. DOUBLE OR QUAD DENSITY. DEPENDING ON YOUR SOFTWARE. _ XEROX 820 (LITTLE AND BIG BOARD). KAPRO. AMPRO AND LOOK ALIKES AND H.P. SINGLE SIDED ARE JUST A FEW OF THE COMPUTERS THIS DRIVE CAN BE COMPATIBLE WITH These drives are brand new in factory cartons. full size with documentation (similar to photo) THE SENSIBLE 5 1/J' DISK DRIVE CABINET KIT $24995 D.T.e. 520·1 control four 5.25" DSDD and two ST·506 type hard disks ~ Closeout 95 $69 Only 10 len HOST ADAPTER FOR ABOVE CONTROLLERS (for most popular Z·80 computers) The Winif Adapter and software 121 FUSED POWER SUPPLY 5A (il 5V 4.8A «I 12V 121 E.M.1. FILTER. 6 AMP 121 SURGE PROTECTION 121 POWER SWITCH 121 POWER SUPPLY SHIELD 121 CONNECTOR AND FAN CUTOUTS BUILDING A ROBOT? CONSTRUCTED OF HEAVY GAUGE ALUMINUM. THIS UTILITY DISK DRIVE CASE WILL ACCOMMODATE: 5 '1." HARD DISKS. FLOPPY DRIVES. HALF HEIGHTS. FULL HEIGHTS. 213 HEIGHTS. CONTROLLER CARD AND SINGLE BOARD COMPUTER. OVERALL DIMENSIONS 10'l."x 10"x7" ONLY COLOR IS TAN SWITCHING ·POWER SUPPLY WECANH~LP! 12VDC $11995 STEPPER MOTORS LESS POWER SUPPLY $7995 1------------------------1 BUSINESS TELEPHONES STOP PAYING MONTHLY PHONE CHARGES These phones are not a cheap import. These arli! the same reliable I.T.T. phones that have served us both for many years. Standard 10 button business telephones serviced by Bay T~lephone Co. ONLy~995 STANDARD 6 LEAD 4 PHASE STEP ANGLE: 7.5' RESISTANCE PER PHASE: 36 OHM SHAFT: ';." X II." O.D. lW'x 2';." (3'1e" FLANGE) REG PRICE $32.00 Real Power From a Famous Manufacturer delivers: 10 amps at SV. 8 amps at 12V. measures only 8.5" by 4.5" and is only 2.25" thick with pinouts $ft95 ~ $695 EA. UNIVERSAL STEPPER MOTOR DRIVER KITS .. JJJ~J}lL GO ON LINE WITH UNITED PRODUCTS Take advantage of the many items that space does not allow us to advertise. Use your computer to down load our weekly specials and hard to find items. On line 24 hours a day. 7 days a week. 300 or 1200 baud. even parity. 8 bits with one stop bit. The phone number is: (206) 682·5593 New items are added weekly. Don't miss out. call each week. Ball Brothers TV.120 (shown above) '. 16mhz. Xerox 820 compatible. P-04 phosphor BIW. 12" UNIVERSAL STEPPER MOTOR DRIVER KIT Ij)tHf .... '.lICATlO,... $59 95 (limited supply on hand) MONITORS (/ PUtffCf fOil IIOIIOIIC'''I'IDM""" ONLY (LIMITED QUANTITY) 3995 EA. WITH PURCHASE OF ANY STEPPER DRIVER KIT limited to color selection on hand BRAND NEW 6 BUTTON SUSINESS TELEPHONES ALL THE STANDARD FEATURES INCLUDING BUZZERS AND RINGERS. LOOKS THE SAME AS ABOVE PICTURE. COLOR. CHOC. BROWN. $ $29 95 ~ 0 \l '~"tiglare for photography sO\": AudioTronics 964-02 Xerox 820 compatible. TTUX- Y input. 9" green screen FOR DIRECT CONTROL FROM YOUR COMPUTER • Control almost any stepper motor. forward! REVERSE and step sequence. • For stepper motors rated 1.7 VDC12.0VDC - Uses a power supply with an output of between 3.0 VDC and 12.0 VDC • Modifications included for motors rated above 12.0VDC • Inputs!outputs are on a standard 22 pin edge card connector (.156 spacing) 4';' x 6'12 card. G-IOepox. TECHNA-KIT cat# U.S.M.D.-C Ball Brothers TX-7 Xerox 820 compatible. 7". flat ~O 1123 Valley Seattle. WA 98109 TECHNA-KIT SAME SPECS. AS U.S.M.D.-C cat.# U.S.M.D. except a stand-alone driver - On board clock (user optional) • No edge connector $1995 Hours: 9-6 Sat. 9·5 PHONE (206) 682-5025 Terms: All orders are shipped EO.B. Seattle. Wash. e.O.D:s are OK with cash or certified check MasterCard and Visa accepted On orders over $50.00 in the continental U.S. we pay the freight. All advertised items are subject to prior sale MICRO CORNUCOPIA, #29, April-May 1986 1 MICRO CORNUCOPIA EDITORIAL ' By David Thompson The Micro Technical Journal Round The Bend? Editor & Publisher David J. Thompson Operations & Advertising David Pogue Associate Editors Rebecca Ozrelic Gary Entsminger An Irish Suggestion Pat O'Leary of Dublin, Ireland, suggested "Round The Bend" as a replacement for "Editorial.' , It's the best suggestion so far because it: 1) Has at least two meanings, 2) Has a certain rhythm to it (like "over the hill," or "through the woods."), 3) Doesn't sound too serious, and 4) Is the only suggestion I've received. If you've got an idea, or if you like Pat's suggestion, let me know. Accounting Sandra Thompson Office Manager Tracey Anthony Technical Department Larry Fogg User's Guide? User's Guide, "The Magazine For CP/M Computer Users" has disappeared, apparently permanently. In the last issue (Oct 85) the editors (Cheryl Rhodes and Tony Bove) wrote: "First the good news: User's Guide is returning to an all CP/M magazine, and we are starting a magazine called PC User to handle PC-compatible users. We hope this winning combination, together with our new magazine, Desktop Publishing, will generate enough new business to allow us to continue to publish the best articles and most useful tutorials we can find." That was the first paragraph of the editorial. The last paragraph ends thus: "With these steps (the three magazines) we grow from a very small magazine publishing company to a "publishing empire". Step aside, CBS, McGraw-Hill, Gulf + Western!" PC User has been shut down (before mailing the first issue). User's Guide is on hold, and on March I, Desktop Publishing becomes the property of PC World. (Tony and Cheryl will be continuing as editors of Desktop Publishing.) Staff Assistants Dorcas Dsenis Cary Gatton Laura Logan Renee Katter MICRO CORNUCOPIA (ISSN 0747-587X) is published bi-monthly for $16 per year by Micro Cornucopia Inc. 155 NW Hawthorne Bend, OR 97701. Second-class postage paid at Bend, OR and additional mailing offices. POSTMASTER: Send address changes to MICRO CORNUCOPIA, PO Box 223, Bend OR 97709. SUBSCRIPTION RATES: 1 yr.(6 issues) ...................... $16.00 2 yr.(12 issues) ..................... $30.00 3 yr.(18 issues) ..................... $42.00 1 yr. (Canada & Mexico) ............. $22.00 1 yr. (Other foreign) ................. $30.00 Make all orders payable in U.S. funds on a U.S. bank, please. CHANGE OF ADDRESS: Please send your old label and new address. MICRO CORNUCOPIA P.O. Box 223 Bend, Oregon 97709 CUSTOMER SERVICE: For orders & subscription problems call 503-382-5060, 9 am to 5 pm, Pacific time, M - F. For technical help call 503-382-8048, 9 am to noon, Pacific time, M - F. RBBS - 24 hrs. 300-1200-2400 baud 503-382-7643 Copyright 1986 by Micro Cornucopia Inc. All rights reserved ISSN 0747-587X 2 C Competition Here we are announcing a C competition, and I haven't come up with an appropriately punishing name for it. (I'm obviously suffering from an advanced case of pun rot.) Despite this major obstacle, we are pushing forward, preparing for the greatest C competition in computer (and pre-computer) history. See the C entry form in this issue ,for more details, and then start writing. Where To From Here? Things get pretty interesting around here at 5 o'clock. Some days, of course, that hour sees only heels as folks (continued on page 76) MICRO CORNUCOPIA, #29, April-May 1986 CONTENTS April-May 1986 Issue No. 29 72 C'soning 6 12 32 An introduction to 68000 assembly language and the ST. Prototyping in C The new C standard includes prototyping. 90 The C Environment How do you select C interpreters? And, do you really need them? 94 Benchmarking The Speedy PCs (and CP/M Emulators) In C The C Competition Grab your Columns Speed-up and more 24 28 C'ing Clearly Moving C to MS-DOS. 38 On Your Own Special feature on doing your own importing. 43 Pascal Procedures Futuristic software. 48 Kaypro Kaypro adds four more nails to CP/M's coffin. 56 In The Public Domain Dynamite new public domain offerings. a 60 5-100 Bus Turbo DOS discussion. a a a 66 Xerox I/O and system speed. 69 86 World CCP/M Turkish style. 81 Culture Corner Brain teaser. 92 Technical Tips Simple circuit monitors the phone line. Relief From The 300-baud Blahs A light review of a fast bird. Upgrading Your XT To A Turbo For (almost) Nothing .,.,.o0"--,, OSCII.1.ATOR CHIP I'IILL OUT PIN 12 ";~r ~ nA~~A ,,~.~ 8Q Virtual Memory There's nothing simple about substituting hard disk memory for RAM. 47 16 Monitoring A Modem With A Bridge Warm up the soldering iron. 35 PC RP/M2, A Designer's View Of A CP/M Emulator The problems designers face when writing a CP/M emulator for an MS-DOS System running the V20 processor. compiler and have at it. 20 Real Time Clock Routine For The Kaypro 4 Turbo Pascal makes time almost easy. What do you gain when you speed-up a PC? How much faster is the 8 MHz Atari ST? 18 Porting A 68000 Assembler To The Atari ST a a a a a a Drive Select Reversing Switch Swap drives at the flick of a switch. 50 Adding Directory Hashing To CP/M 2.2 As directories get larger, linear searches take longer. 62 Future Tense 98 Tidbits Gary looks closely at CP/M emulators and much more. 104 The Last Page PC upgrades, Taiwanese BIOS and The Way of Life. Computing In The Netherlands A Dutch University instructor looks at happenings in Europe. By Gary Entsminger MICRO CORNUCOPIA, #29, April-May 1986 3 Popcom Modems I purchased a Popcorn X100 modem about a year ago and soon discovered that something in my network of phone lines, power lines, EIA cables, .CPU, printer, and mgdem was acting as a perfect antenna for a local radio station. I filtered the power line, filtered the phone line (Micro C Technical Tips, Issue 23), shielded everything that was shieldable, and still had the problem. I then called the modem manufacturer, Prentice Corp. They had a fix; I was elated. The modem was shipped, repaired, returned - and I still had the 'problem. I called Prentice again, and they agreed to call my home that evening. During the call, we went through various tests of the modem. They isolated the problem to the phone line and designed a new filter for the modem. A week later I received the modem with the new fix, and I have not had a single occurrence of the problem since. This kind of service is outstanding. I . highly recommend the Popcorn X100 for its advanced functionality and the service department that supports it. Dave May 264 Maple Lane Roseville MN 55113 Satisfying Software Customers When I heard about a software package called "The Landlord" by Systems Plus, Inc., it seemed just what I needed to tame an unruly property management business. SPI referred me by name to a local software store which didn't stock the package, but readily agreed to special order it. Three weeks later they received it. $500 lighter, I took it home. I was extremely disappointed. When I checked the front of the training manual for a tech help number, I discovered that their information rate is $60/hour (payable by charge card). "Letters to the company went unanswered. When I called, the sales manager told me that my local software store could train me. However, my local software store had never seen the product before, and had no agreement 4 with SPI. As of today, still no satisfaction. My second fiasco was with a p:wduct called Palantir. This is a word processor which was supposed to have been optimized for Turbo DOS. I bought a copy, loaded it, and watched my computer crash. The local distributor was helpful - he told me I was doing something wrong. So I shipped the whole thing back, but he refused to return my calls, or to give me a refund. A not-so-bad story: Poor Person Software (Micro C advertiser) told me up front that their software might not run on my Turbo DOS system. They were right. I shipped it back, erased it from my system, and was promptly refunded the entire price, including shipping. I believe a software merchant either needs to let you examine a product before purchase, or have a guaranteed refund. Sidney J. Balcom P.O~ Box 4034 Alexandria VA 22303 K & R IIC" Clone I made a discovery. Mix C ($39.95) and Alcor C ($139) are the same. At least the manuals are the same right down to the typos. Mix C is a virtually complete K & R "C" compiler except that you can't initialize external floats, doubles, and &array_elements. Extensions to K & R include the ability to prevent type conversion in char and float values passed to a function, and most of the Unix V extensions (not enumerated data types, however). The object code produced needs the runtime library unless you use a linker option to produce stand-alone programs. You don't want to do that if you don't have to: the overhead is tremendous! Compile and link speed is acceptable. Execution speed? A couple of benchmarks out of the August '83 Byte show startlingly variegated results. Fib.c calculates the 24th value in the Fibonacci series 10,000 times by means of a recursive function call. The worst speed Christopher Kern noted was MICRO CORNUCOPIA, #29, April-May 1986 Aztec's: 237 seconds, or just under four minutes. When Mix C had passed 12 minutes with no sign it meant to finish this year, I hit the reset button. For string.c, which calculates the length of "Now is the time for all good men to come to the aid of the parity" 25,000 times, Kern got times ranging from C/80's 357 seconds (six minutes, more or less) to Whitesmith's 138 seconds. Mix did it in 54. (The test for C/80 was slow because Kern was using version 2.0, whose string-handling was, to be polite, primitive.) (I couldn't get the Mix register version to compile.) Mix C is a very good and economical full-C compiler affording you totally portable source code. Write: Mix Software, Inc., 2116 E Arapaho, Suite 363, Richardson TX 75081. R.W. Odlin' 2127 Hoogdal Rd. Sedro-Wooley WA 98284 Reader's Wish List What new products would I like to see? I mention them every chance I get, but no one has taken me up on them, yet. They are: 1. Some little boxes the size of halfheight, and full-height drives (with or without a door). For someone who has encouraged so many to mutilate their Kaypros and leave them with gaping holes, I'd say you have no choice but to help them undo the damage. 2. Ever tried to find a small toggle switch (sp3t) to give your Kaypro the choice' of thinking in 2.5, 4, or 5MHz? They're rare as hen's teeth. Why not make a little money for staff doughnuts by selling them? 3. While you're poring through industrial supply catalogs looking for the sp3t switch, why not look for a tiny, four-direction toggle switch. Taking off on the joystick article of a few issues ago, you could make a small keyboard joystick to zoom around on the screen and avoid using those illogically arranged cursor keys. Mike W. Perry" 6035 40th NE Seattle WA 98115 (continued on page 86) Idea ProcessingPure and Simple. Announcing the all NEW aUT-THINK," outline processor. See your ideas like you've never seen them before! Capture your fleeting ideas. And keep 'em organized with OUT-THINK, the incredible, new outline processor from KAMASOFT. OUT-THINK unleashes the power in your workhorse CP/M computer and turns it into an Idea Processor. r Get extraordinary: + ease of use Most functions are less than 3 keystrokes away! + ease of learning Completely interactive; no programming! + performance Write more and faster than you ever dreamed possible! + idea leverage OUT·THINK your competition! Once you've entered your ideas, you can get them out with a full complement of formatting, printing and file conversion options (including Wordstar compatibility). From a two-page report to the Great American Novel, OUT-THINK will rotate your headers and footers with page numbers and give you a Table of Contents to boot. OUT-THINK is brought to you by KAMASOFT. We pion.eered outline processing and brought this amazing " new technology to CP/M computers. For over 2 years, our KAMAS programmable outline processor has been widely acclaimed: ~ ----------------------Rush me my choices now: special introductory OUT-THINK the simple and easy to use outline processor: $4995 * KAMAS $9995 * the programmable powerhouse: KAMAS COMBO PACK the power and the glory: O $12995* "Includes SlH U.S. &Canada. Overseas add: $10 for OUT-THINK; $30 for KAMAS or COMBO PACK. KAMAS owners: Send us your master disk and $25 for OUT·THINK. o i5 0 II 0 Payment Enclosed Card No. OUT-THINK supports your thinking process and keeps you in touch with your ideas. Thafs because OUT-THINK works the way your mind worksnaturally. Begin by brainstorming. OUT-THINK lets you jot down ideas quickly, as you think of them. If you want to elaborate, you can add text with full screen editing. ~ Then develop your ideas using a familiar . outline format. ~ Change the structure ~ as easily as you ~ change your mind. ~ Move an idea and all attached text moves with it. You can keep track of your main line of thought by collapsing the details from view. Then, exp~nd portions of the outline to develop the specifics when you need to. By collapsing and expanding, you can maintain an overview and literally see how your ideas fit together. And OUT-THINK is fast. Your ideas remain at your finge·rtips. OUT-THINK can locate and retrieve by keyword-even a misspelled onein less than a second per outline file. "Outline processing might be the next wave in software, and KAMAS is a good place to start." - Ezra Shapiro, BYTE " Exp. Date Signature Name liThe outline processor ;ss/mple, easy to use,and will appeal to aI/ users." ' - Mark Renne, INFOWORLD City "If you're a· writer using a CP/M Telephone Address based system, get KAMAS. You'lJ love it./t's that simp/e." '- Marybeth Highton"FOGHORN State Zip Our software is available for most CP/M computers. Tell us about yours: uConsiderinf/ the quality of the , program itself, the documentation, ,and newsletter, it has to berated an outstanding value.". ' - Thomas Tucker, PROFILES Computer Make/Model Disk Size: 05%" SSDD o 5W'DSDD D8"SSSD Requirements: CP/M 2.2 or above (48K TPA). Minimum 200K of disk storage. 80 column x 24 line screen. (Note: KAMAS requires 56K TPA and Z80 processor.) Our new OUT-THINK is simpler and easier to use than KAMAS. Yet, it offers more printing and formatting options, better handling and control, and faster operations. And at $49.95 your ideas have never had it so good. OUT-THINK is simply spectacular. Try it for 60 days. If you're not completely satisfied, return it for a full refund. Terms: All orders prepaid. PO's accepted when accompanied by payment. Foreign checks must be drawn on US banks in US funds. MAIL ORDERS TO: KAMAlaFT. 2525 SW 224th Ave., Dept. 111 P.O. Box 5549 Aloha, OR 97007 If you create and organize text in the course of your work, you owe it to yourself to get OUT-THINK.· CALL IN YOUR ORDER: 503-649-3765 "But for some people, enough is never enough. Some like the challenge; others need the power. For you, we have the KAMAS Combo Pack. You get OUT·THINK's ease of use coupled with the extra horsepower of the KAMAS programming environment. And both use the same outline files. ----------------------Wordstar is a registered trademark of MicroPro, Inc. Z80 is a registered trademark of Zilog, Inc. CP/M is a registered trademark of Digital Research, Inc. KAMAS, KAMASOFT, and OUT-THINK are trademarks of KAMASOFT, Inc. © 1985 KAMASOFT. Inc. MICRO CORNUCOPIA, #29, April-May 1986 5 Prototyping In· C By Jack Purdum, Ph.D. Ecosoft, Inc. 6413 N College Ave Indianapolis IN 46220 Type-checking gains a foothold in this freewheeling language. C was developed as a do-everything language - for everything from writing operating systems to creating applications. Now there's another, Modula II, which combines C's versatility with Pascal's strict data checking a definite improvement. Now there is an ANSI standard for C and that standard includes prototyping, a process which makes it possible for C programmers to use C compilers to do data type checking. C is.still alive and well and kicking. ompared with most popular languages (say, FORTRAN), C is still a relatively young language. Brian Kernighan and Dennis Ritchie defined the C language "formaliy" in 1978 in "The C Programming Language," referred to throughout this article as "K&R". C A Little C Background K&R has remained the standard, although a maturing C has brought inevitable changes. For example, structure passing and assignment were implemented on several compilers about the same time K&R was published, but weren't permitted in K&R. Other modifications have also become common (for example, enum and void). K&R, as it is commonly used today, no longer has a one-to-one correspondence with C. That's not good, since deviations in a language can make porting programs difficult. To prevent things from getting out of hand, the American National Standards Institute (ANSI) established the X3Jll committee to define a standard for the C language. The committee has cleared up the gray areas in K&R, standardized elements of the language, and has added several .new features to the language to reduce some of C's shortcomings. One major enhancement to C is prototyping. Prototyping - Problem Solver Because C is so flexible you can call a function using the wrong data type. For example, IseekO is a function used to locate a certain area within a file. See Figure 1. How many times have you done something like calling IseekO using an integer instead of a long data type for offset? Making such a mistake is possible because C doesn't provide type checking. That is, C doesn't check to see that the data type used for offset matches what the function expects for offset. Another common mistake is calling a function with the arguments in the Figure 1 - Iseek What Is Proto typing? Prototyping is the X3Jll committee's method for catching reversed or missing function arguments in C. In addition, prototyping spots mismatches of data types in function arguments. An example will help illustrate what prototyping is and how it works. Giveri the function definition of IseekO in Figure 1, the prototype for IseekO is: long lseek(int, long, int); This statement tells the compiler: 1) the function returns a long data type, 2) the first argument must be an int, 3) the second argument must be a long, and 4) the last argument must be an into Technically, the first type specifier Figure 3 - Code Fragment long Iseek(fd, offset, position) int fd, position; long offset; 'include (stdio.h) long lseek(int fd, long offset, int position); { main( ) /* The details of the function */ { } int fd, offset, pOSition; lseek(fd, offset, position); /* Line xxx */ Figure 2 - Type Mismatch lseek(fd, position, offset); } 6 wrong order. For example, given the correct definition for IseekO in Figure 1, you can also mess up the function call to IseekO . See Figure 2. Of course IseekO expects to see offset before position. In other situations a programmer may even forget a function argument when using the function. In some cases, such mistakes cause obvious problems (e.g., the file can't be written to), while reversing or omitting function arguments may produce bugs that are harder to spot. MICRO CORNUCOPIA, #29, April-May 1986 Byte Magazine called it, isn't part of a prototype; only the information "between the parentheses" pertains to prototyping. Therefore, items 2 through 4 are prototyping information. A compiler which supports prototyping would catch the mistake shown in Figure 2. Why? Because offset and position are of different data types, and a prototyping compiler would know this; a "straight" K&R C compiler would not. Another variation of prototyping allows identifiers to be part of the prototype. For example, you may also say: long lseek(int fd, long offset, int position); In this example, the prototype includes identifiers to help the programmer recall what the variables are. Note that the identifiers are for documentation purposes only. The prototype doesn't define the variables fd, offset, or position. (And you can't use them until they are defined.) Now suppose you have the code fragment shown in Figure 3 in your program. First, notice that we define fd, offset, and position within mainO even though they're present in the prototype. We do this because those variables aren't defined by the prototype; they exist only for documentation purposes. Since they don't actually exist, no storage has been allocated for them. (A way around this is discussed below.) Now look at the rest of the program. The call to IseekO in Line xxx is incorrect because offset is declared to be an int, but the prototype expects a long. With prototyping you get tighter type checking than with pure K&R C. No Argument A prototype for a function that has no function arguments would be double drand(void); which states that drandO should never be called with an argument. If you later (incorrectly) used drandO as: x = drand(y); the compiler will generate an error because the prototype states that drandO cannot have an argument. Consider the following prototype examples: "CIARCIA'S SUPER SYSTEM" void func1(void, int); /* Wronglll */ void func1(int1, int2); /* OK */ The first is an incorrect prototype because the function says: "func10 is a function that returns nothing useful from the function and that it has no arguments followed by an int." It makes no sense to mix "void" with any other data types in the list of arguments. The second (legal) prototype expects two integer arguments and returns nothing of value. Prototyping With Pointers To Function What if you need a pointer to a function that returns an into For example, consider the prototype for a bubble sort function void bsort(unsigned, int (*)(), int (*)() ); which states that bsortO requires three arguments: 1) an unsigned, and 2) two pointers to functions that return an int. In this example, identifiers would help make the prototype more readable. Therefore, we might use - The S8180 Computer/Controller Featured on the cover of Byte, Sept. 1985, the SB180 lets CP/M users upgrade to a fast, 4" x lW'sing/e board system. • 6MHz 64180 CPU (Z80 instruction superset), 256K RAM, 8K Monitor ROM with device test, disk format, read/write. • MinilMicro Floppy Controller (1-4 drives, Single/Double Density, 1-2 sided, 40/77/80 track 3Y.'; 5%" and 8" drives). • Measures 4" x 7W: with mounting holes • One Centronics Printer Port • Two RS232C Serial Ports (75-19,200 baud with console port auto-baud rate select). • Power Supply Requirements +5V +1-5% @500 rnA +12V +1- 20% @40mA • ZCPR3 (CP/M 2.2/3 compatible) • Multiple disk formats supported • Menu·based system customization S8180-1 S8180 computer board w/256K bytes RAM and ROM monitor ....................................... $369.00 void bsort(unsigned nelem, int (*compare)(), int (*swap) () ); This makes it a little easier to understand what bsortO is all about. Again, keep in mind that nelem, compareO and swapO are not defined in the program and cannot be used as variables or function calls. They have to be defined elsewhere in the program. Prototyping With Variable Arguments Some functions have a variable number of arguments, the data type and number of which cannot always be known at compile time. The printfO function is a common example. How can we prototype such functions? The standards committee created a new symbol for C called an ellipsis to designate functions in which we have (continued on page 9) S8180-1-20 same as above w/ZCPR3, ZRDOS and 810S source ............. $499.00 .Quantity discounts available- ~COMM 1BO-M-S optional peripheral board adds 1200 bps modem and SCSI hard disk interface. TO ORDER CALL TOLL FREE TELEX 1-800-635-3355 643331 •. ~ For technical assistance or to request a data sheet, call: 1-203-871-6170 ~~ ~- Micromint, Inc. 25 Terrace Drive Vernon, CT 06066 MICRO CORNUCOPIA, #29, April-May 1986 7 THE CHALLENGER XT - 186 NOT JUST ANOTHER CLONE FULLY IBM COMPATIBLE BUT FOUR TIMES FASTER CHALLENGER XT-186 SINGLE BOARD COMPUTER Standard Features: Add-On Cards: elntel 80186 CPU, 8MHz Color Graphic Board: RGB and composite. 320X200 Color/B&W, 640X200 B&W only, light pen input ...................... eOn-board 640K, parity checked RAM memory e8 slots for I/O Interface Board e4 channel 8237 DMA . e8 channel 8259 Interrupt e3 channel 8253 Timer elBM PC-AT-like Bus with true 16 bit data pbth Optional Features: $1 20.00 Multifuntion Card: Real Time Calendar Clock with Battery Backup, 2 RS-232 ports built-in, 1 parallel port ....................... $1 20.00 Floppy Diskette Controller Card: Double-sided, double density, can support 4 floppy diskette drives ...................•.... $70.00 e10 MHz operation e8087 Numerical Processor support The Challenger XT-186 offers full IBM PC-XT compatability. It supports industry standard operating systems: MS/DOS, PCDOS, 1.0 through 3.1, UNIX and CP/M and runs all existing software with higher performance. The XT-186 mother board can directly replace any existing PC or PC-XT mother board, as it has the same physical dimensions and mounting holes. The Intel 80186 and 640K on-board 16 bit path RAM makes the XT-186 the fastest PC currently aVdilable. Monochrome Display Card: Supports 256 character codes on 4K ROM, 4K display buffer on static RAM with tn monochrome video output ............ $1 1 0.00 Monochrome Graphic/Printer Card: Two graphic pages with a resolution of 720X348, software supplied to allow the use of the basic graphic command, cenfronic parallel printer interface ............. $1 40.00 MOTHER BOARD, 8MHz, 640K, RAM, 8 I/O slots Visa and Mastercard Accepted $795.00 Please Add 53.00 Shipping HOLLISTON COMPUTER P.O. Box 615, Chepachet, R.I. 02814 401-568-0522 IBM PC-XT-AT PC-DOS are trademarks of International Business Machines Corp. MS DOS is a registered trademark of Micro-Soft Corp. CP M is a registered trademark of Digital Research. Inc. 8 MICRO CORNUCOPIA, #29, April-May 1986 PROTOTYPING IN C (continued from page 7) no prior information about the number or type of arguments that might be used with the function. The ellipsis is simply three periods (... ). Using the ellipsis, the prototype for printfO becomes: int printf(char *, ... ); or int printf(char *control, ... ); which says that printfO returns an int, and that its argument(s) will always include (at least) a pointer to char (the control string), but may have other unspecified arguments with unknown data types. Creating Your Own Prototypes Use a prototype form when you write your own functions. (If your compiler doesn't support prototypes, it probably will in the near future.) This will give you the benefits of type checking that prototyping offers. If you used to define a function as in Figure 4, the new (prototype) form would be as shown in Figure 5. Note that the prototype form does not use argument declarations; they are part of the prototype. Also notice that Line 1 of the prototype could be "block-moved" into a header file for future use as a prototype if the function definition were not in the file. (Don't forget the required semicolon at the end of the prototype if it's in a header.) Notice in Figure 5 that a prototype Figure 4 - Function Without Protoyping char *func1(c, fp, num) char *c; /* Argument declarations */ int num; FILE *fp; { that's part of a function definition does allocate storage for the variables in the prototype, and those variables can be used in the function. This isn't true for prototypes that declare the function rather than defining it. (Think of a declaration" as simply the function name and its prototype, while a definition" contains the complete code, including the function body.) 1/ II Prototyping The Standard Library Given all of the above, it would seem like a lot of trouble to go through your compiler's documentation and create prototypes for all the functions in its library. Fortunately, the firm that manufactured your compiler has probably done this for you. Although deviations should be expected, you'll probably find something like Figure 6. ' , If a System V header file exists for a function, functions associated with that header file will most likely have their prototypes in that header file. Some examples are given in Figure 6. Note that the last header file in Figure 6 (Le., stdlib.h) is not etched in stone. However, several compiler manufacturers are following the pattern and file names suggested in Figure 6. Consult your compiler documentation for specifics. } Figure 5 - Function With Proto typing char *func1(char *c, FILE *fp, int num) /* Line 1 */ { } Cast Off Like anything that's new, it takes a little time to get comfortable using prototypes. However, once you get used to the idea of prototyping, you'll find it reduces certain types of bugs that used to be particularly difficult to uncover. if your compiler supports prototyping, use it. It will payoff handsomely in the long run. Figure 6 - System V Header File Examples Header File Likely Functions to be Included stdio.h math.h malloc.h ctype.h stdlib.h fclose(), printf(), scanf(), etc. sqrt(), ceil(), tan(), etc. malloc(), calloc(), free(), etc. isdigit(), isxdigit(), etc. (Most System V functions that do hot have a header) ••• ------------------------------------------------- MICRO CORNUCOPIA, #29, April-May 1986 9 ICs N ~N tltC"! .. 0 i 0" I£1ffi .-;§ in ,c ~ ~a:: cd cij~ t-.o -eo ~t: o~ a: «0" oeo cnQ. E a: WO U I 0"': ;::E~ U Q)Q.. ~~ ~~ 0 "¢ co PROMPT DELIVERY!!! SAME DAY SHIPPING (USUALLY) r- Digital dynamics • .. • • •• $16.00 8087 -2 Math Coprocessors DYNAMIC RAM 64Kx4 150 ns 256K 256K 256Kx1 120 ns 256K . 256Kx1 150 ns 128Kx1 150 ns 128K 16Kx4 150 ns 64K 64K 64Kx1 150 ns EPROM 27C256 32Kx8 250 ns 16Kx8 250 ns 27128 8Kx8 250 ns 27C64 2764 8Kx8 250 ns STATIC RAM 6264LP-15 8Kx8 150 ns Z s:lI') $4.75 3.37 2.79 4.75 2.50 1.35 o~ Ill') U)ffi U)@J W;::E S:2« a: a: 0..' 0 WT""" ZX o~ >-co t-~ ZC $7.35 3.15 3.75 2.95 i=cn «0 ::::>0 aT""" .. OPEN 6% DAYS: WE CAN SHIP VIA FED-EXON SAT. NO EXTRA COST FORFE[)'EX SATDEUVERY ON ORDERS RECEIVED BY Th: Std Air $6/4 Ibs Fr: P-One $13/21bs MasterCardNISA or UPS CASH COD Factory New, Prime Parts .JJ P 00 MICROPROCESSORS UNLIMITED, INC. 24,000 S. Peoria Ave., BEGGS, OK. 74421 (918) 26"'", -4961 • NEW - SEETIME has alarms! You can set up to 4 alarms, each containing date, time & message. • NEW - Screen saver feature turns off the screen after a set time with no keyboard activity. • NEW - ConfiguratIon program to set SEETIME parameters: - time/date location on screen - military or civilian display format - cursor blinking or steady - screen saver timeout • SEETIME can input the time or date into any program, print the screen and display alarms. • SEETIME is part of TIMEPRO: - APPT personal schedule manager - TD file time/date stamping & backup - LOG computer usage logging TIMEPRO runs on '84 & later Kaypros with Kaypro, Kenmore or Advent clocks ...............$74.95 SEETIME upgrade for TIMEPRO owners ....$14.95 Prices shown above are for Feb. 24, 1986 Please call for current prices. Prices subject to change. Please expect higher or lower prices on some parts due to supply & demand and our changing costs. Shipping & insurance extra. Cash discount prices shown. Orders received by 6 PM CST can usually be delivered to you by the next morning, via Federal Express Standard Air @ $6.00, or PrIority One @ $13.001 Shipping and Handling - $2.50 (206) 772-0291 Visa, MasterCharge 12448 83rd Ave S., Seattle WA 98178 ZENET NETWORK through twist pair MSC-LAT ~ ~ KA YPRO™ users can share the advantage to LATI. Just take off your main KAYPRO board and put LATI-K into your cabinet. A" advantage of LATI is yours now/ • 6Mhz H064B 180 (Z80 upward compatible) 512K byte on board (256K installed, 384K RAM DISK) • LAN:ZENETport 800K baud CSMA CO twist pair bus type upw 500 meters HOLC • Floppy: 3.5, 5 and 8 inch, dis density. dis sided and dis track automatic desitylformat checking • Hard disk: SCSI interface on board • Video: 80 X 24 characters (color) and 640 X 200 pixels color graphic 12BK byte video RAM character set is downloaded from disk • Timer: battery back up calendar • Serial: RS232C X 2 and TTL X 1 • Parallel: Centronics type, 16 bit TTL, 7.8 bit keyboard port (32 characters FIFO) • as: Turbo Dos, MPIM (multiuser) banked CPIM plus (single user) • Size: lOX 6 inch 4 layered • Assembled and tested • BIOS source code available • Completely faster than other Z80SBC MSC'PCX 8088 expansion card for LAn soon available WORLD SMALLEST COMPUTER • Full personal CPIM system in palm 4mhz Z80 256K RAM (128K RAM DISK) . Serial. RS232C X 2 automatic baud rate checking • Parallel: Centronics type printer port • Floppy: 3.5 inch micro floppy disk drive 800K byte (option 5, 3.5 inch drive dis sided dis track. automatic density checking) MSC- M~C • Full featured CP~ • Z80 4mhz 128K Byte RAM Floppy: 3.5, 5 and 8 inch dis density. dis sided and dis track upto 4 disk drives Automatic densityl format check • Serial: RS232C X 2 • Parallel: Centronics type, 16 bits W, 7.8 bit keyboard port • Timer: battery back up calendar CPIM plus IS a regIstered trademark of DIgItal Research Inc • Video: 80 X 24 high speed CRT controller Z80 IS a regIstered trademark of ZlioJ Inc .05' CPIM plus bank version included Turbo Dos IS a regIstered trademark of Software 12000 Inc S: .. lOX 6' h 41 d Mountam SIde Computer and ZENEr are trademark of Southern Pacif,c LImIted • Ize: mc ayere .J USA MSC-ICO ED Distributors England-Quanta systems 01-253-8423 Denmark-Danbit 03-662020 Finland-BB. Soft 90-692-6297 India-Betamatix PVT Ltd. 0812-71989 Australia-LAMRON PTY. Ltd. 02-808-3666 10 • as: CPIM plus bank version • BIOS source code available • Completely faster than other Z80SBC MSC·MTClP Full assembled pcb of MTC Under $189 in OEM quantity ~ •• • • plus system • BIOS source code available • ORI CPIM plus manual $50 • New word processor program for MSC-ICO ADD $50 • Completely faster than other~Z80SBC MSC.HCS. • . •• ExpanSion card tor ICO RAM disk (upto 2M byte) and S~SI hard disk Interface card for ICO With installation program distributor _ _ _ _ _ _ _ __ Manufacturer and International distributor SOUTHERN PACIFIC Sanwa Bldg., 2-16-20 Minamisaiwai, Nishi, Yokohama. JAPAN 220 Phone: 045-314-9514 Telex: 3822320 SPACIF J 21 Altarinda Rd. Orinda, CA 94563 Phone:415-253-1270 Advanced single board computer technology company Dealer and distributor Inquiries welcome SOUTHERN PACIFIC LIMITED MICRO CORNUCOPIA, #29, April-May 1986 COMPUTER PRODCTS U.S.A., INC. .----EPIC SALES, INC.----. - 10MEG 20 MEG 30 MEG FIXED DISK DRIVE SYSTEMS TI PC (Zobex) $699 $ 749 $ 899 999 1199 TI PC (Western Auto.) 1049 TI PC (SASI) 599 649 799 TI Bus. Pro. 749 799 949 549 IBM PC and Compatible* 749 599 N/A 799 Sanyo 550/555 949 N/A N/A Zenith Z-100 899 For External Units Add $200 Above include drive, controller, cables, one year warranty and 30 day return privilege. Call for pricing on larger size drives. *Compatibles: AT&T, Compaq, Tandy, Columbia, Corona, Zenith, Others. - TAPE BACKUP SYSTEMS Irwin Internal 10 Meg ..................................................... $ 595 Irwin Internal 20 Meg (for AT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695 1049 Wangtek Internal 60 Meg .................................................. For External Units Add $100 - - AT&T PERSONAL COMPUTER 6300, Mono, 640K, 2. Floppy, DOS, Basic .... $1995 6300, Mono, 640K, 1 Floppy, 20 Meg, DOS, Basic. 2395 6300 Plus, Mono, 640K, 2 Floppy, DOS, Basic. 4295 For High Resolution Color Add ............ . 459 II' - - Mono, 256K, 2 Floppy, P-Port, DOS ....... . Mono, 640K, 2 Floppy, 20 Meg, P-Port, DOS FIXED DISK DRIVES FOR IBM AT AND TI BUSINESS PRO $ 439 739 589 959 929 1149 1949 4595 $ 259 439 609 $1195 1795 Hayes 1200B Internal (IBM or TI) ......................... Prentice Pop Com External (IBM or TI) . . . . . . . . . . . . . . . . . . . . . 119 159 185 399 339 - PC REPLACEMENT POWER SUPPLY 150 Watt Side Switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 -INTEL MATH COPROCESSOR IC 8087-3 (5 MZ) ........ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 8087-2 (8 MZ) ................. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . $ 150 175 -RAM CHIPS 4164 (150ns) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41256 (150ns) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.30 4.00 - NEC REPLACEMENT PROCESSOR V-20 (5 MZ 8088 REPLACEMENT) ............................... V-30 (8 MZ 8086 REPLACEMENT) ............................... - FLOPPY DISK DRIVES Epson SD-521 DSDD 5.25 in. Floppy Drive ................ . Shugart SA-465 DSaD 5.25 in. Floppy Drive ............... . Siemans FD 200 8 in. DSDD Floppy Drive ................. . - $1895 2295 459 -MODEMS OKIDATA PRINTERS Model 182-IBM, 120 CPS, 9 in. Carriage .................. . Model 192-IBM, 160 CPS, 9 in. Carriage ................. . Model 193-IBM, 160 CPS, 15 in. Carriage ................. . - Mono, 640K, 2 Floppy, DOS, Basic ........ . Mono, 640K, 1 Floppy, 20 Meg, DOS, Basic .. For High Resolution Color Add ............ . IDS PERSONAL COMPUTER 20 Meg Seagate ST-225 (65 ms) .......... . 20 Meg Seagate ST-4026 (40 ms) ......... . 30 Meg Seagate ST-238 (65 ms) .......... . 30 Meg Seagate ST-4038 (40 ms) ......... . 33 Meg Rodime RO-203E (55 ms) ......... . 51 Meg Seagate ST-4051 (40 ms) (Bus. Pro. only) 72 Meg CDC Wren (35 ms) .............. . 119 Meg Maxtor 1140 (30 ms) ............ . - OLIVETTI PERSONAL COMPUTER (Same as AT&T 6300) $ 20 35 TAXAN COLOR MONITORS Taxan Model 630 High Resolution Monitor. . . . . . . . . . . . . . . . . . . . . . . . . . Taxan Model 640 High Resolution Monitor. . . . . . . . . . . . . . . . . . . . . . . . . . 539 639 EXPANSION CARDS STB Super RIO Plus II Multifunction Card (64K) ....... . STB Graphics II Plus Card ........................ . STB Chauffeur Mono Graphics Card ................ . STB Super 1/0 Plus Card ......................... . STB Serial Card ................................ . STB Parallel Card ............................... . Zobex ZX2T Controller CARD for TIPC .............. . Western Digital WX2S Controller Card for IBM PC Taxan Model 555 Color Graphics Card ............... . Central Point Copy II PC Option Board .............. . Microsync dClock Real Time Clock ................. . Western Automation S1 Multifunction Card (OK) ....... . Western Automation S3 Multifunction Card (OK) ....... . Western Automation Clock Option .................. . 512 K Ram Expansion Card for TI PC ............... . 128K Ram Expansion Card for TI Bus. Pro. . ......... . Epic 1 Meg Ram Expansion Card for TI Bus. Pro. . .... . Epic 2 Meg Ram Expansion Card for TI Bus. Pro. . .... . Epic 3 Meg Ram Expansion Card for TI Bus. Pro. . .... . $ 259 305 259 195 95 79 335 169 229 89 59 355 545 125 259 169 995 1595 2195 - OTHER PRODUCTS World Media 5.25 in. DSDD Floppy Diskette ........................ Disk File 120, 5.25 in. Disk Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-B Switch Box ............... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Keytronic KB5151 Keyboard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cabinet and Power Supply for (2) 5.25 in. Drives .................... $ 10 9 55 199 72 EPIC SALES INC. 132 WALNUT PLANO CENTER GARLAND, TX 75042 TOLL FREE ORDER LINE: 1-S00-223-EPIC TECHNICAL INFO AND INQUIRIES: 1-214-272-5724 TERMS: CASH. CHECK. COD. MASTERCARD AND VISA ADD 3%. AMERICAN EXPRESS ADD 5%. TEXAS RESIDENTS ADD 6.125% SALES TAX. MICRO CORNUCOPIA, #29, April-May 1986 11 The C Environment By Gary Entsminger Micro C Staff Interpreting and compiling under MS-DOS. If you're gearing up for the Micro C C Contest and need a learning tool, or if you just want a stimulating C environment, one of the following systems might help you to C. I 've experimented with several C packages (a mixed bag of compilers, interpreters, and a syntax editor) trying to uncover the best learning environment, and I'm pleased to report that good inexpensive (and expensive) packages are around. FIRSTIME FOR C (a syntax editor), INSTANT C, INTRODUCING C, and LIVING C (editor/interpreters), ECO-C (an inexpensive compiler and editor which uses the MS-DOS linker), and AZTEC C (a professional compiler/ assembler/linker/editor) have been the guinea pigs. Table 1 gives some facts and figures about each. Testing, Testing I went looking for a system that was easy to use, reliable, and provided - dependable error checking online or tutorial help good documentation adequate speed for small programs Primarily, I wanted an interpreter (or compiler) that was easy to use. Learning C is hard enough without difficultto-learn commands and procedures or undocumented bugs in compilers, interpreters, and editors. So I learned the commands for each system (most of the editors use the cursor pad for basic movements) and tested each product with a variety of programs borrowed from introductory C books ("The C Programmer's Guide" by Jack Purdum and "The C Puzzle Book" by Alan Feuer) and benchmarks commonly used (at Micro C) for testing C compilers 1. Dhampstone Bench (an all-around 12 test based on probable use written by Jack Purdum, source available in "Computer Language," Feb. 1986). 2. Thompson Benchmarks (very simple routines by David Thompson to test arithmetic, looping, and screen II o speed (see "Benchmarking The Speedy PCs" in this issue for C source). 3. Five problems based on the K&R standard from "The C Puzzle Book" by Alan Feuer (see Figure 1 - Pointer Stew for an example problem). Table 2 shows the results. Firstime For C I tried to create C source code, check syntax, interpret or compile, and execute object code in each environment, using the editor supplied with each package. (Firs time For C doesn't have a built-in interpreter or compiler, so I ran its okayed syntax with the Aztec compiler.) In general, all the editors I used were adequate. Firstime (the syntax editor) was the flashiest, giving you templates for WHILEs, IF-THENs, #in- MICRO CORNUCOPIA, #29, April-May 1986 eludes, #defines, comments, and lots more to be set up from a tasty menu of function keys. You enter statements, definitions, etc. into the template, and Firstime checks your syntax a line at a time, flagging errors. You don't have to correct the errors, but Firstime will continue to flag them until they're corrected. It will even write a file containing the errors (if you insist). Firstime has its own ideas about syntax (doesn't everybody?) and will occasionally reformat your freeform code, thinking it's helping you C. Usually this reformatting is no problem, but sometimes it obscures the meaning of the statement. Twice, Firstime reformatted and okayed complex expressions which we're incorrect. For example, Firstime transformed the incorrect statement - c= + + + +k; in Figure 2 (Syntax) to - c= + + + + k; Table 1 - Facts and Figures SYSTEM (vers.testd) COST :r~$~AN'I·G. . (J~41f) $1f99 125. 59 •. 99. INTRODUCIN~C(1.13) ECO-C (3.0) LIVING C (1.0) FIRSTlME (1.2) AZTEC C (3.2d) ?99. 499. * ECO-C references errors to Purdum. Cost $19.95. ON-LINE HELP NO NO YES X1;:$, NO ERROR MES YES YES YES YES YES YES MEM REQ TUTORIAL 320K 192K 256K 192K 256K 256K NO YES YES* NO YES YES liThe C Programming Language It by Dr. Table 2 - Benchmarks SYSTEM STRING LOGIC . AZTEC SYMBOLS PRINT CAST BENCH1 DHAMP SYNTAX FLOW 1 1 1 1 = Program = Program * = ECO-Cls 1 o No interpreter or compiler I tested would accept either of these statements (with good reason). Pointers gave Firstime (and others) the most trouble. Yet Firstime is useful for both beginning and advanced programmers, and could improve your C programming style as well as save you a lot of typing (keywords are entered via control and function keys). But if you go this route, you'll need to buy at least one more tool (an interpreter or a compiler) and an introductory C programming guide. Firstime comes with an online tutorial which makes learning the editor's commands a breeze. Interpreting Impressions Living C, hltroducing C, and Instant C are interpreters. You enter code using their editor, and when you're finished it's evaluated a chunk (a STEW executed correctly would not execute or executed incorrectly. prototyping feature prevented program execution. function or a program) at a time. If you've made an error the interpreter returns you to the editor and puts the cursor at the first error, Turbo Pascal style. Instant C works on functions, but unlike Firstime, won't let you write a function containing syntax errors to a file, where it might get incorporated into (and corrupt) a library. If you want to exit the editor (and save your incorrect source code), you can comment out the bad code - this is a minor inconvenience. Instant C Instant C is definitely the most sophisticated of this group of interpreters and is aimed primarily at advanced programmers. It's much faster at running your programs than Living C or Introducing C and supports most of K&R, but has little online help, and the manual is vague about some important matters (for example, Instant C's limitations). I know it won't handle variable array size initialization (from Pointer Stew test, Figure 1) and bit fields in structures, but it successfully ran most of the test programs. With its high price tag ($499) and vague documentation, Instant C doesn't really beckon to the beginner, but would be a useful addition to a professional's C toolbox. Living C Living C is a delight to use, is full K&R, and provides the best on-screen debugging environment (a bouncing parser and excellent help menus). But it can be painfully 'slow when it's executing programs. Sometimes, too, it behaves unpredictably. For example, it also accepted (continued next page) MICRO CORNUCOPIA, #29, April-May 1986 13 THE C ENVIRONMENT (continued from page 73) the incorrect code in Figure 2 (producing a meaningless solution) and ran BENCH1 (a print dots to the screen program) incorrectly. Some longer programs (100 lines or more) which compiled fine under Aztec sent Living C totally to lunch. (Error messages included: "Fatal error at FF80, contact your distributor.") Introducing C Introducing C is the most limited of any of the tested environments, falling far short of K&R. For example, there can be no explicit declarations of storage class (globals are always static; locals are always dynamic). Only two subscripts are allowed for arrays. Typedef, Goto, Constant expressions, and #include are not supported. #defines can define constants but not tokens. But Introducing C is easy to use, includes an excellent tutorial manual, and works well with its many example programs. This might be a good place to start if you're a beginning programmer. Just don't expect to write complex programs. Introducing C couldn't run most of the test programs (see Table 2). Compiling (Old-Fashioned & Reliable) The classic way to C is with a standard compiler. This is the age-old edit, compile, copy down the error messages. Edit, compile, copy down the error messages... The process is relatively slow, but the finished product runs fast since it's a .EXE or .COM file. Aztec C and ECO-C are compilers. ECO-C is definitely a bargain. At $60, it includes both the compiler and an excellent Turbo-style editor. Error messages are referenced to "The C Programmer's Guide," so the combination of compiler/editor/guide at $80 makes an excellent learning environment. Gratification doesn't occur as quickly as it does with interpreters (compilers just take a little longer to deal with code), but the results are generally dependable. ECO-C includes prototype checking (part of the new ANSI·· standard) and is full K&R except for bit fields. Although ECO-C supports only the small 14 memory model, it's still a useful compiler for advanced applications, and will serve far beyond the beginning phase. Aztec C But if you don't want to start anywhere but the top, look into Aztec C, the ringer, so to speak, of this group. It's full K&R and undoubtedly a professional package (at $499 it ought to be), but provides a good beginning as well as excellent professional environment. The documentation is lengthy and good (although minus an index), but won't really get you started in C. If you go this route, you'll need to purchase an introductory book as well. Like ECO-C, Aztec provides good, sensible error messages - an editor an assembler - a linker + a debugger - a make utility - and a librarian (with glasses). If you're committed to C for the long term, then it makes sense to go for Aztec. (Another package spoken highly of on the grapevine is Microsoft C, which we'll be testing for a future issue.) Aztec was the only product in this group that correctly ran every test program. (In fact, we wound up testing our programs with Aztec before we tried them on the other packages - a backwards approach. We should have found it easier to verify and debug the source with an interpreter/ editor combination before compiling it. But sometimes we weren't sure whether an interpreter's error message (or strange result) was caused by a problem with the source file or a problem with the interpreter.) Program Results Let's look first at Figure 1. ECO-C didn't report any errors, and didn't run the program correctly. Instant C couldn't handle variable array size initialization. Introducing C ran the first part of the program correctly and then issued an error message - subscript out of range, and left me at the error to correct. Firstime changed the syntax by adding blanks after + + and - and eliminated the spaces after the commas. (But Aztec was able to run the revised program correctly). Living C didn't like the syntax *-* + +, but MICRO CORNUCOPIA, #29, April-May 1986 allowed me to exit gracefully. Aztec ran the program correctly. Logic From attempting LOGIC.C I learned that - Introducing C limits its #defines to constants, excluding tokens. Living C handled the complex #define and ran the program correctly. Firstime produced Aztec-able code. ECOC wouldn't allow the int in PRINTF (a prototyping check). Instant C ran the program correctly. Aztec ran smoothly. BENCHI Aztec, ECO-C, and Instant C ran it correctly. Introducing C and Living C printed one dot and went into never never land. Firstime produced Aztecable code. Print Aztec, Instant C, and Living C ran it correctly.. ECO-C wouldn't allow int in printf (a prototyping check). Introducing C couldn't handle the complex defines. Firstime produced Aztec-able code. String Aztec, ECO-C, and Living C ran the program correctly. Introducing C didn't like the complex define. Instant C ran the program incorrectly. Firstime didn't accept "integer." Dhampstone Aztec, ECO-C, and Instant C ran the program correctly. Living C began running the program, but had not printed any results by the time I went to bed. Introducing C wouldn't compile it. Firstime produced Aztec-able syntax. Syntax (Figure 2) Aztec, ECO-C, and Instant C ran the program correctly. Living C, Introducing C, and Firstime allowed incorrect syntax; Living C and Introducing C ran the program incorrectly. Wrap Up And that's about it for this group. My tests aren't intended to be definitive, but are intended to give you a good idea about the reliability of these products. If you've had experience with these or other C tools (compilers, Eco-CRelease Compiler 3.4 interpreters, libraries, syntax editors ... ) let us know. We think ReI. 3.4 of the Eco-C Compiler is the fastest full C available for the Z80 environment. Consider the evidence: For more infoManx Software Systems (Aztec) P.O. Box 55 Shrewsbury NJ 07701 (201) 530-7997 Benchmarks* (Seconds) Computer Innovations (Introducing C) 980 Shrewsbury Ave Tinton Falls NJ 07724 (201) 542-5920 • Times courtesy of Dr. David Clark CNC - Could Not Compile NIA - Does not support floating point Living Software (Living C) 250 N. Orange Ave, Ste. 820 Orlando FL 32801 (800) 826-2612 We've expanded the library to 120 functions, improved the manual and added new compiletime switches. The price is $149.95 and . includes the SLR Systems Assembler-Linker. A savings of $145.00 over the old price! ECOSOFT (ECO-C) 6413 N. College Ave Indianapolis IN 46220 (800) 952-0472 Call today 1-800-952-0472 (orders only) 1-317 -255-6476 (information) . • E~ rl.COBO;;;:I;f Spruce Technology (Firstime) P.O. Box 7948 Shrewsbury NJ 07701 (201) 741-8188 Rational Systems (Instant C) P.O. Box 480 Natick MA 01760 (617) 653-6194 ss,. I' VISA I liE (317) 255-6476 6413 N. College Ave. • Indianapohs, Indiana 46220 . C SOVRC~ , CODE : XLT MACRO PROCESSOR w/source ......... 95.00 XLT can be used as a preprocessor, text translator, or simple cross-assembler, depending on your macro definitions. Comes with manual, C source and macro files. Q/C 4.0 CP/M C COMPILER w/source . ONLY 95.00 Save $70.00. Fast, full featured compiler from the Code Works includes longs, single-precision floats, excellent manual. QC88 C COMPILER FOR PC's w/source ONLY 125.00 Save $70.00. As above but no floats or longs. Runs on PC clones. APROTEK 1000 ONLY $265.°0 COMPLETE WITH PERSONALITY MODULE 117 VOLT AC POWER-RS232 -6 BAUD RATES - HANDSHAKE TO HOST ALLOWS READ. WRITE. VERIFY. COpy Comes complete with a CPM. IBM-PC or Apple Driver Program on Disc. Programs the following 5 Volt 24 or 28 pin devices: 2716 series through 27256. 25xx series. 68764 plus others. Please Specify Personality Module desired with order. Additional Personality Modules only $15.00 ea. Full 1 yur warranty. TO ORDER CAll 1 800 962 5800 OR WRITE APROTEK 1071 A AVENIDA ACASO Add CAMARillO. CA 93010 $400 SllIpplnH USA Info 18051987 2454 VISA or MC Add 3"1" QCX C CROSS-COMPILER w/source ........ 495.00 Runs on PC, generates code fit to run on 280 CP/M or ROM base controller system. Tony Ozrelic's L.A. Software is now KYSO Technology • • TO ORDER: Add $5.00 to total for shipping and handling. Personal check or M.O. are OK. Sorry, no COD's, PO's, or plastic money. 3D-day money-back guarantee. Most order shipped 1st class within 5 working days. KNOCK YOUR SOCKS OFF T E C H N 0 LOG Y • P.O. &x 5246 • Bend, Oregon 97708 • (503) 389-3452 • MICRO CORNUCOPIA, #29, April-May 1986 15 Moving Your C And Assembly Language To MS-DOS Moving from CP/M to MS-DOS can be easy or not so easy. Ron found the Pascal· shift easy: moving over his C and .CJssembly language programs was not. Herein lies the tale. I t was a sad day when I received Micro C issue #27 and noticed it was abandoning its special fixation upon the single board computer and CP/M. It was a bit like hearing Teddy Kennedy voice doubts about the future of the welfare system. The announcement seemed all that much more melancholy because I find myself in the very same passage. For good or ill, PC-DOS/MS-DOS is now where most of the useful applications are and where most of the fun hacking can be had. Perhaps some day the 68000 or even the 32000 world will take over, but for the foreseeable future the IBM and its compatibles have a stranglehold on those benefits which many of us first CFlme to love in the Kaypro and its kin: ~n op~li machine architecture, real price competition among software and hardware producers, lots of wild and willing sqftware in the public domain, and tho~sands of ftHlow obsessives out there to ~wap jargon with. My InltiatiQn After buying 11)Y Zepith 158, my first step, of course, was to buy Turbo Pascal 9.0 and a new C compiler and settle down to getting q.tilities and applications programs ~cross to my new toy .. Tqrbo perfqrIl1ed a~ all of us Turbo f~ns kilew it would - magnificently. For example, l hac;i written q stock market emulation game for high school students using CPIM Turbo 1.0. About 3500 lines of complex databasing and calculation in six chainedtogether command files. It took me about an hour to get the old code up 16 and running on the Zenith. All I had to do was change the pointers from 16-bit to 32-bit entities using the " seg" and "ofs" functions, erase the chain commands, get rid of duplicate declarations that had crept in in spite of my header files, and "include" it all together. And it ran - all of it, the whole darned thing, in one fat COM file. I was so happy I almost wept. Somehow, though, my Protestant conscience kept whispering to me that DOS immigration ought to be more painful than this. It's hard for a C freak to love a language with readymade commands called "ShowTurtle" and "HideTurtle." But I can't help it, I do. It's as if I, a motorcycle addict, had a secret affection for Buicks. And I can get my Buick for not much more than thirty bucks from those strange mail order peddlers around 47th Street. Cheap Compilers Since Software Toolworks' C/80 has given me hours and hours of bug-free fun, I decided to try their MS-DOS "Toolworks C." For 50 bucks, plus 30 for the floating point routines, I couldn't lose much. As someone who learned to program on JRT Pascal, I'lll partial to cheap compilers, since they (a) don't cost much money, and (b) encourage the programmer to create hi~ own libraries, and so know what the devil is going on inside his programs. Thoreau suggests that no man really owns his house who hasn't built it up from the bare boards. Perhaps the same is true for one's working compiler. Though I considered the DeSmet compiler, Toolworks' is even cheaper and offered me all the source code. In fact, I learned to program the 8088 by sitting down at the console and reading through Toolworks' listing. After slogging through 10K worth of assembly language modules, you get the general idea - "PROC," "SEG," MICRO CORNUCOPIA, #29, April-May 1986 By Ron Miller 1157 Ellison Dr. Pensacola FL 32503 "NEAR, " "FAR, " "ASSUME, " and all the rest. My newfound skills, of course, enticed me into getting a Microsoft Assembler to make things run faster. After I'd converted all the string routines into assembly language and had figured out how to manipulate the memory and, more importantly, the screen directly, I began to feel at home. I quickly discovered that only wimps use interrupt 10 routines. Real men write to the CRT memory directly. More Gains Than Losses All the higher level library functions from C/80 which I'd concocted over the years (bit routines and hex conversions and the like) went over without a glitch. Lots of my stuff wasn't applicable, however, because like any ambitious C hacker I'd spent a fair fraction of my Kaypro time abusing the operating system, and none of that code related to the Microsoft world. Some loss but, oh~ the gains, the gains: folks who haven't tried MSDOS can't irnagine the wonderful new mysteries the interrupt system and resident-progr(lm programmihg hold for rainy weekends. Those of you who aren't aging hotrodders and system tinkerers can certainly go a long time without dabbling in assembly language. Unfortunately, there doesn't seem to be any linkable assembler for the 8086 that can be snatched off bulletin boards, so it's cash on the barrelhead. Where's Micro C when I really need them? Did I need another set of disk utilities? No. Did I need a standin for MASM? Ye$$. Anyway, when you finally indulge, you'll find that 8086 code is not too different from Z80 code, with more string routines and loop controls, and fewer jump statements. I miss juggling the Z80 alternative registers, but find the large number of accumulator registers handy for squirreling things '" Bit Lab Aeeuraey Industrial Durability The Servo Process Control Board is a general purpose multi-channei analog and digital input/output controller which can communicate with and control most medium-scale Industrial processes. Designed to work with the Servo Industrial Microcomputer, (or other computers which support the SASI interface), it offers great accuracy at prices starting as low as $495. American made I MILSPEC components D 1 year warranty a Maximum configuration includes: I 192 anaiog inputs 164 analog outputs I 128 digitai inputs 1512 digital outputs I Based on the INTERSIL 14 Bit A to D converter ICommunicates with any micro or mainframe computer Easily programmed in high level languages (Turbo Pascal, Microsoft Basic, Forth) I PID, FFT, Thermocoupie linearization and laboratory DAS software supplied. I Custom software and hardware engineering assistance available. a (J##1#1111. m-~ SERVO COMPUTER CORPORATION 360-B N. Ellensburg SI. Box 566 Gold Beach, OR. 97444 (503) 247-2021 away. Folks with 32-bit machines must get bored with all those cubby holes for storage. Where's the challenge? It must be like playing tennis without the net. Data And Code Limitations Cheap compilers do have one disadvantage, and that's the limitation of the data and the code sections to 64K each. Although that's more room than we are used to with CP1M, you are still using only a small portion of that 640K blank wall that's just waiting for you to scribble all over it. (At present RAM chip prices, anyone who doesn't put 640K into his machine is short a few chips himself.) Moreover, with this so-called "small" model, the 16-bit pointers cannot be directed toward the operating system. Most compilers have "peek" and "poke" for changing runs of memory outside the 64Kboundaries, but it's not the same. Heck, BASIC (shudder) can do that. It didn't take me long to dream up a binary tree that really could use a S,OOK heap. Since Turbo Pascal lets lne pile up an unlimited heap, and I think I can • REFERENCE MANUAL with examples, three Indexes, module maps, impatient user's guide (5.5 x 8.5,410 pp). More than 310 functions in five libraries for Software Toolworks· C/80 In Microsoft M80 format (also SLR Systems). Twenty-seven utilities. Requires Digital Research CP 1M 2.2 and 8080/Z80 CPU. • Develop portable applications using Bell Labs Unix V7 conventions. Designed from Kernighan & Ritchie, Harbison & Steele, Banahan & Rutter, Sidebottom & Wortman and Donald Knuth's three-volume set. • Settable dynamic buffers. Full stream 1/0. Transcendentals. Strings. Math. Searching & sorting. Timing. Compact code (K&R HELLO. COM is 254 bytes). Up to 255 files. Direct-disk. Directory. Memory management. High-speed seek. Fastest block reads. System access. Speed and code size optimization. Automated compile, assemble and link. Ideal incremental development. • Useful C Utilities: Xref, Beauty, Calls, BoldUst, Archive, Portable Source Generator, Jump-on-error Monitor. • Sample Programs: Learn or teach C style using source code from textbooks, scholarly periodicals and popular magazines. • No royalties. No copy protection. No limitations on educational use. No extra charges. • Reference Manual with library object code on disk ...•. $29.95 • Source code archives and utility sources on disk •••.•.. $19.95 • Phone orders shipped immediately. Write or Call today for free brochure. Viking C Systems 2243 South Belaire Drive ._ Salt Lake City, UT 84109 \ J. ~ 1-801-466-6820/Grant Jj vlKltK ..7CJt\t.l4kl jury-rig my own extended pointer system using long integers and "MOVS" commands, I just haven't found it in my soul to spring for Lattice C at $300. At the cost of fatter code and slower programs, Lattice or one its high-toned brothers would let me treat the full meg of memory as my playpen. Someday, perhaps - but by then I may own a Definicon and may be sailing boldly on a myriad-bitted pointer, out there,. alone, among the terabytes. Augmenting Your Cheap Compiler What I don't miss with my cheap compiler is the huge number of specialized functions that the higher priced compilers offer you. Any programmer worth his salt can use the linker and library utility that came with the operating system to add UNIX-sounding goodies by the basketload. My trick - I think it's ethical - is to read the manuals of compilers that friends have bought. When I run across the description of a neat function, I pop a beer and try to figure out how to do it my-y-y way. Even the entanglements these little projects in- evitably get me into have been invaluable to my understanding of how things work. As long as I have the " code to the run-time package and the ~ assembly language modules, my souped-up K-Mart C can do anything that the Intel instruction set can dream of. I'll also admit that playing with segment registers can add a whole new dimension to the game of findthe-error. When you screw up the CS register, you really have fun on your hands. The alternate-control-delete keystroke motion has by now been etched into my brain. It usually works unless you've liquidated the keyboard interrupt. I often do. Then you'd give about S76K of virgin memory for that wonderful red restart button on the back of the Kaypro. I'm clever enough to know how to pluck files back off an old RAM disk, even if I had to Alt-CtlDel it; but turning the machine off completely doesn't do much good at all to the information stored in the memory. (continued on page 19) MICRO CORNUCOPIA, #29, April-May 1986 17 MICRO. CORNUCOPIA'S C CONTEST !? If you've been going so hard you just can't C straight, then drop everything, dig out the old compiler, brush off the cobwebs, and C what you can C. Any kind of C. From Small-C to large, from a hundred lines up, this is your chance to C'cure fame and glory (plus valuable prizes). SCORING - The programs will be judged by the Micro C staff on the following: GRAND PRIZE: • DSI-32, I meg, 10 Mhz 32032 computer board with assembler/linker from Definicon Systems 21042 Vintage St., Chatsworth, CA 91311 0-15 0-25 0-40 0-20 for for for for ALGORITHM CODE ORGANIZATION & READABILITY PROGRAM FUNCTION USER DOCUMENTATION 1st & 2nd Place • Optimizing C Compiler (large model) from Manx Software, Box 55, Shrewsbury, NJ 07701 • Optimizing C Compiler (large model) • Essential Software's C Library (graphics, 110, everything) • 2 year subscription to Micro C • Essential Software's C Library (graphics, 110, everything) from Essential Software, Inc. Box 1003, Maplewood, NJ 07040 3rd - 5th Place • Aztez C Prime Package (interpreter & compiler) from Manx Software • I year subscription to Micro C • 3 year subscription to Micro C --------- CONTEST DEADLINE November 1, 1986 --------- ENTRY FORM Program Title _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ Purpose __________________________________ Which C compiler? _ _ _ _ _ _ _ _ Target system(s) _ _ _ _ __ Please include source and object files on disk. NOTE: I hereby release this program to the public domain and give Micro Cornucopia the right to print the listing_ Name _ _ _ _ _ Signature ___________________ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ___ MICRO CORNUCOPIA Address _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ P.o. Box 223 Bend, Oregon 97709 ~~~ City ____________ State _ _ _ _ _ Zip _ _ _ __ 18 MICRO CORNUCOPIA, #29, April-May 1986 C'iNG CLEARL Y (continued from page 17) Editor's note: A non-destructive hardware reset circuit for 808818086 systems sounds like a good hardware project for Micro C. Any suggestions before we tackle it here? Many clones have a hardware reset circuit, so all you have to add is the momentary-contact push switch. Changing The Code Transferring actual working C code was not as effortless as I'd hoped it would be, in spite of the much-touted portability of C. Had I written that stock market game mentioned above in C, I would have had a full day's headache on my hands. Complications arise (a) because MS-DOS handles files differently than CP/M does, and (b) because the C standard (as well as function names) is evolving. All my" setmem" calls had to be changed to "memset," for example. "Read" and "write" have become "fread" and "fwrite," with a different order of arguments. Or else "open" rather than "fopen" must be used to get things started, and that adds a twist because the MS-DOS "open" returns a different error message. File handle "minus one" is remarkably hard to work with. File pointers rather than integer handles are needed for stream input and output. Nothing ma- jor, and changes will vary from compiler to compiler, but the first evening and a half of debugging can get VERY frustrating. Well, if you wanted the machine to do it all for you, you'd own a Macintosh, right? Now that I know the subtleties that get lost in translation, code pops back and forth by wire from Kaypro to Zenith and Zenith to Kaypro, with compiler success coming ordinarily with a curse and a second try. Wrapping Up The efforts are worth it. You can DO so much more in MS-DOS, and most applications programs, if not that clunky operating system itself, are faster. My first suggestion is that you get Peter Norton's "Programmer's Guide to the IBM PC" so you'll know the interrupt system's commands, which will open up the hardware to your amorous advances. Be patient; do it in small doses; stick to the standard library the first night; and wait a month before you start altering the segment registers. If you're very, very good, some day soon I'll tell you how to write resident programs using .EXE files from C, which I learned how to do by not following my own advice. ••• 20 pin to host adapter Shugart 1610 controller to drive 34 pin 50 pin SASI to 5T506/412 5114" HARD DISK CONTROLLERS These new factory sealed Shugart controllers come with all documentation. They will control up to two 5%" hard disk drives with up to 8 heads each. These unique controllers will mount directly on the drive. By the change of an EPROM they change their instruction set to emulate other popular controllers. * * * * *Shugart 1610-3 emulates Xebec S1410 1610-1 emulates DTC 510 1610-4 SCSI version similar to ADAPTEC 4000 Using standard host adapters they work with: Apple II, 11+, liE * Wavemate Bullet MAC (see Sept. Dr. Dobbs) * All AMPRO boards (little board, etc.) TRS 80 model III, IV * And other systems with SASI Ports 1515160 & ACS 1000 (PC clones) or host adapters 1 for $99. ea. 2 for $90. ea. 100 for $75. ea. Quantity priCing available. • Computer Surplus Store (408) 248-0134 • Other controllers also available for 8" and 14" drives including Shugart SA1000, 4000 SERIES and Quantum 2000 SERIES OTC 1404, 14040, 1403, 14030, 14081, 1420-1 . $99 C-8UNDLE VIEW: CRT Based Disk Diagnostic EZZAP: ROM Burning Utility includes schematic C-PACK: Utilities in C C-Games: User Modifiable Maze Game All are written in C, include Source Code, and available separately. lex TOOLKIT lex: ISIS to CP/M or MS-DOS exchanger for MOS and iPDS ISE: ISIS Emulator for CP/M I each $89 $89 CP'MllolC\q,IoIlR_rch ~ Weslern~:: 303·327-4898 BOI C. Norwood, CO 81423 CPM-80 LIVES ON YOUR PC CP/Mulator puts a 4mhz 8 bit CPM-80 emulator in your IBM-PC for only $99. • Execute 8 bit CP/M programs at 4 mhz. Stop waiting around for those slow software emulators at twice the price of this speed demon! • CP/Mulator makes a fantastic CP/M development environment and allows you to use all your CPM-80 tools, and the IBM-PC tools too! • Why write off that expensive package that you boug ht for CPM-80 just because you upgrade to a IBM-PC? Apply the $99 solution and keep it working. No retraining or conversion blues! • CP/Mulator includes the NEC u PD701 08 processor which increases the speed of your IBM-PC by at least 10%. 100% compatible with existing IBM-PC software and 8087 compatible. PURCHASE THE SOFTWARE ALONE FOR ONLY $69!! Source Information P.O. Box 2974 Warminster, PA 18974 Phone (215) 628-4719 MICRO CORNUCOPIA, #29, April-May 1986 19 Monitoring A Modem With A Bridge By Philip W. Elrod 3254 Spring Dr. NW Doraville GA 30360 Don't intrude on your own calls. If you've ever wondered what's going on over the phone line, but your modem won't say a mumblin' word, you're in the right place. This simple project using simple parts from a simple Radio Shack should keep you informed. » ···<,i:' i i :t ""., .·.·. i. :'i ........ i i B i ........ / ..'.' P i ., ...:.... .> I) >: 20 < VI ..•..,•.. { A More Recent Application Once while trying to communicate with my company's Email system, I needed to know what was happening on the telephone line (connected to my Kaypro). Listening in on an extension. caused noise problems and added more load to the line. In addition, when I used pulse dialing, I couldn't monitor the line with an extension until I was sure the dialing was complete. ~v :u If ~ ack in the old days of radio broadcasting, when. we wanted to see what was happening on the transmitter or remote' audio (telephone) line we used a technique called bridging. Some sort of high impedance monitor was bridged across the line, enabling you to monitor the signal without disturbing it. I still have a pair of 9K ohm headphones used for the purpose. If the audio was coming from a line with a DC control signal present, such as the switched telephone network, the bridge was capacitor isolated. The usual components of a bridge were two 2mFd 600V capacitors, two 10K ohm resistors, and a 1: 1 Western Electric repeat coil transformer. The connections to the line were through the capacitors to the resistors and then to the transformer. The resistors were omitted if audio was to be sent as well as monitored. The reason for having two of everything was to maintain the balance to ground of the line so as not to degrade common mode noise rejection. ,:"i .. .., ' ,'''1 :. ." f~ 'I '1: ;.~ 'j: :i <). "." "": { ....... .... < . :... ? \ i t( iii r D a 'E.lil rl ::.', ;=,:l: IB ir 'i I For a few dollars, I assembled a line monitor that works very well and can be assembled on a Saturday afternoon. The monitor is a Radio Shack battery powered amplifier and speaker. The bridging transformer is another Radio Shack component, a 600 ohm to 600 ohm transformer. The DC block is two .1 50 volt ceramics in parallel for a total of .2 mFd. I didn't try to maintain strict balance since the transformer winding isn't balanced or shielded. It didn't seem to make a difference. The level out of the secondary was way too much for this hot little amplifier, so I installed an attenuator consisting of a 10K ohm resistor in series with the transformer secondary and a 100 ohm resistor across the jack to the amplifier cable. What I did is shown in Figure 1. The red and green wires from a modular telephone cord supply' the input signal. You can plug the cord into a standard modular phone outlet once the wiring is finished. I put the transformer and attenuator in a 2" length of 1/2" (trade size) PVC water pipe. I epoxyed a fender washer to one end to hold the output jack I also made a rubber plug from a bumper foot to retain the knotted telephone cord in the other end. If I did this again, I'd forget the jack and just use MICRO CORNUCOPIA, #29, April-May 1986 , "':.' if / .;;; .2 .: LT. '} a cord at each end. There is nothing especially critical about any of the parts. This modification works very well. You hear the dial tones, the ring or busy, and then the modem carriers as they do their thing. A word of warning: While there are some other uses for this thing, some of them can get you in a lot of trouble with the law. • •• FREE SOFTWARE FROM THE PUBLIC DOMAIN User Group Software isn't copyrighted. so no fees to pay! 1000's of CP/M and IBM software programs in .COMand source code to copy yourself! Games, business, utilities! All FREE! Rent Buy IBMPC·SIG 1·454 OIsklldes .......... . IBMPC·BLUE 1·175 OIsksldes ........ . SIG/M UG 1·246 Olsksldes .......... . CP/M UG 1·92 Disksides ............ . PICO NET 1·34 OIsksldes ., .......... . KAY PRO UG 1·54 Disksides ....•.•..•. EPSON UG 1·59 Disksldss .•..•..•.... COMMODORE CBM 1·28 Disksides .•.... 475. 950. 185. 435. 25. 65. 100. 200. HiO. 45. 70. 25. 675. 250. 210. 65. Public Domain User Group Catalog Disk $5 pp. Send your check & specify computer format. Rental is for 7 days after receipt, 3 days grace to return. Use credit card, no disk deposit. Shipping, handling & insurance $9.50 per library. (619) 941-0925 Orders & Technical (9 to 5) (619) 727-1015 24 Hr. 3 Min. Info Recording Have your credit card ready! National Public Domain Software • BBB . i I I.=.I 1533 Avohill Dr. CA 92084 1-800-621-5640 wait for tone dial 782542 ~ Vista, VEDIT® Plus Text Editor ~~-A.r---{. The Navy charts new ._. _. _' "-'-- concepts with it. .. GM engineers the future withc~;~i~;:::t.3~L .: . it... !.!~ National Can preserves )I'i.. . facts t~ with itooGE has brigh~(-i",{_ ideas with it. .. Heres why_you )'l[rt shouldn't be without it . ~ ._ . _ _ ( _ ........ ~ Every day, VEDIT PLUS helps thousands of programmers, writers and engineers get down to business. So why do people who could have ANY text editor prefer ours? For a lot of reasons, including: • CAPACllY-With VEDIT PLUS, file size is never a problem. And virtual disk buffering simplifies editing of even the largest files. • FLEXIBILITY-VEDIT PLUS lets you edit up to 37 files simultaneously. So you can cut and paste. Edit programs. Edit text. Even perform numerous search/replace functions in several files without user intervention. * • CUSTOMIZATION-With VEDIT PLUS, you can create your own on-line editing functions with keystroke macros. Develop your own on-line help screens. Determine and revise your own keyboard layout easily. ~ _ _ .. 'C' . --" \.. f_ ... t~) _./ --.·c • SPEED-VEDIT PLUS not only works hard, it works fast. Faster, in fact, than any other text editor on the market. • EXPERIENCE-Six years ago, CompuView revolutionized the concept of microcomputer text editing. And we've been improving our products and services ever since. Special Offer: Order a VEDIT PLUS text editor for S225 and we'll include our V-PRINT™ document formattera S120 value-absolutely free. Call CompuView today at 313/996-1299. You'll be in good company CompuView® (ompuView(R) Products Inc., 1955 Pauline Boulevard-Suite 300, Ann Arbor, Michigan 48103, TELEX 701821 Available for PC DOS, MS-DOS, CPIM. CP/M-8b. *Free sort. compare, print and main menu macros included; optional8080-808b translator or mailmerge, S50 each. MICRO CORNUCOPIA, #29, April-May 1986 21 MICRO SUPPLY ORGANIZATION INC. advanced tec·hnology. Complete MS-DOS/CPM Super Turbo In keeping with industry trends MSO is bringing our customers high performance P.C. compatibles and accessories. MSO takes the P.C. compatible to maximum performance with its SUPER TURBO. The SUPER TURBO features the V20-8 chip which runs at three times the speed of the IBM-PC XT* and also runs CPM 8080 software. The SUPER TURBO comes complete with the MS-DOS operating system, Read and Run CPM, full Instructional Documentation, Utility software, plus for our first 100 customers MSO is offering the Micropro Wordstar Professional Software package. This package includes: Wordstar, Mailmerge, Correctstar, Starindex, Datastar and a G.L. Accounting System. The SUPER TURBO is a complete turnkey system with everything necessary to plug in and operate. USER SUPPORT HOT LINE 805/393-2247 All systems carry full 90 day warranty. CASH PRICE ONLY Check in advance. Add 3% for VISA/MC. Shipping & handling charges will be added to each order. For our catalog with complete details and prices, send $1.00 to: Micro Supply Organization, Inc. 4909 Stockdale Hwy. #180 Bakersfield, CA 93309 MON. - FRI. 7am - 5pm PST-SAT. 9am - 5pm PST "IBM is a registered trademark of the IBM Corporation. 22 MICRO CORNUCOPIA, #29, April-May 1986 Super Turbo Super Price: $1299 The Super Turbo P.C. runs IBM software and CPM 8080 programs • CPU - V20-8 8mHz Super Chip runs *IBM compatible software at 3 times the speed of the IBM-XT and CP/M 8080 software. • 8087 Math Processor optional • 256K RAM on mother board expandable to 640K • ROM8K Bios • 6 empty slots for expansion • 2 serial port one optional with expansion kit • 1 parallel port • 1 game port • Clock calendar with software • Hi-Res monographics video board • Floppy controller • Dual Floppy Drives 360K ea. • 135 watt XT Power Supply • 5150 style compatible keyboard • Hi-Res TTL Green or Amber 12" monitor • MS-DOS operating system and manual. • Instructional Documentation and Utility Software • Assembled and tested in U.S.A. • Optional internal 20 meg sub system for Super Turbo add $549 Special printer pricing with purchase of above computer. MICRothe §k-1~~~~ advantage. ~ *SANVO MBC 550 Series MS-DOS COl11puter Portable Philips Computer Complete with over $1000 of FREE Software! • MS-DOS 2.11 • MS-DOS .1.25 • Wordstar • Spellstar • Mailmerge • Calcstar • Infostar • Easywriter I • BASIC 800K System with SANYO monitor only $899 MS-DOS & CP/M COMPUTER ONLY $599 (Driveless) (without monitor) MS·DOS 2.11 & CP/M 80 Computer Two Fast Z80 A's & one 8088 • Processor The OWL $799 FREE Software Included SANYO internal 10MB Drive Complete with all manuals. software. and cables. Accounting Software Wordstar (Word processor) • Calcstar (Spreadsheet) Data Plot + (Graphics Program) . GIL. AIR. AlP. for small businesses with under 20 employees. Designed for the MBC 550 in color. Entire package only $149 $699 MS-DOS 2.11 CPIM 80 operating systems BASIC - Microsoft BASIC Dual 640K drives CPIM - 800K Drives MS-DOS 2.11 256K RAM expandable to 512K for MS-DOS 8087 Math Processor (optional) 64K RAM under CPIM Plus 32K RAM for video Graphics - 512x252 pixels Alpha - 24x80 plus attributes SASI interface built in (works with 10 meg OWL) . 2-Serial ports bi directional ASYNC & BSXNC 60K bltlsec 9" Green screen or optional external mOnitor Accessories MODEM • Volks Modem 1200/300 baud modem with cable -$159 • • • • • PR-5000 15 cps LOP - $279 DM-3112 12" Sanyo Monitor - $89 DMC-6113 13" Hi-Res RGB Color Sanyo monitor $299 16K Printer Buffer - $84.95 Best prices on cables anywhere At these prices you can enjoy the convenience of owning more than one computer! CHOOSE THE SYSTEM THAT'S RIGHT FOR YOU! 805/393-2247 • -mr' MON. - FRio 7am - 5pm PST.SAT. gam - 5pm PST All systems carry full 90 day warranty. Check in advance. Add 3 0 0 for VISA/MC. Shipping & handling charges will be added to each order. CASH PRICE ONLY For our catalog with complete details and prices, send $1.00 to: Micro Supply Organization. Inc. 4909 Stockdale Hwy. #180 Bakersfield. CA 93309 MICRO CORNUCOPIA, #29, April-May 1986 23 Relief From The 300-b,aud Blahs Micro C review~ a qua~k This flight of fancy won't do a lot to feather Dick's nest, bzlt he would have definitely ducked his responsibilities if he hadn't sent this in. The clone wars from foreign shores have expanded far beyond the PC compatibles. Here is another bargain that speaks volumes (cheap, quack, cheap, quack ... ) O ne of the virtues of high technology is that as its products mature they. get cheaper (the government hasn't heard about this process). Remember when you paid a cool hundred (or two) for a hand-held calculator? How about your first ball-point? I remember paying $15 for a first run Tucker "Wonder" pen. It was a "wonder" all right, skipping like crazy and making a blue-stained mess of my hands. Today's 69-cent BIC will put any of those first ball-points to shame. More Wonders The fuss today is over 2400-baud modems, and a number of bulletin boards are already using them. But the real news is that the price of 1200baud modems is coming way, way down - to the point where 300 baud just doesn't make sense any longer. While the Hayes Smartmodem(tm) 1200 still lists for $595, that price has eroded significantly (I've seen them advertized as low as $349), but a few Hayes clones have now broken the $200 barrier. Modem Clone I recently purchased a clone, advertized as a fully Hayes compatible "1200 Baud Smart Duck" (the name "Duck" came from the distributor's catalog promo: "If it walks like a duck, sounds like a duck, and looks like a duck. .. " What can I say?). It's manufactured in Hong Kong for a company called ADC and distributed 24 By Dick Bollinger Via the Micro C Bulletin Board 17882 Wellington Ave T)1stin CA 92680 modem by DAK Industries. The price is definitely right - $169. Does It WQrk At 300 And 1200 Baud? Yau bet it does; so far it's been flawless. It comes with a 30-day money-back guarantee of satisfaction and a l-year limited warranty. More on that later. Is It Really Compatible? Comparing commands listed in their manuals and testing the Duck's response to the Hayes command set, I found only one difference: The Duck doesn't recognize ATH2, an obscure "special off-hook" command that could be important for ham RTTY use. Otherwise, they're identical, as are all of the S-register functions and their default values. The Duck also has three commands of its own: AT*H puts a summary of the AT command list on the screen as a help to the operator. The other two are AT*T, which displays a static date and time from the Duck's on-board clock, and AT*T = MM/DD/hh/mm, which sets the clock. If this clock is accessible (for example, for the stamping of incoming files or inclusion in text), the manual gives no clue. Turning power off and then back on resets the modem's dock to 01/01, midnight. I Like My Duck There are several features about the Duck I prefer over the Hayes modem. For example, rather than remove a snap-off front panel to get at the modem's configuration DIP switches, you simply turn it over on its back. Cfhis gives you a chance to scratch its tummy as well. Try that with your Hayes.) - The Duck also has a label adjacent to the switches, which shows and defines the standard (factory) settings. It's no big deal, just that the Duck is a bit handier to configure. MICRO CORNUCOPIA, #29, April-May 1986 Redial, Redial, Redial... Here's the one I really like. Flip the redial switch and the Duck will redial any busy number every 30 seconds until it connects. You cancel redialing by turning off the power momentarily (but there goes your clock setting! Oh well). This auto redial is handy for 'working busy bulletin boards and RCPMs, where it's everyone for himself. Another feather for the Duck: It has two modular-plug receptacles, so you can plug your phone into the modem and the modem into the wall. Now, why didn't Hayes think of that? Even when the modem is powered down (but still actively connected to the line), you can use the phone to make and answer calls normally. The Duck has a quacker (speaker), volume control, on-off switch, and female RS-232 receptacle (it's a girl duck), exactly like the Hayes. Its power supply, though, is internal, and it must be connected to a grounded, 3wire AC outlet. The AC cord set on mine is heavy enough for a fair-sized waffle iron, but the modem stays quite cool. I suspect this is a case of component engineering by availability. Anyway, I don't think the corq. will ever be a problem. But enough about the virtues of this $169 Smartmodem(tm) clone. The modular wall-to-modem phone cable is supplied. You'll need an 8-line (pins 1-8) or 9-line (pins 1-8,20) malemale RS-232 cable to connect your Duck to most any computer (and Xerox 820s). Most systems should work all right in the modem's factory (default) configuration. If that doesn't work, try setting switch 8, 10, or both, to positio~s opposite those shown on the label. You can't hurt anything though you might ruffle a few feathers. The Duck comes dressed in a lowboy, putty gray molded enclosure and, except for the other guy's distinctive "extruded rail" appearance, looks very much like the Hayes. (Don't worry, it doesn't say "Duck" on it anywhere, unlike some "Gorilla Banana" printers that don't look very appealing. ) The 30-day return privilege is offered by the distributor, DAK Industries, Inc., 8200 Remmet Ave., Canoga Park, CA 91304. The I-year warranty is from the manufacturer (ADC, no address given). There is a service center address in Van Nuys, CA, listed in the back of the manual, but no customer service phone number. Duck Doc Speaking of manuals, the one supplied will get you going, but that's about all. If you plan to really work the "smarts" of your modem, borrow a Hayes manual from a friend. It contains command applications and program examples that the Hong Kong tech writer simply forgot to mention. Otherwise you'll just have to wing it. The only things in the Hayes manual that don't apply to the Duck are the configuration DIP switch information, the block diagram, and the user support information. DAK For Duck How to order? That's the easy part. DAK has a toll-free, 24-hour, 7-day-aweek 800 number for credit card orders. It's 1-800-325-0800. In addition to the usual stuff, you'll be asked for DAK's catalog order number, which is: No. 4334, "1200 Baud Smart Duck" Incidentally, DAK also offers an OnLine Directory of over 1,100 data bases, with descriptions and access details, for $14.95 (plus $2 P&H). It's Order No. 4358. I didn't get it, but plan to, soon. The price for the modem is $169, plus $6 for postage and handling. If you're a California resident, they'll add $10.14 for the governor's' cam- paign fund. You can expect delivery in a week or less. Mine came in four days by UPS. The package also contained a 64page, full-color Winter '86 catalog of sundry electronic gear. (tm) Smartmodem is a trademark of Hayes Microcomputer Products, Inc., Norcross, Georgia. • •• Advanced Concepts "Mini-Winn,e u HARDForDISK SYSTEMS your z-ao Computer! Our EXTERNAL systems install in seconds! Includes an attractive vertical cabinet with integral PIS and fan, 3 foot cables. Everything necessary to plug in and go! Our INTERNAL systems do not displace a floppy drive, do not require a power supply upgrade, use the highest technology winchesters available. No compromises. COMPLETE SUBSYSTEMS Plug in and run! Includes software, documents, cables, brackets as req'd. $665. $790. $790. $845. 10mb External 20mb External 10mb Internal 20mb Internal Add $20. Add $20. * * * * ..; ..; ..; ..; Add $10. Add $10 ..; ..; ..; ..; ..; ..; ..; ..; Kaypro (1,2.4,10) Big Board 1,1\ Xerox 820-1,1\ Micro Mint SB-180 Gemini Zorba Osborne I Sanyo MBC-1150j1160 AVL Eagle Alspa 1\ ..; ..; ..; ..; ..; ..; ..; ..; C Under Development) SPECIALS ... while stock lasts ... 5mb External $465. TM602 or equiv. (less PIS enclosure $395.) 10mb External $495. CM5616 or equiv. (less PIS enclosure $425.) 15mb External $535. CM5619 or equiv. (less PIS enclosure $465.) (call for current specials) Drives Accessories $495. 20mb 3.5" 10mb 3.5" $439. 20mb 5.25" HH $439. $279. 10mb 5.25" HH 10mb FH SPECIAL (call) under $200. 5mb FH SPECIAL (call) under $120. Drive cable sets 1.5' -10.95 3' (std.) - 11.95 6' - 14.95 16.67 Kaypro interface cables (externals) Host extension cable, 1 foot 18.95 "Y" power cable 9.50 Document package (incl. with system) 8.00 Enclosure 5.25" FH, with PIS - 69.00 without PIS - 49.00 The key to the Mini-Winnie system is the INSTAll program, which links your drive and your computer, the way YOU want it. Extensive menu options allow selection of any ST-506 compatible drive, as 1 to 4 logical drives within CPIM at any drive letter. Diagnostic and format capability provided to match the installation. Distributed in SOURCE form. We have club, user group, OEM/Dealer programs. Call for quantity schedule. If for any reason you are not satisfied, return for full refund. Special drives warranteed for 30 days. Info and manual $8.00 credited with system purchase. Specials subject to availability. ORDER INFO: Call (305) 482·7302. Terms: UPS cash COD. check or M.O. Please allow 4 weeks for delivery. Fla. add 5% tax. Shipping extra. Please specify desired floppy format. ac Advanced Concepts Engineering & Consulting 8926 SW. 17 St., Boca Raton, Fl 33433 MICRO CORNUCOPIA, #29, April-May 1986 25 AFFORDABLE HARD DISKS FOR YOUR zao HARD DISK SYSTEMS by Emerald Microware Is single density making your Xerox 820-1 feel crowded? Now is the time to take advantage of the low prices on hard disk drives. We have everything you need from the host board to a complete turn-key system for your computer, order only as much as you need. Runs on Xerox 8~0-1 or -2, Kaypro, or most ANY ZSO based system. DOUBLE DENSITY FOR THE XEROX 820-1 OR BIG BOARD I HDS Host board • Plugs into Z80 socket, no wiring required (special 50 pin host is available for Kaypro 84 series computers) • Interfaces directly with 40 pin Western Digital 1002 series controller boards • Comes fully assembled and tested • Switch selectable 110 addressing HDS Software package by MICROCode Consulting • Drivers locate above your existing operating system and BIOS, so it will not interfere with your other programs that install down below. • Custom installs for your system without having to assemble any software • Reserves system tracks and swaps so you can Warm Boot from hard drive • A"ows installation of up to two hard drives and two 5 V4" floppies on one WD1002-05 controller board • Runs diagnostic on system each time hard drive is installed • Can be configured for 5 to 40 Meg hard drives, from menu or custom install • Includes manual, FORMAT, TEST, PARK, INSTALL, and SWAP utilities Western DiQita11002-0S Hard Disk Controller Board • 5 V4 " profile with standard 5 V4 " power connection (only 5 VDC required) • Has WD2797 floppy controller and interface on board • Can control up to three hard drives and four 5 V4 " floppies. • 40 pin host interface • ST506 compatible hard drive interface HDS TURN-KEY HARD DISK SUBSYSTEM by Emerald Microware • External hard disk subsystem complete with a" cables, controllers, hard drive, and cabinets with power supply, fully tested and burned in. Host adaptor and full installation kit supplied with software on disk format of your choice. • Internal hard disk subsystem for '84 series Kaypro computers, complete with host, controller, cables, 3 1/2" hard drive, mounting hardware, and fan. • Available as 10,20, or 40 Meg, single or multi-drive systems • External units available with both hard disk and 5 V4 " quad density floppy drives installed 10 Meg Single drive Subsystem ...................... $ 795.00 20 Meg Single drive Subsystem ..................... $ 995.00 Host board with software package .................... $ 89.00 WD1002-05 Hard disk controller board ................ $ 185.00 WD1002-05 controller with Host and software ........... $ 250.00 20 Meg with dual 5 V4" floppy subsystem .............. $1295.00 XEROX BOARDS AND ACCESSORIES We stock a limited quantity of Xerox parts and accessories for the 820 computers. Xerox 820-2 Main Computer Board .................... $ 95.00 Xerox 820-2 Floppy controller board ................... $ 75.00 Xerox 820-2 Main board with floppy controller board ....... $150.00 Xerox 5 V4 " disk drive cable ......................... $ 12.00 Xerox internal video harness with brightness control ....... $ 9.00 Para"el ASCII keyboard (no numeric pad) with docs ....... $ 25.00 PC mount power connector for 820 board ............... $ 2.50 Dual half height, 5 V4 " disk drives (new), DSDD - 48 TPI, in cabinet with Xerox standard cable ............... $265.00 Dual half height, 5 V4 " disk drives (new), DSQD - 96 TPI, in cabinet with Xerox standard cable ............... $295.00 We guarantee satisfaction on a" of our products or your money back. Include $4.00 shipping and handling, $7.00 for COD, call for Blue Label charges. Phone hours: 8:30am to 5:00pm weekdays; modem hours: 10:00pm to 8:00 am seven days a week. WE SUPPORT OUR CUSTOMERS 26 MICRO CORNUCOPIA, #29, April-May 1986 Clearly the most versatile double density package available for the 820-1. Lets you run up to four disk drives at once, and mix5 V4" &8". Runs almost a" Kaypro and Xerox 820 software. Supports a" standard printers and most add-ons such as the Ferguson ram board. Our ROM sets operate in banked mode to allow more space in the TPA for your programs. You get Mini-monitor functions, autoboot capability, automatic disk identification (up to 19 formats built in), 10BYTE enabled for device selections, and you can read and write 48 TPI disks on 96 TPI disk drives. X120 Board - assembled and tested - with ROM set ........ $160.00 X120 Board - full kit - with ROM set ..................... $140.00 X120 Bare board with ROM set ........................ $ 72.00 X120 Bare board only ............................... $ 26.00 ROM set only ..................................... $ 50.00 Hard to find parts set (trimmers, caps, resistors) ........... $ 12.00 WD2793 controller chip ....... ",..................... $ 22.00 Other packages available. Can't find CP/M for your Xerox? Now you don't need it. QP/M by MICROCode Consulting At last, an inexpensive replacement for CP/M, and you don't need CP/M to get started! Get full CP/M compatibility with many new options. Stamp your file with the time and date -transparent to your operation, automatically re-Iog your disks (no more control C), change your default drive search from the keyboard, use up to 31 USER areas, select your disk drives or user areas with semicolon or colon, maintains ARCHIVING bit for efficient backups (great for hard drives), and much, much more. Runs in native Z80 code, in the same space as CP/M 2.2. Has menu oriented install for use on ANY Z80 based system. Available as a bootable disk (with BIOS) for the Xerox 820-1,820-2, 820-XPRO, 820-PLUS2, or Kaypro. QP/M, bootable for the Xerox 820-1, 820-2, or Kaypro ....... $ 80.00 QP/M, bootable for the Xerox 820-1 using XPRO or PLUS2 ... $ 65.00 QP/M, without BIOS (not bootable) ..................... $ 60.00 Tired of carrying your computer back and forth? Why not just the diskette? UNIFORM and UNIDOS by Micro Solutions The solution to the diskette incompatibility problem. This program allows files to be transferred back and forth between close to a hundred computer formats including between CP/M and MSDOS. Lists computers by name - no special technical knowledge required. Versions available from stock for the Kaypro (XPRO) , Xerox 820-2, Morrow MD2&3, and IBM 100% compatibles. Other versions available on request. Unidos allows you to run CP/M 80 programs on your IBM compatible. Requires NEC V20 chip on P.C. Uniform or Unidos .................................. $ 64.95 IBM Uniform with Unidos and V20 ..................... $145.00 PANASONIC HALF HEIGHT DISK DRIVES These are some of the finest new 5 V4 " disk drives. They are fast, reliable, and have about the lowest power consumption around. National JA551 (Shugart 455) - DSDD, 48 TPI ............. $114.00 National JA561 (Shugart 465) - DSQD, 96 TPI ............. $129.00 (EMERRLD ~~ (MICRDWRREj P.O. BOX 6118 ALOHA, OR 97007 (503) 642-1860 Z SEISYOU FREE! Free to create computer environments right for you ... free to automate repetitive tasks ... free to increase your productivity. Z.System, the high-performance a-bit operating system that flies! Optimized assembly language code - full software development system with linkable libraries of often needed subroutines -relocating (ROM and RAM) macro assembler, linker, librarian, cross-reference table generator, debuggers, translators, disassembler - ready to free you! New generation communications package provides levels of-flexibility, functionality, performance notavailable until now. Replaces BYEand XMODEM ... master/server local area network capability ... public or private bulletin board and electronic message handling are integral features ... auto-dial/answer, menu install .. . XMODEM (CRC/Checksum), MODEM7 Batch, Kermit, CIS, and XON/XOFF protocols .. . 100-page manual ........................................................ $99.00 TERM III Rolls Royce of message handling systems ... mates with TERM III or BYE for most advanced overall electronic mail/file transfer capabilities ... menu installed ... extreme configurability ... many levels of access and security ... word, phrase editor, field search . . . complete message manipulation and database maintenance ....... '.................................................... $99.95 Z·MSG Elegant, menu and command-line driven file and disk catalog manager. Generates and controls multiple master catalogs, working catalog used for update quickness. Nine flexible modules easily altered by user for custom requirements. Works with Z shells (VMENU, VFILER, MENU), aliases, and multiple commands per line ................................................................ $39.99 DISCAT ZCPR3: The Manual Bound, 350 pages; typeset book describes features of ZCPR3 command processor, how it works, how to install, and detailed command usage. Bible to understand Z-System .................................................... $19.95 ZCPR3 and IIOPS Loose-leaf book, 50 pages, 8-1/2" by 11 ", describes ins-and-outs of input/output processing using Z-System. Shows how to modify your BIOS to include I/O redirection ... complements The Manual .................................... $9.95 More missing links found - Z Application Progams! Fly with eagles! Our programs promote high performance through flexibility! Productivity results from dynamically changeable work environments, matching operator to tasks and machines. Above programs require 4BK-byte memory, ZCPR3, Z-Com, or Z-System, and ZBO/NSCBOO/HD641BObased computer. Shipping from stock. State desired disk format, plus two acceptable alternatives. As payment, we accept Visa, Mastercard, personal checks, money orders, and purchase orders from established companies. We also ship UPS COD. Call or write to place order or to obtain literature. Echelon, Inc. 101 First Street. Suite427 • Los Altos, CA 94022 • 415/948-3820 MICRO CORNUCOPIA, #29, April-May 1986 27 Upgrading Your XT To A Turbo For (Almost) Nothing We interrupt the diagnosing your computer series to bring you this special message. You don't need to. spend $300 or more replacing your PC or XT's processor board. If your RAM is fast enough, you can turn your tortoise into super system for under $40. Sound familiar to you oldtimers? S tories of easy speed-ups on .ATS and AT clones have been around a long time. Only after IBM started using a special ROM that wouldn't let the system run 8MHz (for some unexplained reason) did the . $2.00 AT speed-ups begin to taper off. I haven't seen any stories about speeding up the PC or the XT. That's curious, particularly since there isn't much involved and its ROM doesn't care. Oh, going the whole route can be a little more involved than simply replacing a crystal (that's all you do on the AT), but you can get your speed in increments. The first increment is very easy. If you do go the whole route (including changing the system clock frequency) you may not be able to run software that's been protected by some of the older anti-copy schemes. But those· schemes die at the sight of an AT or any other turbo board, so you'll be in good company. (And you can add a switch to go back to 4.77 if you insist on running this kind of slugware.) Music programs that use processor loops to generate sound become more soprano as you increase the system clock speed. Overview Of The Mod The first, and simplest, thing to do is replace your 8088 processor with a V20 from NEC. Unplugging the 8088 and plugging in the V20 gives you a 28 By David Thompson significant improvement in speed. (See the benchmarks in this issue.) Changing the system clock speed is the next step and can be .a bit more involved .. You'll need to make sure your RAM is fast enough, you'll need to replace the processor clock crystal, and, if you're using a color graphics board (to drive either a color monitor or a composite B&W monitor), you'll need to add another oscillator to supply 14.31818MHz to the color board. Background You may be wondering why IBM chose 4.77MHz in the first place. After all, the parts they're using will run 5MHz, often 6MHz, just fine. It turns out that the 6845 graphics controller needs a 14.31818 clock (+ /almost nothing) so it can generate horizontal sync, vertical sync, and color dot signals. IBM designers knew this when they designed the PC, and they figured that most people wanted color graphics. So they used a 14.31818 crystal for their master clock (that way they didn't have to put another crystal on the color board). Then they added a small capacitor in series with the main crystal that they called color adjust." 1/ Divide By Three The 8088 needs a clock that spends 2/3 of its time high and 1/3 of its time low (it's asymmetrical), and the Intel 8284A clock generator IC generates this signal by dividing the main crystal frequency by 3. 14.31818 divided by 3 is 4.77 (or thereabouts). The 8284A supplies both the 4.77MHz to the processor, and the 14.31818MHz to pin B30 on the slots. This is the signal the color board uses. The problem everyone faces when they change the system's crystal is that they screw up the color display. It's that simple. If you don't have a color board then you don't have to worry about supplying 14.31818. MICRO CORNUCOPIA, #29, April-May 1986 Replacing The 8088 With The V20 Remove the cover from the system, ground yourself by touching bare metal on the power supply, and then just pop out the original processor (see Figure 1). Pry up the 40-pin IC with a very small screwdriver. Pry at alternating ends until the chip is loose. (Note: The V20 is a CMOS chip. It is extremely sensitive to static. Don't remove it from its protective container before you're ready to pop it into the system. Make sure you ground yourself before doing anything. Don't wear synthetics. And, especially, don't kiss your favorite friend (causes particularly hot sparks).) To insert the V20, set one set of legs into their holes (don't push them in yet). Then, with your thumbs, press the chip toward the set of legs that are resting in their holes. This will flex those already positioned legs so that the second set of legs will line up with their holes. Now apply gentle pressure straight down, rocking slightly. Take your time. Watch carefully for pins that aren't going into their holes. When you know that everything is going in properly, press down firmly to seat the chip. You have now speeded up your system about 20%. Replace the lid, fire up your system, and watch everything run faster. If you're a neophyte hardware hacker, untested in the surgical suite, then I'd stop right here. You've gained some speed, upgraded your system, and you're not in over your head. Find an experienced guide before going on. You'll be a lot more comfortable, and your guide will appreciate being asked to supervise - especially if you happen to be serving his favorite beer and pizza. (Your goal is to finish the following mod before he finishes the beer.) OSCILLATOR CHIP PULL OUT PIN 12 IF YOU HAVE A SLOTS (UP TO 8) o o o COLOR~ ADJUST GROUND <2> v v +5V 8088 i 8087 MATH SOCKET a:: o I- U l&J a::Z LlJZ ;:0 0<"> a. +5V STANDARD TTL IC SELF-CONTAINED OSCILLATOR IC (shown upside down) 14.:31818 MHz (INSTALL IF YOU HAVE A COLOR BOARD) Figure 1 - XT Speed-up Component Layout Speeding Up The System Clock Now that you have your courage up (or your friend's well into the food) roll up your sleeves and get ready. This is the fun part. Parts You'll Need: 1. 120ns or 150ns RAM chips (if yours aren't that fast). 2. 18MHz and 20MHz crystals. 3. A 14.31818MHz oscillator IC - it's a crystal and oscillator combined (if you have a color graphics board). . 4. DPDT toggle switch (probably not necessary, but important if you have copy-protected software that's sensitive to system clock speed). Tools And Materials: 1. Small soldering iron (15 watt max) with 3-wire plug. 2. Fine-gauge electronic solder. 3. Solder sucker (the spring-loaded type with an anti-static tip). This tool is a must for any· kind of PC board work. 4. Standard wire-wrap wire (30 gauge, teflon coated). 5. Small wire cutters. 6. Needle nose pliers. 7. Small screwdriver(s). RAM Remove all of the plug-in boards and take a close look at the RAM on the main board (and on any RAM expansion boards). Wrap the plug-in boards in something anti-static before you set them aside. (Aluminum foil works very well.) On most main boards there are four banks of 9 RAM chips each (some main boards have only 2 banks). The RAM chips are marked with either a (continued next page) MICRO CORNUCOPIA, #29, April-May 1986 29 UPGRADING YOUR XT TO A TURBO (continued from page 29) number ending with 64 (64K RAMs) or a number ending with 256 (256K RAMs). After the 64 or 256 there will be a "_" and another number. If that second marking is a -12" then the chips' access time is 120ns (and they will work in a system running up to 8MHz). If it's "-15" then the time is 150ns (and the RAM will run in a 7MHz, or slower, system). If this second number is "-2" or "-20" the time is 200ns and the chips will run in a 5MHz (or slower) system. If the chips are marked "-3" or "30" then they are 300ns and aren't even rated for 4.77MHz systems. Since you are changing the clock speed to 6MHz or 6.67MHz you'll need RAM chips marked with "-12" or "-15." If yours aren't, then order some new ones before continuing. 64K RAM chips should cost between $1.00 and $1.50 each. 256K parts should cost between $2.00 and $4.00 each. Get 150ns or 120ns parts. Order 10 parts per bank so you'll have a spare in case you mangle one during installation, or in case one is bad. (Japanese parts are the best.) You remove and install RAM chips just like you removed and installed the processor. RAMs are a bit easier because there are fewer pins, but take your time. Plan on spending at least 5 minutes per bank. Now reassemble the system enough to fire it up and verify that the new RAM is working. If there's a problem you'll have a good idea where to look for it. II The Crystal Now that your RAM is fast enough and you have the V20, it's time to change the crystal. The 18MHz crystal will give you a 6.00MHz system. The 20MHz crystal will give you a 6.67MHz system. You'll probably want to try the 20 first. Replace the lid and run the system on some unimportant stuff for a day or two to see if everything seems solid. If it doesn't boot right away, gives you parity errors, or locks up after a few hours, you're pushing it too hard. Try the 18MHz crystal and see if that doesn't clear up the problems. 30 Replacement The crystal resides in a small rectangular metal can very close to the main board's power connector. It has two leads and will probably have 14.31818 stamped on its top. First remove the main board so you can get at its underside (you might have to remove the drives to reach the screw on the front corner of the board). Remember to touch the power supply before starting, and don't shuffle your feet while working. Also note the colo! coding on .the wires from the power supply. Usually the power connector comes in two parts. The black wires (grounds) are in the center of the whole assemblage. After you remove the main board, wrap it in anti-static material (blue foam, blue bubble material, or alumi- . num foil). If you are comfortable soldering and unsoldering on circuit boards and have the tools, then go for it. Otherwise, make sure you have old pizza breath peering over your shoulder (or doing it himself). This is a very simple task for the experienced, but a static spark or a solder bridge will disable your system, guaranteed. The crystal is probably glued to the board, so take a small screwdriver and pry the top upwards away from the board so the crystal stands up on its own two legs. Now, underneath the board, use the iron to heat one of the solder pads and then suck the solder out of the hole. (Hold the freshly tinned, hot tip against one joint. Wait three seconds after the surface becomes liquid and then jam the solder sucker down over the hot tip, yank the tip back, and hit the button.) Remove the solder from both holes and then wiggle the crystal until it pops out. If one leg won't come, heat it with the iron and then pull. Stick in the new crystal (make sure the printing will be up), solder it underneath the board, and then clip off the extra wire. A Switch If you need to revert back to 4.77MHz on occasion then you'll want to install a switch. See Figure 2 for wiring instructions. Solder the original MICRO CORNUCOPIA, #29, April-May 1986 crystal and one of your new faster crystals to the switch. Then run two (very short) wires to the board and solder them into the original holes. You may need to drill a hole in the back of the cabinet if there isn't one there already. Do this before you replace the main board and clean up the bits of metal very carefully. You'll probably have to do a hardware reset (turn the system off and then on) each time you change the system speed, but you probably won't be changing it very often. Color Board If you have a color board (or anything else that insists that 14.31818 be available at the slots) then you're going to have to supply it. First, remove the the original oscillator chip (the 8284), bend out pin 12 slightly, and then replace the chip, making sure that pin 12 doesn't go into the socket and doesn't touch anything (see Figure 1). This disconnects the master oscillator from pin B30 on the sockets. Now you need a crystal oscillator and power to run it. The oscillator has four pins and is made to plug into a standard 14 pin Ie socket. Pin 1 is not Figure 2 - 2-speed Clock DOUBLE POLE DOUBLE THROW TOGGLE SWITCH c C POWER CONNECTOR D 0 D (74.31818 MHz may be necessary for disk formatting) used (there is a dot on the case above pin 1). Pin 7 is ground. Pin 8 is 14.31818MHz output. Pin 14 is +5V. I simply soldered wire-wrap wire to the oscillator's legs and then ran the wires from pin 14 to + 5V, from pin 7 to ground, and from pin 8 to B30 on the end slot (see Figure 1). I rested the oscillator upside down on top of one of the soldered-in TTL ICs and stuck it in place with hot glue. The standard ICs (the 14, 16, 18, and 20 pin garden variety) have ground and + 5V on their corner pins (see Figure 1). Use an OHM meter (and 5V and ground on the power connector) to verify which pins supply the 5V and ground. Parts are available from: V20, 18.31818MHz oscillator IC, 18MHz & 20MHz crystals, DPDT switch. (Total for all, $37.50.) From: [ tl~ r , t' MicroSphere PO Box 1221 Bend OR 97709 (503) 388-1194 J ::~f':fE~rb~ SOFTW'ARE FREE CATALOG CP/M ~==================~"~M=S=D~O~S__~~~~=-~=~~~~~ " • LOCI PRO Root Locus - $69.95 • ACTFIL Active Filter Design/Analysis - $69.95 • STAP Static Thermal Analysis - $69.95 • MATRIX MAGIC Matrix Manipulation - $69.95 • RIGHTWRITER Proofreader & Writing Style Analyzer o ACNAP2 AC Circuit Analysis - $69.95 • DCNAP DC Circuit Analysis - $69.95 • SPP Signal/System Analysis - $69.95 • PLOTPRO Scientific Graph Printing - $69.95 • PCPLOT2 High Resolution Graphics - $69.95 mn ~o~~!~~:!!~g ~ 2200 BUSiness Way, SUite ___ TRSDOS P_C_D_O,S ~ $74.95 / ~07 • RiverSide, CA 92501 L I [iiJ' VISA • (714) 781-0252 ..I RAM, (order 64K X 1 or 256K X 1, 150ns) Check for latest prices. Microprocessors Unlimited 24,000 S Peoria Ave Beggs OK 74421 (918) 267-4961 11111. Excellence In your job, it depends on having the best tools available at your disposal, With such tools, your productivity increases and your work becomes easier. Wisely, you keep a sharp eye open for products using the latest technology... Those -truly representing the state of the art. You have now located the source of advanced' debugging technology for PC·DOS and CP/M·80. More powerful debugging software is not available anywhere... at any price. Yet the cost is affordable to even the smallest budget. DSD-80.. .AbsoluJe~v the most pou'€l'jul and easiest 10 use debugger for CPIJf-80. Full screen S)mbo/ic design nou' includes a back tracing capabi/it)'. OrI~V 12S.00 DSD-86 .. .Neu' and innolwu¥! design combines the most sophisticaJed user inlerface u'ith the most flexible dispay of debugging ledmolog. 'for the IBH PC On~v 699S 10 create a netJ.' generation SoftAdvances P.O. Box 49473· Austin, Texas 78765· (512) 478·4763 Visa & Mastercard Accepted. Please include 4.00 for shipping and handling. MICRO CORNUCOPIA, #29, April-May 1986 31 Benchmarking The Speedy PCs (And CP/M .Emulators) In C Gary and I (d.t.) were sitting around the office one afternoon trying to guess whether a 4MHz CP/M system was really much slower than a 4.77MHz clone, and whether 8080 code running on,a V20 using CP/M emulation would be faster or slower than the same code running on a Z80 . CP/M system. What about writing to the screen? What about looping? What about integer math? None of the fancy benchmarks 1'd seen addressed these questions. So I sat down and banged out three very simple programs. We also wanted to get results from the Amiga, but we don't have the numbers yet. If they come in before we go to press they'll show up in the table. (Hey, come back here, you can't print this yet - I haven't even finished the intro ... ) ith all the talk about speed around the office these days, I knew it would come to a benchmarkirig exhibition; so here it is. Ladies and gentlemen, ha~g' on to your seats. W The Participants i.. Kaypro 10 - a reliable, boxy 4MHz Z80 from the world of CP/M 2. Basic Personal Clone - 4;77MHz 8088 version 3. V20 PC - 4. 7711Hz version (#2 with a V20 replaCing the 8088) 4. Faster Personal Clone - 6.77MHz V20 version. 5. Blue Lightnln' - a 9.25MHz Z80 board piugged into a clone 6; X16 - 8MHi 80186 version 7. Kaypro 286i - (runnirig an 80286 at 6MHz) ,8. Atari ST - (running a 68000 at 8MHz) And three CP/M emulators 9. RUNCPM 10. RPM2 11. CP/Mulator' 32 By Gary Entsminger Micro C Staff Table 7 - Benchmarks For The Speedy pes BENCH1 BENCH2 BENCH3 (8088 code) PC (4.77MHz 8088) PC (4.77MHz V?O) PC (6.67MHz V20) X16 (8MHz 80186) Kaypro 286i (6MHz 80286) Holliston XT186 (8MHz 80186) Slicer (8MHz 80186) 54.7 32.8 25.7 11.3 11.2 14.4 23.1 28.7 17.9 13.9 7.2 7.4 7.5 13.7 73.6 65.2 60.3 23.0 34.2 35.6 23.9 (8080 code) Blue Lightnin' (9.2MHz Z80) RUNCPM (6.67MHz V20) RPM2 (6.67MHz V20) CP/Mulator (6.67MHz V20) Kaypro 10 (4MHz Z80) 203.6 329.0 326.8 331.1 478.2 104.6 169.2 169.0 170.4 244.6 38.0 34.3 45.0 63.4 39.0 28.0 18.0 35.5 SYSTEM Atari ST (8MHz 68000) All programs were run from hard disk (load time 1 sec. or less) except on the Atari ST (load time 5 sec. for each program). Times were taken by hand stop watch. See the speed-up article for informationon speeding up your MS-DOS system from 4.77 to 6.67MHz. All the emulators are running 8080 CP/M code on the 6.67MHz persorial clone. And now, gentle folk, rev up your engines. The Thompson Benchmarks , Each computer will run three benchmarks written in C and compiled with the AZTEC compiler (version 3.20d for the MS-DOS programs, and version 1.06 for the ~P/M emulator's). Each benchmark is processor intensive. Bench 1 does two integer additions and a division - 400,000 times. Bench 2 is identical to Bench 1 except that the math has been removed so MICRO CORNUCOPIA, #29, April-May 1986 orily the loops, tests, and screen writes remain. (That way, the difference is the processor's and coinpiler'S speed at handling integer math.) Bench 3 writes 20K characters (dots) to the screen. (Clones are notorious for their slow video, and I was curious whether a .change in processor speed would affect display update time.) The benchmarks are very simpie, hut testy; see Figures 1, 2, and 3 for the C source. And The Winners Are Table 1 contains the results. Surprised? We are, particularly with the Figure 3 - Bench3.C maine ) { int i,l; for(i = 0; i < 20000;++i) { putchar('.'); } printf("\n%d i",i); Figure 7 - Bench 7. C Figure 2 - Bench2.C maine ) maine) { { int j, k, 1, i; int i,l; j=1; k=2; for(l = 0; 1 For more information Decmation 2065 Martin Ave. Ste. 110 Santa Clara CA 95050 (408) 980-1678 (for Blue Lightnin') < 20; ++1) { for(l = 0; 1 { < 20; ++1) fore i = 0; i for(i = 0; i < 20000;++i) { if«i % 1000)==0) < 20000 ;'Hi) { if(l < 19) putchar('.'); else putchar('x'); { k =« j+1»/ j+i; if«i % 1000)==0) } { if(l < 19) putchar('.')j else putchar('x'); } printf("\n%d i",i); } PC Tech P.O. Box 128 904 North 6th St. Lake City MN 55041 (612) 345-4555 (for the X16) } printf("\n%d j %d k %d i",j,k,i); hot results from the V20 sped-up PC, a last minute entry. The sped-up PC executed almost twice as fast as the basic PC and many, many times faster than the Kaypro 10. The X16 (from PC Tech) and the 286i (from Kaypro) are the clear winners, but are just a little more than twice as fast as the sped-up PC (the $821 entry and a hot alternative to spending a lot of money). The emulators are good competition for the Kaypro 10 (although not with the PCs), so you CP/Mers can still have a piece of both worlds. Blue Lightnin', in particular, is a hot op- tion. Although spendy, it runs 8080 programs faster than the Kaypro 10 and the V20 emulators. (And unlike the emulators, Blue Lightnin' runs Z80 code so you can use the Turbo compiler and Turbo generated .COM files.) Calling All Benchmarkers If anyone has run benchmarks on other machines, please send us the results, including benchmark source. We'd especially like to see these simple programs run on the 68000 systems, the Mac, and the Commodore Amiga. (Times include loading the program from disk.) Micro Interfaces Corporation 6824 NW 169th St. Hialeah FL 33015 (800) 637-7226 (for RUNCPM) Source Information P.O. Box 2974 Warminster PA 18974 (215) 628-4719 (for CP/Mulator) Micro Methods 118 SW 1st, Box G Warrenton OR 97146 (503) 861-1765 (for RPM2) ••• MICRO CORNUCOPIA, #29, April-May 1986 33 "MAKE YOUR IBM~PC KAYPRO COMPATIBLE" Intersecting Concepts Announces 3 Solutions To Solve Your C011J.puter Incompatibility! "But will it work on my computer?" Yes! Finally, there are three easy ways to exchange information, transfer files, and run CP/M software on MS-DOS machines. MEDIA MASTER Disk-to-Oisk Format ConverWn Sottwore a· . a LL¥L COOCi n:R>isizeof(root)+100) and (not (eof(tin») do begin new(next); current .... nxt := next; next .... nxt := nil; readln( tin, str) ; process(str); current .... st := str; current := next; end; end; new tail var } link it to existing list mark as tail of list } get the data } massage a bit } put data into list } update our position } procedure put; begin current : = root; { start at head of list } while current .... nxt <> nil do ( while list items available begin Stl' := current .... st; recover and output the data writeln(tout,str); write( '+'); current := current .... nxt; point to next list item} end; release(root); recover memory for subsequent call to get} end; begin assign(tin,'textseek.pas'); reset( tin) ; , as~ign(tout,'junj.jnk'); rewrite(tout); while not(eof(tin» begin get; put; end; (llose (tout); , end. do MICRO CORNUCOPIA, #29, April-May 1986 45 PUT A CP/M COMPUTER IN YOUR PC! ADD CP/M DISK COMPATIBILITY TO YOUR PC! ~ 'p..'{·~iS> . 'f- . "x,,\,,:. •. ,lx,,~.. .~ ~Yl\j..~'{. \l\o~. x" 'x,,""€' ~ ~ Turbocharge your CP/M Applications! '~Y' .. .Now your IBM PC or compatible can directly read, write, and format aver 100 of the mast papular CP/M disks. How does it work? READ/CPM virtually transforms your PC's floppy disk drives into anyone of more than 100 CP/M drives. Simply run the READ/CPM program, and choose the CP/M formats you want your PC's floppy disk drives to emulate. Now you can access data from your CP/M disks using standard DOS commands like COPY, DIR, TYPE etc. No need for modems or additional hardware, and READ/CPM supports more formats than any other similar product. READ/CPM is the ideal solution to the incompatibility problem. RUN INTEL SOFTWARE ON YOUR PC! =""",,,==== ~g.g!\ ~i~~~t~~~e~~I~~ ~~~ f~~~~~~!y with 8087 • Direct access to PC 1/0 ports • Direct access to PC BIOS cails Plus over 20 CP/M80 programs! 0 ~\,,~ f/iJJ1\~ ~O~I>~G-(.I>- '00\ \~C\: Plus over 20 CP/M80 programs! PC Speed Up 10 MHZ! Attention Programmers and Developers! Our MICRUN 80, and MICRUN 86 Universal Development Interfaces will allow you to run your 8 bit or 16 bit Intel development languages on your IBM PC or MS-DOS compatible! Your PC will become a high performance MDS, and save you time and money. Call for more information. Now Your IBM PC, XT, Or Compatible Can Run MS·DOS, And CP/M Programs Virtually As Fast As An AT! CALL CALL FOR PRICE! FOR PRICE! • Compatible with virtually all sofware: - Applications programs - Spread sheets - Word processors - CAD/CAM - Data base managers - Engineering - High level languages - Scientific Applications To order send check or money order (U.S. funds) add $5.00 shipping/handling. 46 ~Q~ ·OCO~ .~ ~,,\ ; ":"0 For programmers, developers, and advanced enthusiasts. • Utilization of 1 full mega byte address space! • ~'(:. Performance? Depending on the application, many of your CP/M programs will run up to 30% faster on your PC. Other features include; ability to run CP/M programs in color, logical and physical drive assignments, run CP/M or MS-DOS programs from the same prompt. RUN/CPM Is the solution to running CP/M software on PC's. transform your PC's floppy drives into CP/M drives able to direclly read, write, and format over 100 CP/M disks! Terminal emulation supporting dozens of the most popular terminals completes the transformation of your PC into a CP/M system, ~~ iJ1J'-,A, ":J~ 'L x" • -{x,,\.-~' ~x,,' ". • And run 1,ODD's of CP/M programs up to 30% faster, directly from your CP/M disks! How does It work? RUN/CPM virtually transforms your PC into any of the most popular CP/M systems. A simple replacement of your PC's 8088/86 microprocessor with our N,E,C, V-20/30 microprocessor gives your computer the ability to run both 8 bit CP/M and 16 bit MS-DOS programs, RUN/CPM will OCO.~x,,~. ~cl":!'!!!!!!"•,.' o~\,,~~ ~f/iJJ"'. ~~~l~~~~\o~Q 0 .... '. • .cP'~'g96 .' '.J·~~S>n,x"b .~ ...\~: 'x,,\l\V. '<;..0. b~~"": 'fJ~' .~~. ',~ ~'P. • . '" . '~6~~;~'" • Compatible with virtually all accessory cards: .....:. Extended memory - Hard disk controllers - Printer cards - Floppy disk controllers - Serial cards • No preboot software, virtually transparent to user. ORDERS ONLY 1-800-637-7226 MICRO CORNUCOPIA, #29, April-May 1986 Micro Interfaces Corporation 6824 N.W. 169th Street, Miami, Florida 33015 (305) 823-8088 Telex 5106004680 MICRO INTER CO Ask About Our Intel Operating System Interfaces OEM, VAR, Dealers, Inquiries Invited Drive Select Reversing Switch Ever wonder how drive select works? Curious why position on the cable makes a difference on the PC but doesn't on a CP/M system? Want to change drive A: to B: (or C: or D:) at the flip of a switch? Then this is your spot R ecently, a member of my user's group had a disk failure on drive B:. That made me wonder - what if a drive failed on my system and what if it were drive A: rather than B:? I'd have an unusable system until I opened it up, removed the drives, and switched the drive select jumpers. However, if I installed a switch to do the reversing, then I wouldn't have to dig into the system. Plus, if I had different types of drives in my system it would be really handy to swap A: and B: at the flick of a switch. The Hardware I used a relay (Radio Shack 275-215) to actually switch the signals. Alternatively, you could run four wires to a switch and eliminate the relay. My reasons for using the relay are: 1. I like to keep the signal wires as short as possible. 2. If a wire between the switch and the main board breaks, I lose control of only the drive reversal, not of the drive itself. Diode What is that diode for? The relay is an inductive load, and opening the switch causes an instantaneous reverse voltage across the coil. The diode shorts this voltage to ground. By Al Paarman 368 El Gaucho Rd. Santa Barbara CA 93111 Each drive looks for a single low signal to tell it that it is selected. When you jumper DSO at the drive you connect the drive's select input to line 10. When you jumper DSl the drive's select input is connected to line 12, and likewise for line 14 (drive C:) and line 6 (drive D:). The odd numbered lines are all grounds. Editor's note: On PCs and compatibles, drives A: and B: are both jumpered as drive B (D51). Drives C: and D: (if they are supported by the interface card) are jumpered as drive A. The twist in the middle of the cable makes sure both drives A: and B: see their select signal on signal line 12, and C: and D: see their select signal on signal line 10 (see Figure 1). The PC drive card pulls line 14 low to select drive A:, line 12 selects drive B:, line 16 (normally the motor line) selects drive C:, and line 10 selects drive D:. Most PC cards support only two drives. Cutting The Traces Basically all that's involved in this mod is swapping two signals (see Figure 2). When the computer selects the A: drive you want that signal to go to B:, and vice versa. The signals are basically DC, so wire length is not really critical. I mounted my switch on the front panel. Drilling makes chips, so turn the cabinet upside down before starting, or build a small box 'out of masking tape, sticky side in, to collect the fragments. Last, I like to put a connector on the board-to-switch wires so it can be quicky disconnected. That way you can remove the board without removing the switch. Figure 7 - PC Cable Twist LINE 1 10 12 14 LINE 34 16 1 1 HlrlIl DRIVE A CONNECTOR l' l' JEi t LINE 1 10 l' LINE 16 LINE 34 i t LINE 12 ORIGINALLY LINE 16 ORIGINALLY LINE 10 ORIGINALLY LINE 14 (NOW DRIVE A SELECT) Figure 2 - Swapping Two Signals SELECT LINES O::::--...-----~A A----<~ ~~~----~8 8----<:>-1 TO DRIVE CONNECTOR +5V--P'"'"'!-"" IN914 : What's Happening Drive A: is selected when line 10 (on 'the 34 pin floppy cable) goes low. , Drive B: is selected when line 12 goes :'low. • •• MICRO CORNUCOPIA, #29, April-May 1986 47 By David Thompson Kaypro Bids Farewell To CP/M (Almost) There are beginnings and endings. Lately the news from the CP1M world has mostly been endings. Here is another. I t was around mid January when Don Thompson (from MicroSphere) called. "Kaypro's done it, almost." There are a lot of things that Kaypro's almost done, so I didn't hazard a guess. "What?" "On February 1 they'll no longer be shipping any CP/M systems except the 2X. No 10, no 1, no Robie, no 4, just the 2X. All that, despite the fact that they were back-ordered on the 10, and the 1 wasn't doing badly either!" Sales of the Kaypro PC have been so brisk that they can't turn them out fast enough. No doubt they're putting all but one of their assembly lines to work building the $1595 clones, and so it appears that success, not failure, has spelled doom for the last bastion of CP/M. Now we're just waiting for the 2X to fall. (Remember when Osborne astounded the world with a $1795 CP/ M system that came with WordS tar? The only thing smaller than the price tag was the screen.) Kaypro PCs And RAM Kaypro is using some really marginal RAM chips on its PCs, and close to half the systems are haVing RAM related failures within hours of arriving at dealers. (They've been using cheap American made 64K dynamics.) $595 Vrs. $1595 The Kaypro PC is supposed to be available as a basic system for $595 or as a complete system for $1595. The temptation is to purchase the $595 system and then just plug in your own cards. However, it doesn't work that way. The PC's motherboard is just that, a motherboard - no memory, no pro- 48 cessor. So you need Kaypro's processor board for starters. Then you need Kaypro's memory board because there's no memory on the processor board. Once you've bought these two little gems you'll have spent about $1595 anyway. The disadvantage of having the processor on its own board is that you're locked into Kaypro for processor, motherboard, and main memory, and two of the slots are filled even before you add the video. The advantage of this type of system is that you could go to an 80286 just by changing the processor board. The latest motherboards have pads for AT-style board sockets. New Screen For The 2000 Kaypro 2000s are known for their small size, portability, and for their compatibility with the PC. Their 80 column, 25 line LCD screen even displays the same graphics as the PC color board (without· the color, of course). However, in most lighting conditions the screen is hard to read. Its contrast ratio (between the characters and the background) is only about 2 to 1; on a standard monitor the ratio is about 15 to 1. Kaypro tech support mentioned there's a company in Salt Lake City that's upgrading Kaypro screens. I called them and talked to Dave Cox, FOR THE SERIOUS KA YPRO® USER THE NEW PRO/FILE SERIES OF WINCHESTER DISK DRIVES FROM SPC Whether you have a KAYPRO 2, 4, 10, or even a K·16, the new low PRO/FILE hard disk drives from SPC are cost·effective and easy to install. A screwdriver is all you need. With up to 34 Megabytes available in a small 2 inch-high cabinet, you can say goodbye to floppy problems forever. SPC provides next day delivery on MODEL PRICE 5 Meg. Removable $1095 all products, a one year warranty, and a friendly approach that says we ap- 10 Meg. Removable $1495 $1095 preciate your business. Customer 10 Meg. Fixed references are provided upon re- 22 Meg. Fixed $1595 $1995 quest. Larger system capacities up 3,4 Meg. Fixed to 120Mb. are also available, including combination fixed/removable cartridge systems. Some of the prices above are limited to current stock on hand and are subject to change, so call SPC now and let's discuss your application. Ask about our trade-up policy and controller exchange program. Call now ... ask for Shelly or Bob. MICRO CORNUCOPIA, #29, April-May 1986 SYSTEMS PERIPHERALS CONSULTANTS 9747 Business Park Avenue San Diego, CA 92131 (619) 693-8611 vice president of marketing for Axonix Corp. Despite his title, he was intimately knowledgeable about the product (back in the early '70s he helped design the original LCD displays for watches). The Lowdown The upgrade costs $300 and involves sending the system to Axonix. They remove the display, strip the reflective material off the back of the glass, and then mount an electro luminescent panel behind the display. The entire package consists of the panel and a small DC to DC power supply. The panel receives 110 VAC at 300 Hz from the supply. The supply draws 350 mills (at 6V DC) when the system is running at high intensity, and 275 mills for low intensity. Because the reflective layer has been removed from the LCD display the panel must be lit for characters to be visible on the screen. The light's power consumption reduces battery life from about four hours to about three hours. (Since I try to leave an hour to spare, that would reduce my machine's effective working time from three hours to two.) Dave told me that the panel puts out a white light at approximately 8 ft Lamberts on high power and 6 ft Lamberts on low. He also mentioned that the LCD adds a slight bluish cast to the light. He said that the contrast ratio rises to about 10 to 1. They've done the installation on several hundred 2000s, Data Generals, HPs, and Radio Shack 100s, and Dave says none of the units has been returned because customers were unhappy with them. My Feelings At Comdex, I used a Kaypro 2000 whose screen glowed a sickly greenish cast. When I first heard of this mod (with its blue cast) I assumed that this was different. However, I've been told that Axonix did the mod on the Comdex Kaypro. The sickly screen was easier to read than the original, especially in marginal light, but I didn't enjoy reading it. (And the contrast didn't seem all that great.) Also, when I'm taking notes in a seminar or writing my editorial out on some high mountain meadow I really appreciate the four hours of operating time (for me that's three hours plus an hour margin). Losing an hour would really crimp my style. Kaypro is supposed to be working on its own screen that's lower power and brighter, so it seems they're also not satisfied with the Axonix mod. Finally, it depends on how you use your Kaypro. If you're in the dark a lot, and can't wait for Kaypro to come up with something better, then this might be your mod. But a great beauty, it's not. Axonix Corp 417 Wakara Way Salt Lake City UT 84108 MULTICOPY Save hours of time on your Kaypro with this powerful utility! • Format, copy and verify 96 tpi disks in under 4 minutes (exact speed depends on type of drives and year of Kaypro) • Format, copy and verify Kaypro double and single-sided disks in approximately 1 minute and 2 minutes respectively . • Format, copy and verify any soft-sector, single or double-sided 5%" disk format on your Kaypro at comparable speeds (e.g. Osborne SSDD in under a minute). Large library of formats supplied .. Use any combination of Drives A, B, C or D as source or destination drives (Not currently available for the Kaypro 10) Please send MULTICOPY to: Name Address _____________________________________ For further information on MULTICOPY and other Kaypro and CP 1M software, please write or call: Enclosed is $39 plus $3 shipping (California residents add 6% sales tax) Check or money order D VISA 0 MasterCard D Number ___________________________ Exp. ______ Signature __________________________________ (Plu*Perfect System~ ($5 shipping charge for orders outside N. America) BOX 1494 • IDYLLWILD, CA 92349 • (714) 659-4432 CP/M is a registered trademark of Digital Research, Inc. MICRO CORNUCOPIA, #29, April-May 1986 49 Adding Directory Hashing To CP/M 2.2 You almost never see hash any more. Even your local greasy spoon has dropped it in favor of linear searches and fries. But hash is fast, and once you're familiar with hash slinging techniques you'll wonder how you got through a project without it (and if you douse it with catsup ... ). T he CP/M 2.2 operating system .is constructed around a simple, , yet flexible, file structure. The disk area is divided into a number of small blocks, each with a fixed size. The operating system maintains a list of the blocks used for each file. Each of these blocks may reside anywhere on the disk (although not necessarily in order). When space is required for another file, the system tries to find unused blocks that are as close together as possible. To keep track of file space, CP/M reserves a portion of the disk to be used as a directory, which is a series. of blocks (in order) containing file names and associated block numbers. CP/M locates files by starting at the beginning of the directory and searching sequentially. When the disk directory is small, this process works fairly well, but for very large directories it takes much longer than is necessary. Can you imagine looking up a name in the phone book by starting on the first page? c. C. Software 1907 Alvarado Ave Walnut Creek CA 94596 will modify the normal CP/M directory search procedure and substitute a file name dependent technique. This process, called "hashing," forces the search to begin in the directory at a point calculated from the characters in the file name. This is similar to the way a phone book is alphabetized. If the file's directory entry is written at a location determined by this hashing technique, then future searches for this file will begin at (or very close to) the file's directory entry. The system will still have to do some sequential searching because a directory position might already be taken. Then the system searches sequentially for the first empty directory location. Figure 1 - Directory Hash Index Routines Making Hash Some operating systems go to great lengths using complicated algorithms to search a directory in the " fastest" possible way. The techniques described in this article are simple in comparison, yet result in fast access for most files. They can be installed into CP/M with little difficulty, and complete compatibility is maintained. The small routines listed in Figure 1 50 By ClarkA. Calkins MICRO CORNUCOPIA, #29, April-May 1986 Hash index computation routine. Enter ths routine with the directory entry number in (FILPOS), the number of entries in (DIRSIZE), and the file name in (SAVEFCB). The file entry number will vary from zero to (DIRSIZE) and it will be altered by adding the appropriate hash index based on the file name. The resulting position to search is returned in registers (HL). . ;; The hash index is the sum of the bytes of the file name (not including the extension) and truncated to fit in the directory space. Technique developed by C.A. Calkins, circa 1982. i hash: hashO: hash1: hash2: lhld mov cpi jnz lhld mvi lxi inx mov ani cpi stc jz add mov mvi adc mov dcr jnz mov ani mov Ihld rc dad xchg Ihld inx savefcb a,m Oe5h hashO empty b,8 d,O iPoint to file name. ;Looking for an empty spot? iYes, use desired name to compute index. iHash index is sum of first 8 bytes of iname. Put 16-bit sum in (DE). h a,m 7fh '1' hash2 e e,a a,O d d,a b hash1 a.e Ofch e,a filpos d dirsize h iAdd in next byte. iStrip bit 7 always. iAmbiguous file name? ••• yes, can't access this way then. iCompute (DE)=(DE) + (A). iDone entire name? i ••• nope, continue. iOK, force index to a sector boundary. iThis forces it to be a multiple of 4 iThis is where CP/M wanted to search. i(just use it on ambiguous names). iAdd in our hash index. we went past the end, wrap around ito the beginning. Size is 1 less than·max. ilf Then, of course, when retrieving the file, the system will make the same calculation and then do the same sequential search. Thus, the speed advantage drops as the directory fills. Process Description Two procedures are required to implement this hashing technique. The first generates the hash index to position a file name when it's first created. The second generates the same index when retrieving the file. I treat the file name as a series of numbers and generate their sum. This sum is reduced (if necessary) to be within the available directory space and is used as an initial starting point. hash3: mov sub mov mov sbb mov jnc dad ret a,e 1 e,a a,d h d,a hash3 d I don't use the file's extension because CP/M creates temporary files with $$$ extensions and then changes the names when the files are made permanent (see reference 4). Also, ambiguous file names (names containing wild card characters) cannot be hashed. (So we do sequential reads from the beginning.) The second stumbling block has to do with the way CP/M treats the index pointer. It must point to the starting file position within CP/M's directory buffer area. Since four name entries are contained in a single 128 byte buffer, the pointer must be a multiple of four. This is only a slight nuisance, however. iCompute (DE)=(DE) - (HL). iRestore remainder and we are done. Entry to save the name for the desired empty location. i setmt: empty: lhld shld ret dw parms empty iMove address of name for new file into iour own safe area. 0 iEmpty address storage space. ;---------------------------------------------------------------------Define CP/M internal addresses. Note that these addresses and mnemonics were taken from the disassembly file generated by SCG22. They are entered relative to the beginning of CP/M. mem: equ cpmb: equ params: equ dirsize:equ savefcb:equ filepos: equ 46 jMemory size (in k's). (mem I 4-2B)1256jBase address of CP/M. cpmb+Ob43hjOriginal (DE) for DBOS calls. cpmb+15cBhjNumber of directory entries -1. cpmb+15d9HjAddress of file being searched for. cpmb+15eahjRelative position index. j--------------------------------------------------------------------This portion actually changes the original CP/M directory search procedures to utilize the above hashing algorithms. org call cpmb+Obc3h hash Generate hash index for next search. org lxi cpmb+OdB3h h,dirsizejAlways search entire directory space. org call cpmb+1127h setmt jSave name of file to be created. - Implementation To implement the hashing technique, CP/M must be altered to use our special index pointer when searching for a file. Do this by "patching" the look-up subroutine _ to use the programs in Figure 1. These routines are written for the CP/M assembler ASM or MAC. The locations within CP/M to be changed are positioned with origin (ORG) statements. For these to function correctly, these routines must overlay standard CP/M. Next, these new routines must be placed in memory at some location that will not be used by CP/M or any of the application programs. Generally the area above the BDOS portion of CP/M has to be used (see reference 2). I chose to include these extra routines as part of my BIOS. This makes it easy, but it's not mandatory, as any protected area will do. To implement the changes, I go through the standard system generation procedure (see reference 2). Had these routines been a separate program instead of part of the BIOS, DDT (see reference 4) would be used to load them into memory on top of standard CP/M during the system generation process. Once the new system has been created, the disks need to be modified to take full advantage of directory hashing. This is best done by creating a new system disk using SYSGEN (see reference 2 and 4) and writing PIP to this disk. Then boot up with this disk and copy all desired files over to it using PIP. For hard disk users, copy all files over to a spare partition (or user) and then copy them back. Now enjoy a speedier CP/M system! Renaming Procedure When you want to change the name of a file, accessing will be more efficient if the file is transferred over with the new name (using PIP) rather than being renamed (with REN). Remember, if a file name is changed, its hashing index will change. Thus its position within the directory should also change. A revised rename procedure could be written that would actually move the directory entries and end (continued next page) MICRO CORNUCOPIA, #29, April-May 1986 51 ADDING DIRECTORY HASHING TO CP/M 2.2 (continued from page 57) not just change the file name. This would be an interesting project for someone. Discussion As mentioned previously, this is a simple implementation of a hash search procedure. More complex methods could be used to more precisely locate the file name. For example, the user number and file extent bytes could be included in the hashing algorithm. For users with very large disk systems (which have very large directories), it would be worthwhile to investigate other techniques. As with most ideas there are compromises to be made with this implementation. When a new file is created, the hash index is used as a starting point. Then CP/M searches for the first unused location in the directory. When the directory is almost full, the first empty spot may be located a long way from the desired location (as specified by the hash index). There's no telling where the file name is actually stored. Thus, to determine that a file is not present, it's necessary to look through the entire directory. Previously, when CP/M logged in a disk, it saved the last used directory location so it knew when to quit looking for files. Thus it may take longer to determine that a file doesn't exist. Getting around this requires a more sophisticated procedure (another interesting project!). One side effect of hashing is that a disk written with these procedures may be slower running when used with a standard CP/M system. This is because the file name entries may be scattered throughout the directory space. more extensive procedure than the one suggested here. For each active drive, a table was maintained that contained four bytes of hashing information and directory entry number for each file extent in the directory. This is a complete table with entries for all files, passwords, and empty locations. Looking up a file or password is a snap. Just look through this one table and you have it. But the cost was high in terms of memory use. A typical hard disk system with four drives on the hard disk (1024 directory entries each) and two floppy disk drives (512 directory entries each) might have 20K bytes of tables, plus the search routines. For CP/M + the cost is worthwhile (perhaps even necessary) since it does a lot more directory work· (looking for file names, passwords, time and date stamps, etc.) during each file access. However, on a standard 64K system, the space requirements are too high. References 1. "SCG22, A Source Code Generator for CP/M v2.2." This will generate source code complete with labels and comments for the CP/M 2.2 operating system. Available from C.C. Software, 1907 Alvarado Ave., Walnut Creek, CA 94596 for $45 plus $1.50 shipping ($2.50 foreign) and 6.5% sales tax for Californians. 2. "CP/M System Alteration Guide," Digital Research, January 1978. 3. "CP/M Interface Guide," Digital Research, 1978. 4. "An Introduction to CP/M Features and Facilities," Digital Research, January 1978. 5. "CP/M Plus (CP/M version 3) Operating System, System Guide," Digital Research, 1982. • •• GRAF 10 CP/M-80 the complete BUSINESS and SCIENTIFIC MS-DOS / PC-DOS SALES by DIVISION printer graphics program ~,-----------------------------------~ '-display floating point data direoly from spreadsheets. data bases. word processors. and programming languages (or the keyboard) in a wide variety of bar. pie. line, and scatter plots • plot and group up to 6 different variables on a single graph, distinguished by up to 14 different fill-in patterns and 6 different point-plotting symbols • menu driven operation supports automatic graph scaling, labeling, and legend creation • add up to 5 different-density grid lines, and choose from a wide variety of numerical labeling options " I L 30 L I a N 20 S 10 1982 ~ Division A 1983 LJ Division B 1984 ~ Division C GRAF 2.0 Upcble Policy: Returning your original GRAF 2.0 disk to MSC entitles you to S20.00 off the above prices. nRMS: We ,hip via first class mail. The above prices include dom .."ic ,hipping and handling. Ord .. rs outsid .. Comparison With CP/M + When Digital Research wrote CP/ M+ (or CP/M version 3) they added directory hash tables (see reference 5). These were optional and supported only under banked memory conditions. And they used a similar but ~.;~,:~i~~t~iit~~;ral",s:k~ a~d ~;d~'~'W~ ~'u~e;,~~~s~g~~t~~~~~13slta:':r~hn"~gr~:I~~:r y~~ ~~~t~~:ew;thu~t least 192k RAM. and CP/M-80 vt'rsion 2.2 or later on Z80 computt'rs lother than modified Apples, ,up porting a . TPA of at least 54k I"'quire, 64k of RAMI. Mo,t soft-,ector di,k forma" are avail.bl ... IIf you can r .. ad , .. v .... I formats. plea, .. ,end u, a "" I GRAF 30 work, with .ny pnnt ... fully compatibl .. with on .. of th .. follOWing Ep,on FX. RX. LX. MX IWlth GRAFTRAXI. or LQ-1500. C Itoh Prowntpr. NEe 8023A. St.r Mlfronlcs G.. mlnl 10X. 15~ .. ~~~~~~~15ilfl~~ ~~~h~~ ~~~d~:~ ~r~~~~~~ ~~~~:~~a~a:~:r 1~i~h;a PI:~d~~ ~~'~f,7p~ ;,';hr~~~Jj;;~~ MSC 27 Forest Avenue 52 MICRO CORNUCOPIA, #29, April-May 1986 Porr Microcomputer Systems Consultants I..fft'rson Station N .. w York 1177£>.1820 Plug n makes a nice computer -«(~I~ ~ too bad it doesn't do graphics" (~ "Kaypro j1\. Other features include block moves, four built-in fonts, and powerful ~~;Ti~:::::.. . . .. print options :::'::::. .. :.':::,::::' like enlargement, indentation, mirror image and rotation. And with SCS-Draw's windowing feature, you can work on images much larger than your Kaypro's screen. Make that didn't do graphics. SeS-Draw is here, bringing Macintosh-style graphics to the t· Kaypro computer. ~~. With SCS-Draw, ' you can use your Kaypro to ~~~~ draw a picture. Of anything. The first true drawing program for the Kaypro, SCS-Draw turns your computer screen into a sketchpad on which you can draw detailed images like those shown here. These images can be saved on disk or printed on your dot-matrix or letter-quali ty printer. There are many applications of SCS-Draw. For example, you could use SCS-Draw to design and print party invitations, banners, or technical diagrams. You could. also use SCS-Draw to promote your business or design your company logo. )z m~~ ~1g ~;~: .. How good is SCS-Draw? Every day, we get unsolicited letters and phone calls from SCS-Draw users around the country - here's what they have to say: --.-.;~~~ ~i Simon.;:~Sjmo.n ~~~ Photography e III "Very easy to use. " "': ".~:. /h~ Hi!i! !lfm tW []~~ ,;~,,: -0.. WR • And the best thing about SCS-Draw llllli -.is that it's fun to IIII1I1 use - when was I , the last time you =--= : ,had some fun with your Kaypro? Ohio~111111 -"Keep G.H.,itWPAFB, up ... the program is great fun. ", - J.S., Roseburg, OR "A pleasure to use ... user-friendly, fun, well put together. " - D.A., Kalamazoo, MI "Everything is bug-free!" .: : - D.C., Los Angeles, CA:·":,·:··: "Worth much more than its cost. " - B.H., Birmingham, AL (eCrcc: .. =. .. ===.=. 'r='" ~jour ~::: ~~:.= '4' Banners ':"":"':"17~...-...-... -... -. ... \.... --....-.. - .,~;~ SCS-Dnlw gives you a variety of useful drawing tools to choose from. You can draw a detailed image dot-by-dot, or do a rough sketch with straight lines. Need a compass? SCS-Draw can draw circles of any size, wherever:· you need them For subtle shading effects, use one of 23 pre-defined patterns, or create your own. ;' , i:)~~; ; --- ... with SCS-Draw! Available now III for all '84, '85 and '86 Kaypro i: CP/M computers. Send $59.95 (check or money order) to Second City Software, Box 267960, Chicago, Illinois 60626. Call 312-577-7680 for COD orders or more information. . SECOND CITY SOfTWARE · 0 ,-./ NEW for PrintMaster Owners: Now you :):::i can use your favorite PrintMaster images af.m in your SCS-Draw drawings. The Image:}~: Extractor converts PrintMaster images to ;~':~ SCS·Draw image libraries. Price: $24.95 ~:;~:. SAVE when you buy SCS-Draw and the :~~ Image Extractor together: Only $79.95 ~~ ~J\~ ~~ ~~ ~ SCS-Draw can be used A>··T...:.···. . ·,~·-=~>:·:·;·with most popular.:: '~ . dot-matrix a n d ' : ' . ':., letter· quality printers, including ._..._.. -_..._...-.. ./_...-...those fr~m Epson, Sta~, Okidata, C. Itoh, \~ w - - ; ••<:;~:~ PanasonIc, IBM, HP, Diablo and Kaypro. i..= I ~ ., "~;"=::;::";·~Ir '~!II SCS-Draw, KAVPRO, Macintosh, CP/M and PrintMaster are trademarks of Second City Software, . ii;? I~ Kaypro Corporation, Apple Computer, Digital ~~ !h.~·' ResearCh~a . .:. .'Dn.:.,~ Unison World, respectively. .A... ... ~ ...../·~~~~~~l~! :§y;;~ - II to:. I·~.!.-·· ./ TM I/O lte derection 1 Function J{.eys O1iug t 11a "O: + ~gnl1l-ell O~ . Virtual Disk Perfected U 'l.s ser Areas If you've tried some of the earlier CP/M-80 add-ons such as Microshell™ and ZCPR™. !hen you know it's Rossible to add new features to CP/M. Now you can have much more without all the trade-offs when you use ConlX - the latest and greatest upgrade for CP/M! "(ConIX) goes a great deal' farther in flexibility than any other CP/M shells ... this system has all of its competitors beat." Computer Language. 6/85. ConlX Operating System: List $9~5 Syec\a\ A complete upgrade for 48K+ CP/M 2.2/3.0 and equivalent systems. Provides professional capabilities with blinding speed. as often found on more expensive MS-DOSTM and UNIXTM machines. Installs easily in 1 minute to add over 100 new commands and features. Eliminates all points of user frustration with CP/M. Uses only 1/2K TPA. 0- 27K disk minimum. ConlX is the greatest. most powerful 8-bit upgrade. with speed and capabilities that are so incredible it's bringing users back to CP/M! ConlX Pull-Down Menu: List $3~5 s-pec\a\ A user-friendly interface to ConlX that is fully menudriven. with helpful prompts and easily understood explanations of all menu functions. Loads with a single keystroke at the prompt level. Source code included! ConlX Programming System: List $9~5 S~\J~ A full programming language for ConlX extends CP/M SUBMIT capability. Features conditionals. loops. subroutines. labels. nesting. interrupt processing. error traps. and debugging facilities. Design intricate menu systems. Includes a special "compiler" that provides. string and numeric variables. an integer math package. a relocatable assembly code generator. and much more. A must for CP/M power-users and developers! ConlX Library I - XCC Utilities: List $4~5 S~\J~ Over 25 utilities written in the ConlX shell language. including hierarchical directories with overlay - adds pathname capability to existing software. interactive debugger. move/copy/link multiple files. print files with pagination. review disk files for deletion. unerase disk with stats. full-screen TYPE. and more. Source code included! Does not require Programming System. NEW YEAR SPECIALS - SAVE 30% TO 100% OFF! • ConlX O.S. or Programming System: $49.95 each • ConlX Menu System: FREE with Con/X! • ConlX 0.5. and Programming System: $79.95 for both • ConlX Library I: $34.95 with any ConlX product • SUPER SAVINGS WHEN YOU BUY 'EM All: ConlX 0.5.. Programming System. Menu System. Library I - Only $99.95!! Now that we've knocked the bottom out of our prices. you should have no reason to suffer along with plain-old CP/M or incompatible half-baked add-ons any more! Get started with ConlX for $49.95. or steal us blind and get everything for only $99.95. Either way. you get the Menu System absolutely FREE! Get on the bandwagon with a company that's committed to you with the ongoing development of products for CP/M and ConiX. Prices include manual. 8" disk. and end-user support. 5114" disk conversions: 48TPI $6. other $10. Shipping: $4.50 UPS. $10 Canada. $15 overseas. NY residents add sales tax. Discount incentives for Dealers. OEMs. User Groups - CAll! Computer H~I~er Industries Inc •• P.O. Box 680 • Parkchester Station. NY 10462 800-628-2828 X513 24h r. order hotline - COD only. 212-652-1786 M-F:I0-6 sales/technical staff r'1Ih \.l:iJ' "We're helpi[Jg your computer work better for you!" Trademarks· CP/M: Dicital Research. ConlX: COIT4)uter Helper Ind .. Microshell: New Generation Systems. ICPR: Richard Conn/Echelon. MS·DOS: Microsoft. UNIX: AT&T Bell Labs c,,/.~ ""E51 One of a Series : I I : • I : I ~----~ The NEXT GENERATION I Megabyte DrheC 2 I 512K 512K Upgrade ~ DriveC 2 I Ram-disk Ram-disk I I Print Print Buffer ~ Buffer I WestWInd The $100 WW Interface 21 Meg Tape S~stem 5 Meg· Removable Hard Disk • ------~ Ram-disk. Print Huffer Cache Buffer • CP/Af® I.IIIE51 THE~INTERFACE WW Interface WW Interface for CP/M WW Interface for MS-DOS If you're a CP/M user who's grappling with whether to keep your computer, invest in upgrades, or switch to MS-DOS, the WestWind Interface frees you to do what YOU want-right Ram-disk(s), Multiple-copy Print Buffer (requires WW Interface) now! The WW Interface for CP/M includes everything you need for attaching WestWind's Next Generation products to a CP/M computer, so it's easy to use our Hard Disks with your Osborne, or your KayPro, or your Morrow. . . or just about any Z80 system, by adding a WW Interface to your computer. Best of all, our Dual Operating System feature lets you share our Thmtor and Thrbo (DriveC 2 Cache Buffered) Hard Disks between CP/M AND MS-DOS computers. Get a WW Interface for CP/M and a WW Interface for MS-DOS to connect our Hard Disk to either kind of computer and automatically access the right files. And, when you're ready, use our Hard Disks completely for MS-DOS operation. You see, we want you to get the utmost performance from your CP/M computer, to have the resources you need to make the transition to MS-DOS, and to know that an investment in a powerful enhancement for your CP/M computer NOW ... will be just as valuable an investment for an MS-DOS computer LATER! The WW Interface for CP/M includes-SuperSize SuperCalc2 (huge spreadsheet capacity when a DriveC 2 is added); SuperFile, the easy-to-use free-form text filing and retrieval system; our NEW Universal software that manages up to 3 Megabytes of DriveC 2, 3 Hard Disk subsystems, and Removable Hard Disk; MenuPac, Arkive, DiskMgr and Daisy-chaining capability to let your system grow with your needs; all necessary hardware and cables, and complete, illustrated documentation. The WW Interface for MS-DOS inludes 16-bit SuperFile, Arkive, WW Loader software, Interface Card for any IBMlike card slot, cabling and documentation. Westwind c o M p u T E R 1690 65th Street, Emeryville, CA 94608, (415) 652-3222 Telex: 756329 (DRIVE CUD), WU EASYLINK 62533500 WestWind IBM-compatible Systems $ 100 100 DriveC 2 512K DriveC I MEG DriveC 2 I MEG Expansion Unit (to 3 MEG) Upgrade 512K to I MEG BackPac for Osborne 349 499 499 150 149 Trantor and Turbo Hard Disks (requires WW Interface) 21 MEG Trantor Hard Disk 45 MEG Trantor Hard Disk llO MEG Trantor Hard Disk Add 2nd 21 MEG Hard Disk 995 1895 2895 695 Turbo with Cache Buffer Add I MEG DriveC 2 to Hard Disk Add 2 MEG DriveC 2 to Hard Disk Add 3 MEG DriveC 2 to Hard Disk 499 998 1497 Removable Disks (requires WW Interface) Add 5 MEG Removable to Hard Disk 5 MEG Standalone Removable system 5 MEG Cartridge 1295 1595 125 Tape Add 21 MEG Tape to Hard Disk 21 MEG Standalone Tape 21 MEG Tape Cassette Tape Cassette 3-pack 995 1095 35 99 Web Network (requires WW Interface for each computer) Web Network 10' Web cable 25' Web cable 50' Web cable 1295 49 59 79 Send for our FREE Catalog and get your own CP/M LIVES! T-Shirt, just $9.95 (FREE with any $100 purchase!) For Information or To Order: CALL TOLL-FREE US 800-526-6500, CA 800-831-3144 Complete, Hercules-compatible, Monitor, DOS 3.1, NewWord 2, SuperCalc2, SuperFile WW XT/640K12 Floppies/Hi-Res Mono $1395 WW XT/640K/I Floppy/ 21 MEG/Mono 2095 WW XT/640K/I Floppy/ 45 MEG/Mono 2895 WW XT/640K/I Floppy/11O MEG/Mono 3895 WW AT/512K/I Floppy/ 21 MEG/Mono 3895 WW AT/512K/l Floppy/ 45 MEG/Mono 4495 WW AT/512K/I Floppy/11O MEG/Mono 5495 Color/RGB system (replaces Mono) 400 16-bit Enhancements Acceler-8/16 (with WW XT) Acceler-8/l6 CP/M Emulator (V20) XPlus 5151 Keyboard (with WW XT) XPlus 5151 Keyboard 8087 for WW XT 80287 for WW AT WW 300/1200 Internal Modem Multi-X 1/0-2 Multifunction (XT) Multi-A 1/0-2 Multifunction (AT) WW HI-Res Mono Card/Parallel WW Monochrome Monitor WW Color Card/Parallel WW Color RGB Monitor 75 99 59 169 149 199 299 199 199 199 199 169 429 Software Teach Yourself PC-DOS Super File UniForm and UniForm-PC Media Master 39 145 69 39 r-:--------I II I I I I I Yes! 0 Yes! 0 Send me the new, FREE WestWind Catalog. My computer is a,_ _ _ _ _ _ __ I want my very own CP/M LIVES! T-Shirt! Size S M L XL . (Circle one) Name _____________________________ Address City _ _ _ _ _ _ State_ _ Zip _ _ __ Enclose $9.95 phis $2.00 Shipping and Handling for each T-shirt. CA residents add 6.5070 Sales Tax. Payment: 0 Check 0 Visa 0 MasterCard Card No. I __ Exp. Date_ _ WestWind Computer 1690 65th St., Emeryville, CA 94608 MICRO CORNUCOPIA, #29, April-May 1986 55 By Stephen M. Leon - 200 Winston Drive Cliffside Park NJ 07010 Hot New CP/M & MS-DOS Releases Steve covers new software submissions from around the world both for CP/M and MSDOS - really interesting new gifts to the computing community. E very time I am positive CP/M is dead, something turns up to convince me not only that it never died, but that it is far from having even one foot in the grave. Claude Kagan was the featured speaker at a recent club meeting and demonstrated an MSX computer he bought in Japan. He also had some European magazines and components for MSX. Unfortunately, MSX is not yet available in this country. It will be here, but whether or not it will meet with the acceptance it has in the rest of the world is open to question. For a hobbyist, this is an inexpensive, powerful machine well worth its modest price. Editor's note: Yamaha MSX computers are currently available in many music stores. They have midi interfaces and software for driving Yamaha synthesizers. These Yamahas remind me more of TRS80 model 1s (cassette data storage) than real CP/M systems. For those of you who don't recognize Claude, his SAM76 (SIG/M Vol 53) is still popular with exotic language enthusiasts. and, in fact, was a recent "language of the month" in Computer Language magazine. Commodore 128 SIG/M Sampler I managed to get my hands on a Commodore 128 for a few hours. The MSX machine ran rings around the 128, and unless all of the. analysts are wrong, 128 sales will never reach the level of overseas MSX sales. However, the 128 is here, and we used it to prepare a sample disk of SIG/M programs that will run on the 128. We also made arrangements with Charlie Strum, the CompuServe CP/M SIG 56 SYSOP, to download the Commodore material (including modem programs). These will be on a second sample disk. The Commodore disks are· being distributed in Kaypro 4 format, which means that you have some 300K on each disk. If you have a 128 and would like a copy of UNERA, SD, SQ, USQ, MODEM, etc. send $14 for the set of two sample di~ks to Dutsch Computer Service, 405 East 6th Avenue, Roselle, NJ 07203. Editor's note: A local 128 user came in and purchased a couple of our Kaypro users disks. The next day he was back to get more. All the standard CP/M programs worked - only the modem, system diagnostics, bulletin board, and other machine specific programs didn't. Gifts From Japan I also received a package from Yoshio Monma, secretary and disk editor of the CP/M SIG of the Japan User Group aUG). JUG has been added as a second distribution point in Japan, and they donated the twelve volumes in their CP/M library for inclusion in ours. We won't be able to release all of them, but the first of the twelve is already out. SiG/M Volume 255 is JUG Volume 4. It has a scan program for bad sectors, a disk patcher, a printer utility, a screen editor, etc. Code is In both CP1M 80 and 86. If you thInk the· Japanese build fine computers but don't know how to write code, take a look at the JUG releases. More of these volumes will be released in coming months, and you'll see things you never saw before in CP/M. If you're interested in joining JUG, contact Yoshio Monma at Manyou Bldg. 4F, 3-53-3 Minami-Otsuka, Toshima-Ku, Tokyo 153, Japan. Perhaps he can arrange for you to get an MSX computer. CP/M In The U~S. I would hesitafe to say that CP/M is MICRO CORNUCOPIA, #29, April-May 1986 thriving in this country, but it is far from dead. Admittedly, there is very little in the way of new commercial CP/M software, but almost everything people need is already available. In the non-commercial area, we receive more donations at SIG/M than we can possibly release. Right now we have at least 20 volumes of unreleased material including a new SYSLIB from Rich Conn (to be covered next issue). However, if CP/M is not dead, MSDOS is thriving. One can buy an IBM XT clone with a 20 meg hard disk and all the trimmings for $1,200. I paid more than that for a 256K memory board for my CompuPro. dBASEII is a fine program, and we use it every day, but dBASEIII and the new Plus version run rings around it. We now write our databases in dBASEIII, compile them with Clipper, and run faster than the programs we run on the mainframe. New SIG/M Releases Rick Surwilo of Stamford, CT has come up with a full screen Z80 debugger that everyone has acclaimed (SIGI M Volume 239). It features a full screen animated display of the program under test, acomplete inline Z80 assembler, interactive disassembly, full trace, 16 breakpoints, etc. Every hacker type working with a Z80 has to have a copy of this program. It's that gObd! A full implementation of the CCITT X.25 packet standard in all three levels is on SIG/M Volume 236. Ed Elizondo wrote it using a Digital Research Computers Big Board (BBI), but it can easily be configured for other equipment. On the disk is a full user manual for the program. Volume 240 came to SIG/M via the United Kingdom CPMUG. It contains a 6502 cross assembler, a Z80 hard disk backup program, a line editor, and a BBS system in BASIC. Volume 236 has a CP/M 3 BIOS for PROGRAMME the Disk Jockey controller and an update to Lisp in PascallZ. Pilot in PascallZ is on 237. Volume 235 is one of those disks we thought twice about releasing and then decided to go ahead anyway. It helps if you understand Dutch, since very little of the disk documentation is in English. It's a system called BASICODE, a form of software transmission by radio, that is being tested in Holland. The Orlando Concurrent RCP/M system donated a volume of Concurrent CP/M patches and utilities (SIG/M Volume 247), and an old favorite, Dan's Information Management System, was updated on Vohime 248. A two volume update of RBBS is on Volume 249 and 250. Volume 251 contains the ROS Turbo Pascal BBS System. For those of you who would like to see the game of Life played out over a five day period (you can stop and resume), take a look at Toru on Volume 246. For anyone interested in random number generation, Mark Weiss will show you tricks you never thought of (SIG/M Volume 243). The Joy Of Giving A while back SIG/M got a letter from Friar Maurey Smith at the St. Francis of Assisi Friary in Franklin, Indiana. They had bought a bundled Kaypro and were trying to do a dBASEll program. for their reference books. Maurey asked a lot of questions and yours truly decided the easiest way to answer them was to write a program. BOOKS on Volume 230 was the result. In addition, the wife of a friend was doing her thesis and she needed a database manager to handle her reference materials. I rewrote BOOKS to her specifications and produced REFERENC, also on Volume 230. Since then I've had letters and calls from libraries and scholars both in this country and overseas. One of the rewards of writing public domain software is the letters thanking you for the program which they are using. Contributions If you want the enjoyment that comes from helping someone, how about contributing to SIG/M. We expect it to work. We expect it to have . (continued next page) A LOW COST ALTERNATIVE TO EPROM PROGRAMMING Reads and programs 2716, 2732, 2764, and 27128 EPROMS. Reads 2·16K ROMS. Direct connect to any RS232C terminal or computer. Plug selectable as either a data set or data terminal. All voltages made on board, (no power supplies needed). (User supplies power Xformer, 25.2 to 30 VAC C.T.1 Amp.). Power electronically switched, (can't damage EPROMS). Zero insertion force socket for EPROM. Programs, verifies, and dumps in both ASCII and hex. Edit buffer (like DDT). Saves hex and/or image files to and from disk. Saves or loads all or partial buffer. Completely menu driven for ease of operation. Commands of Test, Read, Display, Save, Load, Program and more. Check sum calculation. All software on disk including well commented source code. Detailed owners manual including schematic All chips socketed. Not a kit! Completely built and tested. 48 hour dynamic burn-in and test before shipmerit. 90 day limited warranty on parts and workmanship. 24 hour return policy on repairs. Delivery from stock. PROGRAMMER 4+ WITH OWNERS MANUAL AND DISK. $199.95 MS-DOS DISK ONLY $15.00 Order from cPperlpfico "'i ·~D 1659 Scott Blvd., Suite 1 ~I Santa Clara, CA 95050 U (408) 354-5084 VISA and MASTERCARD telephone orders welcome. Please specify Disk format CP/M 8" IBM format, KAYPRO II, XEROX 820, OSBORNE I, others. Please specify method of shipment, UPS or Postal Service. California residents add 6'\, Sales Tax. [)ealer Inquiries invited. MICRO CORNUCOPIA, #29, April-May 1986 57 IN THE PUBLIC DOMAIN (continued from page 57) source code. We hope it will have full documentation, or at least enough documentation to enable someone to use the program. It can be machine specific. It can fit into a very limited envelope. It can be a new language, or an implementation of an old one. (If anyone out there has written a version of Ada which he or she would like to donate to the public domain, we would love it. Rich Conn has available some 50 volumes of Ada applications, but as far as we know, there is not a decent compiler available commercially or non-commercially for a micro computer. Rich has already sent in the first two of the volumes, but we're holding off on them until we can get a compiler to test them out.) PCIBlue Library Growing Rapidly The PC/Blue library is fast catching up with the SIG/M library. We now have some 62 megs in SIG/M. The far newer PC/Blue is up to 55 megs. Our average monthly release totals 1.2 megs; PC/Blue is averaging more than 3 megs. Of course, the commercial software market has changed in recent years. Just about everyone is writing in MS-DOS or for one of the new machines (Mac, Amiga, etc.). We used to see part-time developers trying to peddle their own products through small ads in the magazines. It seems to us that now most part-time developers are putting out their software as freeware, and most of what goes out on PC/Blue asks for money. None of the SIG/M software is freeware, so CP/M still has the bulk of true believers in public domain. New PCIBlue Releases Last issue we promised to take a closer look at some of the newer PC/ Blue releases. As we said, most of it is freeware. However, don't even consider sending a donation unless you don't need the money. PC/Blue 162 is a good example of how much quality software is available for nothing. On it you have a typing tutor and an online DOS help program. Also on the disk is YARP (Yet Another Resident Program) which looks like a handy real time monitor. Quaid Software's OmniEdit is also on the disk as freeware. It allows you to do some elementary file editing. OmniEdit struck me as being of limited value. You may like it, and since it costs you only a few dollars to get all the programs on the disk, including YARP - why not try it. PC/Blue 163 is Tom Rettig's dGenerate, an excellent dBASEIII screen generator. (My big discovery of 1985 came on a computer radio show where the trivia question was to identify Tom Rettig. Who played the boy who owned Lassie in the TV series?) PC/Blue 164 has a general ledger and accounts receivable program. Volume 169 has a mailing list program as well as something called LEARN. LEARN creates computer assisted instruction (CAl) courses. We tried it and were pleased with the results. PC/Blue 172 has a dBASEII screen generator and a handy utility program ~"CPM CALENDAR/CLOCK $69 KIT D~~~SW;ATMHPING! FILE CACHE22 is a front-end system program that buries all of CP/M 2.2 in banked memory. It helps 8080/Z80 computers to survive by providing up to 63.25K of TPA, plus the ability to speed disk operations. eliminate system tracks. and run Sidekick-style software withou,t loss of transient program space. Complete source and installation manual. $50.00. CP/M is a trademark of Digital Research Inc. Sidekick is a trademark of Borland International • Works with any Z-80 based computer. • Currently being used in Ampro, Kaypro 2, 4& 10, Morrow, Northstar, Osborne, Xerox Zorba and many other computers. • Piggybacks in Z80 socket. • Uses National MMS8167 clock chip, as featured in May' 82 Byte. • Battery backup keeps time with CPU power off! • Optional software is available for file date stamping, screen time displays, etc. • Specify computer type when ordering. • Packages available: Fully assembled and tested $99. Complete kit $69. Bare board and software $29. UPS ground shipping $ 3. I MASTERCARD, VISA, PERSONAL CHECKS, MONEY ORDERS & C.O.D.'S ACCEPTED. N.Y. STATE RESIDENTS ADD 8% SALES TAX KENMORE COMPUTER TECHNOLOGIES P.o. 80)( 835, Kenmore, New \'ork 14217 (716) H77·0617 58 MICRO CORNUCOPIA, #29, April-May 1986 to transfer copy between the most popular commercial PC word processors. Also on the disk is a fast format program if you have to format a lot of 5" disks. Once again, the practical utility of the program is kind of obscure. I had a lot of fun with PC/Blue Volume 174 which contains ESIE (E)xpert (S)ystem (I)nference (E)ngine. I ran the demo program which identified animals, and really enjoyed it. When I get some time I'll try to create a system with it. The last of the new releases worth mentioning is volume 175. It has an update of QMODEM, a good modem program, a virtual memory system for Symphony 1.1 which uses your hard disk to expand the utility of Symphony (without requiring an ABOVE BOARD) and PRO INDEX, a good indexing system for text files that seems to do everything you expected from Star Index. How To Order SIG/M volumes are available on 8" SSSD disks for $6 each ($9 foreign) directly from SIG/M, Box 97, Iselin, NJ 08830. Printed catalogs are $3 each ($4 foreign). Disks in a variety of formats may be obtained through the worldwide SIG/M distribution network. The distributor list is included with the printed catalog. A disk version of the catalog (Volume 00) is available for $6. PC/Blue volumes are $7 each ($10 foreign). The printed catalog is $5. Both are available from the New York Amateur Computer Club, Box 100, Church Street Station, New York, NY 10008. ••• OKIDATA PRINTER MICROLlNE 80 7 X 9 IMPACT DOT MA'IRIX,~ RIBBON 80 CPS 10 CPI 6 OR 8 LINES PER INCH 3 'lO 12 INCH FORM FEED TRAC'lOR & FRICTION BUILT IN SELF TEST REM)VED FROM SERVICE PARALLEL INTERFACE (CENTRONICS COMP) $ 99.00 WINCHESTER 20 MID HARD DRIVE FULL HEIGHT RODINE 204ST-506 INTERTFACE $350.00 PLEASE CALL FOR OTHER HARD DRIVES IN S'lDCK KEYBOARD (MICROSWITCH) 113 KEYS 8 BIT ASCII PARALLEL OUTPUT WITH CASE AND COMPLETE DOCUMENTATION $40.00 SA800-2 DISK DRIVE CLEAN - USED $59.00 SA850 DISK DRIVE CLEAN - USED $99.00 STANDARD MOUNTING - GUARANTEED 60 DAYS CABINETI' FOR ABOVE HOLDS 'lW) DRIVES POWER WIRING COMPLErED (AC AND OC) FAN AND INPUT AC WIRING OONE 20 X 9 1/2 X 17 DEEP $60.00 POWER SUPPLY FOR 'lW) DRIVES (SWITCHING) WILL POWER DRIVES AND SBC 6 X 8 X 2 1/2 5VDC @ 8 AMPS, +12VDC, -12VDC, -5VDC @ .5 AMPS FA AND 24VDC @ 2 AMPS $50.00 CABINETI' AND POWER SUPPLY TOGETHER $100.00 IBM XT CLONE SYSTEMS ---r.M) FLOPPY DISK DRIVES 640 K RAM INSTALLED 150 WA'IT piS KEYBOARD COLOR CARD SERIAL AND PARALLEL PORT CLOCK $700.00 20 MID HARD DRIVE AND ONE FLOPPY $1150.00 CLONE PARTS MOTHERBOARD UP 'lO 640 K ON BOARD COLOR GRAPHICS CARD FLOPPY DISK CON'lROLLER UP 'lO 4 DRIVES HARD DISK CON'lROLLER DISK I/O CARD - FLOPPY DISK CON'lROLLER RS-232 CLOCK PARALLEL GAME ADAPrER CASE FLIP 'lOP STYLE POWER SUPPLY 150 WATT KEYBOARD AT STYLE $125.00 $ 85.00 $ 45.00 $125.00 $110.00 $ 45. 00 $ 85.00 $ 70.00 QUME 142 HALF-HEIGHT FLOPPY DRIVE IBM CAMPATIBLE (LIMITED CASCADE ELEx:::TRONICS ROUTE 1 BOX 8 RANDOLPH MN 55065 507-645-7997 SUPPLY) $ 69.00 FREE SHIPPING ON PREPAID ORDERS COD ADD $3 CREDIT CARD ADD 5% MN ADD 6% LIMITED 'lO S'lDCK ON HAND EVENING CALL OK MICRO CORNUCOPIA, #29, April-May 1986 59 . By Dave Hardy Turbo DOS, A Super Operating System Curious about Turbo DOS? Haven't heard about this flexible multiuser, multiprocessor operating system? Read on. Dave gives us a peek at this package, designed specifically for the 5-100. his column begins a series of mini-reviews of Turbo DOScapable 5-100 hardware. Along with the usual 5-100 tips, circuits, and reader feedback in "The 5-100 Bus," I'll briefly look at the offerings of each manufacturer of S-100-based Turbo DOS products. Before these mini-reviews begin, I feel obligated, once more (and finally), to justify discussing an operating system in a hardware column. Please bear with me while I exorcise my guilt one last time ... T Why Turbo DOS? Turbo DOS is a software product (an operating system), not a piece of 5-100 hardware. But Turbo DOS supports C' special kind of 5-100 configuration as well as special kinds of 5-100 hardware that can outperform other small systems (including the ubiquitous IBM-PC). These qualities are so important that most new 5-100 systems use T4rbo DOS as their primary operating system. Turbo DOS is the only operating system that uses all the 5-100 bus' abilities, including (and especially) the ability of the 5-100 bus to fully support up to 16 separate processors in a single box. In addition, several LAN (Local Area Network) options are available for 5-100 machines that use Turbo DOS that can allow not only multiple processors within an 5-100 frame, but also links between multiple 5-100 frames (and between 5-100 and non 5-100 systems). The ability of Turbo DOS to support multiple processors in an 5-100 box is further enhanced by its capacity to run 60 different TYPES of processors at the same time. Even more amazing is that a Turbo DOS host can simultaneously support different operating systems in its slave cards, including CP/M80, CPI M86, Concurrent DOS, MP/M, MP/M86, generic MS-DOS, and even PCDOS. Combine all this with Turbo DOS' true multiuser operation (including full record and .file locking), and it's light years ahead of other networks for small computer systems. Incredibly, many other multiuser and file-server products available for the 5-100 bus do NOT offer record or even file locking! I've had the misfortune of using one such system that, because of these limitations, allowed only one user at a time to operate on each logical drive. Perhaps this is the reason I'm so fond of Turbo DOS. The Turbo DOS operating system works so well with the 5-100 bus that I consider it almost a natural extension to it, and therefore, an integral part of the 5-100 environment. 5-100 Turbo DOS Configurations Although the configuration of a Turbo DOS-based system can be rather complex, most TD systems have the following features in common: 1. Host Processor. The host processor is the computer that coordinates communications between each user processor in the system and the system resources, such as mass storage, printers, modems, and other peripheral devices. In the IEEE-696 5-100 world, the host processor is usually also the bus master. That is, it provides all permanent control signals to the 5-100 bus and controls all bus cycles except when it gives control to a slave processor. In addition, the host processor also arbitrates simultaneous or conflicting requests from slave processors and grants control to them in some orderly manner. MICRO CORNUCOPIA, #29, April-May 1986 736 Notre Dame Grosse Pointe MI 48203 2. One Slot Per User. Each user in the system is usually a single board computer, with at least CPU, RAM, and console I/O onboard. These single-board computers are called SLAVE boards because they operate as slaves to the host processor, and also because they usually operate within the IEEE696 specification as a bus slave. Although it's possible to run several users from a single slave (a la MP 1M, for example), this is not usually done. 3. Shared System Resources. As mentioned above, shared system resources are the peripheral devices available on the 5-100 bus. These resources are accessible only through the host processor (and to the others via Turbo DOS system calls. This prevents two slaves from trying to use the same printer. By passing all requests for a printer through the host processor, Turbo DOS can see that the printer is "assigned" to just one user at a time. Shared system resources also include all disk I/O, so that Turbo DOS can lock records and files. Shared system resources can also include interfaces to other networks like ARCnet or NetDos. 4. Private System Resources. Unlike shared resources, which are available to all slave processors via the 5-100 bus, private system resources are connected directly to an individual slave processor. This way no other processor can access them either directly, or through the host processor. Private system resources often include devices like modems that require high-speed, un-interruptible I/O paths to the slave processor. For example, a Turbo DOS slave user who wanted to transfer information via a modem to a remote computer system would probably want to use a private modem (that is, a modem connected directly to it, not to the host processor). By doing this, he avoids Z going through the host processor and thus avoids missing characters when the host is busy. Many slave boards available have a private parallel printer port and a private serial port just for this reason. Schematic Mail I was surprised to receive almost 200 requests for the computer-generated FIFO board schematic that I mentioned in the January "5-100 Bus." It took a while to get all those schematics mailed out, but everyone who asked for them should have received them by now. If not, please drop me a nasty note at one of the following addresses: CIS 70150,102, SOURCE TCH054, GEnie DJHARDY, or voice at (313) 846-1055, and I'll drop them in the mail. (Don't forget to include a return address!) The original schematic has been enhanced to include two serial FIFOs, a printer port, an interrupt handler, and a printer interface. It's an E-sized plot on several 11"x14" sheets, so you'll need some tape if you want to make it into a single large drawing. Mini-Reviews To Come The next "5-100 Bus" will include the first mini-review, starting with the Intercontinental Micro Systems products. Also in the review queue are Earth Computers, Peak Electronics, and Advanced Digital Corporation. If you'd like to see any others, please let me know. As always, I encourage reader feedback, and welcome questions, suggestions, comments, and ideas for future 5-100 Bus columns. B ... SETSYOU FREEl Z Operating System, an 8-blt os that fIIesl Optimized HD64180/Z80 assembly language code - full software development system with proven linkable libraries of productive subroutines - relocating fROM and RAMI macro assembler, linker, librarian, crossreference table generator, debuggers, translators and disassemblers - ready to free youl High performance and flexibilityl Productivity results from dynamically customized OS environments. matching operator. tasks and machine. Real-time control kernel option allows quick software development for industrial control applications. other tools and utilities for office desk-top personal computing functions. local area networks to Ethernet. AppleTalk. Omninet. ArcNet. PC-Net (Sytek) - from micro to mainframe command. control and communications. Distributed processing application programs are easily developed. • Extreme organizational flexibility. each directory another environment • Multiple Commands per line • Aliases (complex series of commands known by Simple names) with variable passing • Named Directories with absolute password security • Full-screen command line editing with previous command recall and execution • Shells and Menu Generators. with shell variables • Command-file search Paths. dynamically alterable • Screen-oriented file manipulation and automatic archiVing and backup • 512 megabyte file sizes. 8 gigabyte disks handled • Auto disk reset when changing floppies • TCAP database handles characteristics of over 50 computers and terminals. more easily added • Tree-structured online help and documentation SUbsystem • 76 syntax-compatible support utilities Your missing link has been found - ZI Now fly with eaglesl Fast response, efficient resource utilization, link to rest of computing world - shop floor to executive suite, micro to corporate mainframe. Call 415/948-3820 for literature. ~ l.E:.!J Echelon, Inc. 101 First Street • Suite 427 • Los Altos, CA 94022 • 415/948-3820 THE COMPUTER JOURNAL Practical Programming & Hardware Projects The Computer Journal is published bimonthly for those interested in programming their computers, interfacing to peripherals, and hardware construction. Now expanded with in-depth articles covering Turbo Pascal, "C", Assembly Language, Kaypro, Ampro, Interfacing, plus CP/M and other operating systems. 6 Issues (1 year) .14 In US - VISA & MasterCard accepted 190 Sullivan Crd., Columbia Falls, MT 59912 (406) 257·9119 MICRO CORNUCOPIA, #29, April-May 1986 61 Computing In The Netherlands By Andy Bakkers de Gervelink 12 7591 DT Dendkamp The Netherlands CP/M and communications are hot in Europe Europe dances to its own drummer. CP/M is hot, and they've been ahead of the US in communications. Andy also covers a public domain version of CP/M and a catalog of Taiwanese exporters. T he latest craze in Holland is the FIDO net - supposed to be the mail box of all mail box systems. The software was written by Tom Jennings of San Francisco, and it's in the public domain. There's one national node in Holland, and during the night the FIDO nodes start calling each other to exchange mail. The mail that arrives here in Holland is then distributed nationally over the 13 local nodes. International connections are possible at the moment between the USA, UK, Sweden, and Holland, all at prices below the postage rate. Dedicate your home built PC clone as soon as possible to this new gadget. The FIDO net control number in Portland is - HOST 105 500 1200 PD)CYC Net P09.15032818322 PortlanLOR. I don't know what all the numbers mean, but its speed is 1200 baud. You can reach me via FIDO Host 3101, node 100. Figure 7 - Part of the Source Listing for P2DOS P2DOS -- Z80 Replacement disk operating system version 1.1 ; ,•• ;. ;* Copyright (C) 1985 by: All rights reserved ,•• ,•• ,•• ,•• P2DOS was written by Herman Ten Brugge, who assumes no responsibility or liability for its use. P2DOS is released to the public domain for non-commercial use only. ,•• ,•• ,•• ,.* PC Clone Information If you want information from the horse's mouth (so to speak) about PC clones, subscribe to the Asian Sources Computer Products, $98 air mail. Order from Trade Media Ltd., c/o Wordright Enterprises, Inc., P.O. Box 358, Winnetka IL 60093-0359, phone (312) 256-7105. They publish eight different magazines on subjects ranging from timepieces and toys to sporting goods. CP/M's BDOS Here's a public domain replacement for CP/M's BDOS. As you know, ZCPR2 and 3 can replace the CCP. Now there's also a much better BDOS 62 MICRO CORNUCOPIA, #29, April-May 1986 H.A.J. Ten Brugge Molenstraat 33 NL-7491 BD Delden The Netherlands Tel: •• 31-5407-1980 New features of P2DOS are: - Test console status after 256 characters output. This makes it possible to exit a program, after you hit accidentally a key, by typing ~S·followed by ~C. - Error routines give more information. P2DOS error on D: BAD SECTOR SELECT FILE RIO RIO FUNCTION =XXX (FILE =FILENAME.TYP) As you can see the error is displayed with the P2DOS function call. The option 'FILE =FILENAME.TYP' is only displayed if the P2DOS function uses a filename. After all errors a warm boot is done. - Public files are supported. You can access ~ public file from any user number. This makes it possible to put, for example, all .COM in a special user number and make all those files public. You can access all the files from any user number on the same disk. A public file is a file with bit F2 (Bit 7 from filename letter 2) set to one. Public files can only be referenced by their exact name and not by wild card characters. - Search path is implemented just as in ZCPR2 to find files on other drives and in other user areas. The files must be system files and must be referenced by their exact name as in public file names above. - Automatic date and time stamp is implemented. The creation date and time is set when the function make is executed. The update date and time is set as the file is closed. To let. this feature work you need to have a real time clock and the correct P2BIOS driver routine. You also have to initialize your directory for time stamps. - File RIO error message occurs if one of the following file types is active: PUBLIC FILE (F2) (T1 ) FILE RIO SYSTEM FILE (T2) This means that a system file or public file cannot be erased accidentally. - New function get time (200) is implemented to get the correct date and time. Entry DE is address to put time. The date and time record has the following layout: DATE: DEFS HOUR: DEFS MINUTE: DEFS SECOND: DEFS replacement called P2DOS. Figure 1 shows part of the source listing. 1 GByte Disks I've recently read about 1 GByte disks for CP/M. You can now put WordStar in A15: and declare it public and have no more problems. I've put ZCPR2 and P2DOS together on a disk and written a small ZEX file. Since this is ZCPR's submit file, you can get a system by typing ZEX DOS 60 (if you want a 60K system). I've implemented P2DOS and ZCPR2 for the Big Board II (of course) including time and date stamping. BBII Lives I hope from my European update, you get the impression that the Big Board II is not dead yet. At least here in Holland the group is very active. We're coming out with a Big Board Bulletin entirely devoted to technical modifications and improvements to the Big Board. And we have our Holland SOG planned for June 14, 1986. We'll be sure and tell you all about what happened when we attend SOG V in Bend. 111111 2 (SU 01-JAN-1978) DATE = 1 DATE = 65535 (SU 05-JUN-2151 HOUR IN BCD MINUTE IN BCD SECOND IN BCD Function works only if correct P2BIOS function call is installed. - New function set time (201) is implemented to set the correct date and time. Entry DE is address new time. The date and time layout is as above. Function works only if correct P2BIOS function call in installed. - Disk size can be as large as 65536*16K=1 048 516 K BYTE=1 G BYTE - File size can be as large as 32*64*16K=32 768K BYTE=32 M BYTE You can enable/disable the functions mentioned above with the following data and addresses: - Enable path name by putting address of path in P2DOS+11H. If this value is OOOOH no path is used. This address is normally set to 0040H. - Enable P2DOS time and date stamping by putting the correct P2BIOS address at P2DOS+13H. This address is normally set to the P2BIOS console status function. - You can enable the 256 character delay function by setting bit of address P2DOS+15H. This bit is normally set to 1. - You can enable public files by setting bit to 1. This bit is normally set to 1. a of address P2DOS+15H Entry addresses P2BIOS FUNC a 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 XX NAME BOOT WBOOT CONST INPUT PARAMETERS NONE NONE NONE RETURNED VALUES NONE NONE A=OFFH IF READY A=OOOH I~ NOT READY CONIN A=CONSOLE CHARACTER NONE CONOUT C=CONSOLE CHARACTER NONE LIST NONE C=LIST CHARACTER PUNCH C=PUNCH CHARACTER NONE READER NONE A=READER CHARACTER HOME NONE NONE SELDSK C=DRIVE NUMBER (0 •• 15) HL=DISK PARAMETER HEADER ADDRESS E=INIT SELECT FLAG HL=OOOOH IF INVALID DRIVE SETTRK BC=TRACK NUMBER NONE SECSEC BC=SECTOR NUMBER NONE SETDMA BD=DMA ADDRESS NONE READ NONE A=OOH IF NO ERROR A=01H IF ERROR WRITE C=O WRITE DATA A=OOH IF NO ERROR C=1 WRITE DIRECTORY A=01H IF ERROR C=2 WRITE NEW DATA LISTST NONE A=OOOH IF READY A=OFFH IF NOT READY SECTRN BC=LOGICAL SECTOR HL=PHYSICAL SECTOR NUMBER NUMBER DE=TRANSLATION TABLE ADDRESS TIME C=OOOH GET TIME HL=POINTER TO TIME TABLE C=OFFH UPDATE CLOCK HL+O:DATE LSB SINCE 1,1,1978 HL+1 :DATE MSB HL=POINTER TO TIME HL+2:HOURS (BCD) TABLE HL+3:MINUTES (BCD) HL+4:SECONDS (BCD) (End of Listing) MICRO CORNUCOPIA, #29, April-May 1986 63 TOTAL CONTROL with LMI FORTHTM For Programming Professionals: an expanding family of compatible, high-performance, Forth-83 Standard compilers for microcomputers For Development: Interactive Forth-S3 InterpreterICompilers • • • • • Full implementation of "C" with standard floating point, library, and I/O subrou'tines. UNIX VER 7 compatible. Produces relocatable 80BO (optional OZaD) assembler code. Relocating assembler and linker supplied with package or use Microsoft MBO and LBO, SID/ZSID debugger interface. FAST COMPILATION AN D EXECUTION. AZTEC CII FOR CP/M VISA $199 (Special price for Micro C subscribers $149) MJ~NX so ftware systems Box 55, Shrewsbury, N.J. 07701 (201) 780-4004 Also available for Apple DOS, HDOS, CP/M-86, PC-DOS 16-bit and 32-bit implementations Full screen editor and assembler Uses standard operating system files 400 page manual written in plain English Options include software floating point, arithmetic coprocessor support, symbolic debugger, native code compilers, and graphics support For Applications: Forth-S3 Metacompiler • • • • Unique table-driven multi-pass Forth compiler Compiles compact ROMabie or disk-based applications Excellent error handling Produces headerless code, compiles from intermediate states, and performs conditional compilation • Cross-compiles to 8080, Z-80, 8086, 68000, and 6502 o No license fee or royalty for compiled applications ~~IJIlHJ~ UWElkf tl'1INJ)//J)(lJCirS Sampler ($35) Support Services for registered users: • Technical Assistance Hotline o Periodic newsletters and low-cost updates • Bulletin Board System Call or write for detailed product Information and prices. Consulting and Educational Services available by special arrangement. • ~. Laboratory Mlcrosystems Incorporated Post Office Box 10430, Marina del Rey, CA 90295 Phone credit card orders to: (213) 306-7412 Overseas Distributors. Germany: Forth-Systeme Angelika Flesch, 0-7820 Titisee-Neustadt UK: System Science Ltd., London EC1A 9JX France: Micro-Sigma SAR.L., 75008 Paris Japan: Southern Pacific Ltd., Yokohama 220 Australia: Wave-onic Associates, 61.07 Wilson, WA 64 MICRO CORNUCOPIA, #29, April-May 1986 and/or Professional Systems (from $175) for ... Apple ProDos Amig6 Hicro VAX Hl1cinlosh IBHPC/AT DECFlJlcon UNIFORTH Is a fuil-featured, floating-point, FORTH-83 Standard language available for most micro and mini computers. Call or write for our free catalog or use our Bullet In Board (614-459-7736, 30011200 Baud) for more detailed Information. UNIFIED SOFTWARE SYSTEMS P.O. Box 21294, Columbus, OH 43221-0294 (614) 459-7735 ONE MEGABYTE RAM EXPANSION BOARD FOR THE 820-1 AND THE BIGBOARD-1 This R AM expansion board allows you to expand the memory capacity of your 820-1 or your BIGBOARD-I to one megabyte. When used with the RAM disk software supplied with the kit I this sy stem will provide you with the FASTEST R AM disk that you can buy. This R AM board is easy to insta111 and involves no etch cuts or cables. This board plugs in to five device locations below the RAM array on the 820-1 or the B IGBO ARD-I This board uses none of your precious 1/0 -or- the CPU socket. The memory is organized as 64 pages of 16K. ANY of the 16K segments can occupy ANY 16K block that the CPU can address. ANY 16K segment can be moved into or out of the address space by writing a single byte to memory location OFFFF hex. This product comes with machine-drawn schematics I and a full theory of oper ation. Assembly I installation and test procedures are thoroughly documented. PAL code is included and extra PALs are av ailab le. A PAL is shipped with each board. R AM disk software is included with source on disk. Please specify 5 or 8 inch disk. Interconnect hardware is shipped with each board. Compatible _wJt.!' ~~~ !~d _E!:1~R_A!-~ !C~~,! ~R.!= j~uE l~ ~:.n~i!y_ ~o_d~: _~~e _4.:5~' :!-_6.:5~':. ______ _ 1 MEG UNK IT (PC board I interconnect hardware I doc I PAL and software) ............. $ 75.00 1 MEG KIT wI 0 RAM ( all TTL I sockets I resistors I capacitors I plus the UNK IT) ... 125.00 256K Dynamic RAM (board will accommodate 32 RAMs max) .......................... ea 3.25 MONITOR ROM with mapper initialization (specify 820 -or- BIGBOARD) ............... 10.00 EXTRA PAL.......................................................................................................... 7.50 tt BIGBOARD I The mo'st popul er computer ki tin hi story The BIGBOARD-I has finally come home. We are now offering the computer that started all this at a new low price. This is the same design that was licensed to XEROX Corp. in 1981 1 which was introduced as the 820. This is also the same computer that was copied and now resides in several tens of thousands of portable computers around the world. Now that DRC's license has expired , we will be offering the computer in 'sever a 1 forms: BARE BOARD and DOC ........................... ~ ..... ;......... $75.00 UNKIT (PC Board , DOC , ROMs and terminal block) ... 85.00 Hard-to-get parts................................................ .. call Special configurations ................................ :........... call NIYERSAL CO .;.... 25.00 This device was designed to interface any computer with TTLcompatib le separ ate-sy nc video to a composite monitor. This board works with the 820-1 1 820-2 1 BIGBOARD I and many 820-2 COMPUTER BOARDS ...................................... $25.00 This board is the 4 MHz version of the popular 820-1. Only the ROMs I the disk controller I and the CPU are not included. The hex equivalents of ALL (including keyboard translator) ~o~th~e~r_c_o~m~_e_r_s_._R_C_A~_n_o~a_c_k~o_u~tp_u_t~.~~~~~~~~ ROMs are shipped with each board on disk. Schematics are 820-2 etch 21 11" x 17" schematics I set of 8 ............ 15.00 included with each order. 820-1 etch 1 111" x17" schematics I set of6 .............. 15.00 ~~~~~~~~~~~~~~~~~~~~~~ 820-1 CB lOS and ROM source I 5" or 8" disk ................. 35.00 820-2 FLOPPY DISK CONTROLLER ............................ $35.00 . t 0 820) .......................... 4 . 00 This board is functionally identical to the 820-2 floppy PW A. pugs m 820 power connec t or (1 (ld 820 power connec t or so ers on t 0 820) ...................... , 4 . 00 This package consists of the PC board I the data separator · k con t ro 11 er sc hema t·1C......................... 1000 ROM / a parts list and a set of schematics for the revision 5 . 820 - 2 fl oppy d1S CP 1M PRIMER (XEROX CP 1M HANDBOOK)...................... 7.50 floppy daugh.te.r.bo.a.rd~. •III!IIIIJIII!" -J.B. F~I-yu~UII, "I nc. ... .' P.O. Box 300085 'Arltn'gton, Texas 76010 (~ 17) 64,0-0207 II:.I'(I-I":UQ~''-:I \,QI UI ... "'H~ moneyol"'der certified check, UPS cash COD. Alloy 2 ye~ts for personal or companycheclcs to clear . Add $5 for shi ppi ng/handli ng. Texas add 5.125~ state sal es tax. MICRO CORNUCOPIA, #29, April-May 1986 65 By Mitchell Mlinar Processor Speed Isn't The Only Speed 1225 Fonthill Ave. Torrance CA 90503 Is speed all it's cracked up to be? If your system is spending most of its time trying to find disk data or trying to store results then processor speed might not make much difference. Something else might, however... I t looks like Xerox is dumping the last of the 820-IIs and 16/88. During a February employee sale, an 820-II with keyboard, disk drives (5.25" or 8"), and the CP/M distribution disk (which includes M80, L80, MBASIC, etc.) went for $599. If you didn't want the disk drives, the cost dropped to $245 (you still got the disk). For that price, EVERYONE can afford a computer, or a second one "just in case" (e.g. parts). Souped Up Storage One problem in working with computers is speed. Computers are amazing speed demons, until you learn how to type! Then they suddenly screech to a halt. Examples: 1. Editing that 80K file with WordStar and trying to move from one end to the other. 2. Compiling and linking a relatively large program. 3. Working with that dBASE application that has 14-zillion records. You get the picture. Have you ever considered upgrading your storage? Every time I go to upgrade a machine, the first· thing I hear about is speed (2.5 to 4MHz, 4 to 5MHz, etc.). However, speed is less than a third of the issue!!! Unless you're currently operating in a RAMdrive or hard disk environment, processor speed should be #2 on the list. Number 1 should be storage. If I haven't convinced you yet, check out the statistics in Table 1. Notice the large ratio, even between single density and double density formats and between 5.25" and 8" disk 66 formats. RAM drive is the fastest, but unfortunately is\ not permanent storage like the hard disk. Acid Test Time I performed the same operation on a 2.5MHz system (this one doesn't have a hard drive). The results are shown in Table 2. Surprised? Although 4MHz is almost twice as fast as 2.5MHz, both are greatly affected by the speed of the floppy disks. Only a few percent is gained by going to the higher clock rate. So sure, pop in those 5MHz dilithium crystals, but don't expect Warp 9 until the REAL horsepower is there. (Of course when you're doing something that requires lots of calculations or lots of writing to the screen, then processor speed becomes very significan t.) Keeping A Low Profile I've been getting a lot of questions regarding the high-profile versus the low-profile keyboard. From my own MICRO CORNUCOPIA, #29, April-May 1986 experience (which is limited), the lowprofile keyboard is MUCH better than the high-profile. A good indication of keyboard quality is hand fatigue and typing speed: both have improved in the short time I've used the lowprofile. If you currently have an 820-II or 16/ 8, moving up to the low-profile (that makes sense, doesn't it?) means simply installing the keyboard PROM into U36. (The low-profile keyboard uses the same cable and keyboard port.) Installing a high-profile onto the 820I may only be a matter of software, and takes about 1.5K of code. Whereas the high-profile keyboard transmitted the ASCII code of the character upon any keypress, the low-profile transmits two characters which must be decoded. Software can get real fancy, as the keyboard not only transmits upon keypress, but also on key release. (Software auto-repeat anyone?) You'll need to purchase the 820-11 technical manual to get a list of the keycodes and to see how Xerox decod- Xerox 820-1 & /I ed the keyboard. And, if you have the money, that additional jack on back can be plugged into any two-button optical mouse. Of course, that is another software problem. There's little software support for the low-profile keyboard on the 820-1. Plus2X ROMs from Emerald Microware allow owners of their double density card who are willing to perform surgery to use the low-profile on the 820-1 (the ROMs are 2732s); they are the only canned software for the 820-1 1 know of at present. more. supply. ••• ~INGLE BOARD XEROX "820-1 HIGH PI;RFORMANCE COMPUTERS , . FOR 820, BIG BOARD OR OTHER SINGLE BOARD COMPUTER ENTIRE 820-1 SYSTEM IN ENCLOSURE WITH KEYTRONICS KEYBOARD High Res 12" Motorola Monitor Big 200 Watt Power Supply All Wired Up & Ready To Slide in Your SBC $169.00 A BEST BUY with 2 8" Drives .............•......... ; ... $699.00 with 2 5'1." Drives ......................... $599.00 with Diablo 630 Prinler add ................ $899.00 (Diablo sold only with complete system) Beautiful' Keytronics full parallel ASCII (hooks right up to 820 or BB) Keyboard with numeric keypad/function keys. A Best Buy $ 39.00 Extra for Keyboard Enclosure $ 15.00 MONITOR ONLY ........................... , .. $ 59.00 BIG POWER SUPPLY ONLy ................... $ 35.00 MATRIX KEYBOARDS ......... " ......... , .... $ 15.00 8" Disk Drive Shugart 81 0 Half Height ........ ,$ 99.00 2 8" Disk Drives in Enclosure with power ...... $299.00 2 5W' Disk Drives in Enclosure ............... , $149.00 DIGITAL RESEARCH CP/M WITH BIOS FOR 820-1 OR 820·11 INCLUDING LICENSE AND ALL MANUALS 100 AVAILABLE ................................. $49.00 ENCHANCED MICRO-CODE OPM BOOTABLE DISC SPECIAL WITH COMPUTER ONly .............. $45.00 CENTRONICS PARAllEL PRINTER CABLE 820·1 or 820·11 ................................ $35.00 PARAllEL DRIVER(COM FilE) .................. $15.00 SPECIAL ON CP/M SOFTWARE CLOSEOUT NEW LICENSED DISK WOR DST AR 3.3 or 3.0 1. ............ " .......... $99.00 SUPERSORT ................................... $50.00 • SPELLSTAR .................................... $45.00 MAILMERGE ................................... $50.00 C RA IG ' S . * New AUTOLETTER for Dbase 11* Write form letters or normal letters automatically to your clilmts, customers or anyone in your database without typing names and addresses! Also does single or multiple envelopes or labels. Add your own forms or letters ................... $99.00 COMPUTERS Allprices:~~:~~~~:~~ ,....Programl 2718, 32, 32A, 64, 84A, 128,258, and ,....Connectl to parallel port & u... l)'Item'l power -. ENCLOSURE EPROM PROGRAMMER only $8995 (213) 379-1342 - ,....Read, copy, verify. display, edit, checksum & save . or load promfllel from dllk. ,....Completely built and tested. ,....lncludealOftware on 5V." or 8", manual, 40 pin ribbon cable (lady to plug Into the parallel port of your Iystem. user', SUPERIOR INTERNATIONAL 11663 Denton Dr. ~ 104 Dallas, Texas 75229 (214 )484-5072 NEW ••• nOPPY DISK CONTROLLER BOARD FOR THE XEROX 820-11 Direct replacement for the standard 820-11 Floppy Daughter Board. Uses the FDC1793/9229B for reliable . operation. Perfect for surplus 820-11 boards. Assembled/tested ................ $109.95 Complete KiL .......................... $79.95 Bare Board w/9229B ............ SS9.95 Bare Board w/DOC ................ $39.95 Include $3.00 Shipping VlSA/MC COD Add $1.50 REPAIR SERVICE XEROX 820 1/11 BIG BOARD I THE DATA MILL 12 Crescent Court Montgomery, IL 60538 312-892-6573 MICRO CORNUCOPIA, #29, April-May 1986 67 820-1 CP/M (8") 820-1 w/CP/M 820-2 CP/M (8") 820-2 w/CP/M $50.00 35.00 70.00 Xerox is a trademark of Xerox Corporation. ~··5·· 2708· 2758 2516 2716 2732 2764 HOBBYIST Pots 7400 Dips Caps 74lS Chips Some ECl and more ... ·1·'4;i·· [is o"D···········1 80 Track 96 TPI 1 Philips@Drives ~ l $100.00 1 : ..............................................: ! 1~.~.g:.~1 - ~ SOPTWARS AVAILABLS POR CP/M-8~, CP/M-86 AND MS-DOS SYSTEMS STAND ALONG BOARD - BLSCTROI',dC SWITCHING OP SPROM TYP8S US8S 24 VOLT XPMR paR POW8R - ALL SUPPLI8S/TIMING ON BOARD NO PSRSONALITY MODULSS TO BUY - LARGS COMPRBH8NSIVS MANUAL. * * PARALLEL PRINTER INTERFACE * * CONN8CTS TO ANY PARAL.L8L PRINT8R INT8RPACS - USSS 8 OUTPUT DATA BITS AND ONS INPUT DATA BIT (BUSY LING) BUSY LINS IS A HIGH SPBSD S8RIAL INPUT. PULL SPROM RBADING AND PROGRAMMING. UNIT MAY ALSO B8 CONN8CTBD TO ONS 8 BIT INPUT/OUTPUT PORT. FULCRUM· COMPUTER PRODUCTS 6MHz $4.50 * * CONTROL P.ROGRAM COMMANDS * * - 3P+N POWER SUPPLY Single board power supply kit with 2 positive fixed voltages. + 1 and -1 variable. PROGRAM SPROM(S) PROM DISK - SAVS EPROM(S) TO DISK RBAD DISK PILE 1N'f0 RAM - PROGRAM BP~OM(S) PROM RAM READ 8PROM(S) INTO RAM - COMPARE EPROM WITH RAM VSRIPY BPROM IS BRASSD - COpy EPROM DISPLAY /MODIPY RAM - (MONITOR MODS) WITH 11 SUB COMMANDS PILL-DUMP-XPER-8XAMINS-MODIPY -BIAS-PROGRAM-VERIPY, ETC.) --------------------------------------------------------- ~8~5~~~41~~t~ s~~tj'l~M g~6r~rs~TS KIT $54.95 --------------------------------------------------------TO ORDBR SBND CHECK, MONGY ORDBR, WRlT8 OR CALL ANDRATECH P.O. BOX 222 MILFORD, OHIO 45150 (513) 752-7218 2273 American Ave. -#8 - Hayward, CA 94545 (415) 786-9203 All orders are F.O.B. Hayward California - Prepayment or C.O.D. - California residents a1d sales tax - Prices subjecr to change without notice·· > - - - $199 PARTS KIT WITH SOPTWARS AND OOC-}$179 PCB,SOPTWARS.i DOC->$69 SOPTWARS ON 8 .i 5 1/4 DISK POR KAYPRO, OSBORNE, IBM ~ OTHBR PMTS E21 COMPUTER PRODUCTS TERMS: 2732A 2764A 27128 27128A 27256 27CXX Authorized dealer for: l Z80-B PROGRAMMING SYSTEM $70.00 35.00 90.00 CP/M IS a trademark of Oigitaa ResearCh. OEM Sips Inductors Sockets Regulators Linears Resistors CP/M, MS-DOS EPROM Assembled & Tested XEROX®820-1 & 2 ..Juan,aries limiteoj 10 stock on hanoj. CALL OR WRITS POR MORS INFORMATION -- ADD $4.00 POR SHIPPING OHIO RES. ADD 5.5% TAX -- VISA/M.C. ACC8PTBD -- $3.00 POR COD ED/ASM-86 The first truly integrated Editor, Assembler, Debugger, and Linker is now available from Oliver Computing Company. * The Editor supports block move, block copy} partial save and partial load insertion. All text is tokenized for both efficiency or storage and very fast assemoly time. FAST screen I/O and separate editor/debug windows. * The Assembler can be immediately invoked after any editthlg command. OutJlut can be directed into memory, to a .COM file, .EXE, or to ED/ASM-86's own efficient .LNK file format. 8087/186/286 instructions supported. Macros and most standard pseudo-ops are supported. UNIQUE to ED/ASM is its structured assembly lallguage capability. No more wasted labels and time! Multiple segmented programs can be be sent to .COM fifes •. * The built in debugger supports symbolic disassembly, integration with the assemble~ as well as disassembly of 8087/186/286 insfructions. Display 8087 registers in scienfific decimal format. SPLIT SCREEN debugging with a dynamic register window IS easily invoked. Disassemble programs to disk file for easier analysis. "Single-step" data editting sU'pported for bytes, words double words, and 8087 floating constants in memory. You can "patch" assemble a hne at a time with symbois from previous assembly (even ilefine symbols as you go!) * The linker supports ED/ASM-86 link files, which can be created from virtually any valid ED/ASM-86 source file, even lines With multiple external symbols in expressions. (Note: not compatible with usual link format) * And many more features too extensive to be listed here. All of these features exist in one integrated program. A typical development cycle with ED/ASM-86 consists of entering a program with the editor or edittlng an existing Jlrogram, typmg "A:,.:JM" to assemble into memory, goi!!g into the debugger to immedlately test the ~rogram. Then you go back to the editor for the next cycle. ED/ASM was developed for Oliver Computing s own use, and has been used for over a year to enhance itself! ED/ASM-86 is only $95. Send check or M.O. to: Oliver Computing Company, P.O. Box 90140, Indianapolis, IN 46290 for immediate aelivery via UPS. 68 MICRO CORNUCOPIA, #29, April-May 1986 { (317) 849-4450 } j By Laine Stump Development Foundation of Turkey Tunali Hilmi Cad. 22 Ankara Turkey The Continuing Saga Of CCP 1M Laine brings us a smorgasbord of 86 events this time with some late news on PC Tech's X16, developments on the Ampro systems, and more CCP1M on the Slicer (with a few cutting comments about Turkish customs). Our man in Turkey seems to be surviving, but we're watching closely to see if too many baths (Turkish, of course) cause wrinkles in the cerebral processor. , I 've gotten some interesting mail " lately: "Dear sirs: (our company) has been traded with your esteemed company for a period. As all of us sincerely hope to furnish you with more better supply, we would very like to learn your comments about products, delivery, service, etc." So, how 'bout it. Send me some MAIL, huh??? I don't pound on my keys just for the exercise, you know. Yet Another Evening ... First, I've got a bit of news from our friends at PC Tech (Dean & Earl, you know, the Homer & Jethro of the computer set ... ) as well as from Rick and Dave at Ampro. X Marks The Spot PC Tech's X16 has been constantly improving (if that's possible) since it was introduced at the SaG last summer. The 8087 board is now working, and the SASI port is now full SCSI (seems like Dean had a talk with Rick Lehrbaum from Ampro. Is this all some kind of evil conspiracy or something??). Dean has been trying several different peripherals (tape controllers, graphics boards, hard disks, etc.) with the X16, and all seem to work with no problems. Earl's ROM BIOS has been improving, also. It now has support for a winchester on the SCSI port. He reports that he's running a WD1002 controller with 1:3 interleave, and WD1003 with 1:1 (!!) interleave. (For comparison, my Slicer is currently using 1:7, although I plan to upgrade it to 1:3 or 4 soon.) Because of as overhead and stepping time, the speedup obviously will not be 7 times, but I'm sure it'll still be significant, especially for sequential 110. wonder why I'm shaking in my slippers ... ), so the small extra expense is definitely worth paying, especially when you consider the extra shipping and customs charges from Taiwan. Several U.S. companies are now discovering just this fact, and have been talking to PC Tech about supplying their motherboard needs in the future. Editor's note: An interleave of 7 means that sector 2 is 7 sectors after sector 1, sector 3 comes 7 sectors after 2, .and so on. They wrap around to get all the sectors on the track. Spacing sectors this way gives the system time to get ready to read the next sector. But an interleave of 7 means that it takes 7 revolutions of the disk to read a complete track. A system has to be very fast to read a disk with no interleave (an interleave of 1). Little Board News I've also heard from Ampro that they have Turbo DOS running on their Little Board Plus and Little Board 186. For those who don't know, Turbo DOS is a mildly CP/M compatible operating system supporting multiple CPUs. Usually each user has his own CPU, and one CPU handles disks and printers, etc. (although the disks and printers could be distributed over the whole system). An intriguing idea; I just wish, I could convince somebody that I need 5 LB186s, 4 terminals, a huge winchester drive, and Turbo DOS. I would truly LOVE to play around with some multiprocessor stuff. They also now have a 512K expansion board with two extra serial ports, a battery backed up clock, and an 8087 co-processor that fits on top of the LB 186 (which fits on top of a winchester controller, which fits on top of a winchester drive, which ... ) Ampro also plans to have Concurrent DOS (CCP/M) for the LB186/ expansion board pair. They had it running with two users on a single LB when I heard from them, and probably have it running with the expansion board by now. The X16 ROM BIOS now automatically determines the controller type, number of drives, etc. and feeds it all to PC-DOS at boot time, so no extra device drivers are needed. On the software compatibility side, Earl says that only one or two BASICA programs and a couple of copy protected programs still won't run on the X16. The 'problem with BASICA is, of course, that it uses an extra ROM that's copyrighted by IBM. The problem with the copy protected programs is more elusive, but he says it probably has something to do with software' timing loops and different clock speeds. Nearly all PC software runs, though. I heard in December that PC Tech would have a new "low cost" version of their board out after the first of the year (that means it should be ready to ship NOW), selling for under $500 in quantities of 20 or so. This puts it right in line with boards of similar specs coming from Taiwan. Actually it's just slightly more expensive, but I've heard rumors of 30 percent DOA (dead on arrival) rates from Taiwan (and you Slicer CCP/M I've been mostly happy (actually ecstatic) with CCP/M on the Slicer, but there are a few things which bother me. First, the parallel port on the expansion board is not supported. (continued next page) MICRO CORNUCOPIA, #29, April-May 1986 69 86 WORLD (continued from page 69) Second, it doesn't automatically set the system time and date from the clock at boot time. The worst problem, however, is that anytime someone fires up a disk drive, everything slows down by about 130% (disk operation is all polled because of a bug in the DMA of early 186s). If this were any other system, I'd be very disappointed, but this is the Slicer, and that means they includedthe source code to EVERYTHING on the distribution disk. When something on the Slicer doesn't quite measure up to my desires I don't think of it as a deficiency of the Slicer; I think of it as an exercise left for the user. After all, what fun would it be if everything worked perfectly straight out of the box? It's much more satisfying to hit the power switch and see the system come up with a message that you, yes YOU, had a small hand in making it work the way it does. (Why do you think I rewrote the entire Monitor ROM and BIOS for my Big Board, anyway?) Since I could live with slightly slow screen paints during disk accesses and incorrect time stamps, I decided to add support for the parallel port first. This was fairly simple, owing mainly to the wonderful table-driven structure of the XIOS character 110 device drivers (once again, thanks Earl). After that, I kind of got busy with EXPRESS and resigned myself to just suffer with the rest for awhile. As soon as I get this column written, I'm going to begin a fullscale upgrade of the Slicer XIOS. I hope this won't take more than a month or so of spare time. I will then send the results of my . labors to Slicer for distribution. Gifts(?) From Afar Last week I got a notice that I had a package to pick up at the customs post office. Exactly 8 days later and four trips to customs, one official letter stating my purpose, in Turkey and guaranteeing that I wouldn't sell the contents inside Turkey, several hours of paperwork by a colleague at DFT, two trips by camel train to Lhasa, .Tibet, the tooth from a sabre toothed tiger, and a blessing from the Dah'lai Lhama, I had a box full of disks from a friend in the U. S. By the way, if anyone else sends me any disks, please please PLEASE send no more than 3 to a package and send each package on a separate day. The guys at customs here know as much about computers as I know about making goat cheese (and what I know about it would probably curdle your blood). When they see a dozen diskettes in a box, they're sure that .each one is worth about $20 and that I'm going to sell them all and the Turkish government won't get its. cut. So parcel them out, please? Project Of The Month Last issue I showed the basics needed to make an extended command processor for CCP/M (called SHELL). I promised to show this. month how to add 110 redirection (like UNIX and MS-DOS) to the whole mess. Unfortunately, I've run out of room (actually, part of the last column was cut due to my running off at the mouth). Also, A Non-IBM Sidekick By the way, this same method could be used for special "filters" under standard CP/M and MS-DOS, as well HARDWARE SPOOLER and INTERFACE CONVERTER • 128 K PRINT BUFFER • CENTRONICS OR SERIAL INPUT/ OUTPUT • MULTIPLE PROTOCOLS • 53/4 X 7112 INCH BOARD • + 5 Volts at . 75 Amp ± 12 Volts at .1 Amp The L-BAN D SYSTEMS hardware spooler is a Z80 based unit that provides a 128 K byte buffer and interface conversion between Centronics and serial. Input and output may be either parallel or serial at various baud rates and with several protocols. Multiple copy and single sheet feed are supported. BARE BOARD with EPROM (2732) and program listings ..... $ 39.95 DISK with program source, 8-inch SSSD . . . . . . . . . . . . . . . . . .. 10.95 MINI KIT board, EPROM, headers, crystals (less disk) ....... 59.95 *PARTIAL KIT all parts EXCEPT RAMS. . . . . . . . . . . . . . . . . . .. 109.95 *ASSEMBLED and TESTED BOARD (128 K) ............... 259.95 WALL MOUNT POWER SUPPLY ......................... 39.95 California Orders Add 6.5% Sales Tax Shipped via UPS - Check or Money Orders to: L-BAND SYSTEMS 'Not available for export. 70 I have to admit that I don't have all the bugs chased away yet, so I guess it'll have to wait until next time. In the meantime I'll tell those of you who are anxious that the way to do it is to modify the INT 224 vector (at location 0000:(224*4» to point to your own BDOS intercept' routine that checks for console input and output and processes it accordingly. The intercept routine should make the actual calls to BDOSthrough INT 225 (which is set equal to INT 224 at boot time). You must remember that the INT 224 & 225 vectors are considered part of a process's environment and are therefore saved and restored on each task switch. Also remember that a new process inherits the INT 224 & 225 vectors of its parent (the process which created it - in our case, SHELL). MICRO CORNUCOPIA, #29, April-May 1986 1037 E. Lemon Ave: Monrovia, CA 91016 (818) 357-0566 as CCP/M. In these cases however, you'll have to save the old vector (INT 224 for CP/M and INT 21h for MSDOS) since there's no duplicate in the interrupt tables in low memory (of course, you could PUT one there if you wanted ... ). Some really nice Sidekick-like programs that wouldn't be IBM dependent could be created this way, although for something like Sidekick you'd need to do a "terminate but keep" system call so the intercept code would stay in memory while allowing you to go back to the command interpreter. This is done in CP/M by executing system call 0 (Terminate Process) with register DL set to a 1.' In MS-DOS, use system call 31h (Terminate but Keep) with register DX set to the number of paragraphs (1 paragraph "'" 16 bytes) you· want to keep. If you want to put an intercept routine in memory and return to the command processor in Concurrent CP/ M, after initializing the intercept vector just release the console (function 93h), set the process's priority (function 91h) to OFFh (as low as it goes), and then do a "console attach" function (92h) which will effectively cause the process to be indefinitely (a fancy way of saying "forever") suspended. 5. Log all accesses to a "sensitive" document (as well as making everyone log on to the computer) so you can tell who's been peeking. ·The list goes on and on, so go out there and DO SOMETHING! Some Ideas Intercept routines could be used for much more than silly calculators (the TI on my desk works just fine) and ASCII tables (in the Z80 opcodes booklet, thanks). Some ideas of what to do with them: 1. Create new (B)DOS calls for things like extra 110 devices and fancy line input system calls. 2. Enhance existing system calls, for instance encrypting all output to a file according to a password. 3. Check an appointment calendar every time a system call is made to see if you're forgetting something. 4. Allow suspending the current program to run another upon input of a certain "wake up" key. The End (Finis) No more now. Next time we'll get back to SHELL. I finally have Microsoft's MASM and DRI's RASM. I might have a few words comparing them; too. I'll also have some stories to tell about Taiwanese computers and manufacturers. We just got our first computer from Taiwan out of customs today, and I'm sure by the time I sit down to draw up the next column I'll have lots of great (horror) storie~ to tell. Until then: Gule Gule, Au Revoir, catch you on the rebound, later on, peace baby, good bye. THE PROVEN MICRO FAMILY UAlmost a Sidekick for CP1M" Ted Silveira-Computer Currents, Aug. 27, 1985 uWHM is-ingenious and works as intended" for all the Jerry Pournelle, BYTE Magazine, Sept. 1985 (c) McGraw-Hili INDUSTRY APPLICATIONS Now available for CP/M 2.2, CP/M 3.0 and ZRDOS! The convenience of Sidekick on your CP/M machine! Trigger Write-Hand-Man with a single keystroke and a window pops open to run desk accessories. Exit Write-Hand-Man and both the screen and program are restored. Use with any CP/M program and most any CP/M machine. Takes only SK of memory. • FEATURES • BONUS Notepad for quick notes Appointment calendar HEX calculator File and Directory viewer Quick access phone book 14 digit decimal calculator Add applications written by you or others! No other "Sidekick" lets you add applications. Dump screens, setup printers. communicate with other computers, display the date and time. let your imagination run wild! $49.95 (California residents add tax), shipping included. COD add $2. Sorry, no credit cards or purchase orders. 30 day guarantee. Formats: 8 inch IBM, Northstar and most 5 inch (please specify). Write-Hand-Man only works with CP/M 2.2, ZRDOS and CP/M 3.0 (please specify). Simple terminal configuration required. Not available for TurboDOS. Compatible with keyboard extenders, hard disks, and other accessories. Poor Person Software 3721 Starr King Circle Palo Alto. CA 94306 415-493-3735 Trademarks: Write-Hand-Man Sidekick-Borland International Poor Person Software, CP/M-Digital Research. OKAY??? • • • • • • • • • • 111111 SLICER® SLICER S.B.C. W 80186 CPU, 256K Ram, 32K Eprom, 2·RS232 Ports, SASI & Floppy Ports. A&T . . . . . . . . . . . • . . . . . . . . . . . . . . . . . . . • . $695.00 128K Ram . . . . . . . . . . • . . . . . . . • . . . • . . . . . • . 595.00 No Ram " . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • 495.00 1 MEG Memory/Port Exp. Board, up to 1 MEG additional Ram, 4 additional Serial Ports, Real Time Clock with Batt. Backup. A&T • . . . . . . $495.00 PC Exp. Board, Monochrome Video & Keyboard Port, Spec. Graphics & Card Slots available, 8 pages of Video Memory. A&T . . . . . . . . $495.00 8087 Math Co'Processor Board (without 8087 & C·Step CPU). A&T • 300.00 10MB Hard Disk Y..H 5W' . . . . . . . . . . . • . . . . . • . . • . . . • • 550.00 WD 1002SHD Controller Board . . . . . . . . . . . . . • . . . . . . . . 200.00 SLICER Enclosure, 135W Power Supply, Floppy & Hard Disk Drives & Misc. Support Hdwe . . . . • . . . . • . . . . . . . • . • . . . • . . . . . . . Call CP/M·86 (Digital Research Inc.) . . . . . . . . . . . . • . . . . . . . . $ 85.00 CCP/M (Digital Research Inc.) . . • . • . . • . . . . • . . . . . . . . . • 250.00 MS DOS (Micro·Soft Corp.! . . . . • . . . • . . . . . . . . . . • . . . . 175.00 NEWII M.A.C. & P.I.C. 80186 Boards ..• Used as Stand Alone or with SLICER for Motion & Programmable I/O Control. M.A.C. is Multi·Axis Control Board which controls up to 4 Analog Outputs and 4 Incremental Encoder Inputs . . . . . . . . . . . . . . . . • . . . . . . • . . . . . . . • . . . . . • . Call P.I.C. Programmable Interface Control Board, 32 Inputs and 24 Outputs, 32KB Eprom, 4K Static Ram . . . . . . . . . . . . . . . . . . . . . . . . . Call SLICER COMPUTERS INC. 2543 Marshall Street N.E. Minneapolis, MN 55418 (612) 788-9481 BBS (612) 788-5909 MICRO CORNUCOPIA, #29, April-May 1986 71 Porting A 68000 Assembler To The Atari ST By Robert G. Brown 53 Cliff Lane Levittown NY 11756 (516) 935-2240 An introduction to 68000 assembly language. This is as good a look at 68000 addressing modes as I've seen. Bob looks at this from the inside as he defines how he's handling addressing with his assembler. If you're thinking of moving from the 280 or 8088 to the 68000 environment, definitely check this out. A bout a year ago, I decided to learn more about the 68000. I knew the Z80 inside out, and the 8086 family didn't seem to be much of an improvement on the Z80. Unfortunately, at that time the Macintosh was the only inexpensive 68000 system around, and is very much a closed boxed. HSC made a co-processor board that I could stick into my Kaypro, but I already had the copower board, and co-processor boards don't allow much interaction with system hardware (since the system hardware is really the old Z80 hardware). My First 68000 System I decided to build a small 68000 single board computer (similar to the one in the Jan. 1984 BYTE) and wait for the under-$1000 system that Atari was just beginning to announce in the trade journals. I needed an assembler for my little 68000 board. But assemblers are expensive, so I decided to write my own in C. Besides the cost savings, what better way to learn the· instruction set of a microprocessor than to write an assembler for it? Also, by writing it in C I could port it to the Atari system if and when it became available. 68000 Registers The 68000 is very much a programmer's processor compared to the Intel and Zilog CPUs. It contains 8 general purpose data registers (DO to D7) which are functionally interchangeable. (There is no distinction between any of the data registers.) 72 There are 7 standard address registers (AO to A6) plus A7 which holds the stack pointer. All registers are 32 bits, and data may be moved between registers in 32-bit (long word), 16-bit (word), and 8-bit (byte) chunks. Addressing Modes In addition to its large number of general purpose registers the 68000 has a wide variety of addressing modes (for specifying the source and destination of an instruction). Deciding how to best use these was my first problem. The basic addressing modes are pretty simple and are similar to most CPUs. The most basic mode is register direct - the source or destination operand is a register. For example: move.1 dO,dl moves a long word (signified by the .1) from register dO to register dl. Note that the operand order is source, destination the opposite of 8080, Z80, and 8086 assembler. In the case of register direct addressing the operands may be either data or address registers. The immediate data mode is also common to most CPUs. In this mode the source operand is part of the instruction. For example: move.b #10,dO moves a byte (signified by the .b) value of 10 into the lower 8 bits of register dO. (The # indicates an immediate operand.) Absolute Addressing The 68000 has two versions of the absolute addressing mode. In the absolute long addressing mode a 32-bit address is specified as part of the instruction. For addressing data in the upper or lower 32K of address space the absolute short addressing mode may be used. In that MICRO CORNUCOPIA, #29, April-May 1986 case a 2' s compliment 16-bit integer is specified as part of the instruction, which is sign extended to 32 bits and used as the address of the operand. For example: move.11000.w,100.1 moves the long word at address 1000 to address 100. The .W and .1 in the operand fields indicate the short and long addressing mode respectively. Another standard type of addressing mode is address register indirect in which the operand is at the memory location pointed to by an address register. For example: move.w (aO),(al) moves a word (signified by the .w) from the location pointed to by aO to the location pointed to by a1. Addressing Variations There are several· variations of address register indirect addressing on the 68000. Address register indirect with postincrement is one variation. In this case the operand is at the location pointed to by an address register. After the operand is fetched or stored, the address register is incremented by the length of the operand. (This is similar to the action the Z80 stack pointer takes on a POP instruction.) For example: move.b (aO) + ,(al) + moves a byte (signified by the .b) from the location pointed to by aO to the location pointed to by al. Then the values contained in aO and al are incremented by 1. The address register with predecre.ment is the exact opposite of the preceding mode. In this case the register decremented by the length of the operands and the operand are fetched or stored from the new location point- ed to by the address register. (This is similar to the action the Z80 stack pointer takes on a PUSH.) For example: move.l -(aO),-(al) decrements aO and al by the length of a long word (yes, that's right - .1 means long word), 4, and then moves the long word pointed to by aO to the location pointed to by al. Yet another mode is address register indirect with displacement. In this mode the operand is found at the address created by summing the value in an address register with a sign extended 2' s compliment 16-bit integer displacement. (This is similar to the IX and IY registers of the Z80.) For example: move.w 10(aO),-10(a1) moves a word from the memory location 10 greater than the value in aO to the location -10 bytes away from the • •. •. • .. ••••• ..•••••••••••••• .... : ...: • • •.......: •• •• :• •: location pointed to by a1. The final address register mode is the address register indirect with index. In this mode the location of the operand is the sum of an address register, a signed extended 8-bit 2's compliment integer displacement and an index register. The index register may be either an address or data register and can be specified as the full 32-bit register or the lower 16 bits (sign extended to 32 bits). For example: address could be a straight numeric value or a label. For address register with displacement and address register with index, the displacement value could be specified by a symbol or by a direct numeric value. The last two 68000 addressing modes are program counter relative, and it took a while to figure out how they should be implemented. I wanted my implementation to make sense and to be compatible with other 68000 assemblers. move.w 10(aO,dO.w),100(a1,a6.l) calculates the source address from the value in aO, plus the sign extended value of the lower 16 bits in dO, plus 10. Then it calculates the destination address from the value in aI, plus the value in a6 (full 32 bits), plus 100. Then a word is moved from the source to the destination address. Assembler implementation of the addressing modes described so far is pretty straightforward. With the absolute addressing modes, the absolute • ••••• The Program Counter The program counter with index addressing mode is very similar to the address register with index addressing mode except the program counter is ,used instead of an address register. The address of the operand is determined by adding the value in the program counter with a sign extended 2' s compliment 16-bit index. Forcing the programmer to specify (continued next page) iter :• ..... • ..... :•..... For only $59 extra a a a this high quality buffer gives you so much MORE • Upgrade dot matrix .printers·. to letter quality • Over·1 00 typestyles • Double underUning, highlighting, inverse printing and right justification • Foreign alphabets, scientific and mathematical characters 2 (C::lb: .••• : : ••......•.. ·F~rfl1oreinformCition.~ClII • 1}tlP()-222-9073d704}S25~4423. \, .. o,r;.Write:.f318Jy.v()\ci.&d4:jP,(t~Chpr.lotte/J~C:78~lO ....•. :.:::,.; ~, .~.: I: "~~>,~ t~, ~" .," ~~ ~ '< , ,~ MICRO CORNUCOPIA, #29, April-May 1986 73 ATARIST (continued from page 73) an index to an address register makes sense because of the way address registers are used, but to implement the index the same way in a program counter relative mode doesn't make sense. The usefulness of counter relative mode is its ability to access data that is within 32K of the current address more quickly than the absolute long addressing mode (only a 1 word index must be read compared to a 2 word address) and to access that data in a manner that is totally code position independent. So I implemented this mode like so: move.w LABEL(pc),dO In operation the word located at address LABEL is moved to register dO. The assembler calculates the index. This works the same as: move.w LABEL.l,dO with the differences being that the LABEL(pc) mode is slightly faster, the code produced using the LABEL(pc) mode may be loaded at any address, and in the LABEL(pc) case, LABEL must be within plus or minus 32K of the current address. Program Counter With Index The program counter with index addressing mode was implemented in the, same manner. In this mode the operand address is the sum of the value of the program counter, signed extended 8-bit 2' s compliment integer displacement and an index register. The index register may be either an address or data register and can be specified as the full 32-bit register or the lower 16 bits (sign extended to 32 bits). For example: Whew! . After finishing the 68000' s addressing modes and deciding what pseudo operations were most useful (I implemented define space, define constant, define constant block, ORG and EQU directives) the assembler started to come together. I wrote the boot code for my single board, ROMed it, and played with some simple routines. Changing The Assembler For The ST When my ST and development package arrived I knew I'd have to make several changes before my assembler would run on the ST. The first change was one I had anticipated. The order of bytes in word and long word data on the 68000 is opposite of the Z80 and 8086. The 68000 stores data with the most significant byte (MSB) first (the Z80 stores the LSB first). In the Z80 version of the assembler all words and long words had to be flipped before being written to the object file. This code had to be rewritten for the 68000. The rest of the changes had to do with the executable file format the ST uses. The ST operating system is GEMDOS which has many similarities to CP/M 68K and MS-DOS, with the addition of graphics support. In CP/M 80 an executable (.com) file is an object file that always loads and runs from address 100 Hex. In GEMDOS the file must be able to load and run at any address. This allows the operating system to reside in lower memory but not be restricted to a certain size. It also makes multitasking possible (eventually). move.l LABEL(pc,dO.l),dl moves a long word to register d1. The source address is the sum of the address LABEL and register dO. The assembler calculates the index from the difference between the current address and LABEL. LABEL must be be within + 129 bytes and -126 bytes of the start address of the instruction. 74 MICRO CORNUCOPIA, #29, April-May 1986 Each executable file begins with a header, see Figure 1 for format. As indicated by the header information, a GEMDOS executable file may . contain up to 4 segments. The first is . the text segment; it contains all the code. The second is the data segment; it contains the initialized data. Both the text and data segments occupy disk space, and in the case of the 68000 there is no need to distinguish between these two segments. I believe that the separate definitions of these segments is due to the 8086 segmented addressing. In the case of the 8086 the data segment register would have to be set to point to the start of initialized data. For my 68000 assembler I elected to have only the text segment, since initialized data can also be stored there. The third segment is the bss (block storage segment), which reserves storage for initialized data. Unlike most Z80 assemblers where DS directives take up disk space, the DS directives within the bss take up no disk space; they only reserve memory space. This directive is implemented on my assembler as a one-time option - once the bss directive is turned on, it stays on to the end of the file. The forth segment is a symbol table. It's only necessary if the assembler produces linkable files. This assembler does not so there is no symbol table. Following the header come the text and data segments (and symbol table if it exists). At the end of the file is the file relocation information. When an executable GEMDOS file is loaded into memory, the relocation information is used to adjust the file for execution at its load address. The relocation information indicates the relative address of long words in the text segment. These must be adjusted for the load address of the file. A simple example should make this need somewhat clearer. The useless program: start nop jmp end start • do nothing *jump to start is your basic endless loop. A nop is executed followed by a jump to the nop. ,if this were assembled to run at address 000000 the label start would have a value of O. If this program were loaded at address 1000 all references to start would have to be adjusted to have a value of 1000. In this case the long word in the jump instruction would have to be adjusted to 1000. The relocation information has to indicate that byte 4 in the program <\1\l~f? component supply. inC VVVV (the nop is at bytes a and 1, and the opcode for the jump is bytes 2 and 3) is a long word that must be adjusted for the load address. Writer's Rules This presents a problem for the assembler writer - what should be relocatable? After much thought I devised a set of rules that I think properly covers most circumstances . 1. Any expression that contains the current address operand (*) is not relocatable. My reasoning is that the * operand is only useful in expressions where a difference is taken between a label and the current address, producing a relative address, that should not be adjusted on loading. 2. All expressions that refer to a program label (even indirectly, for example: symbol equ label + 2) are relocated. 3. All other expressions are not relocatable. This allows a programmer to access an absolute address (via symbol). 1771 Junction Ave. • San Jose, CA 95112· (4081295-7171 Addressing Mode Restrictions The relocation of files at load time places some restrictions on the use of some of the 68000 addressing modes. 1. The absolute short mode may not be used to reference a label. The assembler defaults to the absolute long mode unless explicitly specified. 2. The program counter relative addressing modes may not be used to reference absolute addresses. Finally Now that I have the assembler working I may turn my attention to modifying Small C to run on the ST. I would like to hear from any Micro C readers who are doing anything with Small C for the 68000 or are working with the ST. Hours: 10:00 am - 5:00 pm / MON-FRI Shipping charged on all orders. Minimum order: $15.00. Please call on all orders as items are limited to quantities on hand. Prices subject to change without notice. C.O.D., Prepaid or Master Card or Visa orders only. NO OPEN ACCOUNTS / NO FOREIGN ORDERS, PLEASE! POWER SUPPLIES: ACOC OEM 5N17-1, 5V@17A, 10"x5"x5",14Ibs. $45.00 Trygon LBS6-24-0V, 4.8-6.8V@24A, 6"xl7"x8",36Ibs. $60.00 Lambda LXS-0-5-0V, 5V@27.5A 7Yz"x7Yzx9Yo.",22lbs. $60.00 Sorenson SS09-50, 9V@50A switcher, 7W'x5 Yz"x12W', 131bs. $175.00 . Standard Power 200 B 12, 12V@5A unregulated 4Yz "x8Yo. "x5Yz", 121bs. $20.00 ACOC 15N5-1, 15V@5A, 10"x4"x5",6Ibs. $75.00 Standard Power 200 B 16, 16V@12.5A unregulated4Yz"x8Yo."x5Yz",12Ibs. $15.00 Sorenson SLC20-5, 20V@5A, 5Yo."x3Yz"x8Yz",4Ibs. $40.00 Sorenson SS024-8.5, 24V@8.5A 5W'x3 Yz"xl0", 5lbs. $90.00 Astec AAl1261, 5V@6A 28V@lA, unregulated switcher, 7 Yz"x4 Yz "x2" $50.00 130W power supply, IBM PC compatible $140.00 HB5-3, 5V@3A Linear, 4"x5"x2" $15.00 CP411,5V@8A, -5V@3A, + 12V@1.2A, -12V@lA, +24V@2.5A, 5A(surge) 16Yz"x5"x3" Linear, (Good for 8" Hard Disks, and 5 ~ " Floppies) $35.00 CP417, 5V@4A, 12V@2.5A(Avg.) 7.5A(Surge) Linear, 8 Yz "x5"x3" (Good for 5 ~ " Hard Disks) $50.00 ACOC, 551-111, 5V@8A, ± 12V@1.7A Linear, 11"x5"x3" (Goodfor5~" Floppies, or Low Current Hard Disks) $35.00 Osborne Power Supply + 5V@2.5A, + 12V@2.02A, -12V@.lA Switcher, $18.00 6 Yo. " x4" x2" (Good for 5 ~ " Flopies) DISK DRIVE BONANZA: DISK DRIVES: DISK DRIVES: NEW SURPLUS Tandon TM501-full ht.,5 megabyte formatted. One platter, two heads, access: 85 msec., 612 tracks, 306 cylinders, + 12V@ 1.5 A typical, 5 max., 5 V@ .8A $119.00 SURPLUS Tandon TM502-full ht.,10 megabyte formatted. Two platters, four heads, access: 85 msec., 1,224 tracks, 306 cylinders $225.00 SURPLUS TM 503-full ht., 15 megabyte formatted. Three platters, six heads, access: 85 msec. $340.00 1,836 tracks, 306 cylinders NEW Tulin TL226-half ht. 20 megabyte $96.00 $200.00 $500.00 $800.00 NEW Tulin TL240-half ht., 32 megabyte NEW Microscience H H725- hlf. ht., 20 megabyte $512.00 NEW Microscience HH612-hlf. ht., 10 megabyte $380.00 NEW TEAC SD510, half ht., 10 megabyte, requires 130WpowersypplyforP.C. $380.00 NEW Shugart SA455/Panasonic JA55112N5 y..", half height, 48TPI, 40 track, 6 msec. double sided $ 99.00 NEW TEAC FDS5BV-48 TPI, 40 track, 6 msec., half height, double sided $109.00 NEW TEAC FD55FV-Sy.. .. , half height, 96TPI, $149.00 80 track, 3 msec., double sided NEW TEAC FD55 GFV-AT -5 y. .. , 1.2 megabyte floppy for IBM PC-AT $175.00 NEW TEAC FD35F-3 W', 80 track, 135 TPI, double sided CASES WITH POWER SUPPLIES: For one full ht., or two half ht. 5 y.." floppies. For one full ht. or two low pwr. half ht. hard disks. HARD DISK CONTROLLER CARDS: NEW $180.00 DTC 5150 BX, for IBM PCWithout Data Cables With Data Cables $185.00 ~195.00 NEW DTC 5250-will run two 5 y.. .. floppies and two 5 y.." hard disks. For example two TEAC FD55B, one Microscience HH725 20 megabyte fixed hard disk, and one Syquest SQ306R 5 megabyte removable hard disk. $360.00 NEW DTC 5290-For IBM PC,,A,T, will run 5 y.. .. floppies and hard disks NEW Western Digital WD1002-WX2-for IBM PC Without Data Cables $170.00 With Data Cables $180.00 NEW WD Wl002-WA2-for IBM PC-AT Will run 5 y.. .. floppies and hard disks SURPLUS TM 602S-full ht.,5'" \)'1' )yte formatted. Twe platter SO\.O 0 _, dccess: 99 msec. 612 tracks, 1 _ "yllnders $ 95.00 SURPLUS Tandon TM 603SE-full ht., 11 megabyte formatted. Three platter, six head, access: 137 msec. 1,380 tracks, 230 cylinders $225.00 (continued) TEAC FD35E-3 'h", 80 track, 135 TPI, single sided, $168.00 SURPLUS Shugart SA450-5 y.. ", full height, 48 TPI, 40 track, 25 msec. track to track, double sided $ 75.00 $325.00 $299.00 * All drives with asterisk are compatible with the IBM peTM as 360K or 380K drives. Half height drives may required mounting brackets or filler plates not supplied with the drive. When ordering controller cards please indicate the model of drive you will be using, and the number of heads, cylinders and formatted capacity of the drive. All drives carry a gO-day guarantee. GAVILAN PARTS: 32K RAM Capsules 64K RAM Capsules (no plastic) Thermal Paper Boot Rom Board with 56K Ram Orive Printer Battery Packs 20.00 40.00 3/100.00 3.50 65.00 13.00 MICRO CORNUCOPIA, #29, April-May 1986 75 Uttle Board™•••• $149 The World's Least Expensive CP/M Engine CP/M 2.2 ~I INCLUDED (continued from page 2) / ~" W/ SCSI OPllON • 4 MHz Z80A CPU, 64K RAM, Z80A ac, 4-32K EPROM • Mini/Micro Floppy Controller (1-4 Drives, Single/Double Density, 1-2 sided 40/80 track) • 2 RS232C Serial Ports (75-9600 baud & 75-38, 400 baud), 1 Centronics Printer Port • Power Requirement: +5VDC at .75A; + 12VDC at .05A / On board -12V converter • Only 5.75 x 7.75 inches, mounts directly to a 5-1/4* disk drive • Comprehensive Software Included: • Enhanced CP/M 2.2 operating system with ZCPR3 • Read/write/format dozens of floppy formats (IBM PC-DOS, KAYPRO, OSBORNE, MORROW ... ) • Menu-based system customization • Operator-friendly MENU shell • OPTIONS: • Source Code • TurboDOS • ZRDOS • Hard disk expanSion to 60 megabytes • SCSI/PLUST. mUlti-master I/O expansion bus • Local Area Network • STD Bus Adapter BOOKSHELFTM ~'CitZ~ 700 Fast, Compact, High Quality, Easy-toouse CP/M System Priced from $895.00 10MB System Only $1645.00 • Ready-to-use professional CP/M computer system • Works with any RS232C ASCII terminal (not included) • Network available • Compact 7.3 x 6.5 x 10.5 inches, 12.5 pounds, all-metal construction • Powerful and Versatile: • Based on Uttle Board single-board computer • One or two 400 or 800 KB floppy drives • 10-MB internal hard disk drive option • Comprehensive Software Included: • Enhanced CP/M operating system with ZCPR3 • Word processing, spreadsheet, relational database, spelling checker, and data encrypt/ decrypt (T/MAKER lilT.) • Operator-friendly shells; Menu, FriendlyT. • Read/write and format dozens of floppy formats (IBM PC-DOS, KAYPRO, OSBORNE, MORROW ... ) • Menu-based system customization DISTRIBUTORS ARGENTINA: FACTORlAL, SA, (1) 41-0018, n.x 22408 BELGIUM: CENTRE ELECTRONIQUE LEMPEREUR, (041) 23-4541, n.x 42621 CANADA: DYNACOMP COMPUTER SYSTEMS lID., (604) 872-7737 ENGLAND: QUANT SYSTEMS, (01) 253-8423, TlX 946240 REF:19003131 FRANa: EGAL+, (1) 502-1800, n.x 620893 SPAIN: XENIOS INFORMATICA, 593-0822, n.x 50364 AUSTRALIA: ASP MICROCOMPUTERS, (613) 500-0628 BRAZIL: CNC-DATA LEADER LJDA, (41) 262-2262, n.x 041-6364 DENMARK: DANBIT, (03) 6&20-20, n.x 43558 FINLAND: SYMMETRIC OY, (0) 585-322, TlX 121394 ISRAEL: AlPHA TERMINALS, lID., (3) 49-16-95, TlX 341667 SWEDEN: AS AKTA, (08) 54-20-20, TlX 13702 USA: CONTACT AMPRO COMPUTERS INC., TEL: (415) 962-0230 TELEX: 4940302 IBM®, IBM Corp.; Z80A®, Zilog, Inc.; CP/M®, Digital Research; ZCPR3'· & ZRDOS'·, Echelon, Inc.; Turbo DOS®, Software 2000, Inc.; T/MAKER III'·, T/MakerCo. COMPUTERS. INCORPORATED 67 East Evelyn Ave .• Mountain View. CA 94041 • (415) 962-023 O. TELEX 4940302 76 EDITORIAL MICRO CORNUCOPIA, #29, April-May 1986 head for the slopes (or dinner), but on other days, 5 pm will see a discussion so hot that it won't let up until hungry mates start calling in missing-writer reports. Latest topics have included: Private Domain, choice of articles (a lightly camouflaged way of discussing where' we are going), how to increase circulation, what happened to all the drives, how to let people know that a particular company is particularly supportive or particularly otherwise. Real answers don't show up very often, but the discussions are as good as those I remember in philosophy class. Philosophy was a great class. Articles Lately, the hottest topic has been article selection (magazine direction). A year ago, a hardware mod to a Big Board was in, automatically. Now, it has to be very, very good. Then, an inside look at CP/M 80 was a sure fire hit; now we check to see if there's a way to generalize it so owners of other systems can use the information. We're moving, feeling our way, and trying to keep up with the new, while maintaining reasonable support for the old. Of course, when you get involved in a new system it takes some real effort up front. If the system turns into a slackwater pond, far from the mainstream, then it may well be a loser for us and for our readers who've purchased the system. But it's not all cut and dried (an old fishing cliche). When you're sitting right up front, it's often difficult to know what's going to become a full blown river and what's going to dry up. For instance, should you develop software for the Commodore Amiga or the Atari ST? Both? Neither? In The Beginning I started Micro C to support a single board computer kit called the Big Board. When you bought the Big Board you got a board and a bag full of parts. It was definitely a do-it-yourself system, but it wasn't a backwater system. Once all those parts were together (properly) they ran CP/M. Now there are many board-level computers; some make sense, some don't. Choices An engineer takes a calculated risk when he designs a computer around a new operating system_ If the operating system becomes popular and he has one of the first systems, then he could be immensely successful. If he chooses wrong, then he (and his early customers) could lose a lot of time and money. The Slicer designers assumed that CP/M 86 would be a Little Board™/186 •••• $495 High Performance, Low Cost PC-DOS Engine Boots IBM PC-DOS (not Included) popular operating system, and for a short while it looked like they were right. After all, if straight CP/M 86 weren't going, there would soon be the concurrent version which would run MS-DOS software and support multiple tasks. However, the hottest, fanciest packages were written by people who thought hardware was part of the operating system (see the C column in this issue). So even a system that supports generic MS-DOS has been left out. What can the generics run? A few compilers, assemblers, and an odd applications program or two. The X-16 was the Slicer designers' response to the problems with the Slicer (which is still a nice machine if you don't need to run clone software). The Slicer graphics board, their first attempt at compatibility, hasn't really been PC compatible. New Processors, New Problems Now, of course, we're including all kinds of new processors and operating systems. That means we've greatly expanded what we can talk about. But what happens when someone comes up with an article about an assembled and tested single-board 68000 computer that runs OS-9? What's available for OS-9? A few compilers, assemblers, and an odd applications program. 05-9 has been around for a while and it has a lot to offer, but it's definitely a backwater operating system. Do we just run articles about the PC, the Amiga, or the Atari ST? Nope. But until the 68000, for instance, gets a viable standard operating system (perhaps mimicking the Atari), it doesn't make sense for us to spend much time with expensive assembled and tested 68000 boards that run very little. So what are we interested in? A build-it-yourself 68000/ 32032/80386 (or whatever) system. Even if you don't actually build it, the information about design and construction with one of the newest processors should be very enlightening. And if you do build it, the experience alone will be worth the price of admission. If it also supported a standard operating system, graphics, sound - ran bunches of software - that'd be a real bonus. But that's not all. Some folks are taking standard systems and going one step farther, e.g. the Definicon Board. Others are finding really inexpensive ways to build compatible systems without paying homage to Big Blue. There's really a lot to learn and much to do (about something) . Concurrent CP/M Every operating system has its supporters, and it seems (continued on page 79) • Three times the COMPUTING POWER of aPC • Data and File Compatible with IBM PC, runs "MS-DOS generic" programs • 8 MHz 80186 CPU, DIM, Counter/Timers, 128/512K RAM zero wait states, 16-128K EPROM • MinI/Micro Floppy Controller (1-4 Drives, Single/Double DenSity, 1-2 sided, 40/80 track) • 2 RS232C Serial Ports (50 -38,400 baud), 1 Centronics Printer Port • Only 5.75 x 7.75 inches, mounts directly to a 5-1/4" disk drive • Power Requirement: + 5VDC at 1.25A; +12VDC at .05A; On board -12V converter • SCSI/PLUS'· multi-master I/O expansion bus • Software Included: • PC-DOS compatible ROM-BIOS boots DOS 2.xand 3.x • Hard Disk support • OPTIONS: • Expansion board with: • 128 or 512K additional RAM • 2 Sync/Async RS232/422 serial ports • Battery backed Real Time Clock • 8087 Math Co-Processor • Buffered I/O Bus • STD Bus Adapter • Utilities source code • TurboDOS I NetwOrking BOOKSHiLFTM ~'llfZ~ 200 Fast, compad, high quality, versatile PC·DOS system Three times the COMPUTING POWER ot a PC Priced from $1295.00 10MB System Only $1945.00 • Data and File compatible with IBM PC-DOS 2.x and 3.x • Runs "MS-DOS generic" programs (Dbase II, Multiplan, Wordstar, Supercalc 2, Turbo Pascal, Fortran 77, Microsoft C, Lattice C, IBM Macro Assembler, Intel compilers & tools, GW BaSiC, etc...... ) • Works with any RS232C ASCII terminal (not included) • Compact 7.3 x 6.5 x 10.5 inches, 12.5 pounds, all metal construction • Based on Little Board/186 • 512K RAM,no wait states • Two RS232 serial ports • One Centronics printer port • One or two 360 Kb floppy drives • 1OMS internal hard disk drive option Software Included: • PC-DOS Compatible ROM-BIOS boots DOS 2.xand 3.x • Hard Disk Support • T/Maker 111- Word processing, spreadsheet, relational database, spelling checker, and data encrypt! decrypt Expandable: • Floppy expanSion to four drives • Hard disk and tape expansion • SCSI/PLUS'Y multi-master I/O expansion bus DISTRIBUTORS ARGENTINA: FACTORIAL, SA, (1) 41-0018, TLX 22408 BELGIUM: CENTRE ELECTRONIQUE LEMPEREUR, (041) 23-4541, TLX 42621 CANADA: DYNACOMP COMPUTER SYSTEMS lID., (604) 872-7737 ENGLAND: QUANT SYSTEMS, (01) 253-B423, TLX 946240 REF:19003131 FRANCE: EGAL+, (1) 502-1800, TLX 620B93 SPAIN: XENIOS INFORMATICA, 593-0B22, TLX 50364 AUSTR.WA: ASP ~P=u:l COMPUTERS. INCORPORATED MICROCOMPUTERS, (613) 500-0628 BRAZIL: CNC-DATA LEADER LTDA, (41) 262-2262, TLX 041-6364 DENMARK: DANBIT, (03) 66-20-20, TLX 43558 FINLAND: SYMMETRIC OY, (0) 58So322, TLX 121394 ISRAEL: AlPHA TERMINALS, lID., (3) 49-16-95, TLX 341667 SWEDEN: ABAKTA, (08) 54-20-20, TLX 13702 USA: CONTACT AMPRO COMPUTERS INC., TEL: (415) 962-Q230TELEX: 4940302 IBM®, IBM corp.; 80186®, Intel, Corp,; TurboDOS®, Sottwere 2000, Inc., Dbase II®, Ashton-Tete; Wordstllr®, Micropro, Inc.; Supercalc 2®, Sorcim,lnc.; Turbo Pascal®, Borland, Inti., Inc; Microsoft C®, GW BlIsic®, Multiplen®, Microsoft, Inc.; l.!Ittice C", l.!Ittice, Inc. 67 East EveIynAve •• MountainVi~CA94041 • (415)962-0230. TELEX 4940302 MICRO CORNUCOPIA, #29, April-May 1986 77 ERACCO. KAYPRO EQUIPMENT 9" Amber CRT .............. $39.00 9" Green Monitor ............. 35.00 12" Green Monitor ............ 45.00 81 Series ROM's ............... 7.00 Keyboard (Kaypro) ............ 75.00 Keyboard Siemens w/case ...... 65.00 Wiring Harness ................ 7.50 KAYPRO MAINBOARDS K2 With Sockets ............. $39.00 K2 Populated - Tested ......... 129.00 K2 with PR08-3 Mod .......... 239.00 This one runs at 2,4 & 5 MHz, up to 4 drives 55, OS, or Quad drives. New ROM has screen dump and step speed select. With manual & software, tested and guaranteed 30 days. K2 PR08-2 Mod. EXCHANGE ... 149.00 We will update your K2 or K4 as above. Mail working Main board. We can install double or quad drives and check complete package ..... CALL K10 Populated - Tested ........ 250.00 WD1002-5 Hard Disk Controller WD1002-5 Hard Disk Controller .200.00 Host Interface Board ............ 5.00 CABINETS K10 ....................... $45.00 Bottom portion with front and back only. CRT Bezel ................... 12.00 SUBSTITUTE CABINET This cabinet has a 12" green monitor on top that swivels left to right with a 3'position vertical movement. The base is 16"x18"x5" and contains a switching power supply. It has room for the main board, two drives, a modem and whatever else you want to stuff in it. It comes with a Siemens keyboard with case and is programmed like the Kaypro keyboard with many extra Wordstar and CP/M commands. The whole cabinet is color·coordinated and sharp looking. Nobody will ever suspect this is a Kaypro. Now you can build the classiest Kaypro computer ever for less than $550.00. The complete cabinet is a steal at .... $179.00 MISC. CABLES 9" 50 Pin - 50 Pin Header ...... $2.50 14" 40 Pin - 40 Pin Header ...... 2.25 9" Hard Disk - 20 Pin Header ....,.2.00 14" Duallnline 16 Pin Male (2) ... 2.00 Coiled Keyboard Cable ........... 1.50 Pioneer LD700 Laser Video Disk Player ................ $299.00 Wireless Remote Control .. 55.00 En",\" \"0. LOW PROFILE IC SOCKETS ****************** ******************' Bahco Wire Cutter "Swedish" ... 6.95 CPU/SUPPORT MC68000-8 CPU ............. $12.50 C80186-3 ................... 27.00 C80186-6 .................... 9.00 Z80 CPU ..................... 1.00 Z80A CPU .................... 2.50 Z80A P~G' ..................... 2.50Z80A SiD' .................. '... 5.00 Z80A DMA ................... 10.00 8088 ....................... 10.00 8089-3 ...................... 29.00 08742 CPU/EPROM 12 MHz ..... 20.00 D8284A ...................... 3.00 08288 ....................... 9.00 4164-15. . . . . . . . . . . . . . . . . . . . .. .90 41256-15 ..................... 2.50 41256-12 ..................... 2.75 MODEM TMS 99532 (Modem) ......... $12.00 FLOPPY CONTROLLER WD WD WD WD 1791 1793 1797 2797 92111 (619) 569-1864 HOURS: Mon.· Fri. 9·6 - Sat. 10·4 TERMS: VISA, MasterCard, Certified Checks, Money Order, NO COD. Visa and MasterCard add 3%. Personal checks must clear BEFORE we ship. Include shipping cHarges. California residents add 6% Sales Tax. For more info please call - DON'T WRITE! We don't have time to answer your letters. 78 .................... $9.00 ..................... 5.00 ..................... 7.00 ..................... 9.50 BAUD GENERATOR WD 8116 ......... .' .......... $4.50 MISCELLANEOUS UC3524 Sw. Reg .............. $ .85 WD1010 ..................... 20.00 WD1014 ..................... 28.00 WD1 015 ..................... 28.00 MM58167A Clock Chip .......... 5.50 CA301 Op Amp. . . . . . . . . . . . . . .. .35 CA083 Op Amp . . . . . . . . . . . . . . .. .45 2N3055 ....................... 70 2N6852 ...................... 1.00 Voltage Regulators LM323K + 5V - 3A .......... 4.50 LM78H12 +12V-5A ........ 5.00 6116 2Kx8 Static Ram ........... 1.50 VIDEO CONTROLLER 6545 ....................... $7.00 6545A-1 ..................... 8.00 6845 ........................ 6.00 EPROMS 2716 ....................... $3.50 2732 ........................ 3.75 2764 ........................ 2.25 2764-25 ...................... 3.50 74LS SERIES 8280 CLAIREMONT MESA BLVD .. SUITE 117 SAN DIEGO. CA 8280 Clairemont Mesa Blvd., Suite 117 San Diego, California 92111 (619) 569-1864 Call for our Test Equipment Mailer! HCOO ....................... $ .35 HCU04 ....................... .40 LS 125. . . . . . . . . . . . . . . . . . . . . .. .40 LS 373 ........................ 60 LS 375 ........................ 60 4073 ......................... 35 7406 ........................ .40 SOLAR CELLS 21/2" x 5/16", .5V .5A ........ $2.25 MICRO CORNUCOPIA, #29, April-May 1986 8 Pin 14 Pin 16 Pin 18 Pin 20 Pin 24 Pin 28 Pin 40 Pin 50 per Tube 25 per Tube 25 per Tube 25 per Tube 20 per Tube 20 per Tube 10 per Tube 10 per Tube ........... $2.50 ............ 1.50 ............ 2.25 ............ 2.50 ............ 2.00 ............ 2.50 ............ 2.00 ...... '.' .... 1.60 PRINTERS Centronics 703 ............. $395.00 CcmtmIJics588 ............ ".225.00 Centronics P1 ............... 105.00 Teretype 43KSR .............. 300.00 NEC 2000 with Single Bin Cut Sheet Feeder .......... 1200.00 Transtar 315 Color ........... 375.00 S100 CCS 2200 12 slot MF ........ $375.00 CCS 2810A CPU ............. 210.00 2065 64K RAM .............. 250.00 2422 FDC 51/4" & 8" ......... 325.00 2718 I/O 2 Ser., 2 Par ......... 225.00 POWER SUPPLIES - WALL PLUG-IN TYPE 6VAC - .95A ............ '.' ... $1.35 - LINEAR Condor Model CP731 DC Power Supply + 14V-4A. + 5V-7A, ±15V-.5A . $16.00 Power Supply with Nicad Pack 12V .5AH ......... 6.50 14KV DC/DC TV Power Supply .... 4.50 + 5V/1A, - 5V/.2A, + 12V/1A, -12V/.2A, - 24V/.05A ....... 15.00 SWITCHERS 5V-9.5A, 12V-3.8A, 112V-.8A .. $39.00 5V-3A, 12V-2A, 112V-.4A ....... 29.00 5V - 10A .................... 25.00 FLOPPY DISK DRIVES - 1/3 HEIGHT OkidataDSDD .............. $109.00 Supplied w/sub·panel to make V2 ht. - 112 HEIGHT - ' Mitsubishi M4853 OS Quad ... $139.00 Qume Trak 1425114" DSDD ..... 99.00 Tandon TM 848-1 8" SSDD .... 149.00 - STANDARD HEIGHT Shugart SA460 OS Quad - As is . $36.00 Shugart SA850 8" DSDD ...... 199.00 Remex RFD4000 ............. 199.00 Persci 277 2x8" ............. 399.00 All Instruction Manuals ......... 10.00 TERMINALS InterTube II Smart (B&W) ..... $225.00 InteColor 3602 Smart (Color) ... 329.00 MISCELLANEOUS Headset/Boom Microphone ...... $3.95 Lead Acid 0 Ce!l 2V - 2.5A ....... 1.50 Nicad Pack 12V .5AH ........... 6.50 5 Blade Muffin Fans ............ 7.50 Joystick 4 Switches 1" Knob ..... 5.50 Elgar 400W Unint. Power Sup ... 425.00 16-Pin Component Carrier, Gold . .. .25 WE BRING ENGINEERS, SCIENTISTS AND THE IBM-PC TOGETHER EDITORIAL (continued from page 77) that ·the more out of favor an operating system is, the stauncher its supporters. CP/M 86 and Concurrent CP/M (CCPM) have their strengths, especially CCPM. After all, what else can handle concurrent processes, be compatible with MSDOS, and costs only $300? (Or has it been dropped to $60?) In a way, it's unfortunate that Digital Research hasn't gotten its due in this lemming world, but then, maybe it's getting it. After all, who was tanning on the beach while hundreds of thousands of CP/M 80 users (including me) were struggling to pony up $150 for a very simple operating system? For that $150 we received manuals and support that established new lows for an already unmanualed and unsupported industry. When I first saw Gary Kildall speak at the West Coast Computer Faire, Digital Research was riding a wave that looked unending. Millions of bucks were just rolling in as regular as the tide. But when IBM went looking for an operating system for their new PC they found the DR staff out basking on the sand and MicroSoft folks hard at work. Also, DR supposedly demanded $400 per copy for their operating system; MicroSoft was willing to live with $60. Guess who IBM picked? Eventually CP 1M 86 died. CP 1M + didn't do much (especially after DR announced it wasn't supporting it and wouldn't sell it to individuals). So DR was left with two orphan operating systems, and CP/M 80. Somehow it only seems right. After all, what's a wave going to do? It just cruises along until it runs head first into a beach. Hello World Anyone who's had any contact with C can trace his roots back to "Hello world." The first program in The C Programming Language by Kernighan & Ritchie displays this message. . Since this book has been the C book since 1978 (really, the only C book for a good share of that time), just about every C' er has said hello to the world at least once. Lately, a lot more people have said their first hellos. C has replaced Pascal as the language for gurus. When I was using UNIX systems a few years ago, a lot of my coworkers were predicting that C would ride to fame and glory on UNIX's coattails. But C has made it on its own (compare the number of C books in the store with the number of tomes aimed at UNIX). UNIX, if it makes it, will no doubt owe some of its success to C. There has always been a close relationship between C and UNIX. Dennis Ritchie (the co-author of the C manual) wrote UNIX for Bell Labs. In the book, Ritchie comments: "The operating system, • • • • 12·bit resolution 24·KHz throughput rate 16 channel SE, a 01 LABSTAR Software • • • • a·bit resolution 30 KHz throughput rate 16 channel SE, a 01 LABSTAR Software $490.00 $690.00 IEEE·488 GPIB Multifunction Board • • • • Full GPIB controller capability Three 16·bit interval timers 24 digital 1/0 lines Software included $495.00 Waveform Synthesizer Board • Generates user·definable signal • Up to 2000 points per envelop • 200 ns maximum output rate per point $795.00 (continued next page) MICRO CORNUCOPIA, #29, April-May 1986 79 E X YOUR C\?/~ P A N D Productivity ~Sb Os New: The NEe V,20 improved 8088 Microprocessor - 10A5% increase in speed-just plug it in ., $30.00 Increase Memory ••. 1. Kaypro 16 2S6K~512K Memory Expansion ............ $69.95 2. Kaypro PC 2S6K~640K Memory Expansion ............ $69.95 Both are simple plug~in installations; includes public domain RAM Disk software and other utility programs Increase Visibility ••• 1. Composite Video Generator adds standard composite monitor to a Kaypro II or IV ............................. ~ $44.95 2. Composite Video Generator adds an unmodified composite monitor for Kaypro 1, 2~84, 2X, 4~84, 10 ....... ~ $84.95 3. External Monitor Adapter adds a TTL monitor to a Kaypro 1, 2~84, 2X, 4~84, 10 .............................. ~ $44.95 Increase Programming Tools ••• 1. Color Graphics Board gives 16 colors, 32 sprites w/bit~mapped graphics; requires external monitor or TV; for any CP/M Kaypro .............................................. ~$130.00 2. Deluxe TLC Logo "turtle" graphics language; for use with color graphics board .......................................... $129.95 3. Color Board and Deluxe Logo package ... ~ $1 79.95 4. Instant Grapher 2.1 gives labeled bar and line graphs; prints separate pattern for each color; use with color board only ............................................... ~$29.95 5. Standard TLC Logo "turtle" graphics language uses internal graphics of Kaypro 1,2-84, 2X, 4-84,10 ......... ~$79.00 Increase Speed ••• 1. Electronic RAM Disk and Printer Buffer Combination - the ultimate add-on for Kaypro I, II, IV, 2X, 2-84, 4-84 & 10 computers. No longer will you need to wait for your Kaypro to slowly finish mundane tasks such as running a printer or waiting for floppy drives to turn when you have better things to do. Tested RAM Disk without RAM chips ................... $295.00 2S6K RAM Disk ....................................... $345.00 SI2K RAM Disk ....................................... $395.00 768K RAM Disk ....................................... $445.00 1MB RAM Disk ........................................ $495.00 Prices include all iristallation materials except for PIO Adapter Board required for Kaypro law/out an external modem and optional on 1, 2~84, 2X, and 4-84. 2. Kaypro II to IV Upgrade includes 2.5 Mhz to S Mhz speed up, two 390K disk drives (DSDD) to replace the single sided drives; price does not include shipping................................ $395.00 * Increase Challenge and Excitement •.• Infocom's Interactive Adventure Games give hours of fun and education at a variety of skill levels. Old favorites and new releases. $5.00 Off Suggested Retail CATALOG and COMPLETE DESCRIPTIONS AVAILABLE lOO's OF SOFTWARE LISTINGS FOR CP1M NOW AVAILABLE MicroSphere, inc. P.o. Box 1221 Bend, Oregon 97709 503-388-1194 80 MICRO CORNUCOPIA, #29, April-May 1986 EDITORIAL (continued from page 79) the C compiler, and essentially all UNIX applications programs ... are written in C." Hang on while I see if any of my eggs have laid chickens. We're obviously dealing with another case of immaterial conception (or was that immaculate deception?). Despite its dubious beginnings, C has become the langaage of fanatics. e experience just about guarantees you a following (and a meal ticket) - and a C'er with artificial intelligence (inherited or otherwise) isn't safe on the streets, what with head hunters and all. C Vrs. FORTH In some ways, C carries some. of the same fascination as FORTH. FORTH is a language for insiders, because to the uninitiated it looks like pig Latin. e can be just as opaque. FORTH forces you to understand what's going on inside the machine .. e encourages the same. Fortunately, however, e doesn't have to be obtuse. And, in fact, its conciseness can make the code even easier to read once you're familiar with its syntax (there are limits, however). So, here we are with a e issue. Check out the C runoff, and start writing. You should be out to e if you're going anywhere at all . Which C? That's a good question. See the Letters column and the C column for descriptions of two inexpensive es. For the expensive versions, ($500 or so) the battle appears to be between Manx (Aztec C) and MicroSoft. The main difference between the cheap versions and the expensive versions of e used to be floating point support. Now it's large model vrs. small model. In the small model you usually get 64K of code and 64K of data. In the large model you can choose to have code or data (or both) larger than 64K. The cheap compilers run the small model only. The expensive ones run both. MicroSoft used to distribute Lattice, but now they have their own, and it's rumored to be better than Lattice. Aztec has been getting stronger and stronger (and cleaner and cleaner) as time and revisions roll by. I like Manx because they're small, their error messages are very clear, their compiler is very fast, and I'm familiar with it, but when I listen to what others are saying (some of them have only MicroSoft C) it sounds like a horse race. Disappearing Drives It has definitely been an interesting couple of months. Just after the first of January, Gary called a couple of cheap drive places - you know, the ones advertising $79 apiece Mitsubishi double doubles. They were out. No drives. So he called some of the more expensive places. They ~------THECULTITIrn C o Puzzles With Class too were out of stock. Even the buzzy little TEACs had vanished. Finally, after about two dozen calls, he located one Mitsu and four TEACs. Where had all the drives gone? The general consensus around the office was that demand had caught up with supply. After all, memory prices have stabilized (or have started to back up) and suppliers are no longer pleading for orders. However, I was suspicious. There were a lot of outfits in the back of Computer Shopper whose prices were still dropping. That meant they hadn't received much notice. Also, a lot of people we called assumed they had drives in stock, and it was only when we insisted they look that they realized they were out (possibly a touch of scam there, but I wouldn't expect such sly trickery from all of them). Allyn Franklin called a day later with some information about TEACs, so I took advantage of his nickel and asked if he knew what had happened to all the drives. The only thing he knew was that the quality of the drives he was getting on the surplus market had gone from marginal to absurd. (Kaypro has been forced to change brands on their new PCs, and the drives have been 100% dead on arrival.) I mentioned I suspected that IBM might be gearing up for a big build of the PC-2s and might have hijacked three or four warehouses full of the little beasties. Well, Allyn got on the horn to some old friends (like one of the founders of Tandon) and came back with the following: Tandon sued a group of Japanese drive manufacturers for violating Tandon patents. One of the primary defendants in that case was Mitsubishi, and because of the suit, Mitsubishi (and the others) stopped shipping drives into the U.S. Tandon finally lost the suit about a month ago, so the Japanese are again free to ship to the U.s. But for a while, at least, drives will be a bit short (quarter-height, say?). Clonal Issue It appears that big business has found out about the clones (what? they've forgotten IB ... ?). In fact, they are not only finding that the clones are cheaper, but also that they're generally more dependable. More dependable? When IBM stands for i'It's Better Made?" But IBM messed up when it discovered it could make more money by cutting costs to the bone. In the process they boned a lot of small manufacturers (drives, PC boards ... ), and those who wound up with the contracts have been pinching costs down to nothing. While IBM was maximizing profits, the government of Taiwan was funding development of a BIOS ROM. It turned out to be a pretty good BIOS ROM. The rest of the story is now unfolding. We'll· no doubt see a PC-2 once the 80386 is available. I've heard that when the PC-2 shows up, IBM will drop prices on what's R N E E veryone was a bit nervous that night. We'd taken a mid-term the previous evening and most of us expected great swaths of red across our papers. (In C class, both the compiler and the instructor can bite.) Sure enough, Peter lived up to his reputation as one of the sneakiest C instructors ever turned loose on unsuspecting students (and this is an introductory C class). In fact, some of his teasers had been downright unfair. For instance, consider the following C statements: R + +*+ +k; + + + +k; m = j = 1 II k = 2; Assuming m, j and k have already been defined as integers, and that we are following K&R C, what does each line do? Which lines (if any) are illegal? Does anyone even care? Anyway, after rubbing our noses in our obvious shortcomings (he who holds the answer book holds power) Peter mentioned that he had run into a problem that he couldn't solve. (We were all ears.) Insolvable Product It turned out that the previous weekend, he and four other instructors had driven to Seattle to attend a programming conference. As they left Bend, one of them posed the following question: "Two boys were having their purchases totalled at a cash register when the first boy noticed that the checker was hitting the times button rather than the plus. When he commented to the second boy, his friend told him not to worry, the total would come out the same either way." "They purchased four items. They paid $7.11. What was the price of each item? Is there only one solution?" Well, four pads emerged from the luggage and five brains started scratching. But despite 20 hours locked together in a compact car, those brains came up with nothing, not even an elegant algorithm. (Aha! If it isn't in the answer book, instructors become almost mortal.) A Solution? Now it's your turn. If you can come up with something really elegant, get it in. We don't have a solution for this one, yet. After all, intelligence doesn't have to be academic, does it? And, if you come up with some more computer soluable (or insoluable) teasers, get them in. Of course it wouldn't hurt if they are the product (and sum) of at least four good minds. (continued next page) MICRO CORNUCOPIA, #29, April-May 1986 81 RPIM2™ creates CP/M©2.2 compatible EDITORIAL (continued from page 81) IBM PC 1. Remove the 8088 2. Install the NEC f.1PD70108 3. Boot PC RP/M2 The NEC f.1PD70108 CPU chip is a fast 8088 that also executes 8080 machine code. PC RP/M2 is an operating system. Either standalone or with MSDOS present, PC RP/M2 provides the solid base of a genuine operating system reliably distinct from the facade created by an MSDOS interface. All 2.2 features are supported, plus file date and time stamping, fast virtual disk, iobyte redirection, terminal cursor positioning, color console display.· PCPIP accesses MSDOS files; MODEMPC transfers files via serial port; SETDISK redefines a drive to anyof over 60 formats, allowing PC RP/M2 to directly process your existing CP/M files in their native form.System disk with manual and NEC f.1PD70108 (V20) $129. Shipping $5 ($10 nonUS) I~ [II !. Micro lYle'l"hods, Inc. 118 SW First St. • Box G Warrenton, OR 97146 I ~ THE NEW 65/9028 VT ANSI*,{~~<3NI~~E~~~~~s~sO*ARD! § ~ (503)861-1765 ~ A second generation, low cost, high performance, mini sized, single board for making your own RS232 Video Terminal. Use as a computer console or with a MODEM for hook up to anyof the telephone-line computer services. o ~ * ~ :> W ff > !z « ~ « =: ffiI- ~ :J > C5 o en ~ o ~ !/) ~ w FEATURES: Uses the new SMC 9028 Video Controller Chip coupled with a 6502A CPU. * RS-232 at 16 Baud Rates from 50 to 19,200 * On board printer port! * 24 X 80 format (50/60 Hz). * For 15,750 Hz (Horiz.) monitors. * 3 Terminal Modes: H-19, ADM3A, and ANSI X 3.64-1979 * Wide and thin-line graphics. * White characters on black background or reversed. * Character Attributes: De-Inten., Inverse or .Underline. * Low Power: 5VDC @ .7A, ± 12VDC @20MA. * Mini size: 6.5 X 5 inches. * Composite or split video. * 5 X 8 Dot Matrix characters (UIL case). * Answer back capability. Battery backed up status memory. * For ASCII parallel keyboard. MICRO SIZEI $99 95(Full Kit) SOURCE DISKETTE: PC/XT FORMAT 5114 IN. $15 * ~ ADD $40 FOR A& T :I: I-I----------~------------~------------------~ e tJ W Digital Research Computers (OF TEXAS) P.O. BOX 381450 • DUNCANVILLE TX 75138 • (214) 225-2309 ~I--------------------------------------------~ ~ ~ Call or write for a free catalog on Z-80 or 6809 Single Board Computers, SS-50 Boards, and other S-100 products. ~~------------------------------------------~ !/) TERMS: Add 53.00 postage. We pay balance. Orders under 515 add 75c handling. No ...J ~ 82 C.O.D. We accept Visa and MasterCard. Texas Res. add 5-1/8'10 Tax. Foreign orders (except Canada) add 20'10 P & H. Orders over S50 add 85c for insurance. MICRO CORNUCOPIA, #29, April-May 1986 left of the PC, XT, and AT stock by about 40 percent. Meanwhile, 8MHz 8088 and 8086 turbo boards are showing up from Taiwan. Taiwanese may skip the 80186 and go heavily for the 80286 as soon as they've developed a new BIOS. Stay tuned. NEe's V20 If you think the V20 is a big deal, you're not the only one. This 40-pin piece of magic not only runs 8088 code faster (even at 4.77 MHz) than the 8088, but it also runs 8080 code with the aplomb of a native. (The V30 is a magic 8086 that also runs 8080 code.) Well, Intel is upset. In fact, Intel has its whole legal department working on a V repellent. And unless Intel comes up with a legal solution pretty soon, it could have real problems. After all, hardware manufacturers might discover the V20 (more performance at no additional cost), and that'll be it for the venerable (profitable) 8088. The V20 is a simple plug-in replacement for the 8088, and yes, with no other changes to the system MS-DOS software does run faster. Plus, 8080 software also zings right along (now if it would run at 8MHz ... ). See the PC speedup article in this issue for information on on parts sources. Note that all V20s currently available are -5 parts (guaranteed to run 5MHz). NEC has had problems producing the -8 parts (8MHz). However, the -5 parts have been running up to 7 MHz just fine. Atari Vrs. Amiga As I write this I'm awaiting information from software firms that are using both the Commodore Amiga and the Atari ST. I've spent the last few weeks trying to get the C benchmarks to run on these machines so we'll have some idea (just an inkling, perhaps) of their performance relative to each other and relative to CP/M machines and PCs. I called one of my favorite computer stores. They sell both the ST and the Amiga and are pretty knowledgeable folks. Surely if anyone had C packages and computers they did. No luck. But I did find out that they've sold about 25 of each system. (I would have expected sales of well over a hundred of each.) "Buyers are waiting for software, and they're waiting to see who's the winner." A year ago it was much clearer who was going to win. But then Commodore was talking about $800-$1000 (for a complete package), and they were talking availability in June (or was it July, late August...). A year later, the system is $1998 (with color monitor and 512K), the operating system revision number has just been rolled (again), and there is very, very little software. My contact noted that the Amiga is a pain to get serviced under warrantee, and the turnaround is long. Atari service, on the other hand, requires one phone call for a return authorization number, and the turnaround time is excellent. He noted that they've had just one minor problem with the STs. Two of the Amigas were dead on arrival. "Right now, it's price vrs. bells and whistles. The complete ST is $1000 and it has sound, graphics, and midi interface. The complete Amiga is $2000. Its bells and whistles (sound, graphics, and multitasking) are better, but you'll have to decide for yourself if they're worth the extra $1000." They've had Amiga developers packages on order for months now, and though Commodore says it's shipping them, the store has yet to see one. The new Kickstart 1.1 (the Amiga operating system) has not crashed. But they found that many of the system's early problems could be traced to memory limitations. When people added the 256K memory expansion module (512K total) most of the problems disappeared. People purchasing Amiga software should specify their Kickstart version. Some packages will run only under 1.0 (the early version), while others will run only under 1.1. Many industry people expect the race to be close until the Amiga gets the promised PC emulation software. But if that's all people are waiting for, they might read issue #27. For $1800 they could have both the ST and their very own, very PC compatible, clone. Finally, time is of the essence to Commodore. The company has a bad reputation in the financial market, so its chances of raising cash are pretty slim. Plus, its cash position is weak, and it's been losing money - lots of money - for the past year. Amiga sales are critical to Commodore, even if the company is only trying to find a buyer. Dealer Watch D & D Discount Computers of Hawthorne CA has a full page ad in Computer Shopper and some pretty good prices. However, if our experience trying to get a couple of monitors is any indication, it might not be worth the effort. We ordered two video monitors on 12/27/85. We insisted that they make sure the monitors were in stock before we placed the order. They said they were in stock and would be shipped the next day. A week later we received one monitor. In fact, by early February we still had only one monitor. (And we'd already received the VISA bill for both plus $30 shipping.) We've called them five times. Each time, the story has been different. "We shipped two monitors on January (continued next page) Enclosure & power supplies for FLOPPY, WINCHESTER~ . TAPE DRIVES, SINGLE B·OARD COMPUTERS Be S-1 00 SYSTEMS 8 inch 5 inch 3 inch CUSTOMIZING AVAILABLE Call or write for free catalogs & application assistance RESEARCH CORPORATION 8620 Roosevelt Ave. • Visalia, CA 93291 '209/651 ~1203 TELEX 5106012830 (INTEGRANO UO) EZLlNK 62926572 We accept BankAmeri~ard/Visa and MasterCharge MICRO CORNUCOPIA, #29,. April-May 1986 83 EDITORIAL (continued from page 83) 2nd." "You only received one? We'll ship one tomorrow." (Two weeks pass ... ) "We show an order for two monitors, and they were shipped." (Another week. .. ) -"We'll get the second monitor out red label tomorrow." (Another week. .. ) "We can't fii1d your 'order, and we can't send a monitor to just anyone who calls." (At this point the phone lines got a bit warm.) Later that day, they called back. "We found the order. It's for two monitors, and we're shipping the second monitor out red label today." And, curiously enough, they did. SOGV George is coming! George is coming! George Morrow called to say that he's already got the SaG on his calendar. He mentioned that of all the places where he spoke last year, the SaG was the best, most exciting group. So he wanted to make sure he got a speaking spot again this year. He'll. be staying .long enough this time to participate in those famous all-night semi-official discussions (SODs). Also, Michael Frieling, Ph.D from MIT in artificial intelligence, will be speaking on developing tools for expert systems. (This is going to be fun, fun, fun.) Trevor Marshall and the Definicon crew, Jack Dennon, Allyn Franklin, and numerous other stars from SaG IV have already thrown their speakers' hats into the ring for this year. Plus, Dave Rand will be back (by cutting short his vacation in Australia). Oops, you're drooling allover this page and I haven't even given you the date, told you that SaG means SemiOfficial Get-together, or mentioned that you should bring the whole family and make a vacation out of SaG (on your way to EXPO in Vancouver BC). Anyway, it's July 24-27, Thursday through Sunday, and except for food, lodging, and rafting, it's free. It's our thanks to you for all your support for the past year. Of course, this year's SaG starts off again with a splash. We'll kick it off with 2 1/2 hour (or all day) white water rafting on Thursday. Technical sessions (including computer co-pilot training) will follow on Friday, Saturday, and Sunday. ,. Lodging SOG V will be held at the college again, and the entire dorm is ours. If you want to be in the center of all the action, order your dorm room early. The dorm's lounge and rec room entertained those 24-hour-a-day SODs. College administrator Ray. Hoyt and his wife, Sue, were dorm parents last year (they were great). They were so impressed with the SaG IV group ("It was the most interesting, most intense group we had all summer,") that they're arranging to be dorm parents again this year. 84 MICRO CORNUCOPIA, #29, April-May 1986 (But since there's a new Hoyt arriving this spring, SOG V will be the only group they'll parent.) But don't feel that you're locked out if you're not a dormie. Campers, trailers, pickups with shells, and people sacking in their. cars had the entire parking area (surrounded by woods) to themselves. There's also a very nice state campground just a few miles· from the college that has everything - a river you can swim in, tent and trailer sites, and solar heated showers. Plus, Bend is a resort community so we have more motel rooms than people. Motel rates run anywhere from $25 per night to $100. Write or call for the free SaG V information pamphlet. SOG Music Friday night we made our own music. It was great, especially Joe Seibert on bagpipes. (People coming out of the mountains for weeks afterwards told of hearing strange wailings echoing about in the most remote areas.) Bring your woodwinds and horns and bagpipes and anything else, and we'll see what we can blow up. Synthesizers and midi controllers should take special note of this. SOG Philosophy The semi-official get-together began simply as a day for Micro C readers to come together and share ideas. At SaG I, we didn't have any scheduled talks or recreation; it was just a day of food (potluck) and commiseration at our house. SOG V will be four days of (semi) organized recreation and technical information held on a college campus. Last year we had 400 + attendees. This year (if you come) we'll no doubt beat that. The most important thing you . bring is your ideas, and it's those ideas that have made SOG unique among computer conferences (and it's those ideas that are bringing George Morrow back for a second round). Finally Enjoy yourself. If you don't already, then come to SaG and learn how. (We're only doing this for your own .good, you know.) David Thompson Editor & Publisher & SOG Attendee See yourself In Bend this summer for three days of technical forums among the pines and junipers on the campus of Central Oregon Community College Thursday, July 24th SOG KICK-OFF Friday" Sunday July 25th- 27th FREE TECHNICAL CONFERENCE Once again we're kickingoff the SOG with white water rafting followed by the kick-off cookout. If you're interested in safe thrills then sign up for one of these professionally guided trips. You'll meet the people who are writing the compilers (C, Modula, Pascal) and the interpreters (PROLOG), who are designing the boards (32032, 68020 ... ), and who are writing the articles. • George Morrow (Morrow Computer~) will be talking about computer directions . • All day - includes transportation from the college, box lunch, 4 112 hours on the lower Deschutes River, and the Kick-off Cookout. • 2 112 hour - includes transportation from the college, I 112 hours on the river, and the cookout. Raft trip prices will be in the SOG registration packet. • Trevor Marshall (Definicon Systems) will be talking in depth about the 68020. • Michael Frieling (AI researcher) will discuss designing expert systems tools. • Allyn Franklin (Drive Masters) will rim a workshop on drive aligning. • And much morel The schedule expands daily. iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii TO REGISTER Call or write for the SOG registration packet. DORM The one dorm has 50 rooms which hold 2 people each. A room for Wednesday night through Sunday noon is only $80 (that's $40/person). If you have your heart set on a dorm room (the center for late-night discussions) call and tell us right away. MICRO CORNUCOPIA P.o. Box 223 Bend, Oregon 97709 (503) 382-5060, 9-5, M-F MICRO CORNUCOPIA, #29, April-May 1986 85 (contii7Ued from page 4) Improving Theory OfOp I have miXed feelings about your Kaypro 4-84 Theory of Operation. For instance, the CLOCK.AZM listing' on pages 12 and 13 doesn't workIn is extremely aggravating to type two pages of assembly listing only to' discover that there's a bug - somewhere. It certainIyprints the word "Tilne:", but it does nothing else~ Another example is the section on page 3 concerned with INTERRUPT DECODE: five lines of text are not enough, ,except to pique your interest! I'd like to make some suggestions. First, a standard typographical solution to the boolean expression NOT is a hyphen-prefix (Le., "VIDCS NOT" becomes ",;VIDCS" as opposed to "VIDCS *" . This is standard iIi. FORTH. Second, I have taken some technical writing courses and can honestly say , that your Theory of Op's overly terse style forces the. reader to concentrate, 'read, and reread far too often. Your "fog index" is unduly high! Also, why not include information on system "enhancements." Not the whole procedure, mind you, but info that can save you and the reader some time. For example, it should be apparent that only people interested in the guts of their machine will purchase this package, so why not explain how the Micro C (or MicroSphere, or Advent, etc.) ROM upgrades work and their benefits? Sure,it sounds like propaganda, but you know that the questions are bound to pop into the reader's mind; accommodate the reader and show that Micro C is indeed the helpful firm that supports its customers/readers. Why not tell them how to add quaddensity drives, a hard disk, ,a RAMdisk, or a color board. Granteq, the costs and' technology are ever-changing, but the questions and info remain the same, basically. " I apologize for ranting a bit, but alas, hindsight is almost invariably 20/20. Peter Vassoff 19603 Bethel Church Rd. Manchester MI 48158 ter than my answers, but here goes. We've had trouble typesetting listings. When we set the 84 Theory of Op, the typesetter we were using ate some characters and translated others. Despite proofing, the problem slipped through. See Figure 1 for the nontypeset version. One of the advantages/disadvantages of publishing a magazine is that nothing stays the same. We've published information on the 2 to 4 upgrade in four magazines and in the Pro-8 manual. If it's frustrating for you, it's doubly frustrating (but exciting, too) for us. I admit we could do a lot better job explaining our products, other people's products, modifications, etc. I have to Advice For Invalid Computer Regarding "Home Care For The Invalid Computer (Part 1)" in Issue 27, page 49, I offer the following algorithm: 1. Check disk drive alignment (unless problem obviously is not disks). 2. Check power supply voltages. 3. Check all connections (David did Figure 1 - Clock.AZM Routine Editor's note: : Your questions and observations are bet- 86 plead poverty of time. Gary, Larry, and I live computers (and Micro C), but there still aren't enough hours. If you, or anyone, would like to volunteer some time working on projects like this, we'd love to hear from you. MICR9 CORNUCOPIA, #29, April-May 1986 .. .. ..•• ..•• .. i····················································· .................. .• ,•• , ••,, ,•• ,•• ,•• , CLOCK.AZM - a self installing interrupt service routine for the real time clock on the Kaypro 4-84 • The interrupt routine resides in hi ram starting at OFF68h. This just misses the top of scratch RAM in the PR08u ROM • , , , Assemble with ZSOMR (disk K25) A>z80mr clock A>load clock ;' ;' •• ;. This routine will work only until the next disk access (and during subsequent disk activity) unless you add an EI instruction at the label CONST in your BIOS. Laine Stump 08/31/84 , ; , • • • • • • • • • • • • • • • ....................................................................... . ESC HIRAM BITPORT CON OUT EQU EQU EQU EQU 1Bh OFF68h 14h 45h ORO 100h LD LD HL,IMOADD DE,HIRAM BC,IMOLEN LD ithis is where interrupt routine will be isystem port for selecting ROM iconsole output jump vector in ROM iload interrupt routine into hi memory LDIR CALL DEFB CALL RET PRINTLOW 'Initializing Real Time Clock •• ',ODh,OAh,O INTCLK iinitialize clock; PIO, etc. ;return to CCP ; j(") Real Time Clock Support Routines lrs 8/29/S4 Equates relating to RTC chip ; CLKADD EQU CLKCTL EQU CLKDAT EQU 20h 22h 24h ;RTC 'register select' (actually PIO A data) iRTC mode control (actually PIO A control) ;RTC data (after proper register selected w/CLKADD) MONTHS DAYS HOURS MINUTES SECONDS 7 6 4 3 2 jRTC registers containing these values (in BCD) EQU EQU EQU EQU EQU go into this somewhat). 4. CLEAN, CLEAN, CLEAN. 5. Check power supply lines with an oscilloscope. Flat lines are nice. Bumps 7.7 milliseconds apart are nice if they account for more than a percent or so of the total voltage. All of these things should be done BEFORE any board swapping is done, or you may find yourself frying yet another board. I know of a case where a service technician was dispatched 500 miles to fix a terminal in an office which had five of them. By the time he was done swapping boards, every terminal in the place was dead. The problem was a defective power supply which was killing PC boards whenever they were swapped in. The diagnostic chart in the book said that for symptom X, you swap board Y. So that's what he did! Another time, we swapped over a dozen chips, all of which had been soldered in originally. The problem was an open capacitor in the power supply, which meant that the system was "glitching" in the valleys between 60 Hz peaks. John Beckett Director of Computer Services Southern College Collegedale TN 37315 j---- INTCLK - initialize clock chip & PIa for interrupts and enable them -j INTCLK: DI CALL DEFB DEFB DEFB DEFB jthis first, just in case PRINTLOW jenable the status line ESC,'B1' jand print the initial 'Time:' message there ESC,'B6',ESC,'C4',ESC,':',24+' ',' ',ESC,'BO',ESC,'Bl' , Time: ' ESC, 'CO' ,ESC, 'C 1 ' ,ESC, 'C6 ' , ESC, 'B4 ' ,0 LD LD LD OTIR C,CLKCTL HL,CLKTBL B,CLKLEN jnow set up to send all the PIa mode control jaddress of table of bytes to send jlength of table jsend i t LD A,llh (CLKADD) ,A A,4 (CLKDAT),A jselect RTC 'interrupt control' register OUT LD OUT LD OUT IN A,lOh (CLKADD),A A, (CLKDAT) jreset interrupt channel on clock jby addressing and inputting from jint. status register LD LD A,CLKVEC.SIIR.8 I,A HI 2 jnow jput jset jand jtell it we want to interrupt every second set up the cptr for running under interrupts page no. of interrupt vector 'table' in I mode 2 interrupts enable them ••••• EI RET control bytes to send to PIa to init. for interrupts j CLKTBL: DEFB jbit control mode, mask follows 11001111b DEFB jbit 6 input, others are output 01000000b DEFB CLKVEC.AND.OFFh jinterrupt vector at this add. + I reg. DEFB jenable ints, OR, active hi. mask follows 10110111b DEFB jinterrupt bit mask, interrupt on bit 6 only 10111111b CLKLEN EQU $-CLKTBL j---- console output routines during init -----------------------------OUTLaW: LD c,6 CALL RET 5 Readers' Skills Network Do you have some kind of list or network to help people with certain skills get together with people who have ideas that need those skills? If so, I would like to add my name to the list. Presently I am bored with what I am doing, and am looking for a creative outlet for my talents. My past experiences are: watch making/clock repair; teaching auto mechanics, machine shop and public speaking; 10 years in machine work PRINTLOW: EX (SP) ,ilL A, (ilL) ilL pop return address, points to text to print get a byte of text, stop on zero byte EX (SP),IIL OR RET LD CALL JR A save new return address is it a zero byte? LD INC Z E,A OUTLOW PRINTLOW Editor's note: Thanks, John. You're absolutely right. In fact, I've been chasing a drive problem (the system wouldn't come up as long as the winchester was installed). The error message indicated that the floppy drive was defective. Then I found that the problem went away when I swapped power supplies, so I started digging into power supplies. But, even with the best supply the problem came back. Replacing the color graphics board finally cured it. Anyway, I've been learning a lot about supplies lately. For instance, on all three of the clone supplies I've dissected so far, the + 12V line draws off the same pool of power that supplies the + 5V. Plus, the designers assumed that regulating the + 5V line was sufficient, so no need to regulate + 12V separately. On some supplies, the + 5V regulator wasn't fast enough to keep changes in load on the 12V line from showing up as glitches on the + 5 volts. The power output from the supply looked fine (average voltages about 0.1 V high and only about 300 mV ripple), but as a last resort I changed supplies. With the new supply the whole system came up and ran perfectly. I tried the marginal supply on other pes and had perfectly solid systems reduced to displaying memory parity errors or complaining of disk access problems. The problems all disappeared when I reinstalled the original supplies. We are definitely on the lookout for really good quality supplies both for clones and for Kaypros so we can pass their names on. Any suggestions? no, so print it (continued next page) (continued next page) MICRO CORNUCOPIA, #29, April-May 1986 87 up to aviation production and tool & die; 3 years as foreman of a NC/CNCI DNC machine shop; running my own engraving business in commercial signage; industrial panel work; wholesale manufacturing; and international mail order. My computer experience goes back to about 1963 when I tinkered with IBM equipment. I really enjoy playing with hardware and programming. I'm just getting started in computer graphics. Paul Meistrell 2341 Pontiac St. Denver CO 80207 Editor's note: Here it is, Paul. Your name's on a lot of lists now. You sound like a natural resource for folks starting any number of new computer related businesses. Anyone interested should contact Paul right away. In fact, anyone else like Paul who has experience and skills to offer to a group effort should drop us a note and we'll let everyone know. That's what Micro C is all about. disk with HM jumpered, but it will with the jumper on MM, where PC's told me to put it. PC's did make one mistake, though. They insisted that the terminator shouid go into the A: drive, while everything published in Micro C says it should go in the last drive on the cable. PC's advice is correct for an IBM (A: is the last drive on the PC), but not for my Kaypro. I'm delighted that the jumpers didn't work quite as you predicted, because it's given me an opportunity to give something back. Robert Long P.O.Box,600 Housatonic MA 01236 marked MM,HM,HS,HL, and IV .. PC's said both MM and IV should be jumpered. I never did find IV, but because Alan Barlow's Kaypro column (issue 27) had said to jumper HM, I suspected PC's was wrong. You confirmed that HM was the right pair to jumper. So I jumpered HM and didn't jumper MX, as per your instructions. Nothing. The computer couldn't even find the A: drive. I discovered that the, jumper on MX must be across pins 1 and 2 to function properly in a multidrive setup. With no jumper at all, it loses its identity. As for HM, the drive won't read the Clock.AZM Routine (continued from page 87) ; ; ; ; ..................................................................... . the following routine resides in Hi RAM. this way it will not be overwritten by programs and will be 'visible' to the CPU no matter which memory bank is switched in ..................................................................... . IMGADD EQU OFFSET EQU $ HIRAM-IMGADD ;label to find routine before it is moved ;method of simulating M80's .PHASE ; ;---- CLKVEC - interrupt vector and interrupt service routine for RTC -----; CLKVEC Getting Jumpers Straight I recently ordered a pair of halfheight Panasonics from PC's Limited in Austin, Texas. The drives I got were marked "National," which is apparently what Panasonics are known as in most of the world. From the printing on the wrapper, I assumed they were manufactured for the domestic Japanese market. There was no documentation of any sort, so I called PC's technical support number to find out about jumpers. The person who took my call had a "who ,cares" attitude and couldn't conceive of anyone mounting more than two drives in a computer. His answers did little to inspire my confidence. In the end, I was simply told they had no more information. There are clusters of jumpers on the Nationals. The first set is marked 1,2,3,4, and MX. MX, as you told me on the phone, is for single-drive installations. PC's told me it should be jumpered. You said it shouldn't be. The second set of clusters has a single pin marked MS, then pairs 88 MICRO CORNUCOPIA, #29, April-May 1986 EQU DEFW $+OFFSET CLKVEC+2 ;this will be label address in Hi memory ;this is into vector, CPU jumps to address it ; contains Clock interrupt service routine. First save cursor position and go to status line. Print time, and then return PUSH PUSH PUSH PUSH IN PUSH SET OUT AF BC DE HL A,CBIrpORT) AF ;save 7,A ;now switch in ROM so we can call ;CONOUT routine there CALL DEFB PRINT jsave cursor, go to stat line, set dim inverse video ESC, 'B6' ,ESC? 'C4' ,ESC, '=' ,24+' ',7+' ',ESC, 'BO' "ESC, 'Bl ',0 LD CALL CALL DEFB A,HOURS PRTNUM PRINT LD CALL CALL DEFB A, MINUTES PRTNUM PRINT (BITPORT),A a~pllcation's environment ;also save whether we were in ROM or RAM ;first output the current hour ':' ,0 ;now the minute '. ',0 LD A, SECONDS jand finally the second CALL PRTNUM CALL PRINT ;now restore to where we were DEFB' ',ESC, ,,CO' ,ESC, 'Cl' ,ESC, ',C6' ,ESC, 'B4',0 LD OUT IN A,lOh (CLKADD) ,A A, (CLKDAT) now acknowledge interrupt to clock by addressing and inputting from into status register Why Learn Z80? I've had a Kaypro 4-84 for about a year. I use it most of the time at work and have written quite a bit of dBASE II code for various jobs and to control my Epson printer. Since I've been considering another system to keep at home (IBM or clone) do you honestly think it would be worth my while to learn the Z80? Do you foresee your publication being as informative to users of MS-DOS and the allied chips as it is for CP/M and the Z80? Next question: I recently installed a satellite system (TYRO). There must be a way to hook up my computer to LD OUT LD OUT A,10110111b (CLKCTL),A A,10111111b (CLKCTL),A POP OUT POP POP POP POP EI RET! AF (BITPORT),A HL DE BC AF it (maybe using an SSB receiver?) and tapping into the wealth of data available. How would one utilize a computer to decode a microwave signal? If anyone has any experience with the necessary interfaces to access satellite signals, I would love to hear from them. John A Fabbri P.O. Box 901 Dayton NV 89403 Editor's Note: I assume you're talking about learning 280 assembly language, since you're no doubt comfortable using CP/M. It depends jnow reset PIO interrupts jreenable the interrupts jand reset interr~pt flip flops j---- PRTNUM - print number in clock chip reg. pointed to by A --------j output will be as ASCII Decimal PRTNUM EQU $+OFFSET OUT (CLKADD),A jselect appropriate clock register IN A, (CLKDAT) jget the number there INTEGRATED BIOS for BIG BOARD II This BIOS adds special features to your Bigboard II floppydisk and/orWinchester system. Read and write any 5" and/or 8" disk formats. 40 formats included (KayPro, Osborne, IBM-PC etc.) Use any type of 5" and/or 8" drive (SS, OS, 40 or 80 tracks). New SYSGEN works between 5" and 8". PUSH AND SRL SRL SRL SRL OR LD CALL AF OFOh A A A A 30h C,A CONOUT jsave it while we convert & output hi nibble jstrip low nibble jshift hi nibble to low POP AND OR LD CALL RET AF OFh 30h C,A CONOUT jdone with hi, now output low jstrip off hi nibble jmake into ASCII decimal pcb less memory chips, includes test software. joutput to screen Price: S99.95 (Avail. 4/86) EQU EX LD INC EX OR RET LD CALL JR $+OFFSET (SP),HL A, (HL) HL (SP),HL A EQU END n- INCLUDES: jmake it ASCII decimal jput in C for CONOUT joutput to video ; j HIGLEN ••• jrestore proper memory bank jrestore application's environment j PRINT on what you want to do. If I were planning to write 8088 assembly language 1'd probably start writing for the 280 first. It's so much simpler that you have half a chance of doing something useful before getting bogged down in the 8088's register mazes. Will we be as informative in the PC arena as the CP/M world? Only time will tell. I'd like to do even better. Just look at PC Tech Journal (three piece suits and reviews of business applications) and you'll see why someone needs to do a Micro C for the clone world. However, we'll not be content with clones. After all, the 32032, 32332, 68000, and 68020 processors (to name a few) are also very, very interesting. (And most of those CP/M machines haven't realized they're dead. Yet!) Bootable 5" disk utility programs, Big Board II manual, and 300 page ZCPR2 manual. Price: S99.95 (5" 40 tr disks) BIG BOARD II 256K RAM SASI Interface pop return address, points to text to print get a byte of text, stop on zero byte save new return address is it a zero byte? for BB I and Xerox 820-1. Inlcudes pcb with components. BIOS. Formatter. and Sysgen. Requires Xebec controller version E or F. Price: S99.95 (8" SS-SD only) Z C,A no, so print it CONOUT PRINT-OFFSET $-IMGADD jend of interrupt service routine. Andy Bakkers de Gervelink 12 .7591 DT Denekamp The Netherlands. Tel: 31-5413-2488 Please pay with US$ Money Order. MC or VISA welcome. MICRO CORNUCOPIA, #29, April-May 1986 89 Real Time Clock Routine For The Kaypro 4 By Larry Fogg Micro C Staff Turbo Pascal routine reads the built-in clock. CONST Year Month Hour Select Mode Data Input Output = 9; = 7; = 4; = = = = = 32; 34; 36; 79; { Clock registers } Day = 6-, Minute = 3; { Register select port } { Mode control port } { Data port } { PIO modes } 15; TYPE Str1 = String[1]; { Str won't accept Char} Str2 = String[2]; VAR Date: String[8]; Time: String[5]; FUNCTION ReadClock (Register: Byte): Str2; { Get data from RTC. Data is stored two digits per register in BCD format } VAR BCDValue, TensValue, OnesValue: Byte; TensAscii, OnesAscii: Str1; BEGIN Port[Select] := Register; BCDValue := Port[Data]; TensValue := BCDValue SHR 4; Str (TensValue, TensAscii); OnesValue := BCDValue AND 15; Str (OnesValue, OnesAscii); ReadClock := TensAscii + OnesAscii; END; {ReadClock} aypro's clock and Kaypro's graphics have a lot in commoni they're nice to have but there's no software support. Richard Brewster recently sent us an SBASIC routine which prints time and date to the Kaypro's screen. After a bit of massaging I carne up with a Turbo Pascal (i.e. usable) translation of Richard's program. The clock's registers hold data in binary coded decimal (BCD) format. This means that the high order four bits must be decoded for the tens digit, and the low order four bits for the ones digit. If you would like to have a SetClock procedure as well, just write a BCD encoding routine and send the results to the year, month, day, hour, minute, and seconds registers. Richard noted that he originally saw errors from CLOCK after each cold boot. It turned out that the 280 PIO was left in input mode and received garbage when the system was powered-down. The final line of the program corrects this by setting the PIO in output mode. K PROGRAM Time (Output); { Reads Kaypro clock chip ( U35 MM58167A ) and displays time and date to console. } ••• { { { { { { { Let the RTC know what data we want } Get the data } Shift the high order nibble down } Convert it to Ascii } Mask the high order nibble } Convert low order nibble to Ascii } Concatenate Tens and Ones } BEGIN {MAIN} Port[Mode] := Output; { Set PIO to output mode } Date := ReadClock (Month) + 'I' + ReadClock (Day) + 'I' + ReadClock (Year); Time:= ReadClock (Hour) + ':' + ReadClock (Minute); Writeln ('Today"s date is : " Date); Writeln ('And the time is : " Time); Port [Mode] := Input; { Set PIO to input mode} END. 90 MICRO CORNUCOPIA, #29, April-May 1986 MAKE YOUR KA YPRO SPECIAL! The Kaypro Disk Library ROMS Pro-8 Version 3 for Kaypro 4·83 41 Disks of Selected Public Domain Software KAYPRO DISK K1 Modem software KAYPRO DISK K23 Fast Terminal software KAYPRO DISK K2 Utilities & New Bye KAYPRO DISK K3 Games KAYPRO DISK K24 MBA SIC Games & Keyboard Translator KAYPRO DISK K4 Adventure KAYPRO DISK K25 Z80 Macro Assembler KAYPRO DISK K5 MX-80 Graphics KAYPRO DISK K26 EPROM Programmer & Character Editor KAYPRO DISK K6 Word Processing Utilities KAYPRO DISK K27 Typing Tutor KAYPRO DISK K28 Modem 730 KAYPRO DISK K7 Small C Vers 2 Compiler KAYPRO DISK K29 Turbo Pascal Games I With Source KAYPRO DISK K8 Small C Vers 2 Source KAYPRO DISK K9 ZCPR KAYPRO DISK K30 Turbo Pascal Games II With Source KAYPRO DISK K10 Assemblers KAYPRO DISK K31 Turbo Bulletin Board KAYPRO DISK Kll Library & Checkbook Programs KAYPRO DISK K32 FORTH-83, much fancier Forth KAYPRO DISK K12 FORTH KAYPRO DISK K33 A super utilities disk KAYPRO DISK K13 Source of fig-FORTH KAYPRO DISK K34 5 games plus sources (mostly Turbo) KAYPRO DISK K14 Smartmodem Program KAYPRO DISK K35 Small C Compiler & Souce - Vers 2.1 KAYPRO DISK K15 Hard Disk Utilities KAYPRO DISK K16 Pascal Compiler KAYPRO DISK K36 Small C Library of 100 functions KAYPRO DISK K17 Z80Toois KAYPRO DISK K37 Utilities Primer KAYPRO DISK K18 System Diagnostics KAY PRO DISK K38 Pascal Runoff Winners 1st - 3rd KAYPRO DISK K19 Prowriter Graphics KAYPRO DISK K20 Color GraphicsRoutines KAYPRO DISK K39 Pascal Runoff Winners 4th - 5th KAYPRO DISK K21 SBASIC Routines & Screen Dump KAYPRO DISK K40 Pascal Runoff Winners 6th KAYPRO DISK K22 ZCPR (Again) KAYPRO DISK K41 Express 1.0 TextEditor ~ ,-,O\N ~~ -o\~~ 1l¢C~\ Kaypro CP/M 5 114" Disks $8.00 each ppd. Features include: 1. Screen dump with selectable dump character. 2. Select slow or fast step rate for each drive. 3. Automatically figures out what type of drive you are using. Plus: User selectable cursor (blinking or not), ignores nulls, and your choice of 1-4 drives of the 191K, 390K, and 784K variety. (Use of 3 or 4 drives requires decoder.) Installation requires no cuts or jumpers. The ROM simply plugs into a Kaypro 4-83 (or 11-83 with a Kaypro 4 processor board). If you have a Kaypro II with the original II processor board then you must do the II to 4 upgrade. See issue #21 for details. Your Kaypro II has the original II board if the monitor ROM (a 20-pin chip with paper stuck to its top) is marked 81-149. The 4 ROM is marked 81232. Kaypro Add·Ons Eight Inch Adaptor Board OK, you asked for it: the 8 inch adapter board for the Kaypro. Now you can have: 1. 4 drives 2. Up to 1.3 meg of storage per disk. 3. Access to SIGM and CPMug software. 4. Super fast data access. The circuit board, ROM, and disk in this package will let your Kaypro run up to four drives. A and B have to be 5" drives, C and D can be either 8" or 5". The eight inch drives can read and write single density, double density, or double-sided double density. Plus, if you have an 84 2 or 4 you get all the Pro-884 MAX features. The 8" adapter board plugs right in (no cuts, jumpers, or soldering - unless you have a Kaypro II, then you have to do a II to 4 upgrade.) You supply the drives, cabinet, and power. S" Adapter Board ............... $190.00 Schematic Packages ~ ~'\ .. for 84 KayPros Pro-884 This ROM lets you run any mix of quad density (784K) drives and double-sided double density drives as A: and B: on you 84 Kaypro. Plus, if you plug-in the decoder board, you· can run up to four drives. Pr0-884MAX The MAX. gives you all the advantages of the Pro-884, plus faster screen scrolling, ZCPR in ROM (you 'warm boot' on any disk, whether it has system tracks or not), screen dump, ctrl-p type printer output, and VT52H/19 terminal emulation in addition to the original ADM3, to name a few. (We worked on this hummer for nearly a year.) If you need more information on the Pro-884s or our '83 compatible ROMS, call, write, or yell for our KayPro .Users Catalog Pro-Monitor ROMS Pro-8 Ver 3 ................ $49.95 Pro-884 ................... $59.95 Pro-884 MAX ............. $79.95 Decoder Board ............. $39.95 Effective April 15, 1986 Order Number 9-5 PST (503) 382-5060 • Technical Information 9-Noon PST Only (503) 382-8048 Finally, a schematic of your processor board, logically laid out on a single 24'~ by 36" sheet, plus a very complete, illustrated, Theory of Operation that's keyed to the schematic. You'll get information that's available nowhere else. KayPro Schematic Packages Kaypro II & 4 (pre-84) .............. $20 Kaypro 10 (pre-84) ................ $20 Kaypro 84 series (II, 4 & 10) ........ $20 SPECIAL PRO·884 NOTE: (And for 8" Adaptor Board) The Pro-884s are sensitive to the version of CP/M you are running. 1. Neither the Pro-884 nor the Pro-884 Max will run on CP/M 2.2U. However, if you can locate a CP/M 2.2F or 2.2G system disk (your dealer should have a copy) you should be able to run our 884 monitors. (Don't try to boot For G before you change monitors.) 2. There are two distinct versions of CP/M 2.2G. Only the Pro-884 Max is sensitive to the version of 2.2G you have - it's the ZCPR in ROM that's the problem. (If you have CP/M 2.2F then you have a Normal CP/M.) So, b~fore ordering the Max, boot up your original system disk and read the sign-on. If it's CP/M 2.2G then we need to know whether it is the high (normal) version or the low (minus) version. To determine your G version (you'll become a G Whiz/): A>DDT L5 (ddt's response) The first line of the response will be a JMP D600 or a JMP D800. The JMP D600 means that you have a low (minus) version, and the JMP D800 means that it's a normal version. When you order your Pro-884 Max, be sure to specify whether you want the normal Max or the minus Max. Otherwise, we'll just guess that you need the normal Max. MICRO CORNUCOPIA, #29, April-May 1986 91 Pascal Problems Repaired The article by John Donovan on "Faster Screen Output With Turbo" in Micro C #26, p. 31, provided a good insight into a great many advanced applications - perhaps it should have been subtitled "Or the First Step to Animation, Windows, Etc." However, Mr. Donovan leads us astray in two places. First, the "ord" function cannot be used with an array of type "char" as he had declared. ASCII values must be used. Second, and even more important: direct assignment between arrays of the SAME type is definitely supported in Pascal; thus, there is no need to place an array inside a record just to assign values to its elements, nor is there any need to assign values from one array to another by using a loop. It can be done in one clean step: ThisArray : == ThatArray;, where the arrays are of the same type. Also, an array can be used directly as a disk file "record" without having to use the special Pascal construction. These seem to be common misconceptions,. since I have read several articles discussing this. Also, at least in Turbo, the "fillchar" procedure allows us to fill any or all of anything (especially good for initializing arrays) with a certain value. If smaller arrays were absolute addressed at different parts of the screen array, then the double "for" loop filling the "scratch" record with L's and R's could have been done using " fillchar" in two steps. I use "fillchar" to initialize an array and prevent garbage problems (unless it has already been initialized using a structured typed constant.) See the Plantz figure. Alan C. Plantz 7817 Hunter's Path Indianapolis IN 46224 Fixing Z80 Sans Heat Sink A letter in Issue #26 prompted me to write. Some clever soul put a heat sink on a Z80B so it would run at 5MHz, but as much as I admire his logic, that is not the best procedure. The trouble is the clock at 5MHz. The Z80 is fussy about nothing except the shape of the clock input. It must be "this and that technical jargon 92 Plantz Figure program ArrayTest; type GlobalArrayType • array (1 •• 4] of integer; const ThatArray GlobalArrayType - (10,20,30,40); (* typed constant to initialize ThatArray *) var This Array GlobalArrayType; : integer; i begin ClrScr; fillchar(ThisArray, si~eof(GlobalArrayType), 0); (* initialize ThisArray so every element is 0 *) writeln('Now the contents of ThisArray ••• '); writeln; for i :- 1 to 4 do write(ThisArray(i]:5); writeln; ThisArray :- ThatArray; (* Note the single statement here, NO for loop is needed to assign each element individually *) writeln('And after assignment, the contents of ThisArray ••• '); writeln; for i :- 1 to 4 do write(ThisArray[i]:5); writeln; end. (30ns rise time max, Vcc -0.6, + 0.3V, etc.)" or the operation of the processor becomes random, more or less. Also, this clock touchiness gets worse with temperature increases. That's why the heat sink works. Unfortunately, the Kaypro computers suffer from a design error that, coupled with the Z80's fussy clock input, works OK at 2.5 and not so OK at 5MHz. The error is U67, the 74HCU04. Change it to a 74HC04 and the trouble will disappear. Probably. The Kaypro's mother, the Big board, had a 74LS04 in this spot. That part did not get close enough to + 5V for the Z80's clock, so a "pull up" transistor was added. Worked fine. The 83 Kaypro had room and holes for the same transistor circuit. You can see it on your board. One quick way to cure heat troubles with 5MHz is to add this transistor circuit, according to Micro C's plans on page 20 of Issue 14. (Editor's note: Read on for the best way to cure the problem.) But somebody at Kaypro had a better idea - use high speed CMOS logic (74HCXX) for the clock inverters. Good idea. Unlike the 74LS TTL parts before it, the HC parts pull all the way up to the power supply "rail." Great. The Z80 clock is satisfied, and no transfer is needed. The mistake was in the 74HC part MICRO CORNUCOPIA, #29, April-May 1986 they chose. 74HCU04 stands for the unbuffered version of the 74HC04, and the U version is the part Kaypro used. At first glance, the unbuffered chip would seem faster, and the specs show that it is - under CMOS conditions. The unbuffered part has one less gate delay than the buffered part and therefore saves a few nanoseconds. The trouble is that this speed advantage only holds when the load (the next gate down the line) is also CMOS. It is not true when the load is NMOS or TTL - like the Z80. The Z80 needs more drive current and that extra current slows down CMOS outputs. The buffered gate (74HC04, no U) has a higher current drive that more than makes up for the slight delay through the gate. If you have heat trouble with the Kaypro 5MHz upgrades, change U67 to 74HC04. I know. I've done a lot of these upgrades in my business, and it is necessary. One other thing. Watch out for long pieces of wire on the clock switch lines. They make a good antenna (which can pick up glitches from common RF) if you don't shield them. But if you do shield them, you might change the clock frequency and rise time because of the capacitance of the cable. Better yet, solder a 74LSOO gate on top of the PCB and switch the clock through its gates with a 5V and ground signal. Bend out all of the pins of a 74LSOO Quad, Two Input NAND gate except 4, 7, and 14. Solder those three to their mates on the 74LS293 in U86. (From here on, 00 stands for the 74LSOO.) Jumper the following pairs: ~O's pin 2 to 293' spin 5; 00' spin 3 to ~O's pin 12; ~O's pin 6 to ~O's pin 13; and then jumper the ~O's pins 14, 10, and 9 together. Take two 2.2K 1/4 watt resistors, connect one between pin 14 and pin 1, the other between pin 14 and pin 5 (on the 74LSOO). The three wires to the switch are then taken from pin 7 of the 74LSOO (which is the center or common switch contact), and pins 1 and 5 of the 74LSOO (which are the two controls for the clock speed). The switched clock output is on pin 11 of the 74LSOO. That output should go through the 74HC04 to the Z80. The above change is meant for machines that have already been modified to 5MHz by the Micro C method. Charles Johnsen Your Computer Works 19704 E Loyola Circle Aurora CO 80013 Pierce Figure - 4-Drive Decoder Circuit U51 13 3 A- LED OFF WHEN MOTOR OFF B- LED ON I "2 74LSI39 ALL OF THE TIME 34 PI N DISK DRIVE CONNECTOR I Ao "2 74LSI39 SPARE Kaypro Mod Using 74LS139 This modification for the Kaypro 284 or 4-84 allows you to install more than two drives. It's basically the same as using Micro C's plug-in Decoder Board, but takes quite a bit more time and uses a different chip. It's also cheaper. Solder a socket into the 16-pin area marked SPARE near the front (center) of the board. Cut the traces going to the floppy disk drive connector, pins 10 and 12 (cut them near the connector). Jumper the following pins on the 74LS139: - pin 15 to pin 16 (to disable the other half of the IC) - pin 14 and pin 13 to pin 8 (also to disable other half) NOTE: Failure to disable the unused half of the LS139 can cause stray noise that can make life unpleasant. Connect wires between the following pins: - U51-6 to LS139 pin 2 - U51-13 to LS139 pin 2 - LS139 pin 4 to pin 6 of disk drive conn. - LS 139 pin 5 to pin 12 pin disk drive conn. - LS 139 pin 6 to pin 10 pin disk drive conn. - LS 139 pin 7 to pin 14 pin disk drive conn. the 34-pin of the 34of the 34of the 34- To select the disk drives only when the motor is on (the LED goes off after an access) connect pin 1 of the LS139 to U54-2. To leave the LEOs as God and Mr. Kay intended, connect pin 1 of the LS139 to pin 8 of the LS139 (ground). NOTE: I found it best to use wirewrap wire for all wiring except the four wires going to the 34-pin disk drive connector. For those, I used 4 strands of ribbon cable to keep them neat. Homebrew Battery Holder I recently had to perform some "surgery" on my 4-84 and its RTC. I have yet to understand why, but the yahoos at Kaypro decided to solder my battery back-up onto the main board. Yesterday, it broke. I was unable to find anyone who carried a battery holder for the oddball lithium battery, so after chewing all my nails off, I settled on a very simple course of action. Using a solder wick, I cleaned up the solder points and forced the broken tabs through the board. I then cut two short lengths of this copper braid and tinned one end of each. Using side cutters, I cut the tinned ends at a slight angle and twisted them slightly, forming a sort of rod or wire. These ends were then inserted into the old holes and soldered down. After tinning the tabs on the ends of the battery, I then bent them at an angle, too. At this point, I used a piece of "Closed-cell Foam Tape" to form a pad where the battery previously sat on the board. Finally, I held the battery gently on the foam and soldered the copper braid to the tinned terminals. (See Vassoff figure.) Although it may sound overly complex, this method offers two advantages over the crazy way the battery was originally mounted: first, to replace the battery I no longer have to desolder directly on the mainboard; second, due to flexibility of both the copper braid and the foamtape base, the system should be far more durable (not to mention forgiving!). Peter Vassoff 19603 Bethel Church Rd Manchester MI 48158 Vassoff Figure - Kaypro 4 Battery Installation Editor's note: The major difference between Troy's mod and those shown in Micro C #20, p. 64, and Micro C #21, p. 42 is that Troy uses a more readily available 74LS139 instead of the 7445 chip. Good work! Troy L. Pierce 22 Fitzwatertown Rd Unit E-7 Willow Grove PA 19090 MICRO CORNUCOPIA, #29, April-May 1986 93 PC RP/M2, A Designer's View Of A CP 1M Emulator Old CP/M programmers never die, they just port their operating systems over to new systems. In this case, Jack and Jim have modified their CP/M replacement to make it run on a clone with a V20 processor. Since we are benchmarking several such CP/M emulators in this issue, it appears to be an excellent time to have them talk about how they put it together. under CP/M 2.2 a random write into an existing data block may result in lost information.) It's a good fix because the right code takes less space than the wrong code. RP/M2 is written entirely in 8080 code, and RCP and RDOS occupy the same memory space as CCP and BDOS. fter studying CCP and BDOS while writing CP 1M Revealed, " we decided to write our own version of CP/M called RP/M. That was in 1982. RCP for "resident console processor" was our name for the CCP, and BDOS became ROOS for "resident disk operating system." RP/M version 1 is essentially identical to CP/M 2.2 except for several additions: 1. Common access to user area zero from all user areas. 2. Paged TYPE display. 3. A "hard disk vector" that keeps non-dismountable disks logged. 4. Batch procedures on any drive. 5. Chaining built into RCP. Then Along Came The V20 As Randy Davis describes in Micro Cornucopia #27, and in Micro/Systems Journal, Nov/Dec 85, the V20 is a fast 8088 that also executes 8080 machine code. It's a perfect match for RP/M2, and we've been shipping systems since October. (We have found one problem - reading Kaypro 4 disks.) The SETDISK utility we supply with PC RP/M2 redefines a floppy drive to any of 60 different CP/M 5.25" formats. Since we do all disk I/O through the PC ROM, we're presently unable to read the back side of a disk formatted by a Kaypro 4, or formatted for a Kaypro 4 by Uniform PC. We can read a Kaypro 4 disk formatted by Media Master and one formatted with our SETDISK. However, right now our approach is to use the singlesided format for exchanges with Kaypros. The Evolution To RP/M2 We got requests from two OEMs for file date and time stamping. Another asked for extended disk addressing range. So in 1984 we started rewriting RCP and RDOS. The resulting system, RP/M2, includes a disk addressing range of over 64 megabytes, and some other features to support large disks, such as hash coded directory access. Also, with the help of Ferrell Moultrie, who kept applying heavy loads to the system and analyzing the results with an ICE (in circuit emulator) we found a good fix for the host buffer management bug that I discussed at SOG IV. (Bob Lurie documented this bug in Microsystems in May of 1983; Comparing The Systems Figure 1 summarizes information on CP/M 2.2 compatible systems gleaned from magazine articles and ads over the past few months. The information on functions "not supported" is mainly from Ted Drude's review that appears in the Feb. 1986 issue of Computer Shopper, page 85. Source Information is the only company we contacted. CPEmulator and UNIDOS are preprocessors reviewed. by Randy Davis in Micro Cornucopia #27. Of these systems, RP/M2 is the only stand-alone operating system. The others run under MS-DOS. Unlike RP/M2, none of the MS-DOS A 94 /I MICRO CORNUCOPIA, #29, April-May 1986 By Jim and Jack Dennon P.O. Box G Warrenton OR 97146 interface type systems that we're aware of supports all of CP/M2.2's BDOS and CBIOS functions. (Editor's note: I believe that Blue Lightnin', a Z80 plug-in board, does support all of these calls.) The Memory Disk PC RP/M2 uses slightly more than 64K of memory. The remaining memory is allocated as a memory disk called "M:" M is available the instant PC RP/M2 is booted up. On a fully populated PC the memory disk will be over half a megabyte and is an excellent place to run assemblies. Just remember to copy files to a real disk before shutting down the system. Terminal Speed Or Color Terminal cursor positioning emulation is built in for a long list of terminals. The IBM display isn't super fast even in nonemulating mode, so the best way to have the kind of terminal you want is to plug the real thing into one of the COM ports and use CONSOLEX to tell PC RP/M 2.2 where it is. At 9600 bps, a real Intertube II, for example, is significantly faster than the IBM display. But if you have a color card, you can use the IBM display and use COLOR to set any combination of text, background, and border colors. CONSOLEX uses the table driven iobyte character I/O redirection facility built into CBIOS88 to redirect console I/O to the selected COM port. READER, PUNCH, and LIST can also be redirected to physical devices: console, COM1, COM2, and LPT1. The redirection table permits installation of a custom driver for other devices. PCPIP PCPIP is a modified version of RPMPIP, a distant relative of CP/M PIP. The modifications allow PCPIP to directly call MS-DOS for displaying Figure 7 - Comparison of CP/M Emulation Packages Package name & vendor type price Hedia Master+ ZP/EM Intersecting ConCepts V20 no DOS ~eq z80 sup yes no CPEmulator Gtek, Inc. CBIOSfunctions not supported . . 08 throughOE IB,IF 1F,25,26,27 UNIDOS HicroSolutions 08 through OE (DOS preprocessor) CP/EM The ICU Group EMULATOR GFI Electronics BDOS functions not supported 1B, 1E, 1F ,20 (DOS preprocessor) V 49.95 Acceler8/16 Intersecting ConCepts 1B, 1F 08)through·•. OE RUN/CPM Micro Interfaces 1B,1F 08 through·.·.OE 1B,1E,20,22,27 08/thro\.ighOE Un/Emulator Weitsman & Wood ~1149.95 yes yes no CP/Mulator Source Information V 99.00 yes yes no • 7,8, 1E,20,28 PC RP/M2 microMethods V 129.00 yes no SE V = software emulation of 8080 and/or = V20/V30 execution of 8080 code the DOS directory, and for reading and writing DOS files. A utility called CD can be used to change the DOS directory. PCPIP has all of RPMPIP's capabilities, including archive copy mode and file compare. For example, you can directly compare an MS-DOS file with a CP/M file. Users familiar with CP/M will feel at home with PC RP/M2. All the standard commands are available and almost all operate as expected. There are some minor differences. For example, no All BnOS and CBIOS functions are supported Z80 execution to erase all files, you have to say so twice, as in: ERA C:*.* C:*.* The TYPE display is paged at 24 lines. You can change the page size, or disable paging. For the next SAVE or program load operation, you can set the TP A first word address to anywhere in memory. For example: . SAVE 0* SAVE 1 ZERO. TMP saves 0000 through OOFF in ZERO.TMP. Swapped disks are automatically relogged, and there's a selectable search path for loading COM files. (The prompt shows the RP/M user number.) You have file date and time stamps. You can run a batch job on any drive. You can have multiple batch streams and can switch from one to another conditionally on the state of a system (continued next page) MICRO CORNUCOPIA, #29, April-May 1986 95 DESIGNER'S VIEW OF CP/M EMULA TOR (continued from page 95) error flag. There's also a flaw table utility for locking out unuseable disk blocks. Hash Codes And Tables The file date and time are kept in the directory in a structure similar to that used in CP/M Plus; the date and time, however, are not encoded. The hash code vectored directory access scheme is different from the large table scheme used in CP/M Plus. RP/M2 uses a hash table of size 1,2,4,8,16,32,64,128, or 256 words. An entry in the hash table is a directory ordinal, or pointer to an entry in the disk directory. The hash code is the sum of characters in the file name, masked to match the size of the hash table. When the hash vectored access fails to find a directory entry, the operation defaults to a linear search starting at the front of the directory. MULTI - USER 68000 BOARD The hash table always holds vectors to the most recently accessed directory entries, and provides immediate access on the second and subsequent references to the same directory entry. Larger hash tables provide accelerated access to larger numbers of files open simultaneously. Even a hash table of size 1 significantly improves performance of a program that makes repeated references to the same directory entry - e.g. for opening and closing a file during database updates. Memory The memory structure of PC RP /M2 follows a conventional CP/M 2.2 arrangement. Page zero holds the warmboot and RDOS entry vectors, and the default fcb and record buffer. User programs start at 0100H. The console processor is at DBOOH, RDOS starts at E300H, and CBIOS begins at F100H. CBIOS The 8080 part of the CBIOS includes a common" data area for communication with the 8088 part of the CBIOS that resides in the next segment. The CBIOS supports floppy disks and the memory disk. At present we access the hard disk only through PCPIP which calls MS-DOS for DOS file access. We're working on a CBIOS that directly accesses the hard disk as a CP/M device. A considerable portIon of the PC RP/ M2 development effort has been directed toward making the full· power of the PC/XT hardware accessible to the 8080 programmer. Direct calls to CBIOS88 can be used to access the entire 20-bit memory space, and the entire 16-bit 110 space of the PC. II FEATURING: • • • • • • • • 8 MHZ 68000 CPU 2 Mega Bytes RAM Memory Mapping / Manager HD 64180 Co-Processor 8 Serial Ports Floppy Controller SCSI / SASI Interface Parallel Printer Port Price: $1500.00 HAWTHORNE TECHNOLOGY 8836 S.E. Stark, Portland, Oregon 97216 (503) 254-2005 96 MICRO CORNUCOPIA, #29, April-May 1986 Interrupt Service - Calling PC ROM BIOS You can directly call any of the PC ROM interrupts. We used this in DPTMOD (source is on the disk), which moves the default ROM BIOS diskette parameter table (DPT) to a buffer. It then modifies the step rate digit from C to D, changes the head settle time from 19H to OFH, then moves the modified DPT to location 0000:0522H. Then it changes the vector· at 0000:0078H to point to the modified table. _M_5.-,11_0S Utilities We include a number of utilities which should make any CP/Mer feel right at home. RPMPIP is, a file copy utility that supports all the disk operations of CPI M's PIP and includes other features. RSTAT is similar to CP/M STAT. RSTAT displays a sorted directory listing with file date and time stamps, displays file sizes, disk capacities, and disk space remaining, changes file attributes, and sets the iobyte. MODEMPC is a Christensen protocol file transfer utility. RTERM installs terminal cursor positioning emulation. RDISK formats PC RP/M2 disks. We use the same SSDD and DSDD formats as CP/M86. SETDISK installs an RSX that extends CBIOS to redefine a floppy drive to a selected CP 1M format so that existing CP/M files can be processed without conversion. KEYBD reconfigures the PC keyboard to U.K., French, German, Italian, Spanish, or DVORAK. COLOR sets the character, background, and border colors, if you have a color card. Refreshing Exceptions Advances in computer technology usually have meant abandoning the past, rewriting code, and reinventing ways to do the same job in the new environment. The V20 gives the old a new lease on life. It's an opportunity for us to continue using our existing software. ••• NOW AVAILABLE for PC-DOS CPM-86 CCPM-86 CPM-BO -SPEED - P'OWER - VERS)\TI'LITY~ EX·PRESS 2.0 FULL SCREEN EDITOR 'H1GH PERFORMANCE AT A FAIR PRICE ,ONLY $29. 95 SBitVersions $34. 95 16BitVersions DOES YOUR TEXT EDITOR REMIND YOU OF A 1949 PACKARD •.•• Stop abusing yourself. It's time to retire that doggy old clunker! YOU DESERVE EXPRESS 2.0, the 2S0-Z of the editor world! EXPRESS 2.0 FEATURES • • • • • • • • • • • • • • • • • • FULL ACCESS TO CP/M USERS AREAS (up to 32) with any editor command! NAMED DIRECTORIES supported on MSDOS VERSION! MEMORY MAPPED VIDEO AVAILABLE FOR IBM PC and PC clones! BUILT-IN CP/M LIKE COMMANDS (RENAME, COPY, ERASE, TYPE, DIR, LOG)! POWERFUL KEYBOARD MACRO'S (as many as you want)! FULLY RECONFIGURABLE COMMAND KEYS (emulate any other editor if you like)! FAST, FAST, FAST SEARCH! TERMINAL DATA BASE•• INSTANTLY configure for over 50 predefined terl1.linals! FILES LARGER THAN MEMORY handled with ease! ' CONTROL and HIGH BIT CHARACTERS maybe entered and edited! DYNAMIC WORD WRAP/UNWRAP. FULL CURSOR CONTROL (and then some) EASY ot SET TAB STOPS • GLOBAL/SELECTIVE/LiTERAL/IGNORE CASE REPLACE FULL BLOCK INSTRUCTIONS including PRINT, SAVE, INCLUDE, MOVE, COPY, DELETE VARIABLE SPEED (FAST!) BI-DIRECTIONAL AUTO SCROLL. GOTO PAGE N / LINE N COMPACT on disk and in RAM. (even the 16 bit versions are only 25k bytes)! NOT COpy PROTECTED! AFFORDABLE•• High performance at a fair price is our motto , EXPRESS 1.0 SAMPLER available FREE on your Local Bulletin Board or for only $10.00 from us. EXPRESS 1.0 is not just a demo. It is a real working editor with enough of the EXPRESS 2.0 features to demonstrate the POWER of EXPRESS. Notes: CP/M-80 version requires a Z-80 CPU running CP/M 2.2 or greater. MSDOS version requires MSDOS/PCDOS 2.0 or higher. We can support too many 5 inch disk formats to list them all. If you can't use one of the listed formats, please try to give us several options. Please allow 4-6 weeks for delivery. Gentlemen .... I'm ready to step up to EXPRESS ... please send the following: _ _ _ copies of EXPRESS 2.0 for CP/M-80 at $29.95 + $5.00 shipping and handling _ _ _ copies of EXPRESS 2.0 for CP/M-86 at $34.95 + $5.00 shipping and handling _ _ _ copies of EXPRESS 2.0 for MS/PCDOS at $34.95 + $5.00 shipping and handling _ _ _ copies of EXPRESS 1.0 for _ _ CP /M-80 __ CP /M-86 __ MSDOS/PCDOS at $10.00 + $2.00 shipping and handling COD - add $3.50 Wash. Residents add .7.8% state sales tax Make check or money order payable to: Shipping information: TCI 17733 205th Ave. NE Woodinville, Washington 98072 Name Address City _ _ _ _ _ _ State _ _ _ ZIP _ __ Phone Day Disk format desired: __' Kaypro 2 SSDD __ Kaypro 2X/IV/10DSDD __ Osborne 1 SSDD __ Osborne 1 SSSD __ Epson QX-10 DSDD __ Other __ Morrow MD2 __ Morrow MD3 _ _ _ Nigbt _ _ _ __ SSDD DSDD 5" MS/PCDOS STD SSDD 5" MS/PCDOS STD DSDD 5" IBM CPM-86 STD SSDD __ 5" Xerox SSSD _ 5" Xerox SSDD __ 5" Xerox DSDD __ Zenith Z90 SSDD _ 8 " SSSD TOMORROW'S COMPUTING INNOVATIONS MICRO CORNUCOPIA, #29, April-May 1986 97 By Gary Entsminger CP/M Emulators, More Pascal Winners, and The Games Works ... CP/M Emulators In some cases you can have your MS-DOS and CP/M, too. I've tried several CP/M emulators with my V20 (for more information about this 8088 substitute see Micro C, Issue 27, pages 4-7), and I'm impressed (some of the time) by at least three of them - RPM2, RUNCPM, and CP/Mulator. All three take advantage of the 8080 instruction set built into the V20, and all three can run under MS-DOS. RPM2 runs as a standalone operating system as well. RUNCPM and CP/Mulator both run from a floppy, hard, or RAM disk and require you to change the .COM to .CPM extension of your CP /M files when running under MS-DOS. RUNCPM also allows you to select different drive formats and execute CP/M programs directly from CP/M disks (as .COM files). When RPM2 boots the PC it becomes a CP/M lookalike operating system, down to every BDOS call. Neither RUNCPM nor CP/Mulator supports all BDOS calls, and consequently can run fewer programs. OUT-THINK (from KAMASOFT), for example, won't work with emulators which don't support BDOS function 32 (Get/Set User Code). CP/Mulator doesn't support this function, and I assume RUNCPM doesn't either, since OUT-THINK won't work with either emulator correctly. But OUTTHINK does work correctly under RPM2. In general, CP/M emulators work with programs written for the 8080, and don't run programs which directly access system hardware to read/write port addresses (for example, communication programs), or ones that use the 280 instruction superset. So a lot of your favorite CP/M programs aren't going to run. Before you buy, ask for a list from the vendor. All three emulators are fast enough 98 ,: to be useful (see Figure 1), even running on a straight vanilla 4.77MHz clone, they're faster than a Kaypro 10. All three come with V20s, replacement instructions, and software. RUNCPM and RPM2 also include CP/M disk emulation programs. Two of the three manuals I used were in beta test form and were terse, but adequate. RPM2's manual is more complete and more technical. RUNCPM focuses more on introductory matters; CP/Mulator provides some good technical information (complete BDOS function differences between CP/Mulator and CP/M, for example). But all three emulators are easy enough to use; you shouldn't have many problems. For RPM2 ($129 with V20) contact - For more info on RUNCPM (costs $99 with V20) contact - KAMASOFT 2525" SW 224th Ave. P.O. Box 5549 Aloha OR 97007 (503) 649-3765 Micro Interfaces Corporation 6824 NW 169th St. Hialeah FL 33015 (800) 637-7226 For info on CP/Mulator (costs $99 with V20) Source Information P.O. Box 2974 Warminster P A 18974 (215) 628-4719 MICRO CORNUCOPIA, #29, April-May 1986 Micro Methods 118 SW 1st, Box G Warrenton OR 97146 (503) 861-1765 OUT-THINK If you were frustrated by the complexity of KAMAS and just want good outline processing without a built-in programming language, try OUTTHINK, a new offering from KAMASOFT. It's $49, and offers an excellent online help menu, fast performance, and complete manual, so it's easy to begin to get organized. Fits most CP/M computers. From - Pascal Update We misplaced a few Pascal Runoff names last issue in the Winn~r' s Circle. But we're trying to make amends - see the names in Figure 2. They were all bonafide contestants in our contest. (One wrote to ask if he 'had to turn in his runoff T-shirt since his name didn't make the first list.) PC Keyboard If you're in the market for a better keyboard for your personal clone, try Datadesk International's IBM style keyboard. For a limited time you can buy their keyboard (nice touch, handsome) with Superkey (from Borland) as a package for $99.95. It's a Micro C deal. List price - $129.95. Contact Datadesk International 7650 Haskell Ave. Ste. A Van Nuys CA 91406 (818) 780-1673 Micro C Bulletin Board We've updated the Micro C bulletin board from TBBS to ROS, so you should get better service. ROS (Remote Operating System) was written by Steve Fox in Turbo Pascal and doesn't require any support software (such as BYE or XMODEM). New programs added this month1. Pascal Runoff winner, PROBE (in the Kaypro area) 2. LIST, a very fast TYPE lookalike (the best TYPE I've used, with line up, line down, page up, and page down in 16 variable colors) (in the MS-DOS area) 3. The source for ROFF4 (in the MSDOS area) 4. Z, a very swift, versatile directory program (in the MS-DOS area) and more. Call (503) 382-7643 and take a look around. To get started after you've signed on, enter ? for the main menu. Enter F for the file system (this also gives you a directory of NEW IN). Enter C for change. Enter MSDOS (Jr KAYPRO, or whatever) for area. And enter- S (and a filename) to have ROS send a file to you. It's easy. The Turbo Game Works Good. No one's watching. I think I'll play another game of Turbo Chess. (The bridge isn't bad either.) With Turbo Pascal source code secrets, strategies, and an excellent manual, it's great fun from Borland International 4585 Scotts Valley Dr Scotts Valley CA 95066 Fast Step Rate Mod For Kaypro 84s If you want to speed up (and quiet) the drives on your Kaypro 84, refer to Micro C, issue 27, page 46, Figure 1, and make these changes 2 goes to U65 pin 13 3 goes to U65 pin 4 U82 is really U44. And that's all the Tidbits worth biting into this issue . ••• MICRO CORNUCOPIA, #29, April-May 1986 99 T-SHIRTS 111fT IDS The following folks are reaching you for only 20 cents per word. If you would like to reach the same audience, send your words and 20 cents for each to Micro Cornucopia. Affordable Engineering Software. Check the Advertiser's Index for our ad in this issue. Call or write for free catalog describing all our products. BV Engineering. 29 Disk Drive Sales & Service. Special Sale - Shugart SA 800-2 $59; MPI 52S 5 1/4" DSDD full ht. $55. TEC FB-501 5 1/4" SSDD half ht. $49. Case w/pwr supply for two 112 ht. drives $59. -- Service -- SA 800/801 $25, SA 850/851 $35, 5 114" SS $30, OS $40, 8" SS $40, OS $50. All drives and service guaranteed for 60 days. Documentation included with drives. Prices do not include parts or shipping. LDL ELECTRONICS, 13392 158th St. N., Jupiter, FL 33478 (305) 747-7384. 29LY Stop Squintingl Let MAGGIE! give your Kaypro a 40+% larger display. Fifteen seconds to install or remove and no tools required. Satisfaction guaranteed. If you really like your little bitty screen better after 10 days, return MAGGIE! for a full refund. Send $12 check or M.O. to Kay-Pal, 107 Hudson Dr., Hendersonville, NC 28739. Allow three weeks for delivery. 29GR Hardware for the Kaypro Computer voice synthesizer unlimited speech $70. EPROM programmers 2516, 2716, 2532, 2732, 2764 $110. General purpose power supply used with EPROM programmers, $30. All hardware comes in kit or bareboard form with software and' schematics. Call or write Busch Computer, 395 Totoket Rd., Northford, CT 06472, (203) 484-0320. 29BU $25 Keyboards for computer builders - 83 keys, full ASCII; upper/lower case, all control characters, numeric pad, caps-lock, repeat, self-test! Brand new, hundreds sold to builders of Apples, Big Boards, Xerox 820s. Parallel output, positive TTL logic, strobe. Uses only 106mA of +5 volts. Custom case available. 90 day warranty unmodified. Keyboard $25. Documentation (21 pgs.)/cable package $5. Spare custom CPU/ROM $4. All 3 ($34 value) $30. UPS additional, Sibs. Call/SASE for detailed spec sheet. Electrovalue Industrial Inc., Box 376-MC, Morris Plains, NJ 07950. (201) 267-1117. TF Public Domain UG Software Rental: CP/M UG Vol 1-92 on 46 8" flippies, $45, SIG/M UG Vol 1-246 on 108 8" flippies, $155. PICONET Vol 1-34 on 17 8" flippies, $25, Pascal-Z UG Vol 1-30 13 8" flippies, $25, KUG (Charlottesville) 55 disks, $65, IBM-PC SIG 1-454 PC-DOS, $475, PC-Blue 1-175 MS-DOS, $185, directory disks $5 PP. Also available on 209 5.25" formats. Rental is for 7 days after receipt with 3 more days grace for return. Credit cards accepted (preferred). Downloading-disk format conversions. Call. User Group Software Automatic Update Service, $7.50 per 2 volume set PP. 619-727-1015 info. 24 hrs. 619-941-0925 9-5. National Public Domain Software Center, 1533 Avohill, Vista, CA 92083. TF TBKUGlDataCOM Super Systems (tm) proudly announces the arrival of the new SUPER System!! The remote multi-user database for the novice, the semi-pro, or seasoned hacker. Let your modem be your guide to the most current public domain for CP/M-80, MS/PC-DOS, TurboDOS, Turbo Pascal, Big Board, MEX, ZCPR3, CP/M86, BASIC, Assembler, Kaypro, WordPro, and many other special interests. We are open 24 hours a day and accept 300, 1200, and 2400 baudrates. This is a multi-user TurboDOS-based S-l00 system featuring state of the art equipment and dedicated to serving all your telecommunications needs. Membership fees are: $35 per year for standard access or $125 per year gets you a VIP membership that includes UNLIMITED system usage and a monthly update disk of CP/M software in Kaypro format. Join over 700 other users who have made the "right" choice. Fees are refundable if you're not satisfied within the first 30 days! Contact Steve' Sanders at: ~KUG/ DataCOM, 2643 Cedarview Court, Clearwater, FL 33519, or call (813) 791-1454/55 by modem and download an application. 30 Drive Cleaning Kit Sale! 8~' only, floppyclene with chemicals and carriers. Reg: $69.95, now $20 each + $2 postage. Datalife Head Cleaning System, Reg. $11.95 and extra head cleaning pack (10) Reg. $20 - now just $6 + $2 postage. National Public Domain, 1533 Avohill Dr., Vista, CA 92084.33 "Getting Started With CBAsIC" - Workbook, tutorhil style for beginners/intermediates in this powerful language. Fundamentals through file handling, user functions, etc. Ends confusion, frustrations! Only $25/U.5. Four Corners Press, Hanover, MA 02339. 30LI For Sale: MK4128N-25 Mostek 128K dynamic RAM chips. Quantity'32. Asking $2.50 ea. Used, but 100% functional. I no longer need them' after upgrading my RAM 'disk. Joseph Prewitt, 8060 Greenwood Court, Terre Haute, IN 47802. (812) 299-8171. 29 100 Turbo Cheques I We have developed the most comprehensive personal checkbook management program on the market today. Professionally developed, easy to use, supports color, hard disks, prints checks, security, controls, extensive screen displays and reports. 125 + page User's Manual. A real value for only $39.95. Makes balancing your checkbook every month a breeze. If not convinced, try our Demo Disk for only $5.00! You'll be pleasantly surprised and you can't lose. If you don't like the Demo, we will refund your money. The Demo price will be credited towards the full version. IBM-PC/XT. CompuTech, Box 7000-309, Redondo Beach, CA 90277. 29FR Computer Doctor - Will repair your SICK computer, drive, etc. Specializing in CP/M, Radio Shack, and IBM machines. Can also program EPROMS. SASE for more info. (314) 243-7160. Compuft?r Doctor, Rt. #2, Box 190, Jackson, MO 63755. 29KR Wanted. Big Board I, 2.5 MHz, working, board only. Garcia, 4325 Ridgepath Dr., Dayton, OH 45424, (513) 2365342. 29GA Micromation 5-100 bus computer. Multiuser, one master two slaves, one Qume DT-8 DSDD and one Fujitsu 2302 20MB hard drive. Sell with or without terminals (adds Regent 25 and Televideo 925). Price $750 - negotiable. Also Xerox 820-II with two SSDD drives and high profile keyboard. Price $475 - negotiable. Malcolm Gray, 1502 Wagon Gap Trail, Houston, TX 77090. (713) 893-1726. 29 XEBEC model #1410E Winchester controllers. Used. Perfect condition. $125. Jim Altman, P.O. Box 4548, Anaheim, CA 92803-4548 (714) 491-8951. 29 For Sale: S-100 Main Frame - 19 slots, active termination, reset button, key locked switch; two 8" DSDD Qume drives in cabinet with power supply; SDSystems SBC 200; SDSystems Expandoram III 64K expandable to 256K memory; SDSystems Versafloppy disk controller; CCS 4 port serial I/O; Coex 64K Static RAM; CP/M 80 all manual, etc. $800. J. Vega, 641 N. Mariposa, L.A., CA 90004, (213) 661-5433. 29 ORDER YOUR MICRO C T-SHIRT TODAY! These user-friendly cream-colored shirts are formatted in mahogany border with black enhanced mode design. The fully integrated system is compatible to size S, M, L, and XL, for only $6.95 ppd. ($8.50 all foreign). BOOKS III Your Fortune in the Micro Computer Business 8086 Coprocessor with 512K RAM for Xerox 820-II. Runs MS-DOS and CP/M 86. Sohl Source. (402) 895-3577. 29S0 Slicer 80186 main and expansion boards, $650 for both. 8" DSDD DC motor drive, $75. Ron Battle, 1011 Yale NE, Albuquerque, NM 87106 (505) 842-8558. 29 For Sale: Xerox 820-11 motherboard - $135; base - $10; monitor - $25; keyboard with metal base & cable, - $32; Shugart SAl004 10 meg HD - $185; SSSD 5 1/4" drive '$38 with 820 drive cable. Western Digital WDl002 OSC Hard Disk controller card - $108; TI 5 meg 5 1/4" full height HD drive - $90; S-l00 10 slot motherbd with connectors - $28; Expandoram,64K RAM - $48; Solid State music video Bd. - $23; Versafioppy II/no ICs - $10. Bob Stricklin, 2225 Arbor Crest, Carrollton, TX 75007, (214) 492-4218. 29 Slicer board' for Sale; Best offer. 90% of parts. NOT assembled. Ken (513) 874-6382 before 10 p:m. EST. 29WI Want to Trade: My RATFOR/C version of Kernighan & Plauger's "Software Tools" for the Pascal version. Mark 'Bohn, 96 S: Holman Way, Golden, CO,80401. 29 , CompuPro 816-Asystem for sale with 380K me~ory, 512K M-drive' H board, 8" drives, Televideo 950 terminal and software. Asking' $4500, make an offer. Contact Donald Howes, NW 1013 State St., Pullman, WA 99163, (509) 3320515 eves andweekerids. 29 MICRO CORNUCOPIA, #29, April-May 1986 • • •• Inside CP/M By David Cortesi $27.95 (US, Can, Mex) $37.95 (Other Foreign) This is one of the best books on CP/M for everyone, users and programmers. It's our reference here at Micro C. Y.lu",ol Celli"c Storied By Victor Wild $26.45 (US, Can, Mex) $36.45 (Other Foreign) This is the best, most complete collection of working for yourself information that we've found. 2 volumes. The Small C Handbook By James Hendrix $17.95 (US, Can, Mex) $22.95 (Other Foreign) If you really want to solve the mysteries of the Small C compiler (or compilers in general) yhu'll want this book. MICRO CORNUCOPIA P.O. Box 223 Bend, Oregon 97709 8" CP/M 80 Disks from Micro Cornucopia USERS DISK 112 I-Two single disk drive copy programs, both with source 2-Crowe Z80 Assembler source 3-New Crowe.COM file, debugged version 4-New CBIOS with parallel print driver & other extensions for CP/M 1.4 & 2.2 5-Disk mapper with source USERS DISK 113 I-EPROM burning software for BB I 2-Reset bit 7 (unWordStar a filel 3-Disk file CRC checker 4-New fast copy program & source 5-DU77, disk inspector/editor 6-FINDBAD, isolates bad disk sectors 7-Print fancy page headings USERS DISK 114 I-CBIOS, custom bios for Tandon drives 2-ZCPR, dynamite CCP checks drive A for missing .COM files; improved commands 3-ZCPRBLOC, identifies CCP location USERS DISK 115 I-CAT, disk cataloging routines 2-Modem 7 for Port A 3-Modem 7 for Port B 4-PACMAN, the arcade game 5-FAST, buffers the disk to speed up assemblies 6-NOLOCK, removes BB 1 shift lock 7-VERIFY, cleanup & verify a flaky disk 8-DUMPX, enhanced for BB I 9-UNLOAD, create .HEX file from .COM file USERS DISK 116 1-REZ, 8080/Z80 disassembler, TDL mnemonics 2-PRINTPRN, prints Crowe listings 3-RUNPAC, run-time utility package for 8080 assembly language programs. Has 51 functions. Includes source which assembles under ASM USERS DISK 117 I-CHNGPFM, PFM monitor mods 2-TERM, terminal routines let you set up BB as simple terminal, as a file receiver, or as a file sender 3-Checkbook balancing package 4-Disk Utilities - copy to memory, from memory, and dump USERS DISK 118 l-BDSCIO, custom BDSC I/O for BB 1 (both.h and .cl 2-YAM, Yet Another Modem program in source & COM form. Turns BB into paging intelligent terminal, complete with printer interface, baud rates to 9600 3-ROFF, text formatter 4-SIGNS, prints large block letters USERS DISK 119 I-ADVENTURE, expanded 550 pt version 2-Keyboard translation program 3-CBIOS, serial & parallel printer interface 4-EPROM programmimg package for BB II, for 2732s USERS DISK 1110 - Lots of Disk Utilities I-REBOOT, sets up the CP/M auto load 2-SWEEP, directory/file transfer routine 3-A, Lets BB I recognize a double sided drive as one drive with 494K of usable space 4-FIX, super disk utility, does everything, much easier to use than DU77 5-Compare files routine 6-UNERA, retrieve erased files 7-FIND, check all drives on system for a file 8-MENU, menu program for CP/M USERS DISK 1111 - Printer Utilities l-Microline 92 printer routine 2-Graphics display package for MX-80 with Graftrax, very fancy 3-Epson MX80 setup for BB I with 59.5K CP/M USERS DISK 1112 - Games for BB I I-ALIENS, a fast, exciting arcade game 2-ZCHESS, chess with a 1-6levellook ahead 3-MASTERMIND, match wits with the computer 4-BIO, Biorhythm charts complete with graphics on the BB I 5-LIFE, so fast it's real animation! 6-CRAPS, see how much you'd lose in Vegas 7-WUMPUS, a caver's delight, kill the Wumpus or be killed 8-PRESSUP, similar to Othello 9-Games, 7 games in one program, includes blackjack, maze and animal USERS DISK 1113 l-ZZSOURCE, disassembles to real Zilog mnemonics 2-EX14, superset of submit or supersub 3-MOVPATCH, lets you use MOVECPM on other copies of CP/M 4-XMON, 3K expanded BB I monitor, use in ROM or as overlay 5-CURSOR, prompts you for cursor char you want 6-UMPIRE, very fancy RAM test 7-ZSIDFIX, display improvement for ZSID 8-PIPPAT, modify PIP so you can reset system from within PIP 9-@, Lets you use the BB as a calculator, including HEX 10-S0RT, sort package written in C80 USERS DISK 1114 - BB II Software l-PR032, latest 2732 reader & programmer 2-SMODEM2, lets BB II talk to Hayes smartmodem 3-GRAFDEMO, demonstrates BB II graphics (in BASlq 4-ATTRTEST, demonstrates BB II graphics (in JRT Pascali 5-INITSIO, initializes port B for 300 or 1200 baud 6-MENU, displays menu of .COM files, enter number to run file 7-SETCLK, sets realtime clock built into BB II 8-PRINT2, modified print which accesses BB II clock 9-BOX, draws a thin line box on screen 10-ALIENS, space invaders arcade game ll-LISTSET, printer interface, auto-enables RTS, ignores DCD USERS DISK 1115 - Word Processing I-EDIT, very fancy line editor similar to EX (Unixl 2-TED, simple minded line editor 3-TTYPE, typing training program written in BASIC 4-TINYPLAN, very simple-minded spreadsheet. 5-C80 Text Utilities 6-CHOP, cuts off file after N bytes 7-ENTAB, replace spaces with tabs where possible 8-MS, double or triple spaces a file to output 9-RTW, removes trailing spaces from file 10-TRUNC, truncates each line to specified length ll-WRAP, wraps at column 80, plus pretty pretty printing, page lis .•• USERS DISK 1116 - BB I Modem Software l-RCPM27, list of U.S. bulletin boards 2-SMODEM, interfaces BB I with Hayes Smartmodem 3-PLINK66, easy to use with non-CP/M host 4-BBPAT, menu selection of BAUD rate, bits/char, parity, & stop bits 5-MODEM 7 +, Modem 7 plus BBPAT,lets you talk to anything from port A CP/M Disks ....... $8.00 each ppd. Effective April 15, 1986 USERS DISK 1117 - Small C Version 2 SMALLC2, this substantially expanded version of Small C now includes for, goto, label, switch (easel; external declarations; new preprocessor commands; expanded I/O includes redirection; initializers; plus 12 new expressions. The I/O and runtime libraries have been greatly expanded (including printfl. Source & documentation on one disk. USERS DISK 1118 - FORTH IFORTH, this is Idaho FORTH which can be burned into ROM or loaded from disk. It replaces the PFM monitor & handles all the monitor functions. USERS DISK 1119 - BB I Double Density New BB I Monitor, BIOS, character ROM, Winchester Interface, ZCPR, and formatter from Trevor Marshall. See BB I expansion article in Issue 1111. USERS DISK 1120 - Assemblers CROWEASM: This is the Crowe assembler modified so that it runs on any CP/M system (including the BB I, BB II, Xerox ... I. LASM: This assembler is similar to the ASM that comes with CP/M except that it can link files at assembly time. PRINTPRN: Print routine for CROWEASM.PRN files. LIBRARY: Utilities which let you combine many files into one, then you can run, type, or extrace any file within the larger system. USERS DISK 1121 - Winchester Utilities BACKUP: Helps you back up the winchester onto multiple floppies. FLOPCOPY: Lets you make floppy copies (with only one floppy drivel. BIGBURST: Backs up a very large winchester file onto multiple floppies. MULTCOPY: Use this like PIP but it prompts you to change disks. Accepts ambiguous file names. MDIR: Displays files in all user areas on selected drive. USERS DISK 622 - Pascal Compiler This is a real Pascal compiler. It supports only a subset of the language (no records, pointers, booleans, reals or complexi but it generates a real .COM file. Everything is on this disk: the compiler, its source, example programs and documentation. USERS DISK 1123 - Xerox Utilities This disk contains Xerox specific utilities including a screen drump from Wayne Suga (with sourcel; modifications for the SWP package including ZCPR, a new monitor, and a clock/calendar from Mitch Mlinar; and Jim Mayhugh's new monitor (see issue 191. A very special disk for Xeroxers. USERS DISK 624 - Prowriter Graphics This is a complete Prowriter printer graphics package written by the same Micro C subscriber who wrote the MX-80 graphics package. Plot points, lines, circles, boxes, and more. Examples, documentation. USERS DISK 625 - ZSO Macro Assembler This is a real Z80 macro assembler I Syntax closely follows RMAC and MAC. Also includes pseudo-ops to support conditional assembly etc. No phase or relocatable code. USERS DISK 626 - BB II CP/M 3_0 Banked BIOS/ Winchester Support CP/M 3.0 Banked BIOS implementation for the BB I. Roy Epperson's software to support the Adaptec ACB-4000 SCSI and the Rodime R204 5' Winchester on the BB II (see issue 6191. Plus more Winchester programs. USERS DISK 627 - BYE Remote CP/M System BYE programs to run your BB I, BB II, OR XEROX 820-1 as a remote CP/M system using a Hayes Smartmodem compatible modem. Includes programs to allow restricted access. USERS DISK 628 - VFILER and Extended Single Density VFILER is a screen-oriented file manipulation utility, similar to SWEEP, CLEAN, .and DISK. Also, Larry Blunk's documentation and software for implementing extended single density (334KI on eight inch disks. USERS DISK 1129 - MODEM740 The latest incarnation of the immortal MODEM7 program. Too many· features to list. Versions for both ports of BB I (Xerox 8201 & BB II. Order Number 9-5 PST (5031382-5060 • Technical Information 9-Noon PST Only (5031382-8048 We Also Have 8" Disks For CP/M 86 Ask For Catalog MICRO CORNUCOPIA, #29, April-May 1986 101 WE'RE CLEARING THEM OUT! BACK ISSUES OF MICRO C Only $1.50 each when you order 6 or more All Foreign $2.00 each for 6 or more (includes surface postage) ISSUE NO. 14 (10/83) BBII Installation The Perfect Terminal Interface To Electronic Typewriter BBI Video Size Video Jitter Fix Slicer Column Begins Kaypro Color Graphics Review 48 pages ISSUE NO.1 (8/81) Power Supply RAM Protection Video Wiggle 1/2PFM,PRN 16 pages ISSUE NO.2 (10/81) Parallel Print Driver Drive Motor Control Shugart Jumpers Program Storage Above PFM 112 PFM, PRN 16 pages ISSUE NO.3 (12/81) 4MHzMods Configuring Modem 7 Safer Formatter Reverse Video Cursor FORTHwords Begins 16 pages ISSUE NO.8 (10/82) Drive Maintenance Interfacing Drives Installing A New BIOS Flippy Floppies C'ing Clearly Begins Xerox 820 Begins 28 pages ISSUE NO.9 (12/82) BBII EPROM Program Relocating Your CP/M Serial Print Driver Big Board I Fixes Bringing Up WordStar Cheap RAM Disk 32 pages ISSUE NO. 10 (2/83) Saving A Flake'~'isk Hooking Win' '.,BII The Disk J~tor 0 JRTFj~ Seri"\,,~ ooard 0 PC::... ISSUE NO.4 (2/82) Keyboard Translation More 4MHz Mods Modems, Lync, and SIOs Undoing CP/M ERASE Keyboard Encoder 20 pages ISSUE NO.5 (4/82) Word Processing Two Great Spells Two Text Editors Double Density Review Scribble, A Formatter 20 pages ISSUE NO.6 (6/82) BBI EPROM Programmer Customize Your Chars Double Density Update Self·Loading ROM Terminal In FORTH 24 pages ISSUE NO.7 (8/82) 6 Reviews Of C Adding 6K of RAM Viewing 50 Hz On Your Own Begins 24 pages 0 Interface aocedures Begins ' 3b~dgeS ISSUE NO. 11 (4/83) BBI Expansion.x BBII Details ~ \ Dyna, RM'O.:lk Review Easier ~ _de Video Cursor PllUW V..Jc Review K'E,.OM ' Column Begins 3b-;;1..ges ISSUE NO. 12 (6/83) 256K ForBBI Bringing Up BBII dBASE II Look At WordStar Double Sided Drives For BBI Packet Radio 5MHz For Kaypro 40 pages ISSUE NO. 13 (8/83) CPIM Disk Directory More 256K For BBI Mini Front Panel Cheap Fast Modem Nevada COBOL Review BBI Printer Interface Kaypro Reverse Video Mod 44 pages ISSUE NO. 15 (12/83) Screen Dump Listing Fixing Serial Ports Playing Adventure SBASIC Columns Begins Upgrading Kaypro II To 4 Upgrading Kaypro 4 To 8 48 pages ISSUE NO. 16 (12/84) Xerox 820 Column Restarts BBI Double Density BBII 5"/8" Interface Fix Kaypro ZCPR Patch Adding Joystick To Color Graphics Recovering Text From Memory 52 pages ISSUE NO. 17 (4/84) Voice Synthesizer 820 RAM Disk Kaypro Morse Code Interface 68000-Based System Review Inside CP/M 86 56 pages ISSUE NO. 18 (6/84) Kaypro EPROM Programmer 110 Byte: A Primer Kaypro Joystick Serial To Parallel Interface Business COBOL 60 pages ISSUE NO. 19 (8/84) Adding Winchester To BBII 6MHz On The BBI Bulletin Boards Track Buffering On Slicer 4MHz For The 820-1 64 pages ISSUE NO. 20 (10/84) HSC 68000 Co-Processor DynaDisk For The BBII Serial Printer On BBI Sans SIO Cheap & Dirty Talker For Kaypro Extended 8" Single Density 72 pages ' ISSUE NO. 21 (12/84) Analog To Digital Interface Installing Turbo Pascal Low Intensity BBI Video Turbo Pascal, The Early Days 80 pages ISSUE NO. 22 (2/85) Xerox 820-11 To A Kaypro-8 Sound Generator For The STD Bus Reviews Of 256K RAM Expansion In The Public Domain Begins 88 pages ISSUE NO. 23 (4/85) Automatic Disk,Relogging Interrupt Driven Serial Printer Low Cost EPROM Eraser Smart Video-Controller Review: MicroSphere RAM Disk Future Tense Begins 88 pages ISSUE NO. 24 (6/85) C'ing Into Turbo Pascal 8" Drives On The Kaypro 48 Lines On A BBI 68000 Vs. 80X86 Soldering: The First Steps 88 pages ISSUE NO. 25 (8/85) Why I Wrote A Debugger The 32·Bit Super Chips Programming The 32032 Modula II RS-232C: The Interface 104 pages ISSUE NO. 26 (10/85) Inside ZCPR3 Two Megabytes On DSI·32 SOGIV The Future Of Computing MS-DOS In The Public Domain Graphics In Turbo Pascal 104 pages BACK ISSUES U.S. Regular Price ......................... $3.00 each 6 or more 1/2 price .......................... $1.50 each Regular Foreign Price (air mail) .............. $5.00 each 6 or more (including Canada) ................ $2.00 each Surface Postage Included If possible, please indicate alternate issue in case we are out of your choice. Order Number 9·5 PST (503) 382·5060 • Technical Information 9·Noon PST Only (503) 382-8048 102 MICRO CORNUCOPIA, #29, April-May 1986 The Micro C MS-DOS Library MS-1 Essential Utilities SWEEP, LU86403, LDIR103, WHEREIS, SQUEEZE, UN SQUEEZE, WASH MS-2 Cheap Assembler & Disassembler CHASM, ASMGEN, MEMBRAIN, FSPOOL, UNWORDST AR, RAMDISK, SDIR, SDIR SOURCE MS-3 Adventure The original and most cussed adventure in C, with source. MS-4 Single User RBBS A decent bulletin board with source. MS-5 File & Directory Utilities UTIL, Z, VTYPE, ST, PROTECT, UN PROTECT MS-6 fig FORTH We combined fig FORTH source (MS-7) with this disk so you get both on one disk for $12.00. MS-8 Super Games CASTLE, a graphic and conversational adventure (note: there's a bug that changes the game once it's been saved). TREKRUN, Star Trek Command adventure, and BOUNCING BABY MS-9 PC Musician, Pascal Games, Calculator You might call this an educational disk. PC MUSICIAN teaches you music while you're writing songs. (They play right on the PC.) 15 PASCAL GAMES with source. The games aren't memorable but they are good examples of Turbo code (we include the source) PROGRAMMER'S CALCULATOR shows the internal workings of a stack, memory, and registers. MS-10 Modems QMODEM and KERMIT MS-11 Multi-User RBBS 12.3 Multi-user Remote Bulletin Board System with source disk (MS-12) included free. MS-13 Editor & Formatter ROFF4, PC-WRITE, and manuals on disk. Very popular freeware. MS-14 FORTH 83 MS-15 Deskmate, Zap, Unerase A sidekick lookalike, disk inspector, and more utilities. MS-16 Piano Man & Other Tunes Turn your keyboard into a piano. MS-17 Arcade Games PANGO, PYRAMID, BRICKS, and more. MS-18 Typing Tutor A nice touch-typing practice tool. Keeps track of your keystrokes, errors, and practice time. Calculates accuracy and words/minute. MS-19 Prolog, XLisp Introductory int~rpreters to improve your artificial intelligence. When ordering, please specify: PC Standard 5 1/4", DS/DD, 360K ............................. $8.00 Kaypro 2000 3 1/2", DS/QD, 720K ......................•....... $8.00 ADVERTISER'S INDEX Advanced Concepts Engineering ..... 25 Ampro Computers ............... 76,77 Andratech ...........•............... 68 Aprotek ............................. 15 BD Software ........................ 39 BV Engineering ..................... 31 Bakkers, Andy ....................... 89 Borland International ... Inside Front Cover Carolina Engineering Labs ........... 73 Cascade Electronics ................. 59 C.C. Software ....................... 44 Computer Helper Industries .......... 54 Computer Journal ................... 61 Computer Surplus Store ............. 19 Computing Technology .............. 42 CompuView ......................... 21 Craig's Computers .................. 67 Data Desk .............. Inside Back Cover The Data Mill ........•............... 67 Decmation .......................... 36 Digital Dynamics .................... 10 Digital Research ..................... 82 Echelon, Inc ..................... 27, 61 EcoSoft ............................. 15 Emerald Microware .................. 26 Epic Sales .......................... 11 ERAC Co ............................. 78 E21 Computer ....................... 68 Ferguson Engineering ............... 65 Hawthorne Technology .............. 96 Holliston Computer ................... 8 The ICU Group ...................... 43 I nteg rand ........................... 83 Intersecting Concepts ............... 34 Kamasoft ............................ 5 Kenmore Computer Technologies .... 58 KYSO Technology .................•. 15 Laboratory Microsystems ............ 64 L-Band Systems ..................... 70 Logitech, Inc ........................ 41 Manx Software ...................... 64 Microcomputer Systems Consultants. 52 Micro Cornucopia .......... 90, 100-103 Micro Interfaces ..................... 46 Micro Methods ...................... 82 Micromint ............................ 7 Microprocessors Unlimited ... " ...... 10 MicroSphere ........................ 80 Micro Supply .................... 22,23 Miken Optical Co .................... 58 Mitek ............................... 37 National Public Domain Software ..... 20 Oliver Computers .................... 68 Orr Corp............................ 37 PC Tech .................... Back Cover Peri ph co ............................ 57 PluPerfect Systems .................. 49 Poor Person Software ............... 71 Qua Tech ........................... 79 SBC Mart .....•..................... 42 Second City Software ................ 53 Servo Computers .................... 17 Slicer ............................... 71 Soft Advances ....................... 31 Source Information .................. 19 Southern Pacific USA ................ 10 Superior Electronics ................. 67 Systems Peripherals Consultants ..... 48 Tomorrow's Computing .............. 97 Unified Software .................... 64 United Products ...................... 1 Viking C Systems .................... 17 Western Wares ...................... 19 Westwind Computers ................ 55 WW Components .................... 75 Order Number 9-5 PST (503) 382·5060 • Technical Information 9-Noon PST Only (503) 382-8048 MICRO CORNUCOPIA, #29, April-May 1986 103 By Gary Entsminger Clones & Bones & Tomes PC Upgrades And·Imperfections I've'had a good time improving my personal· clone this:, month; (Some of us are never satisfied). For you joining late, my PC started as a 4-layerMega~XT. Taiwanese IBM PC-compatible system board (a.mouthful), video. ·and. multi-I/O cards, 2 floppies,· keyboard,. monitor, -and a 135 watt power supply;< In November, it cost me $803, and, I assembled it in an hour. Now I'd pay $40-$100 more for a similar computer and .have to wait longer for delivery otparts. Teac and Mitsubishi drives have gone up in price from.$79.to $100 (or so) each (when you can· find them); main boards .(with 640K on board) are $250ish, a' little spendier: And good monitors and -good keyboards are a bit harder to come .by. If you're discount shopping for Keytronic keyboards, beware - most discounters are selling "keytronic style" not "Keytronic." And keytronic style varies from keyboard to -keyboard. If you're really picky, you should buy where you can test first.· (If it's really a Keytronic, it says Keytronic all over.) More Memory (I Needed It) The first improvement my PC endured was an increase in memory on the main board from 128K to 640K. Memory costs about $10 per 128K, and it's definitely worth it - my most important upgrade. With 640K I can auto-install a 256K RAM disk (to speed up editing and compiling), -add UNIFORM (to read Kaypro, Slicer, or just about any other disk format), Turbo Lightning (to correct my spelling quicker than a first grade teacher), SIDEKICK (for the Notepad and Calculator), and still have enough memory to run a lOOK-plus program. V20 Speedup I swapped my 8088 for a V20, and was pleasantly surprised when the V20 (a CPU containing both 8080 and 8088 instructions) sped up my clone 104 .between 10% and 40%. (For the details of various speed tests, see "Benchmarking Speedy PCs," this issue.) Then, after Larry and Dave decided to swap their PC's 14MHz crystals for 20s, I jumped at the chance to keep up. The new crystal provides a 6.77MHz clock and increases the PC's speed another 5-30%, for an overall speedup of at least 50%. The Norton utility test rated my PC at 1.7 (or not quite twice as fast as an IBM PC). The V20 cost $15; the crystal cost $2. The changes take 15 minutes. But be warned. Changing the crystal isn't a perfect modification. The new clock ·speed creates problems if you have a color graphics board. The board uses the system clock (14.31818MHz) from its plug-in slot to generate the color signal (and the composite B&W). If you change the system crystal to 20MHz, then that's what the color board gets also. The color board doesn't care, but the monitor does, and with the faster horizontal, vertical, and video signals, it gets very confused and very unreadable. (See the speedup article for a simple addition that generates a new 14.31818 for the color board.) Both color and monochrome adapters use 6845 controllers to produce the correct horizontal and vertical sync pulses needed by the CRT, but the monochrome adapter has its own clocK. It couldn't care less what the processor does. Monochrome Is Delightful I switched to a monochrome display, bought a monochrome (TTL) monitor, and. the system runs great. In fact, if you're mainly word processing, a monochrome display is easier to read and easier on the eyes (although you don't get Turbo Lightning in brilliant color). The monochrome display'S high resolution stems from 14 scan lines instead of 8. And if you buy a Hercules (or compatible) card you get both the great text (all 14 scan lines) and great B&W graphics. MICRO CORNUCOPIA, #29, April-May 1986 Most of the software I've tried runs correctly on the Hercules card (WordStar, VEDIT, Turbo Pascal, Turbo Chess, Turbo, etc.). But some programs for sure won't: Bouncing Baby on Micro C MS-DOS disk 8, for example. A monochrome Hercules-compatible card costs $95. A good TTL monitor costs at least $100. We've tried (and like) the Magnavox, Princeton, and NEC low-end models. Taiwanese BIOS If you've been curious about the clone BIOS, here's the latest: the Taiwanese government has decided it's better equipped to generate a clean (legal) ROM BIOS than a Taiwanese computer company would be. According to William M. Raike (BYTE's Japan columnist), ERSO (the Electronics Research and Service Organization) has developed its own PC compatible BIOS which it licenses to' its computer manufacturers. ERSO is sponsored by the Taiwanese government and acts as legal negotiator with the U.S., thus letting small Taiwanese computer companies avoid legal entanglements and get on with the business of making very compatible, dependable, and inexpensive PC parts. Supposedly, by involving itself in the copy market, the Taiwanese government discourages piracy. The Way Of Life Lao Tzu, a famous Oriental born around 600 BC, and looking ahead to our age, wrote a note Knowledge studies others, Wisdom is self-known; Muscle masters brothers, Self-mastery is bone; Content need never borrow ... and IBM, in their wisdom, looking ahead to another coming faster, added: You'll thank us for the memory. • •• RISK FREE 3D-DAY MONEY-BACK GUARANTEE I\NO COMPI\1\BLES * FOR ,{OUR IBM PC. X1, Both Hardware &Software ~ . _ad!5. :AT"I£W ¥.t~ I\RD f\~\} . ,'~#'C~~~. . £ t{£'180 ~~ \»C ft'Nf\~~ \¢\\\ 1\1-Sf'IU~£Rt{£'1®S~,,,~ ~\1S S O\)~ ~ V,O~~ 1/tfo '1J;~n o/V8 5/1J1jffr THE PC 8700 AT-STYLE KEYBOARD INCORPORATES EVERY IMPROVEMENT IBM DESIGNED INTO THEIR ADVANCED "AT" KEYBOARD. QUALITY SO GOOD, IT'S BACKED BY AN UNPRECEDENTED TWO-YEAR WARRANTY! RETAILS ALONE FOR $69.95 CRITICS CHOICE Advanced design features include: • Separate Numeric Keypad simplifies data entry • Status Lights for Cap, Num and Scroll Lock helps eliminate typing errors • Extra-wide Control and Return Keys for ease of use • Return Key placed in "standard typewriter" position for touch typists "The·keyboards construction is solid . .. also quick and responsive to the touch. It is ideal for anyone who wants to or has to replace their PC keyboard . .. At 1129.95 DataDesk's keyboard is a bargain. The PC 8700 keyboard with SuperKey for that price is a steal. " • Selectric layout for Office Standardization • Positive Tactile Feedback • Keyswitches rated for 50 million keystrokes • Made in USA • 2¥ear Warranty Computer Shop Talk, 3-3-86 "DataDesk International has designed a sturdy and handsome keyboard that has a tactile response . .. and bundled with SuperKey is the PC hardware bargain of the year." Charles Humble - BORLAND'S AWARD-WINNING SUPERKEY INCLUDED! GET THIS BESTSELLING KEYBOARD ENHANCER SOFTWARE - VALUED AT $69.95 - AS PART OF THIS AMAZING OFFER AND CAPTURE THE POWER OF MACROS! SuperKey's macro capability is remarkable. It literally turns a thousand keystrokes into one. Features include: • • • • • Exclusive screen data Cut & Paste Screen Privacy and Protection Time & Data Stamping ProKey Compatibility Data Encryption • • • • • Keyboard Lock Keyboard layout customization Integration with SideKick Pull-Down Menus On-Line Help and much, much more! Corporate and Institutional Purchase Agreements Available 7650 Haskell Avenue Suite A Van Nuys, CA 91406 INTERNATIONAL • pc Jr., AT&T and Corona computers require adaptors available at a nominal fee. Call for pricing. SuperKev and SIDEKICK' are registered trademarks of Borland International, Inc. IBM, PC, XT and AT are registered trademarks of International Business Machines Corp. Computer Editor, The Oregonian ORDER NOW - CALL TOLL FREE 800·826·5398; IN CA 800·592·9602 or fill out coupon and include check or credit card number and mail to DataDesk International, 7650 Haskell Ave., Suite A, Van Nuys, CA 91406. 1-----------------; SUl1opMacpo KOVs. I PLEASE RUSH ME_ _KEYBOARD/SUPERKEY BUNDLES AT I $99.95 EACH. PLUS $10 SHIPPING AND HANDLING IN THE U.S.A. : 0 ENCLOSED IS MY CHECK FOR $109.99 FOR EACH BUNDLE ($116.45 FOR CA RES. - SALES TAX INCL.) D VISA D MC NUMBER _ _ _ _ _ _ _ __ 1 EXP. DATE _ _ SIGNATURE _ _ _ _ _ _ _ _ __ NAME _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ I I I I I I I ADDRESS _ _ _ _ _ _ _ _ _ _ _ _ _ __ CITY STATE ZIP_ __ COMPUTER TYPE & MODEL _ _ _ _ _ _ _ _ _ __ * OFFER EXPIRES MAY 31, 1986 All Kits Now Fully Soldered . PLUS PC COMPATABILITY! Features: Kits • 8 MHz.80186 microprocessor with true 16-bit data bus. • True PC compatability with our own custom ROM BIOS and PC cardslots for the video of your choice. a. ~vJ sta. ndard 512K zero wait DRAM, 640K or 1M options. • 8087 numeric coprocessor port. • On-board floppy disk controller for up to four 5%" drives. • On-board SCSI hard disk controller port. Designed, Manufactured and Serviced by: PCI£CH P.O. Box 128 904 North 6th Street Lake City, MN 55041 (612) 345-4555 COD, VISA, MASTER CARD, CERTIFIED""FUNDS • Quick Kit .......................... $ • Full Kit. ........................... $ • Assembled and Tested .............. $ • 112 MEG Add-On .................... $ • XT Style, Enclosure ................. $ • 150 Watt Power Supply ............. $ • 5114" 48 TPI DS 112 Height Floppy Disk Drive ........ $ 8087-2 Coprocessor Board .......... $ ~ ~vJ NEW LOWER PRICES . 625.00 750.00 850.00 150.00 75.00 105.00 125.00 Call Total Solutions: Assembled and Tested Systems • Mono-Chrome System .............. $ 1599.00 Includes: 512K, Power Supply, Enclosures, Keyboard, Monitor, Two Drives, and Printer Port. • Color System. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .... Call . • Quantity Discounts Upon Request • Call For Info on Add-Ons, Hard Disks, Etc.
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.3 Linearized : No XMP Toolkit : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37 Create Date : 2013:07:14 19:20:48-08:00 Modify Date : 2013:07:14 19:38-07:00 Metadata Date : 2013:07:14 19:38-07:00 Producer : Adobe Acrobat 9.55 Paper Capture Plug-in Format : application/pdf Document ID : uuid:fd897181-f509-5846-9715-fe091b3fdd64 Instance ID : uuid:a77989e0-7aca-3b4d-b7e3-bcb23824232c Page Layout : SinglePage Page Mode : UseNone Page Count : 108EXIF Metadata provided by EXIF.tools