Home

ORNUCOPIA

image

Contents

1. miliar and at this juncture polymor phism object oriented programming re ally I mean it gets interesting Static amp Virtual Each object l ve created so far uses static methods When we call a static method the compiler searches for methods one way by backtracking up the hierarchy A fine and dandy way to search for methods unless we create methods that call other methods and we decide to reimplement some of these other methods Once the compiler has backtracked to an ancestor object to find a method it only uses methods from that ancestor or its ancestors if the method is static We need a way to tell the compiler to remember which object was current before it started backtracking Then finding one method in an ancestor the compiler could look for the next method beginning with the calling object or de scendent instead of its ancestor Static methods like static variables are static because the compiler allocates and resolves all references to them at compile time What we re asking the compiler to do is to resolve some refer ences at runtime To resolve references to methods at runtime we create virtual methods by adding the key word virtual to the method and by including a special pro cedure called a constructor within the object But there s a catch A method can t be both static in one object and virtual in another You must anticipate by declaring these methods virtual from
2. Yes No 100 No 100 No No No No Difficult No No 512 20 000 None 0 3 sec 1 sec 2 5 sec Cannot Cannot Cannot 2 sec Cannot 54 95 MICRO CORNUCOPIA 49 Sept Oct 1989 7 Building A Controller The E Easy Way Using The o8HC 05 8 MICRO CORNUCOPIA 49 Sept Oct 1989 MM UO HEEEEEEBEEEEEEEEEEEEEEEEN Not satisfied with undocumented 68000 systems Karl switches to a very well docu mented very low power low chip count controller Sounds like Motorola has a real winner troller unit MCU contains enough EPROM RAM and I O power to solve many controller prob lems Use it with the Motorola 68HCO5PGMR development board to build single chip projects such as bur glar alarms robotics sensors data ac quisition units just about anything you can dream up Take a look at the example design complete with assembly language source code The project provides 11 channels of A D maintains an internal time of day clock controls three LEDs consumes just 30 mA from a battery supply and uses only two ICs Te Motorola 68HC705 micro con The Chip s Hardware The HC705 MCU is the latest addi tion to Motorola s line of 6805 micro con trollers Being CMOS it typically draws about 4 7 mA at 5 0 volts making it ideal for low power e g remote projects The on board 7 7K EPROM and 176 bytes of RAM provide room for surprisingly powerful programs Since each of th
3. If your text editor lets you insert con trol characters then append a D to the code Otherwise fire up a disk editor like EASY ZAP on Micro C user disk MS 15 or even DEBUG if you re desperate and add a D the EOF After a quick rampage through the text editors at Micro C it looks as though most will preserve the D once you ve entered it So you shouldn t have to edit the EOF after every file save Your editor may tack on a Z for good measure but the PostScript interpreter won t care A bit of a bother what I got around the problem by generating PostScript code with a bunch of fprintf statements in C A final putc writes the D EOF You might think it odd to use C to generate a text file for an interpreter But it makes sense in this case since we have to use C anyway to crank out the mas sive amount of text defining each Post Scriptal over 3 5 MB for our cover Binary Images A binary image provides the simplest way to do our first PostScriptal Carol one of our many office clowns thought PostScriptals was a new breakfast cereal Editor s note This is probably the only chance I ll get to tell you that Larry really eats Sugar Frosted Flakes the breakfast of nerds Just like monochrome video a binary PostScript image relates one bit of data to one dot of output So we can control each of the 2540 dots in an inch of L300 out put or each of the 300 dots per inch on our laser printer Figure 1 sh
4. MICRO CORNUCOPIA Editor and Publisher David J Thompson AROUND THE BEND Associate Editors Gary Entsminger Larry Fogg Cary Gatton Contributing Writers Anthony Barcellos Bruce Eckel Michael S Hunt Scott Ladd Laine Stump Advertising amp Distribution Jeff Hopper Accounting Sandy Thompson Order Department Tammy Westfall Graphic Design Carol Steffy MICRO CORNUCOPIA ISSN 0747 587X is published bi monthly for 18 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 18 00 2 yr 12 issues 34 00 3 yr 18 issues 48 00 1 yr Canada amp Mexico 26 00 1 yr Other foreign surface 36 00 1 yr Foreign airmail 50 00 Make all orders payable in U S funds on a US bank please CHANGE OF ADDRESS Please send your old label and new address to MICRO CORNUCOPIA P O Box 223 Bend Oregon 97709 CUSTOMER SERVICE For orders and subscription problems call 503 382 8048 9 am to 5 pm Pacific time M F TECHNICAL ASSISTANCE For help call 503 382 8048 9 am to noon Pacific time M F BBS 24 hrs 300 1200 2400 baud 8 Bits No Parity 1 Stop Bit 503 382 7643 Copyright 1989 by Micro Cornucopia Inc All rights reserved ISSN 0747 587X 4 MICRO CORNUCOPIA 49 Sept Oct 1989 Audit
5. Pascal Objects A Good Lookin Turbo Pascal 5 5 amp An I O Error Handlin Object First it was structures now it s objects What are objects The latest buzz word The ultimate way to write Pascal The best and worst of self modifying code The reason you have to buy a whole new set of libraries Yep That about covers it object oriented muck and know how to you ve been trying to wade through the program in Turbo Pascal you can now take a leisurely step up I believe into the power ful world of object oriented programming OOP object oriented programming s acronym has suddenly become a buzz term engulfed in hype But try not to let that bother you Objects are a very powerful way of con ceptualizing programs Turbo Pascal 5 5 is a great way for Pascal programmers to bypass the buzz and get down to thinkin out objects In short Pascal terms objects are records that hold not only data fields but the proce dures and functions to manipulate the data fields as well In OOP terms we call these pro cedures and functions methods In addition objects can inherit data fields and methods from each other So you can build complex objects easily and quickly from simpler ones Third objects can be polymorphic just like their ancestors in some ways and different in others A new object created from an existing object can use some of the methods it inherits while reimplementing others I
6. dots on a screen that measures around 10 That s something like 200 dpi You can see why I started to daydream about printing the highest resolution fractals ever seen by earthlings Right here on the cover of Micro C too Of course it didn t quite turn out that way So just slide your lawn chairs on up to the campfire and Ill tell you all about it PostScript What s a PostScript anyway you ask And shouldn t it be at the end of this article Not really PostScript is a page description language used to com municate with electronic printing devices PostScript can describe all manner of graphic shapes binary images and printed text in any orientation We use Ventura Publisher to generate PostScript output describing the pages of Micro C I never thought I d be doing anything remotely FORTH like but you can t talk about PostScript without at least men tioning FORTH That s because Post Script like FORTH is a stack oriented language Pascal C and many other high level languages might say c atb where a b and c all have distinct loca tions in memory apart from the stack But in PostScript we have a b add Here a and b get pushed onto the stack we invoke the addition operator and the result c ends up on the top of the stack Just like an HP calculator or any other RPN device Simple but different eee Ga4a GEEEEEEEEEEEEMEEMEMEEEEN PostScript strives to be d
7. A2D Enter with A D channel number in ACC Returns analog value Assumes chip select line to A D chip is driven by Note that the value returned by A2D corresponds to the most recent previous channel number transmitted not the current Therefore unless you know for a fact that the last channel number you sent was the one you want to read now you had better call this routine twice using the same SPSR CLEAR SPIF 3 PORTC PULL CHIP SELECT LINE LOW MOVE CHANNEL NUMBER TO HIGH NYBBLE SPDR SEND CHANNEL TO SPI 7 SPSR SPIFLP 3 PORTC WAIT UNTIL COMPLETE RELEASE CHIP SELECT SPDR GET VALUE RETURNED and may draw significantly more cur rent Talk About Support Motorola is really supporting the 6805 family I purchased the PGMR develop ment board through my local Motorola distributor for less than its normal 168 05 a promotion by Motorola Even at list this development board is a bar gain Any shop building custom MCU projects should check out this system I have mentioned the FREEWARE BBS often Motorola sponsors this BBS as a way to distribute technical information software support tools and literature updates You can access the BBS at 512 891 3733 It uses the standard eight bits no parity one stop bit at 300 1200 or 2400 baud The BBS carries a variety of well writ ten software modules for many different 68xx x machines For example you can find the source code for the Motorola BUFFALO moni
8. Los Gatos CA 95030 408 395 6600 FAX 354 4260 XenoCopy PC lets your IBM compatible PC read write format over 350 other floppy Don t struggle with serial communications disk formats Don t pay per disk charges 3 2 2 o gt Q a gt Q i ET C a XENOFONT 49 95 video are clearly print screen images saved XenoFont A is a memory resident background TSR program that with XenoFont A XenoFont B can also be used to output to disk allows you to capture and save to disk the data of the screen you want The XenoFont package currently includes XenoFont A XenoFont B to print You can save as many screens as you want XenoFont produces faithful high quality text screen printouts with and the necessary fonts attention to detail in the fonts used in printing The complete PC character set is fully supported Bold face and reverse distinguished The screen printouts produced by XenoFont are ideal for use in Software documentation and other writing about computer related subjects XenoFont B is then used to translate and To Order Contact Xx lt ENGSRET 2210 SIXTH STREET BERKELEY CA 84710 415 644 9366 Reader Service Number 39 MICRO CORNUCOPIA 49 Sept Oct 1989 47 Micro Cornucopia Schematics MICRO CORNUCOPIA XT SCHEMATIC 5V A RNI 4 7K Em SN lOHLNOO sna sS3s4QQ0v WNY3LX3 SNS VLVG VNN3LX3 At last you can plumb the myste
9. V GND Reprinted from the Programmer Board User s Manual with permission from Motorola ho o 3 7 7 9 8 7 5 4 EUSNSS 10 MICRO CORNUCOPIA i49 Sept Oct 1989 single accumulator and single index reg ister each hold only eight bits The fixed position stack wraps after only 64 bytes The entire address space is a mere 8192 bytes Quite a change from my 68000 The more I used the instruction set and studied the internal design the more respect I gained for the chip s developers This stripped down model offers plenty of power for the jobs it will be asked to do Ten addressing modes with heavy emphasis on bit manipulation give you lots of control over the many I O regis ters The flexible interrupt and timing systems move much of the clock watch ing and baby sitting duties into hard ware freeing up the CPU Using the SPI and SCI for real world communications amplifies the chip s power considerably These systems handle sophisticated interface jobs smoothly with minimum CPU time Even the pint sized stack won t get in your way Since a subroutine call uses two bytes and an interrupt only costs five the stack provides plenty of elbow room Keeping the stack size small frees up more of the valuable zero page RAM the stack runs from FF down to CO CAPITAL for your programs Accessing zero page RAM saves a cycle per instruction since the CPU knows the operand s address lies in the lowes
10. VEDIT Jr 29 VEDIT 69 VEDIT PLUS 185 FREE Evaluation Copy _ Call 1 800 45 VEDIT Pull Down menus Yes No No Pop Up ASCII table Yes No No Keystroke macros 1004 1 No Regular Expressions Yes Yes No Cut and Paste buffers 36 1 1 Text book markers 10 10 No Undo keystroke by keystroke Yes Yes No Undo line by line Yes No No Normal max Undo levels 500 1000 30 300 Variable tab positions Yes Yes No Configurable keyboard Yes Yes No Integrated mouse support Yes No Yes FILE LIMITS Edit files larger memory Yes Yes Difficult Maximum line length gt 8096 512 65 535 Maximum lines file 8 388 607 4 65535 265 535 COMPILER SUPPORT None Menu driven Yes No Select Compiler options Menu Difficult Support Include files Yes No BENCHMARKS 50K FILE Simple search 0 2 sec 1 sec 1 sec Save and continue 1 sec 2 sec 2 sec 1000 replacements 3 sec 19 sec 17 sec BENCHMARKS 3 MEG FILE Simple search 140min 1 36 min Cannot Save and continue 1 05 min 3 28 min Cannot 60 000 replacements 3 18 min 1 44 hour Cannot Block column copy 40 x 200 2 sec 30 sec Cannot Insert 1 Meg file in middle of 1 Meg file 1 111 min 15 3 min Cannot PRICE 69 195 75 CompuView 1955 Pauline Blvd Ann Arbor MI 48103 Free evaluation disk is fully functional and can edit small files Reader Service Number 7 313 996 1299 Fax 313 996 1308 Compare Features and Speed VEDIT BRIEF 2 10 Norton 1 3 QEdit 2 07
11. cal tape to keep them from touching as you push them onto the pins The physical mounting of the pack is up to you Some people have used peel and stick velcro also available at Radio Batteries Disks And Drives Shack to stick the battery pack to the ceiling of the case and a thin piece of plastic tape covered rubber foam under the pack to protect the motherboard I used a thin 16 alum inum strip about 1 wide and 5 long and placed one end under the modem support and the other under the old battery pack holder Thin foam under the nicad pack protects the mother board That s it Carefully reassemble the two halves of the case don t pinch the flat cable that connects the LCD screen to the motherboard Reformat the D drive and run the batteries down to shutdown then charge them for at least 24 hours with the original charger After that you should get 8 10 hours of total life between charges Ordinarily you should double the recharge time to about 16 hours Periphex Inc 149 Palmer Rd Southbury CT 06488 203 264 3985 Guruka Singh Khalsa Sierra On Line P O Box 485 Coarsegold CA 93644 voice 209 683 4468 data 209 683 2084 CIS ID 71500 34 Traveling With Computers And Disks What s the effect of airport security on disks Will the system erase or dam age data I ve heard people answer both yes and no but no one could say why So I decided to do a little research I started this q
12. 1 Motorol li ripheral Data Volume otorola publi MSP 50 300 CPS 9 cation DL139 M68HCO05PGMR Programmer Board MSP 55 300 CPS 15 User s Manual 2 Motorola publication M68HCO05PGMR2 DI CASCADE ELECTRONICS INC ROUTE 1 BOX 8 RANDOLPH MN 55065 507 645 7997 Please ADD Shipping on all Orders COD Add 3 00 Credit Cards ADD 5 MN Add 6 Sales Tax Subject to change Reader Service Number 15 MICRO CORNUCOPIA 49 Sept Oct 1989 15 PostScriptals Ultimate Fractals Via PostScript A Cover Story Larry s created the ultimate fractal 2540 dots per inch Unfortunately our print shop couldn t reproduce that kind of resolution so we toned it down for the cover Here s how Larry created it t s hard to say when the notion first occurred notions have a habit of sneaking in the door when I m not paying attention and later announcing their presence with a rude Where s dinner But sometime in the not too distant past very high resolution printed output and fractals got linked up in my head See the good folks at Salem Type the ones responsible for typesetting Micro C use a Linotype Linotronic 300 capable of printing 2540 dots per inch That metal monster digests PostScript quite happily and didn t I see some PostScript manuals 16 MICRO CORNUCOPIA 49 Sept Oct 1989 lying around the office somewhere Think of it 2540 dpi Figure one of them fancy graphics cards displays 2K
13. In spite of it all I find myself think ing What if there were an attachment to the phone line that could detect a single isolated ring and then turn on the power to the PC If you called back immediately the PC would answer This way you could share the line with an answering machine What if the PC would turn itself on Then at 3 a m click beep PC dials connects to remote computer download upload hangup print maybe turn off silence What if you called it LATER ON since the PC programs itself to come on later What if this time the picture was in color Hook it up to your printer port but it doesn t affect printing A few lines in the AUTOEXEC and the PC knows if it s turning on for an automat ic telecom database inquiry or for a user sitting at the console New applications for realtors stock brokers BBS addicts football players housewives MR MOX the next generation Clearly there is an opportu nity here Maybe just one more release Around the Bend I gave you the details about the problem but people had questions so I ll give em again First you ll have to understand that getting valid service information on hard drives is about as easy as swiping memos from the CIA So I make do with a rumor here an upset cus tomer there A while back I started hearing grumbling about hard drive reformatters The common complaint was that drives didn t seem to work as well after
14. Pop up Menus x Context Sensitive Help Lots of low level functions Introductory Price 69 95 Plus 5 00 shipping 10 00 outside US CA residents please add sales tax Business Computer Services 1800 S Robertson Blvd Suite 206 Los Angeles CA 90035 VISA MC orders 213 836 5026 D emo disk available 10 00 Reader Service Number 155 WHITNEY EDITOR 39 Small and fast Uses all available memory Split screen editing Configurable keyboard Regular expression search One key compile Features for writing documentation Condensed Outiine display Runs on IBM PC s AT s and PS 2 s USA shipping amp handling 3 Outside USA 15 CA residents add sales tax Whitney Software Inc P O Box 4999 Walnut Creek CA 94596 415 933 9019 Reader Service Number 164 A Micro Ad is the inexpensive way to reach over 22 000 technical folks like yourself To place a Micro Ad just print out your message make it short and sweet and mail it to Micro C We ll typeset your ad no charge and run it in the next available issue You can also send camera ready copy Rates 99 for 1 time 267 for three times 474 for 6 times a best buy at only 79 per insertion Full payment must accompany ad Each ad space is 2 V4 inches by 1 3 inches THE DISK ACCELERATOR EASY to Install Cache up to 32 MEGS of EXTENDED and or EXPANDED Buffers up to 26 DEVICE driven drives ORDER NOW 69 95 800 25 FLASH SOFTWARE MASTERS 63
15. Since IBM and Microsoft are not providing leadership in setting stand ards the major software developers should Some suggestions for guidelines include the assignment of hot keys des ignation of interrupts to be taken over chaining strategies from one handler to another and procedure for removal of resident programs Will it ever work It seems unlikely The technology is changing too fast By the time a set of standards are proposed and accepted they ll probably be out dated Until all TSRs can coexist peace fully the best hope is for all of us to stay informed Can t Afford A PostScript rinter NOW YOU CAN Print PostScript Language Text and Graphics On S ANY Printer PostScript Language Interpreter for the IBM PC GoScript Software the Low Cost PostScript Language Printing Solution Choose the one that fits YOUR needs GoScript 195 With 13 Fonts GoScript Plus 395 With 35 Fonts Both include our High Quality Scalable Outline Fonts Includes Drivers for NEC Pinwriter HP LaserJet DeskJet PaintJet Canon LBP 8ll BubbleJet BJ130 Epson LQ and FX Toshiba 24 Pin Fujitsu DL 24 Pin Panasonic KX 24 Pin IBM ProPrinter Quickwriter Quietwriter ORDER TODAY Contact Your Local Dealer or call the LaserGo Order Line 800 451 0088 outside Calif In Canada Contact CDP Communications Toronto ON TEL 416 323 9666 FAX 416 323 3878 Exclusive European Distributors Graphic Scien
16. dBase and obese compatibile indes amp data files Version 4 0 6 ee ee ee 260 MEWEL extensible window and event library by Magma Software message passing amp object oriented SAA compatible dialog editor 250 TurboTEX Release 2 0 HP PS dot drivers CM fonts La TEX MetaFont eee ee 250 Greenleaf Data Windows windows menus data entry interactive form csiga peaty compiler 5 20 49 a Rostro as 220 Greenleaf Communications Library interrupt mode modem control KON XO specify compiles vu ty ia Setanta boos AM 175 QuickGeometry Library large collection of mathematics graphics display amp DXF subroutines for CAD CAM CAE CNC 170 Sherlock C de ugging aid Whe Oh a Pala besa Zee ae Tel neh quu TE EAE MEE 170 CBTree B tree driver multiple variable length keys 4 4 4 46 oo oso morcm yo o E woe hec o He ey e D US 165 AT BIOS Kit roll your own BIOS with this complete set of basic input output functions for ATs 6 6 lle 160 Greenleaf Functions 296 useful C functions all DOS services peo Compiler 1 5 2 9 aa row e oa ore eum A dde ie NL ES 160 WKS Library Version 2 0 C program interface to Lotus 1 2 3 dBase Me ipe 4 Quatro amp Clipper sn 155 OS 88 U x like operating system many tools cross development from MS DOS s s s e e aoe e rne 150 ME Version 2 1 programmer s editor with C like macro language by Magma Software Version 1 31 st
17. mylOhandler s method report see Figure 1 uses a Blaise Toolbox proce dure to write a message in a window IOCheck calls report if it finds an error Now suppose you re satisfied with IOCheck but don t want to incur the overhead of creating and destroying a window You can create your own ob ject yourIOhandler which inherits IO Check but not report Because report is virtual the compiler knows to keep track of the current object the one cal ling IOCheck Then when IOCheck calls report the compiler will begin searching for report by backtracking from yourlOhandler the descendent not from the ancestor myIOhandler where it found IOCheck First lets look at your object yourlOhandler which consists of everything from mylOhandler except your new report yourlOhandler object myIOhandler constructor init procedure report virtual end Now recall the order in which the compiler looks for methods when methods are static Let s say you call IO Check from yourlOhandler Since IO Check is an inherited method the com piler finds it in an ancestor myIO handler and effectively executes IO Check there Now IOCheck see Figure 1 calls re port If report is static the compiler uses the report in myIOhandler If report is virtual the compiler re members that yourlOhandler called IO Check and begins backtracking from yourIOhandler So it will execute report in yourIOhandler not myIOhandler M
18. storage oscilloscope with 2048 measured points each 100 nanoseconds long We set the output data word at hex CC55 so that the high order byte could be recog nized from the low order byte With the feedback connected to I O CS16 and an instruction of OUT DX AX the hex CC55 transferred to the output of the chips with a single IOW pulse as expected With the I O CS16 disconnected Fig ure 2B shows the IOW line had two pulses At the first IOW pulse the 16 bit data transferred to the 16 bit output in proper order both high and low bytes At the second pulse the high order data 84 MICRO CORNUCOPIA 49 Sept Oct 1989 Figure 2 AT Bus Activity With and Without I O CS16 lOW398 I O CS16 IlOW3008 I O CS16 1OW381 AQ 1 2 Microseconds transferred to the low order byte of the output The word went to the 8 low order output lines in a byte serial proce dure 55 followed by CC If the interface was wired to handle it the byte serial transfer could be used to transfer a 16 bit word in two 8 bit bytes to the low order output lines The address line changes as described earlier could be used to clock two 8 bit latches The logic analyzer showed CC in the high order byte during part of the sec ond IOW pulse but the data changed to FF part way through Apparently some display terminal controllers used this 2 byte serial transfer to load 16 bit words into their 8 bit memories Port Addresses Output to
19. ture That s the main reason you purchase a reformatter The heads drift away from the original tracks When you reformat you rewrite the tracks where the heads are However the heads may be in one place after a seek from 0 and in a slightly different place after step ping just once What began as a fix for slight misalignment could actually make the problem worse At least that s how I read it So If you have a half height drive with a stepper motor for head position an even number of heads running on a Western Digital con troller and you find it takes an hour or more to do a nondestruc tive reformat Well I think I d back off all the data and follow up with a low level reformat and copy all the data back Might be enough reason to get an AT eh Games Okay enough serious stuff how about a light game of chess An oxymoron for sure I ve tried several chess pro grams but the Chessmaster 2100 has the best graphics the best teaching mode and it has a database of classic games Want to step back through one of your old games to see where you went wrong Fine Want the computer to suggest the next move Fine just tell it how much time it has to ex plore the possibilities Want to know which positions can be attacked by the opponent Want to see your legal moves You can use a mouse or the keyboard to select and move pieces and you do it just like you would on a real chessboard You can select a top down
20. with or without the ferris wheel and the barkers t was one of those classic county faires Hey big fella win this stuffed panda for your little sweetheart Hey big fella win this little sweetheart for your stuffed panda Walk away with these prizes we re giving them away today we can t take them with us Three balls for just a quarter There were also the smells caramel corn corn dogs bubbling in rancid oil fresh sawdust and Queen Anne s Lace Great place to hide from the battles of hi tech Grab a snow cone grape and feel like 12 again Electronic shredder get your elec tronic shredder here Step right up this is the kind of file protection you can t be without The barker wore a pair of the brightest green pants I d ever seen My first reaction was to flee after all how many 12 year olds are into shred ders Probably none and certainly not more than once But the adult side of me was curious how this slicker was going to sell a computer product to farm folks As a small crowd of overalls gathered I edged in next to a large fellow wearing huge red suspenders This is the latest greatest invention Keeps the neighbors the bank the wife the IRS even the government out of your old data files With this dramatic break through you don t just throw away infor mation you shred it into electronic his tory Lemme see the shavin s said red suspenders The wife s real handy
21. 1 find by MicroC Staff All keyboards XT AT switchable Prices are subject to change without notice Shipping CHARGES will be added BUILDING YOUR OWN CLONE V2 1 FREE BOOKLET 90 day warranty 30 day money back subject to restrictions Tech Calls 503 388 1194 Hours Monday Friday 9 00 5 30 VERY HIGH PERFORMANCE Processors Memory and Display Adapters The X24 High performance processor e 120r 16 MHz 80286 with NO WAIT STATES Small size XT heigkt and length passive bus design 1to 4 Mbyte 0 wait state dynamic memory Fully AT compatible Award BIOS Runs DOS versions 2 2 and later Xenix and OS 2 The X24 combines the best of motherboard and backplane designs in a 10096 AT compatible system Incor porating a 16 MHz 80286 the X24 processor is designed to operate with the PC Tech Advanced System Mother board which contains the peripheral interfaces hard disk floppy disk two serial ports and a parallel port The X24 processor can also be used with other totally passive bus backplanes Most critical components including the microprocessor and up to 4 megabytes of fast memory are contained on a single PC size plug in card This allows the processor and main system memory to be serviced or upgraded without disturbing other peripherals such as serial ports and disk drives PC Tech X24 and ASMB The PC Tech Advanced System Motherboard e Built in IDE interface for AT interface type hard drives e Ful
22. 27512 7006 E eee TEK 491 10MH 40 GHz EAE 4000 MC68000 8 CPU 000s ee OG Elsa UE ee ES QU Biomation aveform Rcrdr 195 Z80CPU 75 Z80A CPU 1 50 Biomation 8100 2 Channel ZBOCTC occ cccccecccccecececes 1 50 x SPECIAL x F PIGDUA LOI ASI I ue Z80A PIO 2 00 Z80A SIO 5 00 IBM PS2 Model 25 Freight mE 8089 3 cesses 550 HP1600A 1607A Logic Aniyzr 595 80C85A 450 8088 680 damaged Works perfect 550 MISC cra PA RES 2 00 SPEGIL Optroni MHz FreaCntr 95 8251 1 50 8253 5 1 50 SPECIAL x Das Royal Function Gon 210A n 198 8255 2 3 50 8255 5 2 50 AT 80286 6 CPU BOARD ot II n with reset and mono color switch DMM ds 0 0 550 Connector for KB Battery amp SPKR MINIMUM ORDER 15 00 1793 6 00 Phoenix Bios TERMS VISA MasterCard Certified tested with Award 3 03 Checks Money Order NO COD Visa 6MHz can be upgraded to 8 or 10MHz and MasterCard add 3 Personal checks must clear BEFORE we ship SPECIAL x Used with backplane add memory board I O board etc Include shipping charges California External 3 Floppy Drive 720K Top onLY 99 residents add 7 Sales Tax For Loading 5V Only w Docs 55 more information please call WIT sises 7 00 Reader Service Number 93 MICRO CORNUCOPIA 49 Sept Oct 1989 49 By Scott Robert Ladd 705 West Virginia Gunnison CO 81230 303 641 6438 Computer Life Creating Mutations
23. 40MS 290 type whether it s on the Motorola 65 Meg RLL 65MS 275 development board or on the Hitachi 65 Meg SCSI 65MS 325 Plggyback version you have quite a 85 Meg RLL 28MS 310 eee ae 85 Meg SCSI 28MS 370 Enc rata N 40 Meg MFM 28MS 310 P e E E en 80 Meg MFM 28MS 410 p dopo e NDA BE ST 4144R 122 Meg RLL FH 28MS 500 available with more I O lines fewer I O g lines more fast less fast more internal RAM less internal RAM You get the Listed above are refurbished SEAGATE picture hard drives Warranty on these units For more information on the Hitachi is 90 days or the remainder of the 68P05 contact Phil Clyde at United Pro factory warranty whichever is greater ducts 206 682 5025 or Most drives have six 6 months plus remaining warranty Hitachi America Ltd 2210 O Toole Ave THE ABOVE DRIVES SUBJECT TO STOCK San Jose CA 95131 408 435 8300 ALL SALES FINAL ON REBURISHED DRIVES Additional Information Controllers and cables in stock CMOS NMOS Special Functions Data Please call for current price Motorola publication DL130 Technical Summary MC68HC705C8 Motorola publication BR594 D CITIZEN PRINTERS M68HCO05 Microcontroller Applications 120D 120 CPS 9 Guide No Motorola publication number available contact the Motorola Literature 122D CLE Pa A TRIBUTE 124 24 PIN 9 Distribution Center address above TRIBUTE 224 24 PIN 15 Microprocessor Microcontroller and Pe MSP 45 240 CPS 15 ipheral Data V
24. 5 volts or drop below 0 volts you can damage the hardware The challenge of conditioning the dig ital input signals is to take the voltage from the outside world and turn it into something the board can make sense of and which won t do damage We can do this easily with a voltage divider see Figure 1 A voltage divider is simply two resis tors in series We connect the bottom re sistor to ground and the top to the input voltage The center point will be some where between the input voltage and ground You can adjust its value by changing the values of the resistors Either check it with a voltmeter or use the equation Vout Vin R2 R1 R2 A voltage divider only works if the input voltage doesn t go below zero since it only reduces the magnitude of the input voltage The voltage divider MICRO CORNUCOPIA 49 Sept Oct 1989 43 doesn t prevent the input voltage from going negative If the input signal goes below ground you can fix it with a simple op amp cir cuit called a differencial amplifier see Figure 2 Op amps or operational am plifiers are inexpensive amplifiers on a chip which are indispensable for all types of signal conditioning I ve introduced op amps in my book Computer Interfacing with Pascal amp C available from Micro Cornucopia for 30 Digital Outputs The signals from digital output lines are also usually TTL signals This means that whatever device you turn on and off
25. Amber Graphics Monitor 1299 949 EGA ADD 400 EGA ADD 400 40M HD ADD 150 40M HD ADD 150 10 MHz ADD 50 5 amp 10 MHz ADD 21 KAYPRO EQUIPMENT BARGAINS We Repair CPM Kaypros 9 Green Monitor 83 50 Replacement Power Supply 50 IC S 9 Green Monitor 84 K16 60 Drivetek 2 6M FD 75 81 189 Video Pal 15 00 9 Amber CRT 45 Keyboard 75 CPM COMPUTERS 81 194 RAM Pal s 15 00 PRO 8 Mod to your board 149 K4 83 350 K2 84 81 Series Char Gen ROMs Host Interface Board B4 NN 425 KAX euius 81 Series Monitor ROMs CPU amp RAM amp MISC 41256 12 7 50 41256 15 6 00 4164 10 2 50 4164 12 2 10 4164 15 2 00 4164 20 1 25 MK48202B 20 0 05 10 00 SWITCHERS 5V 9 5A 12V 3 8A 12V 8A 39 00 SVIA 12VI2A 12VI 4A TEST EQUIPMENT OSCILLOSCOPES TEK 7403N 7A18N 7B50A 60 MHz 650 TEK 465B Dual Trace 100 MHz 1395 TEK 2215A Dual Trace 60 MHz 850 Scope Probe x1 x10 100MHz 2B jS eS TECH see iex pego denar o SU T SVHOA Loose to ERR uS USM338 50MHz Dual Trace Th a uS PO SVIQOA se eecseeeeetees Delayed Sweep asis 145 21 enn T 2 Dis e PAA EE NE ANALYZERS 27256 5 25
26. HERE IDENTICAL TO MAIN N PROC IN POPUP ASM ex MAIN ENDP come 1CH vector point here CHECK PROC NEAR Sos STI PUSH PUSH MOV DS AX ASSUME DS IVT KEYED OFFSET MAIN TIMER OFFSET CHECK TIMER 21 cS ay PUE called CHECK is invoked 18 2 Saree ENABLE INTERRUPTS SAVE REGISTERS SOURCE SEGMENT eros 10 mvtEmRUP VECTOR TABLE INSTALL NEW VECTOR INSTALL NEW TIMER VECTOR ENABLE INTERRUPTS S V UO T SAVE TO END OF CHECK PROCEDURE o n i TSR Q A gt POPUP A gt DEBUG D0 24 27 0000 0024 4D 20 OE 06 Interrupt 9H should still point to 060E 204DH Once loaded RENEGADE assures that its handler has first claim to all keystrokes It not only recaptures the keyboard interrupt vector but denies POPUP any opportunity for activation What happens if two resident pro grams attempt similar strategies to take over INT ICH The last program loaded is the one whose handler is invoked 18 2 times per second In this game the pro gram loaded last has the advantage Now you can appreciate why memory resident utilities such as SideKick Super Key and Prokey insist they must be loaded last I tried loading SideKick an aggressive user of five interrupts followed by RE NEGADE The result was chaos with the hot keys giving unpredictable and strange screens even though interest ingly enough the system didn t crash Ev
27. ISSUE 4 2 82 Keyboard Translation More 4 MHz Mods Modems Lync and S10s Undoing CP M ERASE 20 pages ISSUE 5 4 82 Two Text Editors Double Density Review 20 pages ISSUE 6 6 82 BB EPROM Programmer Customize Your Chars Double Density Update 24 pages ISSUE 7 8 82 6 Reviews Of C Adding 6K Of RAM On Your Own Begins 24 pages ISSUE 8 10 82 SOLD OUT ISSUE 9 12 82 BBII EPROM Program Relocating Your CP M Serial Print Driver Big Board Fixes 32 pages ISSUE 10 2 83 ISSUE 11 4 83 SOLD OUT ISSUE 12 6 83 Bringing Up BBII Double Sided Drives for BBI Packet Radio 5 MHz for Kaypro 40 pages ISSUE 13 8 83 CP M Disk Directory More 256K for BBI Mini Front Panel Cheap Fast Modem BBI Printer Interface Kaypro Reverse Video Mod 44 pages ISSUE 14 10 83 BBII Installation The Perfect Terminal BBI Video Size Video Jitter Fix Kaypro Color Graphics Review 48 pages ISSUE 15 12 83 Screen Dump Listing Fixing Serial Ports Playing Adventure Upgrading Kaypro II To 4 Upgrading Kaypro 4 To 8 48 pages ISSUE 16 2 84 Xerox 820 Column Restarts BB Double Density BBII 5 8 Interface Fix Kaypro ZCPR Patch Adding Joystick To Color Graphics Recovering Text From Memory 52 pages ISSUE 17 4 84 Voice Synthesizer Kaypro Morse Code Interface 68000 Based System Review Inside CP M 86 56 pages ISSUE 18 6 84 Kaypro EPROM Programmer I O Byte A Primer Kaypr
28. ROM for processing Our handler then calls INT 16H to determine the latest keystroke s If you press both shift keys simul taneously the processor branches to the routine that stores the current screen Then escape returns you to the current program The screen you just stored will now pop up whenever you press both shift keys When you finish viewing the stored screen escape restores the current screen To store a new screen press the Alt and right shift keys Again the escape key returns control to the parent pro gram POPUP saves two screens the current application screen you ll return to and the stored screen Storing a complete screen demands a significant block of computer memory The storing of a color graphic screen consumes 4000 bytes as configured POPUP works with CGA systems whereas the entire POPUP pro gram requires about 8200 bytes As you can see the two stored screens account for 98 of the memory allocated to POPUP POPUP is an example of a well be haved resident program it does not at tempt to sabotage other programs But what if you install a second resident pro gram and it also seeks control of the key board interrupt The last program loaded will intercept the keystrokes first and then chain them to the previously loaded TSR A problem would arise if both pro grams attempted to use the same hot keys progran to save Screen EGMENT AT on RG 9H 4 SEGMENT PARA PUBLIC C
29. Selecting A Talking Computer For ABlind Friend Writing Software For The Blind File Transfer Via The Parallel Port The LIMBO Project Part Two PCX Compatibility A 68000 Based Multitasking Kernel The Very Early Days of Computing eee ADVER Reader Service 72 Acquired Intelligence 160 Annabooks 4 Austin Codeworks 147 Berry Computer 155 Business Computer Service Capital Software Cascade Electronics CC Software CompuView 163 Copy Technologies 158 Cottage Resources 143 Covox Inc 8 Datadesk 133 DATArx 10 Emerald Microware 135 Epoch Data 93 Erac Company Issue 49 112 Garrison Peter 11 HaltedSpecialties 156 Heath 22 Integrand 149 Information Modes 154 JRT Systems 126 Komputerwerk 136 Kore Inc 91 153 Lattice 144 Lasergo 42 McTek Systems Micro Cornucopia 37 Microprocessors Unltd 2 Microsphere Inside Back Cover 110 NuMega Technologies i Contact Advertiser Directly 129 Research Group 142 RJSwantek Inc 162 Semi Disk Systems Inc 127 SemWare 106 Software Masters 40 Star K 152 Stony Brook 62 V Communications 124 Wenham Software 164 Whitney Software 39 XenoSoft When you write for information please tell these folks you read about their products in Micro Cornucopia wet with Computer Order From Micro Cornucopia PO Box 223 Bend OR 97709 1 800 888 8087 with Pascal amp C Now Available From Micro C Compute
30. Sued o NextSrtId m 0 done iz bg ahaa if srtStatArz J srtState m Gensrtst_ NV then begin NextSrtId a done z true i FEptatAFT J ancecace gt GenSrtSt REL _ til G gt aax LSRTS OR done function Poea word boolean begin ME SAEC srtlId lt MAX SRTS AND srtId gt 0 then if SrtStatArr srtId srtState lt gt GenSrtSt Nv then ValidSrtId true else Validsrtid i false end procedure Clearsrtra srera E orate begin uuu if srtId lt MAX SRTS AND dertid 2 0 then extStatArr sctId srtState GenSrtSt NV procedure Descend var rec recen word yar j is word x Se o var srtld z m var srtStetus gt viis srtStatus GensztBegin key datalen seti function GenSrtBeginF war kay dataLen word 5 var srt d erar word for P 1 to srtKeyArr srtId nbrKeys do artstatAzr artld keyLen c2srtStatArr srtId keyLen osrtKeyArr srtId key j length o srtStatArr srtId nbrRec 0 srtStatArr srtIid srtState im GenSrtSt REL r Gensrtnegia i GenSrtErxr NM end else begin ClearSrtId srtId GenSrtBeginE Dm GenSrtErr TMK end z ui end p o Dui bee else GenSrtBeginF GenSrtErr MSE end K procedure GenSrtRelease var rec srtid word var srtStatus werd begin p srtStatus GenSrtReleaser rec extra end ot ir um function GenSrtReleaseF var rec srtid word var data key tkey d
31. System Setup Typically they ll bring in a PLC con nect the I O and then use a PC compat ible to generate the program This may seem opposite of normal wisdom wiring before programming but once the I O is connected you can do all reconfigura tion through the LDP program Once the program has been downloaded to the controller you can disconnect the PC However for maxi MI any companies make hardened IBM PC AT compatibles for industrial users sealed cases shock mounted hard disks and super heavy duty power supplies to support extra expansion cards In dirty or wet environments they use membrane keyboards mum control you can leave the PC con nected and let it serve as a gateway into a network When the programmable logic con troller is running you can use the IBM PC to monitor its activities The IBM PC can force I O on or off which really helps during troubleshooting It can also examine and change the PLC registers PLC Hardware Let s examine a typical PLC CPU and its method of operation The CPU designates a block of memory as the I O image area This block holds the status of all the inputs and outputs The I O image is checked at the beginning of each program scan When the program needs to energize an output for instance it loads the new status into a reserved section of memory called the output image area At the end of the scan the processor checks output image area an
32. Yuck What would have happened if Ward Christianson had made XModem shareware I don t mean to say that I don t like shareware some of it PC Write PC Outline Procomm FST Modula 2 etc is excellent and worth more than the authors charge But 99 of the shareware I ve seen is crap pure and simple Somebody writes a program and distributes it with a request for money Often the program is badly documented buggy or just downright useless Why distribute it if it isn t any good Don t people have pride in their work Or are they just interested in a quick buck Somehow I think the latter attitude is becoming more and more common as time passes That s why all the source code which ap pears in this column is public domain I d appreciate credit for it if you use it merely as a courtesy If l m going to publish it though I expect people to be able to use it if they want to C EXPLORATIONS Life This part of the column is going to eat space again As usual something came up which changed my plans for this issue I was going to talk about in finite precision math and methods of calculating pi to an astounding number of digits That idea will have to wait I m building it as a C class library and it will use some very sophisticated algorithms Also I need to do a bit of brushing up on calculus So I came up with something different and much more interesting Computers have been used fo
33. a good day they yield 5 hours running time assuming no disk accesses Periphex sells a set of 4 high capacity C cells that will power the T1000 for up to 10 hours after a 16 18 hour recharge You don t need to be a brain surgeon to mount these batteries but you should be careful You ll need 1 The four Periphex C cells The C cells shrink wrapped into a block with two leads welded in place cost about 35 If you ask Periphex they ll ship the battery pack with wires already on the tabs If you call and ask for the battery pack for the T1000 modification they ll know just what you want They even send instructions and a proper piece of cushioning foam right along with the nicad pack 2 A soldering iron or gun about 45 watts 3 Two female crimp on connectors commonly used to connect to blade type auto electrical systems When you look at the end of these connectors you see a shape like this Radio Shack sells a package of eight female quick disconnects 64 3039 for just 99 The Toshiba batteries mount in a plastic tray that takes up a lot of room in the battery compartment of the ma chine C cells are slightly bigger than sub Cs so you can t use the plastic tray Keep the old batteries and tray in case of emergencies or example if you must return your T1000 to Toshiba for service Toshiba batteries come with two red wires on one corner and two black wires on the other end Match this ar rangement i
34. all that meaningless bull I will give you a bit of that in fact What I really want to do is show you a few macros that might give you a feel for the flavor of Brief and maybe lead you to thoughts about some of the possible uses of Brief and its macro language over and above just plain text editing But first a few praises and whines Intelligent Indenting I always thought that an intelligent indenting editor would be either too in telligent or too stupid for me Of course nearly every editor these days has an indent mode where hitting enter places you on the next line at the posi tion of the first letter on the previous line Somehow it just seemed like a pro gram would either not recognize every case or would force my programming style into something I didn t like Brief s intelligent indenting package for the C language mildly surprised me There was only one case where it wouldn t match my own preferences for indenting It was able to recognize all the constructs I gave it and placed me in the proper position when I hit enter For example when I typed if junk 25 lt enter gt it automatically placed the cursor at the next tab stop in from the position of if on the previous line as shown by the underscore If I then typed a single 58 MICRO CORNUCOPIA 49 Sept Oct 1989 Fuss Brief has tons of features and is very fast its most important aspect is the macro language statement fol
35. and RS 232 port remain connected your prototype only needs to provide interface circuitry The PGMR can even serve as a low volume production facility You simply plug a 2764 EPROM containing your finished program into the on board 28 pin socket Next reconfigure the PGMR board to perform an automatic copy on reset Put an erased MCU into the socket apply all voltages including Vpp and bring the PGMR board out of reset Firmware in the erased MCU copies the 2764 s contents into the MCU s EPROM 9 DIAGNOSIIGS The Complete Diagnostics Solution for Your PC XT PC AT or Compatible INCLUDES PC XT System Diagnostic Software DRIVE TESTS Complete diagnostics for Hard and Floppy drives including controller cards Tests read write and format capability as well as seek timings hysteresis and rotation timings 1 0 PORTS For both parallel and serial ports confirms internal and external loopback capabilities at all baud rates and configurations MEMORY Perforrns over eight different tests to check standard extended and expanded memory KEYBOARD Verifies that all keys send correct key codes including shift CNTL and ALT modes CPU amp NUMERIC COPROCESSOR Verifies that all single and multiple instructions perform correctly and accurately as well as testing all internal registers VIDEO DISPLAY Checks video controller cards Confirms attributes graphics colors if applicable and CRT alignme
36. and everything else on your hard disk Viruses however are more sophisticated since they attempt to propagate Viruses generally bide their time until they determine that their pro geny have infected enough targets to carry on the strain Thanks to continuing advances by sociopathic computer users now we have reports that archives can be used as Trojan Horses to transport viruses past your watchful eyes There may be something to it though uninformed panic has probably caused some of the concern Here s how it should work During archive extraction comments are dis played that a deranged mind has al tered to contain nonstandard escape codes PKZIP and LHARC both permit comments in their file formats The escape codes then redefine your keys so that the next time you try to use the DIR command you actually invoke a FORMAT of your hard disk Plus self extracting archives could do imme diate damage Slick Not much of a danger how ever unless you use ANSI SYS as your console driver Otherwise the escape codes cannot redefine your keyboard Furthermore BBS operators have al ready started to report precautionary steps that users can take to counter the slim dangers that such archives may offer The simplest way is to examine the archive before extracting it searching with a utility for dangerous command strings Of course you could just yank the device ansisys line from your CONFIG SYS file Are you really
37. and queues ee 4 4 ee e eee eer oer nn 20 DO Processor general purpose text translator ee ee eom oe oe onn 20 ata Protein Sequences over 10 000 sequences includes demo disk of Pearson FAST A programs lcs 60 Smithsonian Astronomical Observatory Subset right ascension declination amp magnitude of 258 997 stars c 60 Moby Words 500 000 words amp phrases 9 000 stars 15 000 names we ee es 55 U S Cities names amp longitude latitude of 32 000 U S cities and 6 000 state boundary points lle 35 The World Digitized 100 000 longitude latitude of world country boundaries llle 30 KST Fonts 13 200 characters in 139 mixed fonts specify TEX or bitmap format clle 30 USNO Interactive Computer Ephemeris high precision moon sun planet amp star positions ren 30 NBS Hershey Fonts 1 377 stroke characters in 14 fonts 4 2 4 4 es 15 U S Map 15 701 points of state boundaries pw esr ete cR roro IESU Ne XR Rode p nece e ge es Aci do c APA 15 The Austin Code Works Voice 512 258 0785 11100 Leafwood Lane acwlinfo uunet uu net BBS 512 258 8831 Austin Texas 78750 3409 USA FAX 512 258 1942 Free surface shipping for cash in advance For delivery in Texas add 796 MasterCard VISA Reader Service Number 4 MICRO CORNUCOPIA 49 Sept Oct 1989 45 There are two common ways to build filters Passive filters
38. before issues 39 and 42 Log onto our BBS or get the issue disk for a look at the complete program Figure 2 a mixture of pseudo code and C shows the steps necessary to fill a byte with 8 points of the image and print the byte to a file fprintf conveniently AUMABIE RA OS 2 AT PRICE OF ONLY 54 95 QEdit ADVANCED The fast easy to use fully featured text If you are looking for the right combination of price and value in a text editor then give QEdit a try At ONLY 554 95 anda money back guarantee you just can t go wrong QEditis fast easy to use and simple to install At the same time you get all of these features and more ll Completely configurable in cluding keyboard and colors E Edit as many files simultaneously as will fit in memory E Open up to eight windows E 99 scratch buffers for cut and chick editor at an affordable price EDITOR paste or template operations E Exit to DOS or a DOS shell from within QEdit E Pop Down menu system and customizable Help Screen E Column Blocks E Easy to use macro capability including keyboard recording E Wordwrap and paragraph reformat capabilities B Recover deleted text E Automatic indentation for C programming E Import files and export blocks E Locate matching braces and parentheses E Execute command line compilers from within QEdit 6 This small blazing fast editor lets program instructions memos letters an
39. changes to prevent further entry of records If you used a sort method other than the binary tree insertion this would be the appropriate procedure to initiate the ac tual sort I choose the binary tree insertion sort be cause it works naturally with the record at a time loading of SOR It s also a natural lead into next issue s topic GenSrtRetrieve Use this to get your data back from the black hole you ve dumped it into This re trieves the data from the binary tree and moves it back into the calling routine s varia ble The procedure GenBinRetDelSmRec stands for return and then delete the smallest record from the binary tree GenSrtEnd This deletes any records remaining in the tree and returns the srtId to a not valid sta tus making it available to another sort MICRO CORNUCOPIA 49 Sept Oct 1989 77 GenSrtStat This routine returns the status record for the passed srtld It s great for debug ging GenSrtMsg This procedure provides a text inter pretation of the error messages and sort states Miscellaneous GenSort allows up to MAX SRTS sorts at one time I ve found this feature very useful when reading data from several files and preparing several re ports GenSort does little error checking The addition of more data types such as integer and real is necessary for this to be a really useful tool As always the Turbo Pascal 5 0 and Modula 2 code for the two units along with sample programs ar
40. character set standard to another on a specified I O channel last week Columnar cut and paste saved me at least half an hour of retyping columnar data in a different order No I don t have Brief for Xenix I do most of my work under DOS and then use the Xenix doscp command to move it onto the Xenix partition Other Nice Things Brief does all kinds of other nice things too So many I can t mention them all here A few examples Brief can swap itself out to EMS RAMDisk or disk when you escape to DOS to ex ecute a DOS command This frees up all but 3K of your RAM for use by the command It also allows you to specify which directory to put backup files in so that for example all backups go into a single directory for ease of erasing Finally you can specify a macro package to load for files with different extensions that s how it handles the C indenting It does this by setting an en vironment variable called BPACKAGES The keyboard assignments of these macros are kept local to the window that the file is in For example you can have a C file in one window which is using smart in denting while a DOC file in another window uses word wrap Bad Things BOO HISSSSS The main deficiency of Brief that kept me away for such a long time was its tiled windows a window not al lowed to partially conceal another win dow Even though I know that over lapped windows don t magically make the screen capable of hold
41. consist of resistors capacitors and in some situations in ductors Simple low pass filters are cheap and easy to make from resistors and capacitors see Figure 4 but they don t have very sharp corners and are thus ap propriate only when the frequency ele ments you want to remove are far into the stop band For example if you want to sample a DC signal you d commonly use a low pass RC filter to remove 60 Hz noise generated by household AC power The optional connector boards which come with both the AD1000 and PCL 712 have spaces on the circuit board where you can solder resistors and capacitors to form low pass filters Active filters use op amps resistors and capacitors Active filters are much more precise and have much sharper corners than passive filters so the frequency elements you want to remove can be much closer to the frequency ele ments you want to keep Op amps are fairly cheap so an active filter isn t much more expensive than a passive filter although the design of an active filter is slightly more complex An excellent tutorial on both passive and ac tive filter design is Introduction to Filter Theory by Johnson Hilburn and Johnson You can now buy a switched capaci tor filter which fits on a single chip Since its less susceptible to the drift found in ordinary components it s more accurate over long periods of timc Single Vs Double ended Converters Both the AD1000 and the PCL 712 have sin
42. data segment DS to zero A gt DEBUG RDS DS 0000 S 0 L FFFF EB OE 53 54 41 59 20 52 0000 61E0 0000 8F6F Ignore the last address retieved by the search command If you re using DOS 2 10 the program s code begins at 0 61E0H with the PSP 100H bytes below at 0 60E0H To display the PSP and code enter D0 60E0 61EF How is DOS able to keep track of resi dent memory allocations The paragraph directly below the PSP 0 60DOH is a memory control block Paragraphs origi nate at an offset ending in zero and are 16 bytes in length Let s explore the first five locations of this block D60D0 60D4 0000 60D0 4D OE 06 11 00 The first location of a memory control block called the identifier byte contains either 4DH or 5AH The value 4DH indi cates that the memory directly above belongs to a program or DOS while 5AH verifies that no more memory control blocks succeed this one The value 5AH 34 MICRO CORNUCOPIA 49 Sept Oct 1989 also instructs DOS to install the next TSR here Bytes 2 and 3 of the memory control block hold the PSP segment 060EH of the program to follow If the PSP seg ment number is zero then the memory defined by the memory control block is free Bytes 4 and 5 specify the size in paragraphs of the pending memory block Notice the value is 0011H or 17 paragraphs Memory control blocks chain from one to the next and DOS is notified that the next memory control block is
43. dow Finally I reassign the zoom key There are some problems with zoom_macro that I haven t bothered to figure out For example if you move the cursor while zoomed the cursor in the window display doesn t reflect that movement when you return Also the word wrap package seems to get lost now and then if I switch the displaying file in the zoom window The solution to the first problem is to inquire about cursor position in the zoomed window before deleting it and set the tiled window to the same loca tion The solution to losing word wrap when switching files in the zoomed window is to set up a local keyboard for the zoomed window which has the switch file keys disabled Each win dow can have its own set of com mands Those are the famous exercises for the reader though I may fix them later but meanwhile you can fix them for yourself Squares The final program Figure 3 is just a little something to show that the Brief macro language really is a general pur pose programming language The func tion squares accepts an integer as a par ameter and returns the sum of the squares of all numbers from 1 to that number inclusive square_10 shows how you would call squares Again you ll notice the strange parenthesis syntax of the language You ll also notice that the definition of squares doesn t seem to indicate any where that it accepts a parameter The function get_parm handles that By not
44. during program compilation The prob lem seemed to go away after the machine had been on for a while Aha a heat related hardware prob lem But it only happened while using Turbo C Perhaps the compiler needs to warm up opined Dave I had visions of a nice corduroy jacket to keep all the files on the hard drive toasty warm during the cool northwest eves a compiler cozy if you will But the problem actually came from our EMS management soft ware With that software removed Post Scriptal development went on un hindered Fini As I pound these words into my key board and try to stay awake our cover to be cruises the Cascades on its way over from Salem Type nestled in a UPS semi oblivious to the full midsummer moon It s passing strange to write about a cover that doesn t exist yet If this really works the result will be beautiful If not the cover will probably be blank except for a This page intentionally left blank message and I ll be on permanent vaca tion Plenty of folks lent a helping hand on this project Thanks to Dan at Salem Type and Stan and Patty at Bettis and Associates But especially to Carol at Micro C ostensibly our graphic design person but better known internationally for her early morning sludge excuse me coffee Well saddle pals I didn t get around to discussing flow control operators re cursion or a host of other PostScript capabilities Do I smell a sequel Stay tuned to I
45. environment Living creatures evolve as their environment changes Is it possible to create evolving creatures in a computer Yes And it s fun Oh no Not fun we can t have that around here I first came upon this idea via A K Dewdney s Computer Recreations column in Scientific American Every month Dewdney covers subjects rang ing from prime numbers to fractals In the last year and a half he has covered computer based life at least three times in the December 1987 February 1988 and May 1989 issues An interesting facet of Dewdney s column is that he does not publish any source code or even pseudocode Dewdney s column gives you an excel lent idea of where the cutting edge of computer technology is He discusses algorithms and ideas and then leaves the implementation up to the reader This is a great way to stretch your pro gramming and algorithm development skills In the May issue Dewdney looks at a program called Simulated Evolu tion written by a California high school teacher named Michael Palmiter Palmiter s bugs live in a dish which contains bacteria the bugs primary food The bugs begin by randomly moving about in the dish eating any bacteria they encounter The bacteria provide energy for the bugs to continue moving and when the bugs are old enough and have sufficient energy they reproduce by breaking into two new bugs All this takes place right
46. for your application We make a complete set of development tools available including an assembler C compiler program loader 34010 debugger and PC interface tracer debugger Our stand ard product includes support for extended CGA MDA and Hercules emulation as well as a host addressable graphics bit map We also support and recommend the DGIS graphics interface standard from Graphic Software Systems for applications development as an alternative to native 34010 software development Ready to run drivers are available for most major applications software packages as well Custom Designs Available PC Tech will license most products for non exclusive manufacture We will also cus tomize any of our designs to better meet your needs on our in house CAD systems All of our standard products are available in private label versions About PC Tech PC Tech has been designing manufacturing and marketing high performance PC re lated products for over three years Our standard product line includes processor memory and video products All products are designed manufactured and sup ported in our Lake City Minnesota facilities Designed Sold and Serviced By cS FERE MP ESOS CUR Qj High resolution fractal produced on the PC Tech COLOR 34010 907 N 6th St Lake City MN 55041 612 345 4555 612 345 5514 FAX Reader Service Number 3 PC XT AT DGIS Hercules and Award BIOS are trademarks or registered trademarks of their r
47. forcing you to hardcode the parameter list for a function Brief al lows you to have the same function ac cept violently different parameter lists based on decisions made in the func tion It also allows the function to either supply a default value or prompt the user for the value when a parameter isn t given MICRO CORNUCOPIA 49 Sept Oct 1989 61 Onward You can do many other things using the Brief macro programming language There s a complete macro package in cluded for creating menus as well as in teger to string and string to integer routines There are deficiencies though For example arrays must be emulated by using a text buffer and complex data types cannot be constructed Also there is no floating point type big deal Goodbye BASIC C COBOL hello PASCAL Now to make this most advanced language available to more micro us ers we ve cut our price to an amazing 29 95 This astonishing price includes the complete JRT Pascal sys tem on diskette and the comprehensive new user manual Not a subset it s a complete Pascal Check the features Separate compilation of external procedures Auto loading 14 digit FLOATING POINT arithmetic True dynamic storage Verbal error messages Fast one step compiler no link needed Graphing procedures Statistics procedures Activity analyzer prints program use histogram Operating system interface THIS I THE SAME SYSTEM WE SOLD
48. isn t in position the motor won t start This approach worked fine until ma chines started becoming more sophisti cated Imagine using relays to also sense drill speed part positioning tool posi tioning coolant pump operation motor overload and spindle position Soon the relay panel necessary to operate a machine becomes more compli cated than the machine Where I work we have panels containing over 500 re lays each I ve spent many hours trying to find bad relays by substituting good ones for the suspects It isn t much fun Computers Enter The Scene As computer equipment became cheaper electrical engineers started re placing relay logic with CPU logic Many of the early PLCs were based on discrete minicomputers Modcomp was one of the premier names during the first generation of in dustrial computers I have one of their early machines complete with 32K of magnetic core memory In its heyday this unit sold for 24 000 As microprocessors came on the scene most manufacturers moved on to the 8080 and later the Z80 and many PLCs still use these chips The other main chip family used is the INTEL 8088 80188 These machines fall into the second generation As with other computers newer PLCs have vastly increased computing power and much lower prices Small systems go for 200 and up while large systems start at about 3 500 Ladder Diagram Programming A problem arose when PLCs replaced relay panel
49. it chooses reimplement the method For example suppose we want to define anObject3 which inherits the data and methods from anObject2 and in ad dition reimplements the procedure do SomethingElse We define it like so anObject3 object anObject2 procedure doSomethingElse end Now when we use a variable of type anObject3 it will inherit the data fields from anObject2 which anObject2 in herited from anObject1 but will use its own doSomethingElse procedure In one sense a descendent object is both itself and all its ancestors simul taneously And simultaneously it s differ ent from all of them by 0 1 or more methods The trick for the compiler is to deter mine when to call one descendent s method and not another s When we call or use a method from a descendent object the compiler looks first to see if the current object has the method we re calling If it finds the method in the current object it uses it and then moves on to the next instruc tion If the current object doesn t contain the method the compiler backtracks up the hierarchy through ancestor objects until it finds a method with the correct name When it finds it it executes it stops looking and moves on to the next instruction If it doesn t find the method in any ancestor it reports an error If you re a Prolog programmer this backtracking scenario should sound fa 88 MICRO CORNUCOPIA 49 Sept Oct 1989 numeric format
50. land s best seller and ee without ever having to oer you o e a ds on shift Num Lock EEE ee Rime oue to drive it at top speed s than cost Get better mileage i Namely the Turbo Thats what PC Magazine from your desktop 149 25 Keyboard Calealator for IBM and compatibles and Calc 111 Keyboard says about Quattro the Incaseyouhaventnoticed Borland s Quattro spreadsheet Add 10 shipping and handling Calculator from hot selling spreadsheet already the keypad per unit Continental U S only CA residents please add 9 75 Aes tax per unit Datadesk el ra ae ee doubles as a full function i of Units Ss Amount Enclosed _______ Boost your u thi iid rd about business calculator com CompuerType Cis Size C134 DOSY overall performance i dal mary plete with its own pop up _ If PS 2 include additional 5 for cable adapter With its built in A LCD display Which saves Payment OVISA OMC OAMEX O CHECK MC presentation quality graphics intelli space on your desktop and lets you 4 Card Noep Date gent recalcs unlimited macros easy perform any calculation with a single installation and compatibility with keystroke no matter what software v leading spreadsheet and database you re driving Company Name software Quattro is made to order What s more the keypad packs a for your business solar panel so you can start up the
51. mostly I work in Pascal occasionally those efforts are per forated by a C filter However Larry has been disassembling some things with Sourcer and Sourcer generates assembly language for some reason no one has come up with a disas sembler that regenerates the original C or whatever So I dug out the office copy of ASMFLOW and attacked the output of Sourcer Boxes and code and arrows pretty fancy Makes it a lot easier to see the structure of the program The program also gives you an estimated time and clock cy cles per routine for the 8088 80286 and 80386 It was interesting to watch the number of cycles it esti mated For instance on Larry s screen update routine we re talking fractals here it specified 486 clocks for the 8088 273 for the 80286 and 156 for the 80386 In fact all the code I checked came out with about the same ratio Boy shows how gullible I am I believed it when the sec ond source of 286s announced that a 20 MHz 80286 is as fast as a 20 MHz 80386 It might be if they carefully select instruc tions but not for any of the code I ve seen Anyway I remember writing assembly for a Z80 I would have traded my second 8 drive for a tool like this After seeing what ASMFLOW displays 8088 code looks almost easy Shucks if Turbo Pascal 5 5 hadn t just appeared ASMFLOW 99 95 3 00 S amp H Quantasm Corporation formerly Quantum Software 19855 Stevens Creek Blvd Suite 154 Cupertino CA
52. need to talk to someone s tech support if you want to figure out exactly how this works The third product I looked at was the Lawson Labs Model 140 15 bit Analog Interface for 265 This doesn t have all the digital I O or counter timers that the other boards do but it does have a much higher resolution 15 bits vs 12 It s a differential A D while the others are single ended lll explain the terms shortly With this board you get more accurate albeit much slower readings 7 5 or 15 readings per second instead of 30 000 or 50 000 readings per second A Complaint In past years I ve worked with several A D converter boards and I m al ways playing sleuth just to figure out how to use the boards That s because I never get complete documentation I as sume the person who created the docu mentation is the same engineer who de signed the board Here are the data sheets the rest is left to the student It s disappointing to see that boards for the PC follow the same traditions as those for more obscure busses Some packages provide key information from the data sheets for the chips on their boards some reproduce the data sheets Unfortunately none of the three boards I m taking a look at in this article come with a schematic All the boards I ve worked with in the past had crummy documentation but at least they had schematics so I could puzzle out what was going on although I would prefer lucid
53. not equal 658E 0036 658 0011 40h 658E 003A dx ds data le 3 0040 0008 378h Simulator 658E 003E dx 2 658E 0041 al 8 follows 658 0043 dx al port 37h printer 2 control z al 8 initialize printer segment 658E 0044 89 8000 cx BOO0h 658E 0047 locloop 2 changes 658E 0047 E2 FE locloop Loop if cx gt 0 658E 0049 BO OC al OCh 658E 004B EE dx al port 37Ah printer 2 control al OCh init amp strobe off 658 004C loc 3 658E 004C B4 4C ah 4Ch sut 658E 004E CD 21 21h DOS Services ah function 4Ch Easy to terminate with al return code read resetprn format Stack seg b stack seg b segment para stack 6593 0000 O0CO FF db 192 dup OFFh stack seg b ends end start Source code output and inline cross reference can also be selected BIOS SOURCE for PS 2 AT XT PC and Clones The BIOS Pre Processor with SOURCER provides the first means to obtain accurate legal source listings for any BIOS Identifies entry points with full expla nations Resolves PS 2 s multiple jumps for improved clarity Provides highly descriptive labels such as video mode and much more Fully automatic E CHANGE AND ADD FEATURES B CLARIFY INTERFACES SOURCER Commenting disassembler 99 95 UNPACKER Unpack packed EXE files and more 39 95 SOURCER with BIOS Pre Processor 139 95 ASMtool Assembly source analyzer and flowcharter 89 95 Shipping amp Handling USA 3 Canada Mexico 10 Other 15 CA Res a
54. now However I know I ll stay with this chip for a while There is simply too much serious fun here to pass up Editor s Note This kind of processor and this kind of support really make designing your own controller fun And easy So I called United Products my usual source for prototype boards and parts and asked if they carried Motorola s 6805 develop ment kit Nope responded Phil Clyde But REFURBISHED SEAGATE HARD DRIVES we have something you might like better ST 125 20 Meg MFM HH 28M5 175 It s the Hitachi 68P05V07 with a built in ST 125N 20 Meg SCSI HH 28MS 230 piggyback socket ST 138 30 Meg MFM 28MS 215 It turns out that the chip is compatible ST 138R 32 Meg RLL 40MS 195 with Motorola s 6805 but you don t need ST 138N 32 Meg SCSI 40MS 235 a custom development kit You just burn ST 151 40 Meg MFM 40MS 315 your code into a standard 2732 and ST 157N 49 Meg SCSI 40MS 270 piggy back the ROM onto the 68P05 To ST 157R 50 Meg RLL 40MS 235 change the code you burn a new ROM ST 225 20 Meg MFM 65MS 160 Plus the chip costs only 19 95 ST 225N 21 Meg SCSI 70MS 195 Hitachi has a data book and a pro 21 Meg RLL 65MS 150 gramming book for this new release and 30 Meg RLL 65MS 160 I understand they supply cross assem 40 Meg RLL 70MS 190 blers that run on the PC as well as 40 Meg MFM 40MS 240 sample 6805 code 40 Meg MFM 28MS 260 Anyway once you finish the proto 40 Meg SCSI
55. odd port addresses pro duces double pulsed IOW lines with or without feedback to the I O CS16 line These double pulses and the computer driven address changes complicate the operation of the decoder It is simply best not to use odd port addresses Summary At first glance the double pulse and address line changes which occur on the AT bus during execution of the IN AX DX or OUT DX AX instructions ap pear strange But these pulses could be used for data transfers of 16 bit words to 8 bit memories or data ports You can easily achieve direct transfer of 16 bit words to 16 bit ports by pulling the I O CS16 line low with a pulse generated by the port address decoder We have made five interface boards using circuits with both 74LS and 74ALS chips We set up two of these boards with test programs They ran through more than 5 billion transfers without an error CP M NorthStar Macintosh Apple Il MS DOS and PS 2 Don t let incompatible diskette formats get you down read them all with your PC Teach your PC to speak CP M UniDOS Z80 Coprocessor Board by MicroSolutions Run your Z80 and 8080 code programs at LIGHT NING speed on your PC or AT with the UniDOS 8MHz Z80 coprocessor board UniDOS auto matically switches from MS DOS to CP M mode when your CP M program is executed UniDOS emulates most common computers and terminals such as Kaypro Xerox 820 Morrow Osborne and VT100 All standard CP M system cal
56. of Bor land Turbo Pascal 5 0 with the addition MICRO CORNUCOPIA 49 Sept Oct 1989 55 printf buffer generation 61d critters 51d V of compatibility with Apple amp Wirth s object oriented Object Pascal language Borland meanwhile released Turbo Pascal 5 5 which uses Borland s own support for objects Before I make any qualitative state ments let me make a disclaimer I am writing a book called Learning Object Oriented Programming with QuickPascal for Microsoft Press Some people may immediately discount my opinions on Pascal and possibly other products be cause of this However I like to make my affiliations public so that people know where I m coming from QuickPascal is a good solid clone of Turbo Pascal It compiled every Turbo Pascal program I ve tried very quickly of course I like its environment better than Borland s since it allows you to edit multiple files simultaneously Also QuickPascal has the capability to ani mate your program showing the source code you are executing while the pro gram runs in slow motion QuickPascal is cheaper than Turbo Pascal it can be found in some places for under 50 However Microsoft has continued their recent practice of put ting much of the documentation for Quick products into on line help rather than paper manuals If it weren t for the object oriented extensions I don t think Microsoft did enough extra to lure many old timers away from Turb
57. one resident program to another The consequence is that it doesn t allow other resident programs to run Its lack of compatibility diminishes the worth of RENEGADE This program works only with computers storing their keyboard interrupt routines at address F000 E987H To observe RENEGADE in action load the program and display the vector for INT 9H Before executing reboot the system to purge any previously installed resident programs A gt RENEGADE A gt DEBUG D0 24 27 0000 0024 4D 20 OE 06 The vector points to the MAIN proce dure at 060E 204DH This is the address if RENEGADE is the first TSR loaded and you are using the DOS 2 10 version Now install POPUP and display the INT 9H vector again 38 MICRO CORNUCOPIA 49 Sept Oct 1989 4 RENEGADEASM SEGMENT AT on ORG 9H 4 DW 2 DUP Gr ORG 1CH 4 DW 2 DUP 0 SEGMENT PARA PUBLIC CODE ASSUME CS CODE ORG 100H JMP INIT LABEL DWORD iur DB 87H OE9H 00H OF OH ZY DW 2 DUP DB 4000 DUP Cs 0 S 4000 DUP P MAIN is made resident and every MAIN PROC NEAR a INTERRUPT TABLE SEGMENT oH VECTOR uz INT 1CH VECTOR Scope SEGMENT GOTO INITIALIZATION ROUTINE XNT 9H ADDRESS IN ROM STORE INT 9H VECTOR CURRENT INT 9H VECTOR gt STORE ORIGINAL SCREEN 7 SAVE SHIFT STATUS CODE CHECK NEW SCREEN STATUS POP UP SCREEN keystroke routed here NEW INT 9H VECTOR POINTS
58. our choices lie at the crux of all that s im portant The difference you make makes all the difference Last must have known the instant he arrived on the morning of 1856 127 years earlier that something was up Out of the unimaginable chaos of its in terminable stochastic fiction Time thrust only one unforeseen oddity on Caspar Last as he or something like him appeared beneath a plaintain tree in 1856 he had grown a beard almost down to his waist It was abominably hot Funny Lane I expect as literary folk learn more and more about the implications of scientific theories we ll see more and more thoughtful excursions like this one into stochastic fiction For now if you want to enjoy a good thought check out Novelty Four Stories by John Crowley in paperback 6 95 from Doubleday Quality amp Price You Cant Pass Up COMPLETE 80386 25SDX Display Color Graphics on a monochrome monitor All Microsphere XT AT amp 386 systems NOW include the GRAPHICS COMBO multimode video card The Graphics Combo combines the video functions and software compatibility of the IBM Mono chrome Display Adapter MGA the Hercules Graphics Card and the IBM Color Graphics Adapter CGA all on a single card In ad dition the CGA graphics are auto matically converted to display on a standard TTL monochrome monitor in 16 shades of gray SPECIAL OFFER Order a Complete MicroSphere Computer System and re
59. prose If these com panies provided better documentation with the boards they d have more and happier customers The best documentation comes with the Real Time Devices board Although the printed material only consists of data sheets for the chips which are hard to use without a schematic the disk con tains quite a bit of useful information It includes sample programs in BASIC Pas cal and C and a special programming language based on FORTH The other boards had drivers or examples in BASIC only Board Applications The four sections of the board A D D A digital I O counter timer serve four purposes The A D converter ac cepts a voltage from the outside world and digitizes it converts it into a num ber The D A converter converts a num ber into a voltage A digital control system uses both A D and D A the A D measures a voltage which represents something about the device being monitored for in stance its temperature the D A sets a voltage that controls the device The pro grammer must write an algorithm which performs the control but doesn t make the system unstable A D and D A conversion are com monly used alone without being in a control system You may simply want to monitor some values in an experiment or process with your A D Or you might replace a level control with a D A so you can change the level with your computer instead of by hand ou can t just hook a wire between the mo
60. relay or a TRIAC or solid state relay see Chapter 6 in Computer Interfacing with Pascal amp C Measurements Versus Signals To understand analog signal condi tioning you must know whether you want to simply take a measurement for example getting the temperature or cap ture a signal as in capturing the waveform of someone s voice Taking a measurement is a simple process to manage filter out as much noise as possible from the input signal and then take a measurement whenever you want The speed of the A D con verter usually isn t critical when you re theres any appreciable change How ever if the signal changes quickly for a fast or noisy waveform it may change between bits messing things up appreci ably To prevent this you must 1 filter the input signal to remove noise and 2 use a sample and hold before your A D converter Luckily both the AD1000 and the PCL 712 which use successive ap proximation have a built in sample and hold I ll go into filtering shortly The Lawson Labs board uses a dual slope A D conversion technique This charges a capacitor with the input volt age for a known period of time then dis charges it with a known voltage while counting the discharge time When the with the digital output must not only react properly to TTL voltage levels it must also not require more current than the digital output can provide If you re driving some other TTL or CMOS chip things wi
61. s that How about my Sun workstations Who makes them At that point the crowd began to dis perse smiling to themselves I overheard a couple comments about problems running DOS applications under UNIX The last I saw of suspenders he had his face totally imbedded in a fresh wad of cotton candy For a moment I had the im pression the cotton candy was hiding a huge grin the grin of an unrepentant 12 year old ARE YOU FAMILIAR WITH THE MICRO CORNUCOPIA NETWORK BINAE GUEST IM IKE MEME ING Ge MCCC VE I ee RE pO EUEL TM DEM en The network is a growing international group of over 20 000 engineers designers programmers publishers and consultants practitioners who seek out and use micro computer products and make recommendations about their use Over half have advanced degrees and nearly three quarters moonlight as computer consultants in addition to their 9 to 5 jobs in the computer industry The network is the developers hardware and software manufacturers and retailers who provide the tools the libraries systems and hardware Our advertisers are key technical resources providing both tools and expertise to this fascinating group Ads in Micro C are read as thoroughly as the articles At the heart of the network is MICRO CORNUCOPIA the Micro Technical Journal published bimonthly in a light often humorous tell it like it is style Our writers are experts providing in depth discussions of utilities libra
62. sample thermostat project using an HC705 MCU and MC145041 serial A D I used the same connections be tween these chips in my example design for details see Figure 2 The Guide contains full source listings for the thermostat software source code is also available from the Motorola FREEWARE BBS The routine A2D see Figure 3 contains all the 68HC705 code needed to interact with the MC145041 using the circuitry shown The Example Project I wanted a simple demo project using 12 MICRO CORNUCOPIA 49 Sept Oct 1989 Figure 2 Schematic for the example MCU project reprinted from the Pro grammer Board User s Manual with permission from Motorola 5V 1 2 3 4 5 6 7 8 9 _ N 2 Wiring layout is not critical a Radio Shack experimenter s board 276 168A works well Use high quality sockets for both ICs The battery voltage can be between 8 and 30 volts the HC705 MCU and the MC145041 se rial A D So I defined a small one chan nel voltage sensor The sensor samples channel 0 of the A D once per second The A D returns an 8 bit value from 00 to FF Depend ing on the value returned a specific two LED pattern will be displayed if the value lies from 00 to 3F a green LED lights if the value lies from 40 to 7F the green LED blinks once per second if the value lies from 80 to BF a red LED lights if the value lies from CO to FF the red LED blinks once per second I wrote the asse
63. select from a wide variety of interrupts on the counter timer For those really critical functions the chip contains a Computer Operating Properly COP timer When enabled this feature will force a reset should your program fail to periodically refresh the COP register Additionally the chip can provide a reset if the system clock falls below 200 KHz The HC705 also offers two additional low power modes as if 4 7 mA isn t low enough WAIT suspends CPU operation but keeps the timer SCI and SPI running Any of these three systems can bring the CPU back to full RUN mode WAIT consumes about 1 7 mA the STOP mode typically uses only 2 8 pA no that s not a typo STOP shuts down all internal processing only an external interrupt or reset can bring the CPU back to life The on chip EPROM erases with a standard shortwave UV lamp If you burn your program into the MCU and find it doesn t work just erase the MCU change the software and try again When it comes time to ship your final product Motorola also offers the MCU as a one time programmable device OT PROM This plastic package does not have a UV erasing window once you ve programmed it you ve pro grammed it Inside The Programming Model At first glance the HC705 program ming model seemed like a cruel joke The MICRO CORNUCOPIA 49 Sept Oct 1989 9 12V NATE 12v DENOTES OPTIONAL T COMMAND ONLY OPTIONAL 4V Vee OV
64. the characters double width Not double height but considerably bigger This works for all DOS commands more or less and probably some appli cation programs older ones more likely A modern text editor which seems to work acceptably in this mode scrolls the line horizontally and so forth is my copy of the estimable OEdit I think it s still available as shareware J G Owen 21 Glenview Ave Fort Salonga NY 11768 Talking Amigas Issue 48 was very interesting as usual I have a comment on Debee Norling s article Selecting a Talking Computer for a Blind Friend Although the IBM PC family is tlie business computer family I was sur prised to see no zero nada references to the Amiga computer Every Amiga can talk right out of the box no special hardware or software required At a command line prompt just type say string to speak The general purpose text to speech al gorithm seems pretty good at least to me If it isn t you can send it phonemes instead This speech capability is also available as a system level device just like a printer or a serial port You con trol the volume speed voice type male female robotic pitch frequency and rate Some Amiga applications take advantage of this ability to talk If these do not meet your needs there are a number of programmable text editors 6 MICRO CORNUCOPIA 49 Sept Oct 1989 Letters Wi N NWI and applications that might work The
65. the PCX Programmer s Toolkit gives you over 60 powerful functions to manipulate bitmapped graphics Use Virtual screens Super VGA modes LIM 4 0 support a 300 page manual 9 utilities including screen capture and display and the fastest routines on the market 195 Need Special Effects but caught in a GRASP F Why create a demo when you can create the real thing Don t be trapped in a slideshow editor or demo program when you can use PCX Effects and your favorite programming language A complete Music Language and spectacular special effects for exploding your graphics 99 With PCX Text you can display text with graphics as fast as it always should have been Display characters strings input fields font scaling background transparency and more Includes a font editor fonts and conversion utility for blazing graphics bitmapped text 99 All packages support 12 compilers for C Pascal Basic Fortran Assembly and Clipper All modes of the Hercules o o o o CGA EGA VGA and Super VGA adapters are supported up through 800x600x256 22 modes in all Assembly Language source code is optionally available Trademarks are property No Royalties 30 day Money Back Guarantee sections of a spare CD4001B to first NOR then invert the NORed signal This keeps you from having to add another device a CD4071B to the parts list Leftover gates always seem to have a way of getting used Q Shouldn t I isolate my computer s port fro
66. the pre vious session automatically No Mouse Support Not only is mouse support not in cluded with Brief it would be very dif ficult to do many of the things I like having a mouse for An example is scrolling and searching In Point clicking the left or right but ton on the left border of a window scrolls forward or backward through the file Clicking on the right border searches for the previous or next occur rence of the current selection Since the right side of a Brief win dow is also the left side of the window to its right this scheme would be im possible There is no way to decide whether the desire is to scroll the right hand window or search in the left hand window CONSULTANTS PROGRAMMERS ANALYSTS get the most advanced SOURCE GENERATING DISASSEMBLER AVAILABLE for the IBM PC XT AT PS2 compatibles DIS DOC can help you find and fix bugs in any program re create lost source code a great companion utility to compiler and assembler able to give you a great source of professional programming examples And Much Much More DIS DOC is FAST Disassembles files up to 500kb in size OR RAM ROM memory at a rate of 10 000 lines per minute ACCURATE Uses seven passes and over 20 SECRET algorithms to separate code from data to make the most accurate listing on the market FLEXIBLE Creates a MASM ready listing for easy re assembly of your disassembly and only needs 320kb of memory TECHN
67. turn to my pile of magazines and dig out the edition to read my letter again Ah there it is One passing refer ence to computer store sales staff CSSS and the insinuation that many of their ranks are pretenders Not such a damning statement methinks A mere pinprick in the blood letting of business I would have thought Certainly defensible most would say I think A thought provok ing letter this Well it appears that John was pro voked into thought too Several hundred words worth in fact All in defense of himself Some were dripping with sarcasm and vitriol Others I have not heard of what do buffalo chip slinger and dishwashing jarhead mean I suspect that the former equates to an Arthur Daley used car salesman and the latter to a pre stardom Sylvester Stallone doing night jobs maybe post Rocky X and divorces as well And if money be the measure of success then I suppose I should be flattered with the comparisons but I guess I m indifferent I understand intolerant but I don t Continued from page 75 think it applies After all I am answer ing John s letter And from the passion of it I m glad I don t live in Syracuse Author I am not but I hope John doesn t have the ear of Khomeni Honest John I was not speaking specifically of you when I said CSSSes are less expert than they claim to be During the last ten years I have com puter shopped in many places around the world inclu
68. two 5 hard drives to your Z80 system The Winchester Connection software customizes your system from an easy to use menu with flexible drive parameters partition and block size and includes complete instal lation and diagnostic utilities A complete system requires a HDS daughter board WD1002 05 hard drive controller board hard drive software package and cables HDS Host Board with Software 79 95 HDS Board WD1002 05 and software WD1002 05 Controller Board only 185 00 External drive cabinet with power supply 139 95 Parts and accessories for the Kaypro and Xerox 820 1 Plus2 ROM Set for Xerox 820 1 Plus2 ROM with X120 bare board KayPLUS ROM for Kaypro 2 4 10 specify Kaypro 2X Real time Clock parts kit Kaypro 2X Hard disk interface parts kit Kaypro 10 Hard Disk controller 39 95 49 95 69 95 29 00 16 00 Kaypro four drive floppy decoder board QP M Operating System bootable specify system QP M without CBIOS installs on any Z80 system 49 95 Complete parts and repair services available P O Box 1726 Beaverton OR 97075 Reader Service Number 10 Special Purchases PC Mastercard by Magnum Computer This is probably the BEST multi function card on the market Use mixed banks of 64k and 256k chips to install up to 1 5 Megabytes of RAMDISK and PRINT SPOOLER or fill your system up to 640k Serial parallel game ports and real time clock installed Comes
69. very much Especially those articles on com puter hardware e g controlling the outside world through the parallel port and the Pascal columns more please My only complaint is about what I seem to get for my subscription fee Since you only publish six times per year I would like to see fewer National Geographic type articles For example the trips through Turkey are interesting but if you were the size cost and peri odicity of say PC Computing those arti cles would be a refreshing insert rather than a squandering of valuable space Judging from your gushing pun in tended comments on the SOG there doesn t appear to be a shortage of com puter related material Would it be possible to include some of the SOG discussions in future issues A few times in past issues great arti cles were diminished by statements to the effect of Here s a partial program listing Call our BBS for the complete program Since your BBS isn t PC Pur suitable the long distance charges make the call cost prohibitive Please don t print only partial listings Product reviews are okay but I enjoy Micro Cornucopia more as a nuts and bolts type learning tool on the how to and why of the microprocessor world Because of this in the past I have rec ommended your magazine to others as a valuable information source Ron DesGroseilliers Jr 209 Cecil Ave Springlake NC 28390 Editor s note Boy I know what you mean I l
70. widespread adoption of the ARexx language with its interprocess communications ports also facilitates linking applications together in novel ways At a programmer s level it s rela tively simple to insert a task into the chain of event handlers e g to speak keystrokes including ctrl alt shift and to access the speech libraries from within a program The Amiga s true multitasking and ability to play high quality sampled sounds without any extra hardware are bonuses The Amiga has capabilities for the sight impaired as well It has become the standard computer for Desktop Video Its standard NTSC or PAL output and low cost GenLoc options mean it can interface to a wide variety of video equipment Its standard analog RGB output will drive the newer large analog monitors or TV monitors The bit mapped display and system fonts mean you can select larger fonts for many applications There s even a little public domain magnifying glass tool that lets you enlarge any portion of the screen In conclusion the Amiga is a very capable machine and certainly in the running as a blind or disabled person s window to the world Kurt Wessels 917 N 87 Seattle WA 98103 Letters From The Editor Debee s articles in Issue 48 generated lots of interest One thing we didn t tell you the products mentioned are available through Debee and Christy at their company Grassroots Computing Obviously they can sup por
71. with them jigsaws that has lots of sky That s the best part there s nothing to throw away Nothing to haul out to the hogs This is technology at its finest So what s the use of shredding if you don t get something to do at the dinner 64 MICRO CORNUCOPIA 49 Sept Oct 1989 By David Thompson Micro C Staff table during January And no mulch What about the little lady s garden Mr Green Jeans looked puzzled for a moment Let me explain this removes information from a computer removes it permanently by writing new information over what s already there By the way are any of you fine folks considering buying your first computer No one raised a finger What kind of information does it write into the computer asked suspend ers I m not really sure just different infor mation unimportant information The most unimportant information available It s information that wouldn t be interest ing to the kind of person who might otherwise be interested How does anyone know what s not interesting I noticed that Red Suspenders drawl had disappeared and the grass stalk he d been chewing was getting quite short Well take my word for it no one s been interested yet What does it run on The barker s eyes brightened Macs Apples Commodores Ataris Amigas and for any of you doing serious comput ing the PC family It ll run on anything How about Sun workstations What
72. you wish to capture Common filters are high pass which pass frequencies above a certain point low pass which pass frequencies below a certain point and band pass which only pass frequencies within a specified range Generally we describe the quality of the filter by the sharpness of the corner s between the pass band and the stop band Updated NEW NEW Updated NEW NEW Updated Updated Updated NEW Updated I Und ated NEW NEW C CODE FOR THE PC source code of course MS DOS File Compatibility Package create read amp write MS DOS file systems on non MS DOS computers s 500 Bluestreak Plus Communications two ports programmer s interface terminal Tepe A TN vM In tin Oe agi satay tale he ois 400 C O Data Structures Library multiple inheritance messaging excpetion handling call back ccn 375 dB2c dBase to C translator includes dB Filesfor CanddB ToolsforC a 325 pBase relational DBMS with debugging calls and sparse table amp repeated field support rr 325 CQL Query System SQL retrievals on B trees plus windows 6 5 4 4 4 e 4 4 e e e ee o oon n 325 e 5 0 high resolution DISSPLA style scientific plots in color amp hardcopy c rns 325 PC Curses Aspen Software System V compatible extensive documentation so 1 6 we ee ee ee 290 Code Base database manager
73. 0 ns 27256 32kx8 150 ns 27128 16Kx8 250 ns STATIC RAM 62256P 10 32Kx8 100 ns 6264P 1i2 s8Kxe 120 ns 6116AP 12 2Kx8 120 ns OPEN 61 2 DAYS 7 30 am 10 pm SHIP VIA FED EX ON SAT SAT DELIVERY MasterCard VISA or UPS CASH COD FED EX ORDERS Ree pene Ee 91 8 267 4961 80287 8 80387 16 80387 25 135 00 215 00 80387 20 80387 33 8087 2 RECEIVED BY BEGGS OK 74421 Th Std Air 6 31b No minimum Order Please note prices subject to change fn PA 1225 1 Ib Shipping insurance extra up to 1 for packing materials Reader Service Number 37 way when the compiler complains or the code doesn t run I know it s my fault Now Borland s released 5 5 If objects in Pascal are as good as objects in C we may find that software development is no object Or it is an object Or people will no longer object to writing software Sorry I m not being objective Anyway this is beginning to sound an awful lot like some thing I d put in the editorial Speaking Of Objects With Borland s release of objects can Microsoft be far be hind Nope In fact Redmond Washington came out with Pascalian objects before Borland Microsoft s Quick Pascal is just the first shot I think Micro soft would like nothing more than to invade Borland s home court the Pascal market The next year should be very interesting Microsoft is smarting from reviews which conclude that Turbo debugger is outperforming CodeView no question
74. 05 degree screen angle black 45 degree screen angle obscure spot function fprintf f dup mul exch dup mul add 1 exch sub setscreen n fprintf f 1 75 inch 1 5 inch translate n center the image fprintf f 5 inch 8 inch scale n fprintf f fractal n file header void file tailer f FILE f fprintf f showpage n putc 0x04 file tailer make it 5 x8 call fractal procedure print the page D EOF for PostScript void get layers clr y m c b unsigned char clr unsigned char y m c b switch clr case 0 m Ox0f c _ break case 1 m OxOd c break case 2 m 0x0c c break etc case 79 y 0x02 m Ox0f c 0x0c break case 80 y 0x01 m 0x0f c 0x0c break case 81 y 0x00 m Ox0f c 0x0c break get layers tum theory of color printing Since each cell contains a finite number of dots the cell can take on only a finite number of please anyone shades of grey not a continuous spec trum I wouldn t worry about it though Even if we can do only 16 shades in each of the four colors we still have 16 possible combinations or colors 64K different colors should be enough to PostScript does the halftoning work for us In the image operator example above we specified one bit per image element for a monochrome image Let s BORLAND PROGRA
75. 0K RAM OK ee 25 150 Watt Power Supply 50 Slide case lock LED 38 2 MB EMS Memory Board OK Installed 49 AT 200 Watt Power Supply 75 AT 386 Case Lock LED 72 Tower AT 386 Case Lock LED amp 200 Watt ps 239 2 MB EMS Memory Board OK Installed 99 COMPUTERS SYSTEM with Rotary Voice Coil Hard Drive Now MOTHERBOARDS XT Turbo 4 77 10 75 AT 6 10 Award Phoenix DTKBios ees 229 AT 6 12 Award Phoenix DTKBios ees 279 Baby AT 6 12 AMI DTK 249 AT 8 16 DTK Bios 395 80386 8 20 DTK Bios vee 799 XT AT Memory CALL SOFTWARE MS DOS 3 21 w GW Basic 49 DR DOS33w GEM 49 MS DOS 3 3 w GW Basic 95 DISK DRIVES Teac Toshiba 360K 69 Teac Toshiba 1 2 MB 85 Teac Toshiba 3 720K 79 Teac Toshiba 3 1 44 MB kit 90 XT 20 MB Miniscribe 8425 65ms 279 8425 w controller 319 XT 30 MB Miniscribe 8438 65ms 299 8438 w controller 349 HARDWARE MANUFACTURER gMicroSphere SINCE 1982 Orders Only 1 800 2 34 8086 855 N W WALL BEND OREGON 97701 Reader Service Number 2 This machine features an 80386 CPU running at 25 Mhz on a full size motherboard For extra quality and reliability we ve included a 45 Mb Miniscribe 3053 Hard
76. 110 MOV AH 31 TSR DS 0112 MOV AL 01 RETURN CODE DS 0114 MOV DX 0011 SAVE 17 PGPH DS 0117 INT 21 CALL DOS DS 0119 ENTER When this program terminates 16 paragraphs of PSP and one paragraph of code will emerge as part of resident memory Save the program as RES31H COM NRES31H COM RCX CX 0019 RBX BX 0000 W Return to DOS and RES31H COM To determine the location of the sec ond resident program search with the Debug S command execute A gt DEBUG RDS DS 0000 S 0 L FFFF EB OE 53 54 41 59 20 52 0000 61E0 0000 6330 0000 90BF As anticipated the new resident code begins at 0 6330H with the PSP at 0 6230H The memory control block is lo cated at the paragraph preceding the PSP 0 6220H Display the initial five bytes of this block D6220 6224 0000 6220 4D 23 06 11 00 The identifier byte 4DH indicates that a PSP follows at segment 0623H The length of the PSP code is 0011H or 17 paragraphs Every time you execute a TSR function the protected memory is stacked directly above the previous resident program You can continue stacking resident programs until you ve filled RAM By now you have probably realized how easy it is to install a program or data in the resident portion of the com puter s memory The not so easy part in volves activating it after it s resident This takes us to the subject of interrupt han dlers Interrupt Handl
77. 17 plus one or 18 paragraphs above Between these memory control blocks are the PSP sers seem to be divided into two camps those who swear by TSRs and those who swear at T SHs 16 paragraphs and the program s code 1 paragraph Current DOS versions don t use the last 11 bytes in a memory control block so these might contain rem nants of other programs To predict the location of the next resident program search above the PSP for the memory control block beginning with 5AH The first occurrence here is at 0 6220H Look at the initial five bytes of this paragraph D6220 6224 0000 6220 5A 23 06 DD 79 The information tells us to expect the PSP of the next resident program to load at segment 0623H address 0000 6230H Let s install the same program a sec ond time in resident memory but this time by invoking the other TSR function DOS version 2 00 introduced function 31H IBM prefers this function because it passes a return code and allows more than 64K bytes to remain resident When using DOS function 31H the number of bytes made resident is de clared by paragraph in the DX register The value stored in the DX register 0011H specifies that 17 paragraphs are to be protected Before entering the pro gram with the DEBUG A command secure a new DS designation by return ing to DOS and reloading DEBUG Q A gt DEBUG A100 DS 0100 JMP 110 BY PASS DATA DS 0102 DB STAY RESIDENT DATA DS 0
78. 20 microseconds translates to loo megahertz or 50 kilohertz The AD1000 contains 24 lines of digital I O and 3 counter timers and comes in faster versions for more money While snooping around for boards I found two companies and I m sure there are more that market the same board Bo Ray at Rapid Systems in Seattle made no bones about it It s a good board he said but the key to customer success isn t just selling the board it s helping the customer solve the problem Advantech in Taiwan manufactures the PCL 712 soon to be the new im proved PCL 812 Both Rapid Systems 395 and Halted Specialties 295 sell it Rapid Systems has a larger array of products some they designed and built themselves And their technical support seems top notch which might explain the higher price Halted Specialties though seems friendly and competent I d probably opt for Halted if I were counting dollars and building a simple application For bigger more complex projects I d consider Rapid Systems for more thorough technical support and slightly better documentation l The PCL 712 has 16 12 bit A D chan nels two D A channels 16 separate digi tal input lines and 16 output lines and 3 counter timer channels only one of which is available to the user The other two channels are used for something called a pacer which isn t explained very well but seems to be a way to trigger A D conversions automatically You ll
79. 36 files and split the screen into win dows Search replace with regular expressions Includes the best compiler support available menu driven easy selection of compiler options supports Include files and MAKE utilities VEDIT PLUS Ultimate programmer s tool for only 185 VEDIT PLUS adds the most powerful macro programming language of any editor It eliminates repetitive editing tasks and permits creating your own editing functions The macro language includes testing branching looping user prompts keyboard input string and numeric variables and control over the size position and color of windows Source level macro debugging with breakpoints and tracing Macros developed with VEDIT PLUS also run under VEDIT 30 day money back guarantee Call for pricing of XENIX OS 2 and FlexOS versions Very attractive quantity pricing is avail able for schools hardware and software vendors VEDIT and CompuView are registered trademarks of CompuView Products Inc BRIEF is a trademark of UnderWare Inc Norton Editor is a trademark of Peter Norton Computing Inc QEdit is a trademark of SemWare Supports IBM PC XT AT PS 2 and clones with CGA MGA EGA VGA Wyse 700 Amdek 1280 and other displays Also supports Concurrent DOS DESQview Microsoft Windows PC MOS 386 and most networks Also available for MS DOS CRT terminals TI Professional and others Introducing The 1st Family of Low Cost Powerful Text Editors
80. 4 volt motors with no problems How Do Steppers Work A stepper is a permanent magnet motor with two sets of stator non moving windings The two windings are mechanically offset by 1 2 a pole pitch a pole being either the north or south end of one of the rotor s permanent magnets Each time a winding energizes inter action between the winding and the magnet causes movement The opposite poles attract and the like poles repel By controlling the timing phase and direc tion polarity of the electricity flowing to the coils you control both speed and direction of rotation Figure 1 shows a unipolar center tapped winding motor and the order its Figure 2 CD4001B Clock ohn and chose the center tapped motors because they required only four driver transistors windings must be driven John and I chose the center tapped motors because they required only four driver transistors Bipolar steppers require eight driver transistors not good when you re trying to keep costs down Steppers are available in a range of 0 72 to 90 rotation per step The most common are 7 5 to 18 per step A 7 5 stepper requires 48 steps per revolution By David Metz Metz Electronics 725 Climer Muscatine IA 52761 The Break Down The driver consists of four sections Clock Supplies the pulses that deter mine the speed of the motor Phase shifter Produces the 90 phase shift between the drive coils Rev
81. 4MB O WAIT STATE DUAL SPEED 6 12 MHZ DUAL FLOPPY AND HARD DISK CONTROLLER 171 INTERLEAVE ONE 1 2MB FLOPPY DRIVE ONE 20MB HARD DISK 40MB TRUE OS 2 XENIX MS DOS AND NOVELL COMPATIBLE 80287 MATH CO PROCESSOR SOCKET ENHANCED 101 KEYBOARD w TACTILE FEELING 1 44MB FLOPPY DRIVE AND 20MG ONE YEAR WARRANTY 2 SERIAL PORTS 1 PARALLEL PORT HARD AND 1 GAME e hix SR LB 79 229 9 976 9 9 ELLET CR ere 619A N a Ri Tru 3400 e LED INDICATORS CARRYING BAG w SHOULDER STRAP 200W UL POWER SUPPLY ONE YEAR LIMITED WARRANTY ONE YEAR WARRANTY GAS PLASMA 2199 eeesee 2299 LCD PORTABLE 1729 McTEK 286 12MHZ McTEK 386 165X McTEK 386 20MHZ Assembled amp Tested IBM AT Compatible MS DOS OS 29 Compatible m 80286 12 6 MHz B Phoenix BIOS m 640K of RAM Expandable to 4MB 0 Wait State m 200W Power Supply E 1 2MB Floppy Drive B Ports 1 Serial 1 Parallel 1 Game e Dual Floppy Dual H D Controller m Monochrome Graphic Card m 101 Key Enhanced Keyboard B TTL Monitor 12 m 20MB Hard Disk 40MS Assembled amp Tested IBM AT Compatible MS DOS OS 29 amp UNIX9 Compatible W 80386 16 8 MHz Norton V4 0 SI 17 6 B Phoenix BIOS B 1MB expandable to 16MB RAM a 80387 Coprocessor Socket B 200W Power Supply W 1 2MB Floppy Drive B Ports 1 Serial 1 Parallel 1 Game m Dual Floppy Dual H D Controller B Monochrome Graphic Card m 101 Key Enhanced Keyboar
82. 503 342 1283 Reader Service Number 143 MICRO CORNUCOPIA 49 Sept Oct 1989 37 Introducing RENEGADE Not all resident programs are as well mannered as POPUP Some have been labelled thugs bullies and outlaws What have these programs done to war rant such a reputation When some com mercial programs replace the table address of INT 9H they exclude all others and do not allow concurrent use of a resident program like POPUP Let s take POPUP and turn it into a bully Figure 4 lists the assembly language source for RENEGADE The MAIN pro cedure of this program not presented in its entirety in the figure is identical to POPUP RENEGADE performs the same operations as POPUP but it takes over both INT 1CH and INT 9H As mentioned previously INT 1CH occurs 18 2 times per second and does nothing except return from ROM You can use this interrupt to monitor the vec tor table continuously The initialization portion of RENE GADE takes control of INT 1CH and directs it to the CHECK procedure in resident memory You need not save the old INT 1CH vector since it merely ex ecutes an interrupt return The CHECK procedure invoked 18 2 times a second determines whether the keyboard interrupt is chaining directly to the MAIN procedure in resident memory If another program has taken over the INT 9H vector the CHECK pro cedure recaptures it RENEGADE is an example of a selfish resident program It doesn t permit chaining from
83. 52 North Guilford Ave Indianapolis In 46220 317 253 8088 5 00 Shp hnd in USA amp CANADA 15 00 overseas Reader Service Number 106 Mr MOX 99 by Epoch Data Modem operated power controller for your PC Makes any PC with external modem remote accessable Software included Order direct from Epoch Data P O Box 1093 Cardiff CA 92007 619 543 9423 Reader Service Number 135 8031 pu Controller Module 39 95 Shipping 3 00 US 5 00 Canada Ideal for prototypes one of a kind devices or short production runa Perfect building block for PC or Macintosh data aquisition interface or stand alone control projects Assembled and teeted board includes 8031 microprocessor crystal 8K of EPROM 128 bytes of RAM 2 byte wide VO ports and provisions for a MAX232 to provide industry compatible serial I O All ICs are nocketed and I O is via a 2X17 header Size 2 75 by 4 0 OEM discounts Cottage Resources Suite 3 672C 1405 Stevenson Drive Springfield Illinois 62703 217 529 7679 Reader Service Number 158 MINI 386 20 25 MOTHERBOARD 20 25 MHz 80386 CPU On Board Memory Expandable 1M8 2MB AMB 8MB Fully PC AT Compatible Phoenix ROM BIOS PLUS with ROM Based SET UP RESET TURBO LED Jumpers Battery Back Up System Clock Calendar and CMOS Ram Supports 80387 Math Coprocessor Asynchronously Interleaved Memory Access for Zero Wait State On Board Operation Exact XT Dimension and AT Mount
84. 67 Los Angeles CA 90026 404 984 0742 FAX ORDER LINE 404 984 8248 213 665 1397 ALL TRADEMARKS ARE THE PROPERTY OF THEIR RESPECTIVE OWNERS When ordering please specify EGA VGA and disk format Overseas orders please add 4 Reader Service Number 119 Reader Service Number 112 32 MICRO CORNUCOPIA 49 Sept Oct 1989 A Writing TSR Programs Dr Edwin Thall Professor of Chemistry at Wayne General and Technical College of The University of Akron teaches chemistry and computer programming I understand that he has not been terminated though he is definitely resident approach to writing programs when they introduced the terminate but stay resident TSR function call with DOS version 1 1 Software developers quickly caught on and now they make just about every conceivable utility into a resident program Preassigned hot keys pop up such applications as calcu lators calendars address books and notepads As the name suggests resident pro grams remain in computer memory while other programs execute But resi dent programs are also potential disasters since without warning they can corrupt data scramble the screen or crash the system Usually systems crash because DOS doesn t provide the controls needed to maintain peaceful coexistence between two or more TSRs Users seem to be divided into two camps those who swear by TSRs and those who swear at TSRs The intention of this article is neither to
85. 9 buys you both charge your spreadsheet and typing board would be an inspired idea at send them back within 30 days and he hat celli i performance this price even if you didn t get we ll cheerfully refund your 149 95 the hot selling spread Like our famous tactile positive Quattro in the bargain l No questions asked sheet and the EESAN response keys that give After all as InfoWorld says if you How you ask can you take advan TurboCale 111 j 9 o you a much better feel for haven t looked at Datadesk s key tage of this remarkable offer Just fill paransi the road So you can type boards you ought to out the coupon and send it in Keyb oard faster with fewer mistakes According to the Washington Post Better yet call us toll free Calculator than ever before for ingenuity of design and sheer And tell us to step on it And the new enhanced dollar value Datadesk can t be beat For just 149 95 less IBM 101 key layout with And when it comes to your peace ES than Quattro s street some logical improve of mind nothing beats our two year pm hin d a ments including separate TID y Qu Y t its 50 sug numeric and cursor keys at s more if Quattro and Turbo gested retail price you i that let you cruise through Calc 111 don t blow the doors off the DAT ADESK can now get both Bor i spreadsheet data entry vehicles you re currently driving just All individual trademarks and copyrights are acknowledged
86. 95014 408 244 6826 Turbo Pascal For the past nine months I ve been working on a hardware project You know it s one of those design jobs that you can t talk about with your closest compatriots However into every fun project a little software falls This is one of those I O things where I prod lots of A Ds MUxs relays etc Ten years ago I d have done it in BASIC Eight years ago I d have written it in Pascal although I m not sure how there wasn t much hardware support in the old Mi crosoft Pascal Six years ago I d have done it in FORTH Five years ago Id have gone nuts trying to read what I d FORTHed Four years ago I d have written it in C Three years ago l d have written it in Modula Last year I started writing it in Pascal Turbo Pascal 4 0 Units make perfect libraries I write them compile them and use them I write the low level stuff once When it works it works Of course C has libraries but I don t C as well as I Pascal When I C I usually use my old copy of Aztec That PROMPT DELIVERY SAME DAY SHIPPING USUALLY ICs QUANTITY ONE PRICES SHOWN for JUNE 25 1989 OUTSIDE OKLAHOMA NO SALES TAX DYNAMIC RAM SIMM 1 256Kx36 80 ns 400 00 SIMM 1Mx9 80ns 220 00 SIMM 1Mx9 85ns 195 00 SIMM 256Kx9 80ns 95 00 1Mbit 1Mx1 100 ns 41256 256Kx1 60 ns 41256 256Kx1 80 ns 41256 256Kx1 100 ns 41256 256Kx1 120 ns 4464 64Kx4 120 ns aon 120 ns 41264 OM 27C1000 128Kx8 200 ns 27512 64Kx8 20
87. 96 pages ISSUE 43 9 88 Building Databases Build a C Database Selecting a dBase Ill Compatible Compiler Working with Paradox Designing Custom PC Cards Accessing dBase III Plus Records from Turbo Pascal 96 pages ISSUE 44 11 88 Object Oriented Program ming A Taste of Smalltalk Actor Thinking Objectively Building MicroCad Peripheral Technology PT68K 2 Hercules Graphics Printer Dump 96 pages ISSUE 45 1 89 Computer Aided Design CAD In A Consulting Business Choosing PCB Layout Systems Building Circuits With Your Computer Secrets of Optimization Finding Bargains in the Surplus Market MASM 5 1 96 pages To Order Po 1 800 888 8087 Mail PO Box 223 Bend Oregon 97709 United States Issues 1 34 3 00 each ppd Issues 35 current 3 95 each ppd Canada amp Mexico All issues 5 00 each ppd Foreign air mail All Issues 7 00 each ppd ISSUE 46 3 89 Software Tools The Art of Disassembly Handling Interrupts With Any C Hacking Sprint Creating Display Drivers Greatest C Compilers Turning A PC into An Embedded Control System Practical Fractals 96 pages ISSUE 47 5 89 Robotics The LIMBO Project Starting A Robotics Company How To Write and Use A SystemProfiler Problem Solving and Creativity Turn Your XT Into A Controller Writing Code For Two Operating Systems 96 pages ISSUE 48 7 89 Tools For The Physically Impaired The Adventure Begins
88. B layout systems Micro C readers might like to hear of the best bargain available in this type of software autorouting PCB layout soft ware that runs on EGA systems out puts to an HP laser printer and comes with full C and assembly source code The price FREE Interested people can contact the program author Randy Nevin 1731 211 Pl NE Redmond WA 98053 Just send a formatted floppy and a self addressed mailer with sufficient postage The system doesn t have a flashy interface but it works and is sui table for two sided board production The author invites feedback on the pro duct so he can improve it 76 MICRO CORNUCOPIA 49 Sept Oct 1989 David Gwillim 159 Woodbury Road Hicksville NY 11801 3030 ei perjsny 09SZ MSN uMoj oqdure O d LOS xog uenseg M v ured e sem Buddy e rqA preoq ex ay dn Sur pjo inq puru o waas jou prp o1dAey y umop apisdn js n a ysanbar smi paddy suoyrjar euoreurojut poo2 jo s 1 4U1 ay ut yey uosduioq plaeq JN 1no a eseo d nok p noM QUI o oreurau s AT o1d ey ay puas pinom no jt njojei8 aq prnom J Io9piQ 1epu uMo Rebuttal Rebuttal What did I say What did I say Quick pass me that half eaten bag of CCCCs crispy chocolate chip cookies from your editorial in Issue 45 What was it that I said in my letter in Issue 42 that so upset John Mulligan Let ters Issue 45 a self confessed com puter store person I
89. BYTE magazine June 88 ran one LINK UP ran a paraphrase of my data sheet and a photo PCM a Tandy magazine gave MR MOX a mention June 88 A note in a Q and A column in Personal Com puting Sept 88 continued my media barrage Two problems however First the Personal Computing author suggested that it would be better to buy an 8 79 piece of software and an appliance timer for the PC that would turn it on when you were likely to call in Arrrgh The author had obviously never tried to use a PC with an appliance timer 2 prongs vs 3 Plus the PC would crank up every day whether you were going to use it or not Second even when they simply printed the releases the free advertising didn t work There was no flood of orders for MR MOX calling it a trickle would have been generous Then came a break I thought LINK UP wanted to evaluate MR MOX in an MICRO CORNUCOPIA 49 Sept Oct 1989 69 article I sent off a unit and waited ex pectantly And waited And waited I wish now I were still waiting My first indication that the article was out came by phone A modem manufacturer called to say that their unit didn t have the problem described in the article Uh oh What did the ar ticle say I asked the guy on the other end Well it said that your product doesn t work They rated it a poor buy I had to call LINK UP to get a copy of the article The author was a fellow whose name I had seen mostly on book
90. Bureau of Circulations By David J Thompson No Lack Ot Drive Hard Drives Ive been having trouble with my little 20 meg 3 1 2 Miniscribe Just use it for text mostly not the heavy stuff that uses all eight bits but I began hearing this siren sound as the spindle motor slowed down and then came back to speed I called MicroSphere Make sure the DC power connector is firmly at tached Take needle nosed pliers and push in the little metal connectors That seemed reasonable but the symptoms got worse Then not content with slowing down the motor began speeding up trying to improve transfer rate I suppose Certainly not a power problem Ah well I backed up everything using Fastback and trucked the little hummer back to MicroSphere aren t warrantees nice Within half an hour I was back at Micro C with another 20 meg 3 1 2 8425 I really like the little drives because they re very quiet Fired up the system booted off floppy did a low level format g c800 5 FDISK Whoa wait a minute I m the guy who tells people to let their drives run at least half an hour before formatting This would be a great excuse to sit back and I started another low level format made a cup of tea and glanced through an article in the Wall Street Journal about Compaq s new 33 MHz 386 system Something about beating IBM whoever they are in the perform ance race Boy formats go fast when you re reading someth
91. C Tech I sat Raiders Of The Lost Editor across a desk from Earl Hinrichs Whenever my eyes got screwed up from staring too hard at my own screen I would look up at Earl bap ping away at his keyboard like there was no tomorrow Windows flashing by in blinks file menus shooting out and disappearing a split second later He was using Brief Basic Recon figurable Interactive Editing Facility We talked about editors a few times After all we both spend probably more than half our waking lives working with an editor I would tell him a few things about my current editor and he would reply with a counter point about similar capabilities in Brief It was like Duel ing Cursor Keys and Earl was the local furiously picking away on his banjo while my fingers became impossibly tangled in my guitar strings Even so the first year I wasn t intrigued enough to spend any time learning yet another editor After all I had just spent a week or so figuring out how to use Point It did most everything I wanted I thought Express covered the rest I thought I let it slide This spring I was finally ready for a change After using Point for a year I decided that it was just too slow Even on a 10 MHz AT if I had multiple views of a window on the screen and hadn t saved in a while I could type faster than it could accept characters It looked nice cursor movement was fast and the price was right it came free with Logitech Mo
92. Dewdney s column mentioned above in Scientific American If you re interested in expand ing your mind this column will do it for you Editor s note Of course if you re not in terested in expanding your mind you can continue reading Micro C I hope Dewdney will put out a col lection of his columns for those people who are not Scientific American sub scribers Heck I recommend Scientific American all by itself it s a solid scien tific journal for the educated non scien tist I m Outa Here Im putting together a collection of computer based life programs which you can soon find on the Micro C BBS and issue disk Included will be pro grams for the Borland WATCOM and Zortech compilers In addition I ll be putting in a new version of CRITTERS which will incorporate some of the ex tensions I mentioned earlier Please feel free to take these pro grams and experiment with them I d love to hear back about your observa tions As always write me at the above address or send to me via FidoNet NETMAIL at 1 104 45 2 By Laine Stump Redhouse Press Merkez PK 142 34432 Sirkeci Istanbul Turkey Laine discovers Brief but that doesn t mean he s short just Brief as only Laine can be Brief lifelong search for the perfect programming editor Several different editors including my own which my brother and I wrote about five or six years ago have led me down the road Every time I run
93. Drive with a 25 ms access time 1 2Mb amp 1 44Mb Toshiba or TEAC floppy drives 2 8Mb 32 bit memory slots 1Mb of fully optimized 80ns RAM Runs an incredible Norton SI test of 24 2 serial ports 1 parallel port 101 key keyboard Graphics Combo video card with amber or green monochrome monitor Bios socket for an 80387 20 math coprocessor 200 watt power supply clock calendar and housed in a sophisticated tower case Full 1 year warranty Ask for FREE assembly and testing 249 5 Tower Case 2395 sid Case 20MHz 5 200 Less 8 MB RAM Crd 99 32 BIT fK DISK DRIVES Continued AT 40 MB MiniScribe 3650 61ms 339 AT 40 MB MiniScribe 3053 25ms 489 AT 71MB MiniScribe 6085 28ms 631 AT MFM HD amp FD Controller card DTK 110 WD 127 AT RLL HD amp FD Controller 189 MONITORS CARDS EGA CGA Autoswitch 31 dot 385 CGA EGA VGA MultiSync 31 dot 495 CGA Color ees 249 Amber Green 12 TTL 89 Graphics Combo 79 VGA Analog Mitsubishi 28 dot 549 Color Graphics Par Card 49 Mono Graphics Par Card 49 CGA EGA Card ss 175 VGA Analog Digital Card 249 KEYBOARDS Casper Enhanced 101 eO 54 Keytronic KB101 67 Focus 101 Tactile Switchable Control Caps Lock Dust Cover eese 89
94. EGRAND UD FAX 209 651 1353 We accept Bank Americard VISA and MasterCard IBM PC XT AT trademarks of International Business Machines Drives and computer boards not included Reader Service Number 22 MICRO CORNUCOPIA 49 Sept Oct 1989 25 gram tells the CPU what to do with the data The program can convert it to a bi nary coded decimal integer or floating point number before storing it in a user register In Figure 3 the signal is input through a reed relay A multiplexer then selects which input to channel to the A D converter by turning on a relay The typical analog card will have 8 inputs each input capable of handling a current or voltage or thermocouple input Analog Outputs In Figure 4 the analog output oper ates in the reverse of the analog input Each output has a dedicated D A con vertor This D A converter drives a cur rent source thus outputting an analog signal in proportion to the digital infor mation from the CPU A register on the D A converter stores the digital signal so the output will remain constant until the CPU tells it to change or shut up Servo Controller Cards A servo motor controller is one major PLC use Servo motors are used for robots part positioning machine control and a plethora of other uses Servo con trol consists of two separate functions Sensing motor position and changing motor position Servo controller cards have an output driver and an input connec
95. FOR 295 So how can we make this offer why the unbelievable deal Very simply we think all software is overpriced We want to build volume with the booming IBM market and our overhead is low So we re passing the savings on to you AND AT NO RISK When you receive JAT Pascal look it over check it out If you re not completely satisfied return the system within 30 days and your money will be refunded in ful THAT S NOW A COMPLETE PASCAL FOR ONLY 29 95 Senenesennezesd eu seessesseuseseeanuesy TIT I iyi iii rrr yyy yy Still you can easily solve many prob lems having to do with manipulating large amounts of text by using Brief macro programs Most important you can modify your editing environment to be very close to exactly how I want it Epilogue I began using Brief two months ago At first I just used it when I was bored Later as I came up against things I couldn t do with my other editors I RIGHT COMPLETE SATISFACTION GUARANTEED OR YOUR MONEY BACK In addition if you want to copy the diskette or looseleaf manual so long as it s not for resale it s o k with us Pass it on to your friends This is a Limited Time Offer SO ACT TODAY DON T DELAY ENJOYING PASCALS ADVANTAGES AT 29 95 THERE S NO REASON TO WAIT To JRT SYSTEMS P O Box 187 i Enola PA 17025 SA phone 717 732 1093 O K You ve sold me Send me JRT Pascal by return mail understand that if I m not co
96. I wouldn t get anything else done You know it s hard to make the computer play a really intelligent game Most game writers create a dumb algorithm but give the computer some kind of advantage such as pro ducing men faster I worked hard on the game algorithm so the computer could play by the rules and still be competitive Anyway after Cal Tech I knew it was a good game I tried to sell it on my own It sold okay in spite of my efforts but mail order consumed too much time filling orders an swering letters Just a lot of details that don t interest me I didn t want to be involved in that end of things So I collect royalties on the game and on C The thing with royalties is that you work and work and work and it s hard to keep in mind that eventually you re going to get paid for it Most people won t work for royalties because of the lag Anyway Interstel takes care of sales and promotion In fact Empire was just reviewed in Penthouse But I m getting ahead of myself let s see where was I Yeah I start with one city explore about I capture more cities with my armies make more armies expand my territory cap ture more cities Hey there s an enemy troop ship Where s one of my destroyers Geeze it s getting light outside Can t be it was midnight just minutes ago Empire 49 95 Interstel P O Box 57825 Webster TX 77598 713 486 4163 ASMFLOW I haven t done any assembly language programming lately
97. ICALLY ADVANCED The only disassembler that disassemles all instruction sets including 80386 80387 e And has a built in patcher to make changes without having to re assemble DIS DOC also includes BIOS labeling and its own word processor in its package DISeDOC is a proven programmer s tool and is simply a must for the consultants programmers or analysts We CHALLENGE you to find anything that can beat DiseDoc DIS DOC 99 95 EXE Unpacker 29 95 FREE DEMO DISK add 4 00 for S amp H in the USA 10 00 for outside USA 30 day money back guarantee To order or get more information CALL 800 446 4656 today RJSwantek Inc 178 Brookside Road c Newington CT 06111 emm 203 560 0236 Reader Service Number 142 MICRO CORNUCOPIA 49 Sept Oct 1989 59 Maybe this is just my problem I m trying to make Brief be everything I ve worked with Maybe there s a much more convenient way of searching that I haven t thought of yet A Fixable Problem The final complaint in my notes is the inability of the BPACKAGES facility to recognize wildcards t 01 in filename extensions I encountered this problem when trying to set up BPACK AGES to turn on the word processing package wp automatically whenever I edited a text file The problem is that I use the exten sion of text filenames to indicate a sequence number For example letters to my brother are given the names CECIL 001 CECIL 002 etc I tried to make BPAC
98. KAGES recognize this with the command SET BPACKAGES 0 wp which should mean whenever you see a file extension with a 0 at the beginning load the wp macro package Unfor tunately it didn t work If I wanted to I could do it by specifying every possible extension all 999 of them but The best solution is to rewrite the BPACKAGES stuff to recognize wild cards Even better would be to rewrite BPACKAGES to accept regular expres sions for file extensions Then I could do this SET BPACKAGES 0 9 wp That s one nice thing about Brief If a facility isn t there the tools to imple ment it are Support Since I seldom ask for support from Istanbul I don t know anything first hand about support from Solution Sys tems The one thing I do know is that Earl sent several letters to them asking for information on upgrading to version 2 1 and they never replied I guess they didn t want his money However they do have an 800 num ber which reportedly gives toll free sup port in case your Briefs need extra sup port Price The final bad thing about Brief is the price 195 Of course if you believe what Patrick O Conley said in On Your Own in issue 48 it makes sense 60 MICRO CORNUCOPIA 49 Sept Oct 1989 extern display file name macro zoom window zc A Solution Systems is just keeping out the geeks and nonserious users by pricing their product above the Well hyuck t
99. MMERS the simplest most complex tools you will ever use to create a user friendly interface between your program and the computer operator Thirty functions provide for the design and control of menus in either a text or graphic screen and the number of menus is limited only by your computer memory Menus sup port only C amp Pascal Create bit mapped screen fonts icons amp graphic mouse cursors The keyboard or mouse will control the pro gram flow CREATIVE INTERFACE TOOLS is yours for only 69 95 MAXX DATA SYSTEMS INC 1126 S CEDAR RIDGE SUITE 115 DUNCANVILLE TX 75137 1 800 622 8366 214 298 1384 FAX 214 709 7674 All user modules furnished as source code No run time system No royalty fees System requirements PC XT AT CGA EGA VGA DOS 2 1 or greater 384K RAM Output routines provided for Turbo C 1 5 amp 2 0 Turbo Pascal 4 0 amp 5 0 Turbo Prolog 2 0 amp Turbo Basic 1 1 MAXX DATA and CREATIVE INTERFACE TOOLS are trademarks of Maxx Data Systems Inc Other brand or product names are trademarks or registered trademarks of their respective holders Copyright C 1989 by Maxx Data Systems Inc Reader Service Number 151 MICRO CORNUCOPIA 49 Sept Oct 1989 21 go to four bits per element Two differ ences arise in the code Figure 3 shows the important program segments inter spersed with pseudo code First each byte of hexadecimal image data now contains two points instead of eight No r
100. MS would like to depose Borland in the Pascal market and they re counting on objects to do it Are objects really that important Look at AI Prolog started out with fireworks and then By the way what did happen to Prolog Maybe Gary remembers Prolog However I was talking to Bruce Eckel the other day and I mentioned some of Blaise s Pascal libraries most useful PC COMPATIBLE ENGINEERING Annabooks gives you the hardware software and firmware information you need to design PC compatible systems faster and better And you have con trol of your design from the ground up our firmware and software pro ducts include source code Plus all the utilities you need Do hardware design Decter Desiga s 1M DRAM SuperSpec is the first of a series of hardware books you won t want to miss And a PC Bus timing book is on the way Start by getting these books AT BiosKit an AT Bios with source code you can modify With setup amp debug 380 pages with disk 199 XT BiosKit includes a debug 270 pages with disk 99 Intel Wildcard Supplement for XT BiosKit Includes ASIC setup turbo speeds 60 pages with disk 49 1M DRAM SuperSpec Design your memory to all mfg s specs at once Lots of timing diagrams amp tables 79 PromKit Puts anything in Eprom or SRAM DOS your code data you name it With source on disk 179 SysKit Here s a debug monitor you can use even with a brand X Bios Includes source of course 69 XT AT Handbook T
101. Name are data fields Declare an object like this type objecti anObject anObject object X Y integer procedure doSomethingWithX amp Y end X and Y are still data fields and the procedure doSomethingWithX amp Y is a method for manipulating anObject An object consists of everything we know about it Data which define the variables of the object and code which manipulates the object are together in one box a box that can be both black and white at once ie polymorphic but more on that later To use a record we access its data via dotting or via a With statement recordl X 2 3 recordl Y or With recordi do begin X 2 Y 4 end We use the same methods to manipulate objects dotting or a With statement cbjectl X 2 With objectl do begin X 2 Y 2 3 doSomethingWithX amp Y end Think of an object as a descendent type object that first inherits all the power of an ancestor type record and then extends itself with methods anyObject object record methods end If a record is a container for data fields then an object is a container for data fields and methods Notice that we don t have to pass X and Y to doSomethingWithX amp Y do SomethingWithX amp Y already knows about X and Y because they re both con tained within the same object i e they share a scope Everything in an object methods and data is shared It s a small t
102. No 49 az 1989 3 95 T E ICRO TEG H N Il sAW JO U RN AL MICRO uae ra I O TO ts Off To Work We Go Want to know where the hackers are They re busy automating industrial processes It s easy Very easy Building A Controller pages The Easy Way Motorola s 6805 contains everything you need for I O control except the A D convertor Programmable Logic page 23 Controllers Driving Steppers page 28 Low Cost I O page 42 For The PC Bruce looks at off the shelf I O boards And More PostScriptals page 16 How Larry produced this cover Writing TSR Programs page 33 Interfacing 16 Bit Devices page 83 Much Much More 7447019388 EE SNNT UT ai et LIMITED OFFER Dayjusitestrect D HOP OWRD GG wie eves dodi Tivelve function Switch selectable Separate numeric keypad that switches to Tivo Control keys for increased Erasable template for all IBM XT a multi function business calculator and Altemate automatic to label your function AT PS 2 and with tilt up LCD display Includes memory keys for operation hey assignments compatible square root and percent keys ambidextrous Switch allows Systems Keyboard and Solar panel operation you to swap Positive Extra la pn niin P lalake status to power the Isolated position of Ctrl tactile patil el gummi tl indicator lights calculator and Caps Lock feedback ackspace a even when Ese RE click keys 14
103. ODE is CODE oat i ASSUME Ca CODE MPO INIT 2 LABEL DWORD DW 2 DUP 2 IN DB 4000 DUP USt 0 o EID 00 por Pt CX 4000 new screen E TABLE SEGMENT GINT oH VECTOR oo a it GoTo INITIALIZATION ROUTINE p c S INT 9H ADDRESS IN ROM P ue i 5 STORE OLD INT 9H VECTOR STORE ORIGINAL SCREEN SAVE SHIFT STATUS CODE CHECK NEW SCREEN STATUS SPOF E SCREEN D 2 NEW INT 9H VECTOR POINTS BERE d ENABLE INTERRUPTS o e SAVE REGISTERS vs P SIMULATE INTERRUPT RETURN OLD KEYBD ROUTINE IN ROM RETURN KEYED FLAGS ISAVE SHIFT STATU BOTH SHIFT KEYS SOURCE SEGMENT SOURCE OFFSET VOICE MASTER KEY VOICE RECOGNITION SYSTEM FOR PC COMPATIBLES amp TANDY 1000 SERIES A FULL FEATURED VOICE 1 0 SYSTEM GIVE A NEW DIMENSION TO PERSONAL COMPUT ING The amazing Voice Master Key System adds voice recognition to just about any program or application Voice command up to 256 keyboard macros from within CAD desktop publishing word process ing spread sheet or game programs Fully TSR and occupies less than 64K Instant response time and high recognition accuracy Voice recognition tool box utili ties are included A genuine productivity enhancer SPEECH RECORDING SOFTWARE Digitally record your own speech sound or music to put into your own software programs Software provides sampling rate variations graphics based editing and data c
104. ONIC SUPPLY xDEST scanner input SORpy 2 x3 5 and 5 25 Software diskettes xPop up Menu for ease of use TION ay AlLap Le xComprehensive instruction manual Now for the cost of a clone the real thing a full featured fax card that supports a wide variety of printers Epson Okidata HP LaserJet 150 amp 300 dpi and others Incoming fax can be printed during reception spooled or saved to disk for selective printing after review on your graphics display This single slot card is supplied with the normally optional Hayes compatible 300 1200 baud plug on modem to permit sharing the same phone line between the FAX and your normal modem tasks This is not some OEM packed unit It is the real thing current list price 995 00 Our low price is 379 00 optional 300 1200 baud modem provided at no additional cost Quantities are limited Order Now REQUIRES DOS 2 0 AND ABOVE DEDICATED PRIVATE RJ 11 SINGLE PHONE LINE 640K RAM HARD DISK GRAPHIC DISPLAY CGA EGA OR HERCULES ALSO AVAILABLE AT HSC ELECTRONIC SUPPLY OF SACRAMENTO 916 338 2545 AND HSC ELECTRONIC SUPPLY OF SANTA ROSA 707 792 2277 Toll Free Orders Only 800 4 HALTED ELECTRONIC California Residents 408 732 1573 HSC FAX Line 408 732 6428 e SUPPLY Ho Eicon esouce GES 48 Tang VRA 3500 RYDER STREET SANTA CLARA CA 95051 10 1 89 Shipping UPS Surface unless otherwise specified by purchaser All items subject to prior sale Orders shippe
105. OS load DEBUG and enter the following program omit comments A gt DEBUG A100 DS 0100 JMP 0110 BY PASS DATA DS 0102 DB STAY RESIDENT DATA DS 0110 MOV DX 0110 PROT TO HERE DS 0113 INT 27 TSR DS 0115 ENTER The program takes up 21 bytes offsets 0100 0114H and can be viewed by typ ing D100 114 DS 0100 EB OE 53 54 41 59 20 52 45 53 49 44 45 4E 54 20 DS 0110 BA 10 O1 CD 27 Later you can search resident memory to locate this code The 256 byte program segment prefix PSP precedes the code The PSP occupies offsets 00 FFH and is made resident along with the code You can display the PSP with DO FF Here s how the program works The first instruction JMP 0100 bypasses the data DB statement The next instruction MOV DX 0110 specifies that the pro MICRO CORNUCOPIA 49 Sept Oct 1989 33 gram be protected up to but not includ ing offset 0110H When the program ter minates with the last instruction INT 27H the PSP offsets 0000 00FFH and code offsets 0100 010FH become an ex tension of the resident portion of COM MAND COM Save the program as RES27H COM NRES27H COM RCX CX 0015 RBX BX 0000 W Since DEBUG cannot invoke Interrupt 27H return to DOS and execute the pro gram Reload DEBUG and use the S com mand to search the first 64K bytes of memory for the program s code When searching the initial 64K bytes of com puter memory you must set the
106. On Your Very Own Computer Will there be life after computers Who knows There certainly was life before computers even though it wasn t worth watching happening all around It s the time of flower ing in these parts bright petals of color cover the forest floor On the 17 of April our daughter Elora was born a perfect child if I might say so myself She is quite a joy day and night My wife and I took our new child on her first wilderness hike when she was seven weeks old We took the Mill Castle Trail along Mill Creek into the West Elk Wilderness Two miles in we stopped when the trail crossed Mill Creek primarily because the baby couldn t swim if she fell in and had lunch in an Aspen grove There wasn t a human in sight the nearest was probably several miles away In the shadow of those jagged cliffs we could feel a presence We would have stayed later but a fast moving mountain thunderstorm rolled down the valley chasing us back to our Jeep We got soaked but enjoyed every minute of it The planet we live on is fantastic I suppose I d better start talking about com puter programming After all that s what this column is supposed to be about TOOLKIT The craft of producing computer programs has undergone a massive change during the last decade For those of us who have been a part of this industry since its earliest days it s like walking in the Emerald City after fighting off the Wicked W
107. SE treeNode morecord Bu Ee link rlink treePtr us ue data key dataPtr 5 datalen keyLen word end C treeNode DNE procedure GenBinInsert var node creeper key dataPtr 1 us keyLen word data dataPtr dataLen word procedure GenBinRetDelSnRec var node treePtr var key dataPtr var keyLen word var data dataPtr var dataLen implementation gn a ee E a DE procedure GenBinInsert ar node treePtr i key databtr keyLen 1 word a data dataPtr dataLen word if node ma then o Begin nr Ru word You ve Seen Your Computer Run Now Watch It Fly IBM PC XT AT 386 Blue Flame II SemiDisk Solid State Disk Emulator Featuring a PC DOS MSDOS and Concurrent DOS Compatible m Very Fast Access 6 4 Mbits sec a High Capacity Up to 8 MB Per Board s Expandable to 32 MB m Battery Backup Option s Hardware Parity Checking a No Mechanical Wear SerniDisk Systems Inc ii Special Intertacing 11080 W Allen 400 m Prices Start Under 600 Beaverton OR 97005 503 626 3104 FAX 503 643 0625 Reader Service Number 162 _Are You wee Take Micro Cornucopia With You Please send us your new address at a Micro Cornucopia PO Box 223 Bend OR 97709 Old Address Name Street a City state a Zip Code a New Address Street City a State Zip Code s MICRO CORNUCOPIA 49 Sept Oct 1989 81 T R By William K Rohwedder and Wayne L Ever
108. STALL C 675 error 65 codbif undefined VIN Edit source file then press lt CTRL gt for next error lt ESC gt for nenu Finally you can choose the best editor for your needs without compromising performance or paying too much And organiza tions that want the same editor for everyone can pick VEDIT for most users and VEDIT PLUS for their power users The new family of VEDIT text editors are upwards compatible easy to use and offer exceptional performance flexibility and stunning speed 3 to 30 times faster than the competition on large files where speed really counts Call for your free evaluation copy today See why VEDIT has been the 1 choice of programmers writers and engineers since 1980 VEDIT Jr Unmatched performance for only 29 All VEDIT editors include a pull down menu system with hot keys context sensitive on line help pop up status and ASCII table a configurable keyboard layout and flexible unlimited keystroke macros Edit files of any size and any line length Perform block operations by character line file or column Undo up to 1000 keystrokes keystroke by keystroke line by line or deletion by deletion Automatic indent block indent and paren theses matching speed program development Word wrap paragraph formatting justification centering adjustable mar gins and printing for word processing Run DOS programs VEDIT A best value at only 69 Simultaneously edit up to
109. T The memory control block defining RENEGADE s PSP is modified and can be viewed with DEBUG A gt DEBUG D0000 60D0 60D4 0000 60D0 4D 00 00 14 02 The identifier byte prevails as 4DH however bytes 2 and 3 are filled with zeros RENEGADE has been purged from resident memory and its memory blocks released The next TSR is not stored in this vacated area but immedi ately following the memory control block containing 5AH A hole develops in resident memory and all newly installed TSRs are placed above POPUP CALL DOS gt PSP SEGMENT BLOCK RELEASE PSP BLOCK ENVIRONMENT SEGMENT BLOCK FCALL DOS E9 jORIGINAL INT 9H VECTOR 19 FF 00 F0 ORIGINAL INT 1CH VECTOR Software packages are available that can disable and later enable a resident program These utilities are resident pro grams that save entire interrupt vector ta bles prior to the installation of every TSR To disable a resident program all in terrupt vector tables except one are loaded in the same order they were saved The address of the disabled pro gram will be excluded from the chaining of one handler to the next Although the code remains in resident memory the program has no mechanism for activa tion Reenable the dormant TSR by rein stating in the proper order the excluded interrupt vector table In Closing As the number of TSRs continues to multiply a set of guidelines would be helpful
110. The input to the D line tells the flip flop what to do If D is high clocking makes Q high and not Q low Grounding D does the reverse Note how the two flip flops are cross con nected Reversing Circuit The reverser consists of 1 of a quad CD4070B exclusive NOR gate used as a controllable inverter see Figure 4 When line three is high the gate in verts When three is low the gate does not invert The extra inverter in front of the second section makes it produce the complement of what the first section is doing TIP129 4 Driver Transistors The 10 000 ohm resistor in the base circuit limits base current to something safe This value is not critical The transis tor is the Texas Instruments TIP 120 darlington A darlington is two transistors in one case with one driving the other This al lows the device to switch large currents despite very low drive currents The TIP 120 can switch voltages of up to 60 volts and currents of up to 5 amps Since in this application they are either on or off the only heat dissipation comes from their own internal resistance The 12 volt Airpax steppers we used have 65 ohm coils These draw only 220 milli amps from a 13 8 volt supply The TIP 120 transistors don t even get warm At less than a dollar a transistor I saw little point in using smaller or cheaper transistors If you have the room use the TIP 120s or equivalent for the reliability an oversized componen
111. Valley Road Valley Heights NSW 2777 Australia UNTS amp By Michael S Hunt 2313 N 20 Boise ID 83702 208 233 7539 Keeping Order Generically Are you out of sorts Are your friends out of sorts Well here s the sort for all sorts the ulti mate generic sort You can sort all your generics this way sort shellsort heapsort bubblesort in sertionsort and binsort to name a few Although each of these sorting methods has its pros and cons all accomplish the same end sorted data we hope by different means Usually they re implemented for a specific data structure Each time the data structure changes we face the task of modifying the sort routine In keeping with the spirit of reusable tools how about a sort routine that handles any data structure As I mentioned last issue one of my new toys at work is a VAX cluster running VMS VMS has many many many built in routines for the programmer The SOR routines make up one set The SOR routines let you sort or merge re cords and files with a few simple system calls The unit GenSort see Figure 1 only supports sorting of records A full emulation of the VMS SOR routines would require about three to four times the source code I hope to make clear how the routines work so you can use them and adapt them to your specific programming style and needs I ll cover them in the order of use Ts are many ways to sort data Quick GenSrtBegin This
112. accuracy better than 60 ppm parts per million and a 5 1 2 digit digi tal voltmeter DVM Thus the board may be under 300 but the equipment necessary to calibrate it can cost thou sands I m a novice when it comes to calibration but it seems like you could get by with the DVM and a couple of standard cells Some manufacturers will recalibrate the board for you for a fee and some commercial laboratories offer a calibration service Future Things Next issue I O Yet Again I plan to apply all the information I ve told you about here The example I have in mind is to capture a voice waveform from a microphone display the waveform on the screen and then show the frequency components of the waveform by doing a fast Fourier transform Until then pleasant dreams and good filtering Editor s note I ve noticed that everyone does fast Fourier transforms these days I wonder if they re anything like the much slower Fourier transforms we did by hand in engineering lab Products Mentioned Halted Specialties PCL 712 295 3500 Ryder Street Santa Clara CA 95051 800 4 HALTED Outside California 408 732 1573 Inside California Rapid Systems PCL 712 395 433 N 34th St Seattle WA 98103 206 547 8311 Real Time Devices Inc AD1000 295 P O Box 906 State College PA 16804 814 234 8087 FAX 234 6864 Lawson Labs Model 140 from Personal Computing Tools as the ACCUE 140 265 17419 Farley Road
113. address of your code changes System debugging Soft ICE is a natural Soft ICE is ideal for full source level debugging of TSRs interrupt service routines self booting programs DOS loadable device drivers real time kernels non DOS O Ss and ROMs Soft ICE can even debug within DOS amp BIOS New Version 2 0 How Soft ICE Works Soft ICE uses the power of the 80386 to sur round your program ina virtual machine This gives you complete control of the DOS environment while Soft ICE runs safely in protected mode Soft ICE uses the 80386 to provide real time break points on memory locations memory ranges execution I O ports hardware amp software interrupts With Soft ICE you get all the speed and power of a hardware assisted debugger at a software price Don t want to switch debuggers You don t have to Soft ICE can run stand alone or it can add its powerful break points to the debugger you already use Use your favorite debugger until you require Soft ICE Simply pop up the Soft ICE window to set powerful real time break points When a break point is reached your debugger will be activated automatically MagicCV with Soft ICE Using Soft ICE with CodeView gives you the features necessary for professional level systems debugging MagicCV and Soft ICE can work in concert with Code View to provide the most powerful debugging platform you will find anywhere These may be the only two products I ve seen
114. airport eras ing your disks Just to satisfy my own curiosity I carried some disks through the metal detector and sent others through the X ray machine at Dulles airport I then tested the disks and guess what the data was fine Now for the bad news If you travel overseas there s a possibility that they ll use different equipment with higher dosages That means there s a possi bility your disks could be erased But don t worry All airports will allow you to have items inspected visually instead of by X ray The only item that should never be X rayed is photo film with an ASA of 1000 or higher Here comes the worst news of all The biggest potential for data loss during air travel comes from vibrations and static electricity Under most cir cumstances your disks will not suffer damage if they re packed tightly and are well padded But static electricity can zap your disks in a heartbeat At 35 000 feet air temperature is ap proximately 40 F with only 3 humid ity That air is taken in compressed and warmed up which brings the humidity down to 1 With the low humidity there s a lot of static electric ity Simply moving around the plane will generate more So keep your hands off your disks during flight The bottom line is that U S airport security systems will not damage your disks Using a laptop computer or touching a disk while flying can be dangerous If you re traveling overseas with disks or a laptop
115. ams Tele windows is the CD component of the Tele Operating System Toolkit Tele works on all PC s based on any member of the 8086 family Demo Diskette 5 refundable with purchase SK system kernel 50 multitasking CD console display 40 windows requires SK FS file system 40 MS DOS media requires SK OS core 130 SK CD and FS Telephone support is freely available The Tele Toolkit is available from Crosby Associates P O Box 248 Sutter Creek California 95685 CALL NOW TO ORDER 209 267 0362 FAX 209 267 0115 Visa Mastercard American Express amp Discover Card accepted MS DOS is a trademark of Microsoft Corporation Reader Service Number 147 MICRO CORNUCOPIA 49 Sept Oct 1989 53 54 MICRO CORNUCOPIA 49 Sept Oct 1989 sif dead are food x e _setcolor food_ color else setcolor 0 _setpixel x y i xe if dead are food 2 food supply 9 free temp critter pi critter Femp critter next void movement void cus Vibe int i x yE Sd Ant pval move struct critter temp critter C t critter first _oritter ome temp critter t NULL quc d erase critter from old posicion me for x temp critter gt posx 1 Ea lt temp rictor gt posx t i o ttx A for y temp exitter gt posy 1 oy lt temp critter Posy 1 y gatcolor 0 IA Pr Un YT T p gt select movement a d move randva
116. an expensive OS 2 develop ment kit The library also supports multithread programming with no built in limits to the number of threads TheLatticelinker librarian editor debugger and utilities run in DOS OS 2 and family mode Lattice is the OS 2 leader The Leader in Productivity The Lattice C Development System now includes the utilities that our customers professional C pro grammers use mostoften Of course the system is based upon our C com pier editor linker librarian and de ugger In addition we now include our powerful project maintenance lt gt LSS E gt Lattice Professional Programming Tools Since 1981 2500 S Highland Avenue Lombard IL 60148 BORAT k on Top tool Imk which is an advanced version of the UNIX make utility Build diff extract file splat ed and wc enable you to easily main tain your source files and cxref produces comprehensive cross reference reports Lbind produces family mode executables that can run under both DOS and OS 2 Lattice is the productivity leader The Leader in Libraries Our library has often been praised forits comprehensive and sophis ticated features Now we include graphics communications and curses libraries The communica tions library supports XMODEM YMODEM KERMIT and ASCII protocols The graphics library provides a graphic windowing model Curses provides a UNIX compatible screen manager Lattice is the libra
117. an t think of any thing else to write at least write in Ex tensive Computer Experience This line Figure 4 Digital to Analog Conversion 1 VOLT Vcc SIGNAL OUT 3 D A CONVERTER SERVO CONTROLLER ERROR AMP pulling apart a steam turbine freeze when they re called upon to touch a computer Some have never had the chance to use computers and some just aren t interested This gives computer users a real opportunity for employment Industry requires some skills that seem trivial to us Simple things like copying a disk or changing a hard drive directory appear insurmountable to an untrained user More advanced tasks such as batch file writing or 123 work sheet configuration are other common problems I found a user who turned off the computer each time he wanted to change programs That was the only way he could get back to the root directory When you fill out an application at an industrial plant be sure you include any FEEDBACK CURRENT SOURCE CURRENT OUTPUT ENCODER is enough to pique the interest of an in terviewer However be sure you re ready with a short concise explanation of your experience Include any programming languages you know and the different types of equipment you ve used One final benefit of industrial employ ment is training Industry knows that most industrial equipment is a long way from the computer mainstream So they look for people who have a basic under
118. ases I know I could have done better with the pictures I sent B amp W prints to all my targets If you are the artistic editor of a slick mag and have a choice between techno surrealistic visually interesting photos from HP Compaq and AST and a dull but functional B amp W pic which would you choose Editor s note I m thinking Don t count on someone else doing your work for you No agent or rep or retailer is as interested in your product as you are Perhaps it seems obvious but it s so very appealing to think some one else will do the job you don t want While the odds are against your generating a retail market it s not im possible If you have an in with a re tailer give it a try But prepare yourself to encounter the sort of attitude I found while pushing Floppy Pockets Another invention of mine that attached to ex isting hanging folders so you could keep your floppy discs Oh never mind That s another story Anyway this stationery store buyer described to me his recollection of a product that a large respectable com pany tried to foist off on him He knew it wouldn t sell The company was 3M The product Some silly little sticky pads and they only came in yellow Stay Tuned Has all this discouraged me Yep It looks as though MR MOX is a bit of a sleeper a niche product where the cost of finding buyers exceeds the price of the product It s still available make no mistake about that
119. ataPtr 3 0 kc word begin if ValidSrtld srtId then begin EES P ukeim le o S E uum GetMen key srtStatArr srtId JkeyLen US gestat rro Ie Eig dataten tkey key for j 1 to ertKeyArr ort1d nbrKeys do begin o cif srtKeyArr srtId key j datatype E D GenSrtDType BE pon then begin Se 3 they Chars zec ertKeyhz srtTd key 3 offset Inc Perhec tkey ofs 1 nd lse if srtKeyArr srtId wey 1 datatype cenSrtDType B then begin Lo r Chars rec eztKeyAze ert1d oe key 3 Loftset ne PtzRec they ofs 1 else i srtKeyArr srtld key 41 datatype de GenSrtDType LIRE then begin E tkey Chars rec sztKeyArz szt1d er key j offsettl pegernec oko ofs l gt abkey Chars rec sztKeyAer srt ia FAYOL offset E ne PtrRec they ofs n c0 send c c se else if srtkeyarr srtta key dataty ee GenSrtDType C then begin QU S ey Chars rec artKeyAr _ Ino PtzRee they ofs 1 ET it srtKeyArr srtld GenSrtDTyp ST MICRO CORNUCOPIA 49 Sept Oct 1989 79 srtStatus word m srtldo word GensrtRetrlever rec p srtStatArr srt1d srtState Gensxtst_ RET the f srtstatrs srtidl s nbrRec gt o 683000 SK DOS A 68000 68020 DOS containing everything you expect in a DOS on line help multiple directories floppy and hard dis
120. ate 1 inch then the y coordinate 0 9 inch and moves to that position This x y order for parameters remains consistent for all PostScript operators rlineto stands for relative line to and constructs a line path to a point 0 inches along the x axis and 0 5 inches along the y axis relative to the point we moved to in the third line of code You can also use an absolute coordinate version called lineto But I prefer rlineto since you never really have to know where you are By the way don t yield to the tempta tion to code something like NewPath PostScript s case sensitivity will shoot you down in flames stroke actually draws the line until now it was defined but invisible As you can see from the example a path need not be connected Finally showpage out puts our efforts to the printer at least it does in theory The Un text File l PostScript interpreters take pure ASCII text I made the rash assumption that my trusty Turbo Pascal editor could generate Po tScript programs Well it can except for the last byte When I found that even a single line program showpage wouldn t execute I dug out my documentation always a last resort and found the answer Post Script files require a D end of file mark instead the more familiar MS DOS Z You can still use your favorite editor in ASCII mode to write PostScript pro grams but you ll need to take an extra step 18 MICRO CORNUCOPIA 49 Sept Oct 1989
121. atiCard with UniForm PC 8 Drive adaptor External 5 drive cable Compaticard Il by MicroSolutions Two drive version of the CompatiCard sorry no 8 or single density CompatiCard Il CompatiCard I with 1 2M or 3 internal drive Megamate by MicroSolutions This is the 31 2 drive package that you ve been waiting for Run 720k or 1 44M diskettes in this attractive external drive Comes complete with its own controller card Easy to install just plug it into your PC or AT and go Megamate 329 95 MatchPoint PC by MicroSolutions The MatchPoint PC board for the PC XT AT works with your standard controller card to let you read and write to NorthStar hard sector and Apple Il diskettes on your PC INCLUDES a copy of the UniForm PC program as well as utilities to format disks copy delete and view files on Apple DOS PRODOS and Apple CP M diskettes MatchPoint PC Board 179 95 MatchMaker by MicroSolutions Now you can copy your Macintosh diskettes right on your PC XT AT with the MatchMaker Just plug your external 31 2 Macintosh drive into the MatchMaker board and experience EASY access to your Mac diskettes Includes programs to read write initialize and delete files on your single or double sided Mac diskettes MatchMaker Board MatchMaker w External Mac Drive 325 00 Hard Disks for CP M systems Pep up your CP M computer with hard disk per formance Our simple to install kits allow you to connect up to
122. came active A few lines in the AUTOEXEC a program to interrogate the state of CD via a BIOS call and suddenly your PC was smart enough to know if you were sitting in front of the screen turning the power on or calling it over the modem If modem then CTTY COMI turns control of the PC over to the phone line You probably won t remember the article because it didn t appear I had even offered to sell the PC boards and parts kit with just enough markup to cover the cost of the PC lay out I was convinced that this was something that people would want to do Ts story begins with the unsolicited ar Why I Designed The Product I had recently worked at two separate loca tions one north of home and one equally far south After a full day in the south I didn t feel like driving north so I arranged for the installa tion of a modem operated switch at the north ern office which only had one phone line I also put a simple appliance timer on the modem only Turning it on from 7 p m to 7 a m gave me access to the office PC and let the one phone line do double duty daytime voice nighttime data It was great This was not revolutionary technology but I was sure that if it was easy and convenient more people would want to take advantage of it Besides there seemed to be no one else who had done it right Black Box Catalog sold something called a Line Operated Relay for 100 but it was made for a teletype machine You had to w
123. ccelerate or stop smoothly The RC time constant of R1 R2 and C1 determines the 555 s frequency of oscillation When C1 reaches 25 of Ve the capacitor discharges and another cycle begins Since this fixed internal voltage ratio determines the frequency of oscillation changes in supply voltage will not affect the clock frequency Once you determine the values for R1 R2 and C1 the supply voltage can be anything between 5 and 15 volts The 555 circuits speed frequency contro works by simple parallel re sistance With lines one and two low no charge current flows to C1 and no oscil lation occurs The stepper sits idle the current passing through its coils acting as a brake Yes I know what you re think ing I ll handle that problem later We now make the time honored prin ciple of parallel resistance work for us R1 gives one charge rate R2 gives one that s faster Thus if line two is high the motor will revolve faster than if line one R1 is high If both are high the charge rate is much faster since the combined re sistance of R1 and R2 is lower For example R1 Line one 68 000 ohms R2 Line two 33 000 ohms Line one high 34 Hz Line two high 62 Hz Both high 84 Hz I would use small ten turn screw driver adjustable pots for R1 and R2 This makes the inevitable after construc tion fine tuning much easier The 555s have one other peculiarity that bears watching When the output pin 3 goes f
124. ce New critters have an in creased chance of moving in a particu lar direction If a critter reaches a certain age and has not yet reproduced it dies of old age Critters also die from starvation when they have a zero energy level Details Take a look at the constants I ve de fined at the beginning of the code These 20 values specify the program s behavior and changing them can radi cally alter the lives of the critters Try changing just one value to see what happens Changes in the values for food value move cost max mutant and max age make significant varia tions in the way critters live and die If you re so inclined you can change the value of dead are food to a nonzero value This makes dead critters turn into food and radically changes the environ ment After initialization the program will enter a four part loop containing repro duction which also includes dying movement which includes eating food Continued on page 55 52 MICRO CORNUCOPIA 49 Sept Oct 1989 start crit nt start food nt repro energy ae age const int mutate parent dead i are food You asked to see more And Tele created windows to your world Berry Computers presents The Tele Toolkit a complete Operating Systems Kernel Fast pop up windows No change in programming model Transparent use Those are just some of the advantages Tele windows will give you Tele windows work like
125. ce to reflector dis tance and d is the reflector to detector distance No product just the inverse square of the sum of the distances As Mr Nansel has pointed out we are measuring power per unit area The dimensional analysis must be consistent with these units The square of d a length is consistent with area but the fourth power of d is not Neither of the two parts of the article published so far have made it clear just what the upper and lower range limits are So it isn t possible for the reader to estimate the limits of sensor input and thus determine whether he needs a log rather than a linear amplifier I hope upon reflection Mr Nansel sees the light puns intended Don E Sweet 2161 Snowberry Road Tustin CA 92680 Editor s note When I read Bob s article for the first time my physics antennae went up too So I gave him a call to set him straight on inverse square fall off Neither of us could convince the other how wrong he really was so I headed off to the library to check out Bob s reference to something called the radar equation I dusted off an ancient tome on radar and there it was an inverse fourth power relationship Now whether this equation is empirical or founded in theory I can t say And it still feels wrong to me Anyone have anything to add to this powerful con troversy The airlines are certainly hang ing on this one LCF To List Or Not To List I have enjoyed your magazine
126. ceive 7 FREE disks of our best public domain games XT SYSTEM Includes 640K RAM serial parallel game ports clock calendar 101 key keyboard turbo switchable slide cabi net power supply Graphics Combo video card with amber or green mon itor Full 1 year warranty Ask for FREE assembly and testing 4 77 10 Mhz with 2 360K floppies 725 1 FD and 1 Miniscribe HD 4 77 10 Mhz with 20 Mb HD 929 4 77 10 Mhz with 30 Mb HD 955 AT SYSTEM Includes 640K RAM 1 2 Mb FD 1 44Mb FD 40 Mb Miniscribe 3650 HD serial parallel game ports clock calendar 101 key keyboard turbo switchable slide cabinet power sup ply Graphics Combo video card with amber or green monitor Full 1 year warranty Ask for FREE assembly and testing 610 Mhz 1249 612Mhz 1295 Color options for any kit includes video card and monitor GGA Colon iio ie cco pias 175 CGA EGA Color ee 380 VGA analog with Mitsubishi monitor 650 CGA EGA EGA 480 Multisync eee 450 Parallel LPT 1 2 or 3 Serial Port Card 1 installed Switchable Com 1 2 30r 4 18 Kit for 2nd SerialPort 18 Multi 1 0 Serial Par Game 32 2nd Serial Kit L 20 Multi Drive Controller 39 Supports 1 44 720K 1 2 360K drives PC XT Floppy Controller 19 Multi function 1 ser par clk game 2 floppy 47 64
127. ces Ltd Surrey England TEL 01 940 9480 FAX 01 948 2851 La serGo Inc TEL 619 530 2400 FAX 619 530 0099 9235 Trade Place Suite A San Diego CA 92126 LaserGo GoScript are trademarks of LasarGo Inc PostScript is a registered trademark of Adobe Systems Inc All other product names are trademarks of their manufacturers Reader Service Number 144 MICRO CORNUCOPIA 49 Sept Oct 1989 41 Low Cost l O For The PC A D Boards Hit The Cheap Seats Bruce checks out three inexpensive mul tipurpose I O boards to see if they measure up and if so how fast they do it Plus he covers signal conditioning and board test ing how to build your own hardware from chips boards wires and solder If no one makes what you need or if you re trying to save money or if you want to learn how to build circuits then rolling your own is a great method Often though it s almost impossible to justify building it yourself If they make it in Taiwan a saying goes chances are you can buy the board built and debugged for less than the cost of parts Low cost data acquisition boards for the PC are a recent addition to the it s cheaper to buy it than build it phenome non Over the years l ve watched the ads for analog to digital A D cards and I ve suddenly started seeing products in the 300 range which are too impressive to pass up In the first part of this article I ll dis cuss some of the feature
128. ciates shared a platform in a joint presen tation to a users group It was a meeting of the Communications SIG of the Capital PC Users Group SIG chairman Walter Nissen s diplo matic skills proved equal to the formidable task of arranging the simultaneous appearance of the ARC rivals Nissen had carefully enjoined both speakers from attempting to rehash the SEA v PKWare lawsuit at the user forum Katz and Henderson accepted his strictures I called Nissen immediately after the confer ence was held There were only the most remote references to the lawsuit he said al though many in the audience seemed curious about it The two combatants apparently spent most of their time discussing the future of archiving and compression utilities According to Nissen Katz and Henderson agreed that there would probably be some movement toward compatibility among archiving pro grams But there were no signs that either party was prepared to move in that direction Katz of course is bound by the terms of the lawsuit settlement to re frain from producing programs that work with ARC format archives unless he and SEA were to agree on a license arrangement Although Katz has placed his new ZIP format in the public domain Henderson did not specifically address it Nissen thought compatibility didn t interest the speakers as much as it did the members of the audience From the speakers perspective it s easy to unde
129. command or file name Until computers routinely offer DWIM capabil ity Do What I Mean we ll have to watch what we type DOS is not particularly helpful here Sure you can reissue or edit your last command but unless you use DOSEDIT or CED all the prior commands are history Steven Calwas of Modern Software has entered this arena with his own command line editor Anarkey Now at version 2 00 Anarkey boasts a mix of features The Up and Down arrow keys sequentially retrieve command lines from the command buffer which is a standard approach among command line editors However Anarkey also lets you enter the initial characters of the com mand you want to retrieve it will search the history buffer to retrieve the command you started to enter The command line history buffer can be written to or read from disk The command completion feature of Anarkey extends to filenames as well matching on a file as soon as you have entered enough characters to get a unique match You may stack commands on a single line Your input strings can have up to 255 char acters You may use aliases including the standard replaceable DOS parameters 1 through 9 If these features are not enough you may enjoy using Anarkey to reconfigure your key board and retrieve environment variables for editing Anarkey can be reconfigured too Calwas provides a utility to edit Anarkey s defaults Its standard history buffer is only 500 charact
130. ction 19H to get the cur rent drive number Then I call DOS in terrupt 21H function OEH which selects a drive and returns the number of logi cal drives Finally I figure out the num ber of the first hard drive Once I know the designation s of the hard drive s I check its status I do this by calling DOS interrupt 21H func tion 1CH get drive data If the func Soo Y od S o tion returns FFH the drive is not valid 7 GET ADL THE DRIVE INFO m If there s no FFH I add the number b to the valid drive list Since I know the drives I m checking are hard drives I don t have to bother about checking the drive type The routines store all the inf rimation in the global variable drives I ve in cluded lots of remarks so you shouldn t have much trouble reading the code The routines could be improved by thoroughly examining each drive e g for color noise level I ll let you fig ure this out As the code stands only RAM disks aren t correctly identified Jeffrey Donovan 1515 Santa Barbara St A Santa Barbara CA 93101 MICRO CORNUCOPIA 49 Sept Oct 1989 93 MICRO CORNUCOPIA BACK ISSUES Is There A Gap In Your Info Fill in your Back Issues of Micro C today ISSUE 1 8 81 Power Supply 1 2 PFM PRN 16 pages ISSUE 2 10 81 Parallel Print Driver Drive Motor Control 16 pages ISSUE 3 12 81 4 MHz Mods Configuring Modem 7 Reverse Video Cursor FORTHwords Begins 16 pages
131. cuit in Figure 1 for 16 bit data transfers Another set of input and output chips could be wired to IOW302 and IOR302 for control to pro vide data ready end of conversion strobes or handshaking capability The IBM AT manual recommends a maxi mum of two low power Shotty LS loads per line The outputs of tri state chips in the high impedance state do not draw enough current to consider them as loads on the bus lines Construction We wirewrapped the interface on a Vector Electronic Co Model 4617 1 plug board The board comes with a paper layout of each side a universal bracket and an instruction sheet containing the AT bus pin names and locations We soldered the power and ground wires not shown in Figure 1 to the wirewrap pins using 22 gage wire At each chip we also soldered in a 0 033 uF bypass Then we wirewrapped the signal Figure 1 Circuit Diagram Of Sixteen bit AT Interface TUO PORT ADDRESS DECODER 7418139 DATA OUT READ 4 DATA IN 19 ours 18 7415244 2 ing 18 17 OUT IN1 OUT2 IN2 OUT3 IN3 AL 1joj o 74 9574 74LS244 d gt o Ol N o A gt a MICRO CORNUCOPIA 49 Sept Oct 1989 83 lines point to point to reduce crosstalk I O CS16 The IBM AT manual defines the I O CS16 line as an input to the AT bus which indicates to the system that the data transfer is a 16 bit 1 wait state I O cycle The manual does not say why it s impo
132. d m TTL Monitor 12 w 20MB Hard Disk 40MS Assembled amp Tested IBM9 AT Compatible MS DOS OS 2 amp UNIX Compatible m 80386 20 8 MHz Norton V4 0 SI 22 E Phoenix BIOS B 1MB expandable to 16MB RAM W 80387 Coprocessor Socket m 220W Power Supply m 1 2MB Floppy Drive W Ports 2 Serial 1 Parallel 1 Game m Dua Floppy Dual H D Controller m Monochrome Graphic Card m 101 Key Enhanced Keyboard m TTL Monitor 12 m 40MB Hard Disk 28MS ODUOMS Airie rhoaa saan we PPSS RENE SO Call DplOMSS uc dei s inc eode phe EN ER PI Ren Call ODpJOHSUcusesickbisek etes n vete ERE Call 1 199 1 495 1 995 J J 5 DISK DRIVES MONITORS PC XT PC AT Fujitsu 360k Citizen CD 120 149 Samsung amber 79 640k TurboMothrbrd 80 McTek 286 20MHz Kingtech CRT Portable Kits Fujitsu 1 2MB Citizen CD 180 189 Samsung EGA color 359 10MHz TurboMothrbrd 85 McTek 286 12 259 XT AT power supply case LEE HPLASAR Serial2 1699 Samsung RGB color 259 Multi 1 O w disk contrir 59 McTek 386 16SxX 429 keyboard monitor Teac 1 2MB Epson LX 800 219 NEC Multisync 559 640k RAM card 39 McTek286 20MHz 699 cene joel us Teac 3 1 4MB 89 Epson LQ 500 379 Sony Multiscan 619 2MB Expansion card 89 McTek 386 24MH
133. d Benchmarking The PCs 104 pages ISSUE 30 6 86 PROLOG On The PC Expert Systems Logic Programming Building Your Own Logic Analyzer 256K RAM For Your 83 Kaypro PC DOS For Non Clones 104 pages ISSUE 31 8 86 RAM Resident PC Speedup Practical Programming In Modula 2 Unblinking The PC s Blinkin Cursor Game Theory In PROLOG and C 104 pages ISSUE 32 10 86 Public Domain 32000 Hardware And Software Writing A Printer Driver for MS DOS Recover A Directory By Reading amp Writing Disk Sectors 96 pages ISSUE 33 12 86 ISSUE 34 2 87 ISSUE 435 4 87 ISSUE 36 6 87 ISSUE 37 9 87 SOLD OUT ISSUE 38 11 87 Parallel Processing Laser Printers Typesetters And Page Definition Languages Build A Graphics Scanner For 6 Part 2 Writing A Resident Program Extractor In C 96 pages ISSUE 39 1 88 PC Graphics Drawing The Mandelbrot And Julia Sets Desktop Graphics Designing A PC Work station Board Around the TMS 34010 96 pages ISSUE 40 3 88 The Great C Issue 11 C Compilers Writing A Simple Parser In C C An Object Oriented C Source Level Debugger For Turbo C 96 pages ISSUE 41 5 88 Artificial Intelligence 3 D Graphics Neural Networks Logic Of Programming Languages Applying Information Theory 96 pages ISSUE 42 7 88 Maintaining PCs Keeping Your Hard Drives Running Troubleshooting PCs XT Theory of Operation Simulating A Bus Ray Tracing
134. d assorted text data bases flow easily between brain and computer 9 9 David M Kalman Editor in Chief Data Based Advisor September 1988 E QEdit supports 101 key key boards EGA 43 line mode and VGA 50 line mode E Great for use with laptops QEdit edits files entirely in memory saving drain on laptop batteries E Compact Even with all these features QEdit requires less than 50k of disk space Full 30 day money back guarantee System Requirements 1 QEdit requires an IBM PS 2 PC AT PC XT PC PC Jr or compatible Minimum system requirements are 64 KB of memory PC DOS 2 0 or MS DOS 2 0 or greater 50 KB of disk space QEdit runs GREAT on floppy based systems and laptops Reader Service Number 127 6 6 The editor s speed windows and other features make it among the best text editors I ve ever used 99 George F Goley IV Contributing Editor Data Based Advisor September 1988 To order direct call 404 428 6416 ome ESS i Add 3 00 for shipping 10 00 for overseas shipping UPS and DAY AIR available within the U S for ONLY 5 00 COD s accepted please add 3 00 Georgio residents add 4 sales tax biens tia cna Rs didicit dud SEMWARE 730 Elk Cove Ct e Kennesaw GA 301 44 QEdit and SemWare are trademarks of Applied Systems Technologies Inc 1989 Applied Systems Technologies Inc MICRO CORNUCOPIA 49 Sept Oct 1989 19 translates buffer i
135. d by means other than UPS Surface will be at the prevailing carrier rate plus 5 00 surcharge All orders under 20 subject to 2 00 fee our minimum order is 10 shipping All orders shipped FOB Santa Clara California Orders to APO and FPO addresses are shipped via U S Mail i 1989 HSC Electronic Supply a Halted Specialties Company Reader Service Number 11 MICRO CORNUCOPIA 49 Sept Oct 1989 13 A2D first clears the SPI data transfer flag by reading the SPI status register It then pulls the A D chip enable line low by clearing bit 3 of MCU port C Next the A D moves the channel number to the high nybble as expected The MCU transmits the channel number to the A D by writing to the SPI data register The loop at SPIFLP simply waits for the data transfer flag to go true indicat ing that the two chips have exchanged data The MCU then pulls the chip enable line high deselecting the A D Fi nally the byte transferred from the A D loads into the ACC and control returns to the calling program This explains why the A D always lags the MCU by one conversion Each SPI operation exchanges data between the MCU and the A D Following the ex change the A D reads and converts the voltage on the newly selected channel The value it reads on that channel isn t returned to the MCU until the next SPI exchange Burning And Testing Once you ve written the software it s time to download the program into the MCU s EPROM I hook
136. d turns on the output The PLC s ROM contains the execu tive operating program In many ways this executive can be compared to CP M or MS DOS It handles communications between the user program and the hard ware The executive program also han dles math and timer functions and trans lates ASCII text Digital Inputs The most common industrial input to a PLC is 120 VAC Other common inputs are 24 VDC and 5 V TIL All these in puts are handled the same way only the components change The circuit drawing in Figure 1 shows a common way of interfacing process sig nals to the PLC bus As the 115 VAC signal comes into the card resistors R1 R2 lower the voltage Then the AC signal goes to full wave bridge D1 for conversion to DC Next R3 and C1 filter the signal and D2 a Zener diode limits the voltage to the relay The operation of the LED confirms the relay coil is energized A set of contacts on the relay allows a signal to flow to the input of a quad bilateral switch A typical input card will have 16 of these inputs It will have 4 of the quad bilateral gates which the CPU will scan as a 16 bit word Energized inputs will read as 1 and unenergized inputs will read as 0 Output Cards Take a look at Figure 2 When an out put is required the CPU will send a sig nal to the card This signal drives the base of T1 and energizes the relay coil The LED confirms that the relay coil is energized D2 bleeds off the rever
137. dd sales tax PS 2 trademark of IBM Corp All our products come with a 30 day money back satisfaction guarantee Not copy protected To order or receive additional information just call 1 800 662 8266 V COMMUNICATIONS INC 3031 Tisch Way Suite 802 Dept M3 San Jose CA 95128 408 296 4224 Reader Service Number 62 40 MICRO CORNUCOPIA 49 Sept Oct 1989 0000 60D0 4D OE 06 14 02 D3 E8 8C DA 03 C2 A3 1C OB B8 00 0000 60E0 CD 20 22 08 00 9A FO FF OD FO 8C 02 42 05 99 02 The memory locations beginning at 0 60D0H represent the memory control block for RENEGADE s PSP code Another memory control block appears three paragraphs below It begins at 0 60A0H and also points to RENE GADE s PSP segment at 060EH This memory control block identifies the en vironment The information stored here includes the path and file name used to load RE NEGADE Removing a resident program requires the release of memory blocks belonging to the environment and the PSP code We re ready to execute EVICT Figure 5 the program to purge RENEGADE from resident memory EVICT is an un sophisticated program and its sole pur pose is to demonstrate how to remove a single resident program from DOS 2 10 For EVICT to work properly RENE GADE must be the only TSR installed If necessary reboot the system Use the DEBUG A command to enter EVICT The program restores the original vectors for Interrupts 9H and 1CH then releases
138. defend nor attack the widespread use of TSRs but rather to explain thoroughly how they work I ll present two ex amples one well behaved and the other a pully We ll also explore removing a resident program without rebooting the system and Microsoft ushered in a new Resident Versus Transient Memory COMMAND COM is divided into three components the resident initializa tion and transient portions The resident portion is loaded in lower memory im mediately following IBMDOS COM In terrupt vectors 21 24H point to routines within the resident portion This portion also contains the bulk of the error re covery messages Once loaded the resi dent portion remains in memory The initialization portion of COM MAND COM loads immediately above the resident portion when the system boots This portion initially takes control and displays the prompts for the date and time It also runs the AUTOEXEC batch file if one is present The first pro gram from disk overlays this section of memory The transient portion loads in the high end of COMMAND COM and can over lay one interim program with another As resident connotes permanency tran sient implies temporary The responsibili ties of the transient portion include dis playing the DOS prompt and reading as well as executing commands The tran sient portion also contains the routines to load COM and EXE files into the appro priate memory location for executio
139. derstand we ll soon see a new 60 MHz 486 How soon is open to speculation There s a good chance Intel will run into timing problems after all the chip will be doing a fair number of things in a short amount of time I know a lot of silicon engineers hard rock miners who d be hard pressed to do that much stuff that quickly Don t misunderstand I don t have a pick to grind Intel can make chips fly fast and furious but I reserve the right to finish If you thought Borland s popup product was great just wait until you see OpalFire s MyFLIN for Pascal MyFLIN is a TSR program that captures procedure and function details directly from the screen while you are programming It saves this information in an indexed database for instant recall at any time you need it MyFLIN vill save you hours of searching thru pieces of paper looking for parameter details when calling a procedure Simp ly type part or all of the name and press the hotkey MyFLIN will popup over your source code and display the nearest named description you have stored in your database complete with parameters and comments To save a new description positon the cursor on the procedure name popup MyFLIN and press A to add The details will be captured from the screen and saved with a single keystroke and you can add a comment line as well Price 69 00 5 00 P amp Post Visa Mastercard American Express are accepted OpalP ire Software Inc 329 North S
140. digital value of the converter This error is specified in both differential con verters and differential amplifiers as the common mode rejection ratio CMRR A CMRR of 10 means that the device processes one volt of common mode as though it were a differential signal of 1 microvolt at the input Often instrumentation amplifiers op amps designed for use in a differential configuration for instrumentation have a much better CMRR than an A D con verter In addition they ll take a differen tial signal and turn it into a voltage with respect to ground Thus with one device you reduce the common mode error and allow a single ended board to read a differential signal Input Impedance There s another reason you may want to use an instrumentation amplifier at the front end of your system An instrumen tation amplifier has an especially high input impedance The input impedance is what the amplifier looks like to the cir cuit it measures In effect when you measure some thing you attach a resistor to ground at the point you re measuring If the value of the resistor is low a lot of current will be drawn from the circuit and the be havior of the circuit will change This means you won t see the real behavior of the circuit while you re measuring it It also means that the ideal input im pedance of the system you use to per form measurements should be infinite so you don t draw any current from the cir cuit being
141. ding Bend by tele phone Unfortunately I have found many staff who don t understand their pro duct range a lot who believe that they do some who make an effort to learn and some who have been very good Perhaps the good ones get promoted to managers Salesmanship is more impor tant than technical expertise on the shop floor Anyway my original comment was aimed at the pretenders To other matters I see that DJT of Micro C the tall skinny guy with the startled expression is suggesting that the answer to the Ultimate Question of Life the Universe and Everything is a variable See Culture Corner Issue 45 A daring contention Just when the world was getting comfortable with 42 Still the idea does have consistency with the Uncertainty Principle Unless of course with your blossoming confi dence you may task Larry to look at Schr dinger s cat and declare that the Uncertainty Principle is not a sure thing Avant garde stuff Obviously Micro C thinks it can make waves in the mainstream of contemporary publica tions But be mindful of the puddles you are leaving behind Speaking of changes I am glad the full frontal is back to the fr nt so to speak Thanks for the CCCCs but one didn t taste too good Could it have been a Buffalo chip cookie Having reread this letter I hope there are no sensitive Sylvester Stallone fans out there I may be running the risk of another nasty gram Bevin J Pettitt 84 Sun
142. double up one set of lt gt s so they d print mainly because Laine s article arrived late as usual The problem here is in the table NewlIntTable bottom of page 48 Micro C s program ate the brackets lt gt around the table entries and the inter rupt number which is the first member of the structure A correct printing of NewlIntTable is in Figure 4 References Solution Systems 541 Main Street Suite 410 South Weymouth MA 02190 800 821 2492 Ext 351 617 337 6963 MA and outside U S RABBIT GAS PLASMA PORTABLE CHICONY LAP TOP MCTEK EGA PORTABLE xLCD PORTABLE ALSO AVAILABLE 80286 12 CPU 640K MEMORY EXPANDABLE TO 4MB DUAL SPEED 6 12 MHZ 0 WAIT STATE LANDMARK 16 MHZ 5SLOTS EXTERNAL 5 25 PIN DRIVE PORT CGA MGA EGA 640x400 4 GRAY SCALE 101 KEY ENHANCED KEYBOARD GAS PLASMA DISPLAY 1 PARALLEL 1 SERIAL 200WT AC 110 220 AUTOSWITCHABLE EGA MGA MONITOR PORT 9 PIN HARD DISK FLOPPY DISK CONTROLLER 80286 16 CPU 0 WAIT STATE NEAT TURBO PAGE MODE SPEED UP TO 21 4 MHZ 1MB ON BOARD EXPANDABLE TO 5MB EMS V 4 0 CGA MDA EGA 640x400 4 GRAY LARGE GAS PLASMA DISPLAY 1 2MB FLOPPY AND 40MB HARD DISK B4 FN ENHANCED KEYBOARD e 1P 2S D 9 and D 25 REAL TIME CLOCK 100W AC 110 220V SWITCHABLE 14 8 x 13 4 x 3 7 15 4 LBS CARRYING BAG w SHOULDER STRAP 286 12 CPU LANDMARK 16MHZ 640K DRAM EXPANDABLE TO
143. dula and older Logitech Mice But I was ready for some thing new Also I had decided to get a new PC Tech Mono II board and double page display This display can support at least 160 columns of text While no other editor I knew of could handle that size of display the ads for Brief claimed that it could drive displays up to 255 columns by 127 lines That was enough for me to dig in and try it What Is It How about a brief overview Brief is a text editor with a very powerful macro language It can display multiple windows on the screen at MICRO CORNUCOPIA 49 Sept Oct 1989 57 one time each showing a different or possibly the same file It is especially well suited for programming with things like automatic indenting and automatic compilation and error display it can make any compiler into a Turbo compiler Although Brief has tons of features and is very fast its most important aspect is the macro language This is not just a simple keystroke recorder The Brief macro language is full enough that many parts of Brief itself were written as Brief macros You can write your own macros to extend Brief or modify existing parts of Brief It includes the source code to the parts of Brief written in the macro language Review I could go through a standard ma gazine review form and tell you how many seconds it takes to save the standard file what the maximum line length is how many windows it can display and
144. e 24 bidirectional I O pins can drain up to 25 mA the HC705 interfaces directly to LEDs beepers LCD displays and other low current devices You can run this chip with an external crystal of up to 4 2 MHz Vda 5 0 volts the internal bus runs at half the crystal frequency I O and option registers special purpose addresses give you software control of the CPU s RAM EPROM layout I O ports counter timer and communication sys tems ee0e0ae0ertr7r7 777770 068 59 0 09 0 9 7A rn 0 peeeeersrn nr rs 7 2 0 eeeoeeseveoenrsrnenrtanannheeoeee eeeeeonrnrnr ne 020 08 e e e q e t e e T eoevcecerwvweotcaoeve e c 8 t 4 c e D i n i NE ABA A e s aae sint ca el FM By Karl Lunt 4730 W Menadota Dr Glendale AZ 85308 602 869 6146 work 602 582 5863 home v 06 9 699 90909 EY eeeeeece o Proto Board for Example Project Small Right The on board Serial Communication Interface SCI handles asynchronous se rial I O though you must provide your own RS 232 level shifting 12 V to 12 V You control baud rate and port setup through I O registers A Serial Peripheral Interface SPI adds high speed syn chronous I O up to 1 05 Mbit sec You can use the internal 16 bit counter timer system as part of a real time clock frequency counter or waveform generator You can
145. e available on issue disk 49 6 or the Micro C BBS Next Time One of the problems with using the GenBinTree see Figure 2 unit is that if you insert the data into the tree in a somewhat sorted order either ascend ing or descending the tree begins to re semble a linked list Insertion times be come lengthy and the sort performance goes to heck If you keep the tree balanced then search and insertion times get better The AVL method named for developers Adelson Velskii and Landis is one way of maintaining height balanced trees Height balancing does cost It requires additional processing time to keep the tree balanced A balance factor the difference between height of the right and left subtrees of a node must be stored with each node A programmer has to weigh the advantage of faster access speed i e data retrieval against the comput ational and storage overhead of keeping the tree balanced The height balanced tree is ideal when you ll build the initial tree and then make very few insertions and deletions but make many queries Join us next time when Joe Reader says Is that really a full blown generic data AVL height balanced tree tool box And Michael Midnight Program mer Hunt replies Yes siree it really mP 1S 78 MICRO CORNUCOPIA 49 Sept Oct 1989 RootArr array 1 MAX SRTS of treePtr NextSrtId word gt us vord AE M TUS T done boolean begin ue E Ss
146. e the port address and the IOR or IOW lines it must accept data from the data bus or present data to the data bus during the active IOW or IOR 82 MICRO CORNUCOPIA 49 Sept Oct 1989 Designing 16 bit interfaces is straight forward if you follow two rules connect the I O CS16 feedback shown in Figure 1 and use only even numbered ports Circuit Description We used the inverters in the 74LS04 to generate logic one inputs to the 74LS30 NAND gate for the chosen port address The correct I O port address produces all ones at the 8 inputs to the NAND gate which in turn produces a logic zero at its output pin 8 The decoding includes the AEN bus line to prevent DMA transfers from activating the interface The IBM Technical Reference for the AT a lot of money for very little informa tion assigns port addresses hex 300 through hex 31F to their prototype card This would appear to be a good place to put experimental interfaces Hex 0 to hex 1F is 16 even numbered input ports and 16 even numbered output ports The in terface circuit in Figure 1 decodes only 4 input and 4 output ports Enabling the 74LS139 2 to 4 decoder chip requires a logic 0 at the 1G or 2G input The 74LS32 OR gates supply this logic 0 only when the output of the 8 input NAND gate is low and either IOW or IOR is low thus enabling the decoder We decode address lines A1 and A2 along with IOR IOW to choose one of the eight devices The eight outputs of
147. eal problem we just shift left by four bits after loading a point into the data byte instead of by one The second difference makes life inter esting Instead of creating one file we need four one for each layer of the color separation But how do we choose the color intensity for each layer Color Assignments I would have liked to treat the color assignment a little more intelligently but i s an inherently stupid process Shift gears and think about character genera tion for a moment Once you ve defined a matrix of dots for the letter A you can t just add one and get B I don t think you can say puce 1 either so T opted for brute force Carol and I sat down with a color guide and picked out a bunch of good lookin colors arranged in a more or less continuous spectrum Then for every color I approximated the percentages for each of the four layers of the separation by choosing the 1 digit hexadecimal number closest to the percentage re quired Then I added a bunch of new colors since I had 16 levels to chose from instead of the 11 shown in the color guide and plugged the values into that big ugly switch statement in get layersO Odds And Ends A few dangling mysteries and we ll be in good shape In file header there s a new operator called setscreen The L300 defaults to an 80 line screen or 80 half tone cells per inch But we print Micro C at 150 lines So the first of setscreen s operands forces t
148. ed up my PGMR board to the PC started the PROG7 pro gram and applied power to the PGMR unit It only took a few minutes to burn the MCU s EPROM After programming the MCU I in stalled it in my test board see Figure 2 I hooked up a Radio Shack experimenter s board as a test bed using a 5K poten tiometer across Vda and ground for my voltage input to the A D chip Applying battery power caused the MCU to go through its reset sequence it immediately began running my program If I varied the setting on the potentiome ter the LEDs blinked in the appropriate pattern I measured the following vol tages using an analog VOM 1 thre shold green LED starts blinking 1 2 volts 2 threshold red LED lights 24 volts 3 threshold red LED starts blink ing 3 7 volts full scale voltage analog reference voltage 5 0 volts I need to stress a point about CMOS circuit design Motorola recommends that you tie all unused input pins of the MCU to Vaa through 10K resistors Several such pins exist in the example design but the schematic does not show any pullups While you can usually get away with this in the prototype stage of noncritical designs it is not good practice Your pro ject is more vulnerable to static damage 14 MICRO CORNUCOPIA 49 Sept Oct 1989 Figure 3 A2D Read Selected Serial A D Channel in ACC port C bit 3 active low channel number 0X HH HF OX X 00 0X channel number
149. em For ex ample I located the perfect power strip in which to install MR MOX Holding it in my hand I ordered that part by Manufacturer s Model Number What I got with the same model number was a power strip from hell half the size of my example single outlets in stead of duplex pairs and it was riveted together This was just the beginning Relays that I could get routinely in five days suddenly became three month special orders from Japan Of course my PC boards would accept only this brand With naive dedication I checked every trace T D Eye Hy RZ WAN o Q the PC layout person should have put down before the boards were fabbed I might as well have gone fishing sure they fixed the errors that I found but 3 4 of the fixes were done wrong I even wound up special ordering the cardboard boxes after I found out they weren t available locally As usual it s the small things that cause the most frustration Finally I was held up for an entire month by a total flake of a graphic art ist I finally accepted trash she d pro duced just to get rid of her Eventually though the only hurdle left was marketing my product Only Here my dream turned into something of a nightmare Those of you who want to market your own pro duct Beware You are not reading a success story here The facts are true I have omitted the names to protect the guilty Got Those Marketing Blues The greatest product
150. ers Interrupts tell the computer s central processing unit to suspend what it s doing and transfer to an interrupt han dler program The handler quickly takes the appropriate action and then returns control to the suspended program The 8086 8088 80286 family supports up to 256 interrupts classified as internal hard ware external hardware or software in terrupts Certain events encountered during program operation such as division by zero generate internal hardware inter rupts Peripherals such as the keyboard generate external hardware interrupts Any program can request a software in terrupt The initial 1 024 bytes of computer memory are known as the interrupt vec tor table Each table entry consists of four bytes pointing to the address of its han dler Figure 1 provides the first 128 bytes of this table for DOS version 2 10 Each four byte position in the table corresponds to one interrupt type 00 FFH and contains the segment and off set of its interrupt handler To find a par ticular interrupt in the table multiply the interrupt type by four For example INT 9H is stored in offsets 36 39 0024 0027H and points to address F000 E987H in ROM Our main programming interest in in terrupt vectors is not to read them but to change them so they point to a new in terrupt handling routine Writing interrupt handlers has the reputation of being difficult and best left to experts Actually the procedure is
151. ers long but you can expand it In standard con figuration Anarkey requires less than 7400 bytes of memory The 50 page user s manual contains lots of 66 MICRO CORNUCOPIA 49 Sept Oct 1989 examples In it Calwas explains the standard Anarkey functions the use of the AKA or alias feature applications of environment vari ables and the default editing utility According to the program s order blank you owe a modest 25 if you plan to continue using the program If you use Anarkey for more than a month without registering you are in violation of the license agreement If you truly appreciate shareware and want to en courage authors to keep distributing software in this way you won t flout the honor system that keeps it going There is a special registra tion schedule for commercial institutions Steven Calwas has also arranged for ac cepting new registrations by credit card via the Public Software Library at their toll free num ber 800 2424 PSL Visa or MasterCard Anarkey version 2 00 Personal registration 25 Update for registered users 6 California residents add 7 state sales tax Steven Calwas Moderne Software P O Box 3638 Santa Clara CA 95055 3638 The ARC War Peace Talks You can t fight in here gentlemen This is the war room Dr Strangelove The unlikely happened in Bethesda Mary land on June 7 1989 Phil Katz of PKWare and Thom Henderson of Software Enhancement Asso
152. ersing circuit Produces a selectable 180 phase reversal on one drive coil to set direction of rotation Motor coil drivers Transistors which take their control from CMOS outputs and in turn control high current motor coils Speed Control I offer two methods of supplying the clock pulses to the phase shifter One a fixed frequency clock that uses 1 2 of the CD4001B NOR gate that you already have see Figure 2 The other uses the ever popular 555 timer see Figure 3 In either case I need a clock that runs between 10 and 70 Hertz From that you can infer that Mr Woodpecker didn t move too fast at first Later he got much faster but that s another story Your application and the capabilities of the stepper motor you re driving will Figure 3 555 Clock R1 MICRO CORNUCOPIA 49 Sept Oct 1989 29 determine the frequency range you need Some can move faster than others The advantage of the 4001 clock is simplicity The disadvantage is that an on board potentiometer sets the speed The 555 al lows a simple means of software speed control at the cost of a few more parts Why speed control Your robotics project might appear to work just fine at one speed Ours did until John speeded it up It turned out that the Woodpecker s mechanical parts did not like being slammed around by sudden starts and Stops By incorporating one additional bit I could select three different speeds Thus the Woodpecker could a
153. espective companies
154. ethods by default are static so we effectively override this default by using the keyword virtual Whew Virtua methods as you should begin to expect positively get interesting about here That s where I ll bail out for this issue Thanks to Borland International for letting me have an early look at Turbo Pascal 5 5 and Turbo Debugger 1 5 which includes debugger support for objects Thanks to Blaise Computing for let ting me use their terrific Turbo Pascal Toolbox now recompiled for version 5 5 Power Tools Plus includes several tools for generating windows menus and TSRs It s a timesaver deluxe for only 99 Blaise Computing Inc 2560 Ninth St Ste 316 Berkeley CA 94710 415 540 5441 Also thanks to Osborne McGraw Hill who furnished me a galley of the object oriented chapter from Stephen O Brien s new version of the Complete Turbo Pascal Reference O Brien develops a neat little airplane object which il lustrates the basics of extending Turbo Pascal with objects Recommended for getting your feet wet Finally thanks to Bruce Eckel for stimulating conversations in the Elk mountains If you want to leap into the depths of object oriented programming C style check out his book Using C also from Osborne McGraw Hill Bruce really knows objects And that friends is Tidbits MICRO CORNUCOPIA 49 Sept Oct 1989 89 T1000 Battery Upgrade The Toshiba T1000 contains 4 sub C batteries On
155. evice inde pendent And as far as I can tell it succeeds very well no mean achieve ment in the world of hard copy output devices It does this by means of a Post Script interpreter within each printer The interpreter hides all device dependencies giving your PostScript code true portabil ity You can change a device s default par ameters from within your program thereby mucking up the program s porta bility And of course that s exactly what we ll do But I m getting ahead of my story The Basics Adobe Systems created PostScript and wrote three books that make up the Post Script Rosetta stone They do read a bit like an IBM Technical Reference but with a much better plot Anyone who quotes Woody Allen and Napoleon in the same book can t be all bad If you want to do serious work with a PostScript applica tion buy these books To work Let s build the cover illustra need alignment lines called crop marks to keep the work from being printed sideways So first we need line drawing capability PostScript defines a page with origin at the lower left corner a comfy spot for the mathematically inclined among us The default measure is the point with 72 _ points to the inch Printers like points but I grew up with inches The PostScript line inch 72 mul def By Larry Fogg Micro C Staff teaches the interpreter the meaning of inch The slash keeps the interpreter from inter
156. f you re soldering the wires to the battery pack yourself Use 90 MICRO CORNUCOPIA 49 Sept Oct 1989 stranded wire about eight inches long Why two leads from each pole Be cause the design allows for separate cir cuits between the battery and the com puter and the battery and the charger However as currently configured the computer doesn t take advantage of that separation The connector that attaches the batteries to the motherboard is hard to come by so you ll have to improvise Fortunately the male side of the con nector is on the PC board Before you remove the female connec tor 1 Back up your D drive if you have a RAM drive card to a floppy because as soon as you disconnect the battery you ll lose all files and D will have to be reformatted from the C drive the ROM chip before it can be used again 2 Note carefully which two pins have the red positive wires attached and which have the black negative wires The configuration of the pins will look like this B B RR BzBlack R Red After you solder or crimp a quick disconnect to the black and red wires you ll slip each over the appropriate pair of male pins You should pick the female disconnects that most closely match the spacing of the pins then ad just them with a small screwdriver blade until they fit smoothly over a pair of pins Solder or crimp those connectors on the wires Then wrap each with electri
157. g Pee aen And TurboCalc 111 is made to calculator even when your computer Gr sche nk R order for Quattro Or for any other is idle Mail to Datadesk 7651 Haskell Ave Van Nuys CA 91406 FAX 818 780 7307 software you like to drive We wouldn t steer Or Call 800 826 5398 In CA Call 800 592 9602 Because as you can see it s loaded you wrong 7 with features designed to turbo Frankly getting into a Datadesk key 0 DAY TOTIS CURAN Reader Service Number 8 You can make software engineering faster and easier than its ever been before The high performance QuickMod by Stony Brook delivers a compilation speed that exceeds 15000 lines per minute on AT machines And its a true two pass Modula 2 compiler with an intelligent environment that determines dependen cies automatically and builds your pro gram with a single keystroke You do little more than enter the program text then let Stony Brook handle the work load QuickMod is more than a supercharged compiler it is a fully supported package backed up by a text editor a linker a library manager a symbolic debugger and a runtime library that offers more func tionality than anything else on the market All for 95 Versions available for DOS and OS 2 1989 Gogesch Micro Systems Inc QuickMod V2 0 Compiler Just think what the two of you can ido And when you need more horsepower you can move into the Professional Modula 2 Stony B
158. generate new populations based on the genetics of the few survivors of the earlier colony Eventually the population will die out completely although this usu ally happens only after several thou sand generations The longest lived group I ve seen yet made 29 384 generations before giving up Changing the factors listed in the beginning of CRITTERS C can have a dramatic affect on the way the popula tion evolves This project is by no means finished Im adding genetics to critters for the ability to sense food to change their metabolic rate i e a move costs less and to change other behaviors What would happen if critters sud denly turned carnivorous Depends partly on what constitutes meat I sup pose Does changing the distribution of food make for different behaviors in different parts of the critter s world And of course the program needs a setup mode with which you change the program constants at run time instead of having to recompile every time The possibilities are endless As I add new features to the program you ll hear about them here in this column NEWS AND REVIEWS There isn t much going on in C these days The biggest news is in the Pascal arena While this column ostensibly covers C the battle over Pascal between Microsoft and Borland has several im plications for the future of those compa nies C language products Microsoft has entered Borland s terri tory with QuickPascal a clone
159. gle ended inputs while the Lawson Labs board has differential in puts Single ended inputs are signals ref erenced to a common ground The Real Time Devices board for example has 8 single ended inputs which means that all the input signals must have their grounds tied together In many situations this works just fine you may have a group of signals which already have their grounds con nected Here you simply take the ground from these signals and tie it to the ground on the I O board In some situations however you might be measuring a signal between two points neither of which is ground Or you may not be able to tie grounds together Here you ll need to use a differ ential converter which measures the voltage between two points A single ended converter also measures the volt 46 MICRO CORNUCOPIA 49 Sept Oct 1989 age between two points but one of those points is always the common ground Common mode Signals The ideal differential converter will measure the precise voltage between two points However even though neither of the converter s inputs connects to ground the converter itself has a connection to ground Let s say that you re measuring a signal that s 6V and 5 8V The converter will output 0 2V the difference But there s another voltage to deal with the common mode voltage It s the average voltage between ground and the two in puts 5 9V here Common mode voltage causes errors in the
160. gram image repeats the data procedure until it has processed enough data to fill the image defined by the first three para meters Be sure to provide exactly the right Figure 1 Ultimate Resolution Laser Printer PostScriptal definitions strsize 188 string def procedures set length of hex string inch 72 mul def inch procedure fractal fractal procedure 1500 1500 1 1500 0 0 1500 O 0 currentfile strsize readhexstring pop generate the image end of fractal definition image def main program 1 75 inch 3 inch translate 5 inch 5 inch scale fractal 0F12 hex data 3COA showpage end program set up transform matrix read the hex data locate image in center of page make it 5 inch by 5 inch call the fractal procedure padded hexadecimal image data print the page Figure 2 Monochrome Hex Data Generation unsigned char color count buffer count 7 buffer 0 for each point in the image i corresponds to location of point within data byte this will hold 8 points find color color equals O or 1 Mandelbrot code provides this mask color lt lt count buffer mask if count 0 if buffer lt 0x10 fprintf fp 0 fprintf fp x buffer count 7 buffer 0 else count amount of data since image will read as much as it s told regardless of how much data you actually place in the file Here the right amount
161. h personal evaluation form beyond the first We ll review your questionnaire and return our assessment of product feasibility including places where the idea and or your group seem particularly strong and where they seem particularly weak If we see an opportunity for expanding the idea or taking it in an entirely new direction we ll include that Once you receive the written assessment you re welcome to schedule a one hour conference call with the evaluators This will give you a chance to flesh out old ideas or bang around new ones We don t guarantee to be right we don t even promise to agree with each other but we do guarantee to give you our thoughtful opinions and we ll give them to you straight WOULD YOU LIKE TO CONNECT WITH THE NETWORK Getting started is easy Simply return the appropriate response card to subscribe to Micro C to receive our media kit with everything you need to prepare and submit your advertising or to receive your technical review questionnaire If you know others who could benefit by connecting with the network please share this information with them MICRO CORNUCOPIA 49 Sept Oct 1989 65 Anthony Barcellos P O Box 2249 Davis CA 95617 2249 Voice 916 756 4866 Data 916 758 1002 Play It Again DOS Anarkey and ARC rivals if Tony doesn t watch out he may have Webster s camped on his doorstep omputers are quite literal Muff one keystroke and your PC comes back at you with Bad
162. harbor an illusion actu ally it s one of several that ground is 0 volts In truth currents flow through ground wires and traces Any time cur rent flows there s an associated voltage drop In a ground path this voltage is generally very small However if you re measuring tiny voltages the voltages in the ground path can show up in your measurements and cause errors We call this problem a ground loop Here s what happens Suppose you have a long ground trace on a circuit board One end of the trace which I ll call downstream dumps into the power supply ground Somewhere in mid stream some digital chip grounds attach When these chips switch they dump cur rent into the ground and raise the voltage at that ground point and every point up stream by a fraction of a volt Now suppose you attach the ground of an input amplifier upstream from the digital chips The input amplifier along with the input voltage uses the ground to determine the output voltage of the amplifier Thus if the ground changes the output voltage changes When you re squinting at small input signals the effect can be significant There are several guidelines you can use to eliminate ground loop problems 1 All ground traces should be as large as possible 2 Analog and digital grounds should be separated by providing completely separate paths to the power supply 3 And if possible all critical chips should have their
163. hart Interfacing Sixteen Bit Devices To The IBM AT Bus Okay so you got a real 286 machine Now what re you going to do with it huh Hobble it with 8 bit I O Come on now you can do better than that A lot better ith its fast processor and 16 bit We bus the inexpensive AT clone provides an excellent in dustrial and scientific tool for data measurement and control The 16 bit in terface is ideal for driving 16 bit digital to analog converters reading 12 bit analog to digital converters and com municating with other word oriented devices Almost all personal computer interfac ing is done in 8 bit bytes from the com puter to printers terminals and modems Publications like Micro C have thoroughly described these interfaces But little has been written about 16 bit interfaces Computer I O The machine language instructions IN AX DX and OUT DX AX control input and output of 16 bit data in AT comput ers A MOV Dx port address instruc tion loads the port address into the com puter s DX register During an OUT instruction the com puter loads the contents of AX 16 bits onto the data bus and the port address onto the address bus The computer indi cates to the interface that the data and port address are available by bringing the IOW bus line low Execution of an IN instruction is iden tical except that the data moves in the op posite direction and the IOR line goes low The interface must decod
164. hat looks like a nifty program Maybe I ll just buy it even though I m stupid I can always call them up when I can t figure out how to save a file Aside from the appearance that Solu tion Systems advertises way too much for its own good everywhere except Micro C giving them undoubtedly huge operating expenses I think the price of Brief sends a message to prospective buyers Think before you buy Brief is not for the casual Space In vaders player Not that it s difficult to use While Brief can do many things a 30 editor cannot do there are many things that a 30 editor could do just as well as Brief If you only need the 30 features it would be just plain stupidity to buy Brief and use it as a 30 editor If you re a real professional you can justify the expense Especially if you buy it from Programmer s Connection or Programmer s Paradise or some other discount software place Taste Test So enough praising and whining Now I ll show you a few little chunks of code that I wrote in the Brief macro lan guage They should give you an idea of some of the possibilities Remember though I m a Brief neophyte I wrote my first Brief program this morning What I can do is nothing compared to what is possible total 0 ot Dc returns total macro s square 30 D AS es yu s eo Reassigning Keys Probably the first thing anyone will want to do when they get Brief is to change the co
165. have them visu ally inspected 92 MICRO CORNUCOPIA 49 Sept Oct 1989 ee m R S Cunningham III gram DRIVE TYPE TO FLOPPY 512 D Georgetown Rd LOGICAL DRIVE NUMBER Charlottesville VA 22901 re INC TOTAL DRIVE COUNT T TE NO ong THAN 10 DRIVES 5 o Disk Drive Sensing j Recently I had to write an install pro gram for a new application My first problem was to find out how many floppy drives how many hard drives if any and their letter designations I pen 2n teen T was working in Turbo Pascal but any regs dl loop z 2 language that supports DOS interrupts Jntr 21 regs Dk o should do 7E regs on d Ehen o o oh The solution seemed simple at first y tU id find the number of logical drives in the system then find the number of floppy drives The difference will be the num v ber of hard drives D drives drive pumb loop starttdrives no floppytil i loop 1 Sue However DOS 3 0 and higher does nc count ur INC TOTAL DRIVE COUNT not accurately report the number of O TRE S DRIVE COUNT ue logical drives It reports either the num ber of drives or the number in con fig sys s LASTDRIVE statement or it returns a 5 if there are no drives The routines listed in Figure 1 start out by getting the number of floppy drives I use DOS interrupt 11H check ing the value of bits 6 7 Then I find the number of logical drives I do this by calling DOS inter rupt 21H fun
166. he L300 to a 150 line screen setting And here s where we fi nally muck up the program s device in dependence Here at Micro C 150 line screens look truly awful on the laser printer A 300 dpi device works best with 60 line screens and doesn t appreciate being asked to do the impossible We also have to consider how the four layers of regularly spaced halftone cells might interfere with each other If we don t rotate the layers correctly wild moir patterns appear These separate ro tations for each layer called screen an gles minimize interference problems Give the screen angle to setscreen as its second parameter 22 MICRO CORNUCOPIA 549 Sept Oct 1989 Finally setscreen requires a spot func tion The spot function describes how halftone cells fill in as they get bigger I lifted the version in file header directly from Adobe s documentation Have I no shame It grows from the middle of the cell out I don t have the slightest idea how the function works Confession Time The more astute awake among you will be grousing Hey He said we d be looking at 2540 dpi stuff Where d this 150 dpi ca ca come from It s not my fault I thought the presses could print anything we sent them Not so 150 line screens already push the mechanical limits of initial alignment and subsequent drift of the four layers So we re limited in print to 150 cells per inch still better than most displays If you want to see the unpr
167. he famous pocket sized book jam packed with hardware amp software info 9 95 ea or 5 or more for 5 each Software tools You need MS C amp MASM 5 1 for modifying the Kit products Mention this ad when you order and get a free XT AT Handbook by Choisser amp Foster Hurry before we come to our senses and change our minds eS 619 271 9526 Money back guarantee Annabooks 12145 Alta Carmel Ct Suite 250 262 San Diego California 92128 Reader Service Number 160 MICRO CORNUCOPIA 49 Sept Oct 1989 73 Around the Bend Are they object oriented No not the versions I have Then I have real trouble getting interested Too much trouble to use a library that s not designed around objects He has a point The less you need to know about a library routine the easier it is to use Objective libraries should be very easy to get close to We re talking libraries here not librarians Speaking of librarians How Fast Is Fast I spend most of my life plodding along behind an 8 MHz 80186 system while out in the other room lies our latest acqui sition a 20 MHz 80386 screamer It s usually busy grinding out fractals When I hit return on my 186 things pick right up and it isn t very long before something has happened I do have to clean up around the processor socket after rust flakes off the accumulator By the time I ve finished hitting return on the 386 however things are fairly well completed I un
168. hkit products are designed to perform reliably and effectively year after year See what we have to offer To get your FREE Heathkit Catalog fill out and mail the coupon below or call toll free today 1 800 44 HEAT 1 800 444 3284 of the Heathkit Catalog Send To Heath Company Dept 027 814 YE S Please send me a FREE copy Precision MEM Test Fre Instruments Er H i Dynamic Home Entertainment Products Benton Harbor Michigan 49022 Name Address City State Zip A subsidiary of Zenith Electronics Corporation CL 801 and Trainers Reader Service Number 156 MICRO CORNUCOPIA 49 Sept Oct 1989 35 Fee ERE c Organize Query amp Make Connections Between Files of Information MICRO EINSTEIN The Expert System Shell Create expert systems easlly In minutes With pulldown menus and windows Automatic rule generator Context sensitive help Free example expert systems Interactive full screen text editor DOS access from shell Turbo fast execution NOW 5 times faster For Diagnosing Monitoring Indexing Organizing Classifying amp Discovering links between files of information Only 100 Plus 5 S H Reader Service Number 72 ACQUIRED INTELLIGENCE P O BOX 2091 DAVIS CA 95617 916 753 4704 36 MICRO CORNUCOPIA 49 Sept Oct 1989 When you take control of INT 9H every keystroke gets routed through yo
169. icting RENEGADE Software packages are available which allow you to manipulate resident pro grams These utilities often referred to as managers or organizers are designed to remove other programs from resident memory without rebooting the system Ive included a short program EVICT COM to demonstrate how to eliminate RENEGADE s grip on the key board interrupt Resident programs are distinct from normal ones in two ways they don t re lease memory blocks when terminated and they chain one or more interrupt vectors to themselves To remove RENE GADE from resident memory you must restore the interrupt vectors as they ex isted prior to its installation and then re lease all its memory blocks DOS function 49H releases memory blocks The ES register specifies the segment to be released while bytes 4 and 5 of the memory block already contain the length of the block Display the following resi dent memory locations D0 60A0 60EF 0000 60A0 4D OE 06 02 00 05 C8 00 A3 BD OB A1 02 00 8C 1E 0000 60B0 50 41 54 48 3D 00 43 4F 4D 53 50 45 43 3D 43 3A 0000 60CO 5C 43 4F 4D 4D 41 4E 44 2E 43 4F 4D 00 00 FF FF MICRO CORNUCOPIA 49 Sept Oct 1989 39 Commenting Disassembler SOURCER SOURCER creates detailed commented source code and listings from memory and executable files Built in data analyzer and simulator resolves data across multiple segments and provides detailed comments on interrupts and subfunctions
170. ike complete listings I also enjoy the fun stuff that helps me understand the person who s behind the technical informa tion This issue Larry was struggling with this question Much of his current fractal code is a simple repeat of code we ve run in MICRO CORNUCOPIA 49 Sept Oct 1989 75 Letters recent issues So he s limited it to the Post Script additions That way we have room to run one more article in this issue Making Custom PC Cards If you took to heart the piece in Issue 43 by Bruce Eckel on designing your own cards for your PC you may wish to make something less prototype and more production than the prototype cards described If you have OrCAD PCB log on to OrCAD s BBS 503 640 5002 Look for IBMPCB ARC in the PCB Download area among the Customer Contributed Models You won t need to be a registered user to download it but you will need OrCAD PCB to make use of it It has the outlines and connectors already drawn for half and full length cards for both XTs and ATs There is a useful DOC file as well When you ve done the pro totype the way Bruce suggests and you re ready to launch your creation on the world this is the way to take the next step John Innes 120 MacPherson St Cremorne NSW 2090 Australia Free PCB Autorouter l ve enjoyed Micro C for many years as a newsstand purchase and recently finally ordered a subscription I read with interest the articles in Issue 45 about PC
171. ill 75 s 140 VTEK 4 3 terminal emulator VT102 100 52 amp Tek 4010 14 15 LIM 4 0 26 printers Kermit amp XMODEM 135 VmenyC virtual memory manager least recently used pager dynamic expansion of swap file 140 Turbo G Graphics Library all popular adapters hidden line removal ees 135 TurboGeometry library of routines for computational geometry e s e ew e ee ee oho o oon n 125 Install 2 3 automatic installation program user selected partial installation CRC checking cr 120 TE Editor Developer s Kit full screen editor undo command multiple windows lle en 105 Minix Operating System Version 1 3 Us x like operating system includes manual sss DP LE Ven Sa 105 HyperText Viewer fam le hypertext system multi file documents includes Tiny Curses llle een 100 PC IP CMU MIT TCP IP for PCs Ethernet Appletalk amp NETBIOS drivers RVD updatebyDanLanciai ee 100 B Tree Library amp ISAM Driver file system utilities by Softfocus ee 100 The Profiler program execution profile oo TT te Ve Se wah M TN Er PECES eo ay te Medd hae Suse teat Ae a 100 QC88 C compiler ASM output small model no longs floats or bit fields 80 function library 6 cler 90 Otter 1 0 beautiful theorem prover by Bill McCune includes manual amp two books by Wos complete starte
172. in the last two or three years that exceeded my wildest expectations for power compatibility and ease of use Paul Mace Paul Mace Software Soft ICE MagicCV MagicCV for Windows Buy Soft ICE amp MagicCV W Save 86 Buy MagicCV and MagicCVW Save 100 Save 186 386 199 199 Buy All 3 30 day money back guarantee Visa MasterCard and AmEx accepted New Soft ICE 2 0 features O Back Trace Ranges C Symbolic amp Source level debugging 0 EMS 4 0 support with special EMS debugging commands C Windowed user interface fue Nu Mega TECHNOLOGIES CALL TODAY 603 888 2386 or FAX 603 888 2465 P O BOX 7607 E NASHUA NH E 03060 7607 Reader Service Number 110 2 MICRO CORNUCOPIA 49 Sept Oct 1989 RUN CODEVIEW IN 8K MiagicCV gt CodeView is a great integrated dolus but it uses over 200K of conventional memory MagicCV uses advanced features of the 80386 to load CodeView and symbols in extended memory This allows MagicCV to run CodeView in less than 8K of conven tional memory on your 80386 PC NEW Version 2 0 includes EMS 4 0 driver Attention Windows Developers Version available for CVW THE MICRO TECHNICAL JOURNAL VERO CORNUCOPIA SEPTEMBER OCTOBER 1989 ISSUE 49 M M MM MM M M M M M M M MM M M M FEATURES COLUMNS Karl Lunt 8 Building A Controller The Easy Way D cing Clearly Mon
173. in the world won t sell itself Advertising rates in magazines are high a 5 x3 box among hundreds of other such boxes among hundreds of pages of bigger boxes can cost 400 or more Of course you have to recover the cost of advertis ing out of your profit but you can t price your product too high I determined that the best way to get started was by getting free advertis ing in the form of new product an nouncements I bought a mailing list of computer magazines and another one of computer users groups and began mailing MR MOX press releases For various reasons all of which made sense to me at the time I pro posed a partnership with the proprietor of a dormant one product hardware business His well known to me any way logo would appear at the bottom of MR MOX ads He would handle all advertising and sales I would supply the product We would coordinate ads to appear along with the press releases which I would submit It sounded great Time passed I finally in frustration placed an ad myself in Micro C Jan Feb 89 take a look since this partner ship resulted in no advertising MR MOX to put it mildly was not the cen ter of my partner s life ou are not reading a success story here The facts are true have omitted the names to protect the guilty A Little Exposure However I was actually having some success with press releases that is they were getting published
174. ing light After the second format finished I started a third That s three low level formats in a row I followed up with FDISK and then ran DOS FORMAT twice If those little platters aren t impressed they ll never be Finally I restored the files using FASTBACK and the drive was back So far this one has run flawlessly I must say though humming along with the other one was much more interesting Nondestructive Reformatting Again It seems like every time I say something about hard drives I get mail This time I got lots of mail and Gib son Research pulled its ad for SpinRite It s not Gibson s fault that some XT controllers have problems doing a single track format Gibson has to talk through the controller just like everyone else Continued on page 71 100 Lattice The Leader in Performance Lattice C 6 0 for DOS and OS 2is the fastest compiler overall on the eight PC Magazine bench marks model Lattice C is over 10 faster than Microsoft 5 1 and over 15 faster than Borland 2 0 These results are due to our new op timizer and the many perform anceimprovementsin the library You can make your applications run even faster by using our new register variable support and built in functions Lattice 6 0 is the performance leader 10 The Leader in Compatibility Lattice C is fully compliant with the ANSI standard We pass not only the Computer Language ANSI Test Suite but 100 of the Plum Hall Te
175. ing Holes 38 bit 4 16 bit and 1 32 bit expansion slots Surface Mounting Technology Improves Reliability Support Diskless Network Application NOVELL OS 2 Compatible SPECIAL 649 949 McTEK SYSTEMS INC 1521 SAN PABLO AVENUE BERKELEY CALIFORNIA 94702 415 525 5129 Reader Service Number 42 LATEST AWARD BIOS PC XT vx 286 vx 386 Support for Enhanced Keyboards _ EGA amp VGA Graphics 3 5 inch Floppies More Authorized AWARD Distributor 800 423 3400 KOMPUTERWERK INC 851 Parkview Blvd Plitsburgh PA 15215 Reader Service Number 126 Why you want BATCOM BATCOM is a batch file compiler that compiles your bat files to exe files to make them faster more professionel and more capable BAT COM extends DOS with new commands so you can read keyboard input perform arithmetic use subroutines and much more In addition BATCOM protects your source code and you can dis tribute your compiled programs without roy alties For IBM PC 49 95 ZTN Wenham Software Company T 65 Burley St N Y Wenham Ma 01984 508 774 7036 FREE catalog Reader Service Number 124 The 25 Network Try the 1st truly low cost LAN e Connect 2 or 3 PCs XTs ATs e Uses serial ports and 5 wire cable e Runs at 115 K baud e Runs in background totally transparent e share any device any file e Needs only 14K of ram Skeptical We make believer
176. ing more characters it does seem to do that When you add to this the fact that you can t move a window border which touches on more than two windows see Figure 1 the windowing capability of Brief appears seriously brain damaged I can kind of understand the decision to make windows tiled instead of over lapped it makes for much less complex ity in the screen update algorithms But not allowing changes to the position of a window border touched by more than two windows looks to me like just plain laziness Surely it shouldn t take more than a simple loop cycling through the windows readjusting Brief does have overlapped win dows by the way I even use them in one of the examples below but they are very restricted For example once you open an overlapped window you can t switch to any other window until you close it Mostly it uses overlapped windows for menu displays Another window complaint is that it s impossible to retrieve enough infor mation about the windows to recon struct a display successfully once it s torn down This would be very useful for the included restore macro pack age which causes Brief to reload all the Figure 1 Window Borders in Brief This Brief screen has 3 windows and 2 edges a amp b Brief al lows moving edge b thus resiz ing windows 2 and 3 but won t allow you to move edge a The only way to move a is to first delete b i oo 4 files you were editing during
177. intable 2540 dpi marvels you ll just have to come by the Micro C World Headquarters in Bend and ask for a tour open daily more or less unless the weather s nice Execution Speed I pruned all the video stuff from Har lan Stockman s 386 32 bit fixed point Mandelbrot code see Micro C issue 43 to do the dirty work for these PostScrip tals Harlan used DeSmet C88 with as sembly for the number crunching The results were nothing short of amazing A few statistics on the generation of the cover Pmax 0 7408 Pmin 0 7504 0 12036 0 105 maximum iterations 2000 Qnax Qnin switch point 200 points in image 750x1200 System 20 MHz 80386 execution time 2 hours To place this in perspective a stand ard 4 77 MHz XT running Turbo C float ing point code with no 8087 would take 87 days to do the same PostScriptal I d call that progress Thanks Harlan Early on I thought it would be nice to zoom way in for a PostScriptal Harlan s fixed point representation can t deal with numbers smaller than 0 00001 So I switched over to the Turbo C floating point code and Dave picked up a 20 MHz 387 math coprocessor The fixed point code was still five times faster You can see that I really couldn t have done this without Harlan s code and a handy 386 Although I had to wonder about the hardware Our 386 has a mind of its own sometimes no mind of its own At one point it favored locking up
178. into a new editor that has some features I ve been looking for it al ways seems to have just enough minor or major flaws to justify not switching over completely Because of this dissatisfaction with any one editor my machine usually contains three or four of the beasties For example if I need to look at several files at once I use Logitech s Point It has multiple overlapping windows and can support up to 50 line displays If I need to do some massive repetitive changes to a file or edit a single file with very quick response I ll call up Express my homegrown editor for its small size speed and simple keystroke macros On the other hand if I need to cut and paste columns of text I haul out Microsoft Word the other two can t do this All this schizophrenia causes some confu sion at 5 30 in the morning For example Point uses F5 to begin marking a block of text and F6 to finish Word uses F6 to begin and finish marking a block while F5 turns replace mode on off I ve managed to get rid of the glaring differ ences like cursor movement keys by writing a TSR program that traps keyboard input and translates my favorite keys into the appropriate ones for a particular program But it s still a royal pain in the butt to keep jumping from one editor to another doing twenty seconds of work saving exiting and then jumping back tis just about everybody knows of my Enter Brief During my last two winters at P
179. inues to fasci nate poor and great imaginations alike Thinking about time is fun and reading someone s well constructed thoughts is better yet type this at a desk far from the Davis Great Work Of Time Recently I read a skillfully con structed story about time by John Crow ley a World fantasy Award winning author The story Great Work Of Time extends that well worn subclass of science fiction time travel by in corporating chaos theory into the argu ment In GWOT a strange genius named Caspar Last discovers or creates a process which can be used for time travel The key tool in leading him to discover the process is a computer 96 MICRO CORNUCOPIA 49 Sept Oct 1989 By Gary Entsminger 1912 Haussler Dr Davis CA 95616 Stochastic Fiction Fiction From Fractals which he uses to plot the shadows of imaginary numbers Last showed me the narrator of the story after our bargain was struck and he was turning over his data and plans to me I told him I would not probably grasp the theoretical basis of the process however well I had or would come to manage the practical processes of it but he liked to show me He first summoned up x y coordinates quite ordinary and began by showing me how some surprising results were obtained by plotting on such coordinates an imagi nary number specifically the square root of minus one The only way to describe what happens he said is that the plotted figu
180. ire it your 68 MICRO CORNUCOPIA 49 Sept Oct 1989 Modem Operated Switch self and it had no override for the times you were sitting at the console Then there were the sophisticated widgets that had the brains to make you enter a password before they would turn on the PC but they sold for 300 or more Enter MR MOX I answered the convenience issue by using an RS 232 jumper box like a gender changer only it doesn t change the gender to intercept the CD signal and run it to a jack on the face of the MR MOX Oh and that name like VOX is to voice operated switch MOX is to modem Then a small switch in a tiny box at the end of the wire for the override You could stick this switch anywhere it was convenient near the front of the PC and keep the power cables in the back It really did install in seconds I shoe horned the circuitry inside the case of a 6 outlet power strip and considered it product ized Manufacturing What Can Go Wrong There were trade offs made in manufactur ing Everything you buy has its own peculiar cost vs quantity curve but the thing they all have in common is the more you buy the cheaper the unit cost My general plan was not to sweat for abso lute lowest cost at the front end I knew I wouldn t make any money until sales got into the hundreds of units anyway So I would con centrate on low manufacturing cost later if MR MOX took off But costs weren t the major probl
181. it to energize or de energize outputs ac cording to the state of its inputs PLC Uses Industry uses programmable logic controllers PLCs for a variety of tasks You ll find small PLCs built into elec tronic motor controllers machine control panels and even vehicles They oversee current draw speed and load factors they monitor limit switches and operator inputs The typical small PLC will have from 16 to 200 I O points Larger PLCs can control whole as sembly lines or entire factories Industrial robots and their support equipment con veyors tool holders power units etc are also major users of PLCs Not only do they control equipment but they also report system faults to the central computer so technicians can be dispatched Many of these units also log data and generate production or main tenance reports These larger PLCs typi cally have 200 2400 I O points Of course PLCs can be networked via mainframes This way any machine or human on the network shares the I O and data of all the units And software developed on the mainframe can download to one or more controllers A Brief History of PLCs One of the early marvels of electrical engineering was the relay Using a relay an engineer could control electrical processes using logic Relay logic is nothing more than a hard wired program You can control the relay that starts the drill motor by another relay that monitors table posi tion If the table
182. itch Software development tools of amazing power abound for hardware platforms of dazzling capability Unfortunately we often take it all for granted With the powerful hardware and fantastic software development environments you d think applications would be equally wonderful Alas that is not so Major companies release late May as I write this and spring is 50 MICRO CORNUCOPIA 49 Sept Oct 1989 buggy versions of their software so that they can meet marketing windows Many pro grams are hard to use or are missing key fea tures As programmers we need to use these ad vanced software development tools to create the next generation of software As consumers we need to put our foot down and say I m not going to take it any longer Buy software which works support vendors who support you and raise the devil with those companies who can t or won t do the job If we continue accepting the crud we ll continue getting it The quality of public domain software is one of my barometers of programming prac tice When affordable microcomputers first ap peared public domain software flourished Everyone wanted to share knowing that their combined knowledge would make computer software more powerful There was a sense of community Today microcomputers are big business There s less public domain and more shareware and crippleware Legal battles and license agreements have replaced the spirit of commu nity
183. ition is by no means limited to DOS SEA is already working in other environments and PKWare appears to be doing the same SEA appears to have an edge in the corporate market but several bulletin boards have converted from ARC to PKWare s ZIP The competition could also branch out into commercial software where many developers are interested in embedded routines that would let their programs de archive files Although Katz and Henderson shared similar views on the future of ar chiving bright and its applications broad there was no consensus on whether future algorithms would be more effective at compressing files However the LHARC program now making the rounds of the bulletin boards definitely offers better compres sion Unfortunately it s not as fast as ARC or ZIP A Capital Group The Capital PC User Group host of the forum is one of the most important and influential users groups in the country To learn more about the group call their 24 hr recorded message num ber 301 762 6775 or write to Capital PC User Group 51 Monroe Street Plaza East Two Rockville MD 20850 A one year membership is 35 which entitles you to a subscription to the Capital PC Monitor their fabulous monthly newsletter The Monitor con tains a regular column by shareware en thusiast Bill Fowler Trojan Viruses By now everyone knows that Trojan Horse programs are time bombs that eventually blow up and destroy both themselves
184. itor controller projects used to be hardware software marathons Fortunately chip manufacturers have discovered there s a huge demand for 57 ee 6 Wor processors that take the pain out of these designs Here s a close look at Motorola s latest 64 Culture Corner f AR f p 1y gt SLA 66 ShareWare 68 On Your Own 1 6 Larry Fogg PostScriptals 77 Uni Units and Modul Interested in creating the world s highest resolution fractal The gauntlet is UE SRE down 90 Techtips Ron Hicks 23 Programmable Logic Controllers Programmable logic came into vogue during the days when industrial controllers were made up of boxes full of relays Now we use the same logic r Su E with microprocessor controlled equipment But it s a lot quieter FUTURE TENSE 28 David Metz l 86 Tidbit ae idbits Driving Stepper Motors How does a controller position an arm or move a belt or open a window Usually via stepper motors 9 6 ae ast Page 33 Edwin Thall Writing TSR Programs 5 Here s the real scoop on TSRs CONTE RI Bruce Eckel 42 Low Cost I 0 For The PC You can get really versatile I O interface cards for the PC for under 300 Bruce takes a look at three winners William K Rohwedder and Wayne L Everhart 83 Interfacing 16 Bit Devices You have a 16 bit computer Why not talk to it 16 bits at a time ku Cover PostScriptal by Larry Fogg MICRO CORNUCOPIA 49 September October 1989 3 THE MICRO TECHNICAL JOURNAL
185. k support RAM disk and or disk cache I O redirection and more Supplied with editor as sembler Basic powerful utilities Supported by Users Group and BBS Software available from other vendors includes C compiler Basic editors disassemblers cross assemblers text formatter communications programs etc Priced at 165 with configuration kit less if already configured for your system HARDWARE 68xxx systems start at 200 Call or write Star K sottware Systems Corp P O Box 209 Mt Kisco NY 10549 914 241 0287 Fax 914 241 8607 Reader Service Number 40 80 MICRO CORNUCOPIA 49 Sept Oct 1989 ke klen T srtStatArr srtId nbrRec srtStatArr extras srtState 1 to MAX SRTS a a Statarr i srtstate imo Gensrti Long Horn SOG Stuart Yarus called to say the Texas SOG has been reduced to a regular meeting of ihe Computer Council of Dallas However we re all Invited and It s free Leave a message on Stuart s machine if you want travel and lodging information or leave a message to let him know you re coming Otherwise Just show up It ll be Saturday July 14th 9 a m to 4 p m at the Infomart If you d like to speak definitely call him If you d like to see 90 SIGs meet at once then plan to go 1950 Stemmons FWY 214 867 8012 Infomart Stuart Yarus Dallas 75207 Welrd hours Binary ee ee iF BinTree ee Michael 8 Bunt pate June 1 1989 T EreeNoda T SEN
186. l temp critter move gene 3 or 1 0 move temp critter move ou E adjust c critters position F temp eritter gt posx delta table i 0 emp critter TpoRY t delta zrablefilIl s pu temp critter posx lt temp critter gt posx temp exitter gt posy temp critter posy temp critter posx temp critter gt posx temp exitter gt posy temp critter gt posy ft assess movement cost temp critter energy level move cost redraw critter at new position Y for xm temp critter posx T1 m SGH lt temp critter tpm t F too uvivu An A Ufer qe temp _ critter gt posy 4 sys temp critte pom Ar ty growth and statistics calculations Note that the critter s world is circular when they move off one side of the map they reappear on the opposite side As you watch the program run you ll notice that the behavior of the bugs changes The initial set of critters jitter around without much direction Later you can see certain types of crit ters called cruisers which tend to travel in a single direction Often a group of cruisers critter packs will form they ll move across the screen devouring all the food in their path The size of the population will ebb and flow Sometimes it will grow to large numbers and at other times it will drop to very few members It s interest ing to see how the life cycles work since significant die offs often
187. l O ports and much more Determi es necessary assembler directives for reassem bly Includes a definition file facility to include your own remarks and descriptive labels force data types and more Complete support for 8088 87 through 80286 287 and V20 V30 instruction sets We welcome comparisons with any other product because no product comes close to the ease of use and output clarity of SOURCER Sourcer is the best disassembler we ve ever seen PC Magazine January 17 1989 page 101 iM SEE HOW PROGRAMS WORK IM EASILY MODIFY PROGRAMS SAMPLE resetprn lst ResetPRN v1 01 Sourcer Listing 28 Jun 89 2 34 pm Page 1 OUTPUT PAGE 60 132 Fully Created 15 Apr 88 automatic Version 1 01 Passes 3 Anatysis Flags on H Program header RESETPRN data_le 0040 0008 378h E segment para public Assembler assume cs seg a ds seg a ss stack seg b di ri ecti ves resetprn proc far 658 0000 start 658E 0000 B 23 short loc 658E 0002 52 65 5 74 50 ResetPRN v1 01 OOh 658E 0008 52 4E 6 31 2 658E 000E Determines OM data areas Heer and type 658E 001F 658E 0025 658E 0025 cs 40h 00h OAh Reset Printer comments S5 658E 002E f 658 0030 DOS Services ah function 01h get keybd char al with echo DM 658E 0026 ds Detailed 658 0027 dx offset data 3 658E 0013 00h ah 9 DOS Services ahefunction 09h display char string at ds dx 658E 0032 ety 658E 0034 Jump if
188. ld be to have this feature Sorry The most shelf space goes to the products that have generated the most sales zero sales gets you zero shelf space Welcome to the world of catch 22 70 MICRO CORNUCOPIA 49 Sept Oct 1989 Mr Mox in the Flesh 0031 USERS MANUAL T 4 uM i is NM ed There Must Be A Lesson Here Somewhere Manufacturing and marketing a pro duct isn t glamorous It s hard work The rewards are possible the effort a certainty First if you should start down this road it won t take you long to discover that everyone and their brother and your brother will offer you endless ad vice If success doesn t beat a path to your door they ll tell you exactly what you re doing wrong Of course they ve never tried doing anything similar Plan for delays and hitches in materi als If work is done for you check it Where possible don t give anyone more money up front than you re willing to walk away from my experience with the graphic artist nailed that lesson home When sending out press releases be aware that there is much duplication on mailing lists Just pick out titles you rec ognize and perhaps others that seem particularly oriented toward your pro duct Be persistent Be aware that there s a lot of competition for a New Products editor s attention Editor s note If you want an eye opener show up any Monday morning and you can help Tammy sort through the basket full of rele
189. les with up to 7 indexes with USE SELECT SKIP APPEND PACK INDEX ON SET INDEX TO and FIND No need to buy dBASE CREATE BROWSE and REPORT utilities included e Easily implement Saywhat and Lotus style moving bar menus e BROWSE any DBF file with just one line of code Programmable and windowed too Pick from windowed data or file names with one line of code Comprehensive Time amp Date gt 23 math in 7 international formats gt e Powerful code and report generators included Comes with a complete 250 page manual plus sample programs to t you started get you 7 95 ComFood Software W Germany 49 2534 7093 Guaranteed S O F TW A RE Reader Service Number 129 MICRO CORNUCOPIA 49 Sept Oct 1989 27 Driving Stepper Motors Do It Yourself Stepper Motor Controller If you re interested in controlling some thing mechanical then you re in the right place Steppers give you a great way to translate the electrical into the physical and this is a quick and clean way to do it ne day my artist friend John Qs and said I m building a computerized wood embossing machine run by my VIC 20 That sounds neat I replied some what bewildered It s going to use stepper motors to X Y scan a pen and ink drawing optically Then fire a solenoid to punch holes in the wood when it sees a line Now things were getting interesting I had only the vaguest idea what a ste
190. ll usually work just fine If you try to power a relay or some other piece of hardware which requires more current or more voltage you ll have to amplify the output You can change both the maximum voltage and the maximum current to be switched by the output line A common approach uses a Darlington transistor ie two transistors ganged together to provide high current throughput and a diode which allows inductive currents to flow in the other direction when the tran sistor shuts off see Figure 3 You can obtain inexpensive Darling ton transistors with both transistors in a single package the TIP120 is common or with a gang of Darlingtons in a single IC package Siliconix makes a device to replace the Darlington and the diode called a FETlington part 2N7000 Notice that both Darlingtons and FETlingtons only allow current flow in one direction which is okay since you re usually just using DC If you re switch ing an AC signal you ll have to use a 44 MICRO CORNUCOPIA 49 Sept Oct 1989 taking measurements and the time be tween measurements may not be too im portant Capturing a waveform is a whole different can of sine waves For one you must sample the waveform at regular in tervals thus the need for the timer on the I O board Also the sampling rate must be at least twice the highest signal frequency this is the Nyquist frequency even higher sampling rates are usually better This means that fo
191. lowed by a semicolon if junk 25 ct enter the cursor would step back out one tab stop for the next line If on the other hand I typed a bracket followed by enter it would go down to the next line leaving the indent at the same place until I typed the closing brace The smart indenting package which is written entirely in the Brief macro language can recognize the four most common forms of C indenting style if junk 25 if junk 25 if junk 25 if junk 25 It handled the first two automatically and supported the third and fourth styles if you set an environment varia ble in the DOS environment The one construct that it would not handle properly by the way was the definition of a function I like to have the braces that start and end a function and all the lines in the function in dented one tab from the left margin void twist int schillings end of twist When I typed enter after the closing parenthesis of the function definition the cursor went to the first column of the next line I typed the brace there and typed enter expecting the cursor to go to the first column again Instead it went in one tab stop void twist int schillings Although the position of the opening and closing braces of if while etc is selectable the position of the braces around a function is not Another feature that goes along with smart indenting is
192. ls are supported Includes UniDOS and UniForm PC UniDOS Z80 Coprocessor Card 169 95 UniDOS by Micro Solutions Equip your PC XT with an NEC V20 chip and run your favorite CP M programs without taking up another card slot Runs 8080 code directly on the V20 and uses emulation mode for Z80 code or systems without a V20 UniDOS by MicroSolutions UniDOS w UniForm amp V20 8 chip UniForm PC by MicroSolutions How have you ever wished you could use your CP M diskettes on your PC Now you can access your CP M files and programs on your MS DOS computer just as you would a standard MS DOS diskette Install UniForm and use standard DOS commands and programs right on your original diskette without modifying or copying your files UniForm PC allows you to read write format and copy diskettes from over 275 CP M and MS DOS computers on your PC XT or AT With UniForm PC and the Compaticard you can use 514 high density 96TPI 3 720k 1 44M and even 8 drives UniForm PC by MicroSolutions Also available for Kaypro amp other CP M computers 64 95 CompatiCard by MicroSolutions THE universal four drive floppy controller board for the PC or AT Run up to 16 disk drives 4 per CompatiCard including standard 360K 96 TPI high density 1 2M 8 SSSD or DSDD and 720k 1 44M 312 drives Comes with its own MS DOS driver and format program Use it with UniForm PC for maximum versitility CompatiCard Board Comp
193. luding ground to interface this chip to the HC705 The 041 boasts a maximum cycle time of 40 psec The Motorola MC14499 LED display driver again with serial interface con trols a four digit display You provide the common cathode seven segment dis plays eight resistors seven segments plus decimal point and four driver tran sistors The 499 translates serial data from the MCU into the display pattern and even handles digit multiplexing You can also cascade additional LEDs Motorola also offers several SPI con trolled PLL frequency synthesizers such as the MC145159 1 The MCU can vary the reference counters in this 20 pin dev ice add a loop filter and VCO and you have a frequency synthesizer Wiring the HC705 SPI to a peripheral chip is simple you connect the two serial data lines the clock line ground and chip enable between the devices The first three signals come from d dicated pins on the MCU You normally use one of the MCU s outputs as a chip enable line To transfer data between the two dev ices simply drop the chip enable line load the proper data into the MCU s SPI data register and wait for the transfer complete bit in the SPI s status register to go high Return the chip enable line high to deselect the device then read the data transmitted by the device from the MCU s SPI data register Piece o cake The M68HCO05 Microcontroller Applica tions Guide available from Motorola gives a
194. ly AT compatible floppy disk support for 3 5 5 25 drives capacities of 360k 1 2m and 1 44m e Two serial ports and one parallel port e 8 total expansion slots PC XT AT compatible 4 slots have 32 bit bus The PC Tech Advanced System Motherboard is designed to complement PC Tech s X24 and X32 high performance processor cards It contains the mass storage interfaces necessary for a complete sys tem plus the basic O required in most systems Extra care has been given to FCC compliance by design 34010 Monochrome Graphics Adapter II e Up to 384k bytes display memory e Upto2 Megabytes program memory e Software is RAM based allowing complete operating software replacement and timing re programming from the host bus e 34010 program loader included Assembler debugger and C compiler available e Full hardware and software CGA MDA and Hercules emula tion e Single bit shared memory bit map with optional resolution up PC Tech Mono ll to 2048 x 1536 736 x 1008 standard e Very high resolution COLOR version available e Custom 34010 software development available The TMS34010 is a true general purpose graphics processor PC Tech makes the total processing power of the 34010 available to both programmers and end users Our 34010 Monochrome Graphics Adapter is designed to allow programming from the PC XT AT host bus You can completely replace our 34010 software with yours to directly harness the incredible image processing power of the TMS 34010
195. m generator Version 4 2 6 6 6 4 4 44 4 4 4 4 4 4 eee eoe eoo o o nos 35 Tiny Curses Berkeley curses package s s e 4 4 4 2 4 4 4 4 4 4 ee ee eoe a a eoe oho eoe oh 9 o oh n e os 9 oh n o4 35 Polyglot RAM Disk change disk size on the fly includes utilities 2 eee ees Eua cene uit Sn et Yor Vlg a Pn t dues dr oce 30 Clisp EP with extensive internals documentation s a 4 4 4 4 4 4 4 ee onn 30 Translate Rules to C YACC like function generator for rule based systems 2 1 6 6 ee o 30 6 Pack of Editors six public domain editors for use study amp hacking 6 6 ee ee 30 Crunch Pack 14 file compression amp expansion programs s sos 4 a 4 4 4 ee ee ee 30 Pascal P Code Compiler amp Interpreter or Pascal to C Translator Wirth standard Pascal lll r s 25 ICON string and list processing language Version ui eo DTIc 25 FLEX fast lexical analyzer generator new improved LEX Version 1 1 4 4 leere 25 LEX lexical analyzer generator an oldie but a goodie 4 4 e ee 25 AutoTrace program tracer and memory trasher catcher 4 4 e e e ee Heo eo oho oh hn e n n n n 25 Data Handling Utilities in C data entry validation amp display specify Turbo Cor Microsoft ee ee ee 25 Arrays for C macro package to ease handling of arrays 6 6 4 ee 25 A68 68000 cross assembler ee 20 List Pac C functions for lists stacks
196. m the drivers to protect it A If it lets you sleep nights by all means do it Opto isolators such as the GE H11L2GE work perfectly see Figure 6 The H11L2 needs a current limiting resistor for the LED inside about 220 ohms for five volts Its output comes from an on board schmitt trigger It not only isolates and cleans up your data you can also use it as a level trans lator The H11L2 can run from 3 to 16 volts That means if you have 12 volt steppers you can run your steppers and logic from the same supply That would save drain on your computer and elimi nate the regulator for the driver logic The H11L2 has an open collector tran sistor for an output So you have to con nect it to an inverter and use a 100K pullup resister That arrangement will give a logic one output from the inverter with a logic one into the opto isolator FTT 774 p DBAdvisor Jan 89 M I C R OP ROG RA MM I PN G 11315 Meadow Lake e Houston Texas 77077 e 713 870 0737 1 800 227 0918 MICRO CORNUCOPIA 49 Sept Oct 1989 31 Suppliers Figure 5 Motor Off Switching No Braking DIGI KEY Inc Box 677 Thief River Falls MN 56701 800 344 4539 JERRYCO Inc 601 Linden Place V V IN914 OR GATE Evanston IL 60202 312 475 8440 Small Parts Unlimited 6891 N E 3rd Ave P O Box 381966 Miami FL 33238 1736 305 751 0856 AIRPAX Inc Figure 6 Stepper Motor Interface A Div of North America Philips Controls Cor
197. mbly language code on my PC clone using the SideKick notepad editor The PC based AS5 as sembler available from the Motorola FREEWARE BBS took care of assem bling the code I then used the PROG7 interface program to move the code into the HC705 EPROM The projects software uses less than 256 bytes of EPROM but offers consider able flexibility and power It should serve as an excellent starting point for other micro controller projects You ll find a lot of example HC705 programs on the FREEWARE BBS The A2D routine shows how to con tro the A D converter chip with the MCU Upon entry the accumulator ACC should hold the channel number in the low nybble An Example Let s say you ve just read A D chan nel 1 and now you re asking for data from channel 2 When you ask for chan nel 2 A2D returns the voltage reading from channel 1 This is most important a call to A2D does not return the re quested channel s value but the value of the previously requested channel DEST Facsimile Pac The Real thing as reviewed in PC Magazine April 11 1989 Features Full CCITT Group III 8600 baud capability JUST h xTrue Background operation ECE VED xTelephone port xKeeps daily activity log xStores speed dial numbers S P ECAI d xAutomatic requeuing Broadcast mode xCompatible with IBM PC xT ATTM i P UR CHASE PS 2 Model 30 and compatibles HUNDREDS OF EVERYDAY HSC ELECTR
198. means too much We want to print 1500 dots per line With eight dots per byte of data 187 1 2 bytes would do the trick But image doesn t understand nybbles and would shift color to the correct position place it in the buffer is the 8 bit buffer full pad hex byte with leading 0 if necessary P print the byte in hex format reset these in preparation for next 8 points buffer ain t full so get another point get out of synch by four dots every line So the first line of Figure 1 assigns 188 to strsize and image throws out the extra nybble at the end of each line The main section of the program lo cates the image at the center of the page scales it to 5 x 5 and calls fractal In real life all 282 000 bytes of data would fol low fractal But I didn t think it necessary or prudent to print each and every one just use your imagination Images defined by a manageable amount of data can use a direct data pro cedure like lt 0F12A377 gt and gt tell the interpreter that it s dealing with hex values I used this method at first and it worked fine until I got into larger images It turns out that a hexadecimal string cannot exceed 64K This wasn t obvious to me so I went whining to Adobe s developer s hotline and had the answer in seconds Good outfit Generating The Hex Data I won t bore you with the specifics of the Mandelbrot code again it s been covered in Micro C
199. measured Practically however no amplifier has an infinite input impedance and many circuits aren t affected if you remove a little current In a circuit where current drawn by the measuring system causes significant errors you should use an in strumentation amplifier to maximize your input impedance Dynamic Range Dynamic range refers to the largest and smallest values a system can measure If you have a 12 bit converter and the largest value you want to measure is 100 volts obviously this sig nal would have to be conditioned before handing it to the converter and you want to resolve values down to 0 01 volt then you have a dynamic range problem Your converter will need 10 000 counts to measure up to 100 volts in 0 01 volt increments and a 12 bit converter only has 21 or 4096 counts To solve the dynamic range problem some boards allow you to change the gain of the input amplifier you use a lower gain for higher voltages and increase the gain when the voltage is lower Some boards require you to use a jumper to set the gain which isn t a very flexible solution Real Time Device s AD100 500 12 bit analog input boards have software prcgrammable gains so you can change the gain according to the signal Instrumentation amplifiers often have programmable gains so if you build your own front end you can use some of the board s I O lines to control the amplifier gain Grounding amp Ground Loops Digital folk
200. mmand Key assignments to match what they re accustomed to The program MYSTUFF M in Figure 2 shows how to do this To begin using this program just type it in with Brief then type alt F10 to compile and load it In subsequent sessions start Brief with the mmystuff option The m tells Brief to load the macro file mystuff When loading a macro Brief searches for a function called init and if found executes it You re probably wondering about all those parentheses in there The Brief language has many similarities to LISP One similarity is that every statement is surrounded by parentheses instead of being separated by commas like C It also uses prefix notation instead of the standard infix This means that if you want to add 3 and 4 you use the statement 3 4 If you want to call the routine square on the result of 3 4 2 and put the result of square into the variable result you would use result square 3 4 2 Kind of like a backwards HP calculator message The sum of first ten squares is DA an exemple of calling Squares det id squares 10 TE A Zoom Window Also in Figure 2 is an assignment of the alt Z key combination to a macro called zoom window This macro isn t included with Brief I wrote it myself I wrote it to mimic a command in Point that zooms the current window to fill the entire screen until I press alt Z again when it restores the original state
201. mpletely satisfied can return it within 30 days for a full refund I need O 51 4 disk or O 31 2 disk O Send me the JAT Pascal program formatter too for only 14 95 Name Address Cty State Zp O Check M 0 OCOD O Company PO edd 20 PA residents edd sales tax Add 10 for shipping outside US Canada US funds on a US bank only Needs only 192K and 1 floppy drive Reader Service Number 154 62 MICRO CORNUCOPIA 49 Sept Oct 1989 used Brief more and more As of today I haven t used any editor except Brief in five days A couple of times I acciden tally called up Point from force of habit and immediately quit Even though it isn t everything I ve always asked for in an editor it s slowly becoming what I ve always asked for in an editor more than any thing else Corrections There were a couple of mistakes in the listing of TRAP in my column of issue 48 Mistake 1 was my fault I changed the operation of the routine CRASHIT bottom of page 46 but didn t change the comments at the beginning Remove the reference to string to print in CS SI and interrupt in DX These two parameters don t exist in this ver sion of TRAP Mistake 2 is the fault of the stupid programs that Micro C uses for printing listings It seems that somehow my listing got sent through Ventura again Editor s note We ve Ventura d every listing Laine has sent us for the past 2 1 2 years But we forgot to
202. ms may have up to 100 screens Each PLC s manufacturer has its own proprietary LDP Some implementations have added features such as subroutines and advanced mathematical features The best of the LDP languages support a BASIC like language composed of key words that can be used in the same net works as the relay contacts l ve shown an example of an advanced ladder lan guage below TSEC COND SUB50 A TSEC A second timer COND A conditional statement ie TSEC 10 SUB50 Goto subnetwork number 50 When contact A closes TSEC will start timing When TSEC equals 10 COND will pass power to SUB50 This will transfer program execution to sub network number 50 Programming And Control Computers Many different machines are used as programming and control computers CP M based Kaypro machines were very popular for a while as were VAX computers However with the popularity of the IBM PC most companies have switched to the PC standard for their programming and control computers Many companies make hardened IBM PC AT compatibles for industrial users They have sealed cases shock mounted hard disks and super heavy duty power supplies to support extra expansion cards In dirty or wet en vironments they use membrane key boards At a recent trade show one ven dor had his AT compatible running in an 24 MICRO CORNUCOPIA 49 Sept Oct 1989 aquarium with fish swimming around the EGA monitor
203. n When you request execution of a pro gram the transient portion constructs a program segment prefix directly above the resident portion of COM MAND COM It then loads the program immediately following the program seg ment prefix sets the exit addresses and transfers control to your program When execution is complete COM MAND COM regains control and assigns the same memory locations to your next application However if you terminate with one of the TSR functions the pro gram becomes an extension of the resi dent portion of COMMAND COM The area of memory occupied by the program is reserved in the same manner as memory is reserved for DOS Future applications will not overwrite this sec tion The only way to eliminate such a program without the benefit of a resi dent memory manager utility is to re boot By Edwin Thall Wayne General and Technical College Orrville OH 44667 Establishing Residency Let s install a simple program directly above the resident portion of COM MAND COM After installation we ll use the DEBUG utility to locate and examine the program Let s begin by calling Inter rupt 27H to incorporate the message STAY RESIDENT in the resident por tion of memory Interrupt 27H terminates the currently executing program and reserves part or all of its memory so that the next tran sient program will not overlay it The maximum quantity of memory this inter rupt can reserve is 64K bytes From D
204. n this installment of Tidbits I ll describe the key features of object oriented program ming from a Turbo Pascal perspective Then I ll build a simple object an I O error handler to illustrate these features If youre already familiar with object oriented programming languages like C and Smalltalk it might help to know that Turbo Pascal objects are very much like those of C A little less macho perhaps but powerfully featured 86 MICRO CORNUCOPIA 49 Sept Oct 1989 Turbo Pascal 5 5 TP 5 5 is TP 5 0 plus objects Actually 5 5 has several other important improvements but I ll leave their details to the Borland advertise ments and my favorite Dr Dobbs columnist The big reason for getting your hands on 5 5 is the new type object Objects have lives and a language of their own and it s worth spending a few para graphs getting to know the language Three main properties characterize an ob ject oriented programming language encapsulation inheritance polymorphism Encapsulation I repeat tho slightly differently From a Turbo Pascal perspective encapsulation means you can combine a record with the procedures and functions which will manipulate the re cord The new data type formed by combining data a record with code procedures and functions is an object Declare a record like this type recordl aRecord aRecord record Name string X Y integer end where X Y and
205. nce engine for use with C programs 6 4 4 2 4 4 ee ee 60 Async Termio Unix compatible general terminal interface for MS DOS 4 ee 55 oe amp Restore Utility by Blake McBride multiple volumes file compression amp encryption s s 6 1 ee ee ee ns 50 AUS rep exceptionally fast revolutionary text searching algorithm also searches sub directories ee ee eee ee 50 OBJASM DE obj files to asm files output is MASM compatible 4 ll s ee ern 50 Polyglot TSR Package includes reminder bookmark virus catcher cache manager amp speech generator a a a 50 Multi User BBS chat mail menus sysop displays does not include modem driver oo a lll 50 Fortran to C Translator by Polyglot 4 4 44 4 4 e ee e e e hoses homo oo soo non 40 Virtual Memory Manager by Blake McBride LRU pager dynamic swap file image save restore l l ln 40 Heap I O treat all or part of a disk file as heap storage 4 4 4 4 44 ee hon s 40 Ae s System Tools multi tasking window manager kit a 4 4 4 44 4 4 4 4 ee ee Soo on non 40 OOPS collection of handy C classes by Keith Gorlen of NIH Version 2 2 eee 35 Bison amp PREP YACC workalike parser generator amp attribute grammar preprocessor now includes documentation 35 PC XINU Comer s XINU operating system for PO ee ee 4 4 4 el 4 e 35 CLIPS rule based expert syste
206. nitored device and the I O board You can use the counter timer as the name suggests as a counter or as a timer You ll use a counter usually to count some outside event such as the number of times a beam of light is broken Use a timer to set up a PC inter rupt so that you can do something at predetermined intervals In a control sys tem it s usually very important that you take samples or apply the control signals at regular intervals Use the digital I O to read thresholds and to throw switches If you just want to turn something on or off or see if a By Bruce Eckel Revolution2 501 N 36 Street Suite 163 Seattle WA 98103 value is above or below a certain level digital I O is the way to go All the above functions sound great but a lot of people become confused when they realize they aren t just hook ing up a stereo You can t just hook a wire between the monitored device and the I O board You have to perform something called signal conditioning first so you give the board a value it s capable of measuring that won t fry a chip Digital Inputs All digital inputs and signals to the counter must be TTL signals unless the documentation specifies otherwise Roughly this means that voltages be tween 0 volts and 0 8 volts will be inter preted as a logical zero Voltages be tween 2 4 volts and 5 volts will be inter preted as a logical one Between 0 8 and 24V is undetermined If the inputs exceed
207. nondestructive format I questioned the commenters What kind of software What kind of drive What kind of controller Did you have new problems after reformatting and if so what kind and how long did it take for them to show up Were there problems before reformatting They were using SpinRite 5 1 4 half height Seagates usu ally the 225s and Western Digital controllers those who knew which controller they had The new problems showed up within a few weeks of the format and most folks were seeing a bad sector or two before they began the reformat Bear in mind this is a tiny survey involving only half a dozen drives By the way if you ve been using any hard drive reformat packages that save the data by all means drop me a post card with answers to the above questions to Micro C P O Box 223 Bend OR 97709 or leave a message to the SYSOP on our BBS 503 382 7643 That way I ll have a bigger survey Despite the tiny size of the sample I suspected something might be connecting all this together l d noticed that our XT machines took hours for a reformat while ATs took only minutes Plus the poor XT drives were seeking endlessly especially as the format progressed while the ATs were just stepping merrily along track by track It was then I discovered that the older XT controllers auto matically home the head the move toward home is very slow then count their way out when they re asked to do a single
208. nowand put Saywhatand Topaz to the test yourself They re fully guaranteed You don t risk a penny Special limited time offer Save 26 Buy Saywhat and Topaz together for just 99 plus 5 shipping and handling Visit your nearest dealer or call toll free 800 468 9273 In California 800 231 7849 International 415 571 5019 Software Science Inc The Research Group 100 Valley Drive Brisbane CA 94005 enr etd ane 3 23 gt 15 555 30523 MONEY BACK GUARANTEE 7 Ifyouaren tcompletely delighted with Saywhat or Topaz for any reason return them within 30 days for a prompt friendly refund TOPAZ The breakthrough DBMS toolkit for Pascal If you d like to combine the raw power and speed of Turbo Pascal or Micro soft s QuickPascal with the simplicity Ps and elegance of dBASE Topaz is just what you re looking for That s because Topaz was NN specially created to let you enjoy the bestof both worlds yee a7 The result You create com UN aa plete truly dazzling applicat ionsina very short time And no wonder Topaz is a comprehensive toolkit of GC dBASE like commands and functions 1 designed to help you produce Dav outstanding polished programs fast Check out these powerful features Over 200 routines all with easy to use dBASFE like syntax e Dataentry routines like SAY GET PICTURE RANGE color selec tion unlimited data validation e Open up to 10 DBF fi
209. nt patterns REAL TIME CLOCK Verifies correct timing all internal registers and battery backed up RAM and many more features to insure the integrity of your computer PC XT Disk Diagnostics w test diskettes PC XT I O Loopback Test Plugs COMPLETE PC XT DIAGNOSTICS SET save 28 PC AT System Diagnostic Software PC AT Disk Diagnostics w test diskettes PC AT 1 0 Loopback Test Plugs COMPLETE PC AT DIAGNOSTICS SET save 28 BOTH PC XT and PC AT SETS save 75 Capital Software presents the definitive disk based diagnostics package for the IBM PC AT and XT Atechnical tool detailed enough for the repair technician A friendly interface that places problem solving skills in the hands of the end user An uncompromising solution i SEND CHECK OR MONEY ORDER TO USE YOUR VISA OR MASTERCARD CAPITAL SOFTWARE 951 2 OLD COUNTY ROAD SUITE 224 BELMONT CALIFORNIA 94002 FOR INFORMATION CALL 408 293 5279 CALL TOLL FREE 800 541 0898 3 Y p MICRO CORNUCOPIA 49 Sept Oct 1989 11 The Power Of The SPI Motorola s high speed SPI adds a new dimension to micro controller design By replacing the older 8 bit parallel interface with the SPI s three wire synchronous bus serial in serial out and clock wir ing complexity between the MCU and support chips drops significantly 4 For example the Motorola MC145041 serial A D chip puts 11 channels of 8 bit A D in a 20 pin package It takes only five wires inc
210. nto its ASCII hexadeci mal equivalent But watch out for single digit hex numbers PostScript s image operator demands two digits for each hex byte So any number less than 0x10 gets a leading zero Color Printing under suitable conditions full color can be represented as three color separations each defined by a gray scale image Such image processing is beyond the scope of this manual From p 72 of the Postscript Language Reference Manual I just love it when they talk like that It s a challenge a gauntlet thrown We ve done monochrome but color s a must for the cover We print Micro C on a four color press yellow magenta cyan and black By laying down different amounts of each of the four colors we can build a staggering number of new colors But we can t do any color Complications arise due to factors like the color printing order and the discrete rather than con tinuous values for color intensities Six color presses exist that can print the nor mal four color options we have plus two custom mixed colors But that s another story If you look at a printed page closely use a magnifying glass you ll see that it contains an array of dots just like a video image A square inch of image always has the same number of dots But if each of those dots increases in size the square inch becomes darker The array defining the dot locations is called a screen A 0 screen has dots of zero size and gives a to
211. o Joystick Serial To Parallel Interface Business COBOL 60 pages ISSUE 19 8 84 Adding Winchester To BBII 6 MHz On The BB Bulletin Boards Track Buffering On Slicer 4 MHz For The 820 1 64 pages ISSUE 20 10 84 HSC 68000 Co Processor DynaDisk For The BBII Serial Printer On BBI Sans S10 Cheap amp Dirty Talker For Kaypro Extended 8 Single Density 72 pages ISSUE 21 12 84 Analog To Digital Interface Installing Turbo Pascal Low Intensity BB Video Turbo Pascal The Early Days 80 pages ISSUE 22 2 85 Xerox 820 II To A Kaypro 8 Sound Generator For the STD Bus Reviews Of 256K RAM Expansion 88 pages ISSUE 23 4 85 Automatic Disk Relogging Interrupt Drive Serial Printer Low Cost EPROM Eraser Smart Video Controller Review MicroSphere RAM Disk 86 pages a ISSUE 24 6 85 C ing Into Turbo Pascal 8 Drives On The Kaypro 68000 Versus 80x86 Soldering The First Steps 88 pages ISSUE 25 8 85 Why Wrote A Debugger The 32 Bit Super Chips Programming The 32032 Modula II RS 232C The Interface 104 pages ISSUE 26 10 85 Inside ZCPR3 Two Megabytes On DSI 32 SOG IV The Future Of Computing Graphics In Turbo Pasca 104 pages 94 MICRO CORNUCOPIA 49 Sept Oct 1989 ISSUE 27 12 85 SOLD OUT ISSUE 28 2 86 Rescuing Lost Text From Memory Introduction To Modula 2 Inside The PC 104 pages ISSUE 29 4 86 Speeding Up Your XT Prototyping In C C Interpreters Reviewe
212. o Pascal But of course it is the object oriented extensions which make these products interesting 56 MICRO CORNUCOPIA 49 Sept Oct 1989 Microsoft followed the existing standard for Object Pascal while Bor land created their own object oriented dialect of Pascal Both programs are very similar in capability and func tion in spite of what the propaganda says Borland has made some changes which enhance the speed of object oriented programs Turbo Pascal 5 5 also shows some signs of incomplete thinking by Bor land their implementation of construc tors and destructors borrowed from C is weak QuickPascals object oriented extensions are easy to learn and follow a standard used in Macin tosh Pascals but they produce pro grams which are 5 slower than their Borland counterparts Both companies are looking to the future they are developing enhanced versions of the programs as you read this I see a similar fight occurring in re gard to C Microsoft has publicly announced plans to develop an object oriented C by the first quarter of 1990 they will prob ably be implementing an extended C Borland is being coy saying that they are moving toward object oriented C but that they haven t made a decision on how to go about it While Borland can define their own standards in the limited world of PC Pascal I don t think they can do the same for the larger uni verse of C Resources I highly recommend A K
213. of anObject1 We want anObject2 to be identical to anObject1 except we want to extend it by adding a procedure called do SomethingElse We build anObject2 simply and quickly by inheriting from anOb ject1 anObject2 object anObjectl procedure doSomethingElse end Since anObject2 inherits access to all the data and methods of anObject1 we don t need to redeclare anObjectl s data fields and methods We simply add the new method Now we can doSomethingWithX amp Y and doSomethingElse to anObject2 type object2 anObject2 With object2 do begin X 5 Y 8 doS methingWithX amp Y doS methingElse end MICRO CORNUCOPIA 49 Sept Oct 1989 87 Notice again that we don t have to pass the variables X and Y to do SomethingElse it inherited knowledge of X and Y along with everything else from object1 Inheritance lets us build very com plex objects without repeating any code The new object simply inherits whatever it needs from an ancestor But thats only the beginning haven t we heard that before More important the new object can use as much or as little of its ancestors code as it needs In fact it can reimple ment any method it chooses We call this reimplementation of code polymor phism and in it lies incredibly beautiful and subtle power Polymorphism Polymorphism means that a method can have one name that s shared up and down an object hierarchy Each object can if
214. of the processor board s video section complete with sample driver routines All packages contain serial and parallel port details and programming examples Also coverage of the processor clock I O and disk controller information that s not even available in Kaypro s own dealer service manual Key pro Be IV pre 84 aiii tig e aria eid p erecti C rites a dtr DU DD Gd 20 00 Kaypro 10 without Modem iecit est tub ci aaed a6 ero ach Bd erae nennen d det vein raii 20 00 Kaypro 2 4 and 10 84 series 5 eto aco eroi cericsus eode aaro eie Pw ae eec nae 20 00 NOTE These packages cover only the main boards You re on your own when it comes to disk drives power supplies video cards etc Phone Orders 503 382 5060 or 1 800 888 8087 Monday Friday 9 AM 5 PM PST 48 MICRO CORNUCOPIA 49 Sept Oct 1989 8280 Clairemont Mesa Blvd Suite 117 San Diego California 92111 619 569 1864 AT BABY AT XT TURBO um 8 Meg CPU Board Motherboard UNINTERRUPTIBLE ED FINE 2 o Cdp 650 Zero Wait State 5 amp 8 MHz Switchable POWER SUPPLIES Sub C Cells 1 5ah 1 50 8 Expansion Slots 8088 V20 Optional 12V Pack Sub C 10 00 640K RAM On Board Optional Co processor 400 Watt MODEL IPS400 Double D Cell 2 5V 4ah unused 8 00 Math Co processor Option 8 Expansion Slots 650 COells cire eps 1 75 Phoenix Bio
215. of windows zoom window uses a Brief over lapped window to display a file over the top of the normal windows on the screen I was forced to do it this way be cause in order to make a tiled window fill the screen I would have to tear down the current window structure of the screen I have already mentioned that there is no way to get enough in formation about windows on the screen to reconstruct a window configuration once it s destroyed First zoom window gets the screen size It uses that information to make the zoom window as large as possible Next it asks which buffer file in practi cal terms is in the current window It then creates a new window to fill the entire screen and the current buffer is attached to the new window After setting up the window to edit but before editing I reassign the alt Z key to prevent attempting to zoom an already zoomed window This wouldn t be dangerous you can create up to three overlapped windows simul taneously although the only way to switch to a previous window is to de lete the current one but there s no rea son to zoom an already zoomed win dow To allow entering keystrokes and editing the file in the zoomed window I call process which is a recursive call to Brief itself process inputs and processes keystrokes until it calls the macro exit After process is finished it s time to delete the zoom window then reattach the original buffer to the original win
216. ogram shown in Fig ure 1 CRITTERS C is written for Micro soft s C 5 10 and QuickC 2 0 an execu MICRO CORNUCOPIA 49 Sept Oct 1989 51 table version is available on the Micro C BBS or on the issue 49 disk The program requires an IBM PC compatible with an EGA card and at least 256K of RAM I will create ver sions compatible with Turbo C 2 0 Zor tech C and WATCOM C 7 0 I may even write an object oriented version of the program in C Making modifica tions for non Microsoft C compilers consists of changing the graphics calls to match each compiler s library It isn t very difficult to do The version of CRITTERS presented here has several features of my own de sign Bugs are known as critters and I refer to the bacterium generically as food The critters store in a doubly linked list and are dynamically allo cated You define a critter by a structure which contains the current location age energy level and pointers to adjacent critters in tlie list Food is merely a different colored pixel Critters move either up down left or right Initially they have an equal chance of moving in any direction A critter gains energy when it occupies the same position as a food pixel When the critter is mature having reached a specified age and it has sufficient energy it creates a new bug and has its age reset to zero New bugs and their parents each get half of the energy the parent had when the birth took pla
217. ompres sion utilities Create software sound files you can add to macros for voice recognition verification response A complete superior speech and sound development tool SOFTWARE CONVERSION CODES The Voice Master Key System operates a growing list of third party talking software titles using synthesized phone tics text to speech or digitized PCM ADPCM and CVSDM encoded sound files Voice Master Key System does it all EVERYTHING INCLUDED Voice Master Key System consists of a plug in card durable lightweight microphone headset software and manual Card fits any available slot External ports consist of mic inputs and volume controlled output sockets High quality throughout easy and fun to use ONLY 149 95 COMPLETE ONLY 89 95 FOR TANDY 1000 SL TL MODELS SOFTWARE PACKAGE ONLY Requires Tandy Brand Electret microphone ORDER HOTLINE 503 342 1271 Monday Friday 8AM to 5PM Pacific Time Visa MasterCard company checks money orders CODs with prior approval accepted Personal checks subject to 3 week shipping delay Specify computer type and disk format 3 2 or 514 when ordering Add 5 shipping charge for delivery in USA and Canada Foreign inquiries contact Covox for C amp F quotes 30DAY MONEY BACK GUARANTEE IF NOT COMPLETELY SATISFIED ONE YEAR WARRANTY ON HARDWARE CALL OR WRITE FOR FREE PRODUCT CATALOG COVOX INC 675 D Conger St Eugene Oregon 97402 U S A TEL 503 342 1271 FAX
218. on the screen What makes Palmiter s ideas inter esting is that he has built a small amount of genetic information into each bug Each bug has a set of genes which control its movement Lottery de termines movement every turn picks a random direction However as the bugs reproduce they mutate The mutation increases the probability that a bug will go in a certain direction Where the first bugs tend to jitter randomly later bugs take on a more directed pattern Those bugs which find food live long enough to reproduce passing on their characteristics to a new generation Jit ter bugs have a problem when the food in their local area becomes scarce be cause they tend not to travel far from their origin point Cruiser bugs which travel primarily in one or two direc tions are much more likely to find new sources of food Zigzag cruisers move in an erratic pattern which tends to lead them in one direction but with more area coverage Palmiter s program is simple yet ele gant As time goes on the bugs seem to develop behavior patterns even if they are a bit random in nature But is it real life on a computer screen No real life even for single cell organisms is far more complicated than Palmiter s simu lated bugs Nevertheless he has made a major step forward in the creation of real artificial life I ve taken the ideas developed by Palmiter and expanded upon them My first effort is the pr
219. ou want to disassemble With its built in help screens you won t have to constantly refer to the manual either although there are valuable discus sions on the ins and outs of disassembling which you won t want to miss S The Code Baetereol MD86 is a professionally supported product and yet costs no more than shareware And of course it s not copy protected VERSION 2 NOW AVAILABLE MD86 V2 is ONLY 67 50 51 50 s amp h tax C C Software 1907 Alvarado Ave Walnut Creek CA 94596 415 939 8153 Reader Service Number 31 Letters practical articles about what you can do with what you have articles on disk formats what s a FAT using CON FIG SYS etc So many magazines have articles that are just hype for new hard ware and software that I can t afford anyway Besides that your non glossy pages are easier to read than the glossy ones that have so much glare However I subscribe to your ma gazine for the computer content A few remarks once in a while about life in general or your SOG adventures are re freshing And I enjoy your wry humor But your July August issue went over board on your metaphysical views That s not what I subscribe for Peter E Walberg 390 Loma Dr Box 57 Forsyth IL 62535 0057 Editor s note Thanks for the comments Peter I take them to heart So far we ve received seven letters calls and BBS mes sages opposed to my mentioning the metaphysical in the edi
220. own traces to the power supply ground or to a single point where all the ground traces meet Simple Test Digitize A Battery You can easily test an A D converter board by using it to digitize a 1 5 volt flashlight battery You can hook the battery directly to the inputs of most boards since 1 5 volts is usually within the range of a typical board Then write a very small piece of code to read the value of the A D converter and print it to the screen When trying to solve a problem which involves both hardware and software I find it useful to start with something simple so I can see if my problems are hardware or soft ware Assuming you hook up the battery to the board correctly and the board is operational the problem you find with this configuration will always be in hard ware Since a battery is such a quiet stable source of input any noise in the least sig nificant bits of the conversion will almost always be due to problems in the design of the board A Gotcha Although boards with A D con verters on them have become very cheap you re in for a surprise when you try to calibrate one The manufacturer will cali brate the board but it s best to test them when they arrive All boards eventually drift out of spec and you need to recali brate them The problem is that calibration re quires equipment which is usually un available to the average user For a 12 bit A D converter you need a calibrator with overall
221. own with a gossip everything knows about everything else in the ob ject This combining of data and code in one container is a neat extension of units Programs consist of units Units consist of objects So at one level an ob ject is a new way to organize tools But that s just the beginning More impor tant it s a new way of thinking about tools Let s take another step Inheritance Once you ve defined an object you can use it to build a hierarchy of objects Each time you build a new object called a descendent from an existing object called an ancestor the new ob ject inherits all its ancestor s code and data An object can have more than one ancestor but only one immediate ances tor So an object hierarchy might look like this objectl object2 object3 object4 l object5 In this little sketch object has two descendents object2 and object3 object3 has two descendents object4 and ob ject5 object4 for example inherits everything from object3 its immediate ancestor and everything from objectl an earlier ancestor This can go on ad infinitum or until you run out of memory disk space or ideas In an important sense object oriented programming is a method for building family trees for data structures Let s say we ve built an object type anObjectl object X Y integer procedure doSomethingWithX amp Y end and now we want to build anObject2 out
222. ows the PostScript code to print a monochrome 1500x1500 5 square image in the center of an 812 x11 sheet of laser printer output Right off you ll see the means for commenting a percent sign directs the interpreter to ig nore all text until the end of the line The procedure called fractal intro duces the image operator image takes its operands like this number of horizontal elements in a line of the image 1500 number of lines 1500 bits per image element 1 here but can be 2 4 or 8 for grey scale images transform matrix and a procedure to provide the image data The transform matrix as written 1500 O O 1500 O 0 reproduces our 1500x1500 image with no changes But consider an image with origin at the upper left corner like a video image We d like to invert it to match PostScript s expectations The following matrix will do the inversion 1500 0 0 1500 0 1500 The other matrix elements define rota tion and scaling of the image But Post Script operators exist to perform these functions much more easily so we won t fool with the elements containing zeros Next image s data procedure reads strsize hexadecimal bytes from the cur rent PostScript file being interpreted For us that s one horizontal line Note that a hexadecimal byte is represented by two ASCII characters in the PostScript file PostScript expects the image data to be the first thing following the call to fractal in the main pro
223. p Cheshire Division Cheshire Industrial Park Cheshire CT 06410 FROM 203 271 6000 COMPUTER Call Airpax for the name of your local distributor and ask for a copy of their stepper motor handbook 286 or 386SX CAN T MAKE UP YOUR MIND WHAT SUITS YOUR NEEDS NOW MAY NOT BE b i MD Doo RIGHT FOR YOU IN THE FUTURE TAKE ADVAN E Dem E S wp TAGE OF THE SPEED AND POWER OF A PT286 4 ma d SYSTEM ANDRETAIN THEOPTION OF UPGRADING O rder some LATER TO A 386SX WITH A PLUG IN CPU MODULE l ALL PRODUCTS ARE COMPATIBLE WITH DOS UNIX XENIX OS 2 AND MAY CONTAIN UP TO 5 MEGABYTES OF ON BOARD MEMORY Mandelbrot Explorer 3 0 286 386SX KITS ARE AVAILABLE ePT386SX Assembled board 16MHZ 512K RAM FDC 2 serial 1 parallel port 795 00 Fantastic fractal grapnics on 16 color EGA VGA to 800x600 ePT286 Assembled board 16MHZ OK RAM FDC Magnifies up to 16 5 trillion times Stop and start at will save and 2 serial 1 parallel port 475 00 retrieve collage full control over color boundaries Zoom box ePT386SX Optional upgrade toPT286 325 00 display of periodic orbits auto backup all optimizations for speed CPU Module Only including pixel interpolation and 386 integer support Comes with seven ready made pictures for immediate gratification COMPLETE SYSTEMS STARTING AT 999 1 YEAR WARRANTY CATALOG AVAILABLE UPON REQUEST 30 PERIPHERAL TECHNOLOGY i 1710 CUMBERLAND PT DR SUITE 8 1615 Aloe Way MARIETTA GEORGIA 300
224. pper motor was so I said Steppers eh Yeah They re great I can get them from Jerryco for 5 a piece Can you de sign me some driver circuits The ICs for powering these things would cost 20 a shot if I could find them Twenty bucks For some silly reason I still think ICs should cost less than the socket to plug them into The next day John mailed me the excellent Airpax stepper application manual So there I was a new project Figure 1 Unipolar Winding Stepper Motor Sequencing Another Project Starts I had four design goals 1 low cost 2 directional control 3 some degree of direct speed control by the computer and 4 the use of as few lines from the parallel port as possible After a little experimentation I found I could do the job with cheap easily available CMOS ICs though the design is a bit more complex than with dedicated driver chips But you save a lot The driver uses three lines directly from your parallel port Lines one and two control the speed 28 MICRO CORNUCOPIA 49 Sept Oct 1989 M INENENENEEEEEERRRERRRRRRRNI of the stepper Line three controls the direction of rotation The logic runs off the computer s 5 volt supply I recom mend you run the stepper off a separate supply Don t torture your computer any more than you have to John used 12 volt steppers on his ma chine With the transistors specified he could have run 5 to 2
225. preting inch Instead both inch and 72 mul get pushed onto the stack for use by the def operator def pops the two arguments off the stack and pushes them onto another stack called the current dictionary We ve just created a PostScript proce dure The curly brackets delimit the pro cedure body The next time the interpre ter sees something like 5 inch it pushes 5 onto the stack searches through the current dictionary until it finds inch and pushes its definition onto the stack also So 5 inch becomes 5 72 mul or 360 points Just right Variable assignments work the same way pi 3 1416 def assigns a value to pi in the current dic tionary The term current dictionary implies that not so current dictionaries exist That s the way the scope of variables and MICRO CORNUCOPIA 49 Sept Oct 1989 17 procedures can be controlled variables and procedures exist only within the dic tionary of their birth Line Drawing To draw a line in PostScript we deal with paths The following code draws the first crop mark in the lower left corner of the page newpath 0 01 inch setlinewidth 1 inch 0 9 inch moveto 0 inch 0 5 inch rlineto 0 9 inch 1 inch moveto 0 5 inch 0 inch rlineto stroke showpage The newpath initialization deletes any path that might be lurking about set linewidth overrides the default width for lines moveto does just what you d ex pect It takes the x coordin
226. r stand he pointed out Compatibility be comes an issue only at extraction time To create an archive you can use either ARC or ZIP Of course each ven dor hopes its package will become the standard Each is willing to let third party developers address compatibility with extraction utilities that understand both formats It turns out that many people use ar chiving programs for data backup squeezing large amounts of hard disk information into a much smaller space on floppies That raises a fundamental question about archiving priorities size versus security In one sense the best archive is the smallest archive and that s one major area of competition among compression programs File inte grity however depends on data redun dancy The point of archiving is to reduce the number of bits used said Nissen Redundancy runs counter to this Vendors will have to decide whether to aim at size or security since users are clearly interested in both file integrity and compression Katz and Henderson both said that they were not expecting to replace backup utilities with their programs but people are already using ZIP and ARC for data storage The two competitors further agreed that size is a tradeoff against speed and security It takes time to figure out the most efficient compression PKWare managed to beat ARC in the early going by coding the algorithms in assembly language while SEA used C The archiving compet
227. r Interfacing by Bruce Eckel Use your PC parallel port for digital input and output Build an Adapter Card for your PC Control a stepper motor Design and build electronic circuits With wit and superb technical figures Bruce captures the essence of making electrons out of bits and vice versa Jeff Dunteman Dr Dobbs Only 30 ppd Includes Book amp Disk Capturing Video Images Voice Capture and Analysis The Further Exploits of LIMBO Bits From Our Past 3 D Graphics Programming PostScript Programming Part 2 MICRO CORNUCOPIA 49 Sept Oct 1989 95 This introduction should not be words it should be a fractal something I think heat I m sitting in the Elk mountains of Colorado and the face of this mountainside varies daily In fact it varies much more frequently but my perception of the variation is limited by a matrix of factors This morning the ghostly purple larkspur Delphinium nelsonii named both for its dolphin like shape and a Wyoming botanist has suddenly bloomed It s surrounded by sky blue lupines and various green bushes yet to bloom And it seems they re taller by several inches since yesterday As you read this the mountainside has varied many times until the only mountainside that exists is the one you imagine Perhaps now in my future it s in late summer seed Discussions of time like this one are strange and always eventually in conclusive Yet time cont
228. r a voice signal most of which is less than 10 KHz your sampling rate would be at least 20 KHz High speed A D converters usually use a successive approximation tech nique They test the signal to see if it s above or below the halfway point of the full voltage range which establishes the most significant bit of the result If the input is above the halfway point the value of the halfway point is subtracted and the remainder tested to see if it s above or below the quarter way point which establishes the penultimate bit This goes on until it establishes all the bits at which time the conversion is complete l If the input signal changes very slowly the conversion occurs before capacitor is empty the discharge time is proportional to the input voltage This method is also called integrating Because it integrates it ignores noise and doesn t have the problems associated with the successive approximation con verters So you don t need a sample and hold and you often don t need a filter However a dual slope converter is slow though you get much greater resolution number of bits The Lawson Labs board is appropriate for taking high accuracy measurements but not for capturing waveforms Filtering If you use a successive approximation converter with a built in sample and hold you only need to worry about 1 voltage level adjustments and 2 filter ing out noise and frequencies higher than those
229. r kit 80 C Windows Toolkit pop up pull down spreadsheet CGA EGA Hercules 4 4 4 4 4 4 e e 4 eon n 80 JATE Async Terminal Emulator includes file transfer and menu subsystem eee 80 Polyglot Lisp to C Translator includes Lisp interpreter Prolog and simple calculus prover lees 80 MultiDOS Plus DOS based multitasking intertask messaging semaphores 4 4 54 4 eee s 80 Make macros all languages built in rules 4 4 4 4 4 4 e Rose hos eom ooo ooo oe on ns 75 eval C function to evaluate ASCII infix expression string 17 built in functions 4 een 75 XT BIOS Kit roll your own BIOS with this complete set of basic input output functions for XTS ee e 75 Professional C Windows lean amp mean window and keyboard handler leeren 70 Heap pen E use LIM standard expanded memory as an extension of the heap ee ee ee 65 Ip flexible printer driver most popu printers supported 2 4 44e ee ee n n n n n 65 YSKIT rommable or TSR debug monitor easily expanded rss 60 Quincy interactive Cinterpreter 4 4 4 4 4 4 4 4 4 e eee ho oho momo oo a omo nono on 60 Symtab general purpose symbol table construction and management package 4 eel 60 P Iree general purpose parse tree construction and management package e eee eee 60 Coder s Prolog Version 3 0 infere
230. r years to simulate the real world One of the most popular simulations is Life an elementary imitation of a colony of cells John Conway of the University of Cambridge England developed the system in the late 1960s Cells live die and are born accord ing to a simple set of rules An empty cell with exactly three live neighbors gets born When a live cell has four or more live neighbors it dies from over crowding Any live cell with two or three live neighbors simply survives From these three rules came a fasci nating pastime for many people The computer is given a beginning pattern of live cells and then begins processing it according to these rules Fluctuating and oscillating patterns emerge and have been given names such as floaters and guns You have even more fun when you change or add to the rules People have become quite creative in enhancing Life adding different universes modifying rules and mutating cells It s fascinating to watch the patterns as they change even people who hate computers are there such cretins lt grin gt will spend hours watching Life run its course Making Life More Interesting Even within its extended forms however Life is not truly lifelike It is a system for modifying a pattern accord ing to a set of very simple rules The rules don t change once the pattern is running However real life includes compli cated interactions between organisms and their
231. re one unit high one unit wide generates a shadow square of the same measurements behind itself in space undefined by the coordinates It was with such tricks that he had begun the orthogons he obtained had first started him thinking about the generation of inhabitable if also somehow imaginary pasts Fogg fans will no doubt recognize these tricks They re fractals which Last uses to travel into the past and then back to the future Sometime later back in the future Last discovers an inescapable paradox that the future he s returned to isn t the future he left Not the future of his former past but the future of the new past he created by time traveling Although Last had calculated to the penny the necessity of disturbing noth ing of importance during his journey he hadn t and couldn t succeed All fu tures in GWOT are determined by minute variations and choices Paths diverting particles close together pasts altered slightly vary little by little but wind up very far apart Each choice each detail that made up Lasts past is a bifurcation or branching from what might have been and leads to a future slightly removed at least from that of any other past So Last s one and only journey into the past opens up a kettle of futures and pasts and futures ad infinitum The sto ries within the story Great Work Of Time are intriguing and subtle Not the least is a moralist s viewpoint that
232. reviews The article was fairly compli mentary up until the point when the author became frustrated that he could not get his MR MOX to work What happened He seemed totally convinced that if he set up the modem the way the modem has to be set up to work with MR MOX the modem would not work with the computer He did not try to set it up the way it has to be set up He didn t have to He knew it wouldn t work He didn t call He just gave up ending his article with It makes one wonder how the engineers thought through the concept and tested it Arrrgh To their credit they published my rebuttal in their next issue The author apologized in print for an uninten tionally misleading review The editor apologized on the phone and they up graded MR MOX to a Good Buy Darn hard to use the condemning ar ticle rebuttal apology in your market ing literature though Did this undo the damage of the original article Dave Thompson your friendly Micro C editor mentioned that usually more people read the letters columns than the articles However if sales are any indication it doesn t ap pear that people read either in LINK UP Well there are always retail sales right Not so fast Big or small retailers pointed out that customers had not been coming into their stores asking for MR MOX Now my point of view was If only my product were on display next to XXXX then people would real ize how handy it wou
233. ries graphic interfaces clone boards language interfaces chaos theory fractals micro controllers and much more Ninety five percent of our subscribers keep back issues in their libraries In addition to subscriptions Micro C is sold in major newsstands including B Dalton and Waldenbook INTRODUCING THE MICRO CORNUCOPIA TECHNICAL REVIEW SERVICE Having reviewed thousands of products services and startup ventures we ve discovered that most share common challenges To assist you in your venture we ve developed our technical review service Here s how it works STEP 1 You ll start by ordering and completing our questionnaire It has over 75 important questions about you and your venture We ask about your product We ask about your manufacturing marketing and administrative tasks and expenses You ll also receive a personal evaluation form to help you assess your own strengths and weaknesses All together the questions help you explore your market and explore the expertise you and your team bring together Honest answers to these questions should give you a good perspective about your venture and its chances for success As an introductory offer there will be no charge for questionnaires requested prior to October 31 1989 To receive your free questionnaire write 159 on the reader service card and send it in STEP 2 If filling out the questionaire leaves more questions than answers return it and 150 00 to Micro C Add 50 00 for eac
234. ries of your computer with this single sheet schematic of the IBM XT s main board A wealth of information for both True Blue and clone owners Need to know just how a non maskable interrupt occurs and how to mask it Is your keyboard dead or do you just want to know how to disable it A trip through our schematic will answer your questions Although clones use slightly altered board layouts and different chip location names they re close enough to the original for this schematic to be very useful As an example you have a dead clone Lil sucker won t even beep A look at the schematic shows the location of parallel port A You know that the power on self test loads a checkpoint number into port A before each test So now all you have to do is read port A with a logic probe to see how far the system went before it puked We include these checkpoints and other trouble shooting information with the schematic IBM PC XT Schematic ccccccccecscsssceseccceccessccsecscnccsaccesaccestsessceesuceeasccsonscsnsesacscasscanecasensaes 15 00 CP M KAYPRO SCHEMATICS Of course we still provide a complete schematic of the processor board in your CP M Kaypro It s logically laid out on a single 24 by 36 sheet and comes complete with an illustrated theory of operation that s keyed to the schematic You get detailed information available nowhere else For instance those of you with the 10 and newer 84 systems get a thorough run down
235. rom high to low the totem pole can short momentarily This can send a nasty glitch back through the supply line There are two ways around this prob lem First try the 7555 CMOS version of the 555 timer Intersil makes them Digi Key sells them 90 each Or use a large bypass capacitor I added a 220 uF cap across the power supply pins of the 555 A value that large might be overkill Note if you have several 555s on a board normally you need only one big bypass Watch Your Parts Quality There are some components that you just can t goof around with Timing resis Figure 4 Reversing Circuit Using CD4070B LINE 3 Tg ROTATION CD48135B 30 MICRO CORNUCOPIA 49 Sept Oct 1989 IN4004 4 19K tors and capacitors are very important The leakage of the capacitor deter mines the upper value of C Too large too leaky capacitors just never seem to charge up Save yourself some grief Use a good quality capacitor for C1 like a Panasonic type NHE or HFS if you need a value above 0 22 UF Below 0 22 uF use high quality mylar or polysty rene Be sure to bypass Vcc with good mylar or disk ceramic capacitors in several locations And keep the leads short The high current square waves from the stepper drivers could induce spikes in the Vcc supply bus The Phase Shifter The phase shifter uses a single CD4013B dual D type flip flop to pro duce the 90 shift Note that it divides the clock frequency by four
236. rooks fully optimized compiler You get the same high productiv ity environment with code generation and flexibility you can t find in any other product in the industry Stony Brook we design our products specifically to improve developer perfor mance And we know software engineer ing Put us to work for you Call us direct and we ll mail product information to you within 24 hours 800 624 7487 805 496 583 Sad Incarnational 805 496 7429 Fax Reader Service Number 152 SOFTWARE Your Partner in Software Development 187 East Wilbur Road Suite 9 Thousand Oaks CA 91360 MICRO CORNUCOPIA 49 Sept Oct 1989 1 4 A debugging tool tough enough to handle the DOS Nasties Nasty over write No sweat Soft ICE memory range break points help you track down memory over write problems whether you are doing the over writing or another program is over writing you Hung program No problem When the system hangs you now have hope With Soft ICE you can break out of hung programs no matter how bad the system has been trashed And with Soft ICE s back trace ranges you can re play the instructions that led up to the crash Program too large Not with Soft ICE Soft ICE runs entirely in extended memory This means you can debug even the largest DOS programs And since your program runs at the same address whether Soft ICE is loaded or not you can find those subtle bugs that change when the starting
237. routine initializes the sort by passing key information and sort options An array of words contains the key information The first word is the number of keys Each four word group after that specifies the data type order ascending or descending offset from the beginning of the record first byte is 1 not 0 and the length of the key GenSrtBegin returns a sort id that uniquely identifies the sort and a status code It s the first routine to call for a sort GenSrtRelease The GenSort routines don t receive all the data at once A call to GenSrtRelease passes each record to the sort It builds the key for each record according to the key information stored in srtKeyArr by GenSrtBegin GetMem allocates storage space for the data and key because the standard procedure New allocates a specific number of bytes according to the variable s type Our variable type is largely unknown and the storage requirements vary between sorts The key is built a byte at a time By using variable type casting to access the address off set it increments the pointer to the current byte location Use move to transfer the actual record information from the calling routine s variable to the space allocated Then make a call to GenBinInsert to insert the information in the correct location in the binary tree Gen BinInsert is part of the GenBinTree unit See Figure 2 GenSrtDoSrt Nothing really happens at this stage of the sort The sort status
238. rtant nor does it say what will hap pen if it isn t used Figure 2 contains oscilloscope pat terns The A group is the desired con dition with I O CS16 pulled low when selecting the address port The IOW300 consisting of the decoded address lines and the IOW pulse exactly follows the shape of the IOW pulse Since the I O CS16 line connects to the IOW300 line it also follows the IOW pulse If I O CS16 isn t connected Figure 2B shows the strange things that happen A single OUT DX AX instruction produces two IOW pulses IOW300 has a single pulse aligned with the first IOW pulse IOWS301 we wired it up specially has a single pulse aligned with the second IOW pulse Address line AO contains logic zero during the first IOW pulse and changes to logic one during the second The com puter is changing the address lines during the IOW cycle The IOW301 pulse occurred with the second IOW pulse be cause the address lines had changed to address 301 and the IOW pulse was pre sent If one used these signals to control equipment strange things would hap pen We connected fifteen of the data lines OUTO through OUT14 at the output of the 74L5574 latch to a logic analyzer in order to follow the movement of data through the interface We connected the IOW line to the 16 logic analyzer line and the logic analyzer clock to the 10 MHz AT clock CLK bus pin B20 The 10 MHz clock effectively makes the logic analyzer into a 16 channel
239. ry leader The Leader in Convenience Lattice C uses an automated installa tion procedure that has been praised by reviewers The compiler automati cally configures itself so that you do not need to specify complicated options Yet a full set of options is available to the professional who needs to customize to a particular environment Lattice is the conven ience leader The Leader in Documentation Lattice C includes over 1500 pages of high quality documentation in ring binders It contains all the informa tion that professional programmers need ina thoroughly indexed format Lattice is the documentation leader The Leader in Support Best of all Lattice support comes free with Lattice C Lattice s bulletin board and telephone up arethe best in the business Lattice is the support leader 30 Day Money Back Guarantee Lattice C 6 0 is available for 250 To order send check or money order to Lattice Inc 2500 S Highland Ave nue Suite 300 Lombard IL 60148 Or order by credit card at 800 444 4309 FAX 312 916 1190 TELEX 532253 Send to Lattice for a free complete report on the benchmark analysis Reader Service Number 153 MICRO CORNUCOPIA 49 Sept Oct 1989 5 Large Video Characters Regarding large characters for those with vision impairments a big monitor would be ideal of course On my Zenith lap top and probably most CGA compatible machines MODE BW40 or MODE CO40 makes
240. s Information Modes Wi diss P O Drawer F Denton TX 76202 817 387 3339 Reader Service Number 149 CROSS ASSEMBLERS PseudoCode releases the PseudoSam professional series of Cross assemblers All popular processors Macros Conditional Assembly and Include Files Virtually unlimited size For IBM PC s MS DOS 2 0 or greater with manual 50 00 Simulators and disassemblers also available MI res 4 tax S amp H USA 5 Canada 10 Foreign 15 Visa MC KORE Inc 6910 Patterson S E Caledonia MI 49316 616 887 1444 30 Day satisfaction guaranteed or purchase price refunded Reader Service Number 136 MICRO CORNUCOPIA 49 Sept Oct 1989 91 field of 0 7 gauss and normal magnetic media mag strips tapes and disks re quire 200 to 300 gauss to write data Airport X ray units use less than 1 mr millirad If the X ray unit was built in the last five years it will use 0 3 mr per scan In every day living you re ex posed to 0 3 mr per day and when fly ing at normal altitudes about 35 000 feet for commercial airlines you get 0 5 to 1 0 mr per hour The only X ray unit that uses 1 0 mr or more is the fluoroscope which has to have a stationary object to produce an image on the screen The longer it s viewed the more rads the object ab sorbs However at present fluoroscopes are not in use at any major U S airport Now what does all this mean There s no need to worry about the security equipment at the
241. s Plant maintenance person nel and electricians were the main instal lers and operators of this new tech nology It was easy enough to follow the installaion drawings since they con tinued to be standard electrical ladder di agrams Programming was another thing Many of the early machines were programmed in boolean algebraic equa tions hardly the forte of the average maintenance mechanic The obvious answer was to use the al ready familiar ladder diagrams Ladder diagram programming LDP uses graphic images of contacts and coils rep resenting the familiar relay circuits Within a ladder diagram an in dividual line of code is called a rung LDP Rung I 0 A B c The above example shows a normally open contact A a normally closed con tact B and a coil C The contacts can be assigned to real inputs so an ener gized input A and a non energized input B will cause coil C to energize Coil C can be assigned to a real out MICRO CORNUCOPIA 49 Sept Oct 1989 23 put as a motor starter or other electrical signal t 1 o The above rung shows the coil C energizing when either Contact A or B energizes Using these simple elements service people can generate complex logic statements In an LDP program power always flows from left to right Although these examples are very simple LDP programs can have up to 100 elements in each pro gramming screen and progra
242. s ERSO or Bison Bios Power distribution center and sine 7 2V RC Pack 12ah 18 00 200 Watt Power Supply 640K RAM wave UPS Only 2 high Hercules Compat Video Bd 150 Watt Power Supply Parallel Port Hercules Compat Video Bd 560 Watt MODEL IPS560 GEL CELLS 2 Serial Ports Active Parallel Port 350 Game Port 2 Serial Ports Active Sinewave 560W complete with 12V 20ah Clock Calendar Game Port batteries id see aee Hard Disk amp Floppy Controller Clock Calendar DAN cece eene nnn 20M Hard Drive Hard Disk and 400 Watt MODEL SPR401 D Call 25h ius seo eter 2 00 1 2M 5 Floppy Drive Floppy Controller i 180 360K 5 4 Floppy Drive 20M 5 4 Hard Drive Supplies may have minor cosmetic ROBOTICS 5061 Keyboard 2 ea 360K 5 Floppy Drive damage but are electrically sound 5V DC Gear Motor w Tach 1 x2 Case with Turbo amp Reset AT Style Keyboard Squarewave output Run on inter Josstick d switches 1 knob cos 500 Hard Drive Light and Standard Slide Case nal or external 24VDC battery when VOYSUICK SWIiChes KNOD Z80 Controller with 8 Bit A D Brushless 12VDC 3 Fan 7 50 12V Gear Motor 30 RPM 7 50 Cable DB9M DBO9F 1 ft length 2 00 High Voltage Power Supply Input 15 30V DC Output 100V 400V 16KV 6 50 line goes down Typical transfer time 12MS Battery supplied For AT XT amp Kaypro NEW 24V INTERNAL BATTERY Keyboard Disable Switch Amber Graphics Monitor
243. s at the beginning of the program To demonstrate how resident pro grams work I ve introduced POPUP and RENEGADE These programs store the current screen in resident memory but RENEGADE exerts absolute control over the keyboard interrupt Once the key board is in its grasp RENEGADE does not relinquish control and excludes all other resident programs from using this interrupt Introducing POPUP Figure 3 lists the assembly language source code for POPUP After its installa tion in resident memory activate the pro gram by hitting both shift keys simul taneously The first entry stores the cur rent screen in resident memory while subsequent activations pop up the stored screen This program assembles with MASM Here s how POPUP works The first instruction in the code segment JMP INIT bypasses the MAIN procedure and skips to the INIT procedure The INIT procedure saves the old keyboard vector and then chains INT 9H to the MAIN procedure The last instruction of the INIT proce dure INT 27H makes the ultimate sacri fice by allowing itself to be erased It ter minates the entire operation but protects code from the start of the PSP to the end of the MAIN procedure Note how the DX register points to the start of INIT the offset one byte beyond the protected code Once installed the MAIN procedure becomes our interrupt handler Every keystroke gets intercepted by this han dler and redirected to the old INT 9H in
244. s of the boards Ive tested In the second part Il complete the demystification of the boards and the electronics you ll need to interface them to the real world past issues I ve tried to show you What You Get Most of these A D boards begin with but contain much more than just an A D converter They try to solve everyone s problems which can be an obnoxious trait in some people but an ideal feature for a computer In general look for boards which provide multiple channels of A D input usually a single multiplexed con verter 42 MICRO CORNUCOPIA 49 Sept Oct 1989 several channels of digital to analog D A conversion anda number of digital I O lines Often these boards will come with one or more counter timers For many situa tions you ll only need one of these boards your PC and some simple elec tronics described later The boards I ll talk about represent what s available in the 300 price range I ve tested three different products from four different companies lll explain shortly All three can convert A D but beyond that they differ widely Real Time Devices a company in Pennsylvania builds and markets the AD1000 along with several other inter esting very low cost cards The AD1000 has 8 channels of 12 bit A D with a 20 microsecond conversion time Take the inverse to convert that to speed A microsecond is 10 so 1 divided by a microsecond is 10 or a megahertz
245. se voltage generated when the relay s field col lapses A set of contacts on the relay con trols the external device Analog Inputs The card also converts analog signals to binary In this way the CPU can read an analog input as 16 bits the same way it read the 16 inputs above The LDP pro Rack amp Desk PC AT Chass Integrand s new Chassis System is not another IBM mechanical and electrical clone An entirely fresh packaging design approach has been taken using modular construction At present over 40 optional stock modules allow you to customize our standard chassis to nearly any requirement Integrand offers high quality advanced design hardware along with applications and technical support all at prices competi tive with imports Why settle for less Figure 1 PLC Bus Process Signal Interface i SIGNAL LL COMMON nm Hund Maa Figure 2 PLC Output Drives nn nuu Rack amp Desk Models Accepts PC XT AT Motherboards and Passive Backplanes Doesn t Look Like IBM Rugged Modular Construction Excellent Air Flow amp Cooling Optional Card Cage Fan Designed to meet FCC 204 Watt Supply UL Recognized 145W amp 85W also available Reasonably Priced T Pe Backplanes Figure 3 Analog to Digital Conversion SYSTEM CLOCK Call or write for descriptive brochure and prices 8620 Roosevelt Ave Visalia CA 93291 209 651 1203 TELEX 5106012830 INT
246. ssue 50 to find out References PostScript Language Tutorial and Cook book by Adobe Systems Addison Wes ley 1985 ISBN 0 201 10179 3 Includes further references PostScript Language Reference Manual by Adobe Systems Addison Wesley 1985 ISBN 0 201 10174 2 PostScript Language Program Design by Adobe Systems Addison Wesley 1988 ISBN 0 201 14396 8 By Ron Hicks 819 S 21 St Sheboygan WI 53081 Programmable Logic Controllers Industrial Control Is No Longer A Relay Race In many ways this feels like Bits From Your Past Just a few months ago I watched a pressman cussing the relay panel on his press Actually I didn t know it was a relay panel until I looked inside That box contained a hellish mess of color coded wires long ago coated a uni form black and relays clacking and spark ing as they connected and disconnected 220 VAC The hearts of these ancient machines aren t the motors or the fancy rollers they re the relays the cussed nasty grimy indispensable relays Read on for informa tion on new hearts ou may think this article seems Y of place in a micro computer magazine but it s not You see Programmable Controllers are nothing more than micro computers interfaced to real world inputs and outputs In its simplest form a programmable controller consists of a central processing unit CPU attached to inputs and out puts The CPU has a program that tells
247. st Suite Version 1 09 Lattice is the compatibility leader The Leader in Debugging Lattice C includes CodePRobe a new full screen symbolic debugger for DOS and OS 2 CodePRobe Ras the familiar look of the CodeView and can be used witha mouse Italso enables you to easily debug family mode programs Presentation Man ager applications and OS 2 mul tithread applications And for those humongous programs and system killer bugs CodePRobe can be used remotely froma different PC Lattice is the leader in debugging The Leader in Innovation Lattice has long supported popular angua extensions suchas near far and pascal In our previous version we introduced align chip volatile interrupt nopad and pad to handle important memory management problems in DOS OS 2 and embed ded systems Version 6 continues this evolution with critical and private Critical defines a function that must run as a critical section and private defines data that must be replicated for each execution thread Future versions will continue to improve the language for use in cutting edge environments such as OS 2 and AmigaDOS Lattice is the innovation leader 90 80 70 60 in both large and small so Performance g AM ETOR DN OS EF RO orkar wordt Megieuti Libraries ANSI And the benchmarks show it The Leader in OS 2 Lattice C includes bindings and header files so that you do not need to buy
248. standing and the willingness to learn When they find this kind of person they ll spare no expense for training Iwo great tools SAYWHAT The lightning fast screen generator l Whether you re a novice i N programmer longing for f 4 simplicity or a seasoned pro searching for higher productivity you owe it to yourself to check out Saywhat You see with SS A Saywhat you can build se ees beautiful elaborate color coded screens in minutes A fa That s right Truly fantastic screens for menus data entry data display and help panels that can be displayed with as little as one line of code in any language Here s what you get e Design screens windows and moving bar menus Easy to use powerful editor lets you create screens in a jiffy Pop up your screens and menus with one line of code in dBASE all the dBASE compilers your favorite BASIC Pascal or any other language Screen Library Manager Generates runtime code e No runtime license or royalty fees Comes with a 100 page manual plus dozens of sample programs and free utilities 49 N hus A pty ic A Dealers SAYWHAT and TOPAZ are available from Kenfil Distribution and in Europe from ORDER NOW YOU RISK NOTHING Thousands of satisfied customers have already ordered from us Why not visit your dealer or call toll free right
249. stic collection of structural material and small mechanical components A great source of gears shafting cams and drive chain Questions Q Can I generate the clock pulses in soft ware so I could do away with the clock A Absolutely I didn t simply to keep the size of the software down You can do it with timing loops to synthesize the pulses Or you could use a pro grammable divider to divide down the system clock Q Can I shut off the current flowing through the coils when the clock is off to save power on my super battery operated toy I just designed A Yup See Figure 5 We OR to gether lines one and two If both are low the CD4066B analog switch removes drive from the bases of the driver transis tors I left this out of the Woodpecker in order to get some dynamic braking There are two ways of doing this One uses two diodes with a 100K pull down resistor to OR lines one and two together A little better way would be to use two UIS I C Blazing Graphics Text of their respective holders VISA MC AMEX COD PO accepted d Ep p vm A cn MJ Ada lightning fast graphics to your programs quickly and easily through the popular PCX file format Why reinvent the wheel Make your programs immediately compatible with hundreds of packages from Aldus PageMaker to ZSoft s PC Paintbrush with these linkable graphic libraries A Professional Class Product NEW Version 3 5 of
250. straightforward When an interrupt is in voked the CPU pushes the flag register the segment register CS and the in struction pointer IP onto the stack and disables interrupts It then uses the inter rupt number to fetch the address of the handler from the vector table and begins execution at that address The handler will enable interrupts save registers and process the interrupt You can easily activate a resident pro gram by modifying an interrupt vector Two interrupts especially qualified for this task are the keyboard interrupt 9H and the user timer interrupt 1CH Heathkit Before you attempt to take control of these interrupts there are a few things you should know The handler can call DOS and DOS will perform the function but the handler cannot be reentered from DOS The last instruction of a handler must be IRET IP CS and flag registers popped When an interrupt is invoked the trap flag is suspended so that you cannot trace through a handler to locate errors Each time you press or release a key the action reports to the ROM BIOS via INT 9H The ROM routine reads port 60H to find out the selected keystroke The scan code and ASCII value are stored until you press the next key Powerful Kit Laptop and Desktop Computers A leader in quality electronics for the technically sophisticated customer When you need kit or assembled electronic products for work home or hobby you can be sure Heat
251. t 256 bytes The bottom line this chip s stream lined architecture is fun to work with Don t be fooled by the paucity of regis ters and tiny stack you can handle seri ous control projects with the HC705 The Development Board The HC705 does not support external RAM or ROM so programming can be a problem Fortunately Motorola offers the M68HC05PGMR development board Used with a PC based interface program PROG7 supplied by Motorola with the PGMR board you can download soft ware to the HC705 program the EPROM and test your code So the board constitutes a complete HC705 development system The PGMR board contains little more than RS 232 level shifters a crystal oscil lator LEDs and pullups and necessary connectors See Figure 1 All timing and control for EPROM programming and serial I O get done by PROM code in the HC705 The PGMR board sets up easily Con nect a serial cable to your PC plug an HC705 into the processor socket and supply 5 12 and 12 volts Program ming the processors EPROM requires adding a switchable 15 5 volts Vpp After burning your software into the MCU s EPROM you can reconfigure the PGMR board as a test bed for debug ging All 40 pins of the MCU socket ap pear at an IDC connector on the card s edge By connecting a ribbon cable to a 40 pin header you can plug the development board s MCU into an exter nal circuit Since the PGMR s oscillator
252. t gives you Now about those diodes across the coils These are called snubber diodes or at least that s what I ve always called them They clip the reverse voltage spike generated when the magnetic field col lapses in the stepper coil Leave these out only at your computer s peril Windings The color code shown here is for the Airpax steppers John used Others may have different connections Remember to look for steppers with six leads They re the bipolar ones that are easy to drive A few minutes tracing with an ohm meter will give you the connections Just re member that the center tap has half the resistance of the entire winding Making a little drawing with the leads colors and resistances will make the job easy Suppliers Many of the suppliers that advertise in Micro Cornucopia have steppers The ones I ve listed may be new to you I ve used them all on a regular basis and the service has been excellent Digi Key has an excellent selection of new components with very fast service They have the best selection of computer type components of any mail order firm I know They send out an updated catalog every two months Jerryco often has steppers and some of the darnedest oddball stuff you ve ever seen in your entire life Don t laugh when you check out their catalog You never know what weird items you ll need to build your dream project Small Parts Unlimited is a robotics builders dream They have a fanta
253. t the products from the perspective of experienced users Or you can con tact the manufacturers directly DECtalk Digital Equipment Corp Contact Bill Metcalf 2525 Augustine Dr Santa Clara CA 95054 415 651 5474 Echo PC Street Electronics Corp Contact Mark Pfeffer 6420 Via Real Carpinteria CA 93013 805 684 4593 Video Voice Grassroots Computing P O Box 460 Berkeley CA 94701 415 644 1855 BBS Phone Correction In the list of alternative BBSes for downloading Micro C s issue listings published last issue we embedded an incorrect phone number for the Genera tion 5 BBS in Washington D C The cor rect number is Generation 5 BBS 301 495 2932 This is a subscription board but you don t have to be a subscriber to download Micro C code Good Magazine But Ive really appreciated your ma gazine for the past few years You have Continued on page 75 Block Edit File Goto Help jE Print Search Undo Window Config while TRUE mae ASCII Table il match or error BOS Shell Jigetseqtkeybuf i Run DOS Program Gre lent ae A Color Toggle if iss Of VGAVEGA Toggle PRR CIT Execute Macro z Check for delinite Keystroke Macros TPC MEE TALI Add Macro Display Macros 7 Check if displayabl Load fron Disk if Crkeybuf gt 1 om printf zc ekeybuf scodbufer kegbuf codbifJe 00 s High byte 00 for chars ecodbuf KFF return TRUE en IN
254. t2 maximum iterations it s in the Mandelbrot set make it black magenta 0x09 pt2 goes in the low order nybble cyan 0x03 black OxO0f else not in the set if yellow lt 0x10 get color from 0 81 get layers color amp y temp amp m temp amp c temp amp b temp yellow y temp magenta m temp cyan c temp black b temp pad single digit hexit numbers with 0 fprintf fpl 0 if magenta Ox10 fprintf fp2 0 if cyan lt 0x10 fprintf fp3 0 if black Ox10 fprintf fp4 0 fprintf fpl x yellow fprintf fp2 x magenta fprintf fp3 x cyan fprintf fp4 x black draw points void file header f FILE f fprintf f inch 72 mul def n write the values to the 4 files define inch fprintf f picstr 375 string def n bytes per image line fprintf f fractalWMn fractal procedure fprintf f 750 1200 4 750 0 O 1200 0 0 Nn build image fprintf f currentfile picstr readhexstring pop n fprintf f imageMn defWMn fprintf f 150 if f fpl fprintf f 90 if f fp2 fprintf f 75 if f fp3 fprintf f 105 if f fp4 fprintf f 45 set 150 line screen yellow layer 90 degree screen angle magenta 75 degree screen angle cyan 1
255. tailer fp4 PostScript programs fclose fp2 close files fclose fp4 open yellow layer file open magenta layer file open cyan layer file open black layer file defs and procedures void mandel int column iterations int pointl point2 for each point in the 750x1200 image find iterations Mandelbrot code provides this if column 2 0 this is the first of a pair of points pointl iter else this is the second of the pair point2 iter draw_points pointl point2 draw the pair mandel void draw points ptl pt2 int ptl pt2 unsigned char color unsigned char yellow magenta cyan black unsigned char y temp m temp c temp b temp yellow y temp m temp c temp b temp if ptl maximum iterations magenta cyan black 0 0 it s in the Mandelbrot set these color assignments draw the point in a deep black color magenta 0x90 assignments made to high order nybble for ptl cyan 0x30 black Oxf0 else point not in Mandelbrot set get color from 0 81 according to number of iterations get layers color amp y temp amp m temp amp c temp amp b temp yellow y temp lt lt 4 shift assignments to high order nybble magenta m temp lt lt 4 cyan c temp 4 black b temp lt lt 4 y temp m temp c temp b temp 0 if p
256. tally light blank image The dots of a 100 screen are full size and give the darkest image Screens between these extremes produce shades of color To build a new color we just specify a percentage for each of the four press colors Creating Halftone Images Typesetters and laser printers print dots that s all On or off And they print one size dot only Not quite true The L300 has two modes single density at 1270 dpi and double density at 2540 dpi But within each mode only one size dot exists In order to simulate shades of grey PostScript uses halftone cells Each of these cells contains some number of output device dots By varying the num ber of dots printed within a cell we can vary the darkness of the cell Earlier I mentioned discrete levels of color we could call this part the quan 20 MICRO CORNUCOPIA 49 Sept Oct 1989 Figure 3 Generation of Four color Separation for PostScriptal void mandel file header file tailer draw points get layers FILE fpl fp2 fp3 fp4 main fpl fp2 fp3 fp4 file header fp1 file header fp3 mandel file tailer fpl file tailer fp3 fclose fpl fclose fp3 main fopen fracl ps w fopen frac2 ps w fopen frac3 ps w fopen frac4 ps w file header fp2 file header fp4 generate hex data defining Mandelbrot image file tailer fp2 finish main part of file
257. tate Street OREM UTAH 84057 Phone 1 800 336 6644 MyFLIN requires PC XT AT Computer and MS PC DOS 2 3 xx Reader Service Number 161 74 MICRO CORNUCOPIA 49 Sept Oct 1989 my return before the damned computer finishes the answer Kinda keeps things in perspective Silence The reason my little Toshiba 1000 has become my favorite writing computer isn t so much what it has it s what it hasn t It hasn t any uhm noise There s no hard drive to whine no power supply fan to buzz no monitor to whistle no nothin The only thing I hear is the chunk chunk whirr of the floppy drive when I m load ing or saving a file But then it shuts up so I can work Someone should come up with standard 150 and 200 watt PC power supplies with quiet fans slow turning with special blades There s no reason that moving air has to be so noisy Since we re now moving more or less successfully to 3 1 2 drives it seems like some of those should be both reliable and quiet Maybe there is one though Maybe I just haven t heard about it Silently yours David Thompson Editor and YOU WANT THE SOURCE WELL NOW YOU CAN HAVE IT The MASTERFUL DISASSEMBLER MD86 will create MASM compatible Source code from program files EXE or COM And the files are labeled and commented so they become USEABLE MD86 is an interactive disassembler with an easy to use word processor like interface this is crucial for the REAL programs y
258. ted to servo motor s encoder The encoder reads the motor s spindle position See Figure 5 The LDP program decides where the motor should be The CPU sends a signal to the output section of the controller which sends the output to the servo motor The encoder then verifies the motor s new position If the motor s shaft hasn t reached the correct position the controller card de tects the error and sends a correction via the output to the motor This way the CPU doesn t need to check for proper position Conclusion I ve just covered the basics of PLC use in industry There are over one hundred companies making programmable con trollrs and every day I get literature from new companies Although PLCs have been around for 20 years it seems 1988 was the year they came into dominance of industrial con trol Perhaps the long promised push button world is finally here thanks to programmable controllers 26 MICRO CORNUCOPIA 49 Sept Oct 1989 Computer Jobs In Industry Many computer users take their knowledge for granted We assume that everybody knows how to use a com puter This is not the case In most in dustrial plants they look upon comput ers as a necessary evil Many senior maintenance men who think nothing of computer courses you ve taken If you haven t taken any courses still include computer use in your application Appli cations usually have an other ex perience category For instance if you c
259. the 74LS139 chip are normally high Only the one that fits the address decoder goes low for the length of time the IOW or IOR goes low The eight outputs connect to an 8 input NAND gate which enables the tri state 74LS126 gate to pull the I O C516 line low indicating to the computer that a 16 bit transfer is occurring This circuit uses only two of these out puts The others are available for extra ports or as control pulses We use a pair of 74LS574 chips to latch the output from the computer and Northern Regional Research Laboratory USDA Agricultural Research Service 1815 University St Peoria Illinois 61604 a pair of 74LS244 tri state bus drivers to control the input to the computer In many designs transceivers would be used here and the data lines would be multiplexed to handle both input and output on the same lines Of course the data on these lines would probably have to be demultiplexed with a set of latches farther down the line The 74LS574s latch data from the AT bus when they are clocked by the in verted IOW300 line formed by decoding the IOW and the address lines The OUT PUT CONTROL of these chips ties to ground so that the latched data is always available The 74LS244 chips make the data on their input lines available to the computer bus when the IOR300 line pulls enable low Other octal tri state bus drivers 74LS 240 241 373 374 and 573 also could be used to latch the data You can use the cir
260. the beginning For example doSomethingElse must be declared virtual at its earliest and all subsequent declarations anObject2 object anObject1 constructor init procedure doSomethingElse virtual end anObject4 object anObject3 constructor init procedure doSomethingElse virtual end The virtual method effectively changes the order in which the compiler determines which method to use when methods share names This is a thorny but quite powerful aspect of object oriented programming I ll spend the rest of Tidbits implementing a simple but useful object an I O error handler which combines all three principal properties of objects Object myIOhandler Let s define an object myIOhandler object IOErr IOCode integer boolean Message string constructor init procedure report virtual procedure IOCheck virtual end This object will check for I O errors and report the type of errors if any it discovers It consists of three methods init report and IOCheck and three data fields Notice that report and IO Check are virtual methods This means Im implementing them my way now so you can use them as a black box and simultaneously I m giving you the chance to change them later if you want or need to IOCheck calls IOResult a standard Turbo Pascal function to determine if there s been an error If so if IOResult 0 IOCheck calls report to report the specific error
261. the special function of tab and shift tab If you select a block of text tab and shift tab will move all the selected lines in or out by one level of indent rather than moving just the current line Unfortunately for programmers in other languages smart indenting is only available for C and for dBase if you buy a package called dBrief sold by Global Technologies But Brief does have regular indenting the kind found in most other editors You could always use the C smart indenting pack age as an example to write your own in denting package for another language Maybe you could even give me a copy Or sell it Or both Column Blocks This is another nice feature that the Brief macro language source code in cluded of course implemented When you mark a block of text using a Column Mark instead of a regular mark the Copy Cut and Delete macros recognize it automatically Then instead of deleting everything between the start mark and end mark they go into a loop that appends the proper portions of each line into the scrap buffer sepa rated by a special marker A subsequent Insert command will recognize that the scrap contains a columnar block and go through a simi lar loop that inserts each line fragment at the column of the cursor starting at the current line and continuing down until using up all the line fragments I was doing some work with Xenix mapchan translates from one
262. the two memory blocks Save the pro gram execute from DOS and return to DEBUG to display the two memory con trol blocks NEVICT COM RCX CX 0036 RBX BX 0000 W Q A gt EVICT A gt DEBUG D0 60A0 60EF 0000 60A0 4D OE 06 02 00 O5 C8 00 A3 BD OB A1 02 00 8C 1E 0000 60B0 50 41 54 48 3D 00 43 4F 4D 53 50 45 43 3D 43 3A 0000 60CO0 5C 43 4F 4D 4D 41 4E 44 2E 43 4F 4D 00 00 FF FF 0000 60D0 5A OE 06 F2 79 D3 EB8 8C DA 03 C2 A3 1C OB B8 00 0000 60E0 CD 20 22 08 00 9A FO FF OD FO 8C 02 42 05 99 02 Note the identifier byte at 0 60D0H contains the value 5AH the designation that the next memory block is free If you Assembly Code for EVICT COM SOURCE OFFSET DEST OFFSET INT 9H DEST OFFSET INT 1CH MOVE 4 BYTES 3 ENABLE INTERRUPTS 1 E9 00 E0 install a new TSR it will be stored at seg ment 060EH EVICT was a very easy program to create We know exactly where RENE GADE is located in resident memory and which interrupts it controls For DOS 2 10 EVICT removes the first TSR in stalled providing Interrupts 9H and 1CH were the only ones taken over The difficult assignment of writing a general utility is to keep track of where each TSR is loaded and the interrupt vec tor table prior to installation Consider the scenario of installing RE NEGADE followed by POPUP and then executing EVICT to remove RENEGADE A gt RENEGADE A gt POPUP A gt EVIC
263. ther player or both How addictive is it I called Walter and asked not at midnight you under stand I d be interrupting his work day I waited until the fol lowing noon He said he d written the game on a PDP 11 while a student at Cal Tech When he went to Cal Tech there were no restric tions on use of the 11 when he left games were restricted to graveyard shift midnight to six a m So we renamed empire to link or something like that S H 3 00 Outside U S add 10 00 FLOW CHART AND ANALYZE YOUR ASSEMBLY LANGUAGE SOURCE CODE Flow Charts Tree Diagrams Stack Sizing Register Analysis CPU Timing Analysis Procedural X Reference 8088 87 to 80386 387 Context Sensitive Help break current line Menu Batch Command Pa NR line Operation E display_warning restore_screen editor_warning insert_blank_line MASM 5 1 Compatible Sonor ction CORPORATION 19855 Stevens Creek Blvd Suite 154 Cupertino CA 95014 408 244 6826 adjust_line join_line editor_warning adjust_line delete_edit_line editor_line_out edit_line_out VISA MC 30 Day Money Back Guarantee Reader Service Number 139 72 MICRO CORNUCOPIA 49 Sept Oct 1989 That was the only way we could play it during the day I no longer play it after thousands of hours I m playing with other things like C If I started playing it again I d want to add new things like making the computer more com petitive and
264. this Your application program may create any number of virtual display screens Physically a virtual display is simply an array in memory Virtual displays may have any number of rows and columns whatever is appropriate for your application Once created your program need only select a particular window and then write to it using operations similar to those provided by either the BIOS or MS DOS for console output Tele windows are compatible with graphics Operations on virtual windows are fast but not visible To make output visible rectangles are mapped from your virtual displays to the physical display Your application may define how the mapping is done or you may do it from a higher level of software Windows overlay each other in the order they are mapped unless marked to stay on top as a diagnostic screen might require The mappings are processed periodically to make your vir tual displays visible Tele updates the screen only as fast as the eye can perceive A standard PC clone using Tele windows is 5 times faster than when using the BIOS and BIOS doesn t do windows And there are no software side effects In a multitasking environment all Tele windows may be active simulta neously Foreground and background only describe how your windows are overlayed you control task priority with the scheduler Thorough documentation and complete C and assembly source code is provided including demonstration pro gr
265. tor for the 68HC11 a full floating point package for the HC11 and 6809 cross assemblers for chips from the 6800 to the 68HC11 even a few fully developed MCU designs complete with source code If you re interested in the Motorola chips be sure to try this BBS Motorola also carries quite a library of application notes on the 6805 family Some sample titles include A General Purpose Frequency Counter Using an M6805 HMOS M146805 CMOS Family Microcomputer AN885 describes a five chip frequency counter using four digit LED display Gives schematic and full assembler source code Telephone Dialing Techniques Using the MC6805 AN940 shows how to use an MCU as a telephone dialer Covers pulse and DTMF dialing Includes schematic and assembler source code You should be able to order applica tion notes from your local Motorola dis tributor You can also contact Motorola Literature Center P O Box 20912 Phoenix AZ 85036 Where From Here I ve become fascinated by the power available in such a small package Build ing instruments such as VOMs and frequency counters would be a snap Be cause the HC705 directly interfaces to switch matrices and multi character LCD displays you can easily build a large dis play digital meter that monitors up to 11 voltages using only two chips The FREEWARE BBS and application notes provide more design possibilities and information than I have time to deal with right
266. torial two of those were subscription cancellations On the other side seven people have been very supportive Where have you been all these years has been the general comment I particularly thank those of you who sent reading material e g The Tao of Pooh The Mystic Path to Cosmic Power and curiously Humor Suddenly Returns I ve been slowed a bit on the books how ever Turbo 5 5 just arrived Hitachi sent a whole box full of controller data books and I ve got to finish responding to these letters Isn t life a kick LIMBO s Distance Sensor Since he shows us neither mathe matical proof nor empirical data I don t know how Bob Nansel The LIMBO Project Issue 47 came to the astound ing conclusion that the intensity of re flected light is inversely proportional to the fourth power of distance But he is clearly in error in this assumption Mr Nansel contends that since the intensity of both the incident wave and the reflected wave are subject to the in verse square law then somehow these two functions should be multiplied re sulting in an inverse fourth power law I m curious as to what happens if after leaving the source the light is reflected Continued from page 6 twice instead of just once before it reaches the detector Do we then have an inverse sixth power or an inverse eighth power relationship The power detected is actually pro portional to di da where di is the sour
267. track format The controller designers assumed I sup posed there was no other way to guarantee head position When you re formatting you can t count on reading an already formatted track to check position Only track 0 or 1 in the case of the 225 is independently verifiable The packages I ve seen SpinRite Disk Technician and Op tune are smart enough to spot a cludgy controller by measur ing the time it takes to format the first couple tracks They speed up the process quite a bit by doing a seek to track 0 before issuing the track reformat command But the head still has to move all the way home and all the way back before formatting each track What does all this activity have to do with errors Very good question It should make no difference how far the head traveled it should settle at exactly the same spot Hard drives that dedicate one surface to servo position data have no problem positioning their heads precisely these drives have an odd number of read write heads you ll find that full height Seagates and Priams have odd heads But the little half heights insist on cramming data onto every platter so they re not going to dedicate a surface for position they just count stepper motor pulses At least this is Continued from page 4 the case for the stepper based as semblies voice coil positioners with optical position sensors are prob ably fine Anyway the heads can drift both with age and with tempera
268. uest by contacting the FAA Federal Aviation Administration There I spoke to Dr Lyle Malotky who explained that airport metal detectors use less than 1 gauss of electromagnetic field strength The earth has a natural Micro Ad DUPLICATOR TOOLKIT PRO THE DUPLICATOR TOOLKIT PROfessional is a superfast diskette duplication utility for your PC It does what diskcopy can t do Copies a 360K diskette in 20 seconds formats and verifies on the fly and even produces diskette labels at the same time Copies 5 1 4 360K DDDS 12M high density 5 1 4 360K using a 12M high density drive 3 1 2720k 3 1 2 1 44M and 3 1 2 720K using a 1 44M drive Stores master in RAM or on the hard drive Format on option allows for high speed formatting Eliminates the floppy shuffle 129 00 5 00 s h Visa MC Cod COPY TECHNOLOGIES 14252 Culver Dr Ste 323 Irvine CA 92714 714 975 1477 Reader Service Number 163 STOCKS OPTIONS FUTURES Tum Your PC IntoA MARKET QUOTATION MONITOR 100 page book covers satellite and radio data reception of financial news and quotes for your PC 19 includes demo diskette Free informative catalog of j Data receivers and kits Quote processing and display software Descrambling software utilities 303 223 2120 5 Demo Diskette DATArx 111 E Drake Rd Suite 7041 Fort Collins CO 80525 Reader Service Number 133 Complete C Source Code No Royalties Simple Screen Definition x Windows
269. ur program before being passed onto the ROM Most programmers select special keystrokes to activate their resi dent programs The special control keys are ideally suited for this role because they do not produce characters of their own but change the codes generated by other keys The keyboard I O interrupt INT 16H function 02 returns the status of the eight keys listed in Figure 2 For example if you press both shift keys the AL register returns the value 3 When you press all eight keys simul taneously it returns the value 255 Test ing for a definite value can activate a resident program Otherwise keystrokes are treated in the usual manner The user timer interrupt is taken 182 times per second and is invoked by the timer interrupt INT 8H The vector for Interrupt 1CH points to address F000 FF49H in ROM Use the DEBUG U command to look at the first instruc tion of this handler UF000 FF49 FF49 FOOO FF49 CF IRET This is a dummy handler which does nothing but execute an interrupt return However control of this interrupt allows you to continuously run a procedure in resident memory TSR programs typically include an in itialization procedure a portion to rede fine the interrupt vector table and the code that remains resident Normally a program will want to leave only part of itself resident dis carding the initialization code Therefore you should organize a TSR so that the resident portion come
270. using it for anything Why Wait ButtonWare has issued version 1 1 of PC File dB Why As marketing representative Suzanne Faith tells it it was the enthusiastic re sponse of users to version 1 0 and their encouraging feedback Our users im mediately had several excellent ideas and suggestions regarding what they would like to see in the new program Some of these suggestions were so good we decided not to wait until our next regular update late in 1989 Now you ll be able choose your own names for index files preventing possible conflicts Memo fields are wider the import function is faster IF calculations have been refined and re lational lookup support supposedly has been improved For more information contact But tonWare PC File dB version 1 1 ButtonWare Inc P O Box 96058 Bellevue WA 98009 4469 206 454 0479 800 JBUTTON orders only MICRO CORNUCOPIA 49 Sept Oct 1989 67 By Jay C Bowden Epoch Data Devices P O Box 1093 Cardiff CA 92007 Ya Gotta Have MOX What do you do after you ve fought your way through the development cycle lined up someone to handle distribution sent out releases finagled re views and placed ads You wait for orders ticle I sent in to Micro Cornucopia back in July of 87 Phone Your Own Clone de scribed how a person could build the hardware to turn on his PC when the Carrier Detect CD also called RLSD signal in his external modem be
271. view of the pieces or an oblique view both easy to understand Does it play a strong game of chess I don t know When I put it into beginner mode I can beat it That s all that matters Chessmaster 2100 49 95 The Software Toolworks 19808 Nordhoff Place Chatsworth CA 91311 818 885 9000 Empire Empire is a wonderful game Jerry Pournelle rated it the top game said he wound up playing it until 2 a m my brother commented as I threaded my way among computers Interesting Jerry might get off on a silly game but I have a MICRO CORNUCOPIA 49 Sept Oct 1989 71 Around the Bend column to write Besides I ve sworn off trivial pursuits like war games I tried a board game called Battleship once found it about as exciting as cleaning the cat box Try my copy you ll like it I glanced through the manual inside the back there were pictures of the authors Walter Bright Our Walter Author of Zortech C Speaker at SOG He wrote a silly game I borrowed Don s copy That very evening about midnight as I finished editing some articles I remembered the game Popped in the disk and Empire Wargame Of The Century Let s see I start with one city and that city can produce an army every 6 turns or a plane every 17 turns or one of a half dozen ships Armies capture cities troop ships haul armies destroyers map new territory cruisers kill destroyers You play against the computer against ano
272. with complete software PC MASTERCARD Ok installed Turbo Editor Toolbox by Borland International 29 95 Ever wanted to add text editing to your Turbo Pascal application or write a word processor that does things the way that YOU want Comes with source for two sample editors modules for win dowing multi tasking and many other options Requires PC or compatible and Turbo Pascal 3 0 COPY II PC by Central Point Software 24 95 Stop worrying about your copy protected disks COPY II PC lets you back them up so you can keep going when your master disk can t Printer Data Switches Quality with economy These boxes switch all 25 lines so they can be used with either RS232 or IBM parallel DB25 printer cables Four port data switch Two port data switch IBM style Parallel Printer Cable Three cable set xx Special xx 30 00 MicroPro Manuals WordStar V3 3 Manual InfoStar Set DataStar amp ReportStar Call or write for our complete catalog of software parts accessories and complete repair services for the Kaypro Xerox 820 and IBM PC AT Prices subject to change without notice VISA and Mastercard accepted Include 6 00 shipping and handling 8 50 for COD UPS Blue or RED Label additional Please include your phone number with all correspondence 503 641 8088 eT VISA MasterCard uM MICRO CORNUCOPIA 49 Sept Oct 1989 85 By Gary Entsminger P O Box 2091 Davis CA 95617
273. z 899 coon ble SOCHE 100 20MB Hard Disk Kit 279 Toshiba 321 XL 519 HGC compat mono card 49 RS232 2 port card 35 Locking slide case 59 Pla wi ile kis 140d 30MB Hard Disk Kit 309 NEC P2000 369 Color graphic card 49 4 serial port card 79 200W power supply 65 Sar Ota oe NS s KL320 40MS 215 Callforpricesofotherbrands EGA Paradise 480 149 Game l Ocard 15 Enhancedkeyboard 590 AG Power strips 15 8425 Miniscribe 249 VGA Paradise 279 384k Multifunction card 69 WD FD HDC 129 n file box EE 9 8438 30MB Miniscribe 259 MODEMS Genoa Super VGA 299 FCC app slide XTcase 29 DTC FDC HDC 1 1 189 yd or serial sa e 8 3650 40MB Miniscribe 349 150W power supply 49 3MB EMS UK 99 pe Tape Backup 536 3675 60MB Miniscribe 379 300 1200 XT keyboard 42 gaampupappuEREEEES 0 0 ST 157 49MB 3 479 2400 external Logimouse C7 esu 69 Clock Card DESKTOP XT 10MHz 640k 2400 internal Logimouse H1 Res 99 Floppy Controller 2 Drive System 759 McTek Systems Inc 1521 San Pablo Avenue Berkeley CA 94702 415 525 5129 Reader Service Number 42 MICRO CORNUCOPIA 49 Sept Oct 1989 63 you know the blare of ferris wheel music

Download Pdf Manuals

image

Related Search

Related Contents

Kenroy Home 32037BS Installation Guide  EUROLITE TS-2 User Manual - MGConcept  REFUGIES – FICHES TECHNIQUES  User Manual ()  LMI System Calibration Guide  Manual de Instrucciones Manual de Instruções  

Copyright © All rights reserved.
Failed to retrieve file