MICRO JOURNN. Australia A $475 New Zealand H2 $ 650 Singapore S $ 9 45 Hong Kong n $23 50 Mu/ay*a M $945 Sweden 30S£K $2.95 USA OS-9 Atari Amiga Mac S-50 6800 WtOtt 68008 68O00 68010 68»20 CHtttO This Issue: "C" User Notes p. 7 Macintosh Watch p.37 Atari Users Corner p.40 Pascal p.20 OS-9 p.16 - SMCOS Atari Anfei OS-9 HEX MkIoImIi A ihtr Cm triivur Jennet And Lots More! VOLUME X ISSUE III • Devoted to the 68XXX User • March 1988 Th@ Grandfather of "DeskTop Publishing™" * /*• i /VMAl V- * 03 '&&*£. «. \ — **5 ii "?t,t,'i ^7& H 333 j ICC C Cross Compiler FOR OS-9/68xxx BASED SYSTEMS ANSIC Full implementation of the proposed ANSI standard for C compilers. Includes the Kernighan & Ritchie standard plus improvements for micro-controller development. Memory-based compiler ICC is a fast one-pass compiler based on main memory storage. This has three major advantages: • NO temporary files • NO timeconsuming assembly pass • NO separate preprocessor stage This combines into one single word: SPEED PROM-able C ICC makes it possible to put C programs into PROM, still using the full C language and all data types, including type definitions, long integers and statically initialized variables. Built-in Type-Checking ICC has a UNIX UNT-like type-checking option built-in into the compiler. This means that Pascal- like warnings are generated, e.g. when functions are mismatched or undeclared. For more intormallon contact your local distributor: Various Options 8051 — single-chip — 64 K CODE + DATA — 64 K CODE + 64 K DATA 6301 and 6801 280 and 64180 Frank Hogg Laboratory The Regency Tower Suite 215 770 James Street Syracuse. NY 13203 Phone:(315)474-7856 Telex: 646740 Elsofl AG Zelweg 12 CH-S40S Baden-Dattwil Switzerland Phone:(056)83 33 77 Telex: 828275 Full Package Development System The ICC compiler package includes: • C run-time library • //-Series Relocatable Macro Assembler • XUNK Universal Linker • XLIB Universal Librarian • Floating-point suppoil • 150 page manual in three-ring binder All this together give the micro-controller program- mer a powerful Development System Software Environment. €»IAR SYSTEMS OS-9/68xxx version distribution by: Micromaster Scandinavia AB Box 1309, S-751 43 UPPSALA, SWEDEN Tel int.: +46181385 95 Telex- 76129 NOW THE GMX MICRO-20 HAS A TWIN - ,^^,™ y m* GMX TWINGLE-20 68020 TWIN BOARD COMPUTER WITH MMU 1111111111, All the features of the GMX Micro-20, PLUS - • 2 Megabytes additional RAM — for a total of 4 Megabytes of RAM • 8 more Serial ports — for a total of 12, and expandable up to 44. • MEMORY MANAGEMENT UNIT The GMX TWINGLE-20 consists of 2 wards Orw of (he boards is the same as the Micro-20, except tor the 68020 processor which is on the MMU board It uses the same I/O expansion Interface, serial adapter boards, and mounting holes as the GMX Micro-20, making it easy to upgrade existing systems. Any ol the currently available GMX Micro-20 I/O expansion boards can be used to provide additional I/O capability Expansion possibilities include additional serial ports (up to 44 ports total), additional parallel ports, and local area networking ol up to 255 GMX Micro-20s and/or TWINGLE-20S- ThO MMU board contains the additional 2 Megabytes of RAM, 6 serial porls with 2 connectors for the SAB 4 port adaptor cards, and the MMU hardware The MMU is a proprietary high-speed design that fully supports virtual memory The system RAM normally operates with only t wait-state, regardless of processor speed An additional wait-stale is needed only when program flow crosses a 4K boundary The MMU can be configured lor any one of tour different maps, ranging Irom 8 tasks with 8 megabytes ol virtual address space each, to 64 tasks ol 1 megabyte each The MMU can be disabled tor applications that do not use hardware memory management. The TWINGLE-20 two board set can occupy the same space as a hall-height 5.25' disk drive It is available In 12.5, 16 67 or 20 MHz. versions, and with or without the 68881 FPC. SPECIFICATIONS Size: 8 8 x 5.75 x 1.4 Inches. Power Requirements. + 5V0C ffl 1) 8 3A typical (20MHz. with The TWINGLE-20 rise* does not require a + 12V supply + 12V supply requirement*, if any, are determined by the serial adapter boards and any I/O expansion boards powered through the I/O Expansion Interface. SOFTWARE INCLUDED: An enhanced version at 020Bug with diagnostics lor the MMU and the additional RAM and serial porls OPTIONAL SOFTWARE: UniFLEX VM, Virtual Memoiy version of Hie UniFLEX operating system which includes all of the features of the GMX Mlcro-20 version, plus lull MMU support. The UniFLEX VM Operating System is a demand-paged, virtual memoiy operating system written In 68020 Assembler code for compactness and efficiency. Any UniFLEX system will run (aster than a comparable system written In a higher level language. This Is Important In such areas as context switching, disk I/O, and system call handling. Other features include: • Compact, effioeni Kernel and modules allows handling more users more effectively than UNIX systems, using much less disk space UNIX system V compatibility at the C source code level. C Compiler optimized in 68020 code (Optional). Record locking for shared files Users can share programs in memory Modeled alter UNIX systems, with similar commands. System accounting facilities. Sequential and random (lie access. Maximum record size limited only by the disk size. Multiple Level Directories. Up to 8 Megabytes ol Virtual Memoiy per user All the optional languages and software that run under UniFLEX lor the Micro-20 are also available lor the TWINGLE-20. OS- 9 Users can take advantage of the additional RAM and serial potts on the 1WINGLE-20 It does rm presently support the MMU ostmta NUDinkntltlll Carp gui ewa km rwuei » namrti :■$$•■ '■■■ *$tt/i&dtfl m\*<*nnm**fp COMPUTER PUBLISHING, INC "Over a Decade of Service" "WorW W1** 68 MICRO JOURNAL Computer Publishing Center 5900 Cassandra Smith Road PO Box 849 Hixson.TN 37343 Phone (61S) 842-4600 Telex SI0 600-6630 Copyrighted © 1987 by Computer Publishing. Inc. 68 Micro Journal is the or iginal "DeskTop Publishing" product and has continously published since 1978 using only micro-computers and special "DeskTop" software. Using first a kit built 6800 micro com- puter, a modified "ball" typewriler. and "home grown" DeskTop Pub- lishing software. None was commercially available at that lime. For over 10 years we have been doing "DeskTop Publishing"! We origi- nated what has become traditional "DeskTop Publishing"! Today 68 Micro Journal is acknowledged as the "Grandfathcr"of"DeskTop Pub- lishing" technology. 68 Micro Journal is published 12 limes a year by Computer Publishing Inc. Second Class Postage paid ISSN 0194-5025 at Hixson. TN. and additional ennies. Postmaster: send foim 3597 to 68 Micro Journal, POB 849. Hixson. TN 37343. Subscription Rates 1 Year $24.50 USA. Canada & Mexico $34.00 a year. Others add $12.00 a year surface, $48.00 a year Airmail. USA funds. 2 years $42.50, 3 years $6430 plus additional postage for each additional year. Items or Articles for Publication Articles submitted for publication must include authors name, ad- dress, telepltone number, date and a statement that the material is original and the property of the autltor. Articles submitted should be on diskette, OS-9. SK'DOS. FLEX. Macintosh or MS-DOS. All printed items sliouW be dark type and satisfactory for photo-reproduc- tion. No blue ink! No hand written articles - please) Diagrams o.k. Please - do not format with spaces any text indents, chat Is.etc. (source listing o.k.). We will edit in a li formatting. Text should fall flush left and use a carriage return only to indicate a paragraph end. Please write for fee authors guide. Letters & Advertising Copy Lenm to the Editor should be the original copy, signed! Letters of grip as well as praise are acceptable. We reservethe right to reject any letter or advertising material, for any reason we deem advisable. Advertis- ing Rotes: Commercial please contact 68 Micro Journal Advertising Department. Classified advertising must be non-commercial. Mini- mum of $15.50 for first 15 words. Add S.60 per word thereafter. No classifieds accepted by telepltone. March 88 66 Micro Journal OS-9 . . . Making Beautiful Mi in the Key of "C"! m 'hen you need to orchestrate beautiful music on your VME system, look to Micioware for just the right score Our finely tuned OS-9 Operat- ing System is truly the maestro's choice when the project requiies C Language development. Our super- lative C Compiler— also available in an optimized 68020 version— produces fast, compact ROMable code for your most demanding applications. A powerful Assembler, Linker and Symbolic Debugger assists in target development And our C Compiler it source compatible with UNIX applica- tions and available in cross-compiler con- figurations for Sun. VAX and Hewlett- Packard environments. OS-9 Keeps On Performing Even After the Fat Lady Singsl Most operating systems hit a sour note when the project reaches completion. But not OS-9. Because of its modular design and UNIX-style architecture, your investment in OS-9 experience tools and applications translates into a valuable resource for yot>r company's future. OS-9 can be utilized again and again over your entire corporate product range »W| An Accompaniment of Total Support Mlcroware is proudly setting the indus- try's standard for customer support. Vbu'll find outstanding technical documentation that leaves nothing in doubt when it comes to real-world appli- cations. A rigorous Ouality Assuiance program guarantees customer satisfaction by identifying trouble spots before they become customer problems. And with our Customer Hotline you are only a telephone call away from courteous and concise information. So join the growing egions of Mlcroware "C" aficionados. Call us today and find out how you can create inspiring harmonies on your system. MICROWARE SYSTEMS CORPORATION I9«0 N.W. 1 14th Street Des Moines. IA 50322 Phone 515-224-1929 Wtstcnt Regional O/fre 4401 Creat America Parkway Santa Clara, CA 95054 Phone 408-98O-O2OI OWMtXXtfct imfcimii «• mamm* WX t> • tradKwk dt 0€C UNIIbi twfcnark ol HST 68 Micro Journal March "88 MUSTANG^^ Super SBC tH The MUSTANG-020 68020 SBC provides ■ powerful, compact, 32 bit computet system featuring the "state of the art" Motorola 68020 "super" micro-processor. !l comes standard with 2 megabyte of high-speed SIP dynamic RAM. serial and par aUelpoi is. floppy disk controller, a SASI hard disk in tetface for intelligent hard disk controller! and a battery backed-up lime-of-day clock. Piovisions are made for the super powerful Motorola MC6888! floating point math co-prtxxsaoT, for heavy rrtatft and number crunching applications. An optional network interface uses oneseriii (four (4) standard, expandable to 20) as a 125/bit per second network channel, Suppoib as many as 32 nodes. 1 he MUSTANQ-020 is ideally suited to a wide variety of application*, b provides a cost effective alternative to the other MC68020 systems now available. It is anexceDent in trodue lory tool to the world of hi-power, hi-speed new generation "supn micros". In practical application* it has numerous applications, ringing from toejuific to education. It is already being used by government agencies, labs, universities, business and practi- cally evoy other critical applications center, worldwide, where true multi-user, multi-tasking needs exist. The MUSTANQ- 020 is UNIX C level V compatible. Where low cost and power is a must, the MUSTANQ-020 is the answer, as many have discovered. Proving that price is not the standard for quality! As a software development station, a general purpose scientific or small to medium business computer, or a super efficient real-time controller in process control, the MUS- TANQ-020 is the cost effective choice. With the optional MC68881 floating point math co-proceeaur installed, it has the capability of systems costing many times over it's total acqui- sition cost. With the DATA COM P "total package", consisting of a r Data-Comp Division ^ A Occade of Quality Savta'^ Systems World Wide Computer PiitnsNng, Inc. 5900 Cassada Sndh Road TBtyvre 615 842-4601 - Tatar 510 600-6630 foon, Tn 37343 ^ DATA-COMP Proudly Presents the First Under $4300 "SUPER MICRO" See other advertising (backcover) for economy system (68008) - under $2400 complete! heavy duty metal cabinet, switching power supply wiih rl/line bypassing, 5 inch DS/DD 80 track floppy. Xebec haid disk controller. 25 megabyte Winchester hard disk, four saial RS- 232 ports and a UNIX C level V compatible multi-tasking, multi-user operating system, the price is under $4300. w/12.5 megahertz system clock (limited lime offer). Most all popular high level languages are available at very reasonable cosLThe system is expandable to 32serial ports, at a costof less than S65 per pott, in multiples of 8 port expansion options. The SBC fully populated, quality tested, with 4 serial ports pre-wiied and board mounted is available for less that $2500. Quantity discounts are available for OEM and special applica- tions, in quantity. All that is required to bring to complete "system" standards is a cabinet, power supply, disks and oper- ating system. All these are available as separate items from DATA-COMP. AtailabU J2J. 23 Mkt rftumt. tall for tpeciat prictt A special version of the Motorola 020-BUG is installed on each board . 020-BUG is a ROM based debugger package with facilities for downloading and executing user programs from a host system. It includes commands for display and modifica- tion of memory, breakpoint capabilities, a powerful assembler/ disassemble and numerous system diagnostics. Various 020- BUG system rou tinea, sue has I/O handlers are available for user pro grams. Normal system speed is 3 4 J MIPS, with burst up to 10 MIPS, at 16.6 megahertz. Intelligent I/O available for tome operating systems. Hands-on "actual experience sessions", before you buy, arc available from DATA-COMP. Call or write for additional information or pricing. Mar est '88 68 Mora Journal MusUnf-030 ktuaUng-OS Bcachmuki HMATT300XKtal>l] AT* T TOO UNIX PC Moid c*cvax ii/nouNu i-iir» 4 i DBCVAXII/WO ' Monon aiiHu eJMEomn lOMki mi!TAMi-m MM OJ. • MI f * tOt UVITAMG 4» Mi J» ©I-* UIMIUf m it t si; j.-« ho Jt w< «*t j li*TLMX It Idht ) IiUaMMIH.MV»r*NC«l _4JMW, U*kl.llWn« | luted MUJTANO-OJT" Add fo 14 J Mbi OKOO /Udf<»l<;6Mta«rai Add l« » Mi taTZMlAW 111 'usi KKpjtn 1 a 2 AdBpo Cadi Wo JUU1 Sack cwd «fan4 mw "•- pa* UltaPailMllOcvd Lin ) HOD loUr^ tiup,, 4 r>|» of t Iba nit, apm batki SS0O0 MOM 30040 rain 75000 30040 MO 00 493 oo \Hoa 173.00 «MO0 2900 nn tmio MS 00 125 00 U30OB 13000 jooeo joaoo 33000 730*0 10000 10000 nsi 30j00 410* 9*300 3T3O0 rsoo 750O0 MS 00 14900 i t> Mi 4to aid PDA tulai 4 . rMi^DjauifVllllDlAy ItCAH • VOQai ■ MUTT AJ4O0XI- i4*3jn uvi uoood *JJ MUSTAN&OKJ" rn4» ad lutj <■>«•»• 473 O0 I20O0 J193O0 Mustang Specification* tZJ MSr (°fWBtl 16.6 Mhr •wUNo) MC6I 020 full JZ-bn wile pub 32-ba wvd* <14U i (optuuQ The P R O i objD code nwn p tft i W i with «Q tfXXX fenily | twhaoCcd ■—a*—*— id m»tj) < 6SSII nwktfa hi-«paBd (laoom; poise i full Bjppart IEEE P7S4. A»ft 10.0 OBODiail ind other oaaaific cbmb fanaku 2 Moptr/B of SIP RAM (5 1 2 1 32 hit oponb op to 2MC byw* of EPSOM (M * 71 fain) 4 AATOutemm «bu1 faO pOrtl •ttVatUlrf epbqul iq 20mkm1 para •uwlw) RS-232iotcr/»ce oebootl artwork taior/ue Tend I fait panUd part {1/2 MC 61230) Cauiiua lypepototfl anpinimi caiitf^tT far 1/0 4cvian 16 bit diu pith 256 byte tddiv* cpuo 2in(cnvpt i/*pul» dock tad control citntlj Mauvalt ItOOuam) Modulo, liroc of diy dock/oil arxiu wAadory backup oartkaOep for 2, 5 \f*" 0°WJ «ii«k envoi aafla or double tide, tvwfja or doufals /oM .oMib* V compMuWify umJ low cor ■■man. Only the "PRO" Version of OS-9 Supported! This is HEAVY DUTY Country! I Fa 4»t«k> mmM*«afl«« MOol ■ na»>io>iieu<«idau]QiSK. I | n» i y >— X W t t ■ nwi. aa, iwd i ■ CHIom—Wa !■>■ I I tt NASA, Aiamic &^>17 Gmnnnni. I UNDCCIcnt xMoam J»9.»J 1M9 9S I».»S uso.ao MVC J».»S a«.oo J3«.0O J 20.00 3100.00 I7JS.00 3J37S.O0 »7S.O0 1750.00 PHceLW: Cahiart *A-w44ua4 w 5".» (nek ))aMQMO20 Sy> N«M4UM|I1 <**v wtMk vilh 20 Mhi Sy> Toul: Save $1000.00 Complete Add J52»S0 Data-Comp Division of Quality Suslcrru Wofid-Vt/Uc Computer Publtehlng, Inc. woo TMUpf&tt 615 M2-4M1 . T44n 610 SD-EB SmilliRoni Hlimon, In 37343 25 Mbyte HD System $4299.80 85Mbyte HD System $5748.80 Note: Only Professional OS-9 Now Avtilabk (68020 Version) Includes ($500) C Compiler • 68020 A 68881 Supported - For UPGRADES Write or Call for Profeaiional OS-9 Upgrade Kit 68 Micro Journal March '88 / PAT - JUST s — , PAT y M\ (OS® i With 'C Source $229.00 altera A u 't+m"} Divii c (ion of p i imtfri ^ " S.E. Mediae 5900 Cuwwh Smith M. Huuoo,Tn 37W3 Telephone 61 S 842 -6809 TtluJ10 600-6£30 ~ *" J J PAT FROM S. E. MEDIA -- A FULL FEATURED SCREEN ORIENTED TEXT EDITOR with all the best of PIE. For those who swore by and loved PIE, this is for YOU! All PIE features & much more! Too many features to list. And if you don't like ours, change or add your own. C source included. Easily configured to your CRT terminal, with special configuration section. No sweat! 68008 - 68000 - 68010 - 68020 OS-9 68K $229.00 COMBO PAT! JUST Special $249.00 JUST JUST from S. E. MEDIA - - Text formatter written by Ron Anderson; for dot matrix printers, provides many unique features. Output formatted to the display. User con- figurable for adapting to other printers. Comes set-up for Epson MX80 with Graflex. Up to 10 imbedded printer control commands. Compensates for double width printing. Includes normal line width, page numbering, margin, indent, paragraph, space, vertical skip lines, page length, centering, fill, justification, etc. Use with PAT or any other text editor. The ONLY stand alone text processor for the 68XXX OS-9 68K. that we have seen. And at a very LOW PRICE! Order from: S.E. MEDIA - see catalog this issue. 68008 - 68000 - 68010 - 68020 OS-9 68K V With 'C source $79.95 J Match '68 68 Micro Journal The C Programmers Reference Source. Always Right On Target! C User Notes A Tutorial Series By: Dr. E. M. 'Bud' Pass 1454 Latta Lane N.W. Conycrs, GA 30207 404 483-1717/4570 Computer Systems Consultants INTRODUCTION This chapter concludes the discussion and pres- entation of a public-domain portable math library written in C by Fred Fish. MATH LIBRARY The log.c function returns the natural logarithm of its argument. log double precision natural log ■/ tinclude (include "pmluser.h" • Include "pinl.h" static double log pcoeffst) ( -0.240139179559210509B6e2, 0.30957292821537650062e2, -0 . 96376909336868659324el, 0.421OB7371217979714S static double log_qcoeffs[] - ( -0.120069SB97796052S471e2, .194B0966070088973051e2, -0.8911109027937B312337«1, 1.0000 static char funcname [ double log (xl double x ; ( "log" auto int k; auto double s; auto double z; auto double zt2; auto double pqofz; auto struct exception xcpt; extern double frexp ; extern double poly ; DBUG_ENTER (funcname) ; DBUG3 ("login", "arg %le", x) ; if (!x) ( xcpt. type - SING; xcpt. name - funcname; xcpt.argl - x; if (imatherr Uxcpt)) ( fprintf (stderr, "»s: SINGULARITY error\n" funcname) ; errno - EDOM; xcpt.retval - -MAXDOUBLE; I ) else If (x < 0.0) I xcpt. type - DOMAIN; xcpt. name - funcname; xcpt . a rgl - x ; If (Imatherr (ixcpt)) ( fprintf (stderr, "%s: DOMAIN error\n" funcname) ; 1 ermo - EQOH; xcpt.retval - -MAXDOUBLE; } else t s - SQRT2 * frexp (x, ik); DBUG_3 ("log", "k - %d", k); DBUG3 ("log", "s - %le", s) ; z - 7s - 1.0) / (s * 1.01; DBUG_3 ("log*, "z - %le", z) ; zt2 - z * z ; DBUG_3 ("log", "zt2 - Ue\ zt2) ; pqofz - z * (poly (3, log pcoeffs, zt2) / poly (3, log_qcoeffs, zt2l); DBUG3 ("pqofz", "pqofz - %le", Fqofz) ; DBUG_3 ("log", "k - *d", k); DBUG_3 ("log", "LN2 - *le", LN2); x - k • LN2; DBUG 3 ("log*, "x » *le", x) ; x -= 1WSQRT2; DBUG_3 ("log", "x - %)e", x) ; X +- pqofz; DBUG_3 ("log", "x - %le", x) ; xcpt.retval = x; ) DBUG3 ("logout", "result %le", xcpt.retval); DBUGRETURN (xcpt . ret va 1 1 ; $8 Micro Journal Mart* '88 The loglO.c function returns the cosmon DEBUC4 ("mlnln", *x - %le y - %le", x, y> ; logarithm of its argument . If (x > y) ( x - y; /• t DEBUGS ("mlnout", 'result %le". x) ; * loglO double precision common log */ LEAVE ; return (x) ; •Include I •Include "pmluier.h" •Include "pml.h" The mod.c function returns the remainder statlc char Cuncnam | ] - "loglO"; after division of its first argument by its second argument . double loglO (x) double x; < /• extern double log 0; * mod double precision modulo DBUG ENTER (funcname); V DBUG^J ("toglOin". "arg %le", x) ; •Include x - LOG10E * log (x) ; •include "pmluser.h" DBUG_3 ("loglOout", "result %le". x) ; •Include "pml.h" DBOC~RETURN (x) ; J double mod (value, base) double value, - double base; The max.c function returns the larger of < its two arguments. auto double lntpart; extem double niodf ; /■ DBUG^ENTER ("mod") ; * max double precision maximum of two arguments DBUG~4 ("modln", "args %le %le", value, base); •/ If (base) value /« base; •include value - modf (value. Cintpart); • Include "pmluser.h" value •» base; * •Include "pml.h" DBUG_3 ("modout". "result %le", value) ; DBUG~RETURN (value); double max (x, y) ) double x; double y; ( The poly.c function evaluates a polynomial ENTER ("max"); and its value. Its three arguments are the DEBUG4 ("maxin". *x - %le y - %le", x. y) ; If (x < y) < order of the polynomial, a pointer to an array of double precision polynomial coef- x - y; ficients (in ascending order) , and the } independent variable . DEBUG3 ("maxout". 'result %le", x) ; LEAVE <); return (x) ; /* 1 * poly double precision polynomial evaluation V The max.c function returns the smaller of •Include its two arguments. •include "pmluser.h" •include "pml.h" /• double poly (order, coeffs, x) * mln double precision minimum of two arguments register lnt order; */ double 'coeffs; double x; •include < •Include "pmluser.h" auto double curr_coeff; •Include "pml.h" auto double rtn_value; double mln ; 1 pnj err (SCALE OVERFLOW); > else if (temp2 < 0) ( pnlerr(SCALEUNDERFLOW) ; J else 1 tempi t= MflNTHasK; temp2 - temp2 « EXP_SHIFTS; *lpntr - tempi I temp2; ) return (share. dval) ; The scale. c function adds a specified integer to a number's exponent, effec- tively multiplying by a power of 2 for positive scale values and dividing by a power of 2 for negative scale values . The raod.c function returns its first argument with the same sign aa ita second argument . scale scale a double precision number by power of 2 •include « include "pmluser.h" •include "pnl.h" •lfdef pdpll • define EXP_MASK 0x7F800000 /* Mask for exponent •define MANT MASK 0x807FFFFF /* Mask for mantissa •define EXPSHIFTS 23 /• Shifts to get into LSB' s V • define LEXPMASK 0377 /• Mask for shifted exponent »/ •endif •ifdef mc68000 • define EXP_MASKOx7F800000 /* Mask for exponent V • define MANT MASK 0x807FFFFF / * Mask for mantissa «/ •define EXPSHIFTS 23 /* Shifts to get into LSB' s */ • define LEXPMASK 0377 /* Mask for shifted exponent V •endif static union ( double dval; long lval(2]; ) share; double scale (value, scale) double value; register int scale; I register long tempi, tempi, *lpntr; sign transfer of sign •include •include "pmluser.h" •include "pml.h" double double x; double y; I double sign (x, y) rtnval; ENTER ("sign") ; DEBUG4 ("signin", "args lie lie", x, y) ; if (x > 0.0) ( if (y > 0.0) else ( rtnval « x; lse rtnval ■» f (y < 0.0) rtnval = lse rtnval — ) DEBUG3 ("slgnout", "result lie", rtnval); LEAVE 0; return (rtnval) ; lpntr ■= (share. lval [0] ; share. dval • value; tempi - *lpntr; temp2 - ((tenipl i EXP_MASK) >> EXP_SHIFTS) + scale; if (temp2 > MAX_EXPONENT •» 128) ( 66 Micro Journal Mscn-66 The ai.n.c function returns the sine of ita argument . sin double precision sine •Include •Include "pmluser.h" •Include "pwl.h" statlc double ( sln_pcoef fs | ) D.20664343336995B5B24De7. -0.18160398797407332550e6, 0.359993D«949636iee317e else If -X6UNDERFIOWS) ( xcpt.retval - x; t else ( y - x / F0UR7HPI; yt2 - y * y; xcpt.retval - y ■ (poly <3. sln_pcoeffs, yt2) / poly (3. sin_qcoeffs, yt2)); ) DBUG_3 ("slnout". "result %le". xcpt.retval); DBUG_RETURN (xcpt . retval ) ; ); static double sln_qcoef fs|] < 0.26310659102647698963e7, 0.392702427746490003O8eS, 0.27811919481083844087e3. 1.0 ); static char funcname |] - "s double >in tx) double X! double y; double yt2; double rtnva 1 ; extern double mod (); extern double cos I); extern double poly PI) I x - mod (x, TWOPI) ; If (x > p:> { x » x - TWOPI; ] else If (x < -PI) ( x - x + TWOPI; ) ) If (X > HMFP1) I x); xcpt.retval (sin (x - PI)); else If (x < -HALFPI) ( xcpt.retval ■ -(sin (x + PI)); t else If (x > FOURTHPI) ( xcpt.retval - cos (HnLFPl - x| , ) else If (x < -FOURTHPI) The ainh.c function returns the hyperbolic sine of ita argument. * slnh double precision hyperbolic sine •/ •Include • Include m pKiluser.h* •Include "pml .h" static char funcnamel) - "sinh"; double slnh (x) double x; l extern double exp (); auto struct exception xcpt; 0BUG_ENTER (funcname); 0BUG_3 ("sinhin", m arg lie", x) ; if (x > LDGE_MAXDOUBLE) { xcpt. type - OVERFIOW; xcpt. name ■ funcname; xcpt.argl - x; If I Inatherr (ixcpt)) ( fprlntf (stderr. **s: OVERFLOW errorNn", funcname) ; errno - EXANGB; xcpt.retval - M\XDOUBI£; ) t else If (x < LOGE_MINDOUBLE) I xcpt. type - UNDERFLOW , ' xcpt. name • funcname; xcpt.argl • x; lf ( rmatherr ((xcpt)) I fprlntf (stderr. Ms: UNDERFLOW error\n", funcname) ; ermo ■ ERWZ; xcpt. retval ■ MINDOU3(£; I > else { 10 March '88 68 Micro Journal x - exp (x) ; xcpt.retval - 0.5 * (x - (1.0 / x) ) ; I 0BUG_3 ("slnhouf, "result *le", xcpt.retval); DBUG_R£TURN (xcpt.retval); The scjrt.c function returns the square root of its argument . I sqrt double precision square root */ (include (Include "pmluser.h" f Include "pml.h" •define FD 0.594604482 /• Approximation coeff '/ fdeflne PI 2.54164041 fdeflne Q0 2. 13725758 fdeflne Ql 1.0 tdefine ITERATIONS 3 static char funcname [] double double ( sqrt (x) x; /* Approximation coeff */ /* Approximation coeff */ /* Approximation coeff */ /* Number of iterations •/ "sqrt"; auto int k; register int bugfix; register int k/nod2; register int count ; auto int exponent; auto double in; auto double u; auto double y; auto double rtnval ; auto struct exception xcpt; extern double frexp (); extern double ldexp (); D8UGENTER ("sqrt") ; DBUG_3 ("sqrtin", "arg »le", x) ; if (Tx) ( rtnval - 0.0; ) else if (x < 0.0) { xcpt. type » DOMAIN; xcpt . name - funcname ; xcpt.argl - x; if (imatherr ((xcpt)) ( fprintf (stderr, "%s; DOMAIN error\n". funcname) , ) errno - EDOM; xcpt.retval » 0.0; t else ( n « frexp (x, 6k) ; u = (P0 ♦ (Pi * ml) / (00 ♦ (Ql • ml); for (count - 0, y « u; count < ITERATIONS; count**) ( y - 0.5 * (y ♦ (m / y)>; (k » 2)) < 0) I if ((kmod2 ( y /- SQRT2; ) else if (kmod2 > 0) ( y *- SQR?2; bugfix = 2; xcpt.retval » ldexp (y, k / bugfix); ) 0BUG_3 ("sqrtout", "result %le", xcpt.retval); DBUG_RETURN (xcpt . retval) ; The tan.c function returns the tangent of its argument. tan Double precision tangent # Include iinclude "pmluser. h i include "pml.h- static cr ar fun c double tan (x) double ( x; funcname {] - "tan"; double sinx; double coax; auto struct exception xcpt; extern double sin () ; extern double cost); DBUG_ENTER {funcname); DBUG_3 ("tanin", "arg %le", x) ; slnx « sin (x) ; cosx = cos (x) ; if (icosx) ( xcpt .type = OVERFIjOW; xcpt. name » funcname; xcpt.argl - x; if (Imatherr (Sxcpt) ) < fprintf (stderr, "%s: OVERFIjOW error\n". funcname) ; errno - ERANGE; if (sinx >- 0.0) ( xcpt.retval - MAXDOUBIE; } else ( xcpt.retval > -MAXDOUBLE;. I } ) else ( ) DBUG_3 ("tanout", "result %le", xcpt.retval); DBUGRETURN (xcpt.retval); xcpt.retval - sinx / cosx; 68 Micro Journal Macti '88 11 The tanh.c function returns the hyperbolic tangent of ita argument. The xexp.c function returns the exponent of ita argument . /• tanh double precision hyperbolic tangent xexp extract double precision number' s exponent •Include •Include "prnluser.h* (Include "pml.h * static char f uncname [ ] double tanh (x) double I x; "tanh"; auto struct exception xcpt; register lnt positive; extern double slnh () ,- extern double cosh () ; DBUG_ENTER (funcnamo); DBUG_3 ("tanhin", "arg lie*, x) ; if (X > 7ANH_MAXM>G II X < - T ANH_HAXARG > ( if (x > 0.0) ) positive - 1; ) else 1 positive - 0; I xcpt. type • FLOSS; xcpt.name - funcnane; xcpt.argl ■ x; if else ( xcpt.retval = -1.0; I 1 else ( ) DBUG_3 ("tanhout*. "result »le*, xcpt.retval); return (xcpt.retval); xcpt.retval » slnh (x) / cosh (x); •include •include "prnluser.h" •Include "prnl.h" llfdef roc68000 •ifdef IEEE •define EXP MASK 0x7FF00000 /• Mask for exponent */ •define EXP SHUTS 20 •define EXP BIAS 1023 /• Shifts to get into ISB's /* Exponent bias •/ •else •define EXP_MASK 0x7F8D0000 /• Mask for exponent •define EXP SHIFTS 23 •define EXP BIAS 128 /• Shifts to get into LSB's /* Exponent bias »/ •endlf lendif tifdef pdpll •define EXP_MASK Ox7F800000 /• Mask for exponent •define EXP_SHIF7S 23 V •define EXP_BIAS 128 lendif union dtol ( double dval; lnt ival(2]; If * nt xexp (value) union dtol value; < register lnt *lpntr; if ( lvalue. dval) ( return {0) ; > lpntr - (value. lval I0J ; •ipntr *» EXPMASK; •lpntr »• EXP_SHIF7S; •ipntr — EXP_BIAS; return Cipntr); /• Shifts to get into lSB's /• Exponent bias •/ 12 Mart* "88 66 Micro Journal The xexp.c function returns the mantissa EXAMPLE C PROGRAM of its argument . Following is this month's example C program: ft /* tests the functions in the math library which accept * xmant extract double precision number' s mantissa one complex argument and return a complex re- */ sult. Other cases would be tested in a similar man- •include ner. t include "pmluser.h" • include "pnl.h" /« lifdef pdpll * cZc.c test complex to complex math functions •define MANT_MASK 0xB07FFFFF /* Mantissa extraction •/ mask •/ • define ZPOS MASK 0x40000000 /• Positive 1 mask for exp •include - •/ •include "pmluser .h" •define ZNEG MASK 0x40000000 /• Negative * mask for exp . •/ •endif •include •define TRUE 1 •define FALSE tifdef m=68000 •define MAX_ABS_BRR 1.0e-6 /• catch only bad errors •/ •ifdef IEEE ♦define MANT_KASK 0x800FFFFF /• Mantissa extraction mask '/ static int vflag; /* Flag for verbose option */ •define ZPOS MASK Ox3FFO0O00 /« Positive i mask for exp static int eflag; /* Simulate an error to error printout =. «/ •/ •define ZNEG_MASK Ox3FFOOO00 /* Negative • mask for exp > •/ •else static int sflag; /• Flag to show final statistics •/ •define KANT_MASK 0x807FFFFF /* Mantissa extraction static double max abs err - MAX_ABS_ERR; mask ■/ •define ZPOS MASK 0x40000000 /♦ Positive • mask for exp /* m •/ * External functions which are used internally. •define ZNEG_MRSK 0x40000000 /• Negative • mask for exp - •/ •endif */ extern char *strtok (); •endif extern double atof (); extern double cabs (),- union dtol extern COMPI£X csubt () ; ( extern COMPLEX cdiv (); double dval; int lvall2!; /• 1; * External functions to be tested. •/ double xtnant (value) union dtol value; extern COMPIEX cacosl); ( extern COMPI£X casin(); register int *ipntr; extern COMPIZX catan(); extern COMPI£X ccos(); ipntr - lvalue. ival[0]; extern COMPI£X ccosh ; •ipntr 4- MANT_MASK; extern COMPIEX cexp(); •ipntr !» ZPOSMASK; extern COMPI£X clog(); return (value. dval) ; extern COMPI£X crept); ) extern COMPIZX csin(); extern COMPI£X csinh(); extern COMPI£X csqrt<); extern COMPI£X ctanO; extern COMPIZX ctanhl); /* * Define all recognized test functions. Each function * must have an entry in this table, where each * entry contains the information specified in the * structure "test". V struct test t /* Structure of each function to be tested */ char *name; /* Name of the function to test */ 68 Micro Journal March 88 13 COMPLEX («func) (); /« Pointer to the function's struct test *testp; /* Pointer to function entry point */ test */ double max_err; /* Error accumulator for this struct test 'lookup (); /* Returns function test function */ ); pointer */ register char *strp; /* Pointer to next token in string */ static struct test tests [] - ( /* Table of all recognized functions */ ENTER ("dotests"); "cacos", cacos, 0.0, V "casin", casin, 0.0, /* Conplex arc cosine while (fgets (buffer, slzeof (buffer) , stdin)) ( /* Complex arc sine */ strcpy (function, "(null)"); argument .real - argument . imag » 0.0; "cat an", cat an, 0.0, / * Complex arc tangent expected. real » expected . imag - 0.0; •/ sscanf (buffer, "ts %le tie tie tie", "ccos", ccos, 0.0, /* Complex cosine */ function, (argument. real, (argument .lmag, "ccosh", ccash, 0.0, /* Complex hyperbolic (expected. real, (expected. lmag) ; cosine */ testp « lookup (function); "cexp", cexp, 0-0, ■/ *clog", clog, 0.0, /* Conplex exponential if (testp ~ NULL) ( /* Complex natural logarithm fprintf (stderr, "ts: unknown function */ V"ts\".\n", "crcp", crcp, 0.0, •/ "csin", csin, 0.0, /* Complex reciprocal argv(0], function); } else /* Complex sine */ "cslnh", csinh, 0.0, /* Complex hyperbolic ( sine */ result - (*testp ->func) (argument) ; "csqrt", csqrt, 0.0, */ ■ctan", ctan, 0.D, /* Complex square root if (vflag) { /* Complex tangent */ printf ("tsltle + j tie) Vn - t30.231e + j t30.231e.Vn", "ctanh", ctanh, 0.0, /* Complex hyperbolic function, argument .real, tangent */ argument .imag, result. real. NULL, NULL, 0.0 V ); /* Function list end marker result .lmag) ; ) if (expected. real II expected. lmag) r /• i error - csubt (result, expected); • main entry point ♦/ for c2c test utility error - cdiv (error, expected) ; t else main large, argv) ( int argc; error — result; char *argv[]; aba err - cabs (error); ENTER ("main"); if (labs err > max abs err) I I eflag) DEBUGWHO (argv(Ol); ( options targe, argv); fprintf (stderr, dotests (argv) ; "ts: error in \"ts\"\n", argv[0], statistics (); function) ; LEAVE 0; fprintf (stderr, > "\treal (arg) \t\tt25.201e\n", arcnuent .real) ; /* fprintf (stderr, * detests process each test from stdin directives "Vtlmag (arg) U\tt25.201eVn", V argument . imag) ; fprintf (stderr. dotests (argv) "Ureal (result) \tVtt2S.201e\n", char *argv[]; 1 result .real) ; fprintf (stderr. char buffer [256]; /* Directive buffer «/ "Vtlmag (result) UVtl25.201e\n", result .imag) ; char function [64] ; /* Specified function fprintf (stderr. name */ "Ureal (expected) UUt2S. 201e\n", COMPLEX argument; /* Specified function expected. real) ,- acgument */ fprintf (stderr. COMPLEX expected; /* Specified expected "Vtlmag (expected) Vt\tt2S.201e\n", result */ expected. imag) ; COMPLEX result; /* Actual result */ ) COMPLEX error; /* Relative or absolute if (abs_err > testp ->max err) error */ ( double abs__err; /* Absolute value of error testp ->max err — abs err; */ } I 14 Mat* "88 68 Micro Journal ) LEAVE 0, options process comnand line options options (argc. argv) int argc; char "argvtJ; ( register int flag; extern int getopt 0; extern char "optarg; ENTER ("options"); eflag - sflag - vflag - FALSE; while {(flag - getopt (argc. argv. "I:el :sv") ) !■» EOF ) I switch (flag) I case '•' : DEBUGPUSH (optarg) ; break; case 'e' : eflag - TRUE; break ; case " 1' : sscanf (optarg, "lie". 4name U Frtnvaf; testp++) If (!strcftf> (testp ->name. funcname)) ( rtnval - testp; LEAVE <); return (rtnval) ; 1 /♦ statistics print final statistics if desired statistics I struct test *tp; ENTER ("statistics"); If (sflag) ( for (tp « tests; tp ->name; tp++) ( tle\n". < prlntf C»s:\tiMxl»uni relative error tp ->name, tp ->max_err) ; LEAVE , EOF FOR THOSE WH 68 MICRO JOURNAL 7 66 Mao Journal Marc* '86 15 A Tutorial Series By: Ron Voigts 2024 Baldwin Court Glendale Heights, IL SOLVING YOUR DEBUG PROBLEMS Last month I dealt with the "bugs" in programs. Debugging a program is probably one of the most important aspects of being a programmer. As many of you know I am an engineer by profes- sion. So besides dealing with software, I also deal with hard- ware. I have worked on many hardware problems. Even the best designs do not always work the first time out. (Or the second time . or the third time. ... ) Trouble shooting a circuit in- volves walking through it step- by-step. It Involves injecting signals to try a particular portion of the circuit. And many times, it means using some pretty sophis- ticated instrumentation. Trouble shooting software is in many ways the same. It in- volves walking through the pro- gram. It is the changing program parameters to check a particular function. And it means using sophisticated tools to solve prob- lems. One of the best tools I have seen is a sharp program called SOLVE™. SOLVE is an acronym for Symbolic Object/Logic Verifi- cation and Examination. It al- lows software to be examined, tested and debugged. With it memory can be displayed, al- tered, and moved around. It also will assemble and disassemble code. Symbols and expressions can be used for labels and vari- ables. It has 6 basic modes. They are: 1. Monitor commands 2. Assembler 3. Disassembler 4. Environment commands 5. Execution commands 6. Miscellaneous It would impossible to cover everything it does. To do that I would be writing a manual and it already has fine one with it. But I will tell you a little about them and Illustrate some applications. Under Monitor Commands are: M - Display memory C - Examine and change memory ? - Fill memory ? - Search for bytes X - Transfer memory - - Calculate expression I find that many times I will want to alter a module. Device descriptors are a good example. Say I have a descriptor DO. It has a stepping rate of 30 mS. Ihis Is is much slower than I would prefer. I want it to be 3 mS. So I enter SOLVE. I find DO with: DBG: L DO 87ED 87 . At olfset $14 (of the device descriptors the byte for disk speed. It Is $00 which is a speed of 30 mS. I want to alter thls'to $03 to give me a speed of 6 mS. So I will use the change com- mand. DBG: C S87ED+S14 8801 00 . My cursor restsjust after the dot. I have a few options avail- able to me. With a + or - I can move forward and backward through memoiy. A simple car- riage return will peimlt me to exit back to debugger command prompt. An = followed by some expression will move me to a new location In memoiy. But I prefer to change this byte. So I enter a space which says that I am changing this location. So the next sequence appears: 16 March '88 68 Micro Journal eeoi oo 8802 20 DBG: ?S03 Notice the question mark. Tills Is the prompt to enter a byte replacing the one that is already there. If I want to make a perma- nent version of this I would use the following sequence from OS- 9. 0S9: save /dO/nodules/dO dO OS9: verify u /dO/modules/dO . tenp 0S9: del /dO/modules/dO OS 9: rename dO.tenp dO This series of steps save DO to a directoiy called MODULES, where other modules are stored. It corrects the CRC of the module creating a new one call DO.TEMP. The original is deleted and the temporal y one is re- named to the original name. Now I can use OS9GEN to create a new system disk with the faster stepping rate. Next Is the Assembler. It has a number of directives. Some of them are: A - Assemble command R - Read lable file W - Write label file P - Print symbol table It understands psuedo op- codes like ORG, OS9. and EQU. It has a single pass assembler that anticipates all the labels and symbols that have been as- signed. It Is not a full blown assembler, but it Is handy for changing code on the fly. A small example is in order. I have an area in memory which is reserved. I won't go Into how this area was obtained, but It Is there. From solve. I enter. DBG:C SA000 A000 00 . " HELLO THERE! A00D 00 . S 0D A00E 00 . This little sequence plants •HELLO THERE!" starting at $AOOO and terminates It with an end-of-llne character. Now I have stored my message. I will create some code to print it. DBG:J SA100 A100 WRITE LDX ISA000 A103 LOY #$0£ A107 LDA 101 A109 I$WRIT FN $6A A109 OS 9 I$WRIT A10C RTS A10D The last line has no entiy. A cairlage returns terminate the entiy procedure and assembles the code. I haven't touched on how to execute the code. That will be coming. One of my favorite features Is the disassembler. I find many uses for It. Usually when I come across an OS-9 module of inter- est. I will use Solve's disassem- bler to see what makes It tick. Here Is an example of using It on the code from before. DBG:0 SA100 SA10D A100 WRITE LDX #$A000 A103 LDY #$CE A104 LDA #$01 A109 OS9 I$WRIT A10C RTS Notice how the code looks veiy similar with a few differ- ences. It prints all the numbeis In hex. And It did not include the line where I use 'FN*. This line Is not a part of the assembled code, but rather It tells SOLVE that I$WRIT Is equivalent to $8A. Besides disassembling. It also has a history function. Entering an 'H' will display the last 32 Instructions that were executed. They are displayed disassembled when the trace mode or program simulation Is being used. Now comes the environment commands. These are used to alter the current conditions that influence a program. They in- clude: V - Define memory variables : - Examine/change user stack B - Set and display break points K - Kill break points * - Print stack contents 8 - Change current nesting level N - Set mBxinum nest tracking level I frequently use breakpoints when debugging programs. They provide a means to stop execu- tion at a particular point. Imag- ine a runaway program. I have had a few of them In my time. I entered the modules name and It would load from the disk. And then nothing! Just silence as the computer sat there while it was stuck in an endless loop or some- where In memoiy where no man has gone befoie. Many times things did happen. The printer would start spewing out non- sense. Strange graphics would appear on the video screen. The disk drives would whirl and click. Whatever was happening It was not good. With breakpoints, the code can be executed In parts. It Is a good Idea to have a listing avail- able. It will show the code and Its offsets. I want to run a program called MYCODE and stop it be- fore it runs amok. Perhaps the location I want to stop It at Is $0900 relative to the start of the module. I would pre-load It Into memoiy and then enter SOLVE. I would use the following se- quence. DBG: L MYCODE A000 87 . DBG: B SA000-fS0900 A900 68 Micro Journal March '88 17 These lines link to MYCODE and set a break- point at $A900. This is the actual location. I want to stop. Now when I execute it . it will stop at $A900 . IT I enter B by itself, a listing of all the breakpoints would be displayed. Using the K command will remove any or all of them. To be able to run the module from SOLVE requires the Execution Commands. They are: L - Link to nodule E - Prepare module for execution T - Trace instructions G - Run program S - Simulate program I find the L command to be handy for linking to modules that I want to examine. It gets the address. For Level 2. it maps the module into SOLVE's memory area. The E command Is a little more useful, when actual execution Is desired. It also (Inks to the module, but it also sets up the stack area. This means setting up lhe registers for memoiy require- ments, parameter area, direct page and some other things. It is worthwhile to note that module and its data area are placed in SOLVE's memoiy area. This Isolates It from the system and other processes. G is used to start things again. Whatever is in register PC is executed . What Is in PC is a result of using E, a breakpoint, a keyboard interrupt, or what has been place there from SOLVE. Finally is the miscellaneous commands. They Include: $ - Pass command to OS-9 Q - Quit SOLVE ! i- Set program base < - Set data base Remember before how I linked to a module and got its location. Well. I could have set the program base. Then everything I did could be oflset from the base location. As an example, look at the break- point setting. DBG: L MYCODE A000 87 . DBG: !$A000 A000 DBG: B !$09C0 A900 This is like before, but the line where !$A000 occurs sets the base to $A000. Now when I set a breakpoint ustng the 1 1 can reference It to the way it appears In the code. Anything else I do with the code can be handled using the offsets, lhe < is used for setting a base for the module's data area. SOLVE Is a super debugger. There is so much more that I haven't covered. If 1 tried to cover it all, I would be writing amanual. That has already been done and It does an excellent job of covering things. ! And that not a week goes by when I don't use It. I have to say this is one fine debugger. (And the price ain't bad either! ) CHECKING THE PATHS There Is an Interesting command in UNIX. It Is called FILE. When FILE Is entered and a path follows It. it returns a message whether it is a directory or file. It is not a profound command, but it has its uses. I decided to try my hand at wilting one also. If the convention of creating directory names In upper case and flies In lower case Is followed, this com- mand should not be necessary. Unfortunately this Is not the case. I have received disks where every- thing was in uppercase characters. I have seen others where the case is mixed. Therefore, this month I oDer a program called PATH. PATH takes a pathname and analyses. It prints where it Is a directory or a file. It also prints If it is a an SCF or RBF device. I have to admit there are a few definciencies with it. The major one is that It assumes whatever is not RBF must be SCF. This excludes Pipes and SBF ( Sequential Block File 1 found in tape drtves. But taking this Into account, I believe you'll find it helpful. Please, improve on it If you wish. Well another month has come to an end. Come back next time! 18 March '68 68 Mcro Journal LISTING printf ("\nPath: %a\n", 0001 /* *************************** 0002 Name: PAT1I.C Date: 23-NCV-87 Author: R. D. Voigta To compile: cc path.c 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 tinclude 0031 fdefine DIR 128 0032 0033 mini argc, argv ) 0034 int argc; 0035 char **argv; 0036 < 0037 register int i-0; 0038 int j; 0039 int err; 0040 0041 /* Put in help for program */ 0042 if ( argc— 1 ) 0043 helpO; 0044 0045 /* Process the pathnames */ 0046 while ( ++i (...) *************************** *> 0049 argv(il) ; 0050 0051 DirectoiyNn") ; 0052 0053 Device\n") ; 0054 0055 0056 0057 DeviceNn") ; 0058 0059 0060 0061 0062 0063 ) 0064 0065 /* Help routine •/ 0066 helpO 0067 { 0068 printf ("Syntax: path 0069 printf ("Osage: Returns information about the path."); 0070 exit! ); 0071 ) EOF if ( !1 ) printf ("Type: else if ( err~203 ) print f ( "Type : SOT else if ( err— 214 ) printf ("Type : File\n") , else if ( err — 221 ) printf ("Onknown else if ( err— 216 ) printf ("Bad Path\n"); else prerr ( 1 . err ) ; i FOR THOSE WHO MID TO K\OW 68 MICRO I JOURNAL TM 68 Moro Journal March 66 19 Pascal A Tutorial By: Robert D. RetmlUer CoUAcd SdftWMC Corp 6l6Cwnlno CabaJJo Nlpoow. CA 03444 H0S929 13S9 This month we will take a look at an example of a VERY simple stand-alone program. This pro- gram has the task of reading the output of a 12 bit signed Analog to Digital (A to D) converter every 10ms and updating a Digital to Analog (D to A) converter with this value. The routine slows down the response of D to A converter by only allowing it's value to change a small amount every 10ms. The input range of the analog volt- age in the test setup was between -2000 and 2000, within the plus and minus 2047 available from a 12 bit converter. If the A to D changes from one extreme to the other, the D to A converter will take 4 seconds to make the full change. This can be calculated from : range/ ( (samples/second) * (maximum atep/aanple) ) In this example: 4000 / {100 * 10) - 4000 / (1000) 4 seconds This type of routine was used on a model train control system to prevent those who held the speed control (the A to D input) from making radical changes in the voltage to the train (the D to A output). Since I have done this, I can tell you it destroys the gears! The timer used is a MC68230 Parallel Inter- face/Timer (PIT). Looking at the listing, the structure of the PIT is defined on lines 6 through 21. Record fields dl-d26 are dummy bytes, since the PIT is a byte wide device and the hardware is designed so the registers only show up on odd addresses, the even addresses must be skipped. The registers we are concerned with are the TCR (Timer control Register), CPRH-CPRL (Counter preload high-low), and the TSR (Timer status register). On line 22 the PIT we will be using (which is located on the CPU board, so we call it CPUPIT) is located at $e0001, the compiler calculates the correct address of all of the registers in the PIT. The D to A output number is an integer ( 16 bit signed) located at $ft0008 and has a valid range of -2048 to 2047 and is given the name DATA0. The ATOD.STATUS is a 16 bit value located at $90000, the most significant bit is one when there is data available. ATOD_DATA is an inte- ger located at $00002 with a range of -2048 to 2047. ATOD_CHANNEL has the input channel as the lower 3 bits, and a strobe bit as the fourth bit, which starts a conversion. At line 31 we start the actual interrupt han- dler, the interrupt being generated by the 68230. Note that while in this procedure we compile with debugging information off, this avoids the unpleasant situation of the debugger stopping in this section of code, which it is not designed to do. This procedure is declared as an exception proce- dure, which means that it has all the special stack handling required to be called as a 68000 series exception handler. The first thing the RTCIRQ must do is to clear the source of the interrupt, this is done by setting a bit in the TSR PIT register. It then makes sure that the conversion is complete by checking the most significant bit of ATOD_STATUS and wait- ing until it is a one. Since this A/D takes consid- erably less than 10ms to make the conversion, this step is really not necessary, but I'd rather be safe than sorry. Line 39 reads the value from the AtoDandsavesitin VAL Line40is used to start 20 March '86 68 Micro Journal the next conversion by setting in the channel number and strobe bit into ATOD.CHANNEL. Lines 43 through 51 take care of making sure that the new value for the D to A is no more than MAXSTEP from the previous value, or the actual difference, whichever is smaller, with the new value being written into the D to A on line 52. Lines 53 through 55 show how you can make delay counters using a simple interrupt source. These delays can be set and checked in the main program to control when things happen. In the main program Lines 60-63 setup the nec- essary control registers for the timer so that it interrupts every 10ms. Line 65 starts an A to D conversion so that when the first interrupt occurs there will be valid data. Line 68 is inline assem- bly language code (signified by the ! at the start of the line) which is used to enable CPU inter- rupts by setting the interrupt mask to zero. Un- der the target debugger this is not actually nec- essary since it has already enabled interrupts so the link to the host system can work. Line 69 enables the timer to generates interrupts. The main part of the program would go where line 7 1 is. It is fairly easy to get a target program to work. For any amount of serious development work, it is best to get the target debugger to work, this is a program similar to the host debugger that was describedin a previous month. Instead ofloading the object code into the host computer, the target debugger loads code into the target system RAM via a serial link. A special set of EPROMS is burned to go into the target system which con- trols the serial link, and has the debug kernal for communicating with the host. This normally in- volves selecting the driver for the type of serial chip used on the target, modifying the addresses, vector numbers, etc., and burning the EPROMS. Drivers for your hardware may be available from computer manufacturers that sell OmegaSoft Pascal, but if they aren't, someone familiar with the specific target hardware and assembly lan- guage can fairly easily make the modifications necessary. After this is done, the target debugger works similar to the host debugger, such as allowing breakpoints, variable display and change, and instruction tracing. In order to setup the shell file for a target project, you need to use the linkage creator, very similar in use to what was shown for a OS-9 pro- gram in an earlier month. Instead of telling the linkage creator that you want "auto" setup, you answer no and you are then prompted for differ- ent information. For the example hardware, RAM went from location 8 through 7ffH" (loca- tions 8 through 3ff are for exception vectors). EPROM space started at location 80000. The PIT on the CPU board interrupted using autovector number 5 (vector 29). In the linkage creator : Ram start (heap start) : 400 Ram end (stack upper limit) : 7ffff Parameter list address (enter if none) : Maximum vector number to initialize : 255 Vectors in RAM ? Y Enter vector (low [-high J label : 29 rtcirq Enter vector (low [-high] label : Starting load location : 60000 Library directory name : /dd/ Use default I/O library r /dd/os9io, ? N I/O library to use : testio The rest of it is the same as for a program to run under OS-9. The I/O library in this case is very simple, it simply defines an error handler entry point (which should never be called in this ex- ample) and end of the varib storage section, such as : testio idnt 1,0 Xdef .error varibend .error move IS2700 91 move.l 0,a7 move .1 4,a0 jmp (aO) varib varibend equ end * The stack setup file has all the code needed to transfer vectors from EPROM in RAM during startup. Any vectors not defined to be handled by the Pascal program or a device driver are set to restart the program by default. To run the pro- gram under the target debugger there is only one command needed in filer mode to set the excep- tion vector : SV V29 rtcirq This tells the debugger to use the procedure rtcirq as the exception handler for vector number 29. 68 Micro Journal March '88 21 Next time we will start at the beginning, with basic data types, for both the 68020 ver- sion of OmegaSoft Pas- cal, and for an enhanced version of Modula-2 planned for later this year. OmegaSoft is a regis- tered trademark of Cer- tified Software Corpo- ration, OS- 9 and OS- 9/ 68000 are trademarks of Microware Systems Corporation. +++ 1:0 progrea taet ; 2:1 conat 312 channel - 1 i |VD channal number) 4:2 atroba - 8 ; (A/0 atroba bit) 5 : 1 type 6:2 pit - record 7:2 P9cr, dl, parr, d2, paddr, d3, pbddr, d4 , peddr, dS, 8:2 pivr, d6, pacr, d7, pber, d8, padr, d9, pbdr, dlo, pur, dll, pbar, dl2, pedr, dl3, par, dl4, nulll, dl5, null2, die : byta : tcr (tlaar control regiatar) : byta ; dl7, tlvr, dig, null], dl9 : byta ; cprh {counter praload high) : byta : d2 : byta ; cpra {counter praload aid) : byta I d21 : byte ; cprl (counter preload low) : byte 1 d22, null4, d23, cntrh, d24, cntrm, d25, cntrl, d26 : byte t tar {tlaar atatua regieter) : byta : end : var cpupit : pit at SeOOOl ; dataO (aaoothed output voltage) : integer at $ff0006 ; atod_atatua : hex at SffDODO : atoddata : integer at Sff0002 I atodchannel : hex at $ff0004 ! output value, delay : integer 1 (Sd-) procedure rtcirg l exception ; conat aaxatap - 10 : var val : integer ; begin cpupit. tar :- 1 ; (clear interrupt) while atod atatua and SB000 <> do ; (wait till ready I val :- ato3 data j {read A to D convertor) atod_channeT :■ channel ♦ atroba i {atroba it) {only allow a aaxiaua amount of change froa current output value) val :■ val - output value i if aba (val) > aaxatap then if val < then val :- -aaxatap alee val :■ aaxatap ; output_value :- output_value * val ■ dataO :- output_valua j if delay o than delay :- delay - 1 end | {5d*) begin cpupit. tcr :■ SaO t ( aetup control regleter, interrupta off) cpupit. cprh !" I cpupit. cpra !■ 99 f cpupit. cprl :■ 9c4 ; {generate lOaa Interrupt) output value :■ x atod channel :■ channal ♦ atroba j dataO :- : delay :■ j I aove t$2000,ar enable interrupta ; cpupit. tcr :■ Sal j (enable tiaer interrupta) repeat { aain loop, delay can be ueed for lea daley . until falae end. pllation Error., atack - 0000001A ayabol table left - 47. 2K 9 10 11 12 13 14 15 16:2 17:2 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32:2 33:3 34:2 35:3 36*2 37*3 38*3 39*3 40*3 41:3 42:3 43*3 44*3 45:4 46*5 47:6 48*7 49:6 50*7 51*3 52*3 53*3 54:4 55*5 56*2 57:2 58:2 59*1 60*2 61*2 62*2 63*2 64*2 65*2 66*2 67*2 68:2 69*2 70*2 71:2 72*2 73*1 No Cob FOR THOSE WH 68 MICRO JOURNAL™' 22 Mart* 88 68 Micro Journal l©gi©ally Most of you will ran ember Bob from hi i seiici of letter* on X BASIC. If you like it or want more, let Bob or us know. We wtnt to give you - what you wanil The Mathematical Design of Digital Control Circuits By: R.Janes Mjcraucs Research Corp. 33383 Lynn Ave., AbboOford, B.C. Canada V2S 1E2 Copyrighted © by R. Jones 3l CPI I«t me say again that when decoding relays, the minterms (red numbers) are selected by (a) examining all Box Cs of the state-diagram to see when a particular relay is energised, (b) noting the black number in Box A of any such Box C. and then (c) scanning the flow-table for corresponding black numbers in Box A. Hie red numbers at these locations specify the minterms. Thus. In problem 2, Yl is energised (has a 1 In Box C) with a matching black 2 in Box A. 7ne flow-table has black 2s in Column black- 1, coirespondlng to red-2 and red-3. Problem 3, on the other hand, has a black-2 in three of Its Box-As. corresponding to ied-1. 2 and 3. When decoding for output devices, simply scan all Box Cs of the FLOW-TABLE itself, and pick off all red numbers corresponding to an energised or phi state for that device. I • 1 ll ■ 1 t ^Oo 1 2 1 l|o a|* o o o 2 III a|s i J i Y, 1 5 a ■ I I «0~ - 4 ftloy Li - X L, *-5-5-CP-* l|o 2|l o i 2 »«t next I *)« I X>3 szzin Li l IT Iha juvvTmi IW x J.V r«|-«j»* Ll To #hrifeh ttrectty. Ll I 3 » 1 Li x y A \ ©e 1 2 1 l|o l|z i|o 1 o o i 2 ah a|s i i i V, ' * 3 X I JL I Ll I a 3 IX J. ""* 2 1 I Y.»x+y, O 1 2 3 Y, 1 1 I L, 1 # 1 t5M OP ceuria, at l**» 'is no ntttfaehon on&£ acilv«tian of Li, euwl at Li =yi, Ken Li ceutd s'«nfjy be •0«*elad «V*rfy In parallel w'lttv Y, itself. *) '< ©0 1 2 1 l|o a| 2 l|o a!< o o o o i a a|i a|? i i o I 2 S Y, I 1 I L ' I X somr asm 3 akaM Y,= X + y, 1 1 Li I I X jf. >|0 I L, a X'vi 68 Mcro Journal March "88 23 < O o t t 1 i|o a * o co 00 1 3 i a 5- 1 00 10 3 III **\ 7 3 oo Op H tl 2 *!* 2 Of* o\ Li t_&_$l£jk g i o «p L, m f js <* - Xj

o ( 1 s f ffU 7 Y, 1 1 1 J 1 *» 1 1 l« 1 1 ■ L, 1 U> *> _!_, * La-Jf'y* o* - Xy. Because the atate-dlagiam is exactly the same as that of Diagram 18 of an earlier lesson, the RELAY control circuitry will also be the same, the decodlngs appear In Diagrams 21 and 22. viz Yl - Xyl + JCy2 and Y2 = Xyl" + Xy2 Note that the decoding for LI begins with an 'x' under mlntenn-5, which is the first absolute mlnterm. 1 and 4 are both phis, so we use them only if necessary to optimise our decoding. Similarly with L2. which commences at mlnteiTn-6. Note too that there are two possible decodlngs for each light. Taking LI as an example, we begin with mlnterm-5 and ask "Is 5 - 4 ■ 1 available? Yesl". so the 1 in column X gets changed to a phi and a 4 Is placed under minterm- 1 . (Why?) Then "Is 5 + 2 - 7 available? No! So how about 5-1-4? Yes, but we can't complete the run because 1 - 1 « Is not available." We'll elaborate on all this later, when we move on to a more comprehensive system, but for now we'll Just try an alternative decoding, and begin by checking off the bit-position which blocked us in our ilrst attempt. That Is, we'll put an 'x' under mlnterm-5 as before, but begin by asking "Is 5 1 ■ 4 available? Yes, so we'll check off mlnterm-4. and change the 1 In column y2 to a phi." Then well go to the highest blt-posltlon, and ask "Is 5 - 4 « 1 available? Yes. but 4-4-0 Isn't, so we can't complete this run. Also 5 ♦ 2 ■ 7 Is not there, bo we're all donel" Sometimes the alternative decoding Is useful In case the remainder of the circuitry has used up all the available contacts on a particular relay or push-button. XOo 'A 1 l|o a|« oo *o 3 ||l i|s i 0O \o 5 Z\i M? 3 oo o4 * 3|' «rl* 2 of 01 ik a I oo Ol *h 3l3 lO M — ' 3 U r U 7 Yi , 1 ! li 1 <4 1 1 1 1 i Ui * * i -1 It I— t Yi i a 3 fc 7 •» a i X ji ,a * a o 4> i * t * i i $ i a 3 <♦ 5" • X 1 a * O 1 a i o i 4> K 1 I Ya x yya -fXyit-X/ Note, in this oaunple, that because the state-diagram Is dilferent, the relay controls will be different. How- ever, the outputs. LI and L2, repeat the pattern of Problem 6, and the preliminary table shows that their decod- lngs will therefore be the same. I'd like to draw your attention to the fact that Sections A of the last two rows of the flow-table are Identical (te, 3.4) and to recommend that you try this problem once more when youVe mastered the subject of MERGING, which we'll deal with in the next stages of our Journey, where we'll be learning an enhanced technique for designing sequential circuits. This will help you to appreciate to the full the Importance of MERGING, and the extra phis It creates for usl 24 March '88 68 MtCfO Journal As of now. I'll leave the drawing of the circuit-diagrams to you. I figure that by this time you should experi- ence little difficulty once youVe decoded the Boolean algebraic expressions for the various devices. D. :Oc 1 l|o ll* CO Co 2 3|> *\S i io \o 3 3J3 * 7 3 \o i« t* *l* *l 6 2 li 11 I *■ Wo oo ■m + 3 •|3 IO ii o t a 3 «* £ £ 7 f, r i l 1 1 ta i i i ■ j ' 1 l-i i i I 1 1 LJ i 1 4 i l * «■ S" 4 7 » a. i X jpi ya * 2 W 3 tf 1 XI *- 1 # 1 s> Jl-rya Ya CS«»* «t In 5"} ■= Xy * X ya £ .** * ' U ? 4 7 X Jti_X J . x <» T ? I O La = yijl' ^QO | l i a i 3 5 ** 2 m oo tfio m m o

«*Va + Xya' UC ■ ■ O =■ yV, Lit - » •> ■ y'ja *, * 1 flr 1 1 a » 00 00 2 3 1 1 s 1 eo 10 s 3 3 * 7 3 00 00 A h X 3 6 2 10 o.| L-i 1 1 S » a 1 * o l|o a|' 00 1 ' *U 3 3 10 11 U A X vi l« 1 a 3 t* S t 7 * 1 1 1 1 1 Ya [ 1 I 1 Ul f 1 1 La 1 Yi «-<4 S3. S** «9 U p .-.bW> 1 Li =* X'y 1 y a ' + » , 'j a La at Xjtya 68 Micro Journal March '88 25 1 o I Mile 7 - heading for Mile S After all that, IVe almost lost track of where we were. Ah, yesl I remember - we were going to let Uncle Fird tell us how he escaped from the M'bul-yans. Over to you, Uncle Fred!! UNCLE FRED'S STORY Well, like I said earlier, I knew that If 1 could only map my situation I'd got It solvedl Problem was, how to map 111 Veiy difficult - veiy, VERY difficult when you're as emotionally Involved In It as I wasll Anyway, I decided to draw a little K-map so (here he scratches Diagram 25 In the dust), where S equals 'statement' and D equals 'death' (shudder!) Sfeke o Crocs I Diagram 25 In square 00 (Statement Is false, death equals stake) I put a 1 to Indicate that this was POSSIBLE. In square 1 (Statement Is true, death equals stake) I put a to Indicate IMposslble. And so on for Row 1. So ... there was my situation all mapped out. but how was that going to help me formulate a statement for I-asku? Then It hit mell I decided I'd rather create an IMposslble situation than a possible one, so I Just picked one of the 0-squares, the one at location 10, and read off the co-oidlnates. Just as with any regular K-map. This translated as "Ihe statement Is true (that) I shall be burned at the stake" which I shortened to a more positive "I SHALL be burned at the stake!" Of course, I could Just as easily have chosen the other 0-squaie at location 01, and read It out as The statement Is false (that) I shall be thrown to the crocs* which would shoiten to "I shall NOT be thrown to the crocs!". And that did the trlckl Back to you. Uncle Bob, and thanks for Indirectly saving my life!! REMEMBER THE ABOVE! YOUR LIFE could DEPEND ON IT ONE DAY! Can you see why such a simple remark put 1-asku In such a predicament? If not, tiy considering things from the ancestors' viewpoint If I-asku were to cany out either of the only two forms of execution allowed. Uncle Fred, 1 think you should contact Aunt Minnie as soon as possible before she spends ALL your 95 dollais. though I have a feeling you may be too late, as you've been "lost* for several days, so let's get back to THE SYNTHE8IS OF SEQUENTIAL CONTROL-CIRCUITS - AN ENHANCED TECHNIQUE The rules we've learned In the previous Lesson cover the bastes of Ihe design process, and having had a fair amount of practice with the problems of TEST 7. we're ready now for a refined technique, and perhaps a slightly more complex problem. So. without fuither ado, let's assume that we've Just received the following set of specifi- cations from a customer : Ihe machine Is to consist of three lights. LI. L2 and L3 (all Initially OFF), and two pushbuttons. XI and X2. Interlocked so that they cannot be operated simultaneously - - le, the condition XI. X2 » 11 Is IMposslble. Each time XI Is operated AND released, the lights are to come ON In the order LI only (first press and release). L2 only (second press and release) and L3 only (third press and release). Once L3 Is ON, subsequent operations of XI to have no fuither effect. However, If X2 Is operated and then released, the lights will move back by one position, and do thts cyclically. That is. commencing with (say) L3. successive operations of ^t will cause It to cycle In the order L3 only, L2 only, LI only, all OFF. L3. L2, LI etc etc. The push-buttons may. of course, be operated In any random order. THE FLOW-TABLE Ihe (list step, as before. Is to draw up a flow-table (see Diagram 26) with the prlmaiy-control columns headed 00. 10 and 01. 1 1 Is not Included as this represents an Impossible phi-state. At this stage we don't know how many rows we're going to need, so we'll Just add them on as we go along! 2$ March '88 68 Micro Journal Diagram 26 -< IO c '1 1 2 •1 ooo OOO ooo 2 *l 2 $oo ooo 3 3 ^ 9 IOO loo IOO * S 4 Wo IOO S r 6 10 OIO OIO OIO 6 7 6 o** 010 7 7 7 11 OO I 001 OOI « 7 I 1 s ao4 ooo * l| q $oo 100 10 3 to $0O OIO II y III oW OOI Initially the machine Is at rest, with all lights OFF. so address 00.1 Is allocated a black- 1 to maintain stability, and an all-zero entiy In Box-C to keep all lights OFF. The first OPERATION of XI takes us to address 10.2, with all lights still OFF. and the first RELEASE of XI then moves us to address 00.3. which Is a stable state with LI alone ON. Note that because LI alone Is changing state while It transits via address 00.2. this address specifies Ll as a phi. We'll decide later whether to activate It right here, or leave it 1111 a split-second later at address 00.3. depending on how the decoding turns out. The second OPERATION of XI takes us as far as address 10.4. with the outputs held constant at 100 In order to maintain Ll ON and the other two OFF. and the second RELEASE moves us to address 00.5 (stable), with an output entiy of 010 to switch Ll OFF and turn L2 ON. In Box-C of address 00.4 we enter a pht for both lights Ll and L2. as they are BOTH changing state across this "elbow". The third OPERATION of XI brings us to address 10.6. with L2 maintained ON. and the third RELEASE moves us to address 00.7. with L3 alone ON. and an entry of phi for L2 and L3 In the elbow address 00.6. as both are changing state here. Keeping In mind that we're not to proceed beyond L3 In the "UP" direction, so the fourth operation of XI simply keeps us In Row-7 with L3 held ON. Obviously, any further OPERATIONS or RELEASES of XI cannot move us out of this row. and we are stuck there with L3 ON and the other two OFF. All the action so far Is contained within the heavy lines on the How-table. NOW FOR XI So much for XI . Now let's transfer our attention to X2, and. commencing at address 00. 1 (all lights OFF"), assume that we OPERATE X2. We know from the specs that we should come to rest with L3 ON when we later RELEASE )K. so It would seem natural to Insert a black-7 In the elbow 01. 1 and then move to address 01.7, so that when )K Is released we would be In address 00.7 with L3 ON - - exactly as specified. 66 Micro Journal March '88 27 BUT. Row-7 would then be a completely stable row (with black-7 In all tts Sections A). LEAVING US WITH ABSOLUTELY NO WAY TO MOVE OUT. This would be OK If the specs called for a termination at L3 no matter In which direction we cycled the lights, but this ts not so In our easel We must theiefoie be a little more subtle and move Into address 00.7 by the back-door as It weie. and leave the front-door (at address 01.7) open as an emer- gency exit. The way to do this Is to send ouiselves down to address 01.8 when we OPERATE X2 (still keeping all lights OFT) and move Into 00.7 via the elbow at 00.8. with L3 a phi on the elbow Itself, as It's changing state here. How about that for a crafty manoeuvre? Next we'll assume that we're at address 00.3 (with LI ON) when we decide to OPERATE X2. We'd like to move from the elbow 01.3 to address 01.1. so that when we RELEASE Xi we'd end up at 00.1 with all lights OFF. Unfortunately, address 01.1 specifies that LI goes OFF here, where we wish to maintain It ON. In addition. Its Box-A Is coded to send us Instead to a final "L3 only ON* state, so we adopt the same tactics as before and 'sneak In" to 00.1 via row 9. Our elbow 01.3 will therefore have a black-9 entered in Box-A and we'll end up at addiess 01.9 with LI slill ON. When we RELEASE X2, the entry of a black- 1 in 00.9 will send us up to 00.1 and a corre- sponding all-zero condition for the lights. The elbow 00.9 will, of course, have a phi entiy for LI. Similarly, commencing at 00.5 [L2 alone ON), we cycle through Row 10 Into address 00.3 (LI alone ON), and finally, commencing at our problem-row 7 (L3 alone ON), we cycle through Row 11 Into 00.5. Note that both of these movements call for a double-phi entiy In the elbow- address, or unstable location. At this point we've successfully translated the specs into a flow-lable which accurately follows the sequences called for. IT CANNOT BE TOO STRONGLY STRESSED THAT IF ANY DOUBT EX1S1S. AT ANY TIME. AS TO THE CYCLING ON THE FlJOW TABLE. AN EXTRA ROW SHOULD BE CREATED AND THE ACTION CYCLED THROUGH THIS ROW. The next stage of the synthesis procedure, which I'm afraid we'll have to leave till the next leg of our journey, will AUTOMATICALLY eliminate any surplus, or redundant, rows which you might so create. As It stands right now, with 1 1 rows, the flow-table tndlcates that we can Implement this circuit with four relays. Three Isn't enough, because 2 to the power of 3 equals 8. and we could only cover 8 rows. On the other hand, 2 to the power of 4 equals 16. which would leave 5 unused rows tn a 16-row table. This means S rows of phi-states, and we know how we love those little phis, don't we? In addition, we've already got a whole phi- column, namely column 1 1. PLUS a random assortment of phi-states [addiesses Into which the flow-table doesn't cycle) In columns 10 and 01, which should help us considerably In our decoding. First though, we'll take a look at MERGING, which I mentioned earlier, to see whether It's possible to reduce the number of relays, or. If not, maybe we can at least create a lot more phis to play with. Unfortunately, IVe used up my allocation of space for this month, so we can all take a much-needed break till next lime round. No tests for you this time. I'm afraid, but don't worry too much about that. Maybe we'll make up for It later!! ... End of Mile 7 Correction to solutions to test four 14): (vlll) should read: a'bc'+bc'd+a'd+b'c EOF FOR THOSE WHO NEED TO KNOW 68 MICRO (JOURNAL m 26 March 88 68 Micro Journal ■hlcplionc: (6 1 5) #42 -4biX) SOU tfl 'LOS t Mcdld QS-9, tlni'J L'LX, \f C'£X S:\ V* £ somi'wE .',',' iictkic Specify ') Imri hvrtitui,} Stjs tent aiuf'l Hsk Site ! .'.' TdnG SHMlMyMi Sculptor Full OEM & Dealer Discounts Available! ncscuuTOfisvsTCM V ajfcfl n i u»^Mf 4 dcmvM hjfW pw^i n brtaTuav fnfctfMy W* VufciM youl M ** *ft« uwt to w»- a woafli can b« «,h*w.iir^*rt AN EST ABUSrCD LEADER the package Wfc my iWn lit |wwl t^i— ym « DATAWCnDNAHV l*ti *»> »■*** h»« m vti gwybcAv B IN! 4 KlNi II ( rfMd I V ufc* » u np awn . • rl *** *Msn < * >f ■*' ' *■&*** h I 'm INPUT CWTAVALfflATXJri KFIAHOIW f#l HAH JRS * **£ - »bq*pN* (W .nri M.« J ~M«, .V*™ ■ ■ ■ i ■ - - - - ¥£ Kf! L system tisneptNi^Ntrf w6 ftw nifti liiqfw^pgitdf»itiw^w^*fc^w Iwpi^W and m i^ nhm Scjagnm , iifciQjt—iftfl APPUCATfcTN KWTABHTY ft i r rinn IN Tinm tiiilfiniri-iirh ' - UdMfht hnJlaan pimi ubun «■! WtlDANIiriTH HMO hwf and pKMfi in faml nB Mftonqw whk h nMtmi»l■*■»■■■. aprf fc j jaal ftal wu wpaw ft* ■Mtthvfv in Vvwcrfld' "UifeHA. vwAffPjffcaaandlia^iv Siulpluia^Miritd>»H l r.rj W r^kriu«W« DATAfUXSTKUCTURE . r* knl mini IrrxBti infill Ptt^f«/tvtw real fit tog)c AWRfrtmc OPERATORS Uwyxna SPECIAL FEATURES I : Pulite* trtfwrtf Sculptor for 68020 OS-9 & UniFLEX $995 MAXMAATOMNMA SCREEN H«M LANtilAti PR(X,HAMS * MUSTANG-020 Users - Ask For Your Special Discount! Tandy CoCo III Special - Reg. $595 * Special $389 * • •• ••• * »» ••• MUSTANG-020 $995 $199 $595 PC/XT/AT MSDOS $595 $119 $595 OS/9 UniFLEX 6809 4< 4« t« AT&T 3B1 UNIX 44 44 41 IBM Compatibles 4< 4< 44 SWTPC 68010 UniF $1595 $319 $797 Tandy CoCo III Special $389.00 SVVTPC 68010 UNIX $1990 $398 $995 aoptmen ** Run Time ObIj ••♦ C K*7 File Llbmrr Sculptor Will Run On Over 100 Other Types of Machines ... ... Call for Pricing ... !!! Please Specify Your Make of Computer and Operating System !!! O ■ OS-t, t . tK«DOf r . run. u . wu< CDl • CUm r i l Ot-» OCT - Crfor amydm FLtX South Tost Media SSOOCauan/raSmiik Kf. -tfuQen. Tit 37343 TlUpfwn*: (61SJS42-4800 TtluQ $106006630 m.• Kufrif. Akw» AM M* •<^> t.THI iM rt^>B ^ ^^»iMI WMM«>'T^P M< U»iajOI «flTr»«»wtorfT«cluilniSpl»M I ■b-'WTXW ll » TY»*i»r* ll.f-» faB-m Spfc» Cty, 68 Micro Journal March '88 29 Vrfcpfume: (6 15) 842-4600 SOU tfl 'EOS t OVlcdia OS-9, tlni'JL'EX, 'JL'LX, S'X'WS Tefex; $106006630 DISASSEMBLERS SUPER SLElDll from Computer Syilcnu Consultants Interactive nissiienrbler; extremely POWERFUL! Disk Rle Binary/ASCII f^amine/Chan ge. Absolute or FULL Disassembly. XREF Generator. Label "Name Clianger", ad Fiki of "Standard Label Names'' for different Operating Systems. CoUn Computer SS-50 Bus (all wl AL Source) CCO (32K Req'd) Obj. Only $49 DO F. S. $99.00 . CCF, Obj. Only $50 DO V, $10000 CCF. w/Sovce $99.00 0. HO 100 CCO. Obj. Only S50M OS9 68K Obj. 1100 DO wISource S200OO DYNAMITE* - Excellent standard "Batch Mode" Disassembler. Includes XREF Generator and "Sundifd Libel" Files. Special OS-9 options w/ OS-9 Version. CCF, Obj. Only SI 00 DO ■ CCO. Obj. S 5995 F.S. " " $100.00-0, object only $15000 U."' S300M PROGRAMMING LANGUAGES PL/9 from Wtndruih Micro Systems -- By Graham Trott A combination Editor Compiler Debugger. Direct source JD-oftjecs compilation delivering fast, compact, re-entrant. ROM-able. PIC. 8 & 16-bit Integers & 6-djgit Real numbers for all leal-world problems. Oirect control over ALL System resources, including interrupts. Comprehen sive library support; simple Machine Code interface; nep-oy -step tracer for instant debugging. 50fl+ page Manual with tutorial guide F. S, CCF . $19800 PASC from S.E. Media - A FLEX9. SK'DOS Compiler with a definite Pascal "flavor'. Anyone with a bit of Pascal experience should be able to begin using PASC to good effect in ibon order. Hie PASC package cones complete with three simple programs: ED (a syntax or structure editor). EDITOR (a simple, public domain, screen editor) and CHESS (a simple chess program). Hie PASC package cone complete with source (written in PASC) and documentation FLEX. SK'DOS $9500 WHIMSICAL from S.E. MEDIA Now supports Real Numbers. "Structured Programming" WITHOlff losing tlie Speed and Control of Assembly Language! Single-pass Compiler features unified, user .Refined I/O. produces ROMabte Code; ftbodutes and Module* fmdudhg pre-compifcd Modules), many "Types" up to 32 til Integers, 6-dig il Real Numbers, unlimited sized Arrays (vectors oily); Interrupt handling; long Variable Names; Variable Initialization; Include directive; Conditional compiling; direct Code insertion; control of the Stack Pointer, etc. Run- Time subroutines inserted as called during compilation. Normally products 10% less •ode than PU9. F.S and CCF ■ $195.00 KANSAS CITY BASIC from S.E- Media - Basic Jar Color Computer OS-9 with many new commands aitd sub-functions added. A full implementation of the IF-TIIEN-ELSE logic is included, allowing nesting to 255 levels. Strings are supported and a subset of the usual suing functions such as LEFTS . RIGHTS, MTDS, STRINGS, etc are included. Variables are dynamically allocated. Also included are additional features such is Pack and Poke. A must for any Color Computer user rumijig OS-9. CoCo 0S.9 $39.95 C Compiler from Wlndrusb Micro Systems by lames McCosh. Full C for FLEX, SK'DOS except bit-fields, including an Assembler. Requires the TSC Relocating Assembler if user desires to implement his awn Libraries. F.S and CCF $295 00 C Compiler front Intro! - Full C except Doubles and Bit Fields. suramlined for the 6809. Reliable Compiler; FAST, efficient Code. More UNIX Compatible than mosL FLEX. SK'DOS. CCF. 0S9 (Level II ONLY), U . S575D0 PASCAL Compiler from Luddala - ISO Based P-Code Compiler. Designed especially for Microcomputer Systems. Allows linkage to Assembler Code for maximum flexibility. F. S and CCF 5" - S19OD0 F. S 8" $205.00 PASCAL Compiler from OmegaSoR (now Certified Software) - For the PROFESSIONAL: ISO Baud. Native Code Compiler. Primarily for Real-Tune and Process Control applications. Powerful; Flexible. OS-9. F.S and CCF ■ SSS0.00 OS-9 68000 Version - S900. 00 KBASIC - from S.E. MEDIA - A "Native Code" BASIC Compiler wlrich is now Fully TSC X BASIC compatible. The compiler compiles to Assembly Language Source Code. A NEW, streamlin ed. Assembler is now included allowing the assembly of LARGE Compiled K-BASIC Programs. Conditional assembly raduces Run-tiine package. FLEX. SK'DOS, CCF. OS-9 Compiler /Assembler S99D0 CRUNCH COBOL from S.E. MEDIA - Suppotu large subset of ANSH Level 1 COBOL with many of the useful level 2 features. Full FLEX. SK'DOS File Structures, including Random Files and the ability to process Keyed Files. Segment and link laige programs at runumc, or implemented as a set of ovcilays. Hie System requires S6K and CAN be run with a tingle Disk System. A very popular product. FLEX, SK'DOS. CCF - $99 95 FORTH from Steares Elcctrtmlo - A CoCo FORTH Programming Language. Tailored to the CoCo I Supplied on Tape, transferable lo disk. Written in FAST MI- Many CoCo functions (Graphics. Sound, etc.). Includes an Editor. Tiace, etc. Provides CPU Carry Flag accessibility, Fast Task Multiplexing. Qean Interrupt Handling, etc. for the "Pro". Excellent "Learning" looll Color Computer ONLY - $58.95 ().0*-t. S.SK'OOJ r.riMX, u.ua«LU CU.OIm T , a ■ CUM CGP.OlttrCceapaar WIMI South 'East Media 5900 Cassandra Smith ^/. - tfuyon, Tn, 37343 ■ •• Shipping *• ASM J* UijMaua. SXJt) ■ants* hrOn Aims* »i tas Alrmol AM It* Or OO JX Sklafat Ob>> ttt-t li a Traanaart af Mttrwct sad Maturate- TV E mrm UnJTLH art Tmlwuumt «f Tatbntca) Symmi CwnMitMa- ■ SK'DOS u . Tn acn. r> of s a r . t s.fl-.r . ij mm. c p. 30 March '88 68 Micro Journal Telephone: (615) $42-4600 SOUtft 'East iMecflQ TeSae 5106006630 OS* ihn'jt.rx, ih.-LX, S'A''- !t OS FORTHBUU.DER ii ■ stand-alone target curnpib? (crouampiki) for prnxubug custom Forth fysuros and cpplicakkxi programs. AD of die 83 -standard deTining radi and antral suucmres ire recognized by FORTHBUILDER TORlllBUn.DER isdc*igned tobdiaveasmucb w pontic like • reodent Forth dueTjraa/campilet, to thsi most of ibe established techniques for willing Forth code can be used without change. 1 Jke compilers for other languages, FORTHBUILDER can operate in "batch mode". The compile r reErnpiiua and emulates target name* defined by CONSTANT or VARIABLE and ii readily extended with "compile-time" derautiari* to emulate cpeofic targes words. FOR J1IBUILDER ii supplied u an rranrtahle ammiod file configured for a specific hod system and targe* f*oce*so». Object code produced from the auuiirpauyin g model source code i> royalty-free to licensed usen. F, CCF. S - $99.95 DATABASE ACCOUNTING XDMS from Weatduster Applied Buttsem Systems FOR 6809 FLEX-SK»DOS(S/8") Up to 32 £ cups/fields per recordl Up lo 12 chancier filed name! Up to 1024 byte record* 1 Uter defined icntai and print con troll Process fileil Form IDesI CondilkziaJ execution! Prusust chaining! Upward/ Oownward file linkingl Fuc joining! Randan file viiiual paging) Built in atilniea I Built in mi line editorl Fully session oriented! Enhanced formil Boldface, Double width. Italics and Underline supported! Wiinen in impact structured uscmolerl Integrated for FAST uazrtion I XDMS-IV Data Management System XDMS IV it a brand new sppmadl lo data manag emenL It not only permits own to describe, enter and retrieve data, but also to process entire files producing customized reports, farm displays and file output. Prootisin g can consist of any of a let of ilandard high level (unctions including record and field selection, sorting and aggregation, lookups in other files, special processing of record subsets, custom report formatting, touting and subtouling, and prnmiibqp of up to three related file* as a "database" on user defined output reports. POWERFUL COMMANDS! XDMS-IV combust the functionality of many popular DBMS software systems with a new easy lo use cunnand set nam a single integrated package. We've included many new features and ormrnndt including a set of general file utilities. The prom sing commands are Input-Process Output (IPO) orient* which allows almost instant Dnplanentabro of a process design SESSION ORIENTED I XDMS-IV is sown oriented. Enter "XDMS" and you are in instant "■ ■'»' of all the feature*. No more waitrn g for a raunend to load in from disk 1 Many corn/sands are immediate, such as CREATE (file defimnon). UPDATE (file editor). PURGE and DELETE (utilities)., Others are process commands which are used lo create a user process which is executed with a RUN command Either may be entered into a "process" file which is cxcciesd by an EXECUTE statement. Processes may oacule other processes, or themtelvea, eilhrr conditionally or unoondilirajally. Menus and screen prompts are easily coded, and entire user apptuauosu can be run without ever leaving XDMS-IV ITS EASY TO USE! XDMS IV keeps data managanexa simple I Rather lhan design a ectnpkx DBMS which hides the true nature of the data, we kept XDMS-IV file oriented. The user view of data relationships is preaaaer) is rrpuru and ran output, while the actual data resides in easy to maintain files. This aspect permits oncuaniaed proentafj on and reports without cample* redefinition of the database files and structure XDMS-IV may be used for a wide lange of applications from simple record management systems (addresses, inventory ■■•) to integrated database systems (order entry, accounting ) The possibilities are unlimited... FOR 6809 FLEX-SK»DOS(S/8") $249.95 ASSEMBLERS ASTRUK09 from S.E. Media - A "Structured Assembler for the 6809" which requires the TSC Macro Assembler F.S.CCF- S99.9S Macro Aaaeakblrr for TSC - The FLEX, SK'DOS STANDARD Assembler. Sptcial-- CCF VS M; F.S S5O0O OSM Extended 6809 Macro Assembler from Uoyd I/O. - Provides local labels, Motorola S- records , and Intel Hex records; XREF. GeneOrate OS-9 Memory modules under FLEX. SK'DOS FLEX . SK'DOS, CCF, OS-9 S99.00 Relocating AaaembieWLInklng Loader from TSC - Use wuh many ol the C and Pascal Compilers. F.S.CCF SI SO j00 MACE, by Graham Trotl from Windrush Micro Syslcnu - Co-Resident Editor and Assembler: fan interactive A.L. Prograramjjig for small lo moiium -siaed Program*. F.S.CCF-S73M XMACE - MACE w/C/oss Assembler for 6800V 1/273/8 F , 5, CCF - S9SM o.os.*.i.a>DOf r . nix, u ■ twrua (XV ■ Ctkr Clpiai OM CCr.Qt.rri.) I ,TUX South Tost Media $900 Cauan/n Smitfk *£ - 9ft*(m, Tn. 37343 L^ " Shipping ■• Kit 1* tli-A. I.mlm. tiff) Fwrrlaa SMftn AM S* Kw-rlan Alrnmll Add ISW Or C"_0_H. Shlpplna Only ■Q*.r/ »tli iii iivaa< M ia « iai WW nJ IMTLXX mTr«a. »« rtnif TtthidrjU f O— h i»U «*K*DOf!1»iTraa— rlnOair.K *»*r— rv tjHimCmrr. 68 Micro Journal March *ea 31 'Mevfwnc. (b i 5 1 if42 Or CO.D. SUpftlaa oolj «o«.i ba Traawnart of M krawar* t ni Mattreta- ■»!. E X and llnin -E X *™ Tri df mirfc ■ at 1>t Knfrmt 5 jrt ma f'jMim>H»n ts-'fiK'DOS >■ a Tra Atirm r h of .s ^ r . K >w,fl w»r > Syntim Corp. 68 Mrcro Journal March '88 33 Telephone: (b 15 ' #42-4600 SOU til 'EOS t tMedid Tefei(:5Ute00t>bM) OS 9, Uni'JVLX, fL'EX, S'K'WS set of oanunmu aid enm messages . 05-9 MSJU HIER from S.E. Media - W/£« is a modem hiemrchal storage system for titers under FLEX. SK'DOS It answen ibe needs of those who have hud disk c^abtliiici on their lynenu, or many files on one diik - any size. Using HIER • regular (any) Fl.EX, SK'DOS disk (( • S - hard disk) can have sub directories. By this method the p r oM o m of assigning unique names lo file* u leu burdensome. Different files with ihe cua ume name may be on the tame disk, aa long at they an in differed! direaoract . For the Winchester user thii become* a mud. SuJv-dvtnunrj are the modem day solution thai all current large systems use. Kaefc dirMbary looks la FLEX, SK'DOS like a regular file, evept tat* have the extras! uo '.DIR A fall set of directory handling prognuns are included, making the operation of HIER mops' e and straightforward. A special install package is cnchalad to install KIER to your particular version of FLEX, SK*fX>S. Same assembly naauind. Install indicates each byte or reference change needed. Typically • 6 byte changes in source (furnished) and one assembly of HIER is all that is required. No programming requiiedl FLEX . SK'DOS S79.95 COPYMULTfrom S.E. Media -Copy LARGE Disks to several smaller disks. FLEX. SK'DOS unities allow the backup of ANY size disk to any SMAIJJBR aije diskettes (Hard Disk to floppies, 8* to 5", etc.) by simply inserting diskettes as requested by COPYMULT. No fooling with directory deletions, etc. COPYMULT.CMD understand s normal "copy" syntax and keeps up with files copied by mxinuunin g directories for both host and receiving disk system. Al»o includes BACKUP.CMD to download any sine "random" type file: RES PORE CMD to restruosre copied "random" files for copytn g, or recopyin g back lo Ihe boat system; and fflEEUNK. CMD as a "bonus" nnlily that "relinks" the free diain of floppy or hard disk, eliminating (ragmen laaon. Completely documented Assembly Language Soiree files included. ALL 4 Programs (FLEX. SK'DOS, fori") t99.SO COPYCAT from Luddata - Pascal NOT required. Allows reading TSC Mini FLEX. SK*DOS. SSB OOS68. and Oigiud Research CP/ M Disks while cperaong under SK'DOS . FLEX 1.0. FLEX 20.or FLEX 9.0 with 6800 or 6809 Systems. COPYCAT will not perform miracles, but. betwe e n the program and the manual, you stand a good chance of accomplishing a transfer. Also include* some Utilities to help out. Programs supplied in Modular Source Code (Assembly Language) to help solve unusual problems. F.SaadCCFf.tSOM F.S 9"S65J0O VIRTUAL TERMINAL from S.E Media - Allows one terminal to do the wok of several. The user may start as many as dg I task on one terminal, under VIRTUAL. TERMINAL, and switch back and forth between task at will. No need to exit each one; just jump back and fotlh Complete with configuration program. The best way lo keqi up with those background programs. & CCO -obj. only- $49.95 FLEX, SK'DOS DISK UTILITIES from Computer Systems Consultants - Eight (g) different Assembly Language (w/ Source Code) FLEX, SK'DOS Utilities for evety FLEX. SK'DOS Users Toolbox: Copy a File with CRC Errors; Test Disk for errors; Compare two Disks; a fast Disk Backup Program; Edit Disk %doa; Linearis Fiee -Chain on the Disk: print Diik IdsCiTicanVn ; and Soil and Replace the Disk Directory (in sorted order). - PLUS - Ten XBASIC Programs including: A BASIC Resesjucnocr with EXTRAS over "RENUM" tike check for missing libel definitions , processes Disk to Disk instead of in Memory, etc Other piogramt Cbtisparc. Merge, or Generate Updates between two BASIC Programs, check BASIC Seqomz Numbers, compare two uqioyjcnoEd files, and 5 Programs for cstahlithin g a Master DimsDiy of seven) Disks, and sorting, selecting , updating, and printin g paginated listing « of these files. A BASIC Cross -Reference Program, written in Assembly Language, whidi provides an X-Ref Lilting of ihe Variables and Reserved Words in ISC BASIC, XBASIC, and PRECOMPIIER BASIC Programs. ALL Utilities include Source* (either BASIC or At, Source Code). F.SandCCF SiO.OO BASIC VtHUies ONLY Jo, UniFLEX - SXM COMMUNICATIONS CMODEM Telecom municalions Piogram from Cnmputer Systems Consultants, Inc. - Menu-Driven; supports f>unb- Terminal Mode, Upload and OownkmJ in oon-proloanl made, and the CP/M "ModranT Christen so) prowopl mode to enable conmuni cation capabilities for almost any requirement- Written in "C. FLEX. SK'DOS. CCF. 0S-9. UniFLEX. 68000 A MNs Source SIOO.00 - without Source 150 M X TALK from S.E Media ■ X-TA1X consists of two disks and a special cable, the hookup enables a 6809 SWTPC awoyuux to dump UniFLEX file* directly to the UniFLEX MUSTANG-020. This is Ihe ONLY currently available method to tnuuf er SWTPC 6809 UniFLEX files to a 68000 UniFLEX system. Gimix 6809 users may dump a 6809 UniFLEX file to a 6809 UniFLEX five inch disk and it is readable by the MUSTANG-020. The cable is specially prepared with internal ensmsctiona to match the non-standatd SWTPC SO/9 I/O Db25 oomsasors. A special SWTPC S+ able set is also available. Users should specify which SWTPC system he/ ihc wishes lo communicate wilh the MUSTANG-020. Ttic X- TALK software is furnished on two disks. One eig t inch disk contains S.E. Media modem piogram CMODEM (6809) and the other diik is a MUSTANG-020 five inch disk wilh CMODEM (68020). Texi and btnsiy files may be directly transferred between Ibe two system*. Ihe C-MODEM programs are unaltered and pcifurm as excellent modem program* also. X-TAIX can be punJuHol wilh or without the special c»hlc*. but this special price is available lo registered MUSTANG-020 users only. XTALK Complex, fcaMt, 2 diito) $99.95 0.0».S,fSX.DO* r.nu.u.uainxx COl . OtttS fi lia te OH (XT . this. f»H » na ■onus South 'Last 'Media i900 Cassandra Smith %C - 9&*j av«* *«* i*» Or OO A »<>*•• (Mr •rMonri ia* H.linh TT.H mmt UaaTLU an Tiilmiit — - ■ ■ ■ • M.' irn* in ^*Ssr-K ** rt M i n Sjat— rjr». 34 March 88 68 Micro Journal 'Tvfcplnmc: (615) 842-4600 SOU tfl 'East Olfedia Tefe^: 5106006630 05-9, ilm'JCEX, IIL'EX, S'K'VOS XTALK Softwart (2 diikt only) 169.95 XTALK with CMODEM Source 1149.95 XDATA from S.E. Media - A COMMUNICATION Package for Ihe UraFLEX 0|«ialing System. Uk with CP/M, Main Frames, other UniFLEX Systems. Etc Verifies Transmission using checksum or CRC; Re-Tramnuis bad blocks, etc. V ■ 1299.99 EDITORS & WORD PROCESSING JUST from S.E Media - Text Forrruuic r developed by Ron Anderson; for Dot Matrix Printers, provide* many unique features. Output "Formaiied" Text to Ihe Display. Use the FFRINT.CMD supplied for producing multiple copies of the "Formatted" Text on die Printer INCLUDING IMBEDDED PRINTER COMMANDS (veiy useful at other times also, and wonri Ihe price of the program by itself). "User Configurable" for adapting to other Printers (comes set up for Epson MX -80 with Grafuax): up to ten (10) imbedded "Printer Control Commands". Compensate* for a "Double Width" primed line. Includes the normal line width, margin, indent, paragraph, space , vertical skip lines, page length .page numbering, aouering , fill, justification, etc. Use with PATor any other editor. • Now suppliad as a two disk set; Disk Kl ; JUST2CMD object file, JUST2TXT PL9 sourct.FLEX, SK'DOS ■ CC Disk #2; JUSVSC object and source in C: FLEX, SK'DOS - OS9 . CC The JTSC and regular JUST C source are two separate programs. 1T5C compiles to a version that expects TSC Ward Processor type commands, (.pp tp ce etc.) Great for your older text files. The C aource compiles to a standard syntax JUST.CMD object Isle. Using JUST syntax (,p .u .y etc) With all JUST functions plus several additional pi inter formatting functions. Reference Ihe JUSTSC C source. For those wanting an excellent BUDGET PRICED woid processor, with features none of the others have. This is ill Ditk (1) ■ PL9 FLEX only. F.S& CCF ■ 149.95 Disk Stt (2)-F,Si CCF i OS9 (C version) - 169.95 OS-9 68K000 complete with Source - 179.95 PAT from S.E. Media - A full feature scran oriented TEXT EDITOR with all Ihe best of "PIE m ". For those who swore by and lovad only PIE, this is for you! All PIE features and much morel Toomany features to list. And if you don I like these, change or add your own. PL-9 source furnished. "C" source available soon. Easily configured to your CRT, with special conf ig section. Regular FLEX, SK'DOS 1)29,50 • SPECIAL ItfTRODUCTION OFFER ' 179.95 SPECIAL PAVJUST COMBO (wlsourct) FLEX, SK'DOS 199.95 OS9 6BK Version 1229 DO SPECIAL PATUUST COMBO 68 K 124900 Note: JUST in "C" source available for OS-9 CEDR1C from S.E. Media - A screen oriented TEXT EDITOR with availability of "MENU' aid. Macro definitions, configurable 'permanent definable MACROS' - all standard features and the fastest 'global' functions in the west A simple, automatic icnninal coofig program makes this a real 'no hasscl' product. Only 6K in size, leaving the average system over 16S seniors for text buffer - appx. 14,000 plus of free memory 1 Extra fine for programming at well as text. FLEX, SK'DOS 169.95 BAS EDIT from S.E Media • A TSC BASIC or XB ASIC aacai editor. Appended to BASIC or XBAS1C. BAS-EDtT is transparent to normal BASIC/XBASIC operation. Allows editing while in BASIC/XBASIC. Supports the following functions: OVERLAY. INSERT and DUP LINK. Make editing BASIC/XBASIC programs StMPLEI A GREAT time and effort saver. Program men love ill NO more retyping entires lines, etc. Complete with over 25 different CRT terminal configuration overlays. FLEX, CCF, SK'DOS 139.95 SCREDITOR III from Windiush Micro Systems - Powerful Screen- Oriented Editor/Word Processor. Almost SO different commands; over 300 pages of Docum eolation wilh Tuton al. Features Multi- Column display and editing, "decimal align" columns (AND add them up automatically), multiple keysuoke macroa, even/odd page headers and footers, imbedded printer control codes, all justifications, "help" support, aiore common command series on disk, etc. Use supplied "set-ups", or remap Ihe keybem/d to your need*. Except for proportional printing, this package will DO IT ALL1 6S00 or 6809 FLEX, SK'DOS or SSB DOS, OS-9 -1175 DO SPELLB "Computer Dicnotuuy" from S.E. Media - OVER 150,000 words! Look up a word from within your Editor or Word Processor (with the SPH.CMD Utility which operates in Ihe FLEX, SK'DOS UCS). Or check and update the Text after entry; ADD WORDS to the Dictionary, "Flag" questionable wotds in the Text, "View a word in context" before changing or ignoring, etc. SPF.U £ fiitt checks a "Common Wold Dictionary", then ihe normal Diction*) y, then a "Persona] Ward Lin", and finally, any "Special Word List" you may have specified. SPELLB also allows the use of Small Ditk Storage systems. F. S and CCF - 1129.95 STYLO -GRAPH from Great Plains Computer Co. - A full-screen oriented WORD PROCfiSSOR - (uses the 51 x 24 Display Screens on CoGo FL£X/SK»DOS. or PBJ Wotdpak). Full screen display and editing; support* the Daisy Wheel proportional primers. 0> 034$. A •DOS cca.ctoto " ■'» « ■ os.a tXf . 0*» Coafiaar fOM South "Last Media 5900 Cassandra Smith "XJ. - Hfvyon, Tn. 37343 " Shipping *• Add I » I _•,_*. (ml* tut) >«'i IMP Su, (« , AM I* Fwtlpi A IrraiU A4i 1 *% Or CO J). Ship*** D«li tMVty ■ Trill— S *f MlcTTTt ajjd Wol»»Ufl,t» m* Ua^HX aw THdiMrtu af TVchA.1 SJH.1M C«ilm»B.*SK«rjog u ■ Tntairl of Bur.E Mtemm *T«— Ora 68 rVicro Journal March '86 35 Vdepfume: $15) $42-4600 S Oil til 'EOSt fyfeditl 'Me*; 5106006630 OS-9, Wii'JL'LX. 'JfJLX, S'X''J>OS NEW PRICES 6809 CCF and CCO . $99.95. F.Sor O- 1119.95, U . S299.95 STYLO-SPELL from Gnu Plaint Computer Co. - Fan Computer Oiaiaury. Ccnip'onni Stylogiaph. NEW PRICES 6809 CCF and CCO ■ 169 95. F.SorO $99.95.V -$14995 STYLOMERGE from Great Plains Compucr Co. - Merge Muling list to "Form* Letters. Piint multiple Rle». etc.. th«*»gh Stylo- NEW PRICES 6809 CCF and CCO - 159.95. F.Sor ■ 179.95. V -1129.95 STYLO. PAK ~ Gniph + SpeU ♦ Merge Paekige Deallll F.SorO- $329.95. V . S549.95 0. 68000 $69500 MISCELLANEOUS TABULA RASA SPREADSHEET from Computer Systems Connilunu - TABULA RASA is similar to DESKTOP/PI AN; provide* we of tabular computation sjwnes used for analysis of business, sales, rod economic conditions. Menu-drven: extensive report generation capabililiea. Requires TSCs Extended BASIC. F.Sand CCF. U $5000. wi Soiree $ 100 DO DYNACALC - Qertroruc Spread Shea for the 6809 sad 68000. F.S.0S-9 and SPECIAL CCF- $200 DO. V ■ 519500 0S-9 68K- $595DO FULL SCREEN INVENTORY/MRP from Computer Systems Consulunu - Use the Full Screen Inventory System/Materials Rrquiremo l Pluming for maintaining inventories. Keeps item field file in alphabetical order for easier nquiiy. Locale and/or print records matching partial or complete item, description, vendor, or •nhrutci: find hack order or below stock levels. Piiut-ouu in hem or vendor order. MRP capability for the maintenance and analysis of Hsenvrchical assemblies of items in the inventory file. Rnrouea TSCs Extended BASIC. F. S ami CCF. V ■ 150D0. m> Sourer - UO0O0 FULL SCREEN MAILING LIST from Computer System- Consultants - The Full Screen Mailing List System provides a meant of maintaining simple mailing litis. Locate all records matching on partial or complete name, dry, stale, sip, or attributes for Listings or Labels, etc Requires TSCs Extended BASIC. F.Sand CCF. U - 1S0D0. wr Sown ■ S100D0 DIET-TRAC FarocsWiT from S.E. Media - An XBASIC program that plans a diet in terms of either calories and percentage of camoftydmes , proteins and fats (C P G%) or grams of Camohydiele. Protein and Fat food exchanges of each of the six bask food groups (vegetable, bread. meat, skim milk. fiuil and fai) for a ipaofie individual. Sex, Age, Height, Present Weight. Frame Siae, Activity Level and Basal Metabolic Rate for normal individual are taken into account. Ideal weight and sustaining calories for any weight of the above battirsdual are ralnilstad Provide* number of days and daily calendar after weight goal and calorie plan is determined. F,S $59.95. U- $89.95 CROSS ASSEMBLERS TRUE CROSS ASSEMBLERS from Computer Synemi Cunxulumu - Support, 1 802/5. Z- 80, 6800/1 /2/3/8/tl/HCll. 6804.6805/11003/ I4680S. obW/OVOI, 6502 family. 8080/5. 8020/1/2/35/035/39/40/ 48/C48/49/C49/50/«748/49. 8031/51/8751. and 68000 Systems. Assembler and Listing formats tame as target CPU's format Produces machine independent Motorola S-TeXL 68000 or 6809. FLEX. SK'DOS. CCF, OS 9. UniFLEX any object or source each - $50 DO any 3 object or soumt tech ■ $100 DO Set of ALL object $20000 ■ Xswa $500 00 XASM Cross. Assemblers for FLEX. SK'DOS from S.E MEDIA - This set or 6800/1 Z2/3/5/8. 6301 , 6502, 8080/5 . and Z80 Cross Assemblers uses ihc familiar TSC Macro Assembler Commind Line said Source Code format. Assembler options, etc., in providing code for the target CPU's. Complete ret. FLEX. SK*DOS only . $15000 CRASMB from LLOYD I/O - Supports Motorola's. Intel's. Zilog's, and other's CPU syntax for these 8-Bit m ktupnax a sow: 6800. 6801, 6303. 6804, 6805. 6809. 681 1 (all varieties): 6502. 1802/5. 8048 family. 8051 family. 8080/85, Z8.Z80, and TM6-7000 family. Has MACROS. Local Labels. Label X-REF. Label Length to 30 Chan. Object code formats: Motorola S-Recoids (text), Intel HEX- Records (text), OS9 (buiaiy), and FLEX, SK'DOS (biiuiy). Written in Assembler ... e.g. Very Fast. CPU TYPE ■ Price each: For MOTOROLA FLEX9 $150 SK'DOS $150 OS9mS09 $150 059/68K CRASMB 16.32 from LLOYD 3/0 INTEL $150 $150 $150 OTHER COMPLETE SET $150 $399 $150 $399 $150 $399 $432 -Supports Motorola's 68000. and has same features as the 8 bit version. OS9/68K Object code Format allows this cross assembler to be used in developing your programs for OS9/68K on your OS9ft809 computer. FLEX. SK'DOS. CCF. 0S-9I6809 $249 00 GAMES RAPIER - 6809 Chess Program from S.E Media -- Requires FLEX . SK • DOS aid Display son Any Type Terminal Features: Four levels of play. Swap tide. Point scoring system. Two display boards. Change skill level. Solve Crackmate problems in 1-2-3-4 moves. Make mm e and swap sides. Play white or black. TnlsU one of Use tBwtgest CHESS programs panning oa any ssJcfDctaaipwfcr. estimated USCF Rating 1600* (better than moil 'dub' players at higher levels) F.Sand CCF $79.95 0-0«vs,s-at*DO* CCS.CMar I ccy.osswc-ian rm South 'Last Media S900 Cassandra Smith */. - Stogim, Tn. 3 734 i •OS! Is • Tnlirt «f M ki ati sad llmnh TUX m* V*n.lX v> Tr*tmvi**Ti**alSTt*M*C*m*MI*-*t%'K»*t ** Shipping •• AaS 1* LLiA. (BSa. UD) r*nlaa SvfkM Mi 9* F*ntai Air™ II AU If* Or CO .©. SMppl^ Oatj ■rt^ttrtMhw %t*nmCmr. 36 March '68 68 Micro Journal Mac-Watch For Those Needing to 68 MJ Lomj The Macintosh* Section Reserved as a A place for your thoughts And ours Mac- Watch Spellswell™ Revisited A Spelling Checker & Proofreader Last year we ran a review of this same program. Since then it has been enhanced to reflect the needs of more recent Macintosh word processing applications. As many of our readers who rely on our reviews are more "serious" users, we thought it appropiiate to bring things up to date. This brings us up to version 2.0e, which is current as of the end of 1987. The following is a partial list- ing of current applications that this version functions with, pre- serving graphics, font and style information. MacWrite 4.5, 4.6 Word* 3.01 Works More ThinkTank Jazz Acta Text documents * Will not work with Word "Fast Save" files. Included is a "homonym" checker, allowing for compari- son of words that have similar sounds. Example "to - two - too." Examples of each word is dis- played and how each word is used. Users can add words to the "homonym dictionary" for spe- cial treatments. Another nice feature is cor- rection of abbreviations that are not entered correctly. Example "Phd -PHD - Ph.D." For the tech- nical writer this feature has sig- nificant value. It has a 93,000 plus word maindictionary . And the usercan create and maintain a separate dictionary of special words that are not appropriate for the main dictionary. Other features include: auto- matic word replace or skip func- tions, recognize proper nouns that are not capitalized, uncapi- talized words at the start of any sentence and incorrect hyphen- ated words. It also detects miss- ing apostrophes and missing spaces between sentences and words. For the chronic hy- phenater, it recognizes words such as "pre-sorted" to be two words, such as "pre sorted" and treats each as a separate woid. The user has the option of making a new document of the one being checked and changed. This document will be the mirror image of the original unaltered document and has appended the extension ".sbk." Words that contain diacritics may be added to the dictionaries. All the quick features are supported and are optionally se- lected and may be saved as per- manent options. These may be changed during a session as a temporaiy function, or saved permanently. The quick func- tions are, Skip, Replace, Add and Delete. Questioned words are shown in context. Also A "Guess" option allows the checker to suggest a proper spell- ing. Wildcard guesses are al- lowed by the insertion of a "?" question mark. For instance, the word "simultaneously" may be wildcarded as "sim?ly." All words starting with "sim" and ending with "ly" will be dis- played. Needless to say, this function can become quite time consuming, but can sure make life easier for the user who does a 66 Micro Journal March '88 37 lot of word processing. Help is online and selected from the dia- log box. The View option allows the user to view, in alphabetical order, listings direct from the selected dictionary. This is sorta like using a standard printed dic- tionary, without the finger walk- ing. Other useful features include checking for double words, one or two spaces after a period and words that are made up of mixed letters and numbers. Words con- nected by double dashes are treated as separate words. Spellswell allows for the inser- tion of abbreviations, special capitalization and contractions into the dictionaries. Most of the options can be turned off, as the user desires. Spellswell is a "batch" as opposed to an "interactive" spell- ing checker. That is, you run it as an application and choose each document as a separate run. Inter- active spelling checkers can run as you type in yourdocument and normally have two modes, "inter- active" or "selection batch spell- ing checking." I actually use both. I use the "interactive" checker as I compose documents. However, many of our articles, advertising and other textual material comes in over modem, or is on a non-Macintosh disk and has to be ported to the Macintosh format for editing and process- ing. In that case we always use Spellswell, after it is ported to the Macintosh, as it is undoubtedly the best for that type of applica- tion. There is no limit to the size of documents this checker can handle. On exiting theSpellswell session a report of the number of words checked and total word count is displayed. Also the user is given the option of saving any special options (skips, etc.) se- lected for that particular session for any future spelling checks of the same document. Additional special dictionar- ies are available from the vendors of Spellswell. They are a legal and medical dictionary. It should be noted that these are additional cost items and are not included, as is the case with some other spell- ing checkers. As we did not re- ceive them they are not included in this review. Lookup™ and Findswell™ These two utilities are DAs (Desk Accessories) from the folks that produce Spellswell. Once you start using either or both, you are hooked. Even if you use similar programs from other vendors, these two are tops in what they do. Lookup This is a utility, for 5 12K and' up Macintoshes, that uses the dictionaries from Spellswell and allows the lookup of any word, from within any application. It is certainly much slicker than hav- ing to stop and look up words out of heavy and bulky printed dic- tionaries. Not to mention much faster (I don't care how fast your fingers can walk through the pages!) Lookup comes with the standard 93,000 plus word dic- tionary. Same one as is used by Spellswell. Using Lookup allows checking any word with just a simple keystroke. Lookup makes spelling sug- gestions and then will replace the word in question with the correct spelling. Also supported is the wildcard feature of Spellswell. Words may be entered or deleted from the dictionaries and Lookup maintains the format and font of the word being changed. Also featured is an excellent Help function, again practically the same as for Spellswell but di- rected towards the specifics of Lookup. The dialog box has several options, including Sound - checked the system beeps twice for functions successfully com- pleted, unchecked the sound is shut off. Also supported are the options covered in the Spellswell review above, including View, Guess, Add, Delete and Replace, as well as Cancel, Capitalization, Abbreviations, contractions and diacritical marks are all handled as in the Spellswell review above. Lookup is the sort of program that becomes more indispensable as it is used. At first I was calling up an "inside" spelling checker on practically every editing ses- sion. That was taking up a lot of valuable memory as well as slow- ing things down. Now I depend a lot on Lookup alone, as it is a DA and always there under the Apple menu. I don't even have a regular printed dictionary on my desk anymore. That should tell you something about the latest spell- ing aids now available for the Macintosh. 38 March 88 68 Micro Journal Findswell This is one that I thought that 1 really didn't need, when it first arrived. Boy, was I wrong! You see, the Macintosh now comes with a real neat DA called "Find File." Everyone who pur- chases a newer Macintosh re- ceives the Find File DA as part of the utilities supplied from Apple. And I must admit that it was one of the most used DAs we had on our various systems (we have everything from 128K Macs to Mac lis in our office), because of the hundreds and even thousands of files we maintain on our hard disks. Before we had Find File we would literally spend a good chunk of an hour sometimes looking for some file on our hard disks. The Find File allowed us to type in the name or part of the name of a file and it would be found in seconds, as opposed to minutes (many) before. We were happy with Find File, that is until we started using Findswell. Findswell is an "Init" type file. An In it file is one that resides in the System Folder and as the system is booted up, each time, all lnit files are located and exe- cuted before the system is turned over to the user. Sort of an auto- matic program installer. Findswell has features that go beyond Find File. The one that we find most useful is it's ability to have the pointer relocated to the resident folder of any file we seaich for. With Find File it was necessary, after the path to the file was determined, to point your way through the various levels of folders until you arrived at the properone.orletFind File move the located document to the desk- top until you completed your work on that particular docu- ment. First, we don't like to work from the desktop. Secondly, if you have a hard disk, or even a floppy, that has many levels of folders, it can get to be a real bear finding your way around. You can do a lot of mouse punching. As I said above, Findswell, once it has located a document (Findswell actually finds any- thing on a disk - document or application, etc.), positions the selection pointer in the proper folder for immediate opening. We have some files that are as far as 9 to 10 folders or more deep. As you can see, a lot of time can be saved by automatic pointer location. Findswell, once placed in the system folder, inserts an addi- tional box in the "Open" dialog box. When Findswell is selected another dialog box is opened where you type all or part of the name of the document desired. Options are - All, Full Name, First Part, Stop, Open and Done. When the located document is displayed at the top of the dialog box the entire path as well as the full name is shown, date and time of its last modification, its size and the program that created it. The document can then be opened from the open button or the box closed and the applica- tion Open function activated and the pointer is immediately in the proper folder. Documents that you fre- quently use and folder names can be remembered by Findswell. Each time you use Findswell these remembered names will appear and can be opened with the normal double click. For those of you who do not have Find File (older Macintosh) I would certainly recommend considering Findswell. And, if you use a hard disk as heavily as we do, then I would recommend Findswell, even if you already have Find File. A staff review. EOF FOR THOSE WHO NEED TO KNOW 68 MICRO JOURNAL TMl J 66 Micro Journal March '88 39 jjggrg Comer U^e JKrcr Wfytn Gltmtributara Mtti Jfe* ATARI ST 68000 COMPUTERS Dale E. Randall 1270 Dew Drop Lane Florissant. MO. 63031 INTRODUCTION THE HELIX Like many other computer hobbyists, my first home com- puter experience was with a SWTPC 6800 kit. I purchased it In 1976. This machine started out as three memory board. 12K machine. I used a Micro-Term ACT I. TV terminal which dis- played 16 lines by 64 upper- case characters. I made my own 300 Baud "Kansas City" tape cassette Interface. The 8K Basic took at least ten minutes to load. I developed my own 6800 Editor/ Assembler and a power- ful but slow 12K Basic Inter- preter. This was all done, using a Radio Shack stereo tape deck. I even had a Teletype KSR 35 with punched tape reader and tape punch. I also developed my own 256x256 bit graphics 8K memory board. I redesigned the tape cassette Interface to work at 2400 baud. The terminal and TV set was replaced with a Digi- tal Research ZRT 80 CRTTermi- nal board and Zenith green screen. The Teletype was re- placed by a unl-dlrectlonal Centronics 737 dot matrix printer, This eventually evolved Into a full 48K system, which needed a 10 amp power supply to avoid a "brown out", when our home central air condi- tioner turned on. The SWTPC 6800 machine was finally re- tired and replaced with a HELIX 6809. with FLEX. In the fall or 1983. The HELDC was a vast im- provement. It had 256K of bank switched DRAM memory, a 35 amp regulated power supply, a 360K floppy disk drive with DMA. a 6809 2.5 MHZ proces- sor, plus compatibility with the old SWTPC machine. The extra memory above 56K became a RAM disk. By now. as you probably have suspected, my hobby is with both hardware and software. As an engineer. I could have afforded to buy eve- rything already designed and built, but I have a lot of fun doing my own Interfacing and writing the software for it. The HELIX, with It's com- patible S64 and S30 buses, was "enhanced" with some of the old S50 and S30 boards from the SWTPC system. I designed a homemade A/D Joystick board and a software controlled baud rate board. The printer was replaced with an Epson FX-80 bl-dlrectional dot matrix printer. Later. I purchased and adapted the COCO OS9 level 1. to work in the Helix, which also used the extra memory for a RAM disk. I upgraded the 256K memory board to 1 Megabyte. Two more half size floppy drives were added. I wrote my own eprom monitor. The B com- mand automatically "boots" ei- ther the FLEX or OS9 system disks. In either case, the entire operating system, with all of the utility commands, are loaded into the RAM disk. This allows commands to be almost "in- stantaneous". This system was soon "supplemented" with an ATARI 520ST 68000 system in the fall of 1985. THE ATARI ST The 520ST had 512K of memory, a color RGB analog monitor, TOS in RAM. a GEM Desktop, a two button mouse with extra Joystick port, a 64K cartridge slot, an RS-232 serial Interface, an IBM parallel printer interface, a MIDI inter- face, hard disk Interface, and a single sided 360K 3.5" external disk drive. This was called a "Color Mac". The system was supplied with Logo. Basic, First Word, and Neochrome and the price was under $10001 Soon the TOS in ROM became avail- able for $30, and was Installed. This 192K operating system now boots up In a few seconds, without even needing a floppy disk. Many command shells are available. This allows us old timers to use either the stan- dard mouse or the old familiar MS-DOS command line. 40 Much SO 68 Mcro Journal IBM MS-DOS CAPABILTT Now the amazing thing, that I found out. was that the ST uses the MS-DOS disk directoiy structure. It Is "IBM compat- ible". 1 soon added an external 5 1/4" 360K drive. I spliced an ATARI 14 pin cable to a stan- dard 34 pin flat lead cable and added it as drive B:. The "select" pull-up resistor had to be dis- connected so that the ST could select it. My drive requires a "poke" to change the drive step rate from 3 to 6 milliseconds. I now have a machine that allows me to take IBM floppy disks home from work. I can edit IBM ASCII files at home. Both the IBM and ST store CR/LF char- acters at the end of each line. They both also allow TAB char- acters to be used. We wrote a FORMAT utility, that elimi- nated the need to foimat the disks on the IBM. Soon, with the aid of ATARI'S programmers develop- ment package, I was able to port my own Editor and Basic inter- preter over from the HELIX to the ST. via RS-232. I have ex- panded the ST memoiy to 1 meg. I added an ATARI SH204 hard disk drive. The drive is really a standard 20 meg with an Adaptec controller. I parti- tioned it into C:. D:. and E: directories. The PC-DITTO pro- gram which emulates the IBM PC/Xr 8088 system, allows most of the IBM software disks to be inserted, and run directly on the ST. It even allows the user to boot up drive C: as an XT. and dilve D: as an ST. The emulation speed, with the 68000. Is about half as fast as a PC/Xr. but the best of both worlds are usable on one ma- chine. The ST easily emulates the IBM color or monochrome boards with its 80 column, low resolution. 200 by 320. eight color system. The ST has more capability with eight levels for each color. CPM 80 CAPABILITY The GENIE bulletin board system, that is available in all major cities, has very low eve- ning rates. There are over 8000 public domain CPM 80 files that are available on this system. There Is a public domain CPM 80 emulator for the ST. that runs as fast as an actual 2 MHZ Z80 system. MACINTOSH CAPABILTY There Is now available a "Magic Sac" cartridge that plugs Into any 520ST. 1040ST.MEGA ST2. or ST4 cartridge slot. It allows the user to throw away his old Mac and use the Mac ROMs in the ST. It runs most of the Macintosh programs, with a wider screen and graphics reso- lution. The increased ST mem- ory allows the Macintosh oper- ating system software to be put In RAM disk. There Is a dramatic Improvement In speed, because the system software doesn't have to reside on the user's disk. MAC owners are amazed to see their old familiar software run on the ST. without any modifications. A hardware Interface allows the SI" floppy disk to operate with either a It's Macintosh type diskcontroller, or with the stan- dard 1772 controller in the ST. This eliminates the need to convert Macintosh formatted disks to ST formatted disks via RS-232. ST SOFTWARE AVAILABILITY Many thousands of public domain files are free for the cost of the time to download them from bulletin board systems. GENIE has over 5000 ST files in it's libraries. Our St. Louis ATARI computer store, has over 800 programs that can be or- dered and received In less than three days. I counted over 200 different programs "on the shelf*, for the ST and Mega ST. Many of these are games, but over one half of them are not: 5 Accounting 35Adventure Games 3 Computer Emulators 2 Databases 2 Desk Top Publishing lfiEducational 30Graphic Arts S Home Management S Language Compilers 60Misc. Games 3 Modem Terminal Emulators 5 Music Composer Players 2 Shell Debuggers 15Sports Games 3 Spreadsheets 4 Text Editors 3 word Processors CONCLUSION I encourage ST users to submit and share their ideas in this magazine. Included are some utility programs, that are written for the ST. I submit them as public domain software for others ST enthusiasts to use or modify as needed. I believe that the new ATARI MEGA ST. which has the faster "Blitter* and it's affordable cost, will become a common 68000 ma- chine. The ST has already done this, both In North America and In Europe. S8 Micro Journal Mart* '66 41 & s s 8 14 pin Din mala Ground 3 1 Index < 1 Drive o 1 1 Drive 1 s 1 Ground 7 1 out e i In * i Step 10 1 Kilt* n i Gate 13 1 Track 13 1 Protect 14 1 Read 1 1 Sid* 2 1 a 1 ATARI ST S 1/4* DRIVE CABLE — I 1 I 2 •-I 3 I 4 --I S I S — I 7 S 9 -I-- o — -I — o -110 -111 -112 -113 -o 114 o IIS -I US o 117 -> lie o US -I 120 s 121 -I 122 o 123 -) 124 e us -) 12* o 127 121 12« 130 131 132 -)- GMD 34 pin female edge connector to IBM compatible double aided double density 40 track drive. DS3 Remove Pull up Res. Set switches for DSC and IK. Reaove Term! nator. All odd pins are SND DS0 DS1 DS2 \ 133 134 ( I spade lug chassis around /* Colored Bat Drawing Program */ /* by Jeff Randall */ /• Public rr renin Soft aara */ •include "osblnd.h* extern float sqrt(); extern float sin(); lnt oontrl [ 12] , lnt In [ 128] , ptsln 1 128] . intout[128],pt*out [128], handle, vhand.chstat, wchar,alldone,paolor, asca,oldpal|16],xy[4I; /• Define HBO Information •/ lnt header[2] - (0x0000,0x0000); int data [46] - ( 0x3020, 0x2020, 0x2020, 0x2020, 0x2e20, 0x2020, 0x801e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 I; /* Define Colors •/ int palette 1 161 - I 0x0000, 0x0700, 0x0730, 0x0750, 0x0770, 0x0470, 0x0070, 0x0075 , 0x0077, 0x0057, 0x0027, 0x0007, 0x0507, 0x0707, 0x0704, 0x0702 ); static int cofset[16] - ( 0, 2, 3, 6, 4, 7, 5, 8, 9, 10, 11, 14, 12, 15, 13, 1 I; double sqin,sqout; long fhand. lchar, alphys; char decimal [20]; /* Main processing routine */ main I) ( float getfltO,- int i,l_intin[ll],l_out[57], gr_l,gr_2,gr_3,gr_4, l_ptsln[20], a,b,count,climit,cdivfac,p,q,xl,x2,xl,xi, xp,yl, y2,yp, zi, zp.zz; float xf.xr, xt.xx.yf ,yr,yy,zf ,zt; /* Start the program! */ appl_inlt (); handle«graf_handleUgr_l, *gr_2, 4gr_3, tgr_4) ; /* open workstation */ for (i - 0; i < 10; !+♦) g 1 intlnll] - 1; yy-(sln(xt) + .«*sin(3'xt)) *yf; l_intin[10] - 2; x2-xl ,- v_op»vwk(l_intin, (handle, 1 out); y2=yl; v hide c (handle) ; xl-xx+zz*p; for (1-0; i<16; *»♦) yl=yy-zz+q; oldpaltil - setcolor(i,-l); if(xl for(b-l-a; b<-a-l; b++) alldone=0; ( while (alldone =- 0) pcolor-0; < vsl_color (handle, cof set [pcolor]) ; v_clrwk (handle) ; xy(0]-xl+b; xy(l]-199-yl; xy[2]-xl*b; xyS3)-199; setpallete (oldpal) ; v_pllne (handle, 2, xy) ; chstat"bcon3tat (2) ; /* Input Hat pararaeters */ If Ichstat !- D) i crlf 0; \ b-a; promp? (*P-*) ; xi-xl+1; p-getflt (); zl»q; proin>tl*0-"); ) o= profl*>tC*XP.») ; p olor-(1.1*yf+yy)/5; xp-gotfltO; while (p lor>14) proti«>t<*YP =>"),- pcolor=pcolor-15; yp=3»tf It ; vsl color (handle, cof set [pcolor *l]) ; prompt ("2P-") ; xy(0]-x2; xy[l]-199-y2; xy[2]=xl; xy [3)-199-yl; zp-getf It ; v_pllne (handle, 2, xy) ; prompt ("Resolution (1 to 10) ") ; } a«gatflt (); > xr-l.S*3.H1593; yr»l; /* Hat done, wait for key */ xf-xx/xp; yf-yp/yr; chstat-0; zf»xr/zp; while (chstat — 0) xl-9999; chstat^bconstat (2) ; lchar m bconin(2); v_clrwk (handle) ; wchar - lchar i OxOOFF; setpallette (palette) ; /* Check for RETURN */ /* Process the PI ture */ if (wchar — OxOOOd) for(zl-0-q; zi<-q-l; zi«zi+a) ( ( alldone»l; If ((zl>-0-zp) It (zl<-zpl) ) { else zt-zi*xp/zp; zz-zi; /* Check for fun tion key Fl */ xl"Sqrt(xp*xp-zt*zt)+.S; for(xl-0-xl; xl<-xl; xl-xi+a) t if (lchar -- 0x003b0000) l xt-sqrt (xl*xi+zt*zt) *xf ; \ fhand»f create U*colorhat .neo*,0); xx-xl; if [fhand >• 0) t s I cconout (10) ; decct-0; vhand-fhand; ) 1 else /• Write header (4 bytes) •/ /• Accept Y/N response •/ iflfltwkllnctl -- 99) j fwrite (whatKi,4L, (header) ; yesnoO { int exit, yom; t negct-0; ) ) /• Write color palette (16 words) •/ else fwrite (whand, 321, (palette) ; exit - -1; while (exit < 0) if (uchar — OxOOOd) ( /* Write neo data (92 bytes) ■/ ( yom ■ bconin(2); if ( (inct-decct-negct) > ( 0) fwrite(whand,92L.idata) ; if ((yorn — 0x004e) II (yom — 0x006e)) { crlfO; fltwklinct]- -1; /' Write picture data (32000 bytes) •/ print ("No") ; exit - 0; getfx-1; ) fwrite (whand. 32000L, slptiys) ; ) ) fclose(whand) ; else if (inct < 19) alldone'l; if ((yorn — 0x0059) II (yom — 0x0079)) ( J ( ifKwchar > 0x002f) t» (wchar < > print ("Yes") ; 0x003a) ) > exit-1; 1 ( fltwk[inct]-wchar-48; /• Close the workstation. •/ } return (exit) ; inct++; cconout (wchar) ; v clsvwk (handle) ; } ) Mtpallete (oldpal) ; else /* Accept floating-point number */ ifKwchar — 0x002d) it (negct — 0) applexitl); (( (inct — 0)1 _exit (0) ; float get f HO { ( negct++; J int i.getfx, inct.negct,deact,decfnd; float vork.mfac, lnnum; fltwk[inct]«99; lnct++; /* Print strinq w/ CR C LF •/ static int fltwk|20); cconout (wchar) ; ) else print (string) cconout ('?'); char 'string; negct-0; ifKwchar — 0x002e) tt (decct — 0)) < decct-0; ( cconws(string); inct-0; decct**; crlf I); getfx^O; fltwk[inct]-98; ) uhilelgetfx •• 0) ( inct++; cconout (wchar) ; /• Print string (no CR/LF) •/ chstat-0; while (chstat — 0) ) ) proof*, (string) chstat-bconstat (2) ; ) char 'string; lchar - bconin(2); decfnd-0; ( wchar • lchar i OxOOFF; innum*0; c conns (string) ; if ((wchar — 0x0008) it (inct > 0)) rofac • 10; } ( cconout (8) ; for(i«0; Kinct; i++) ( /* Output CR/LF to screen */ ccoiout (32) ; cconout (8) ; iflfltwkli] — 98) ( crlf () inct-; if (fltwklinct) -- 98) decfnd = 1; ) cconout (13) ; { •Is* s I o i f s if (flf.wkfi) < 10) ( if tdtecfod -- 0) ( innum»innum*10.0; i nnum» innun* f ltwk [ i ] ; ) else ( work-fltwkUI; work»work/rafac; innum>innum+work; mfac««fac * 10.0; I ) I iffnegct — 1) innum = -innun»; return (innum) ; ) /* 40 Track Format program •/ /* by V /* JafCray Kaodall */ I include (include 'define. h" \>»bind.h" int contri;i2],intin[128],ptsin[128],intout[128],ptsout [128J, error, errcnt, tiandle.gr l,gr_Z,gr_3,gr_4, i, l_intin [11], l_out 1 57], t.chr, type-1, flag-0; long amount, filler, serrtO»l,magic-0x97654321; cliar buffer [10000]; malnO ( appl_init ; handle - graf_handle (lgr_l, Sgr_2, *gr_3, *gr_4) ; for(i-0;i<10;l++) l_intin{i)-l; l_intln[10)»2; v_opnwk(l_int in, (handle, l_out) ; v_hide_c(hai>dle); v_clrwk (handle) ; Cconout (27) ; Cconout (69) ; error ■ puts!" error ■ putsl* error ■ puts!" error » puts!" Cconout (10) ; error - puts!" Format 4 Ver 1.0 »•) by Jeff Randall •") This program will format an*) , error - pita(* IBM 40 track DSDO disk in drive Bl"); error ■ put-(* Press *Y" to format"); error - puts(" or any other key to abort!"); while (8constat(2) 1- 0) chr=Bconin (2) ; chr-Bconin (2) ; if (chr -- ■»• I chr — »y' ) ( Cconout (13) ; Cconout (10) ; error ■ print f(* I"); Cconout (13) ; for(t«0; (t<40) ( (errcnt < 5); t + + ) ( error - printf (*!"); error ■ 1; errcnt ■ 0; while ((error ! = 0) ( (errcnt < 5)) { error ■ Flopfmt ((buffer, filler, 1, 9, t, 0,1, magic, OxESES) ; errcnt - errcnt ♦ 1; ) if (errcnt < 5) ( error ■ 1; errcnt - 0; while ((error !- 0) ( (errcnt <5>) ( error - Flopfmt {(buffer, filler, 1,9, t, 1, 1, magic, 0xESE5) ; errcnt ■ errcnt + 1; ) for(t«0; t if (errcnt > 4) < printf ("\nError l%d Format ABORTED !", error) ; } ) Cconout (13) ; Cconout (10) ; if (chr = **' I chr — 'y* ) ( error ■ puts ('Press any key to return to desktop"), chr-Bconin(2) ; I vcisvwk (handle) ; appl_exit ; exit(0) ; TIL SPOOL. S Spooler Prograa for AJARI ST * Public Domain • * The SPOOL. TTP program accepts a parameter number * of 1 to 999. This number is the number of Kbytes that * it reserves in memory to buffer all characters that are * sent to the printer via the BIOS Bconout function. * The default value for a zero value is 50 (K) . Then the * program terminates and stays resident, until the system * is rebooted. If the buffer becomes full and the printer * is not ready for 30 seconds, then a printer not-ready * status is returned. PRN BQU PRINTER OUTPUT DEVICE GEHDOS EQU 1 BCONOUT EQU 3 CONSOLE CHAR OUTPUT SETEXBC EQU 5 SET EXCEPTION VECTOR CONSTAT EQU 8 CONSOIZ OUTPUT STATUS WPINT EQU 13 WP INTERRUPT INSTALIED BIOS EQU 13 ST BIOS TRAP 13 XBIOS £QU 14 ST XBIOS TRAP 14 ISRB EQU 16 INTERRUPT SERVICE REG B TIMEOUT EQU 30 30 SECONDS TIMEOUT KEEP EQU $31 HOLD RESIDENT PROGRAM SAVPTR EQU S4A2 BIOS SAVE AREA/REGISTER HZ 200 EQU $4BA 200 HZ COUNTER KFP EQU SFFFA01 MfP 68901 PSG EQU SFF8800 PSG YM 2149 .TEXT SPOOL MOVEA.L MOVE.L ADD.L ADD.L ADD.L MOVEQ MOVEQ LEA NEXTCHR MOVE. B SUBI.B BMI CJPI.B BGT MULU ADD.W CW.L BLO EXIT TST.W BNE HJVE .« EXT.L MOVEQ LSL.L ,D6 ,D6 OK 4(A7),A0 1256,06 12{A0),D6 20 (AO) , 28 (A0), 10, D7 10, DO 129 MDVE.B Dl,2(»2) OUTPUT A BYTE TRAP IXBIOS PRINTER INTERRUPT ENABLED MOVE.B 114, (A2) PORT A AODO.L 18, Al MOVE.B (A2),D0 cia.w -(AT) ANDI.B ISDF.DO STROBE LOW MOVE.L D6,-(A7] NUMBER OT BYTES MOVE.B O0,2(A2) MOVE.W IKEEP,-(A7) TERMINATE AND STAY RESIDENT ORI.B l$20,D0 STROBE HIGH TRAP IGEMDOS MDVE.B MOVEQ DD.2IA2) 1-1, DO OK ■ NEW TRAP 113 ROUTINE RTS TRAP 13 MDVEA.L A7,A2 MARX SSP INBUEF MOVE.L TAIL(A0),D2 INCREMENT WRITE POINTER BTST 15, |A7) SUPE VISOR CALL? BSR WRAP BNE SUPER CMP.L HEA0(A0),D2 BUFFER FULL? MOVE USP.A2 NO, USE USER STACK POINTER BEO BUFFO LL SUBQ.W I6.A2 INBUF1 MOVEA.L (A0),A1 NO, BUFFER ADDRESS SUPER CMPI.W I8C0N0UT,6(A2> BCONOUT CALL? MOVE.B D1,(A1,D2.L) WRITE CHAR TO BUFFER BNE NORMAL MOVE.L D2, TAIL (AD) NEW TAIL INDEX cmpi.w IPRN,8(A2) PRINTER CA[L? MOVEQ 1-1, DO OK BNE NORMAL RTS M0V8A.L SAVPTR, Al MOVE.W (A7)+,-I.W IPRN, 81A2) BSR GETPTR GET POINTERS BNE N0RM1 MOVE.L READ (AO), 02 MOVEQ 1-1,00 STATUS OK CMP.L TAIL (AD), 02 BUFFER EMPTY? BSR.W CETPTR GET POINTER BEO EMPTY MOVE.L TAIL(A0),D2 BSR WRAP NO, BUMF READ POINTER BSR WRAP MDVEA.L (A0),A2 GET BUFFER ADDRESS CMP.L HEAD(A0),D2 ROOM IN BUFFER? MOVE.B (A2,D2.L),D1 GET CHAR FROM BUFFER BNE ROOM YES BSR NOTBUSY OUTPUT TO PRINTER MOVEQ to, 00 NO, BUSY, NO ROOM MOVE.L 02. HEAD (AO) NEW READ POSITION ROOM RTE EMPTY 8CLR 10, ISRB(Al) CLEAR SERVICE BIT MOVEM.L (A7I*,D0-D2/A0-A2 RESTORE NORM MDVEA.L JMP TRAPSVE, AO (AO) TO OLD TRAP #13 RTE GETPTR LEA IOREC,AD LEA MFP,A1 RTS rtRAP ADDO.L 11,02 CMP.L LEN(A0),D2 BIO NOWRAP H0V2Q 10,02 NOWRAP RTS .DATA .BSS TRAPSVE DS.L BUF EQU BUFEBR FILE RECORD PTR POINTER TO NEXT POS. END OF BUFFER? YES, START AT TOP .TEXT IOREC DC.L BUF BUFFER ADDRESS LENGTH DC.L 1 BUFFER SIZE DC.L WRITE INDEX DC.L READ INDEX BUFFER EQU IOREC BUFFER ADDRESS LEN EQU A IOREC BUFFER LENGTH HEAD EQU 8 IOREC WRITE PTR TAIL EQU 12 IOREC READ PTR TRAPI13 VECTOR SAVE START OF BUFFER ME^RY .TTL SLOM.S D.E. Randall PUBLIC OCMMM SETS ST OR MEGA ST DRIVE B: STEP RATE = 6 MILLISECONDS PUT SLOW.PRG IN AUTO FOLDER SlOW MOVE.L JSTACK,SP USER STACK AREA cir.l A6 A6 = SSR SMOOE SUPERVISOR MOOE CMP #3,INMEGA(A6) KEGA TOS IN ROM? BNE NOTl ci a INMEGA ( A6) 6 MSEC STEP RATE BRA EXIT FOR DRIVE 8 NOT1 CMP #3, INROMIA6) ST TOS IN ROM? BNE NOT2 CIR INROM1A6) 6 MSEC STEP RATE BRA EXIT FOR DRIVE B NOT2 CMP I3,INRAM(A6) ST TOS IN RAM? BNE EXIT CIR INRAMIA6) 6 MSEC STEP RATE EXIT BSR UMODE USER MOOE CIR -{SP) PtetmO TRAP IGEMDOS RETURN TO SYSTEM SMODE CLR.L DO IDOD£ MOVE.L DC,-(SP) SYSTEM STACK PTR MOVE ISupei, - (SP) TRAP IGEMDOS USER MOOE ADD.L 16, SP RTS .BSS DS 252 STACK : DS 4 -END GEMDOS EQU 1 TRAP 11 Super EQU 32 GEMOOS SUPERVISOR MOOE INMEGA EQU SA52 INROM EQU SAOC INRAM EQU S6CE FOR THOSE WH 68 MICRO JOURNAL TM Bit-Bucket By: All of us XoMTibiU Tfrthing ■ -Eigxct O^ptfting', DMW '86 1708 Piedmont St. Jackson, MS 39202 26 December 1987 Editor 68 Micro Journal Hixson. TN 37343 Deo Mr. Williams: Please find enclosed a 5" Flex disk SSSD, which contains a file named Index87.txt. This is the 1987 Key Word Index for 68 Micro Journal which has now became an annu al holiday tradition for me. As you will remember, this index uses key words to facilitate searches for a specific topic or article, using a utility such as Leo Taylor's Find.cmd. You may publish it. use it. or distribute it as you see fit I hope you Ftnd it as useful as I have over the years. I must confess to having been templed by "other brands" this past year, but have not succumbed. I did upgrade my 6809 system to 2 mhz and added a ram disk from D. P. Johnson. Now my system is so blaztngly fast that I guess I would have to gel an AT with hard disk to equal its speed. It looks like I'll be a 6809 Flex single user for some lime to come. Sincerely, John D. Current JAN 87 PS ANDERSON USER NOTES BURNOUT PROGRAM ORGANIZATION UOYD IO ED CRACKER CRASMB JAN 87 P12 PASS C USER NOTES PROPOSED ANSI STANDARD HEADER FILES MATHEMATICAL FUNCTIONS B+ TREE LISTING JAN 87 PI8 VOIGTS BASIC OS9 COLUMN RESERVING MEMORY RMB DEVICES KBASIC LISTING JAN 87 P21 GROSS ARTICLE MOIOROLA I A YOUT DESIGN VLSI CRITICAL PATH METHOD CPM CAD JAN 87 P25 VOIGTS DESCRIBES BASIC09 TOOLS OS9 FUNC- TIONS COMPILER WARNINGS PARSE CHARACTER STRINGS C LISTING MAR 87 P18 VOIGTS BASIC OS9 PIPES WORD WRAPAROUND WRAP.C USnNG MAR 87 P22 MACINTOSH SECTION SPELI SWELL SPELLING CHECKER MAR 87 P25 LURIE FORTH TUTORIA L ANSI GRAPHICS ESC SEQUENCES FORTH LISTING MAR 87 P29 BAUTSKI ARTTCLE BUILD AN RS232 BREAKOUT BOX MAR 87 P36 CURRENT ARTICLE 1986 KEY WORD INDEX TO 68 MICRO JOURNAL MAR 87 P40 TAYLOR HIER UNIX LUCE UTJUTIES CONT. C LISTINGS MAR 87 P42 JONES LETTER TSC XBASIC MAX LINE LENGTH RANDOM FILES MAR 87 P44 DREXLER ARTICLE REALTIME CLOCK FOR FLEX MSMS832 PIA ITMECMD 6809 ASSEMBLY LISTING SCHEMATIC APR 87 P8 PASS C USER NOTES ANSI C STANDARD IMPLEMEN- TATION SPECIFIC DEPENDENCIES ENUMERATED DATA TYPES C LISTING APR 87 P14 VOIG1S BASIC OS9 BASIC09 HUNT USING DISK HIERARC1IY AND INTEGRITY CHECKER HCHECK BASIC09 LISTING APR 87 P19 S1RAUB ARTICLE INTERFACING MC68881 FPCP WITH MC6809 CPU SCHEMATIC PL9 LISTING APR 87 P25 LURIE FORTH TUTORIAL NULL MODEM FILE TRANSFER FORTH LISTING APR 87 P2« WILLIAMS RAMBLINGS OS9 VERSIONS "PAKS" MUSTANG08 FLEX ON 68000 OS9 ARCHIVE APR 87 P37 MACINTOSH SECTION BATTERY PAK DESK ACCESSORIES APR 87 P38 STAFF REVIEW SIM68K 68000/680 10 SIMULATOR FOR IBM PC APR 87 P39 WO.LER REVIEW XDMS DBMS DATA BASE MAN- AGEMENT WESTCHESTER APPLIED BUSINESS SYSTEMS APR 87 P41 LAVOREL FLEX UTILITY LOCCMD FTND A SE- QUENCE OF BYTES IN BINARY FILE 6809 ASSEMBLY LISTING APR 87 P45 TAYLOR HIER UNIX LIKE l/nUTTES CONT. 6809 ASSEMBLY LISTING APR 87 P47 BURLINSON LETTER BUGS BASED!! AFHX.CMD ON UNIBOARDSBC APR 87 P47 WILLS LETTER FIX FOR TSC PR.CMD ADD CONTINU- OUS COMMAND LINE BUFFER 6809 ASSEMBLY LANGUAGE APR 87 P49 MOIOROLA ANNOUNCES M68HC05EVM 6805 EVALUATION KIT MAY 87 P8 PASS C USER NOTES COMMAND LINE PROCESSING COMMA OPERATOR TOWER OF HANOI GAME C LISTING MAY 87 P14 VOIGTS BASIC OS9 DOCUMENTATION STANDARDS USTC LISTING MAY 87 PI9 ANDERSON USER NOTES WINDRUSH PLUS 68000 COMPILER PL9 LIBRARY BUG AUTOCAD CONE VOLUME BASIC LISTING MAY 87 P22 LURIE FORTH TUTORIA L VIRTUAL MEMORY STRING CONSTANTS LTTERALS BOOK REVIEW MAY 87 P26 WELLER REVIEW SOFTOOLS FLEX U7TL1TES WRTTTEN IN PL9 SOFTWARE TOOLS MAY 87 P29 JONES ARTICLE TSC XBASIC EXPLAINED TOKEN HASHING TABLES ERROR MESSAGES STOP RND LIST MAY 87 P45 KING ARTICLE SERIAL COMMUNICATION MOTOR- OLA SPI SO 6805 MASTER SLAVE SCHEMATICS MAY 87 PSO MACTNTOS H SECTION STRIPPER CAUZTN SOFISTRIP SYSTEM JUN 87 P8 PASS C USER NOTES C USERS GROUP ROUNDOFF ERRORS CONVERT ASSEMBLER EQUATE FILES TO C LISTING JUN 87 P14 VOIGTS BASIC OS9 MACROS IN ASSEMBLERS EDITORS AND C JUN 87 P19 ANDERSON USER NOTES WINDRUSH PLUS FOR 68000 PL9 PAT BUG STANDARDS OMEGASOFT PASCAL JUN 87 P23 MACINTOSH SECTION 512K RAM MEMORY UP- GRADE SCHEMATIC JUN 87 P25 LURIE FORTH TUTORIA L STACKS JUN 87 P28 STAFF REVIEW URDA P68000 MICROLAB NOTEBOOK COMPUTER 66 Micro Journal March '88 49 JUN 87 P38 PASS REVIEW ED 68000 TEXT EDITOR JUN 87 P40 JONES ARTICLE TSC X BASIC EXPLAINED XPC PRECOMPII.ER XBASIC BUG CHAIN INT ASC VAL CHRJ STRS JUN 87 P49 MOTOROLA ANNOUNCES HIE MC68606 MULTT LINK LAPD CONTROLLER JUN 87 PSI DREXLER LETTER BUG ITX TIME CMD (APR 87) REAL TIME CLOCK 6809 ASSEMBLY LISTING JUL 87 P8 PASS C USER NOTES CONVERT TSC XBASIC ID C XPC COMPARE TWO FILES C LISTING JUL 87 PI3 VOIGTS BASIC OS9 DIRECTORIES INPUT BUFFER PROMPTED COPY PCOPY BASIC09 LISTING JUL 87 PI8 MACINTOSH SECITON MACUGHTNING SPELLING CHECKER DICIIONARY THESAURUS JUL87P2I LURIE FORTH TUTOR1A L 6S20 682 1 PI A PARALLEL INTERFACE ADAPTER SWTPC MPLA 10 FORTH LISTING JUL 87 P2S WILLIAMS RAMB LINGS BOOK REVIEWS 68000 SYTEMS BY WILCOX MICROPROCESSOR SYSrEMS BY WIST A MEIKSIN COCO m JUL 87 P28 STAFF REVIEW BARTON LABS LAB6809 SSS0 CPU PROTOTYWN G PICOBUG MONITOR JUL 87 P38 RECMTLLER PASCAL TUTORIAL CERTIFIED SOFIWARE CONVERT MICROWARE TO OMEGASOFr ASSEM- BLER FILTER PASCAL LISTING JUL 87 P4I LAVOREL PROGRAM PRICOLBAS COLUMN PRINTING TSC XBASIC LISTING EPSON MX80 JUL 87 P43 JONES XBASIC EXPLAINED NUMBER BASE CONVERSIONS INPUT INPVTUNE LSET RSET OVERFLOW BUG FIX AUG 87 P8 PASS C USER NOTES CONVERT BASIC TO C TSC XBASIC MICROWARE BASIC09 PAGINATE LIST OF FILES C LISTING AUG 87 PI4 VOIGTS BASIC OS9 SHELL CUSTOMIZING INPUT LINES BUILT IN COMMANDS DOUBLE STRIKE C LISTING AUG 87 PI9 MACINTOSH SECTION PAGE LAYOUT WORD PROCESSING READY SET GO AUG 87 P21 LURIE FORTH TXdORIAL UTTUTIES QX QUICK INDEX QLCOMPACT LIST FORTH LISTINGS AUG 87 P25 REIMILLER PASCAL TUTORIAL OMEGASOFr EDITOR COMMANDS LINKAGE CREATOR COMPILER DEBUG- GER AUG 87 P28 JONES TUIORIA L ON DESIGN OF DIGITAL CONTROL CIRCUITS BOOLEAN LOGIC SYMBOLS AUG 87 P42 JONES XBASIC EXPLAINED AND OR NOT SPIJT- TTNG OFF INSTRUCTIONS AUG 87 P46 GREGORIE ARTICLE PL9 INTERFACE FOR ISAM DOCUMENTATION AUG 87 P52 WILSON LETTER SHELL SORT 68000 ASSEMBLY LISTING SEP 87 n PASS C USER NOTES CONVIIRT BASIC TO C FILES OS9 MICROWARE C JUST BUG PL9 LISTING SEP 87 P20 LURIE FORT H TUTORJA L CLEAR DISK COMMAND LINE ARGUMENTS PARSING FORTH LISTING SEP 87 P22 JONES ARTICLE MATHEMATICAL DESIGN OF DIGITAL CONTROL CIRCUITS BOOLEAN ALGEBRA SEP 87 P38 EPROM EMULATTON FOR THE SSS0 BUSS SCHE- MATICS 6809 ASSEMBLY LISTING SEP 87 P42 LAW MAdNTOS II SECTION DOUG CLAPP'S WORD TOOLS COUNT SORT SEP 87 P44 JONES XBASIC EXPLAINED SPEED AND SHORTEN PROGRAMS OCT 87 P7 VOIGTS BASIC OS9 FILE ERRORS CRC VERIFY DATE C LISTING GETOPT OCT 87 P12 PASS C USER NOTES CONVERTING BASIC TO C TABLE OF EQUIVALENTS STATEMENTS ECHO C LISTING OCT 87 PI8 ANDERSON USER NOTES PLUS PATOS68K FILE READ WRITE PORT PLUS TO SKDOS OCT 87 P2I GROVES ARTICLE PASSWORD CHANGE OS9 BASIC09 LISTING OCT 87 P26 WILLIAMS RAMBUNGS VAPORFACIS DESKTOP PUBLISHING OCT 87 P28 ANCHOR MACINTOSH SECTION DARX CASTLE GAME OCT 87 P38 KDXORAN ARTICLE TEXT HACKING COGNITIVE ENGINE CORP MU MACROPROCTlSSOR OCT 87 P40 JONES ARTICLE MATHEMATICAL DESIGN OF DIGITAL CONTROL CIRCUITS BINARY NUMBERS KARNAUGH MAP VEITCH DIAGRAMS OCT 87 P47 REIMILLER PASCAL TUTORIAL OMEGASOFr DEBUGGER OCT 87 P50 ANNOUNCEMENT GESCOMP GESPAC G64 MICRO- COMPUTER SYSTEM OCT 87 PS2 JONES XBASIC EXPLAINED MAX LINE LENGTH RANDOM FILES RBASIC NOV 87 P7 PASS C USER NOTES RCFER£NCES BOOK REVIEWS EXT R ACT STRINGS C LISTING NOV 87 P12 VOIGTS BASIC OS9 MODUt£ DIRECTORY SYSCALL MDIR LINK GETMODDIR BASIC09 LISTING NOV 87 PI6 WEST ARTICLE 68XXX BOARDS ON THE SID BUSS NOV 87 PI9 JONES ARTICLE DIGITAL CONTROL DTRCVrTS JMPLICANT CONTRADICTION AMBIGUITY COMBINATIONAL NOV 87 P2S AI.1AN ARTICLE CONVERT IBM XT KEYBOARD TO REPLACE CT82 SCHEMATIC 6805 ASSEMBLY LISTING NOV 87 P40 LAW MAdNTOS II SECIION CLIP ART WET ART WET PAINT HYPERCARD MULT1FINDER NOV 87 P42 REIMILLER PASCAL TUIORIA L €XTERNAL PROCEDURE OR FUNCITON CALLS VALIDATE PASCAL LISTING NOV 87 P45 LURIE FORTH TUTORIA L FIG FORTH INSTALLA- TION FLOORED MATT! CASE EXECUTION TIMES NOV 87 P48 CONDON ARTICLE BUILD THE GT4 GRAPHICS TERMIN AL SCHEMATIC NOV 87 P53 GREGORIE PL9 INTERf ACE FOR THE ISAM CONT. LISTING DEC 87 P7 PASS C USER NOTES PUBLIC DOMAIN PORTABLE MATH LIBRARY BY FRED FISH C LISTING MAC2UNIXC DEC 87 PI2 VOIGTS BASIC OS9 PASCAL P CODE SIMULTANE- OUS EQUATION SOLUTION BY CRAMER'S RULE PASCAL LISTING DEC 87 P17 JONES ARTICLE DIGTrAL CONTROL CIRCUITS SEQUENTIAL FLOW TABLE RELAY OSCILLATOR DEC 87 P23 MACINTOSH SECTION YIP TRANS LATORS FOR UGITISPEED C OR PASCAL LISTING DEC 87 P37 WEST ARTICLE 68XXX AND IHE STD BUSS CPU CARDS 2681 DUART SS30 DEC 87 P40 LURIE FORTH TUTORIAL MODULAR PROGRAM • MING WORD NAMES FILE COPY UTILITY FOR IH LISTING DEC 87 P44 CONDON ARTICLE BUILD GT4 GRAPHIC TERMIN AL SOFTWARE CONTROL FUNCTIONS DEC 87 P48 BABIN ARTICLE LCD DRIVER WITH SERIAL INTERFACE CON IRAST VS VOLTAGE DEC 87 P52 BILL WEST ANNOUNCES STD BUSS PRODUCTS STD020 STDZS STD08R 68020 68008 DEC 87 P53 MOTOROLA ANNOUNCES MC68HC05L6 MC68IICII MQS86Q6 MC68030 VME MVME374 MICRgNICS GIMIV Sate*. Stt^uf «nJ Support 1JM)LYNSA\fcNUE. ABBOTSFORD. BRITISH COLUMBIA, CANADA, MS IEJ Deoi Dc»/ So ... I was wondering if there's a Santa Claus out there somewlere, who'd niaybe be interested in loaning ■e (or better still, donating) a Macintosh, with artwork or desk-top publishing capabilities. That would make it easier for me to create neat In-line diagrams instead of hand-drawn ones, do wrap-around text, etc/ and also ease your editing burdens. Then I could plough ahead and ample te the whole series with graphics built-in, and make it available via south East Media as a tutorial disk, or disks. We could also go ahead and maybe get it our as a book, in advance of the series itself getting ccmpletedl In the meantime, for the benefit of all readers. 50 March '68 66 Micro .Journal here's a summary of significant typos up to Mile 3, excluding obvious misspelling ones, which are not important anyway. Perhaps you could print tfais list as a Bupplgnsit to one of my articles. Bile 00 Diagram 1 Vertical dotted line should join the move- able parts of the relay-con tacts. Page 41 depression at top should read Zl = yl + y2 TEST ONE Problem 2(ii) Coll should be labelled XI mic oi Page 23 Series Circuit should read O.a = Page 26 Line 6 should read ta' (b 1 + c')d'J.e 7 should read ta'Cb' + c')d*J Ulc 02 Solutions 2(a) should beY-ab + bc + abc not Yl there are two 3(e). Final one = 3 below Diagram 6(d) should read -0 — not -1 — page 45 para 3 should read One such is that as the ... next para "block of four "be" not "be" Mile 03 Solutions (viii) should be a*bc' + be'd + a*d + b»c (don't know how I came to leave off all those primes!) Sorry about all those errors. I guess if I didn't know the stuff in advance and therefore studied every dot and corona, these things would be less likely to get by roe ( but when I've spent hours oonpasing each "Mile" my eyes are probably "screen- tired*. Anyway, that's my excuse! I'll be in touch soon ... maybe with an additional chapter for "XBAS1C XPLAINTO". I have one in mind I In the meantime, best wishes for a merry Xma& to all at 6BHJ, and continued success for 1966. Don Williams i 66 Micro Journal- 5900 Cassandra Smith Road, Hixson, TN 37343 Sincerely, R. Jones President CERTIFIED SOFTWARE CORPORATION 616 Camino Caballo. Nipomo. CA 93444 USA TEL805-929-1395 TLX: 467013 FOR IMMEDIATE RELEASE Certified Software ennoiaioes the introAxiion of it's OmegaSoft 68000 Industrie* Pascal package specifically designed for the Atan ST computer with at least 1MB of memory. This version is customized for die Atari and include* a command line interpreter lor greater flexibility and ease of use compared to other programs for the Atari that are hindered by the 'desk top*. Ad Qamdos. Bios. Xbfos. Line-A graphics, and AESfvDI calls are available as proced* ae and functions. In addition, the Pascal Shell has bean modified so dial die mouse car be used for menu selection. At least a double sided floppy drive is required, a hard disk is recommended but is not required for moderate a' ied programs. The base package (PCSK-B) is priced at $290 and includes the compiler, relocatable macro assembler, linking loader, host debugger, pascal shell, acraen editor, command line interpreter (with source code), and Hie patch utility. Options available are : PCSK-R : source code for the runtime library, two PCSK-S: source code for die debugger, editor, pascal shell, and patch utility. S275 PCSK-T: target debugger with source code. $225 In West Germany, contact Byte Studio Borken (TEL: 02861-2M7), aft others contact Certified Software. Mr. Don Williams Editor 68 Micro Journal 5900 Cassandra Smllh Road Hixson. TN 37343 Dear Mr. Williams. As of last year, I am still waiting to see full coverage for 68000 based systems. Last year I said that 11 would be my last unless you expanded to include more systems like Amiga and Atari. Well, you did make a plea for Atari help so I will slick it out for one more year. I own an Amiga so I expect progress on that system this year. Your management staff is not in step enough with the product world or users, otherwise they would have advertised for Atari much sooner. I expect to see the request for Amiga support soon. 1 have been a subscriber since 1976 and would not throw away a single issue. I have always enjoyed your publication until the last two years. I still have two old 6800 and one 6809 system, so the old issues are important to me. Please make the new Issues important to my Amiga. Respectfully. Robert Hill Editor's Note: Thanks Robert for letting us know how you Jell. That is especially important to us. We have wanted to support the Atari and Amiga for sometime. However, as you probably know, there wasn't very much. (J any, serious software for them. Today things are looking up. For instance, we are pretty excited about OS-9 running on the Atari and even belter, you choice oj Personal or Projessional versions. I call that serious sojlware! Now-here is the grabber. Without adequate input, articles, hints & kinks, tutorial and hands on material, and a lot more, it won't Jlyl We need your input and the input ojjolks like yourself who are interested in tlxese systems, ifii is to work. We need volunteers willing to share their knowledge and experiences with all of us! Tlvats live way we have all been doing tljor 10 years now. Also you might note that our "Atari Call", elsewhere, has been changed to "Atari & Amiga". DMW 66 Micro Journal March SB 51 Am** lLl«*m» Tiki llftUOUU en Maory protection provides both a iMuti environment Cot development iyi(M work and a significant aid In program debugging. Ttie £ft) module provldea progra* run time? protection, protection against wild pointers and detection problems balora CPU ccnh, POfl MORE IMPOMATIC* COSfTACT : Hr. Andy Ball Vlc» Premidmnl, Marketing Ml Cf Dei ft SyltHU COfpaf*T ion i*0O nr u*th Street Das stolnea. low* 50323 tl&-H4-i929 KB TO OS-*/*""* OWUTliC 8TR61 Dai Moines, Iowa. Klcrovara lyitiM Corporation annauncaa the availability of an itherrtat Support pacisge Cor tha OS-I/6B000 Operating Syetea. Th* o*w Ethernet P«ctig# utlllaea tha popular TCP/IP protocol to facilitate i wi ill i n In i between OS-S/sOvOv-bssed systems •■ wall ■■ other operating systee environments . Tha Initial ralaaaa of Nlcroware'e it barret protocol pacha? a la designed to support tha Crrau float low Machinery Corporation (CMC) EHP- 10 Ethernet controller. ubeequent ralaaaaa to support additional hardware, Including tha Motorola Mvne 330-A-it controller, are u der development. Mlcrovers's TCP/IP Implementation conform* to tha Onlted Stetss Department of Defense ArpeUet etandard*. Thle etandard incorporates fTP {a popular (Hi tra:naCar protocol) and Telnet xi procaaaora. Od-fl le compact. ROMeble and prouldaa a OMll-etyla environment (or application aoftvare. line* Ite introduction In 1*81, C4Kv/6BO0Q hae bean llcanaad to over 3)0 masuf scturere world-wide (or uaa In a variety o( industrial scientific And consumer product!. Pounded In 19??j Mlcrowara 8yet«a» Corporation epaclsllsss In the development of advanced operating ayataaa and prog-remaino. laoguagaa. Laat year tony and Phi UP* announced th« 06-P Operating Syetea ae the basis (or Compact Dlea-lnterectl v* (OKI) M*>w Media technology. Owe Holnaa, Iowa. Mlcrowara System* Corporation aneouncaa the ralaiaa of a new c aoorca-lovel debugger for th« 0C-v/sOOQO Operating System. TMe new debugger repraaente a high-level language tool Intended to decreeae software development tie* and simplify programming. Tha C debugger contalna (eeturea comma ly (ouaO In C source-level debuggere, ae vail a* e number of unique and innovative eaten* Ions dealgnwd (or the 06 -t prograaailng environment , The Nlcrowete Ethernat eupport package IneJudae a now OS-t (lie ■aruger that eupport « a BSD 4.2 typa socket Interface and a new CMC Cfp-10 device driver. Alio included la complete dorwaajotat ion and **- daya (ree aoftvare eupport. Contact Mlcrowara. or an autborleed distributor (or pricing InCoraatloa. i OS-0/4B0M CM&AT1MC 919 Daa Molnaa, love. Mlarovara Syateaa Corporation annouoce* the releaee of a anoiy protection aodula— Byataat protection Dnlt (0*0) — (or tha Ol-t/«0C00 Operating Syeten. SPO prowldoe aoftwara newioty protection (or a Maaory Manageaant Dnlt and other cuatoa devices. Tbe SPO aodule uaea a eyat**~wlde pemlaelon ■acbanlaa to Halt MAM ipctti (or uaer atata teeke. Eardwara devlcee supported by Hlcrowaio'a 9PU aodule Include the MCd9«41, MCaBO^l and cuatoa dewlcaa. To* SPQ software le delivered ae a Modular addition to OS-v In aourco code (ora end la divided by functions Into aaparata routine* that can be aodlded to support dl((otant aaaory protection davlcaa. Ml c rover* hae designed SVQ toftvitt to be tranaparant to tha user. Only In caaaa of Illegal aaaory access attevpts — when bue arrora occur — will the uaar bacoae aware that SPO software le r eel dent . A powerful debugging tool In tha C source-level debugger lp a (ull- (eaturad C exptaaelon interpreter. The prOgr*aaer lp able to call a (unction with parameters in tha proura* being debugged. The raault can then be printed, a bcnal point aat and tha prograaaar can then atep through the (unction. This sllowa the teetloo of functions aeperetely In the prOgr**, The eiptaaelon interpreter also supports tha raw Mlcrowars C COapllar data typae and operations (enusarstors > bit fields, etructura aaelgnaant, (unctions that return structures and structure patABvters). Title prowldee (or totel coapa tlbllity between tha aourco lowal debugger and the C Coapller. Another unique feature of the debugger Is sub-line e*prseslon stepping. Yr* debugger prints e character pointing to tha expreeeioe In the aourco line that la to b* esecuted' neat. If there la sore tbas one atataoent In a line, then the debugger will atap across tha Una to the next etsieeent, Thle allowa tha progreaaar to vetch each expression se it le executed In a caaplsa C etateeent. Mlcrowara baa daalgned the debugger (or optiaua operator use. each eoaau nd contains both e short sod long (ora, and multiple ecaaunds can be aaparated by a "j" on tha eaae Una. Thie rallavaa the prograaaar froa tha redundancy o( keying lo each ccaaund t las after tlaa. In addition* frequently used commands cart be repeated simply by using the carriag* return hay. Continued on page 56 52 March "88 68 Micro Journal STYLOGRAPH WORD PROCESSING SYSTEM OS-9 LEVEL II VERSION A Review By: Bert Schneider lfyou are not using Stylograph for your word processing and text editing, then you might as well pack up your computer. Its operating system, and all of those neat utilities you have col- lected over the years and go back to play- ing games. Those are some serious words, but I mean business when It comes to the Stylograph Word Processing System. In this review. I hope to give those of you out there not blessed with the op- portunity of using any of Stylo Software's fantastic array of professional software, an overview of Stylograph. Mall Merge, and their Spelling Checker pro- grams. I must point out that this package Is for the Radio Shack Color Computer 3 and runs under Mlcroware's OS-9 Level Two operating system. Its foim. fit, and function Is Iden- tical to the familiar Level One version for the Color Computer 1 and 2 as well as the standard OS-9 Stylo- graph. The major dif- ference Is you now can handle more text, the processor Is twice as fast as the old Color Computer, you have 80 columns built Into the system, and remote terminals are supported. Having been very familiar with Level One Stylo running on my Color Computer 1 (using Wordpak from PBJ. INC.) I was anx- ious to have at least the same capability on my new Color Computer 3. 1 started working on my new system this past summer. You see my old system consisted of a 10 meg hard drive, one 40 track floppy, and all of the PBJ hardware that enabled me to do considerably more thanjust play games. This being America, and the term "new" being associated with better (so we are told from Madison Ave) I purchased a "new" Color Computer 3. an RGB monitor, and sold all of my old stuff. I am still in the proc- ess of building the expansion hardware to include two hard- ware serial ports, a parallel port, a real timeclock. anda hard drive Interface. The machine now resides In a PC case and Is much more appealing than my old walnut case that was more comparable In size to the EN1AC! Anyway. I tried to get some of the patches t o allow m e to use the old Stylo on my new found Level Two system. Fat chance! Although 1 heard of people doing it. I did not have any luck. Oh It did work, but the screen display was veiy Interesting, to say the least. Alter I had used every pro- fane word in the dic- tionary I called Roger at Stylo Software and found out about the new version. OVERVIEW Stylograph pro- vides you with one of the most powerful word processing sys- tems I have seen for a home computer sys- tem and outdoes sev- eral higher priced competitors. First and foremost. STYLO is a "What you see is what you get" full screen text editor. After every keystroke the screen is updated to reflect exactly the way the document will look like when it is printed. This means you do not have to use a text for- matter after you have finished editing your work. The screens are not user hostile. Ed- iting is cursor based. A status line Is pro- vided to keep you in- formed of column, line, page, and mode Information. Help screens are available at any time. And most commands other than format commands are en- tered from menu driven screens. For- matting Is done with comma commands and control codes. The instant you enter a format command, the text display is updated to reflect the change. For example. 68 Micro Journal March '86 53 l/you want to center a line. Just enter the following .ce THIS IS CENTERING and Immediately the text Is centered. But editing Is only one portion ofSTYLO . Since Slylograph Is a word processing 'sys- tem", you have more at your disposal than Just text editing. From the main super- visory menu you may do any of the follow- ing: edit text, print outyourtext. save the text and return toOS- 9, save your text to a predefined mark, re- turn to OS-9. load a text file, erase current memoiy buffer, pass a command to OS-9. spool a file to disk for later printing, load a proportional spacing table for daisy wheel printers, or load in or edit a text file larger than the buffer. The spool function allows you to print a file in the background. Al- though I only recom- mend this if you use a ram disk or hard drive since it Is very disk I/O intensive. MAIL MERGE Mall merge is use- ful for two reasons. The first and obvious reason for Mall Merge is to print out the same letter or form to many different desti- nations with dlirerent names and ad- dresses. The other reason for using Mail Merge Is to print out very large text Hies, larger than the buffer can handle at one time. You can even use Mail Merge in the background. SPELLING CHECKER The Stylo Spelling Checker compli- ments Stylograph and Mail Merge very well. If you have ever used a Spelling Checker this one is very straight forward. There are no fancy commands to re- member. Just type the following and away you go: OS9: spell /dl /letter After that the pro- gram takes over and compares your text file -letter" to 42.000 words and Is totally self-prompting. The main diction- ary can be manipu- lated to add or sub- tract words, and you can even develop your own personal supple- mental dictionary for pronouns and spe- cific terminology to lit your needs. SPEI.L then dis- plays to the standard output a word count, the number of differ- ent words used, and the number of mis- spelled words. All misspelled words are listed out for conven- ient reference. You are next lead through a series of questions as to what you want done with the misspelled words. You may either tgnore them, add them to the dictionary, flag them so you can search it out later, display the word In use to help you determine whether or not is was a misspelled word, change the word, or exit. There are some optional utility com- mands that allow you to compress and de- compress the diction- ary and to add and subtract words from It. An important note for all of these pro- grams is that the util- ity STYFTX is used to configure each one of these programs onto your system disk. STYLO for I^vel Two supports a re- mote terminal tied to a serial port and sup- ports windows as well. This is a big departure from the I^vel One Color Com- puter System. First, the I^evel One system did not support a ter- minal. And naturally did not support win- dows. This new ver- sion does! I could not see using a terminal without the capabil- ity to edit text from a terminal. You could use build or edit, but somehow I could not see myself writing this review using edit or build! Second. I^evel One did not come with windows. This very Important feature of the operat- ing system is sup- ported to give you a powerful software tool. Try this on some other machines. Compile a program in one window. Print out the error codes and lines in another window and then cor- rect your errors in still another window while someone else rs writing a novel on another terminal! Macintosh, eat your heart out! Some of the termi- nal drivers included (a total of 34 are pro- vided) are the ADM- 3A. Heath/Zenith HI 9. Glmlx OS9/ window. Hazeltlne 1500. DEC Vr-52. H.P. 2621. Beehive 8100. and many more. You could modify any of the drivers, or add your own using STYFIX, the configuration program. One neat feature built into this new program is a Math Package. That's right! Now you can add up your salary requirements while you edit your resume March '88 68 Micro Journal all on the same ma- chine. Just by typing "C" in the escape mode you have at your beck and call a calculator with addi- tion, subtraction, multiplication, and division capabilities. You may also operate on rows or columns of numbers. An ex- ample might look something like this: 452 135 239 111 937 Just by entering control-Z and then pressing "C" it pro- duces the total "937". You can only add or subtract In column mode however. After you have performed the operation you may go back and in- sert symbols or other text such as the fol- lowing: 452 135 339 + 11 937 WHAT YOU GET Stylo comes with one floppy disk for each program [word processor. mail merge, and spelling checker each of which are sold sepa- rately or together) and a manual chock full of information. Each disk comes with hard copy of the Read. me file located on each disk. The Read. me file de- scribes the disk con- tents and how to get started along with some helpful notes. On each disk Is the readme lile. an Instal- lation program [to make it easier to In- stall), a history file explaining correc- tions and modifica- tions, a STY directory containing configura- tion files, help files, and a couple of sample letters. The CMOS directory obvi- ously contains the program and STYFIX - the configuration program. The manual In- cludes an Introduc- tion and overview, a hands-on tutorial. specific mode and command explana- tions, and the OS-9 configuration. Sev- eral appendices are attached to help pro- vide information on control and format commands, terminal and printer configu- rations, character modification codes, and Information for changing text con- slants. A glossary Is also Included to help you understand wordprocesslng and computer lingo. Now since 1 have used Stylo before. I needed little Intro- duction and Instruc- tion on the use of this program. I did how- ever go through the entire manual along with Its lessons. The manual is laid out very well and Is straight forward, ll provides the reader with Just the right information at the right time but does give you more than enough Information required to configure a terminal/ printer, understand control codes and error mes- sages, in a concise format in the appen- dices. CLOSING REMARKS On closing. I only want to say that I don't have any nega- tive comments about STYLO SOFTWARE'S products. Their soft- ware is top notch, their documentation is the finest, and their support can't be beat. I can say this. I can type well between 60 and 70 words a min- ute with few errors (touch typing) and Stylo keeps up with me without failure. There Is only one product that 1 would recommend more than Stylograph and that is OS-9 itself!! So If you are a Color Computer 3 owner and either have OS-9 or are thinking about gel- ling it. purchase Sty- lograph. You will save so much time and effort, you won't settle for anything less. Stylograph. Mall Merge, and Spelling Checker are available from: Available from : Southeast Media 5900 Cassandra Smith Rd. Hixson. TN 37343 1-615-842-4600 FOR THOSE WH 68 MICRO JOURNAL™' 68 Micro Journal Mart* 88 55 Continued from page 52 Th« fttow option* — In «ddltlflo to tit* •or» tuMiaaiitil Euturta autro O oe-llna balp* trtclOQ, biciL points. w»tc*i •«pr»»«loo» and varrlabL* dlaplay/cA*»9* (acil lti»a- -*** • tbla nwv Ucrwm C Muro^livil dabunvr • pCMartul programing tool. TV* 4*bu?9a r Dot only ■ p*a4a proflraa davaiooaaant , but a»*h*a C laoguaa* prOOrMln? a tool that oaa b» utlliaa* by nrcphrti prooraMMra. Tb« O*-* Oparatlno srataa la a taal-tlaw, vultl-uaar and suit L-taafclno. •yata* (or ctaapotata baatrt on tha Motorola (uUr of tat tit procaaaora. Q*-» la cwfuet. HOHabla and provldea a tmik*-atyla anvlronownt (or application aoEtvar*. Sloe* ita Introduction in 1qb3, 001-9/66000 Kaa b**n Uc«ftM« to owar ISO unuC acturara votld-«14a Cor ua* la a ▼arlaty of ln*iuat«*al • aelantlflo aod oonauaar product ■. ATARI & AMIGA CALL As most of you know, we are very sensitive to your wishes, as concerns ihe contents of these pages. One of the things that many of you have repeatedly written or called about is coverage for the Atari & Amiga™ series of 68000 computers. Actually we haven't been too keen on those systems due to a lack of serious software. They were mainiy expensive "game-toy" systems. However, recently we are seeing more and more honest-to -goodness serious soft- ware for the Atari & Amiga machines. That makes a differ- ence. I feel that we are ready to start some serious looking into a section for the Atari & Amiga computers. Especially sosinceOS-9 is now running on the Atari (review copy on the way forevaluation and report to you) and rumored for the Amiga. Many of you are doing all kinds of interesting things on these systems. By sharing we all benefit. This I must stress - Input from you on the Atari & Amiga. As most of you are aware, we are a "contributor supported" magazine. That means that YOU have to do your part, which is the way It has been for over 10 years. We need articles, tech- nical, reviews of hardware and software, pro- gramming (all languages) and the many other fac- ets of support that we have pursued for these many years. Also I will need several to volunteer to do regular columns on the Atari & Amiga systems. Without constant Input we can't make it fly! So, if you do your part, we certainly will do ours. How about it, drop me a line or give me a phone call and I will get additional information right back to you. Weneed your input andsupportlfthisisto succeed! DMW OMEGASOFT 6809 PASCAL CLOSE-OUT SALE 50% OFF ALL 6809 HOST PRODUCTS In March and April you can purchase OmegaSolt Pascal 6809 host products at 50% off our regular price, direct from Certified Software Corp., or through participating dealers. The following products are available : PCS2 + RALL1 : Includes compiler, assembler, linker, debugger with source code, and runtime library with source code. $275 SEK1 : Screen Editor Kit. Configurable for various terminals. $45 APU1 : Allows use of AMD9511 chip for integer, longinteger, and real arithmetic. $45 MTK1 : Multi-tasking kernel. Allows task procedures without an operating system in your target system. $85 Available for OS- 9 (Microware), FLEX (TSC). MDOS and XDOS (Motorola) on S' or 8" SSSD format Shipping charges extra Master-Card and Visa accepted. These products to be discontinued after April. OmegaSoft is a registered trademark of Certified Software Corporation. CERTIFIED SOFTWARE CORPORATION S18 CAMtNO CABALLO, NPOMO. CA 83444 TEL: (BOS] 929-1395 TELEX: 487013 FAX: (80S) 9M-13U5 (MID-SAM) ^laSSlfitfidS ** Submitted - No Guarantees j MUSTANG-020 16Mhz with 68881. OS9 Professional Package & C $3000. Call Tom (615)8424600. AT&T 7300 UNIX PC. UNLX V OS. 1MB Memory. 20 MB Hard Disk. 5" Drive. Internal Modem. Mouse. Best Offer Gets II S+ System with Cabinet, 20 Meg Hard Disk & 8" Disk Drive with DMAF3 Contra Her Board. 1X12 Terminal $4800. DAISY WHEEL PRINTERS Qume Spiim 9 - $900 Qume Sprint S - S800. HARD DISK 10 Megabyte Drive - Seagate Model «41 2 $275. 3 -Dual 8" drive enclosure with power supply. New in box. $125 each. 5 - Siemens 8" Disk Drive . $100 each. Tano Outpost II, 56K. 2 5" DSDD Drives. FLEX, MUMPS, $495. SVVTPC SAW with Motorola 128K RAM. 1-MPS2. 1-Paralell Port. MP-09CPU Card - $900 complete. Tom (61$) 842-4600 M-F 9AM to SPM EST ••• GMX MICRO - 20 (16.67 MHZ) with MC68881 and OS9/68020 professional pale $3500 or best offer. John Bing 9-5 EST (301)428-8214 56 March '68 68 Micro Journal SCULPTOR CUTS PROGRAMMING TIME UP TO 80% 6809/68000-68030 Save 70% Due to a "Special One Time" Purchase, We Are Making This Savings Offer. Quantities Limited! See S. E. Media Catalog- page 29 Once this supply is gone -the price goes back up! System OS-9: 6809/68000-68030 • Regular $995;fle $295.00 nVTJ \ gf% g^ f\ mm £~* £~± + S7.S0S«HUSA v-Fl^ i-i 1 §4L^ " M V\ ■ I— ■ ■■ is Overseas- see S.E. Mote Shipping Rates- page 29 AVE - WHILE SUPPLIES LAST! 68 Hero Journal March '88 57 SK* DOS P>r Gm»ne DOS " for 69000 «pp Iron torn in * Industrie! Control * Huiinm Um * Eo\tc*1 tor^t Computing * Sewnti'*. Compunng * Number Crunching * Oadwslad SV«ami * Turnkey Sylltmi * D»ltCall«cllon + Sinol«-bawd Compuixi * Buftonwttad Compulen * Gf'PAin Workitchofis * Ocw-ol* kind Svit«nu + Advimwd Hobby nt Uw SK*0OS if • »>r*gl*uur di.k oprmng lynrn for wnipuunutang Motor o I* 32 bit CPU. uch *i the GdOOB. G80UO. 63010, nm 6602a ti p'ovkJot the w*tt of • lull 00S. vet it iimpie end »*iv io use. end will run on lyiitnn. from 32K to 16 m»g»*vin 8ec*utv SK*DOS is ees'ly implifTMnled on • nv* svttirn. «v« t*ll it "The Gtn*f«c DOS which •Mows DfOflr»mi vyntten lor onm iv item lobe lunon m«ny o theft, SKtDOS romn wmti over 40 eornmertds end tyitim programi, >nclixJiiig • 6809 vnuljlw which ■JtovnSSK SK*OOS to run appliutionproarems end lingusors developed for 6808 SK»0OS end oihtx iv-ttmi Anembiera. editors, end hiaher ii V «i isngueo* tuPftOM ere e*eiiibie from thi/d p**"'V sohwsre vendois *i*d through public domein •oliwece- SK«OOS IS aval labia lot unjji* copy v d—hr sale*. « well at OEM Utmnv rtg S.r^n COO'bs can $125 linQUiri w lo eveiJafalesystemsl Exlrsmtly attractive OEM ltc#nufig larmj art alio aviiiebft An op.loni< Configuration Kit contaris a detailed Conligu ration Manuel end two disks of *o*irte eoda for tyiiam adaptation, including; tourer code for • lyilarn montlor/dtthig ROM and olhar progrerns usslul .w edepinig SK*00S to new ivttami. SK'DOS >i *v*l*btt from Star-K SOFTWARE SYSTEMS CORPORATION P.O. BOX 10» MT « ISCO. NY !05»« 9T4/741 0!B7 TELEX 5tO«OS677« INDUSTRIAL PASCAL FOR 68000 AND 6809 PCSK is a package lhal generales code lor a 68000 series processor running on a 68000 development system ll Includes Ihe compiler, assembler, linker, fiosl debugger, large! debugger, and screen editor, all integraled logelher and controlled by a menu driven shell program Source code Is included lor Ihe runtime library and many of itte utilities Host operating systems supporled are OS-9/68000 (Uicroware). PD0S (Eyrlng Research), and VERSAdos (Molorola) PXK9 is a package lhal generales code loi a 6809 processor running on a 68000 developmenl syslem includes all ol the features ot Ihe PCSK package above, excepl tor the host debugger Hosl operating syslem is OS-9/6B0O0 I WANT IT. WHERE DO I GET IT? For more intormalion on either ol Ihese Iwo products please contact Certllied Sottware. South East Media or one ol our European Licensees oem Licensees Gespac sa. 3. chemin des Aulx. CH 1228 Geneva/ Plan- les Ouates. Swllz TEL (022) 713400, TLX 429989 PEPEIeklronlk Systeme GmbH. Am Kklslerwald 4. D 8950 Kaulbeuren. West Germany TEL (08341) 8974, TLX 541233 Ellec Eleklronik GmbH, GalileoGalllel-Slrasse. 6500 Mainz 42. Postlach 65. West Germany TEL (06131) 50031. TLX 4187273 DISTRIBUTORS R C S Microsystems Lid 141 Uxbndge Road. Hampton Hill. Middlesex. England TEL 01 9792204. TLX 8951470 Or Rudolt Kell GmbH. Por- physlrasse 15. 0-6905 Schhesheim. Wesl Germany TEL 062 03/6741, TLX 465025. Elsolt AG. Zelgweg 12, CH-5405 Baden-Daetlwll. Switzerland TEL 056-833377. TLX 828275 Byte Studio Sorken, Buten- wall 14. 0-4280 Borken, Wesl Germany TEL 02861-2147. TLX 813343 CERTIFIED 616 CAMIN0 CABALL0, NIPOMO CA 93444 SOFTWARE TEL: (8051 929-1395 TELEX 467013 CORPORATION FAX: <805> 929-1395 (MI0-8AM) SOFTWARE FOR 680x AND MSDOS SUPER SLEUTH DISASSEMBLERS EACH J99-FLEX J101-OS9 1100-UNIFLEX OBJECr-ONLV varalona: EACH 1M- FLEX. OS». COCO tmaraeuvafy oanaraw touroa on dak wXh looota. ttoJtOt Mat binary M*l«og BOaclnr eBOO.l.J.S.S.B VtSQl varaleo Of ZB0/BOBO.5 vanlon OSS walon also proooiaa* FLEX kvmal obratt ftta unflur OSB COCO DOS avaUlMa 10 M0O.I.?.3.r3.B.»>eSO? iHUI Inst 2BO/B0B0.SI out, tautO oliatiomblor »IOO-FLEX.OSB.UHIFLE/X,USOO«,UNIX,5KDOS CROSS-ASSEMBLERS WITH MACRO CAPABILITIES EACH JJO-FLEX.OSCUNIFLEX.MSOOS.UNIX.SKOOS 3/S100 ALL/J200 apacrly i»0». ZB.ZBO.BO4B. 805 I, BOBS. «80 10.32000 modular cro*» aaaamiuara *» C. wttft bad/Una: •oixtai «M amUkWU ISO BIO, HOT kx 3, txo lor HI DEBUGGING SIMULATORS FOR POPULAR 8-BIT MICROPROCESSORS EACH 17S-FLEX S100-OS9 SBO.UNIFLEX OBJECT-ONLV roriloni: E«CH ISO COCO FLEX, COCO OS9 loloftcllvoly slrrmlU* proactaort. oroaaaj (*ia"*r*b>r hxmanlog. Wnliy adlltog ■ oealy br BBIKVI. (UIBSM, «J02. MM OS». ZW FlEX ASSEMBLER COOE TRANSLATORS FOR 8S02, 8800/1, 8809 KCJBUM J75-FLEX M5-OSB MOUHIFLEX 6800/1 19 MO> • eX» to poaiaon Int. ISO-FLEX I7S-OSB ISO-UNIFLEX FULL-SCREEN XBASIC PROGRAMS antri «tira«r tonlr«l AVAILABLE FOR FLEX. UNIFI.EX, ANO MSOOS DISPIAV GENERXTOHIOOCUUENTOn *M wraourca. Hi without UAJLWO LIST SYSIEU urM woaurc*. IM allltoul INVEKCTORY WITH MRP |l» irfiouro. ISO wllhpul T*SLAAnAS*£I>Rt>0SHE£7 I10O aiAjoutc*. IN wHIraut DISK AND XBASIC UTILITY PROGRAM LIBRARY J50.FLEX OO-UNIFLEX/MSOOS Mil disk aactorl, aon dVaoory. maintain miliar catitog, do dlk aorta. roMouanoa aoma or 11 ol 6ASIC orootam, N raf qasjC proQram. ale. not FLEX virakma roU aort and inxnu— >"( only CUOOEM TELECOMMUNICATIONS PROGRAM >IOO-FLEX,OS>,UNIFLEX,MS-OOS,UNIX,SKDOS OBJECT. onit Hnlon: EACH IH manuOkaA »» krrmavai noda. Ma kantrar. MOOEU7. XON XOFF. Mo. lor COCO and oonCOCO . drt-ai kntamaj COCO mooafri port up Io 2400 BatXJ DISKETTES & SERVICES 5.2S" DISKETTES EACH 10-PACK *7 50 SSSO SSDO OSOO Antarkin motM, cuWankMKt 100* guMtr. >nK tyvak nVkall. tlub rkkjs, , AOOITIONAL SERVICES FOR THE COMPUTING COMMUNITY CUSTOMIZEO PROGRAMMING w* wsl rjuatomlta toy of ir* proooma daacrlOad » uVa acVotoamani or m our biocnura lor soadalizad eAauomar uai or lo covar now prtxsnaora: tfwj chtroa lor »ucn outaaruzataFi oepand* upon tra (rtaAataoally ol Iha norallcalrora CONTRACT PROGRAMMING wa wn craata na» programa or modr/y auakng programa on a contract baatt. a caryica wa h«v* providad tar ovar rwamy yaara: tho oompvnira on wnNdt wa havo panormad contracf proanmrrano avaida moat popular modeta ol matntrvmoa, aanl COCO T«no, WSD06 tk»n SXOOS Suit Sowa«. 58 March '86 68 Micro Journal K-BASIC* The Only 6809 BASIC to Binary Compiler for OS-9 FLEX or SK*DOS Even runs on the 68XXX SK*DOS Systems* .--... — — .. N Hundreds Sold at Suggested Retail: 0100.00 I • 6809 - OS-9"* users can now transfer their FLEX™ Extended BASIC (XBASIC) source files to OS-9. com- pile with the OS-9 version and run them as any other OS-9 binary "CMD* program. Much faster than BASIC programs. • 6809 - FLEX users can compiler ttieir BASIC source files to a regular FLEX \CMD" file. Much faster execu- tion. • 68XXX - SK'DOS™ users running on 68XXX systems (such as the Mustang-08/A) can continue to execute their 6809 FLEX BASIC and compiled programs white getting things ported over to the 68XXX. SK'DOS allows 6809 programs to run in emulation mode. This is the only system we Know of that wil run both 6809 & 68XXX binary files. K-BASIC is a true compiler. Compiirig BASIC 6809 pro- grams to binary command type programs. The savings m RAM needed and the increased speed of binary execution makes this a must for the serious user. And the price is now RIGHT! Don't get caught up in the Team a New Lan- guage" syndrome - Write Your Program in BASIC, Debug it in BASIC and Then Compile it to a .CMD Binary File. For a LIMITED time save over 65%... This sale will not be repeated after it's over! * / >...... ...... . N SALE SPECIAL: $69.95 l z 1 * in n i m Thank-You-Sale On(y from: c S.E. Media p i 5900 Cassandra Smith Rd. HbtaorCTn 37343 Telephone 615 842-6809 Telex 510 600-6630 A Division of Computer Publishing inc. Over 1,200 Titles • 680T>68&«8uao K-BASIC wil nn imta 68XXX SK'DOS in aniUai mode fcr ire 6*09. ftice wbjta to dimgc wihi* axkx. 68 Micro Journal March 88 59 Clearbrook Software Group (604)853-9H8 CSG IMS is THE full featured relation- al database manager for OS9/OSK. The comprehensive structured ap- plication language and B + Tree Index structures make CSG IMS the Ideal tool for file-Intensive applications. CSG IMS (or CoCo2/3 059 L1/2 (single user) $169.95 CSG IMS for OSS L2 or 66000(multl user) $495.00 CSG IMS demo wfft manual $30 MSF - MSDot File Manager for CoCo 3/OS9 Level 2 allows you to use MSDos disks directly under OS9. Requires CoCo 3, OS9 L2, S0ISK3 driver $45.00 SER1NA - System Mode Debugger for OS9 L2 allows you to trace execution of any system module, set break points, assemble and disassemble code and examine and change memory. Requires CoCo3 or Gimlx II, OS9 L2 & 80 col. terminal $139.00 ERINA - Symbolic User Mode Debugger for OS 9 lets you find bugs by displaying the machine state and instuctions being executed. Set break points, change memory, assemble and disassemble code. Requires 80 column display. OS9 L1/2 $69.00 Shipping: N. America - $5. Overseas - $10 Clearbrook Software Group P.O. Box 8000-499. Sumas. WA 98295 OS8 It ft Uftdtmftr* of Mlcro*tr# Sytttmt Corp., MSDot it t t'tdtmarfc orf MfCrotofl Corp. M10B Dual Async Serial Card n» yioa k «t DM a port »| nA.u » hthi cart Inr SSSOc but wt»u. •*** n*0t xsawmi d mm»€**rm+n iuk« afc^fevt vtmj tfw Npt> co* of m i i/O «*«nt»u . ^paka sCH sua Dot run uun. Wy uiv ft " " f aet *»"«<■ i"»™* bud Mt to ttc* It >,■ m) » » » . l lt <»^»il««l K) 3« t* bat), t by» ixaM cMta FVO. Wtptl im w>t i ii e disks LOGO Cl File toad program to ottsei memory — ASM PIC MEMOVE CI Memory move program — ASM PIC DUMP C1 Pnnler dump program — uses LOGO — ASM PIC SUBTEST C1 Simulation ol 6600 code to 6609. show difference* — ASM TERMEM C2 Modem input to disk (or other port input to Oak) — ASM M CZ Output a tile to modem lor another po*lMi<:Mi|!lM.lil:13i S165.00 The board provides level-shilling between TTL level and standard RS-232 signal levels tor up to 4 serial I/O poits. l.1im.-iajJirjm«Ht|:HH;|iIH:lB.1iiJl {398.00 The GMX SBC-60P uses three 68230 Parallel Interface/Timers (Pl/Ts) to provide up to forty-eight parallel I/O lines. The I/O lines axe buttered In six groups ot eight lines each, with separate butler direction control tor each group. Butler direction can be fixed by hardware lumpers, or can be software programmable tor bidirectional applications. ikmiiiir^i: i ti:nrj;iiin:iia'. j .11 {75.00 The SBC-WW provides a mea ns ot developing and testing custom I/O Interlace designs lor the GMX Micro-20 68020 Single- board Computer The board provides areas tor both DIP (Dual Inline Package) and PGA (Pin Grid Array) devices, and a prewired memory area tor up to 512K bytes ot dynamic RAM I HiJIIKIJiHaHilHWUI $196.00 The SBC-BA provides an Interlace between Ihe GMX Mlcro-2D 68020 Single-board Computer and the Motorola Inpul/Output Channel (I/O bus). With ihe I/O bus. up to sixteen off-the-shelf or custom peripheral devices (I/O modules) can be connected to the GMX Micro-20 IJJi|jmiJi!U .MM l . l H.H.Iii"l ! |MH:lJJ. l l $475.00 The SBC-AN provides an Interface between the GMX MlcfO-20 68020 Single-board Computer and the ARCNET modified token- passing Local Area Network (LAN) originally developed by Oatapoint Corp. The ARCNET Is a baseband network with a data transmission rate ot 2.5 Megabits/second. The standard transmission media Is a single 93 ohm RG-62/U coaxial cable Fiber optic versions are available as an option. 0S9 LAN Software Drivers for SBC-AN 120.00 I/O EXPANSION BOARDS 16 PORT SERIAL BOARD ONLY : GMX MICRO-20 SOFTWARE 020 BUG UPDATE - PHOMS ft MANUAL $150.00 THESE 68020 OPERATING SYSTEMS ARE PRICED WHEN PURCHASED WITH THE MICRO-20. PLEASE ADD $150.00 IF PURCHASED LATER FOR THE UPDATED PROMS AND MANUALS. ALL SHIPPED STANDARD ON S'A ' DISKS }'/>' OPTIONAL IF SPECIFIED. 0S9/68020 PROFESSIONAL PAK $850.00 Includes OS.. "C", uMACS EDITOR, ASSEMBLER. DEBUGGER, development utilities, 68881 support. 0S9/6M20 PERSONAL PAK $ 400.00 Personal OS-9 systems require a GMX Micro-20 devetooment system runnin g Professional OS-9/68020 tor iniltai configuration BASIC (Included In PERSONAL PAK) . $ 200.00 C COMPILER (Included In PROFESSIONAL PAK) $ 750.00 PASCAL COMPILER $ 500.00 Unl FLEX (for Micro- 20) $ 400.00 UnlFLEX WITH REAL-TIME ENHANCEMENTS $ 800.00 UnlFLEXVM (tor TWINGLE-20) $ 600.00 UnlFLEX VM REAL-TIME ENHANCEMENTS $1000.00 Other Sollware lor UmFLEX UnlFLEX BASIC W/PRECOMPILER $ 300.00 UnlFLEX C COMPILER $ 350.00 UnlFLEX COBOL COMPILER $ 750.00 UnlFLEX SCREEN EOITOR $ 150.00 UnlFLEX TEXT PROCESSOR $ 200.00 UnlFLEX SORT/MERGE PACKAGE $ 200.00 UnlFLEX VSAM MOOULE $ 100.00 UnlFLEX UTILITIES PACKAGEI $ 200.00 UnlFLEX PARTIAL SOURCE LICENSE $1000.00 GMX EXCLUSIVE VERSIONS, CUSTOMIZED FOR THE MICRO-20, OF THE BELOW LANGUAGES AND SOFTWARE ARE ALSO AVAILABLE FROM GMX. ABSOFT FORTRAN (UnlFLEX) $1500.00 SCULPTOR (ipedCy UnlFLEX 01 0S9) $ 995.00 FORTH (OSS) $ 595.00 OYNACALC (ipecfly UnlFLEX Br 0S9) $ 300.00 GMX DOES NOT GUARANTEE PERFORMANCE OF ANY GMX SYSTEMS. BOARDS OR SOFTWARE WHEN USED WITH OTHER MANUFACTURERS PRODUCT. ALL PRICES ARE F.O.B. CHICAGO IN U.S. FUNDS GMX, Inc. reserves the right to change pricing, terms, and products specifications at any time without further notice. TO ORDER BY MAIL SEND CHECK OR MONEY ORDER OR USE YOUR VISA DR MASTER CHARGE Please allow 3 weeks for personal checks to cleat US ordeis add $5 handling It under $200 00 Foreign orders add $10 handling rt order is under $200 00 Foreign orders over $200 00 will be shipped via Emery Air Freight COLLECT, and we will charge no handling. All orders must be prepaid in U.S. funds. Please note that foreign checks have been faking about 8 weeks lor collection so we would advise wiring money, or checks drawn on a bank account in the US. Our bank is the Continental Illinois National Bank of Chicago. 231 S LaSalle Street. Chicago. IL 60693, account number 73-32033 CONTACT GMX FOR MORE INFORMATION ON THE ABOVE PRODUCTS GMX STILL SELLS GIM1X S50 BUS SYSTEMS. BOARDS « PARTS CONTACT GMX FOR COMPLETE PRICE LIST. GIT1X 1337 W 37th Place. Chicago. IL 60609 (312) 927-5510 — TWX 910-221-4055 — FAX (312) 927-7352 64 March '88 68 Micro Journal Mj^^the — llStaiV' Now Offenng *FLEX" (2 Versions) AND 'STAR-DOS PLUS+ '" For Otttmrtng Call (615)842-4600 FROM - DATA-COMP, C.P.I. A Family of 100% 68XX Support Facilities The Folks who FIRST Put FLEX" on The CoCo vH t^*>* &.:> * p^^r^ C o1 «* e **%P ^*" o* 1 M STAR DOS PLUS + • Functions Same as FLEX • Reads • writes FLEX Disk* • Run FLEX Programs • Just type: Run 'STAR DOS" • Over 300 utilities & programs to choose from f TSC Editor NOW $35.00 L y) PLUS ALL VERSIONS OF FLEX & STAR-DOS + Read-Write-Dir RS Disk + Run RS Basic from Both + More Free UtJities INCLUDE + External Terminal Program + Test Disk Program + Disk Examine & Repair Program + Memoty Examine Program + Many Many More!!! TSC Assembler (bgtMOO L NOW $35 OO 1 CoCo Disk Drive Sgsleuis 2 TH1NLINE DOUBLE SIDiO DOUBLE DENSITY DISK DRIVES SYSTEM WITN FDUEE SUCI-L* .CAIINtT, 01SI OllVE CARLE. JiH NEW DISK CONTROLLER JP0-CP VJTH J-OOS.RS-DOS OPERATINC SYSTEMS. |4*«.») • Spiel (y What CONTROLLER You Want JAN, or RADIO SHBCX TMINLINE DOUBLE S1DE0 DOUBLE DENSITY *0 TRACKS MK VPCSAOi FOR C.0,E, P, AND COCO II RADIO SHACK BASIC I. 2 EAD10 SHACK DISK BASIC 1.1 Verhjhm Diskettes Sinftlf Sldad Doubl« DtDtity Deubl* Sided Double Deoelty Cooli oilers JtN JPO-CP WITH J-0OS WITH J-OOS, KS-OOS RADIO SHACK ] . I RADIO SHACK Diik CONTROLLER 1.1 Disk Di ive Ciu!>-'> Ceble for One Drive Cable for Two Drive* DISK OltVE CABINET POl A III*. as SINGLE (WIVE DISK DRIVE CAEINET POl TWO TK1NLINE DRIVES } 14.00 nirruj } 14.00 EPSON U-BO EPSON HX-70 EPSON KX-100 •139. 95 ACOMoaiE* rot ifboc $119. *» tiM.aj 61*6 2E SEEIAL BOARD 81*9 32K EXPAND TO I2BK EPSON MJ-M-UO KIIMNS 413*. aj EPSON LX-80 ElEtONS TEACTOE UNITS PO« LX-BO CABLES 4 •THE* IHTCK/ACKS CALL POR PRICING i la.tj i 24. as I 29.95 t 24. as i 24. as * 4».»5 t ta.as B2M.9J •us.aj $»*i.*i JI49.95 » s.as DATA-COMP 5900 Cassandra Smith Rd Hixson. TN 37343 C3| SHIPPING tS* f^:^ d ^" s .| (615)842-4600 n(H. $2.50 'Of OtoWring Telex 5106006630 s I An Ace of a System in Spades! The New I MUSTANG-08/A TM Now with 4 aerial porta standard & speed Increase to 12 afhx CPU + on board battery backup and Include* the PROFESSIONAL OS*9 package - Including the $900.00 OSfl C compilerl Thla offer wont laat fareverl NOT 128K, NOT 512K FULL 768K No Walt RAM Now even faster! with 12 Mhz CPU I The MUSTANG-OB™ system took mwy hand from al I other 68006 syaema we laded, riming OS-9 66K3 I The MU5TANG08 Includes OS^aC andtor Peter | Stark's SCDOS™ SKDOS is a single user, single ta&Mng | eyatxn that takes up whew 'FLEX™ left off. SKTJOS is | actuary a 68XXX FLEX type system (Not a TSC product.) C Campfe time OS-9 B8K. Hand Disk^ MJ5TAN&0B aitsCPU Qmh-32ssc Other popukr (B008 system litan-OSssc MUSTANM20 0rr*i-21sse =^ rstem tndudca 06-9 68K cc SCDOS - Your Choice Specificatbns: CPU MC680CB 12 Mb HAM 768K 2SK ChpB NoWkt^tn PORTS 4-RS232 MCOS31 QUART 2-8t*PMU MC8S1 PIA aOCK MKUTCQ FteeJ Trns Cfa* Bat. BAJ EPROM 18K 3* or MK S*b*t*i FLOPPY W01 772 5 14 0TMB HARD DISK t/tsVe Port WOtOOe Boat) I I I I I I I I I Y Nt > w more serial ports - foster CPU j Battery B/U - and $650.00 OS-9 Profcs t slonal with C compiler included! 25 Megabyte Hard Disk System ^ J *$400.00 See Musanp/02 Ad - page 5 for tiaje-ti detais MUSTANG-08 LOOK Saxnds 08-9 CSK 0B-* 32 bit Rtyncr .. .18.0. ..».0 .9.8. ..6.3 fhtfcV rsgWar long I; for (bO; I < WWW; ♦+*); $2,398.90 Complete with PROFESSIONAL OS-9 includes the $500.00 C compiler, PC style cabinet, heavy duty power supply, 5" DDDS 60 track floppy, 25 MegByte V. ■J^l£ 1 ^ c _i^ < £!f^° Ru IL. ,-(/ Unite other 68008 systems there am several sfanlteant dKsrenoBB. The MUSTANG-08 is a Ml 12 Megahertz system. The RAM ussb NO wal states, this means Ml bore MUSTANG type performance. Also, eJbwbg tor addressable RDMPROM the RAM m the maximum slowed for a 68008. The 68008 can only address a Mai of 1 Megabytes of RAM The design afbWB al the RAM apace (tor al practical purposes) to be utjfesd What Is not svBlarJe to the user b requked and reserved for the system. A RAM disk of 480K can be easly configured, laaviig 288K free far prn&Trrvsyatem RAM apace. The RAM 06K can be configured to any sow your m a rgin requires (system must have 128K in addtfon to Is other requlrBrnertts). Leaving the remainder of the anginal 768K tor program use. SUfoen) source included (drivers, etc) HUfTANCMItaiB f Data-Comp Division A Decade of Quality Service' *J S^ Systons fWrirj-Wide Computer Publishing, Inc. 5900 Cassarda SmHh Road Tetephone 615 842-4601 - Telex 510 600-6630 rfcon, Tn 37343 * These) with SWTPC r*ctan*ty FLEX 5" • Cd for apectd hfo.