.. • The TRS-80 Users Journal

Volume II, Number 6 Nov/ Dec 1979

0 o. 5" / .0 ~ . o

Va.Y' ~ o.ble 0 i I fMlm '1EIUJVM

One-Onve System. $399. (40-track) & $675. (77-track) Two-Dri ve System. $795. (40-track drtves) & $1358. (77-track drives} Three-Drive System: $1195. (40-track drives) & $2025. (77-track driVes} Requires Expansion Interface. l evel II BASIC &16K RAM

Low Cost Add-On Storage for Your TRS·SO*. In the Size You Want. When you're ready for add-on disk storage, we're ready for you. Ready with six mini-disk storage systems - 102K bytes to 591 K bytes of additional on-line storage for your TRS-80*. ' • Choose either 40-track TF0-100™ drives Whether you need a single, 40­ - 197K, 394K and 591 K bytes for one-, or 77-track TF0-200™ drives. track TFD-100™ add-on or a three-drive two and three-drive systems. add-on with 77-track TFD-200™s, you PATCH PAK #1 ™, our upgrade • One-, two- and three-drive systems im­ get more data storage for less money program for your J"RSDOS*, not only mediately available. from Percom. extends TRSDOS* to accommodate 40­ and 77-track drives, it enhances • Systems include Percom PATCH PAK Our TFD-100™ drive, for example, lets you store 102.4K bytes of data on TRSDOS "' in other ways as well. PATCH #1™, on disk, at no extra charge. PATCH PAK #1 ™ is supplied with each drive PAK #rde-glitches and upgrades one side of a disk - compared to SOK bytes on a TRS-80* mini-disk drive ­ system at no additi?nal charge. TRSDOS* for 40- and 77-track operation. The reason you get more for less and 102.4K bytes on the other side, too. from Percom is simple. Peripherals are 4 TFD-100™ drives accommodate "flippy Something you can't do with a TRS-80* not a sideline at Percom . Selling disk disks." Store 205K bytes per mini-disk. drive. That's almost 205K hytes per mini-disk. systems and other peripherals is our •Low prices. A single-drive TF0-100TM main business - the reason you get costs just $399. Price include~ PATCH And the TFD-200™ drives provide more engineering, more reliability and PAK #1™ disk. 197K bytes of on-line· storage per drive more back up support for less money. •Enclosures are finished in system­ In the Product Development Queue ... aprinter interface for using your TRS-80"" with any compatible "Tandy-silver" ena·mel. serial printer, and ... the Electric Crayon™ to map your computer memory onto your color TV screen - for games, animated shows, business displays, graphs, etc. Coming PDQ!

iu TFD-100 . TFD-200. PATCH PAK and Electric Crayon are trademarks of PERCOM DATA COMPANY ~,..______·THS-80 and TRSDOS are lra~er.ar, ol a~dy Corporal100 and Radio Shae w 1ch have no re1a1 orsh1p •o PERCD DAT~ COMPAi'< To order add-on mini-dllk stor1ge tor your TRS-80* , or request addHlonal liter11ure, call Percam's toU-free number: 1-800-527-1592. For detalled Tecllnical ilfor­ mation call (214) 272-3421 . '1EfUlllM Orders may be paid by check or money order, or charged to Visa or Master Charge credit accounts. Texas residents must add 5% sales tax . PERCOM DATA COMPANY, INC. 211 N. KIRBY • GARLAND , TX . • 75042 Percom 'peripherals for ersonal com utin ' -~--~ MOVING DATA AT ASNAIL'S PACE BECAUSE YOU'RE FLOPPY BOUNDil Let Corvus Systems put you back in the race!

• For TRS-sot, Apple* (including Apple Pascal), S-100 Bus..;._and now LSl-11. • Fully compatible hardware/software. • 10-million byte disk: IMl-7710. • Proven Winchester technology. f ::;::;:,:::::::::::::::==J=:::=::::=r:trtt:::::r::rtr::::::n:::;:: ::::r:n:tt: :: t: :. .:.,:::::: :\ A~-• • Z-80 based Corvus disk controller. • Comprehensive disk diagnostics. • Up to 4 disks per system. • System $5350, add-on disk $2990.

Corvus offers a complete systems solution to the mass storage problem of micro computers. In a package smaller than a briefcase, we provide an intelligent controller, disk, and personality module. Call or write today for additional information. \ Get up to speed with Corvus.

l NOW! CORVUS SPEAKS APPLE™ PASCAL™!

' • • .t • ,, , , Vh• • • • l<: " ...... ,, +" . ( .•. ::.

...... ::. • ; %· ~ ., ...... :...... :....: ..,

tTRS-80 is a registered trademark of Radio Shack, a Tandy Co. :j: Apple is a registered trademark of APPLE Computers, Inc.

900 S. Winchester Boulevard CORVUS SYSTEMS, Inc. San Jose, California 95128 408/246-0461 80-U.S. Editorial Remarks * * JOURNAL

"H publishers really check out their advertisers in advance, how come so many accepted up to 6 full pages from World Power?" EDITOR/PUBLISHER Where do we stand? that the same company has a good ------1 M Schmidt We recently received letters product and excellent service. So EDITORIAL ASSISTANT from several persons indicating who are you going to believe? ------Cathy Shappae t~ey had gotten ripped-off by some ~lso, there are extenuating ASSOCIATE EDITOR ______TR Dettmann c,ompany or other. One suggested circumstances. For example, we that since we are in the publish­ received a bundle of mail on the TECHNICAL EDITOR ing business, we need to become 7th of September, all of it post­ ______T Rosenbaum "Ombudsman" for our readers. marked the 26th and 27th of June! BUSINESS EDITOR ______J Strader Some other magazines might Now, what did those people have jump at a chance like that, feeling to think about our turn -around? RESOURCE IN LEARNING that "Hey, they need us!" And what if they could find some CONSULTANT sympathatic publisher to put us ______G B Livingston Phd ·' Before September 1978, none down for it? of us here at 80-US had anything SOFTWARE DEVELOPMENT Which dosen't leave much to do with publishing. In fact, it ----- Leo Christopherson hope, does it? vyas some of the publishing going ------Roy Groth on at that time which prompted us If we ever find out about a ------Kristi Schmidt to go into it. Consequently, we are genuine rip-off, we will be more REVIEWER just dumb enough to ask: "Is this than happy to let you know about ------George Blank really what we are supposed to it. We are not totally irresponsible, PRINTED BY be?" Ombudsman? Where do we just careful. ___Peninsula Gateway Press Gig Harbor, Washington get the qualification to sit in There is so much being said judgement? Is every publisher these days about Consumer DISTRIBUTED IN CANADA BY assumed to have the overhead Protection, we wonder sometimes Micromatic Systems Inc if there ought not be a "Supplier No101 -8136ParkRoad resources to be able to go out into Richmond, BC Canada V6Y 1T1 the field and check every company Protection". For some reason, it is that has a product for sale? not considered a sin to rip off a DISTRIBUTED IN EUROPE BY Hofacker Verlag How do you tell who are the company. (After all, they can Tegernseer Strasse 18 "bad guys"? By the time you can afford it, right?) We still think it is D-8150 Holzkirchen/ Obb identify them (by getting stung), just as bad to rip off a company as West Germany they have disappeared and it is for a company to rip off an resurfaced somewhere else with a individual. Think of how many new name and a new gimmik. Do companies are being had by the publishers have to be individuals who copy software for policemen? tlrn rest of the club, or for a friend. Advertisers make m:agazines Each. actir:;i ,itself is no big deal, you possible. Check and see how many say, ·but the cummulative total of truly non-profit magazines make it those individuals sum up to a for any length of time. So now are sizeable chunk for the producer of that software. Think about that. we supposed to woo the advertiser on the one hand, and protect the Our stand is simply this: We sell advertising space. The advertiser consumer against him on the The 80-U.S. JOURNAL other? can put anything (within the limits Vol II No. 6 Nov-Dec 79 of good taste) in that space. If it Oh yes, we could put on the becomes known that this Published bi -monthly in Jan, Mar May, Jul.Sep & Nov SUBSCRIPTION PRICE in "goodie two shoes" and act like advertiser is a rip off, we drop him. the United States is $16./1yr,$31 ./2yrs, we are big brother protector. But Other than that, we depend on $45. / 3yrs.CANADIAN SUBSCRIBERS we are not equiped to do it, nor do suppliers to provide products for contact MICROMATIC SYSTEMS INC No we believe any other publisher is. review. We give as honest a 101 8136 Park Road. Richmond, BC Canada V6Y 1 Tl . ALL OTHERS : It may make good editorial copy to review as possible, never based S24./1yr,S47./2yrs, S68./3yrs. remitted say you are, but we aren't and we just on one reviewers opinion. If in US funds. All except US, Canada & will say so. the product has problems we tell Central America are sent Airmail. .· Another problem with this is you about them. If that causes us Printed in the United States of America Application to mail at Second Class that for every complaint we haw~ to lose an advertiser, then we lose an advertiser. Postage Rates pending at Tacoma, WA had so far, there has alsr, been POSTMASTER: If undeliverable return to someone calling or writing to say Fair enough? Mike sender. Return postage guaranteed.

80-US JOURNAL Nov-Dec 1979 0­ The JOURNAL for TRS-80• • Users TRS-80 is a trademark of the Tandy Corporation

\lol II Number 6 CONTENTS November-December 19 79

FEATURES 24 CRT SUPPORT ...... Dr H F Sturgis 18 FUNCTION GRAPHER/ ROOT FINDER ...... Roy Groth 38 GREAT 80-US TOURNAMENT ...... M Schmidt 51 HOME HEAT LOSS PROGRAM ...... Ralph White 26 ENGINEERING CALCULATIONS (Hydraulics) ...... Staff 34 RESTORING KILLED DISK FILES ...... T R Dettmann 56 MAZE PROGRAM ...... John Stedeford 46 STOCK MARKET PROGRAM ...... Guth & Knoderer 28 SUPER SORT (A sorted affair) ...... T R Dettmann

REVIEWS 54 ATERM & FLEXL ...... Review by Roy Groth 54 DISK DRIVE TIMER ...... Review by M Schmidt 58 G2 Level Ill ...... Review by T R Dettmann 42 MAC80 ...... Review by T R Dettmann

DEPARTMENTS 64 INDEX FOR VOL I & II 8 ADVERTISERS INDEX 2 EDITORIAL 10 ITEMS AT RANDOM 6 LETTERS TO EDITOR 12 NEW PRODUCTS 63 UNCLASSIFIED ADS 11 LITTLE NYBBLERS 48 BUSINESS COMPUTING ...... John Strader 22 ANATOMY (Function Grapher) ...... R C Bahn 23 NOTES ON BASIC ...... T R Dettmann 40 SYSTEM / COMMAND ...... Phil Pilgrim 32 VIEW FROM THE TOP OF THE STACK ...... T Rosenbaum

• 1979 80-NW Publishing Co. All rights reserved Reproduction for other than personal. non-commer ical purposes is prohibited. No patent liability is assumed wnll respect to the use of the information contained herein. While every precaution has been taken in the preparation of this publication, the publisher assumes no responsibility for errors or omissions. Neither is any liability assumed for damages resulting from the use of any information contained herein Please address all correspondence to· 80-US JOURNAL 3838 South Warner Street. Tacoma. Washington 98409. ADVERTISERS: 80· US will accept limited relevant commercial advertising which pertains to. or is for use on. the TRS-80 Microcomputer. Write for a current rate card. WRITERS: We constantly seek material from contributors. Send your TRS-80 related material (except that which has been previously published). You may send programs on disk or tape - they w ill be returned if you include return postage . Generous compensation is made for non-trivial works which are accepted for publicaI ion

•80-US JOURNAL Nov-Dec 1979 3 THE CPU SHOP ***TRS-80 HARDWARE & SOFTWARE*** **•NEW TRS-80 ACCESSORIES*** ***FROM THE CPU SHOP••• TRS-80 VIDEO DISPLAY MONITOR: High quality/ MEMORY: 16K memory kit complete with 8 RAM high resolution 12" LEEDEX chips, jumpers & instructions for installation monitor with cable ...... $119.00 in your keyboard or expansion interface . A house­ ***POWER ACCESSORIES*** hold screwdriver is the only tool you need, no POWER STRIPS: 6 grounded outlets with 6 ft. soldering required. extension cord , 15A circuit breaker, on; off switch 300 ns. low speed ...... $69.00 pilot light ...... $16.00 250 ns. medium speed ...... $75.00 SURGE SUPPRESSOR/ HASH FILTER: protect your 200 ns. high speed ...... $85.00 computer from AC line surges ...... $24.00 ***DISK DRIVES & ACCESSORIES••• **•THE CPU SHOP•** DISK DRIVES- TRS-80 40 track disk drives ***BUSINESS SOFTWARE*** complete with power supply & case ...... $314.00 Accounts Payable I Accounts Receivable I Cable for four drives ...... $35.00 General Ledger I and Payroll package by SBSG . DISKETTES- Verbatim (box of 10) ...... $32.00 32K/ 3 drives fully interactive . Tested on th e Dysan (box of 5) ...... $25.00 WANG for 5 years a well documented proven Dysan Allignment Diskette ...... $35.00 system. Write or call for details ...... $389.00 Note** Abo ve A ; P, A/ R , G / L and Payroll DISKETTE STORAGE Plastic case : holds 10 packages can be purchased individually for $99.00 diskettes, built in flip stand ...... $3.99 each module requiring only 2 driv!'!s to run . You Diskette pouch: clear vinyl, holds 2 diskettes & 2 ran trade ha ck for the full interactive system file cards,fits 3 ring binder ...... $.99 at any time. 3 Ring Diskette Binder with your choice of 10 SMALL BUSINESS BOOKEEPING from MMS · Based diskette pouches (above) ...... $12.95 upon the popular "Dome Simplified Weekly Bookeeping CASSETTES: High quality C-10 ...... $1.25 Record" catagorizes deductions for fan cy home accounting Buy 10 for ...... : .....$9.00 or small business uses. Requires 32K RAM, at least one disk drive, and optional printer ...... $25.00 **•PRINTERS•** Dome Simplified Wec!kly Bookeeping Record ...... $5.95 NEC Spinwriter-let t er quality printout on plain ELECTRIC PENCIL hy Miclw' Shrayer · NOW ON DISK paper , high speed 55 cps, choose font style with as well iJS casselte a fin • 1rd processor with block interchangeable thimble, friction & tractor feed movement and search plus 1111 i1 l' inst rue t ions for modifying combined in same unit. In cludes TRS -80 software keyboard lo get lower/ upper case cassette ...... $99.00 interface ...... $2679.00 New Disk Version ...... $150.00 Font thimbles ...... $14.50 MAILING UST SYSTEM - NAME & ADDRESS II by SBSG Ribbon cartridges-Carbon or Nylon ...... $6.50 Requin~s ]2K,2 disks, & print erSophisticated mailing list Centronics: Nationwide field repair by Centronics: program. Use wilh the Electric Pencil files for automatic Call Centronics (800) 258-1952 inserl ion of name, address and greetings in letters. Has ability lo print envelopes. Separate files can he sd up 779 Tractor Feed-60 cps same as line printer or oil names can he co11li1i11vd in one fil e. You can enler used by Radio Shack ...... $1050.00 or clelPlt' , ttpdille, st~drch, sorl, merg(: and print. Super 701 Tractor Feed · 60 cps hidirectionJI, fas! zip cod(' sort for hulk lllilil Ex lract !000 names per 132 elms ...... $1499.00 drive>. Co11 ll' IC'L i<'d inv(~lllory li s ti11 ~, 111i11i11111111 qu<1ntity 100 cps. undirectional · switch selectable RS232 semch...... $95.00 or parallel paper width 8.5 edge to edge con PROGRAM CATALOG SYSTEM liy SB~<; Kc·( ~ P tr;1t·k of i.lll attach to keyboard with the TRS-232 or expansion 1lw pro~rdms ,mcl clC1t<1 fil1• s you ow11 lkl.iils e IWCidli zed s tori.l~j(' 11ec:cls . Sorls fill's 111 .isn·11cli11g or as the IP 125 plus a maximum paper width of dl~s n:ndin~i orcll'r 011 :i SC'p.ir.i lc• fi(>lcls, sct1ndhl<'. So1111• 9 .5" tractor feed with form feed con trol , 8 switch dppl1c;d ions hilve fiX('cl ilSSC'ls. phrnw nc »s,11<1nws, slicll's selectable form sizes, paper-out detector ...... $995.00 & ,ili>ums ...... Disk(•lll' $49.00 2K buffer & full graphics options. : ...... $149.00 ST- 80 Ill INTELLIGENT fERMINAL SYSTEM liy f .i111 c' Expansion interface printer cable ...... $49.00 Micklus. E11.ihl1's " TRS 80 lo ;w t ilS d cli;il up 1l'n11i11dl Cable for TRS-232 interface, 10' (below) ...... $35.00 011 c111y st;rncl;ml ti11w sli.iri11 1i 1wtwmk. Provides il TRS HO TRS-232 PRINTER INTERFACE by Small System with Co11lrnl fwy, E.SC kl'y, Rqw.it fw y, f~ul1 Ou! kC'y, HrC',1k Hardware. Software driven serial output port with k('y. full upper & low(:r c.is1' supporl, s1• ll'clilhl1· print1~r built in power supply plugs into casset le aux . c1ulJllll <111d pro~ir.i111 '>c• lc·1 l.ihlc' lrt1 11smission rs . port can be used to c;ive Integral Data. DiskC'llC' ...... $150.00 Diablo, teletype printers, etc .. works with the Electric Pencil ...... $49.00 •*•THE CPU SHOP UTILITIES SOFTWARE*•* BIDIRECTIONAL RS-232C INTERFACE from G2 LEVEL Ill BASIC: Levl'I II tape from Microsoft Radio Shack...... $99.00 duplicates many disk features for TRS-80 users who do not •Computer Paper Available for Above Printers• own d isk drives, also adcls new quick screen graphics commands,

4 80-US JOURNAL Nov-Dec 1979 THE CPU SHOP ten machine-language user calls, TIME$ routines, releives RSM MONITORS by Small System Software · many functions cassette loading problems and keyboard debounce, adds octal including memory test, read and write machine language tapes, and hex constants. Uses SK of RAM . Includes user's manual enter and execute machine language programs ...... $29.95 etc...... $49.95 DCV- 1 by Small System Software · a disk conversion program FORTH from MMS: For the serious hobbyist & professional for Level II machine language tapes so that the program can be programmer. Offers stack oriented logic and structured saved and loaded from disk ...... Cassette $9.95 programming, machine-code speed and compactness, virtual RENUMBER fr~m Mad Hatter · machine language · improved memory, major advantages of interpreter, compiler, and renumber · renumbers your BASIC listings in seconds. Requires assembler (all are co-resident), and your own commands in Level II · loads at the top of 4K, 16K, 32K or 48K. its extensible dictionary,etc.. Sample game of Life program Cassette ...... $14.95 and user information included.16K cassette ...... $35.00 Diskette ...... $17.95 Disk with Disk 1/0 ...... $45.00 SYSTEM INTEG°RATION TEST by SBSG - A diagnostic tester.. "The MicroForth Primer" best manual for MMSFORTH 15.00 It checks your diskettes, disk drives, and control units. NEWDOS from Apparat: Finally, an improved DOS with fixes The RAM tester checks memory and notifies you of the failing for all known bugs in TRSDOS 2.1 plus additional features address if there is any problem. Checks all characters on your over TRSDOS 2.2 to make the DOS more useful. Some fixes printer...... Diskette $29.00 include keyboard bounce, "APPEND", end-of-file markers, "LOC'', ***TRS-80* COMPLETE SYSTEMS*** the "VERIFY" command, SYS3 bugs which crashed the disk TRS-80 Level ll-4K ...... $540.00 directory. several bugs which caused lost data errors. TRS-80 Level Il -16K with 10 key keypad ...... $799.00 Enhancements ie .. "RENUM" fast line renumbering, fast variable TRS-80 Expansion Interface ...... $269.00 or constant locating program, LOAD and SAVE functions run up TRS-80 RS-232 -C Interface ...... $84.00 to 30",. faster. more granule' space saving. output checks. CAT MODEM: Originate and answer same as Radio Shack output of screen display to printer. all DOS commands can Telephone Interface IL ...... $169.00 now be accessed from BASIC and more ' Available in 35 or 40 ***THE CPU SHOP GAMES SOFTWARE*** track versions.( please specify) ...... $49.95 ·--.~-- DISK UTILITY 7 PROGRAM PACKAGE from Apparrat ­ MUSIC MASTER by David Lindberg: Enter up to 10 mins. of Includes the following: Entire package on diskette ...... $99.00 11111s1t io1 your TRS-80 to play, amplifier required. NEWDOS: See description above. 200 MW SOLID STATE SPEAKER AMPLIFIER: modified for DIRCHECK: Makes checks & lists/ prints directory contents ..uu11d prngr,ims (above) ...... $12.95 SUPERZAP: Reads, writes, copies and displays sectors on SARGON: BEST CHESS: This program has won chess disk regardless of protection: recovers "killed" programs. tournaments. 6 Levels of play ...... $19.95 DISASEM: Disassembles machine code to Z-80 source. by Peter Jennings-machine language,4K Level I ' EDTASM: Moves Radio Shack editor; assembler to disk. or Level II - one of the first and most popular. Play chess LMOFFSET: Relocates machine language progrnms to against your TRS-80. 3 Levels of difficulty. Includes spl'cified nwmory locations instructions ...... $19.95 LVIDSKSL: Stores, retrieves Level I programs to disk. BRIDGE CHALLENGER by George Duisman · 16K Level II, you LEVEL I: Provides Level I in Level II capability. and the dummy play against the computer in regular contract DOS 3.0 by the original author of 2.1: No keybounce. bridge. Complete with samples & instructions...... $14.95 Ch"l k EOF , write EOF, SEEK, REREAD, REWRITE, LOC, PILOT by Bob Edison · Machine language version of the v.iri.ihl<.' length records. SKIP, disk logging of messages, educational language PILOT with all the features of TINY 1~0< ff. CHAIN. PAUSE.PURGE. SET. RESET, ROUTE. RUN PILOT and more. Includes built in editor plus sample .i 11cl 1.0AD for I driw system XFER, FORMAT w/ o ERASE. DIR programs ...... Cassette $14.95 •> 111 BASIC.PATCH, LINK. ust>r defined keys, key auto repeat, Diskette version with Disk 1/0 & Math capability ...... $24.95 'I • .111d lower c<1se driver, shift lock. RS-232 drivers. SPACEWAR from MMS - Not just another space game. Fast 1·1 PROTOCOL COMMUNICATIONS ...... $49.95 real time action · 2 players with space ships fire missles • l"HAN for TRS 80 by Microsoft . plus Z-80 Macro in selectable gravity.float, no edge bounce, reverse gravity ;\-,_ . 1hler wrs,1tik, Text Editor. linking loader. Requires no float sectors of space. Selectable game speed, missle speed, ;_'K n wi th om· disk driw...... $199.95 & hyperspace ...... Cassette$9.95 KVP Ii l 'Ill"<' Middus 16K L<.'vel II or DOS: a collection AIRRAID by Small System Software · a real time shooting ()I 1n .il·l1111< · " : 1q11<1~\l' s11hrouti1ws with utilities such as modem gallery for the TRS-80. Player shoots cannon as airplanes soltw.1rl'. u: .• •· .id1ust.1l1k kl'yhoard debounce, printer fly by and parachutes land at user adjustable speeds. Requires utililil's, up1N1 .. ,v,, ,·1 1.·,1 · · l·,1pabi lity , plus much more. the skill of an arcade game ...... $14.95 C.1ssvlll' ...... $24.95 STAR TREK Ill by Lance Micklus-(16K Level II). This updated I>isketll' ...... $29.95 and advanced version won't let you win easily. Object is to AUTOK & QEDIT frnm Disl "wry Bay Software . Level ll­ explore as much of the gallaxy as possible, destroy 20 klingons lo.1ds .it top of RAM . Nl'w .ind powerful BASIC screen oriented and locate planets ...... $14.95 ll'xl editor. Movl' cursor lo dll l/W l·1,-re Oil screen, insert/ delete THE LIBRARY 100 by The Bottom Shelf 16K Level II. d1ar<1cters, l"lll l'Vl'll edit line numl1<.'rs, ,1dds auto repeat 5 cassette album with 100 business/ financial, educational, functions lo keys and more for quick and easy editing of your and home graphics and games programs. Value 50¢ per progr<1ms .(stl1te RAM sizl') !·

80-US JOURNAL Nov-Dec 1979 5 Mike What a compliment! Leo's artwork is great! You obviously have put more time in editing than watching Lou Grant. Your anniversary issue speaks for itself. Having achieved my degree from leif8/'$ 10 the Edi101 Fahrenheit a few years before you, I can relate to the fevered pitch of journalism and the problems of same. Now, what do I call a party doll with an RS-232 interface? There once was a party doll.Maude , In Muy 79 we clicln 't k now for s ure. But by the Dear Sir Who had trouble with lin ep rinte r,C/aude Sep-O ct 79 issue. we found his oddress to She expanded her interface be Enclosed find a check for a one-year in Andromeclo. S eem s thot "Android" is <1 and typed, "Giue m e a space... " subscription to your fine magazine. It is refreshing to pick up a publication "I'ue become a compatible baud'" logicul nume for someo ne fro m Andromeda. Best Wishes, Leo dedicated to one system and not be Pandora Key deluged with articles concerning other things. Concord, VA One comment on the game "Lifeboat" in 80-US Whic h brings to mind one sent in by Euan I am intersted in knowing if I c an obtain your ,Jul-Aug 79 issue. I was disappointed Aresiuk of Spokane , WA your programs on cassette or diskette. I in the time spent loading versus what the C omplained a computer one night am asking in the general sense, not specif­ program does. It seems that every time "M y c rauing for data's not s light ically for an individual program. I feel that the captain shoots one of the survivors he But there should be a la w it would be nice if you would supply is always found guilty immediately and All this input is raw source programs on cassette or disk at a the game ends. Did I miss something? I ref use to accept one more byte" reasonable charge. Perhaps a royalty can Ed Empey go tot he programmer. This would greatly Marysville, WA Mike reduce the time to get the program into Congratulations to Ted Fisher (Vol II No the machine and running correctly. Y ou mus / huue. Eel. Th!'r!' is u ~Julu dinner for 4 page 9) for drawing attention to the fact I enjoyed your newsletter f 11 Eel) so much th!' cuptuin, us well us c1 trio/ w here he is that Microchess 1.5 can be defeated in 5 that I just called in a 2 year subscription. fu uncl nol ~~ wil y C heck your GOTO's Mike moves. Nevertheless, as he says, Micro­ Keep up the good work. chess is a most enjoyable program. With Peter Ansbac her Mike! more memory at its disposal, Sargon is Iowa City. IA Thanks loads for the Diskette Size not so easily dismissed. Playing at Level 2, Doubled in your last issue. Square I sent the same moves yielded: S(JnW pro~vu nic, !t lw .'>e c opy n ~ J h l hy the me their Flippy Disk Kit and indeed, by Player Sargon Microchess 1.5 u whr;r und lJ - Se(' our softw ure ad in this notches, the darn thing will store Dl-F3 G8-F6(this settles it) F8-B4 l'>'>Llt' fur u 1i.., 1()f w hw I.'> uuuilo/Jle unci prices programs on the opposite side! Great FI-C4 B8-C6 07-05 Mike savings!! C4-D5 C6-D4(threat/ Queen) C7-C6 Gordon Gibson F3-F7 Disaster. Sirs San Jose, CA Just to see what would happen, the I have enjoyed the selection of TRS-80 Queen was allowed to go unprotected articles, but am still waiting for the Ham Dear Sirs after the last Sargon move by responding Radio related type of programs, being an I received my first two copies of 80-US a tr, it with an irrelevant entry. Sargon's Extra Class Amateur Radio operator I few days ago and have only one regret: I Knight could have taken that Queen, and would like to us<> the TRS-80 more here in wish I had subscribed <>arlier. I notice in put the King in check at the same time. It the s hac k. Thanks again for a fine mag. the .Jul-Aug 79 issue that you have run out didn't probably stunned by my display of Gerald Owens AB3X of back l'clilions. Is lherl' any cham·e of incompetence. Instead, it moved D4-C2, Corry, PA reprints or a "Best of 80-US" or obtaining evidently content with lesser gains in the copies of particular art ides ·~ Keep up the short run. W e lJl(J ll/cl li ke /< J .'> <'< ' v m w /()CJ '/ il!' r<' mus / lw good work. K D Kopperl HK Henisch '> < Jn 11'f/11111i tu 1 I rnln11l .l wit/1 reel /11< l's). //wt l>< w k See also, The G re a l 80 US Chess Dear Sir 1ss1w.'> ciri• still uuuilul>i<' Sonwrn!C' li!'I'<' /m!JO/ Tournament, in this issue. Mike Im losed is my c heck for a 3 year r<> ­ /" l"o "- w u v 111 tlw 11!11 k o f s /orU!l< '. wlwre newal. Based on your review of 1/1< '1C' W <'r1· .'> <'tw rul li111i (//!'s o/ lirn k is su!'s Dear 80-US NEWDOS1 with AUTOEDIT, I am /iiclcle n At tli1 • rut!' tlwv ur<' ~l CJ i ll !l lii1H1!1/1, w1 • In response' to your article in May-Jun sending my order for both programs and n1<1 v Ill' "ut for rl'ul />c'forl' /rn1~1 - Mi/u• 79: As a great fan of Sci-Fi, I'd like to will advise I hem that I made my decision mention that your use of the word bilsed on your review. In your growth "ANDROID" in Android Nim is in error. Dear 80-US Folk · plan!> I imagine you will be planning on a A word of criti<:ism along with the An Android is a machine in human form, reader service . Do you have any idea much like the doctor in "Alien". A Robot subsniplion order: You need to be more when ·~ Signing off now from Saudi Arabia thorough in proofreading the lines of is totally mechanical and this fact is Respectfully, Ed Hoderit:k obvious at first view, like C3PO in Star code you publish, re: ,Jul-Aug 79 p.13 Wars. But a Cyborg is a Robot like C3PO "20 X l PEEK...X2?'t?PEEK etc" I've run Our 1 or11pull'r l1<1 s ulreuciy /old us thut it with a human brain. across at least one other similar error in a would toke u 111inin1um of22 p er son ho1ir'> pe r So, in truth, the things in Android Nim short BASIC program in an earlier issue. u:eek to wlministe r u reucier serui1 c' . W e iust ,ire actually Robots or maybe Cyborgs. If you think l'am nil-pid

6 80-US JOURNAL Nov-Dec 1979 You we right! Trying to keep the code pure all Center for aggravated battery. Prior to Now everyone with Level II can have th<' i.um from the outhor through the editor my incarceration I was attending sound with 15 minutes of programming und 011 lo th <' typesetter is a problem. We Western Illinois Univ where I was and no additional expense. I've added houe token to reading the tex t backwards pursuing a degree in Information Science. sound effects and music to many of my und out loud. otherwise o crafty brain may fill Rather than waste time, I am attempting game programs and my kids are thrilled, in missing churncters. We reod forword for to read as much computer-related and I'm delighted. context though, und euen then some slip material as possible to assist me in not Karl Jahns through One of the most troublesome areas only reviewing those areas I already Allyn, WA is the greoter than and less than symbol. We covered in college, but also in studying PS: May I recommend the following huue to use o capitol "X" and white-out the many areas I did not have the opportunity values for P$ and D$: appropriate side. We now haue (starting with to cover, such as microcomputers. P$="CHOMLJTOMLJTOMLMJ" this issue) our own typesetting equipment, My problem, however, is that I am only D$.-.c"39933399333993339" operoted by o "computer oriented person", paid $2. a month in here. Consequently, I so hopefully there will be much less of that. cannot afford the cost of such material. It Sirs Mike is for this reason I am requesting a Being a rank amateur in the field of complimentary subscription to your 80­ microcomputers, I am at a loss in reading Sir!> US. Thank you for your cooperation and ads for editor-assemblers vs machine Perhaps, if you attract many benevolence in this matter. language monitors vs T-Bug etc. The international subscribers, you should ·issues of 80-US I have received to date consider changing the Journal's name to: Joliet, IL convince me you are the people to ask, as 80. R MacQuarrie you obviously want ·to help. Can you tell me in simple terms the difference White Citv, Sask.Canada You got it. and good fuck! Mike between monitor and editor-assemblers, We went through tho! once. The first two and how each is used? I am interested in issues were rn//ed "80 -NW". We still get some Dear Mike learning machine lagnuage programming muil uddressed tho! woy . No. we like 80-US I wrote you some weeks ago about a on my TRS-80, as well as learning how the iust as ii is. Mike problem of not being able to transfer bloody machine works, but cannot afford SNAKEEGG and ANDROID to disk You to buy programs until I am sure of which is were kind enough to offer all kinds of Mike which. John Cranston suggestions, all of which I had already Just a note to let you and your staff know Corning, NY tried, and none of which worked. I had how much I continue to enjoy 80-US but also tried it on a friend's system with no how appalled I am at some of the sugges­ A MONITOR (such as T-BUG) is a program luck You also offered to work something tions for curing the kkkey bbbounce which does what it's name implies, it out to make it right, but it wasn't that problem (everything from breaking off "monitors" the execution of other programs important to me so I didn't pursue the parts of one contact to filling the key in memory. Most people in referring to a matter any further. socket with moly grease!) monitor are speaking specifically about a However, I recently acquird Apparats The cure is simple and effective. Two machine language monitor, which allows you NEWDOS, and just for kicks I again tried tools are needed: (I) a 'lifter' (either one of to look at the results of program steps by to transfer subject programs to disk, those L-shaped ones used for removing breaking execution at points you decide on, using NEWDOS. Worked the first time, IC chips from their sockets or a large, and then displaying the processor's registers no problem. Can't explain it, but bent paper dip) and (2) a burnishing file where temporary information is stored. In this NEWDOS is the greatest! (available at electronics stores for less way, you can debug a machine language Dawson K Hargrove than $1 and used to keep relay contacts program as it executes, step by step. Orlando, FL dean). An ASSEMBLER, on the other hand, is a Insert the lifter beneath the c·ap of the "translator" for machine language programs. offending key, gently roc·k it back and Sirs You know that the computer executes forth.

80-US JOURNAL Nov-Dec 1979 7 AUTOK · QEDIT WIN21 AUTOK and QEDIT make BASIC programming a breeze AUTOK Learn to play expert blackjack with this practice and tutorial pro­ gives your keyboard auto-repeat: just hold any key down. and after a gram . WIN21 teaches you four effective strategies by Edward 0 . Thorp, short delay the character repeats about eight times per second. QEDIT author of Beat the Dealer. The computer is the house, and you bet, lets you edit any one-line BASIC statement ..m the screen, in place and insure, split pairs, double down. etc. The program will coach you along in full view. It's much faster and easier to use than BASIC's EDIT; plus it the way, point out your mistakes, help you keep count, and keep track even allows you to change line numbers. Included are a SYSTEM cas­ of your progress. This program is a must if you're planning a trip to Ne­ sette for Level II , an instruction card, and special instructions for dumping vada or Atlantic City. WIN21 includes a program cassette for 16K Level the program to a DOS command file $15. II, a copy of Beat the Dealer, and a comprehensive instruction book­ let. $29. The new SK version of AUTOK/QEDIT does all the above; plus it gives you single-keystroke entry of 25 common BASIC keywords. ,Just hold down the shift key , hit a letter key, and an entire word (FOR. NEXT, CHR$(. etc ) appears at once. The result? Greatly accelerated program entry. Version SK includes the Level II SYSTEM cassette. MORSE instruction card, DOS instructions. and a special keyboard la yout card showing the command locations . $19. Learn Morse code with your TRS-80! Load the program MORSE, connect the cassette AUX plug to an audio amplifier, and choose any lesson from an introduction of the letters ETAINM to a 35 wpm speed drill This interactive program coaches you like a professional tutor, emphasizing those characters giving you the most trouble. The speed drills let you enter copy during or after transmission and score you on your accuracy . MORSE on cassette for 16K , Level II and instructions: DISCOVERY $15. BAY SOFTWARE co. GOMOKU With GOMOKU you play the computer in the ancient Japanese board game of five-in -a-row Pl ayed on a 9x9 grid using full TRS-80 graphics. thi s game will provide countless hours of challenging excite­ P.O. Box 464 Port Townsend, WA 98368 ment Cassette for 16K L'evel II and instruction card: $15.

~ No~ INDEX OF ADVERTISERS .. BO-Software Critique .. . 62 -A-dd_r_e'-'~~~~~~--~~~~~~~~~~~~~­ 80-US Software .... 33 I Zip Acorn Software 51 I AP Systems 55 Aries Computer Products 61 Audio Video Systems 30 I Please send: ACS 3rd Cover I Automated Simulations 50 ___ copies AUTOK / QEDIT @$JS ea $ ____·------·· ·· Basics & Beyond 60 Carta Associates 13 Computer/and of Tacoma ___ copies AUTOK / QEDIT (SKI @ $19 ea Back Cover I Computrex 55 I Corvus Systems 1 copies MORSE @ $15 ea ___ CPU Shop 4 .5 Cybermate 17 ___ copies WIN2 l @ $29 ea Cybernautics . 44 I I Digital Timing Devices 50 copies GOMOKU@ $15 ea Disco Tech .. 47 I ___ Discovery Bay Software 8 EDU- Ware Subtotal $. ______50 Electronic Specialists 60 I FMG Corp 59 Wash residents add 5 I % sales tax : International Electronics Corp 60 Level IV Products 21 TOTAL $-~~~~­ LOBO Drives . 37 I Marcrtronics 49 I Matchless Systems 9 Micro Computer Devices 16 I ::::::::' O•'-• '"'""' Co•d No Micro Learningware 63 Micro Management Systems 63 I Micromatic Systems 19 0 Charge Mastercharge • Exp. Date Micromation 24.25 Miller Microcomputer Services ..45 •4 Digits Above Name ------­ PERCOM 2nd Cover I Peripheral People 61 I Practical Applications .. 61 Date Program Store .. 15.29 Sawyer Software . 45 Scott Adams .. .. 60 , Software Association \I'~-- · - 50 •• Taranto & Associates. .. 31 Three great new products for .. • • • • TRS-80* Owners

MS-80 MINI DISK SYSTEM

Each add-on drive includes one minifloppy disk drive. case, power supply and regulator board. • More Storage Capacity • Fastest Access • Does Not Void TRS-80 Warranty •Shipped To You Ready To Run

INTRODUCTORY PRICE: $395 PER DRIVE SUGGESTED RETAIL PRICE $445

MATCHLESS FEATURED PRINTERS

Features: • Documentation Included • 80 Columns. 63 Lines Per Minute, Bi-Directional, Nominal Thruput • High Reliability - Heavy Duty Cycle, 100 Million Characters Print Head Life • Sprocket Feed • 5 x 7 Dot Matrix Character Font INTRODUCTORY PRICE: $895 SUGGESTED RETAIL PRICE $995

APPARAT NEW DOS+ $99 Features: • Modified Editor Assembler with Disk 1/ 0 and new cross reference feature. User Information is obtained from Radio Shack's Editor Assembler documentation. • Super-fast machine language Disassembler program, with cross reference feature. • Apparat's own Superzap, a Hex dump utility to examine or modify disk or memory locations. • Transfer machine language tapes directly to disk. • Enhancements including built-in key-debounce (eliminating double entry); option under DOS or BASIC to print the screen to your MATCHLESS featured line printer; execution of a BASIC program.

NOBODY CAN BEAT OUR MS-80 WARRANTY: 90 days on labor, One Year on parts. ATCHLESS Dealer Inquiries Welcome *TRS-80 is a Radio Shack product. Prices subject to change without notice.

18444 South Broadway, Gardena, CA 90248 • (213) 327-1010 9S YOUR SU'BSCR9PT90H vue? P~e clcedt yOWt ltUlifUuJ ~. ij flee lml two. dig~ ~ yOWt ~uboertiptum code ~ -IO fJum tJm u yOWt lml ~uef We lwoo ~l»tle ~ g'U!llt llttlleWlt ~ ~ tlwt you WOM.'l waHt to. HliM. 3o. ~eet ~~ flee~ °"' flee Meli ~ um u~. ~ut it°"' flee ap~IUJPltiate calUL mflee ~oU ruuL 'WlUlut it to. ~.

~lJ~[Mi]~ ffe\lJ [g1 ffe\ [M [](Q) [Mil

RANDOM ACCESS has a new name! have since heard from Paul Scott in So you finally got Microchess 1 .5 on Seems another computer mag has Viginia, who says the examples in this disk, and now you want to run it with been using that title for a much longer book will not work with all Level I NEWDOS. It now flies right through time than we. This, after being machines. According to Paul, there the instructions and the screen acts brought to our attention, conjured up are 4 different Level I ROM's and the like it has been bitten by a bug. The thoughts of "Uncouth borrowing" and examples in the book work on all up to answer is to hold down the SHIFT and other assorted things. So it is now and including the D Revision board, UP ARROW keys while you boot up called "Items at Random", which it is. i.e., they work on the B, C, and D NEWDOS This disables the key Revisions but no later. de -bounce routine in NEWDOS which iust happens to be in the way of We heard from Rod Hallen the other Microchess 1.5. day, said he was pleased with his articles in the Sep-Oct 79 issue. WE MOVED!! However, he did point out a couple of A . Dickey of Ft. Worth, TX called to errors in his drawing boar? article in NEW ADDRESS say that they have a FORUM 80 TRS ­ that issue. In paragraphs 2, 3, and 4 on 80 Bulletin Board System going. The page 22 the% sign should have been AND PHONE: number to call is (817) 923-0009 an @ sign, and in the second paragraph on page 23 the reference to 80-U.S. JOURNAL Want a quick way to print the arrow lines 840 and 910 should be to lines keys on the screen? Try holding down 860 and 930. This can happen when the Y and I keys together, then hit K, L, you write an article and then 3838 South Warner Street M, or N, and you will get the letter you renumber the program. Rod says he is Tacoma, Washington pushed plus the arrow. Then simµly going to West Africa for the State edit out the letter. This was published Department for a couple of years and somewhere earlier this year, but we doesn't expect to be turning out much 98409 couldn't find the reference to it material for the mags. Good luck, and anywhere - possibly OCTUG, we await your return and more articles (206) 475-2219 CHICATRUG, or INSIDERS. At any like Drawing Board! While we are on rate, its worth repeating. the subject of Drawing Board, a bug in the program was pointed out by Jim No, we haven't built an edifice. Crocker of Tacoma, WA, who took it Actually, we are now located in about apart and discovered that the " greater 4000 square feet of what was once a VTOS 3.0 is out, and T. Pepin tells us than" in line 1030 should be a " less construction office and shop - across that his SPOOLER for the TRS-80 than" . You would probably not notice the street no less, from the US Post (Sep-Oct 79 page 1 6) will not work this until you try to back across the Office Bulk Mail facility. Kindly use the with it unless you make a couple of screen while printing characters. new address and phone, the old ones modifications to the basic program will still get here for the time being, listed on page 17. In line 80 change but we would like to discontinue the the &H4510 and &H4511 to &H4610 In the Sep-Oct 79 issue, we reviewed PO Box and old phone number as soon and &H4611 . Do the same in line 270. the TRS-80 Assembly Language as possible. The old phone number Seems VTOS moved the interrupt Programing Book sold by Radio Shack will get you call forwarding to our new table up an even thousand! (What else (written by William Barden, Jr.). We number until about 15 Nov 79. did they do?)

10 80-US JOURNAL Nov-Dec 1979 Bob Hurwitz at 1250 E Hallandale The Microcomputer Investors working on yet another, which should Blvd Hallandale, FL 33009, would like Association has just published be ready about January. Unfortun­ to start a user group in his area. He can another of its journals. In this journal's ately, some of Leo's earlier games will be contacted at (305) 454-7331 days 200 pages are 20 articles which deal not function properly 1ivhen using DOS and (305) 893-2274 in th8 evening with utilizing microcomputers to make 2 2, they used the NAME command, and manage investments. Practical remember? Trying to make that computer programs accompany half correction to already released David L . Mays ot SL IVlarys, WV the articles. The Microcomputers programs is impossible. The new ones recently sent us a HEATH -GRAM from Investors Association is a nonprofit, will work with all DOS as well as 16K the HeathKit people. Attached to 1t profession association which was Level 11 . ---AND in the OUR FACE IS was an application note for using the formed three years ago to enable RED department, we received 500 Heath H- 14 Line Printer with the TRS ­ members to share data and each BEEWARY and 500 ANDROID 80 It gives all the "skinny" on using information For an information NIM from Microsette with the reverse ttie Heath H-14 with the TRS -80 and packet send S 1.00 to Jack Williams, side blank! We like the added even includes a basic program driver. MCIA 902 Anderson Drive insurance of having both sides If you are in desperate need of this Fredericksburq, VA 22401 . ' recorded, but again its too late to information, call Bill Zurney at the correct that mistake. So if you get one Heath Co (616) 982-3309. If that which doesn 't plciy, we will be more doesn't work, call us. Now H1at we have moved to than happy to replace it free, which is somewhat adequate quarters. 80-US sornE;!thing we did all along anyway TCS PO Box 10281 Norfolk, VA Software is expanding the line Note 23513 is a lively newsletter which, our ad this issue. Our aim. as it has From Miller Microcomputer Services according to their Jun-Jul issue, is been since the start, is to carry items comes this. " IMPORTANT!! CTR-80 published on rainy weekends. That not available everywhere else. We tape recorders made before Feb. 1 979 issue had only four pages, but was want to keep our software unique (Leo can ruin tapes! If yours does not have crammed with good information gave us a good start at it!), and are a 10-Microfarad capacitor across the Membership is free, but you get the quite careful about what we will offer. erase-head leads, use the recorder in newsletter 1f you pay the mailing cost. We tiave added some very interesting manual mode until corrected; i.e, It contains a free bulletin board. games written by Richard Taylor, Scott remove the front (motor control) plug . - - ~ - . Carpenter and others. Most of them at all times' The date code may be read BARDEN THROWN OUT? Bill Barden employ the use of sound. We have yet on the inspection label in the battery has stepped out of the Editor position to beat (without cheating) the one by compartment - 2A9 means February of the Orange Co TRS-80 users Group James Talley. For those of you who 1979 If your CT-80 is earlier, ask your No, he wasn't thrown out - it was other don't want to type in all the listings we Radio Shack dealer for the free cornrnittrnents which got him The publish, some of them will also be check upgrade for this problem!" new Editor of OCTUG 1s Ed Faulk 2531 available on cassette. Those on which E Commonwealth, Fullerton. CA we have only first publication rights Make a nice day, and tell them you 92631 we can't resell of course. Leo is saw 1t in tlie JOURNAL. FOR THE LITTLE NVBBLERS

LITTLE JACK HORNER Little Jack Horner sat in a corner Eating a 20 pound pie He Stuck in his thumb, And pulled out a plum and said, "This is 15 % of the pastry!" So, show you're not dumb, What's the weight of that plum That little Jack found so tastry?

L B Christopllerson

80-US JOURNAL Nov-Dec 1979 11 • • • • • • • • • • • • • • • • • • • • • • • • • • • •

New PROVUCTS • • • • • • • • • • • • • • • • • • • • • • • • • • • •

DUAL SERIAL INTERFACE

POLYTRONICS CORP Methodist Hill Lebanon, NH 03766 (603) 488-1710 announced the availability of the DSl ­ 80, a dual serial interface for use with the TRS-80. The unit, complete with manual cassette tape and six month warranty is available for a limited time only at the introductory price of $199.95. The DSl-80 provides two serial output ports with both current loop and RS 232 interfaces. Baud rates are selectable with jumpers requiring no tools or soldering.

DATA ENHANCER (MODEL 80)

MICROSETIE CO 777 Palomar Ave, Sunnyvale, CA 94086 has announced their DATA ENHANCER (Model 80), an attachment between the TRS -80 and its cassette player to enable reading DUAL SERIAL INTERFACE marginally recorded data over wide ranges of volume settings on the recorder. Works for Level I or II tapes. Price is $45.00 which includes power supply and a 90 day warranty and an FORTH-MMSFORTH unconditional guarante e of satisfaction. Is a structured language somewhat similar to PASCAL except that in FORTH, the programmer defines additional commands as they are needed. The commands can be immediately compiled into the language and subsequently deleted. Assembler code can be inserted directly in the FORTH program using a function of the language itself. . MMSFORTH (Miller Microcomputer Services 61 Lake Shore Road, Natick, MA 01760 (617) 653-6136) has a significant advantage over any FORTH currently available for the TRS-80, and many features not available on other versions. In spite of this it retains high compatability with international FORTH standards . Persons accustomed to BASIC interpreters will gasp at the execution speed of FORTH DATA ENHANCER (Model 80) programs. The MMSFORTH System Diskette costs $64.95 plus $1 .00 shipping.

12 80-US JOURNAL Nov-Dec 1979 MICROSKETCH II ZCHESS WITH BLITZ MODE

Microsketch II is written in TRS-80 The Software Association PO Box Basic (16K Level II or 32K Disk). When 58365 Houston, TX 77058 (713)482­ loaded under Disk Basic, it takes full 0883 has announced Z Chess, one of advantage of Random Access files for the "Classic Games Series" of mach­ rapid screen or command string ine language programs for the 16K storage and retrieval. In addition to the level II TRS -80. Z Chess is one of the Main System, Microsketch contains fastest most versatile chess five subsystems: Auto Pattern opponents available for the TRS-80. It Desiqner, Typewriter, Biq Print, has a BLITZ mode, in which a full 3 ply Graphic String Creation & Command search takes only 10 seconds. It will String creation . Microsketch II solve "mate in two" problems fast. includes 10 pages of documentation SUPER ISOLATOR Priced at $1 7 .95, specify Dept 80 and it, together with the screen save when ordering. utilities are available from' ELECTRONIC SPECIALISTS '\ International Data Services, PO Box announced the expansion of its 4908, Philadelphia, PA 19119, price is ISOLATOR line . Model IS0 - 3 GAMMON CHALLENGER $3.95 comprises individual SUPER FILTER­ ING for each of three 3 ··prong sockets. A backgammon playing computer Heavy duty spike and surge program called "Gammon Challenger suppression is also included. Intended 1.O" is available from Computer for Microprocessor installations in CableVision Inc 2617 42nd St NW industrial or severe interference Washington, DC 20007 (202)337­ HACKERS DELIGHT prone environments, the SUPER 4691 . Written by Ray Daly and Tom ISOLATOR also provides protection Throop, the initial version was created ELECTROLABS, PO Box 6721 against damage from lightning and for the TRS-80. It has three levels of Stanford, CA 94305 provides Instant electrical machinery spikes and play and a variety of special features. Electronics by Mail. Their catalog lists surges. It can isolate and protect an Provisions are made for saving the everything from cables, capacitors 1875 watt total load, with each socket board for later recall, changing sides and CPU's to Wire Wrap, Video capable of isolating a 1000 watt load. with the program, changing level of Monitors and 280 systems. Truly a Cost is $72.95, from Electronic play or setting up any position. homebrewers delight, write for this Specialists, Inc 171 South Main St. "Gammon Challenger" sells for catalog. Natick, Ma 01760 (617) 655-1532 $14.95 and is immediately available. ------·------..---·------­ NOW FROM CARTA ASSOCIATES, creators of computer management systems for business and industry, the CARTA LESSON LIBRARYof For Use With the EDUCATIONAL SOFTWARE TRS-80* Level II 16K

Make learning easy, at home or in the classroom, with educational software from the Carta Lesson Library. Carta Lesson Library cassettes turn a TRS-80 Level II 16K computer into a simple, effective learning aid that puts new worlds of knowledge at your fingertips.

• The Master Lesson Program gives access to all Carta Lesson Tapes. • The Lesson Tapes cover subjects in Math, Social Studies, Language Arts and Science, for any level of ability. • The Lesson Builder lets you create your own Lesson Tapes on any subject. Use the Carta Lesson Library: • At Home. You or your children learn at your own pace, and get real study saturation. • In the Classroom. The Library drills; administers, times and scores tests; and retains scores in memory. You choose your own answer format (true-false, multiple choice, fill in the blanks).

Carta Lesson Library tapes are available at your computer dealer. Stop by and ask for our brochure and latest list of Lesson Tapes, or write for our free brochure CARTA ASSOCIATES INC today. 640 Lancaster Avenue, Frazer, PA 19355 "TRS-80 is a registered trademark of Tandy Corp., Ft. Worth, Texas

80-US JOURNAL Nov-Dec 1979 13 of magnetic media, continuous forms, printer & terminal ribbons, Perforator Tape & Accessories. Data Storage devices and Programmer/ Engineer Aids and more. Write or call for their catalog. (They also carry Selectric Print Elements and Diablo Print Wheels).

DUST COVERS

Know what dust does to your system? Imagine dust on the read head of your ·:1 ,1'cassette or disk drive! CompuCover, , PO Box 324, Mary Esther, FL 32569 has an attractive computer dust cover, made from liquid and dust repellant vinyL They are custom fitted for each piece of your TRS-80, and may be wiped with a damp cloth. Cover for keyboard, cassette & video is $19.95. Disk is $3 ,95, double disk $6,95

MAILING LIST

BASIC SHORTHAND Is a General Purpose mailing label program for the TRS-80 which enables the user to start and maintain BASIC SHORTHAND HEATHKIT PRINTER INTERFACE a mail list or similar data base, Operations include Add, Delete, Remember Level I shorthand, how Cost Effective Computer Services, Search, Sort, Modify and Printout. The quickly and easily you could wirte 728 S 10th St. Suite 2, Grand user can control exact placement of up BASIC code? Now, WEB ASSOCIATES Junction, CO 81501 has introduced to five labels across the page as well announces TS HORT® a Level II BASIC the CH 14 interface. It is designed to as the placement of the Zip code on shorthand which gives you single interface the HeathKit H14 printer to each labeL Over 500 names can be single key stroke entry for 32 difficult the Centronics parallel port on the stored using one disk drive; over 1500 to type, long and/ or repetitive TRS-80 expansion interface. The unit with two. The program is designed to commands. Immediately after each eliminates the need for an RS 232 and be easily used without prior single key stroke entry, the entire requires no software to use . knowledge of computers. Written in command is spelled out in its normal Installation takes 5 minutes and Disk BASIC for one or two drives, the format on the monitor and/ or listing, allows use of Level II commands, complete program comes on a diskette TSHORT features a KUSTOM® key, LPRINT and LUST. CH 14 is available and includes instruction manual and changeable anytime, for user defined for $99.95 hard copy listing for $39.95. Available functions up to 64 characters of for immediate first-class delivery from instruction, as well as a self-ex­ US ECONOMY SIMULATION Software Industries, 902 Pinecrest. ecuting " GOTO 1 O" function (line 10 Richardson. TX 75080 (214) 235­ may contain "RUN'', TSHORT retails Applied Economic Analysis has just 0915 for $9.95 and may be purchased released a Quarterly Macro-economic t~.rough WEB ASSOCll'TES, PO Box Simulation Model of the US Economy IBM MODEL 50 INTERFACE 60-C, Monrovia, CA 91016, Check, for the TRS -80, This is a professional MO or VISA/ MC phone (714) 559­ simulation model constructed using 6249 CA residents add 6% tax. MEDIAMIX introduces a line of Two Stage Least Squares and utilizing products related to interfacing the Simultaneous Equations, The model TRS -80 to the new IBM Model 50 has been developed for use by those Electronic Typewriter. These products TELEPHONE DIALER whose business operations are include a hardware interface for affected by government policy actions. connecting the Model 50 to the CPU or Software Exchange, 2681 Peterboro. With this model, you can check the expansion interface . Software W Bloomfield, Ml 48033 announces a government's projections on inflation, includes a printer driver program. telephone dialer program for the TRS­ interest rates and over eight other patches for the Electric Pencil, as well 80 Level II computer. It allows the important economic variables, The as other special application programs TRS-80 to dial the phone and is called package includes two disks. user (including a program for typing the Z80 Telephone dialer program. For manual and documentation on a TV / Movie scripts). The IBM Model 50 example, typing " P" may get you the complete simulation run of the US when combined with the MEDIAMIX Police, or "F" the Fire Dept. No economy for the next six quarters, It products can type in 10 or 12 pitch internal connections are made to the costs $179 .00 from APPLIED regular type, or proportionally spaced computer, Up to 20 different numbers ECONOMIC ANALYSIS, 4005 Locust type... all with right justification may be dialed using the letters A thru Ave. Long Beach, CA 90807 (21 3) capability. Sentence and word T. Both dial and pushbutton phones 424-3652 underlining, title centering, indented may be used. The Dialer program is paragraphs and an array of special available for $7,95, including a COMPUTER SUPPLIES codes are available that allow the user cassette tape with the program and to fully utilize the many features of this complete instruction. with interface Alpha Supply Co 9625 Mason Ave. marvelous typewriter. MEDIAMIX Box circuit diagram and a parts list. Chatsworth, CA 91311 (213) 882­ 8775, Universal City, CA 91608 9818 has a cataloq featurinq all forms

14 80-US JOURNAL Nov-Dec 1979 TRS80 tm~HE PROGRAM STORE TRS80 re a IS 0 f t f/I'\.' (202l 337-4691 4 2 0 0 Wi s c o n s i n Ave N W W a s h i n g t o n D. C 20016

SYSTEM SAVERS by Tom Stibolt· from Acorn If you ever use the SYSTEM COfl111and, you should buy this two program package. These programs allow you to save any system tape on tape or disk, plus offer several features for machine language JF YOUR COMPUTER LIKES PROGRAMS, YOU WILL progranmers. Sound effects and music are new for the In Computer Cassettes Magazine, R0bert TRS-80. You will find below programs with LIKE US, WE CARRY MORE PROGRAMS FOR THE Purser said that a tape duplication sound which wi 11 entertain both you and RADIO SHACK TRS-80 COMPUTER THAN ANYONE, program "should be in everyone's library." your friends. All require Level II and We agree and be1e i ve that Sys tern Savers is 16k, except Star Warp which only needs 4k. WE ARE DEALERS FOR OVER THIRTY DIFFERENT the perfect answer. COMPANIES AND WE CONTINUOUSLY SEARCH FOR With FLEXL, which is one of the two programs, you can make back-up copies of EXCITING, NEW PROGRAMS, any system fonnat tape. Most often a bee wary · cassette . that you make will load easier by Leo Christopherson from 80-U.S. than an orgina1. This a1so protects the Said the spider to the bee •.. Try to You MAY HAVE NOTICED OUR CHANGE OF NAME. valuable copies of your system programs. survive as the bee against the spider. By FORMERLY COMPUTER CABLEVISION, WE HAVE Pl us you can find the filename on ' any author of Android Nim. $14. 95 system tape because it is displayed on the JUST MOVED INTO OUR NEW STORE IN screen. If· you ever forget to save a music WASHINGTON, D.C. WE HAVE NOT ONLY TRS-80 program filename, just use FLEXL to by Tom Stibolt from Acorn recover it. And at anytime you can stop Enter scores to have your TRS-80 play SOFTWARE, BUT A VARIETY OF EQUIPMENT, the reading _of the ·tape by simply pressing music. Works with both disk and tape. The PLEASE VISIT, BREAK. , "Sting" theme provided on the tape . $9.95 For any machine language progranmer, FLEXL offers the advantage of producing morse more efficient tapes than the object files by Phil Pilgrim from Discovery Bay . from the assembler. It is also written to Ever want to learn Morse code? Here's interface directly with the Small Systems . your chance. Interactive program provides RSM-1 and other monitor programs. And more rapid mastering of material. $14. 95 machine 1anguage tapes can be merged following the prompting of the program. vatch race SJ Disk drive owners can use TD! SK to save 6y John Greenwood from Mad Hatter TRS-80 any system fonnat tape onto disk. Sargon, Turn-of-the-century board game of ski 11 Adventure. Airaid 1 Editor/Assembler and and strategy. Sail around three buoys a t rademark of Tandy Corporation other programs cannot normally be loaded avoiding islands and peninsulas. $7 .95 to disk. Nm·1, TDISK allows you to save these programs onto disk. After DOS READY life two you will be able to simply type the by Leo Chri stopherson from 80-U. S. filename and be up and running. It even Two programs. Battle of Life allows electric oenci I loads non-contiguous tapes . · TDISK will several players and has noisy creatures. from Michael Shrayer greatly increase the benefit of owning a Other version is Conway's Life at 100 Considered the best word processing disk drive. generations per minute. $14.95 program available for TRS-80. Extremely And as a FREE BONUS, Acorn Software easy to use, Pencil 1ets you produce Products, Inc. also provides complete star warp+ mailing lists, forms, large numbers of instructions on how to load MicroChess 1.5 by Mike Partain and Ray Daly from Acorn original correspondence, and camera ready onto disk. A short BASIC program will let Star Warp requires real-time positioning copy for printing. you play chess directly from disk. of cross-hairs and includes a timer and The editor of Creative Computing said Complete your system with the routines scoring. Tape includes Graphic Lunar that it "will open a whole new dimension not found in either Level II or DOS for Lander program. Both have sound. $9. 95 for any writer." 16k Level I or II $9g. only $14.95. Order your System Savers, today! mind boggle Disk version $150. by John Greenwood from Mad Hatter editor New, real - time word game for all ages. DISASSEMBLER 11 11 by Dick Bowles from Software Associates Guess hidden word based on cows and Word processing with upper and lower case by Roy So 1toff from Mi sosys & Acorn "bulls" (clues) and sound. $7. g5 without any hardware modifications to the This two pass Z-80 dis'assembler produces TRS-80. Insert or change lines, search symbolic lables with output to either the star trek for words or phrases, print who1e or video monitor, printer or tape. Radio 'by John Christman from Acorn partial text, save and retrieve on disk, Shack's Editor/Assembler can load the Non-scrolling display and sound niake this center lines, right justification. tapes. If you own the Editor/Assembler, version interesting for any Captain. Real Requires 32k and disk. $39.95 comp 1ete the package with this program. time and moving Klingons. $9.95 Program on tape for two different· , memo·ry locations. TRS Level II $19,g5 snake eaos by Leo ChriSlopherson from 80-U.S. Talking snakes and you play a version of QEDITIAUTOK '21' . Animated, songs . . . almost a by Phil Pilgrim from Discovery Bay cartoon. $14.95 AUTOK adds auto-repeat to any key on . your TRS-80. QEOIT is a quick, two-dimensional bandito editor which complements the EDIT by Doug Prousser from Acorn ······································•··· ~unction. , Both. ma.chine language modules Take a gamble. Pull the arm on this SIMULATIONS include a built-in relocation routine to graphic slot machine with sound. $9.95 optimize memory. TRS Level II $14.g5 santa pa rav ia $lg.95 version includes single-stoke android nim bY Rev. George Blank from Instant conmands. For example, press SHIFT 'Q' to by Leo Christopherson from 80-U.S. As ruler you struggle to create a kingdom run a BASIC program. Animated, squea·king androids play well based on how well you manage your medieval known game of Nim against you. "It is a city-state. Up to six players compete to Credi.t card callers may call our classic." "The best demo tape for Level II become King or Queen. 16k Level I or II number 1 i sted above . Or c 1 i p the • • • " - Purser. $14.. 95 $7.95 coupon and mai 1 your order today. · DDODODDDDDDOOOOOOOOODDDDOOOOOOO 0 oil tycoon g The Proqra.m Store, Dept C by Dwi ~ht Meyer from Instant o 4200 Wisconsin Ave NW Two player compete in the search for the g Washington DC 20007 .. I.I • . ' • "black gold." Invest in research and take 0 .. ' ""...... " " ...... your chances on geologists' reports. Once gYES, please send these TnS-80 programs you strike oil, you try to control the g title price 1\fl" tWQ ;::::ggs market. 4k Level I or 16k Level II $7 .95 0 android nfm 0 .1• 0 Population 0 ...... from Instant Software 0 0 1 Two players either cooperate or compete in 0 gammon challenger rn 0 trying to make a better world on Techno 0 by Ray Daly and Tom Throop 0 and Primo. Also includes Stellar Wars 0 This backagammon playing program game. 16k Leve 1 I I $7. 95 0 postage: J....!.QQ_ 0 total: has three levels of play and a 0 variety of special features. They 0 Pork barrel 0 include saving and recalling board by Rev . George B1 ank from Mad Hatter positions, setting up a particular g name : ------­ Play a Congressman deciding how to vote on 0 board position, switching sides sensitive issues without losing your a address : with the program, letting the constituency. 16k Level II $7.95 g city, state program play again, and changing g & code______the level of play. stock market 0 Chall e ng e r 0 Q Check to the Program Store has played quite well by Andrew Sartori 11 o from Acorn 0 against other programs and 0 0 MASTERCHARGE me bank code: Upto four players invest in stocks with 0 dedicated games. In fact, it was buying on margin all owed under current SEC 0 CVISA exp date: the subject of a recent story in 0 card number: regulations. Random volatility, news 0 Person~l Computing. Enjoy playing • flashes, sfock splits, anct j bull and bear 0 0 signature: ba ckgammon today. 16k i.evel II $14.95 markets. 16k Level II $9.9~ 0 Mr. Comp Uter 01010 Computer Lane Tommorrow, U.S.A.

Dear Mr. Uter: M r Comp Uter 0 \ 0 \0 .Computer Lane No need to settle for second Tommorrow U SA best any longer. Now you can produce " hard-copy" print­ ~~a~:-:~ ~~e~ eul e tor second outs on a Selectric 11 , and do it bes! any longer Now you can at a low costl roduce hard·COPV pn nl " i You really should get more ~uts on a _S e l ~c tr1c II and do it information on SELECTRA­

IF YOU OWN A TRS 80 ~- ..... [$EL~rTOA.JlRINtJ pUT'S " "'V"CJ'if"~J"iJ ST A CABLE LENGTH AWAY FROM A TypewriterQuality: ) ''HARD COPY''( clean, clear, high-fidelity Word Processing System! ...just a simple hook-up with the supplied cables * SELECTRA-PRINT is VERSA TILE! and your SELECTRA-PRINT is ready to run. SELECTRA-PRINT is compatible with most micro­ For Word Processing on a TRS-80, for example, and mini-computers including PET • Apple • just command "LPRINT" and SELECTRA-PRINT Heath HB • IMSAI • Cromemco • Alpha Micro­ automatically outputs clear, clean, high-fidelity, systems • Space Byte • North Star Horizon • hard copy. . . and of course you can use it to SWTP • Vector Graphic• Sol• Polymorphic• print-out any other information you might need. Digital Group • Ohio Scientific• Altair• Sorcerer Xitan e Rex e KIM e EXORcisor ___ _ SPECIAL NOTE: SELECTRA-PRINT is a Selectric II typewriter and although it has been modified for computer "From now on, PRINT-OUT print-out, it may still be used as a standard takes on a new meaning" office typewriter. M30 PRICE: $1,850.00* *TRS -80 Version $2025.00 micro med OPTIONS: Dual Pitch $195.00 computer Correction Feature $195.00 Noise Reduction Feature $65.00 devices RS-232 Interface $195.00 inc. \Jllllltr 960 E- Orangethorpe, Bldg. F Anaheim, California 92801 Telephone (714) 992-2270 "Innovators to the Microcomputer Industry" * • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • * • TRS-80 OSERS TREAT YOOR COMPOTER TO THESE EXCITING PROGRAMS! ENHANCED GRAPHICS and MORE OPTIONS IN OOR CORRENT VERSIONS PRICED AS LOW AS 49¢ PER PROGRAM!

AIOS/ 1· This program combines Natural Language with action verb programming. 4K & up. NLOS/1- Give your TRS-80 the power to read and understand English! Bu,ild conversational data bases, solve problems and answer questions relating to information learned. 16K MAZE/ 1- Randomly generate and solve Mazes of selected complexity. 4K CONSTELLATION/ 1- Unique graphics display the night sky, then travel to any star and view the night sky of that Alien planet. 16K YG/1· Players may challenge the TRS-80 to a game of Yahtzee. 16K CARTOON· Create and run animated pictures on your screen. 4K CP/ 1- Randomly generate and solve Crossword Puzzles. Graphics. 16K BGSG/1- Command Colonial or Cylon fleets in Battlestar Galactica. 16K CHECKERS· Challenge your TRS-80 to a game of Checkers. Graphics. 16K LN D/1- Buy and manage properties as you build your Real Estate empire. Beware, your tenants may give you trouble! 4K MNP/ 1- Challenge your TRS-80 to a game of Monopoly. 16K SWG/ 1- Challenge your TRS-80 to a game of Scrabble. 4K TTT/1· Challenge your TRS-80 to a game of Tic-Tac-Toe. 4K POKER· Challenge your TRS-80 to a game of Poker. 4K BWL/ 1- Challenge your TRS-80 to a Bowling match. 4K CAL/ 1- Turn your TRS-80 into a powerful Calculator. 4K TMT/ 1- Chase a madman forward and backward in Time. 4K CLOE- Become a master Detective and solve murder mysteries. 4K NB/1- Hunt down the enemy's fleet with this exciting Naval Battle. 4K AR/1· Test your skill in a wrecked car in Demolition Derby. 4K BB/1- Challenge your TRS-80 to a Baseball game. 4K CS/ 1- Manage a nuclear power plant in China Syndrome. 4K LL/ 1- Attempt to land an extraterrestrial Space Craft. 4K ENV/ 1· Test your knowledge of Ecology. 4K RBT / 1· Guide a series of bombs in an attempt to blow up a group of invading Androids. 4K WT/ 1· Lead a Wagon Train safely across the prarie. 4K WAR/1· Command Airplanes, Tanks, and Armies in a war. 4K MS/ 1· Test your Math Skills at various levels of complexity. 4K SHTI 1· Turn your TRS-80 into a Shooting Gallery. 4K PB/ 1· Turn your TRS-80 into a Pinball Machine. 4K SW/1· Engage in Interstellar conflicts against the Zetars. 16K BNG/ 1· Play an exciting game of Bingo with your TRS·80. 4K GR/ 1· Challenge your TRS-80 to a game of Gin Rummy. 4K BJ/ 1· Challenge your TRS-80 to a game of Black Jack. 4K PP/ l · Challenge your TRS-80 to a game of Ping-Pong. 4K PLOT/1· Turn your TRS-80 into a Geometric Plotter. 4K TWP/l· Turn your TRS-80 into a powerful Word Processor. 16K TRG/ 1· Generate reports from tape data files with headings, control breaks, record selection and totals. TRS/1· Multi-key field Sort Utility for tape data files. 16K TDB/1· Create, maintain and inquiry to Tape Data Base files. 16K INVASION· Prevent an Alien from destroyinfj the earth. 16K

Level II Basic Complete Instructions, CLOAD Tested Cassettes: $4.95 Source Listings: $1.95! Order 2 or more programs get 10% off. All 41 source programs for $19.95! Coming Soon: Diskettes $6.95 * Source listings easily adaptable to Pe~~ Apple,·and other Basic Computers! * • : CYBERMATE : *· Order Today! R.D. 3 Box 192 A Order Today! • * Nazareth, Pa. 18064 • '* .. ·········~••¥••······································· · 80-US JOURNAL Nov-Dec 1979 17 A ~'16lJ'Ulfft W- giwpft KUl!k b~ im yowi ui$.

RtuJ G'Udk. 'B~. KtA wilk (l 'Wot bUufutg wpab1£Uy.

This program can graph any function moving them, you· can display various finding methods. If you are in graphic expressible by a BASIC subroutine. It segments of the function. mode, you will be able to see the method can also find the root of a function by any When an asterisk appears in the lower close in on the root graphically. one of six different methods. The left corner, you may enter one of the If you are in numeric mode, you get a program requires 16K. following commands: table of the approximations. Both views To graph a function, you must first give insight to the actions of the root insert the function in line 90. This is a two finding method used. line subroutine with the RETURN G - display function graphicall!,1 After you have chosen your method, statement already placed at line 100. The between current endpoints. you will be asked for two tolerance function may be complex, and up to 255 N - display function numerically values. The first is the interval error characters long. The function already between current endpoints. tolerance. This determines how close the placed there in the listing: 0 - display function in current mode root the program finds will be to the (FU=SIN(X)+2*COS(2*X), may be between current endpoints. actual root. (A typical value to enter here changed. Try FU=TAN(X) for example). I - input, numerically, new end­ is 1E9). The second value is the function The subroutine must return a value FU points, then display function error tolerance. This is the maximum when given a value X. There is no need to between those endpoints in current value that the function will have at the worry about division by zero mode. root that is returned. (A typical value discontinuities, as these errors are R - move right (or lower) endpoint, for single precision is 1E4, for double trapped. However, function call errors with arrow keys. Press enter when precision, 1E9) . will crash the program. If this happens, it finished. The reason for these two tolerance is no disaster. Just run the program L - move left (or upper) endpoint values is that with round-off error, the again, and watch the endpoints more with arrow keys. Press enter when value returned will never be exact. By carefully. No data is lost by an error. finished. setting these tolerances, the program Variables which must not be modified RIGHT ARROW - frame right. Move knows when to stop, otherwise, it would by the subroutine are FC,FL,FM,FX,X, endpoints to contain same distance keep going forever. GL,GM,GR,GX,GN,GS,ES,EL,EM,ER. as they do currently, but with left The program runs in double precision. Once the subroutine (line 90) has been endpoint positioned where right All variables starting with X,F,M and E entered, the program is ready to run. endpoint is now. are double precision. However, for this First, you are asked whether you wish LEFT ARROW Frame left. accuracy to be of use, the function sub­ graphic or numeric output. Answer G or Opposite of frame right. routine must be double precision. If it is N (and don't hit enter!). Next, you will be UP ARROW - expand display. Halve not, only the first six digits will be asked for two endpoints. These are the distance between endpoints and accurate. Functions which use library values between which the function will display function in current mode. functions, or that use exponentation, will · first be displayed (example entry: -10,10). DOWN ARROW - contract display. only be single precisi0n. If your function Numeric output displays a table of Double the distance between uses constants, place a# sign after them values between the e-ndpoints. The endpoints and display in current to make sure that they are double endpoints are shown as right arrows, and mode. prec1s1on. may be manipulated for various views of BISECTION METHOD the function. Using these commands, any function This method requires the two Graphic output graphs the function can be analyzed. With practice, endpoints to be positioned at points between the endpoints. Maximum and functions can be made to divulge their where the fun ction values at the two minimum values are labeled with their secrets rapidly. points are of opposite sign. The function function values. Note that these are not Note that while in graphic mode, an is assumed to be continuous, so there actual maximums and minimums, but extreme value on the graph can make must be a root between these two points. rather the largest and smallest values the rest of the function look horizontal. The interval between the endpoints is graphed. Note that while the computer is To see if it really is, move the endpoints halved, and the fun ction evaluated at this preparing the graph, it will count from 0 to exclude the extreme value. midpoint. The sign of this value is then to 127 to give you something to watch Another way to check the accuracy of compared to the sign of the other two while you wait. the graphic display is by switching to points, to see which side the root is on. In the lower right corner, the X values numeric. This is a handy way to see if the The correct endpoint is then moved in, corresponding to the left and right s: .:ies function is horizontal or not. so that the two endpoints surround the of the screen are displayed. The FINDING THE ROOT root, but the distance between them has endpoints are two graphics segments at The command to enter the root finding been halved. This process can be the bottom of the graph. routine is F (find root). You are then repeated indefinitly, until the endpoints The endpoints are moveable. By given the choice of six different root are both as close as one wishes to the

18 80-US JOURNAL Nov-Dec 1979 root. The program only continues until endpoint, we replace the value of f(x) at drawn to the curve at this point, and the the exit conditions set by the error tol­ this position with f(x)/ 2. This results in new approximation is the point where erances have been fulfilled. getting the stagnant endpoint to move. this tangent intersects the X axis. This method is very reliable, as you Although this seems like a strange This method is often used because it always know that the root is between the solution to the problem, it greatly In­ converges rapidly. However, to use two endpoints. The disadvantage is that creases the convergence rate. Newton's method, the derivative of a this method takes a long time to get close SECANT METHOD function must be known. For some to the root. Another solution to the stagnant end­ functions the derivative is almost LINEAR INTERPOLATION point is to take, for the next two impossible to evaluate. Note that this This method also requires the endpoints, the latest approximations; method is also not as efficient as it seems, endpoints to be placed around a point rather than the latest ones on opposite because it requires two function where the function changes sign. This sides of the root. This can result in the evaluations for each approximation. method acts like the bisection method, endpoints not surrounding the root, but Also, if this method is not started close except that the approximation method is if the endpoints are close enough to the enough to the root, it can get lost. changed. Instead of taking the new root, this does not matter. MULLER'S METHOD approximation to be halfway between This method is very fast. However, one This method works with three the old ones, the line connecting the two has no idea of where the root is, because endpoints. The program starts the third points on the function corresponding to it is not surrounded by the endpoints. endpoint between the original two. the endpoints is drawn. The new approx­ There is little assurance of accuracy. This method finds the equation for the imation is taken where this line crosses Also, sometimes the method will wander parabola through the three points on the the X axis. away from the root, and never find it's curve, and finds the root of this parabola • With this method, the speed of way back. When this method does work, that is closest to the middle endpoint. convergence on the root is improved. it is very fast. The two endpoints closest to the new However, in some cases, one endpoint NEWTON'S METHOD approximation, along with the new value, stays put, while the other moves in to­ To use this method, the function f(x) are used for the next approximation. wards the root. This stagnation of one must be inserted as a subroutine at line This method works very well. It endpoint can destroy almost all of the 110. This subroutine must return a value converges as fast as Newton's method, speed advantage of this method. FP when given a value X. Restricted and is much more reliable. It also MODIFIED LINEAR variables are the same as before. requires only one function evaluation for INTERPOLATION Newton's method acts with only one each approximation, which makes this To solve the problem of the stagnant endpoint , the right one. A tangent is method much more efficient. •

YOUR CANADIAN SOFTWARE SUPPLIER 101 - 8136 Park Road Richmond, BC Canada V6Y 1Tl (604) 270-1532 "Official Canadian Distributors for The 80-US Journal" WE STOCK Apparat NEWDOS+ - $119.95 Racet Computes Utilities 80-US Journal - 80-US Software + an unlimited selection of business & home application software /or the TRS-80

Order by mail, phone or in person - cash, VISA & Mastercharge accepted. - 1­ ?.ifllllllllllllllllllllllllllllllllllllllllll!l llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllliillill!il!lil!lilii:Ullllli\1 :1 1111::11::11i:;:;,;111 ·:i'·ii!l1•; _'-j

80-US JOURNAL Nov-Dec 1979 19 N O For 16K Level II & Up 820 GOT0750 830 X=(EL+ER)/2:GN=(GL+GR)/2:GOT0720 Function Grapher/Root Finder 840 X=ER-FR*(ER-EL)/(FR-FL):GN=GR-FR*(GR-GL)/(FR-FL):GOT0720 850 SV=FL:IFFG=1,GR=O:GL=O 860 X=ER-FR*(ER-EL)/(FR-FL):GN=GR-FR*(GR-GL)/(FR-FL) :GOSUB90: IFSGN(FU)<>SGN(FL),ER=X:FR=FU:RESET(GR,41):GR=GN:IFSGN(FU)= Program Listing SGN(SV),FL=FL/2 870 IFSGN(FU)<>SGN(FR),EL=X:FL=FU:RESET(GL,41) :GL=GN:IFSGN(FU}= SGN (SV) ,FR=FR/2 'D~ed 6evt 80- US luj Roy G'Uttlt 880 IFFG=O,SET(GN,41) :PRINT@O,"FUNCTION VALUE";FU;STRING$(25, 32);:GOT0910 10 REM * FUNCTION GRAPHER / ROOT FINDER * 890 IFINT((FC-1)/8)=(FC-1)/8,PRINT" I XI";TAB(40);"F(XI)" 20 REM* (C)1979 80-NW PUBLISHING CO* 900 PRINTFC;X;TAB(32);FU 30 REM * BY ROY GROTH * 910 FC=FC+1:SV=FU:IFABS(ER-EL}>E10RABS(FU}>E2,GOT0860 40 CLEAR100 920 IFFG=0,GOT0770:ELSE150 50 CLS:ONERRORGOT01220 930 C$=INKEY$:IFPEEK(14591}=0,A$="z":RETURN 60 DEFDBL X,E,F,S,C,M 940 IFC$<>"",A$=C$ 70 DIMVA(127) 950 RETURN 80 GOT0130 960 X=ER-FR*(ER-EL)/(FR-FL} :GN=GR-FR*(GR-GL)/(FR-FL):GOSUB90: IFFG=1GOT01000 90 FU=SIN(X)+2*COS(2*X) :REM-HERE IS WHERE YOU PUT THE FUNCTION­ 970 RESET(GL,41} :SET(GN,41}:PRINT@O,"FUNCTION VALUE";FU;" 100 RETURN II • , 110 FP=COS(X)-4*SIN(2*X} I 120 RETURN 980 FC=FC+1:GL=GR:GR=GN:EL=ER:ER=X:FL=FR:FR=FU:IFABS(ER-EL}>E1 ORABS(FR-FL}>E2GOT0960 130 PRINT"GRAPHIC OR NUMERIC OUTPUT (G/N}":A$=INKEY$ 990 IFFG=O,GOT0770:ELSE150 140 A$=INKEY$:IFA$="G",FG=O:GOT0150:ELSEIFA$<>"N",GOT0140:ELSEFG =1 1000 IFINT((FC-1}/8)=(FC-1)/8,PRINT" I","XI"," F(XI}" 1010 PRINTFC;" ";X;TAB(32);FU:ONA-51GOT0980,1050 150 INPUT"ENDPOINTS (TWO OF THEM}";EL,ER 1020' RESET(GL,41} 160 IFERE10RABS{FU)>E2GOT01030 21 0 IFA$="N"FG=1 :GOT0320 ~ ~---...__ 1060 IFFG=O,GOT0770:ELSE150 220 IFA$="D"GOT0320 \ 230 IFA$="I"CLS :GOT0150 This program is available 1070 EM=(EL+ER)/2:X=EM:GOSUB90:FM=FU:GM={GL+GR)/2:IFFG=OSET(qM,41} 1080 H1 =ER-EM:H2=EM-EL:GA=H2/H1 :FA= (GA*FR-FM* ( 1 +GA} +FL} I ''"• 240 IFA$="L"GOT0470 on cassette - see page 250 IFA$="R"GOT0490 33). (GA*H1*H1*(1+GA}} :FB=(FR-FM-FA*H1*H1}/H1 1090 IFFB<>O,X=EM-2*FM/(FB+SGN(FB}*SQR(FB*FB-4*FA*FM}): 260 IFASC(A$}=BGOT0600 270 IFASC(A$}=9GOT0610 l . ELSEX=EM-2*FM/SQR(-4*FA*FM} co 280 IFA$="'t"GOT0630 1100 GOSUB90:IFFG=1GOT01200 0 1110 PRINT@O,"FUNCTION VALUE";FU;STRING$(25,32}; I 290 IFASC(A$)=10GOT0620 IJL _) 1120 GX=GL+(X-EL}/ES:SET{GX,41} c 300 IFA$="F"GOT0640 \ 1 r (f) 310 GOT0180 1130 IFX>EMGOT01160 1140 ER=EM:FR=FM:EM=X:FM=FU:IFFG=O,RESET(GR,41} :GR=GM:GM=GX L 320 GOSUB330:GOT0180 __// ' 150 GOT01170 0 330 CLS:GL=O:GR=127:IFFG=1GOT0430 -----­ ·a EL=EM:FL=FM:EM=X:FM=FU:IFFG=O,RESET(GL,41) :GL=GM:GM=GX c 340 ES=(ER-EL}/127:MX=-9.999E37:MN=9.999E37 :lJ ; . i O FC=FC+1:IF(ER-EM>E1ANDEM-EL>E1)0RABS(FM)>E2GOT01080 350 PRINTCHR$(23}:FORGX=OT0127:PRINT@536,GX;:X=EL+GX*ES:GOSUB90: 1180 IFFG=1GOT0150 z VA(GX)=FU:IFFU>MX,MX=FU:GM=GX )> 1190 GOT0780 360 IFFU89ANDERL<100,RESUMENEXT I (MX-VA(GX})/GS)STEPSGN(VA(GX-1}-VA(GX}} :SET(GX-1,3+GY) :NEXTGY,GX 1230 IFERL=1090ANDFM=OPRINT"ROOT";X;"VALUE O":RESUME150 0 1240 PRINT"ERROR IN";ERL CD 390 IFGN>83,GN=83 (") 1250 ERROR{ERR/2+1) ...... 400 IFGM>83,GM=83 (!) -....J (!) 00 0 r----~------~----- cI CfJ 1 ~~ ~~~~~~1~ {J'l "'O tT1 ~ r:n L "'O > - n 0 410 PRINT@INT(GM/2),MX;:PRINT@896+INT(GN/2),MN; I as Oz~~~O c 420 PRINT@962,"LEFT";EL;TAB(32);"RIGHT";ER;:SET(GL,41):SET(GR,41 :::0 ) :RETURN I > ~;. >oZ>9~ ~ - -· (ti 430 ES= (ER-EL) /12 :PRINTTAB ( 10) ; "X" ;TAB (39); "F (X) II r ...., ­ z I {J'l a.a =o...,t'T1o ~ ~ )> 440 X=EL o . I """"4 "'O "° ...... -. r 450 GOSUB90:PRINT" ";X;TAB(32);FU:X=X+ES:IFX-ES/2<=ERGOT0450 I 5· "'.""'\ ...., V 0 ..... VI "'6. ~ z 460 PRINT@64,CHR$(94);:PRINT@832,CHR$(94);:GL=64:GR=832:GOT0180 0 I ~ ~~ ~ ..., .~~::t::r Z ~ - < 470 EO=EL:GO=GL:IFFG=1,GOSUB560:ELSEGOSUB510 I~ s:~t'.!rj ~:r"'O>~ ~~ I 480 EL=EO:GL=GO:GOT0180 0 o S.5; < -~t'T1Z I 00 ""'~ ct> 490 EO=ER:GO=GR:IFFG=1,GOSUB560:ELSEGOSUB510 I (") 500 ER=EO:GR=GO:GOT0180 :::! • (ti "'O t'.!rj z ~ - o r:r e ~ ~ _. 510 RESET(G0,41):GOSUB930:IFASC(A$)=9GO=G0+1:IFG0=128,G0=127:ELS I < ~ a ~ o~ ~ ~« .... ~ ~ CD EEO=EO+ES ~ -· (JQ - ;::s.. v > . 'W :'I ~ -...J I ~~'"'l~~r:;·o..._,O ... loo,,..~ CD 520 IFASC(A$)=8GO=G0-1:IFG0=-1,GO=O:ELSEEO=EO-ES ::;-> L; ~ (".- ::s L-. 0 L.....J ~ ~ ~ . 530 SET(G0,41) o;.a~-~-· c~ ~~ 540 IFASC(A$)=13,RETURN o a t'.'-. o ~ I ~ -- ~ 1 (JQ ~ ~ 550 GOT0510 ... ::s ::s . -. r:r "'O Oo ""I 560 PRINT@GO," ";:GOSUB930:IFASC(A$)=10,GO=G0+64:IFG0=896, · ~ 3· (ti ~ "Tj :::: : ~ ~ '< ~ ~ c {; :K G0=832:ELSEEO=EO+ES 00 I ~ ::r' {J'l c =·"" · ~ - r 5· ~ t') :::s- :: I 570 IFASC(A$)=91,GO=G0-64:IFGO=O,G0=64:ELSEEO=EO-ES A V\ ~ ~ {J'l :::: • ~ ;::s.. ~ ~ s:::i -. r.n 580 PRINT@GO,CHR$(94);:IFASC(A$)=13,RETURN 0 Q,. {J'l ::r' - ""'"'4 • ~ t;;· '"'I • > ~ ~ .... I I 0 '"'I 0 '"'I • loo,,.. ''W 590 GOT0560 ::s "' . \,,,,;: ~ ~ ~ ~{J'l\J •• O'<· .... - ·""'~> I 600 ER=EL:EL=ER+(12*(FG=1)+127*(FG=O))*ES:GOT0320 I ;· c ::s ::;- r.n . . ::s • . 'W °' 0 610 EL=ER:ER=EL-(12*(FG=1)+127*(FG=O))*ES:GOT0320 .-:Io-; C •. ~ >· ~ ~ °'~ n I I ~ ::s 5· (") {J'l • ~ ~ ""' ... 620 EL=EL-(ER-EL)/2:ES=ES*2:ER=EL-(12*(FG=1)+127*(FG=O))*ES: (ti ..... I .• .• ..::::; ::r' • ...... r- ~ s:::i l ....J GOT0320 I V) 0. 00 -· • • • !:j • ,..... trl t') :'.'! I 630 EL=EL+(ER-EL)/4:ES=ES/2:ER=EL-(12*(FG=1)+127*(FG=O))*ES: • "'C:S 0 0 rl\ • • • ;;i • ""' < - ;:s t:= I ~ ,.... I ::S \lfJ • • • ~ • \. 1 - lo..l I > I GOT0320 ~ ::r' ~ fJ'.) C . . . ::S • rl'\ l•J -~ 640 FC=1:CLS:PRINT"CHOOSE YOUR METHOD: I :::· u; . en ~ "CS • • • • • ..., " r- ~ \l- ~ I ::::.. ("." tD • • • • • ·- - ~ ~ FOR F(X)=O FORMS: I "'O I "Tj... • • • • • - ~ I (1) BISECTION '"'I c ...... -.. ,.....,~ ... (2) LINEAR INTERPOLATION I """"4 I o - ,.,,...... 00 ... J • l . I v ~ (JQ ::s - .. .l • • • • • s:::i t'.!rj (3) MODIFIED LINEAR INTERPOLATION u;. ...._ '"'I (ti loT'1 .. • • • • • =- ~ "'ti .. (4) SECANT METHOD I ~o&ii..~ <""• ...... " ~s:::i .. 0 O• a ~!l,"CS • • • • .­ ~ (5) NEWTON'S METHOD ..... 'C - ~ 0 (6) MULLER'S METHOD" c =- . . . . . Q. ~ u. .... (ti ::s -· . • • • • - ~ 650 A$=INKEY$ fJ'.) ~ ~ o. ~ . . . . . ~., I l~ < flj • • • • • fl.) ;::s.. 660 A$=INKEY$:IFA$=""GOT0660 I ~ (ti -· • • • • • C:i • • ).( 670 A=ASC(A$):IFA>540RA<49GOT0660 ~ ·- ::s = . . . . . c ~ I 680 INPUT"INTERVAL ERROR TOLERANCE";E1:INPUT"FUNCTION ERROR I w r:r- ...... - ~ I XIN ~Of'D ••••• ....-. ~ TOLERANCE" ;E2 I 690 CLS:IFFG=OGOSUB380:PRINT@O,ST.RING$(64,32); Vi ~· 0. ~ ~ ~ ~ ~ = 1,#J :• : • : • : • ""' s:::i 700 X=EL:GOSUB90:FL=FU:X=ER:GOSUB90:FR=FU I o I tD 710 ONA-48GOT0830,840,850,960,1020,1070 - g« o .... A ""' {J'l .. ;. • • • • \. 1 t') ~ I I = O.~f'D • • • • ~;::s.. 720 GOSUB90:IFFG=1GOT0790 0 0 ::s :: -, • . • • • ::s 730 SET(GN,41):IFSGN(FU)=SGN(FL),RESET(GL,41):EL=X:GL=GN: I >< 0 • . . . ~ ...... I ELSERESET(GR,41}:ER=X:GR=GN 0 '< '"'I • • • • ~- 1-1 'O I ...., 0 s.""• 0 . . . . ~ ·= ~ I 740 PRINT@O,"FUNCTION VALUE";FU; · eWI) •••• Cll Oo 750 FC=FC+1:IFABS(ER-EL)>E10RABS(FU)>E2,GOT0710 I - '"'l"'O ::s •••• ~ I 760 IFFG=1,GOT0150 s (JQ '"'I - • • • • ~ ~ 770 IFFG=OSET(GN,41) I '"'I o « . . . . • I I 780 PRINT@896,STRING$(64,32);:PRINT@896,"ROOT:";X,"FUNCTION I ~~ I••:•~ I CALLS";FC:GOT0150 "'O~ N-­ ~. ~ 790 IFINT((FC-1)/8)=(FC-1)/8PRINT" I XI";TAB(40);"F(XI)" I e: !:j !=' !=' ~ :--1 :--1 ~ ~ I (");;I OOOV\V\ . Im I 800 PRINTFC;X;TAB(32);FU I . ~::::+; 00000 ~ 810 IFSGN(FU)=SGNCFL),EL=X:EL~E..ER=X ...N -----~------~----- N 340 Find scale factor for X axis (ES); setup routine N to/ind relative minimum (MN) and maximum (MX); ANATOMY of FUNCTION GRAPHER save computed value for subsequent graphing. SUMMARY 350-370 Find and graph 127 values for X axis; This program will either plot or tabulate a segment first scale X, then compute value of Y (GOSVB 90), finally test for new minimum or maximum. of a function between designated limits. Options are 380 Scale stored value for screen and set up also presented to find a root of the function in a RC Bahn proper screen positions. selected interval. Preferably, the selected interval of 390-420 Complete labelling of graph. the function contains only one zero-crossing of the X- 430-460 Numerical tabulation routine. axis. One can compare six different methods to 430 Set up column headers. approximate the roots. The rate of convergence and 440-460 Compute and list function. the errors of approximation can be observed. 470-480 Shift function frame left. 490-500 Shift function frame right. 10-3<.' Program documentation. 510-520 Expand display. 40 Reserve storage space for string variables. 530-540 Contract display. 50 Set up error recovery routine. 550 Protect next subroutine. 60 Define double precision variables: Note that TRS-80 560-580 Subroutine for left and right routines BASIC II function routines do not return double from 470 or 490. precision values. 590 Protect next subroutine. 70 Dimension VA; this is only stored variable. 600-630 Direction arrow routines. 80 Branch to first selection menu at lines 130-170. 640-710 Menu for selection of root finding routine 90-100 Routine for computation of designated function. and designation of error tolerances. Note: line 90 is changed each time a new function is 720 Branch to tabulation routine (790). studied. 730-750 Graph root finding process and results. 110-120 Routine for computation of first derivate 760 Branch to select new interval. of designated function. Note: Changing line 110 is 770-780 Output results of root finder and number necessary only when Newton's method is used to fi nd of function calls (FC). Return to select new interval. the root. 790-820 Tabulate root finding process and results. 130-170 Routine for selection of graphics or tab­ Consult standard textbook of calculus for derivation ular output and selection of interval to be studied. of methods and discussion of errors and rate 9f 160 Correct inadvertent interchange of lesser and convergence. ,, ... greater values. 830 Bisection method. 180-310 Routine to interpret keyboard command 840 Linear interpolation method. language. Note loop formed at line 310. 850-950 Modified linear interpolation method. (X) 180 Turns on "*" 960-1010 Secant method. 0 I 190 Wait for keyboard entry. 1020-1060 Newton's method. c 200 Turn off"*"; set graphic flag (FG=O) 1070-1210 Muller's method. Note: The best strategy, Cf) 210 Set numerical tabulation flag (FG=l) regardless of method selected, is to isolate root in (_ 0 220 GOTO current display mode. small region of X by graphic or tabulation routines c 230 GOTO 150 to redefine interval of X above. The first and probably the second significant ::0 z 240 GOTO left shift routine at line 470 figure of the root may be easily obtained. With this )> 250 GOTO right shift routine at line 480 strategy all of the above root finding methods will r 260-290 GOTO routines related to direction arrows probably converge satisfactorily. z 0 in 600 - 630. 1220-1250 Error recovery routines.

It looks bad when programs run from one line into the Have you ever wanted to dress up your o~tput by next in the middle of a word or statement. The best way to putting a blank line every fifth (or tenth, or whatever)? If correct this is NOT to add more lines, since this slows so, you might have gone through some contortions to get down the processing. But how can you get the program to it done right, but a very simple way to do it is to include an be readable? IF statement, as follows: The answer is to use the down arrow key when you are IF X - INT(X/ 5)*5 =THEN PRINT typing the program. The down arrow key will insert one where Xis an integer line counter (such as the counter for character on the line which sends the cursor to the start of a FOR NEXT loop). This is INTEGER arithmetic and it the next line. If we use the [down-arrow] to symbolize its works like this: use, then we could write a program line as follows: 1. Whenever X/ 5 is not an integer, then the INT 10 PRINT"USE OF DOWN-ARROW":[down-arrow] function truncates the number to the next lower number PRINT"THIS IS NOW THE SECOND STATEMENT" as in INT(7/ 5) = 1 Don't use this in the middle of strings to be printed 2. Multiplying this result by 5 and subtracting from the because it will cause the line shift to occur when the original number will give zero only when Xis a multiple of string is printed (unless you .WANT it that way!). 5. In this way, a blank line will be printed every fifth line. You can also use the right arrow (the TAB character) to This function is called the "MODULUS" and can be a dress up the text by shifting the text to the next TAB stop very useful way to count. (Note: If X is defined as an and still only using 1 of the 256 allowed characters on a integer, then the INT function is strictly not necessary, but line. it is clearer in the coding if it is included). Disk BASIC users can code the function as: DEF FNMOD(X,N) = X - INT(X/ N)* N An easy way to cause a line feed on your printer is to LPRINT CHRS(138). The printer thinks this is a control Want to speed up your routines (such as INKEY$ character when it sees it and so it line feeds and does a routines to getin strings)? Then putas much aspossible carriage return. on single lines. In many cases, a whole subroutine can Using STRINGS(n, 138) will cause the printer to line be written on a single 255 byte line. · feed n times (i.e., it will skip n Jines). - - --·- ---­ Need a BUZZER? A possible choice for a buzzer is your An old trick in BASIC is to put an input statement at cassette relay in the expansion interface if you have one some point where we want a pause. The standardform is: (but DON'T use it too often, or you will wear it out). 150 INPUT"PRESS ENTER WHEN READY TO To use the relay as a buzzer, alternately POKE 1 and 2 CONTINUE"; into location 14308, this will cause it to buzz (put a small This will display the message and then continue when timing loop in betweeen changes to allow the relay to enter is pressed. respond. A routine that works is: This is a good way to put a program pause in, but it is 1000 FORl=1T020:POKE14308,2:FORJ=1T05: slow. A much more impressive rsponse comes from the NEXTJ:POKE14308, 1 :FORJ=1 T05:NEXTJ:NEXTI following.: 150 PRINT"PRESS ANY KEY TO CONTINUE"; 160 IF INKEY$ = " " THEN 160. Want to make your "yes" and "no" responses quicker This will loop continuously at statement 160 until a key is and more impressive in your programs? Then do it with pressed and then the program will continue with the next one letter response with the following routine as a sub­ statement. routine: , 5000 REM * * * **YI N INPUT* * * * * To make an eye catching display, you need something 5010 CH$ = INKEY$:1FC$ = ""THEN 5010 changing. A static screen draws no interest. To make an 5020 IF CH$=" N" OR CH$=" Y" THEN PRINT CH$: eye-catching error trap, you might use the following: RETURN ELSE 5010 1000 CLS:PRINT CHR$(23) This routine w ill return only for a Y or N response and will 1010 FOR I= 1 TO 20:PRINT @460,""ERROR";: ignore all others. When it does find a Y or N,' it will print the FOR J=1T010:NEXTJ:PRINT@460," ";: character and return control to the calling program. FOR J=1T010:NEXTJ:NEXTI A call to the program could go like this: PRINT CHR$(23) shifts the screen to double size letters 120 PRINT "DO YOU WANT TO CONTINUE (Y/N)?"; and then statement 1010 puts the word "ERROR" in the 130 GOSUB 5000 center of the screen and blanks it out 20 times. This 140 IF CH$="N"THEN STOP flashing is sure to draw attention. Try it, you will like the response you get!

80-US JOURNAL Nov-Dec 1979 2.3 CRT Sup~IVI!

'Dit ff F S~~. TWtfotk. CA

Two weeks ago, I came home with MATERIAL LIST my new expansion interface and disk 1 Pine board 1X2X6" drive. In no time I had them connected 1 Plywood %X6X8" up, and they operated flawlessly. 3 Bolts 10/ 32 X 1 %" That night I got far enough into it to 3 Wing nuts make a backup disk of the TRSDOS 6 Washers and Disk Basic, "just in case " . Got off Epoxy Glue (5 minute) to bed around midnight - - just couldn't Black paint (small bottle model air­ quit! plane dope works well) Fine Sandpaper (#150) CRT presents a flat surface for the Next morning, viewing my desk Triple outlet extension outlets attachment of the support. Take the from a different angle, I noted an for two prong plugs (2) pine 1 X 2 and file the long edge. alarming backward tilt of the CRT ­ 3 outlets for three prong plugs Continue filing the 1 X 2 until it fits Expansion interface assembly. It 1 Archer illuminated SPST push­ against the CRT housing with a slight would take just a little push, and no button switch backward tilt. Sand all surfaces flat imagination at all, to see it all on the 1 Extension cord, 3 wire appliance and smooth . Drill three holes for the floor in pieces. And w ith little kids type bolts. running around the house? There had Short lengths of #1 2 insulated wire Place small pads of folded waste to be a better way, and here is what I CONSTRUCTION paper under the rear feet of the came up with: Fortunately, the rear housing of the expansion interface. Carefully holding Megabytes for the

Now use rs oi the most popu la r rnium nrn· Olli DOUBLER ct ou bl e density floppy di sk pu ters can add truly mass ive disk storage to tlwir Clln troller t0cit111es tn1 e double dens ity r crnrd1 n .L~ sys tems with Micromation'sMegabox. It le.1t111es with a c' apac 1t y of 512K byt e'.; 011 each side nl th e dual 8" drives with double density recording to diskette Doubler· systems , .is 1\1\BASIC CBASI C FORTRAf\J COBOi. . or syste m pe rf ormance to you r sys tem cit one-thi rd PASCAL And theres a wide selec ti on ot busi ne ss th e cost per byte of mini-floppy systems ~ipp l 1cation packages to choos e from Our SOL '-ve1 sion of th e MegJbox inst.1 lls with­ Megabox systems open new oppo rt unities ou t modifi cat ion and the o:o ftwrire is;111reildy to .1~1J lor own ersof tuda yc; most popular micr1)co 111puters Micromat1ons double density rt'Cu rcting gives yo 11 They fea ture the highest ilv,1 ila hle ca paL ity nea rly twice the storage ol the Hel ios· at il sub­ performance anct reliablity And they <11e corn­ stantiall y lower price - and mos t 1rnporiri11tly yo u pal 1bl e '.vrlh you r system But bes t of all at '.ii2295 can run CP'M' so you have access to the bro,1d es t .1 Mega box is p1·iced fo r va lue Ask for det;:i il s di range of softwa re available in microco mput111g yo ur :()('ell computer store or contact Mi cn1mati1J11 Combine an Exidy Sorcerer · wi tha f'.1t~gab o1 16?0 Mor1tµp111 e1·y St S;111 Francisco CA 9411 J by plugging the contmller into tlw S111c:t~r s· S-100 l ) ! j)il()ll(' I Lj 15\ )98-CJ289 expa nsion bu<; Boot lr orn our Sorcerer · "Y"tem dis kett eand you re up and n1nn1n ,L; w1th1-,ul J11y The Megabox with L000,000 modilica t1011s to your ha rdw;11 e 11r s11f1'.':d1t.' ex isting software to ea sil y keep a

24 80-US JOURNAL Nov-Dec 1979 the µlywood and pine 1 X 2 together, fit these against the rear housing of the CRT in the expected final position. Make a cross mark from the plywood to the 1 X 2 on each side. Return to the workbench and match up the cross marks, then drill from the previous holes in the 1 X 2 through the plywood. Mix a small portion of the Epoxy glue. Attach washers on inner side of the 1 X 2, and outer side of the plywood. Carefully roughen an area on the back of the CRT housing where the support will fit, using a file or sandpaper. Mix more glue and apply to the shaped edge of the 1 X 2 , and to completed. However, after stumbling dab of "liquid paper" marks the side of the roughened area on the CRT over a mass of wires on the floor, it the two prong outlets which housing. Bolt the plywood and 1 X 2 seemed natural to attach outlets to the correspond with the "wide prong" of together. Carefully position support back of the support, with just one main the three prong outlets. How is this put against CRT housing so that surfaces cord to et wall outlet. Wiring is done together? With 5 minute Epoxy! are flat with no gaps, and the support following standard electrical The electrical cord for each power on the table. No pressure is needed. techniques, but I soldered my supply and accessory can now be Hold in postion until glue sets. connections. neatly coiled, taped, and placed Final sanding, painting and The triple outlets for two prong behind the CRT with just enough free assembly are now done. When glue is plugs are controlled by the push­ cord to reach an outlet in the back of set firm remove paper pads from the button switch and then plugged into the support. rear feet of the expansion interface. the three prong outlet which allows Everything except the CRT can now This will allow the CRT to settle back you to switch up to six accessories be switched off with the one push­ onto the support and give a firm "feel" and/ or power supplies. The three button switch. The finished assembly to the whole assembly prong outlet is necessary to provide with its support looks neat, is safe, and The project can now be considerP.d the special plug-in for the CRT. A small feels solid. • TRS·BQSol~Sorcere~

byte storage capacity can be operated with ·TRS -e o •Sa TM o f Tandy Corp SOL and H e lios are T M s o f Proce ssor Technology Corp general ledger,accounts receivable,and payable. S o rcerer is a TM o f Ex idy Inc C P/ M is a TM of D ig ital Research

80-US JOURNAL Nov-Dec 1979 25 ENGINEERING CALCULATIONS

(Hydraulics)

In case you are wondering what the diagram on the cover 2. 1 0: Displacement vs Area this month is, it is a "variable orifice shock absorber", such 1. 95: as may be used on the landing gear of aircraft. The idea is that as the piston travels, the orifice becomes smaller, 1. 8 0: changing the response of the shock absorber from soft 1.65: initially, to firm. 1. 50: This article concerns itself primarily with programming the TRS-80 to calculate that response curve, then 1 • 35: displaying the actual figures per increment of piston travel. 1 • 20: As an added feature, it also graphs the curve. Since the graph uses no graphics characters, it may be output to a 1.05: line printer. 0.90: Using the values in the sample run will result in the 0.75: graph which accompanies it. Changing the values, even in small increments in some cases will cause the trace to be 0.60: displaced so far that it will not appear on the graph. No 0.45: allowance has been made for this, since in most cases the 0.30: changed ' values would represent running the piston through the end of the cylinder, for example. In other 0.15: words, the range of values you can use is limited to a 0.00: • • e •. • • e. • • • 6 • • e e e. e • e e •• e • e e. • e e e e • • e e • e e e I narrow area, which presumably represent the real 0 • 01 .02 .03 .04 operating conditions. The initial idea for this program came from Albert C Saurwein (of High Technology Products & Engineering, Kent, WA), who asked us if the TRS-80 could do this type of calculation. Mr Saurwein was the author of an article in the magazine MACHINE DESIGN, July 1971, in which he describes the math required to design your own RUN shock absorbers. After going through several involved equations, ENTER MASS OF DECELERATING BODY, (LB-(SEC*SEC)/IN): ? 600 he says: "at this point, construct a table of values ENTER INITIAL VELOCITY OF BODY, (IN/SEC): ? 50 for %inch intervals of x and plot the values". The ENTER DieTANCE PISTON WILL MOVE, (IN): ? 2 equation for orifice area as a function of piston travel is: ENTER MAXIMUM SYSTEM PRESSURE, (PSI): ? 700 ENTER FLUID DENSITY, (LBS/IN*IN*IN): ? .04 ENTER DISCHARGE COEFFICIENT: ? .7 ENTER INTERVAL DISPLACEMENT FOR TABLE: ? .15

Ao,x=J V V1 2 -~ TABLE SHOWING ORFICE AREA (SQ.IN.)AT PISTON m DISPLACEMENTS OF 0 TO 2 WITH AN INCREMENT OF .15 DISP AREA o.oo 0.030 0.15 0.029 Where Ao is the orifice area in square inches, xis 0.30 0.028 instantaneous position past point of initial 0.45 0.026 deceleration, .J is a constant inch/ sec, V1 is velocity in inch/ sec at initial condition, Fis force in 0.60 0.025 pounds and m is the mass of the decelerating body 0.75 0.024 in lb-sec2/in. 0.90 0.022 1.05 0.021 Sample RUN As you can see from the program listing (.written by Leo Christopherson and Steve Smith), 1.20 0.019 programming complex equations on the TRS-80 is 1.35 0.017 not as difficult as it may seem, and plotting the 1.50 0.015 curve and experimenting with various values is actually fun, when the computer does all of the 1 • 65 o. 013 workI 1.80 0.010 To answer Mr Saurwein's question: Yes, it 1.95 0.005 can I e ENTER FOR GRAPHIC DISPLAY? 1··'' 26 80-US JOURNAL Nov-Dec 1979 10 REM* (C)1979 80-NW PUBLISHING CO TACOMA WA 98409 * 20 CLS:DEFDBLA-Z:DEFINTI:DIMB(500) 30 A$= 11 ##.## 11 :B$="###.###" 40 REM ENTER THE VARIABLES: 50 INPUT"ENTER MASS OF DECELERATING BODY, (LB-(SE;C*SEC)/IN): ";M1 60 INPUT"ENTER INITIAL VELOCITY OF BODY, (IN/SEC) '(f ";VO 70 INPUT"ENTER DISTANCE PISTON WILL MOVE, (IN): ";XF 80 INPUT"ENTER MAXIMUM SYSTEM PRESSURE, (PSI): ";P 90 REM CALCULATE SAFETY FACTOR: 100 P=P*.93 110 INPUT"ENTER FLUID DENSITY, (LBS/IN*IN*IN): ";W 120 INPUT"ENTER DISCHARGE COEFFICIENT: ";CD 130 INPUT"ENTER INTERVAL DISPLACEMENT FOR TABLE: ";X! 140 REM CALCULATE DEACELERATION: 150 DA=(VO*V0)/(2*XF) 160 REM CALCULA'l.1E REACTIVE F'ORCE: 170 FR=(M1*DA)/386 180 AP=FR/P 190 REM. CALCULATE "J": 200 J=SQR((W*(AP)~3)/(772*FR*CD*CD)) 210 CLS:PRINT:PRINT"TABLE SHOWING ORFICE AFEA (SQ.IN.)AT PISTON" 220 PRINT"DISPLACEMENTS OF 0 TO";XF;" WITH AN INCREMENT OF";X! 230 PRINT" DISP AREA" 240 FORN!=OTOXFSTEPX!:AX!=J*SQR(VO*V0-((2*FR*386)/M1)*N!):PRINT USINGA$;N!;:PRINTUSINGB$;AX!:NEXTN! 250 INPUT"ENTER FOR GRAPHIC DISPLAY";ZS1 260 CLS :PRIN'l' :PRINT"GRAPH SHOWING ORIFICE AREA (SQ. IN.) AT PISTON" 270 B2=0 280 FORN!=OTOXFSTEPX!:AX!=J*SQR(VO*V0-((2*FR*386)/M1)*N!): B(B2)=AX!:B2=B2+1:NEXT 290 CLS:K=900 300 FOR I=1T059:PRINT@K+I,".";:NEXTI 310 K=964 320 C$="#.##~" 330 PFINT@20, "DISPLl'.CEMENT VS AREA" 340 Y1=0 350 FORI=14 TOOSTEP-1:PRINT@I*64,USINGC$;Y1;:Y1=Y1+X!:NEXTI 360 Y1=XF ' 370 G=127*B(O):IFG<116THENG=G*10 380 IFG<116THENG=G*100:GOT0380 390 GOSUB490 400 FORI=OT05:PRINT@K+10*I,INT((I/(J9*100))*100)/100;:NEXTI 410 FORI=6T056STEP10:PRINT@K+I, 11 :";:NEXTI 420 FORI=OTOB2-2 430 E=(127-G*B(I))*J9 440 IFE<=120RE=>127THEN470 450 H=43-(I*3) :IFH>450RH<1THEN470 460 SET(E,H) 470 NEXT 480 GOT0480 490 M9=0:FORI=OTOB2-2 500 H=43-(I*3):IFH>450RH<1THEN530 510 E=127-G*B(I) 520 IFE>M9THENM9=E 530 NEXT 540 J9=M9/127*1.3 550 RETURN 80 -- US JOURNAL Nov-Dec 1979 27 r

Supel' Sol'fing

The next time you sort a list of items in your space by getting rid of unused space. During this computer, try this experiment. Put an AM radio next time, your program just waits. to the computer, tuned away from any station. With Even with the best sorting algorithm, as much as this, you can actually hear the computer 'think'. 90% of the computing time for the sort will be in If you try this, you will find that during the sort, a memory management. In order to get efficient sorts large amount of time will be spent doing something we have to get rid of this wasted time. which changes the pattern of the sound completely. This change is the bane of most sorting techniques Sorting with VAR PTR on the TRS-80, and it is called "Memory A significant improvement in sorting time (from 4 Management". hrs to 8 V2 minutes, for 450 items), is gained by Memory Management redoing the program statement above that swaps To understand memory management, we have to strings as follows: look at how the computer stores information. For 11 =PEEK(VARPTR(A$(1))): numbers this is simple since each variable is 12=PEEK(VARPTR(A$(1))+1 ): assigned space in memory for its value, resetting it 13 =PEEK(VARPTR(A$(1))+2) doesn't change where it is. J 1 =PEEK(VARPTR(AS(J))): However, strings are handled differently. When J2=PEEK(VARPTR(A$(J))+1 ): we read in strings, the computer stores them J3=PEEK(VARPTR(A$(J))+2) starting at the top of free string memory (remember POKE(VARPTR(A$(1))),J1: CLEAR N, it sets aside N bites for strings, RUN POKE(VARPTR(A$(1))+1 ),J2 : automatically does a CLEAR 50). The beginning of POKE(VARPTR(A$(1))+2),J3 each string is recorded along with the length of the POKE(VARPTR(A$(J))),11 : string in a location in memory provided for this. The POKE(VARPTR(A$(J))+1 ),12 : VARPTR function gives you that location. POKE(VARPTR(A$(J))+2),13 !f you have a string in memory called AS, its This set of statements creates no new strings in location is given by: memory. It only changes the pointers to the strings. PEEK(VARPTR(A$)+1) + PEEK(VARPTR(A$)+2)* 256 On large sorts, the improvement by using this technique is phenomenal. On a sort of 450 items in (see the Level II Reference Manual, p8/ 9). a mailing list, we had an improvement from 4 hours The length of the string is: without this technique, to 8 V2 minutes with it. This PEEK(VARPTR(A$)) sort has now been included in our own mailing list As you add strings into string space, they are added program as well as Peripheral People's Mailroom+. one after another as shown in the diagram. As this is being typed up for publication, we have When you reset the value of a string, the pointers seen an article elsewhere giving essentially the to the string in memory are reset to their new values same sorting technique. We discovered only one by the interpreter. But this is not all, since the string minor problem with the way that it accomplishes is treated as a new string and the old location of the the switch. string is not recovered. It uses the following statements to switch the A typical statement in a sorting program which pointers: changes one string for another is: T1 =VARPTR(AS(I)) T$=A$(1):A$(l)=A$(J):A$(J)=T$ T2:::- VARPTR(A$(J)) FOR Z=OT02 Even though the strings are already occupying A 1 =PEEK(T1 +Z) space in memory, this statement generates THREE A2=PEEK(T2+Z) NEW STRINGS and adds them into the string space POKE(T1 +Z),A2 at the bottom. POKE(T2+Z),A 1 When you fill up the string space (which will NEXT Z happen very quickly), the computer pauses to I found that the technique works well on long sorts, reorganize the memory and compact the string (continued on page 62) 28 80-US JOURNAL Nov-Dec 1979 T RS-80 PROGRAM STORE TRS -80 real sof ttrr~ (2 0 2) 3 3 7- 4691 4 2 0 0 W i s co nsi n Ave. N W PO Box 9609 W o s h i n g t o n D C 20016

,. •,. * .. • • • ,. .. SPACE GAMES • The unknowns of space are the background for the NUMBERING most popular computer games. Below are both by Tom Stibolt from Acorn well known games based on "Star Trek" and "Star Several commands found in other BASICS are Wars" plus orginal, new games for your TRS-80 . left out of the Radio Shack versions. This All work in 16k Level II, except for Star Warp machine language package will add several which only requires 4k. commands to your system. And they are available directly from BASIC using the NAME cornnand . Nonnally loading more than one BASIC program space war into memory is a problem. With the append from Device Orientated Games OUR CATALOG OF HUNDREDS feature of this package you can load another program without losing the program in memory. An excellent adopatation of one of the (first) OF TRS-80 PROGRAMS, BOOKS In either Level II or DOS, you can create one o'ldest ~.nd best loved computer games by the same name . In machine language with a variety of AND ACCESSORIES IS SENT combined program with a menu to access other options and for two players. Play with or FREE WITH EVERY ORDER, appended programs. The thorou~h documentation without the gravity of the sun, for example. supplied by Acorn shows you how to do this and One of the best. $9.95. So ACT TODAY! more. This package adds to your system a complete starfleet orion BASIC renumbering command, written in machine language. Whether you want to renumber an from Automated Simulations ' Tactical, two-player space wargame. 80-US . entire program, or only one section, it is the stated that the "game is challenging ----aiid E1 fastest renumbering routine we have seen. complex, and there are so many variations that TRS-80 Optional arguments to the command allow you to it can be fun for a long time." For serious specify the new starting line number and the gamers. Includes listing, cassette, and battle increment. Also, for renumbering only a section manual . $19.95 of your program, you can specify the first and last line number. invasion orion Renumbering improves BASIC programs in many from Automated Simulations ways. Renumbering a program before printing it ' The exciting, solitare version of "Starfleet makes it easier for others to type into their Orion." $19.95 machines. It also makes it easier to follow the structure of programs, especially if the blocks of the program are seperately renumbered. As a ,~ galactic blockade runner debugging aid, renumbering of an entire program (' By Tim Quin 1an from Mad Hatter will detect any undefined line errors faster A unique, fast paced, and tough game. As than running the program itself. And, the exciting and frustrating as pinball. $9.95 memory requirements of programs can be reduced soace aames3 by simply renumbering with a small increment and ffom Creat1°'i;ie Computing air traffic control a small starting number. Four programs including the classics of Trek and from Neal Jensen Another command allows you to fix or recover Star Wars plus a new one called Romulan. The Sit at your radar screen (video NEWed programs or those lost by a DOS reboot. fourth, Star Lanes is a great, multiple player, display) landing up to five planes barter and trading game. $7.95 while watching wind direction and Paul Bump of l~arsaw, Indi ana wrote us about handling emergencies. $7.95 Numbering to say that he "can't imagine star trek anyone being without it. This is a must for by John Christman from Acorn air flioht everyone." Sound and a non -scrolling display make this from Instll'.nt Software version interesting for any Captain. In real Transform your TRS-80 into a cockpit The 16k, 32k and 48k versions are all on the time 3nd with moving Klingons. $9.95 full of elaborate controls. Take same tape for 14.95. off, land, and do acrobatics once time trek you learn how to fly. $7.95 SYSTEM DOCTOR by Joshua Lavinsky from Personal from Bottom Shelf "... truly a brillant program ... " said 80-US and air raid Assure yourself that your TRS-80 is working we agree. In machine language and in realtime, from Small Systems properly. The causes of hardware problems are you really have to move in this game. Includes Real-time, shooting gallery game often hard to detect, but you can now do a , sound effects. $1 4.95 which is better than the arcades. thorough diagnostic chec k of your entire In machine language for excellent computer. It checks the ROM, the RAM, disk ultra trek graphics and endl ess hours of fun. drives, video memory and display and cassette • • by William Schroeder from Gal actic $14.95 recorder. Also provided is a special test tape Fast, enjoyable version with your mission to and a 12 -hour test with a recording of results destroy the hostile base, 30 Klingons and 15 to find those occasional errors. $28.50 Romulans. Well documented. $14.95 AIR star trek 111.3 FLIGHT by Lance Micklus from TRS-80 Software Exchange Credit card callers may phone us directly. Nice graphics, a 3D gala xy , and an unusual Or clip the coupon and mail your order today! mis sion make this version popular . $14.95 • DDDDDDDDDDDDD DDODDODD DDODDOD DOO DOODOODOD :* g THE PROG~AM STORE space trek 1v g ~ 4200 WISC8NSIN AVE NW ). from Inst ant Softwa re o PO BOX ~b 9 DEPT CUP J Two games. In Stel l ar Wars you attack the Death g WASHINGTON, D,C, 20016 Sta r and fight off tie fighers . Also includes FOR SERIOUS PROGRAMMING: D Population Simulation. $7.95 g0 YES, pl ea se send me these TRS-80 programs: D PASCAL D title x-wi ng D by George o1ank from TKS-80 Software Exchange by UC SD from FMG D The popular, transferable lanuage D Put yourself in the cockpit of an X-Wing fighter D -~~~~~~~~~~~--~~~~~~- using radar, long range scan s , laser cannons, for a TRS-80 with 2 disk drives and 0 4B k. $150+5 shipping. D and torpedoes to atta ck the Death Star. $7.95 D -~~~~~~~~~~~~~~~~~~- D space warp+ FORTH D by Mike Pa rtain and Ray Daly from Acorn by Miller Microcomputing 8 -~~~~~[~~=i~~~=· ~. ~~p-o_s_t-ag_e_:~$~1-.~o~o- Both have sound effects. Good luck positioning Professi onal, fast and powerful 8 ' l~ ·Itotal: the cross-hairs on the tie fighters in Star lanuage supplied with demo programs. 8 name : ·- --·· --· Warp. Also a graphic lu nar lander game. $9.95 Disk $65. Tape $45. 0 D address: TIME 0 FORTRAN D city, state TREK D by Microsoft D &code . I The scientific language available D D Ch-e-ckr--p_a_y_a,...bl"'"e-....,t-o-T""hc-e-..P-ro_g_r_a_m~St,...o_r_e_ D f •• \ ' fo r the TRS-80 at a new, low price. D 0 MASTERCHARGE me bank code: Requires one di sk drive and 4Bk. D .I D DVISA exp date: ____:-.:~-~-·~- D 'l(Of!m'OllI>ASID'!l'1'i"J'lU $90+5 shipping. With card number: 'l(l'[D",CJ! •ILo.IC::>lllJill "Um f D ma cro-assembler $175+5shipp i ng. 0 signature: TRS- 0 has a TRS-80 is e product of R11d10 Shack. A Tandy Corpor111on HOME

INTRO CI NG: Custom f ur­ niture f r the TRS-80 off ice or ho~ cor.

Now for the first time for any computer, custom all wood off ice furniture is available for the TRS-80 micro-computer system to complement any office or home decor. It has been design, not only to enhance the decor, but to provide maximum work surface area, and ease of operation. The unit fits snuggly into the corner and mates with an optional matching printer/ typewritter platform and/or storage hutch. It normally replaces or works in con­ junction with a storage hutch usually found behind executive desks, to provide wrap around operation. The corner unit is capable of handling a complete TRS-80 system, with the line printer setting on either the optional printer/typewritter platform or the storage hutch. All TRS-80 units, though built in, simply drop into place and do not require any mounting hardware or tools. The standard unit includes: Mounting capabilities for the monitor, cassette, key­ board, and expansion interface; Keyboard cushion hand rest; and a accessory Qra.wer, Also available are the options of mounting the screen printer and/or disk drives. For complete details and pricing information contact:

AVS AUD IO - VIDEO SYSTEMS P. O . eox 152 ALVISO, CA. 95002 A 7901 These programs are marvels of efficiency. They're With thesefive disks, fully-documented, and you can buy the books locally or from me. On the Osborne programs, my contri­ I canturnyourTRS-80 bution was simply this: I made them work on the TRS-80, and ifyou buy them from me, I'll make them into a seriouscomputer. work for you. My name is Irwin Taranto, and I know what I'm If you're skeptical on that point, call the number talking about. below and we'll give you the names of some of the I've been making computers work ever since they people who've already bought all over the world. had vacuum tubes in them, and I've put the first Then you can call them up and hear what they have computer into more than 300 different businesses. to say. Over the years, I've learned a few things. These programs only cost $99.95 each. (The Cash For instance, I've learned that the new microcom­ Journal option on the General Ledger adds another puters like the TRS-80 are really elegant pieces of $50.} For that you get the disk, all the instructions hardware. The price is deceiving. Given the right you need, and my telephone number. If you call, programs, they can jump through hoops. we answer all your questions and make sure every­ But finding the right programs isn't all that easy. thing's working smoothly. If your question's tough You can flip through the pages of this magazine and enough, I'll talk to you personally. find 50 ads for TRS-80 programs. Granted, a good Because, as I said, I plan to turn that TRS-80 of many of them are for fun and games, but you can yours into a serious computer. still find quite a few offering business programs. r------~ They aren't like mine, though. Please send me the following programs at $99.95 each: Four of these are the genuine Osborne & book [2] Associates systems, originally designed for the Accounts Payable I $30,000 Wang computer. I've made a few minor mod­ Accounts Receivable ifications on them, and now they work on a $4000 General Ledger (add $50 for Cash Journal) TRS-80. The fifth program is one I added myself. Payroll Inventory Control Here's what's on each disk: - Add $3 per order for handling THE ON-LINE, INTERACTIVE OSBORNE PROGRAMS 6 % tax (California only) Accounts Payable: an invoice-linked system that can calculate AMOUNT ENCLOSED and print checks, make reports, and link fully to the general ledger. If you need the books, add $15 each . Accounts Receivable: also invoice·linked, it can keep track of billed and unbilled invoices, open and closed items and aging. It can print Mastercharge D Visa 0 No.______Expires __ a statement and link to the general ledger. D Please send me information on other General Ledger: this handles more than 1750 transactions on 200 Taranto business programs different accounts and keeps track of them by month, quarter, year and the previous three quarters. Available with or without Cash Journal option.

Payroll: it keeps the files, computes pay and deductions, prints Address ______forms and checks, figures taxes, overtime and piecework pay, and prints the 941-A and W-2 forms. City/ State/ ZiP------AND AN ON-LINE, INTERACTIVE TARANTO PROGRAM Inventory Control: a custom-tailored program that looks after up to 20 sizes of each of 1300 items - a million items in all. It gives an Taranto immediate readout on any item inquiry, including quantity and & ASSOCIATES dollar total. LPo~OfficeBox6073~~RafuelCA949~(41~72~~~ View from the Top of the Stack

In the following text the parameters will be referred to 16 BIT in the operand field of an op code, such as ADD A,s. 1. ADD HL,ss Add ss to HL and store the The use of s is shorthand to indicate that s may be any result in HL. of the following: 2. ADC HL,ss Add ss and the carry flag to 1. r - any of the registers A,B,C,D,E,H,L HL and store result in HL. 2. n - one hex byte. 3. ADD IX,pp Add pp (BC,DE,IX,SP) and store 3. (HL) - the contents of the memory location whose the result in HL. add~ess is contained in the HL register pair. 4. ADD IY,rr Add rr (BC,DE,IY,SP) 4. (IX+d) - the contents of the memory location and store the result in HL. whose address is the value of the IX register plus d( -126 5. SBC HL,ss Subtract ss and the carry flag ( d ( +129) from HL and store result in HL. 5. (IY+d) - similar to 4. Again, some examples will be helpful. For the The shorthand notation ss will refer to any of the examples below, the initial value of the registers are: register pairs BC,DE,HL,SP. A : SOH BC : 2000H DE : 8000H HL : COOO A moment must be taken now to explain the operation IX : FOOO IY : 4000H (COOOH)=44H · of the two index registers IX & IY. These two registers (F004H)=55H CF=Carry Flag are most often used as a memory pointer of the form (IX+d) or (IY+d) where d is a one byte signed 2's CARRY FLAG = 0 complement number. This feature makes these OP CODE RESULT registers very useful for working with tables of data. 1 ) ADD A,B A :: 70H CF= 0 A few examples should clarify the issue. Assume the 2) ADD A,D A DOH CF= 0 contents of the IX register are 8000H, and the 3) ADD A,(HL) A :: 94H CF= 0 :: instruction LO (IX+d),A is to be executed for various 4) ADD A,H A 10H CF= 1 5) SUB A,B A 30H CF= 0 values of d. The following table shows the absolute 6) SUB A,D A COH CF= 1 location in RAM where the accumulator will be stored 7) SUB A,(HL) A OCH CF= 0 for the corresponding .value of d (all values in hex). 8) SUB A,(IX+4H) A FBH CF= 1 9) SBC A,B A = 30H CF= 0 + 0 8000 10) ADD HL,DE HL = 4000H CF= 1 + 1 8001 11 ) ADD HL,BC HL = EOOOH CF= 0 + 40 8040 12) SBC HL,DE HL = 4000H CF= 0 + 7F 807F 13) ADD IX.BC IX :: 1000H CF= 0 + 80 7F80 CARRY FLAG = 1 + 81 7F81 + CO 7FCO 1 ) ADD A,B A 71H CF= 0 + FE 7FFE 2) ADD A,(HL) A :: 95H CF= 0 + FF 7FFF 3) ADD A,H A :: 11 H CF= 1 4) SUB A,D A :: BFH CF= 1 The (IX+d) type instruction can address RAM from 5) ADD HL,DE HL = 4001H CF= 1 128 bytes less than IX to 127 bytes above IX. As such, 6) SBC HL,DE HL ::: 3FFFH CF= 0 when a table which will be addressed by IX is set up, the IX register must be loaded with the address of the MIDDLE of the table if you intend to use all 256 bytes of the addressing capability of the (IX+d) instruction. A few words ot caution are in order when it comes to ARITHMETIC INSTRUCTIONS using the aritmetic instructions. 8 BIT I.There is no SUB HL,ss instruction. If you want to subtract two 16 bit registers you must use the SBC 1. ADD A,s Add s to the accumulator and store HL,ss instruction. the result in the accumulator. 2.Not all of the 16 bit arithmetic instructions set the 2. ADC A,s Same as ADD A,s except the carry zero flag if the result is zero. flag is added to the result 3.If you add two positive numbers together whose also. ADC A,s has exactly sum is greater than 127 the result will be negative. As an the same effect as ADD A,s example consider 80H+40H =COH. The sum should be if the carry flag =O. COH or 192 but the Z80 will recognize COH as a signed 3. SUB A,s Subtract s from the accumu­ 2's complement number. This situation is detected by lator and store the result in the Z80 which will set the P/ V flag to indicate an over­ the accumulator. flow. No effort will be made to explain this situation in 4. SBC A,s Same as SUB A,s except the any more detail, but it is something of which the prog­ carry flag is also subtracted. (continued on page 62) 32 80-US JOURNAL Nov-Dec 1979 80-U.S. Software Proudlv Announces Eight New programs to choose from! 107 Owl Tree - bv James Tallev $9.95 . 108 TRS-80 OPE-RA - bv Richard Tavlor *9.95 Can you fill the OWL-TREE with Owls by shooting out the A SOUND extravaganza! Hear the William Tell Overture BATS? Easy? Careful, when you shoot a BAT it scares in intricate detail and clear sound (that's the theme from away OWLS! A super challenge, with great animated the Lone Ranger, remember?). Contains four other graphics and SOUND! excellent operatic selections. The SOUND is superb! 112 Challenge - bv Richard Tavlor $9.95 $9.95 109 The Great Race - bv Scott ·car11enter Guess the hidden phrase, but if you guess vowels wrong Try to finish this 600 mile race before your opponents, or you loose 10 points! Use the phrases in the program, or before they stop you with flat tires, wrecks etc. Patterened enter your own. Careful! The short ones are the hardest! after a popular board game, the computer plays too, With fast graphics and SOUNDS to match.For 2 players (unless it dosen't like the name you give it!). Outstanding graphics, with real life-like car sounds! 106 Beewary w/sound ­ bv Leo Christopheuon $14.95 111 Lving Chimps - bv Rov Groth Brilliant graphics and fantastic sound enhance this The old game of " I doubt it" or " Liar'', only you play with challenging game matching a persistant Bee with a four chimps who love to cheat! Excellent animated cunning Spider in a duel to the death! Leo has done it graphics with SOUND. again. 113 Concentration - bv Richard Tavlor $9.95 104 Lifetwo w/sourid by Leo Christopherson *14.95 The game of Concentration on your TRS -80! The prizes Conway's game of Life at an astounding 100 generations change places with each game. Win the Tandy Corp, or per minute! Plus Leo's "talking" animated creatures maybe a 48K TRS -80 (or a bad check!). With excellent playing the "Battle of Life" in one 16K L2 program. SOUND effects. 114 S11ace Battle ~ bv R Pa110 *14.95 110 Sc ram ble - bv Richa.rd Tavlor $9.95 A super speed " Trek" type game, said to be one of the best A word guessing game tor two players. Use the so far. words in the computer or enter your own for your 101 Original Android Nim ­ opponent. Excellent scoring routine, with SOUND. If you bv Leo Christo11herson $9.95 wait too long, you loose points. The Original TRS -80 animated graphics game. This is the 103 Snake Eggs w/sound ­ one that started it all. It does not have sound, but has been by Leo Christopherson $14.95 the most popular animated game to date! · This version of " 21 " has talking snakes, who argue with 105 Cubes - bv Leo ChristotJherson $9.95 each other. Try to avoid "scrambled eggs" , they loose! Gives the solution to " Instant Insanity" ® or numbered blocks. Watch the computer try all the possible 117 Function Gra11he r/Bluffit - bv Rov Groth $9.95 combi nations. FUNCTION GRAPHER: A new math program which allows you to graph a math function, then compress, 115 Biorvthm 1& 2 $9.95 expand, and find the root using 6 different methods! Two Biorythm games (published in Nov 78 80-US), one From 80-US, Nov 79 issue, also on this tape from the Mar with actual day-by-day data including day of week; the 79 issue, BLUFFIT, a card game of bluff and counter-bluff. other a graphic display of all three curves on the screen at one time. Includes " day of week" and "days between 116 Psych/lifeboat $9.95 dates" functions. From 80-US in May 79, Psych is the program which tells 102 Android Nim w/sound ­ you if you are Analytical or Intuitive, and to what degree. $14.95 Provides for screen or printer output. LIFEBOAT, from the bv Leo Christo1Jherson Jul 79 issue, is a game of survival. The TRS-80's first animated graphics winner, now with more animation and sound. Please order by number using the order form in the centerfold. All programs are on cassette and run in 16K All software is sent POSTPAID during the week in Level 11 or above. Note: Beewary, Android w / sound, which orders are received. Any malfu.nctioning Snake Egg w / sound and Lifetwo w / sound do not run programs will be replaced free of charge. reliably when transferred to disk using DOS 2.2. they We also accept VISA and Master Charge orders· for do function OK with 2.0, 2 .1 and NEWDOS. All others software, call (206) 475-2219 during normal business work with most current DOS, including 2.2. hours (Pacific Time Zone).

80-US JOURNAL Nov-Dec 1979 33 RESTORING KILLED!'DISK FILES : ) \ : ,! ••• T R Dettmann, Associate Editor Murphy's Law: If anything can go wrong, it will. O'Tooles's Observation: Murphy was an optimist. ­ Mike's Moan: Damn!

Murphy's Law for disk files can be stated simply as : The A Granule' is equal to 5 sectors and there are two : file you accidentally kill will be large, hard to replace, and Granules per track. The first two sectors of the directory not backed up. For those of you who have had occasion to track have system information about the disk. and the last prove this, there is now a way to get back that file without eight hpve 32-byte directory entries for each file (and retyping it. extensions if f!ecessary). Radio Shack has provided no instructions in their disk Let's .look at the first two sectors (Figures 1 and 2). The manual describing the way files are created and how the first sector is called the Granule Allocation Table (GAT for directory keeps track of where they are and which ones short). It occupies sector 0, which is the first sector. In this are active. There is (I think) a good reason for this, that is; sector: ,one byte for each available track on the disk is that you can easily destroy ALL of the information on a coded as follows: disk by playing with the directory. You can foul it up so FC .- neither granule is allocated much that you will never be able to recover it. FD - 2nd granule is allocated To recover a disk file, you will need to have the following FE ·- 1st granule is allocated tools: FF - Both granules are allocated Some type of program that will read the directory For a ,normal 5" disk, there are 35 tracks, and so 35 directly and change it (I recommend SUPERZAP from entries. ~xtra space is left over for larger systems. Apparat, but RSM2D will work also) Starting with byte 60 HEX on the track, (we are still in Useful but not essential is the Apparat utility program sector 0), one byte is assigned for each track to indicate DIRCHECK whether the track is locked out. It is coded as follows: Before working on a good disk, play with the directory of FC · - not locked out a blank disk until you are confident that you can handle FF - locked out (track unusable) the procedure. Before you can work on anything, you have to Bytes CE-CF HEX on sector 0, track 11 HEX have the disk understand what it is first, so let's look at a typical password encoded. Bytes DO-D7 HEX have the disk name directory to see what it has to tell us (in ASCII and HEX). in ASC.IL The remainder of the track has the information Note: All of the figures for the directory were generated for the .A.UTO commanp for this disk (if it is a system disk). with SUPERZAP from a blank formatted disk (called The second directory sector (sector 1 the Hash Index TEST), on which we have written a small test program Table, als_ocalled the HIT sector) has only one table called (called FILES). the Hash .Index Table. It is used to code the location of The Directory each directory entry for rapid access. Each non-zero entry The directory takes up a whole 10 sector track (normally is the cod~d filename for a directory entry and its location track 11 HEX - 17 Decimal). A disk is made up of 35 tracks, gives the. location of the File Primary Directory Entry each divided into 10 sectors. A sect.or contains 256 bytes. (FPDE), in the directory. 111000 FFFC FCFC , FCFC FCFC FCFC FCFC FCFC FCFC ...... 111010 FCFF FCFCi' FCFC FCFC FCFC ·FCFC F'CFC FCFC • • • • • • • • • • • • • • • • 111020 FCFC FCFF'· FFFF FFFF FFFF FFFF FFFF FFFF ...... 111030 FFFF FFFF FFFF FFFF -FFFF FFFF FFFF FFFF ...... 111040 FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF • • • • • • • • • • • • • • • • 111050 FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF ...... 111060 FCFC FCFC FCFC FCFC FCFC FCFC FCFC FCFC • • • • • • • • • • • • • • • • 111070 FCFC FCFC FCFC FCFC FCFC FCFC FCFC FCFC • • • • • • • • • • • • • • • • 111080 FCFC FCFF FFFF FFFF F'FFF PFFF FFFF FFFF ...... 111090 FFFF FFFF FFFF FFFF F'FFF FFFF FFFF FFFF ...... 1110AO FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF • • • • • • • • • • • • • • • • 1110BO FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF • • • • • • • • • • • • • • • • 111 oco FFFF FFFF FFFF FFFF FFFF FF21 0000 E042 • • • • • • • . • • • ! • • • B 111000 5445 5354 2020 2020 3038 2F31 352F 3739 TEST •••• 08/15/79 1110EO 0020 2020 2020 2020 2020 2020 2020 2020 • • • • • • • • • • • • • • • • 1110F06 2020 2020 2020 2020 2020 2020 2020 2020 • • • • • • • • • • • • • • • • Directory Track, Sector 0 showing disk name "TEST"

Figure 1

34 80-US JOURNAL Nov-Dec 1979 111100 A22C 0000 0000 0000 0000 0000 0000 0000 • I • • • • • • • • • • • • • • 111110 0000 0000 0000 0000 0000 0000 0000 0000 • • • • • • • • • • • • • • • • 111~20 0000 0000 0000 0000 0000 0000 0000 0000 • • • • • • • • • • • • • • • • 111130 0000 0000 0000 0000 0000 0000 0000 0000 • • • • • • • • • • • • • • • • 111140 0000 0000 0000 0000 0000 0000 0000 0000 • • • • • • • • • • • • • • • • 111150 0000 0000 0000 0000 0000 0000 0000 0000 • • • • • • • • • • • • • • • • 111160 0000 0000 0000 0000 0000 0000 0000 0000 • • • • • • • • • • • • • • • • 111170 0000 0000 0000 0000 0000 0000 0000 0000 • • • • • • • • • • • • • • • • 111180 0000 0000 0000 0000 0000 0000 0000 0000 • • • • • • • • • • • • • • • • 111190 0000 0000 0000 0000 0000 0000 0000 0000 • • • • • • • • • • • • • • • • 1111 AO 0000 0000 0000 ACOO 0000 0000 0000 0000 • • • • • • • • • • • • • • • • 1111BO 0000 0000 0000 0000 0000 0000 0000 0000 • • • • • • • • • • • • • • • • 1111 co 0000 0000 0000 0000 0000 0000 0000 0000 • • • • • • • • • • • • • • • • 1111 DO 0000 0000 0000 0000 0000 0000 0000 0000 • • • • • • • • • • • • • • • • 1111 EO 0000 0000 0000 0000 0000 0000 0000 0000 • • • • • • • • • • • • • • • • 1111 F06 0000 0000 0000 0000 0000 0000 0000 0000 • • • • • • • • • • • • • • • • Directory Track, Sector 1 showing HIT code AC for "FILES" at location A6 Figure 2

111800 0000 0000 0000 0000 0000 0000 0000 0000 • • • • • • • • • • • • • • • • 111810 0000 0000 0000 0000 0000 0000 0000 0000 • • • • • • • • • • • • • • • • 111820 0000 0000 0000 0000 0000 0000 0000 0000 • • • • • • • • • • • • • • • • 111830 0000 0000 0000 0000 0000 0000 0000 0000 • • • • • • • • • • • • • • • • 111840 0000 0000 0000 0000 0000 0000 0000 0000 • • • • • • • • • • • • • • • • 111850 0000 0000 0000 0000 0000 0000 0000 0000 • • • • • • • • • • • • • • • • 111860 0000 0000 0000 0000 0000 0000 0000 0000 • • • • • • • • • • • • • • • • 111870 0000 0000 0000 0000 0000 0000 0000 0000 • • • • • • • • • • • • • • • • 111880 0000 0000 0000 0000 0000 0000 0000 0000 • • • • • • • • • • • • • • • • 111890 0000 0000 0000 0000 0000 0000 0000 0000 • • • • • • • • • • • • • • • • 1118AO 1000 0045 0046 494C 4553 2020 2020 2020 ••• E. FILES •••••• 1118BO 9642 9642 0100 1800 FFFF FFFF FFFF FFFF • B. B•••••••••••• 1118CO 0000 0000 0000 0000 0000 0000 0000 0000 • • • • • • • • • • • • • • • • 1118DO 0000 0000 0000 0000 0000 0000 0000 0000 • • • • • • • • • • • • • • • • 1118EO 0000 0000 0000 0000 0000 0000 0000 0000 • • • • • • • • • • • • • • • • 1118F06 0000 0000 0000 0000 0000 0000 0000 0000 • • • • • • • • • • • • • • • • Directory Track, Sector 8 showing file "FILES" Figure 3

TEST 08/15/79 FILES A6 PRIMARY ENTRY HAS BAD CODE IN "HIT" SECTOR 30 ***** GRANULE FREE, BUT ASSIGNED TO FILE(S) A6 FILES BOOT/SYS SIP=6 EOF - 5/0 1 EXTS 5 SECTORS DIR/SYS SIP=S EOF = 10/0 1 EXTS 10 SECTORS FILES EOF 0/69 1 EXTS 5 SECTORS

67 FREE GRANULES. 0 LOCKED-OUT GRANULES.

TEST DIRECTORY CHECK & LIST COMPLETED. Figure 4

80-US JOURNAL Nov-Dec 1979 35 To decode the location of an entry from the HIT sector, we have to break down the entry as follows: 0 1 2 3 4 5 6 7 Figure 5 [ -a- ] [ - b- 1 Code Conversion a. the number of the 32 byte FPDE within its sector. b, the sector the FPDE is in, minus 2 HEX ASCII Character For example, a HIT sector entry of AC at location A6 in the table is in figure 2 from f ile " FILES " . It is located by decoding the HIT location as follows: 20 32 space A6 = 1 1 O O O 1 1 O 21 33 ! ', [ -6- 1 [ -6- ] + 2 =8 22 34 So thedirectory entry for FILES is on directory sector 8 and is the 6th entry in the 23 35 # sector. 24 36 $ Now let's look at the FPDE itself. The 32 bytes of the FPDE tell us a lot of 25 37 % information about the file. Let's look at the one for FILES in sector 8. It looks like 26 38 & this: 27 39 1000 0045 0046 494C 4553 2020 2020 2020 28 40 ( 9642 9642 0100 1800 FFFF FFFF FFFF FFFF 29 41 ) Let's take just the first group (1000), and for review, in case we have forgotten, 2A 42 " remind ourselves that each digit is four bits, so that 1000 would be made up of 16 2B 43 + bits. If we break down the first eight bit byte (10). we see the following coding: 2C 44 10 = 00010000 20 45 2E 46 a b c d [ - e- ] 2F 47 I 30 48 0 a. 0 means this is a primary directory entry 31 49 1 b. this would be 1 if this were a system file 32 50 2 c. this is 1 for active files, 0 otherwise 33 51 3 d. this bit is 1 if the f ile is invisible 34 52 4 e. this 3 bit number is the protection level of the file, 000 = unrestricted access, 35 53 5 111 =no access. 36 54 6 Therefore, 1000 tells us this is an active file, while 0000 would indicate an inact ive 37 55 7 (killed) file, and 1800 would be an active, invisible file. 38 56 8 The 4th byte gives the position of the end of file in the 'end of file' sector and the 39 57 9 5th byte gives the logical record length of the file records (00 = 256 bytes). Bytes 6 3A 58 thru 13 give the filename in ASCII, padded with blanks (20 HEX) if necessary to fill 3B 59 the field. Bytes 14 - 16 give the file extension is used (also filled with blanks if 3C 60 < necessary). Bytes 17 and 18 are the encoded update password and bytes 19 and 20 30 61 = are the encoded access password. The 21st and 22nd bytes give the sector in the 3E 62 ) file where the end of file occurs. Bytes 23 thru 30 tell us where the file is on the disk. 3F 63 ? The location is coded in two byte pairs as follows: 40 64 @ 1st byte 41 65 A FF = end of the directory entry 42 66 B FE= the 2nd byte gives the directory entry code for an entension to the directory 43 67 c entry because 32 bytes were not enough 44 68 D FE = the track on the disk where the file is located 45 69 E 2nd byte 46 70 F this byte has the following coding: 47 71 G bit 0 1 2 3 4 5 6 7 48 72 H [ - a- ] [ - b- 1 49 73 I a. # of granules from the start of the track to the start of the file area 4A 74 J b. # of granules minus 1 assinged to the file in this area 4B 75 K We can see from the entry above for " FILES" that the file location is given by the 4C 76 L figures 1800 as follows: 40 77 M 18 = located on track 18 HEX 4E 78 N 4F 79 0 00 = 00000000 50 80 p [ - 0 - ] [ - 0 - ] + 1 = granule assigned, first 51 81 Q granule on track 52 82 R Now, the Meat! 53 83 s Now that we know something about directory entries, we can fix them if 54 84 T necessary. Once again though, a warning, always try out your fixes on a blank, 55 85 u formatted disk first. That way if you make a mistake, you can experiment until you 56 86 v figure it out without losing an important file, ·perhaps forever! 57 87 w With that said, let's kill the file " FILES" . Once we type in KILL FILES the FPDE 58 88 x now looks like this: y 59 89 0000 0045 0046 494C 4553 2020 2020 2020 5A 90 z 9642 9642 0100 1800 FFFF FFFF FFFF FFFF 5B 91 Up Arrow The only change here is that the first 1 was changed to a 0 (bit 4 of the first byte was 5C 92 Down Arrow reset to 0). Change it back to a 1 with SUPERZAP or RSM2D and we have it back, 50 93 Left Arrow right? WRONG! When a file is killed, it's HIT sector entry is set to 00 and the rE 94 Right Arrow granules allocated to that file are released. 5F 95 Cursor To recover the file completely, we must repair the GAT in sector 0 and the HIT in sector 1. In our case, we know that the HIT entry for FILES is AC and that it goes in byte A6 in (continued on page 62)

36 80-US JOURNAL Nov-Dec 1979 All LOBO Drives are 1OOo/o Quantity discounts available­ calibrated, burned-in, and perfor­ Dealer inquiries invited mance tested on a TRS-80* ,------..... ---· I computer prior to shipment. And I Yes, I want to know more about LOBO Drives I because we build QUALITY into and what they can do for my TRS-80. Send me information on: every LOBO Drive, we offer the I I QQO/o O 5 1/4-in. Floppy drive O 8·in. Winchester hard I industry's best one year, 1 I disk, 10 Mbyte drive parts/labor warranty. I O 8-in. Floppy drive O Double density 1 Single sided expansion interface I Call or write for the complete Double sided LOBO Drive story, find out just I how competetively-priced a I Name I Quality drive can be ... I Company I Address I 935 Camino Del Sur Goleta, I City State Zip California 93017. (805) 685-4546 I Phone No. 1 If dealer, provide resale no. "CAN YOU REALLY AFFORD I I INTERNATIONAL TO PAY LESS?" L_------~---~-_J *TRS-80 Is a registered trademark of Radio Shack, a Tandy Company. - 38 80 -US J Tke Great 80-U.S cHess T~

"On the scene" report, by M Schmidt,

One rainy afternoon this fall we played Microchess 1.5 against Sargon on two TRS­ 80's. Even though the two teams are not well matched, it made interesting play. We sent our reporter in for play byplay coverage, but this is all we ever got --­

THE DAY FINALLY ARRIVED!! The portals of both the Microchess had forced Sargon into a stalemate. strongholds of SARGON and MICROCHESS 1.5 opened, The first day of the tournament ended with both sides and with much clammoring and clinking, both sides came slowly climbing up their mountains to lick wounds and down from their respective mountains to the place of replenish troops. The Sargon King was overheard asking battle. his Queen: "Who the hells side are you on, anyway?". The They took adjacent sides of the field to assemble, then Queen just smiled, like a Mona Lisa. began to argue with each other across the corner of the The second day of the tournament dawned bright and field. Microchess knew the odds were against them (Boris clear, (an achievement, even in Medieval Seattle, thoLJgh the Russ was giving 5 to 1 ), and were trying to convince it did rain later). the Sargon crowd there should be some sort of handicap. Sargon, with a vengence unequaled, wiped out While the Microchess Bishops were praying for Microchess in 27 moves without even waiting for a guidance, a Sargon Bishop was chastising two pawns for decent end-game. They then proceeded to haul the fraternizing with the enemy. Microchess King up their mountain, where presumeably, There was restless commotion among the troops, they roasted him on a spit. (The Press was not admitted, while Knights from both sides repeatedly rode to the this being Kingly stuff, where commoners and reporters center of the arena to confer, then reported back to their are not allowed). Kings. The Microchess c.rowd spent the whole night gathered After several rounds of negotiations it was finally iri their courtyard, waiting for the puff of white smoke agreed that Sargon would fight at "look ahead 2", while which would signify which of their Bishops would be Microchess would fight at "IQ=3". elevated to Kingdom. A whole series of promotions took The local reporters however, didn't like this place that night, and at 6 AM they sent out a Press Gang, arrangement, and one of them whispered discreetly into to recr.uit a new pawn. the ear of the Sargon Queen, after which the Knights The third and last day of the tournament started much once more rode out to confer. After some time, it was like the second. In spite of being up all night, Microchess settled at Sargon with a look ahead of 1, and Microchess fought bitterly. By- move 4 they had the Sargon King in at I Q=3. (What the reporter whispered to the Queen never Check. They did it again in move 7 and in move 13. They was revealed). took p13wns, then a Bishop and a Rook. Sargon finally got a With these new developments, Boris the Russ quickly Check in move 30. The fight was long and bitter. It went changed the odds to 3 to 1, the reporters were delighted, into extra innhigs, it rained and the sun came out again, and the Sargon King was giving his Queen some very arid yet the fight went on. Both sides suffered severe questioning looks. losses. Finally, on move 61, with only the Microchess They took their places on the battlefield, trumpets King left on the field, Sargon dealt the final blow. blared and the fight was on! Microchess rode in with style They climbed their mountain after dark, using torches, and drew first blood by capturing a Sargon Bishop. There and left the mess to be cleaned up by us reporters. · was a furious scuffle, dust and horsedung covered the So~ewhere from within the Microchess fortress came field, and at the end of the battle (on the 36th move), the sound ofa thin voice, crying: "Wait till next year!"e

80-US JOURNAL Nov-Dec 1979 39 'Prut 'PibjiUMt. 'D~~ 'BtuJ Solfwolte Co.. 'POJtt T~efld. WA

The programmer who writes from one location in memory to HL,(ADDR); LD DE, ADDR; etc:). machine language programs using another? With some processors and Hence, any program containing one or Radio Shack's EditorI Assembler must with some 280 programs this is more such instructions will not be decide before assembly where his possible. Such programs are said to be self-relocating, and extra measures programs are to be located in memory. self-relocating. But most Z80 must be taken to move it around in This is done with the ORG pseudo-op. programs contain some instructions memory. As long as one or a fixed collecti~n of with pointers to absolute addresses What's the solution? One possibility programs will be loaded at one time, elsewhere in the program. The ,JP is to avoid all absolute memory there are no problems : the instruction is a familiar example. references. This is possible in some programmer simply assigns his When the assembler encounters a JP Z80 programs by using such programs non-conflicting addresses ADDR, it calculates the absolute instructions as JR and by clever use of near the end of memory and sets address of ADDR, from its the index registers and the stack. It MEMORY SIZE before loading to displacement in the program, plus the can be very awkward, however, and protect them. But what if the address given in the ORG pseudo-op, leads to virtually unreadable programs collection of assembly programs to be and assembles this address into the in extreme cases. The other possibility loaded is variable, or even worse, if the second and third bytes of the JP is to assemble the program at a fixed user adds more memory to his instruction. Thus the JP instruction location and to include enough machine? Normally, he will have will work only if ADDR is where the information about the absolute either to reassemble each program programmer told the assembler it was address references in it that they can with a different starting address or be going to be. Even if the entire program be modified later when the program is content with the wasted space in is later moved in memory, the JP will moved. This is the approach we shall protected memory left by Un-loaded transfer execution of ADDR's use. programs. In this article, a third originally specified location. And this alternative is presented: namely, problem is not just confined to JP Suppose a program is assembled program relocation at load time. instructions, but extends to all Z80 starting at address ADDR 1 but later Why is program relocation such a big instructions containing absolute moved to ADDR2 for execution. When deal? Why not simply copy a program addresses in their operands (e.g., LD this is done, all absolute memory

40 80-US JOURNAL Nov-Dec 1979 references to locations within the references in the user program, and program will do its thing and return to program will have to be incremented moves it into protected memory. BASIC, which will display: by ADDR2-ADDR1, the difference Finally it jumps into BASIC, where RADIO SHACK LEVEL 11 BASIC between the starting addresses. This MEMORY SIZE is automatically READY can be done at load time if we include updated and BASIC is restarted. In )­ a relocation program in our assembly cases where BASIC is not involved, You can find the new starting address of the original program. After loading, the user may want to substitute his of USR by typing : the relocation program will be own memory protection and post­ executed and will move the original relocation startup sequences. ?PEEK( 16561 )+256*PEEK(1 6562)+1 program where we want it, making the A couple items in Figure 1 may be BASIC will display the result in necessary changes in out address worth noting. First, the JP Z,002BH is decimal.(16561, by the way is 40B1 H references. Given such a relocation not referred to in the relocation table. in decimal). program, all we have to do is tell it That is because it refers to a fixed There are other ways to accomplish where those references are. location in BASIC ROM - not to an relocation, but the method just We can specify the locations of those instruction being relocated. Also note presented is one of the simplest. One references by using a relocation table. that the relocation reference to PTR thing not covered by this technique is This is just a list, assembled with the does not have a + 1 added. That is what to do when one relocated program, of all those locations because the memory reference at PTR program calls another, separately containing such references. Some begins right there and not one byte loaded one. This kind of problem is assemblers will automatically provide later, as it would in some three byte solved on some machines with a such a list in their output. Such instructions. linking loader which can indeed be a assemblers are frequently included Once assembled and saved on complex program and is beyond the with computers having a relocating cassette, the program may be loaded scope of a single article to explain in loader which performs the functions in the usual manner via the SYSTEM detail. But straight relocation, as of a relocation program while leading command. When loaded, just type I demonstrated here, should be a program from storage into memory. followed by ENTER. The relocation adequate in most applications. • Since the TRS-80 has neither, we have to write the relocation table ORG 43f}f}H ; RELOCATION PROGRAM ourselves. This is a time-consuming S'I1ART operation requiring careful attention LD HL, ( 4f}BlH) Get protected memory address-1. LD DE,USRE-1 Get current end of user program. so as not to leave out anything. But XOR A Reset carry. once done, it never has to be done SBC HL,DE Calculate difference. again unless changes are made in the EX DE,HL Get result in DE. program. The procedure is as follows: LD IX,RELOC ; Get addr. of r e location table. 1) Enter and edit your program in the LD B,RELOCE- RELOC<-1 ; Get size of table in words. usual manner. You will probably want HLOOP LD L,!IX) ; Get next table entry. to assemble and run it several times to LD II, IX+l) ; . get the bugs out. LD A, HL) ; Get LSB of memory reference. 2) When your program is completely ADD A,E Add LSB of displacement. debugged, list each line on the screen LD (HL) ,A Redeposit. one at a time (using the down arrow INC HL Point to MSB of memory reference. key). LD A , ( Ill., ) Ge t i t . ADC A,D Add AffiB of displacement + carry. 3) Whenever an instruction is LD (In,) ,A Redeposit. encountered which contains an INC IX Point to next table entry. absolute memory reference to a I~ IT . location elsewhere in the program, DJNZ RLOOP Go back for another one. write down on a piece of paper the LD Jn.,, USRE-1 Move the program. label of that instruction and the LD DE, ( 4f}BlH) ; displacement within the instruction of LD BC,USRE-USR; the reference (usually +1 ). If the LDDR instruction has no label, give it one INC DE New protection boundary. using the editor. You can use such EX DE,HL BASIC wants it in HL labels as R01, R02... etc.. as you see JP f}f}E7H Back to BASIC. fit. ; RELOCATION TABLE 4) When done, you will have your RELOC DEFS f} entire relocation table on paper. Now DEFW USR+l DEFW Rf}l+l you must enter it into the machine as a DEFW PTR sequence of DEFW pseudo-ops of the RELOCE DEFS f} form: ;USER PROGRAM (Sample) DEFW[label]+(displacement] USR LD HL, (PTR) 5) Finally, you must enter the LD A, (HL) relocation program provided here OR A along with the labels for the relocation JP Z,f}f}2BH table you just entered, and assemble INC HL the whole mess together. LD ( P'rR) , Jfl., RET The example in Figure 1 illustrates PTR DEFW LBUF these last two steps. Included are the LBUF DEFB ¢ relocation program, a sample DEFS 63 relocation table, and the program from USRE DEFS ¢ which it was derived. The relocation END START Necessary for autostart. program provided will work in any non-disk Level II system. It finds the beginning of protected memory, expands protected memory to contain Figure 1: The relocation program as used with a sample the user program, alters the address user program.

80-US JOURNAL Nov-Dec 1979 41 ''The heart of the development system is the assembler. At the present time, this is the most powerful assembler available for the TRS-80"

T R Dettmann. Associate Editor

Assembly Language programmil)g :has•al,Ways · BASIC for editing, but far more powerful. been looked upon as a '. ~el'.y " oBscure' · .; art~ . MACR080 - A Z80 assembler something like magic. Programmers who are LINK80 - A relocating, linking loader capable of handling it are pictur:~Q as intellectua.1 types who are incapable of relating to normal'. CREF80 - A program cross reference utility human beings and only find love and affection These packages give you capabilities normally with their computers. found only on larger systems. In some cases this might be true (my wife has All of these are included with the MICROSOFT always thought me to be a little strange), but in FORTRAN package for the TRS-80. So if you are general it is not. People are driven to take tip interested in FORTRAN as well as assembly Assembly Language programming by the desire language, you might as well get the whole to make the most of the capabilities of the package. But ifyou want to do assembly language computer they are using. ··· programming on the TRS-80, you should have Higher level languages like BASIC (really, it IS a MACR080. high level language) are designed to run on many We have previously covered the EDIT80 computers with many different abilities. Because package and the linking loader (see 80-US, May­ of this, such languages cannot take advantage of Jun 79 "TRS-80 FORTRAN"). so we won't the inherent abilities of a particular processor. discuss them in any great detail here. We will The game ANDROID NIM is a good example of concentrate on the assembler instead. what can be done by a Basic programmer who The MACR080 Assembler dips into Assembly Language for special effects. The heart of the development system is the It is also possible with the Z80 chip at the heart of assembler. At the present time, this is the most the TRS-80 to program the system so that it can powerful assembler available for the TRS-80. output to a relatively slow printer only when the MICROSOFT'S ads for the system call it the best printer is ready to accept a new character while Z80 assembler available anywhere. After using doing calculations in the memory cycles when it the package I believe their claim. would otherwise be doing nothing. (See 80-US, The MACR080 has features which are Sep-Oct 79 "A Spooler for the TRS-80", page standard on larger systems. It can easily provide 16, by AF Pepin) . . almost any capability that you have the Because there are people who are capable of knowledge to apply. Some of these are: handling Assembly Language programming (anyone who can think in a logical sequence can 1 - a complete INTEL standard MACRO do it), and there are those who need.the additional facility capabilities, there is need for an ·Assembly 2 - COMMENT block instructions Language Development System. 3 - OCTAL or HEX listings MICROSOFT'S programmers have designed 4 - Titles, subtitles, or paging the MACR080 Assembly Language development 5 - Variable base input (from 2 to 16) system and for the price of $175.00 you can have it for your very own. This system was originally 6 - Relocatable or Absolute assembly designed for 8080 microprocessor systems, but 7 - Full compatibility with the FORTRAN MICROSOFT adapted it to the Z80 and the TRS­ compiler 80 in particular. 8 - Conditional assembly instructions The System • )·;;, ' . . 9 - COMMON block capability The Assembly Language Development system 1 0 - The ability to assemble 8080 source comes with four major packages which are codes · essential to system development: ·. The last feature alone makes available a large EDIT80 - A random access editor with number of programs written for the 8080 commands similar to those in Level I! systems. All that is necessary to use them with 42 80-US JOURNAL Nov-Dec 1978 the TRS-80 is some adaptation to our Generating MACRO's for complex tasks will Input/Output system, and relocation to RAM at make the code very long, since each time the addresses above ROM. MACRO is invoked, the body is assembled in the With all of these added features, it takes some code stream. Subroutines exist only in one place, time to learn how to use the system, but the time so a complex task can be put into a subroutine and spent is well worth it. Let's look at the system in invoked without making the code too long. action now to see what it is like. The choice then, comes down to speed versus What's a MACRO anyway? complexity. To understand one of the most powerful Evaluation advantages of the MACR080 assembler, we Working with the Assembly Language have to know just what a MACRO is. In simple Development system poses the same problems terms, it is a way to insert a sequence of assembly which working with the FORTRAN compiler did, language statements into the source program by i.e., there is a large time overhead for running calling them from a predefined sequence. programs in and out of the computer. To type in To illustrate how this works, we might consider and run a program, you will have to do the the sequence of instructions necessary to following: increment a counter by one: 1 - run EDIT80 to create the source file with LD HL,COUNTER the assembly language instructions LD A,(Hl) 2 - run the MACR080 assembler to create INC A the machine language file LD (Hl),A 3 - if there was an error, go back to EDIT80 to If this set o f instructions were going to be correct it and then assemble it again repeated many times over, it would be a waste of 4 - run LINl<80 to load the machine language time to have to type it in each time. By defining a routine, run it, and creat a CMD or OBJ file MACRO for this sequence called "BUMP", we For many people, this will seem to be too great a can cause this sequence of instructions to be burden and they will reject the idea ot the MAC80 inserted in our program wherever we use the key­ assembler in favor of a package like the Radio word BUMP. Shack Editor Assembler, which has everything What's more, the MACRO can be defined with integrated into o ne package. arguments so that the names in the body of the These people should realize however, that the MACRO can be changed as necessary in the power of the assembler is only possible because MACRO call. We could define the sequence of its size. Any smaller package such as the Radio above as a MACRO with the ability to increment Shack one will lack the features ofthis package. It any counter as follows: is short sighted to give it up on this basis. On the BUMP MACRO COUNTER largest computers, programming is normally LD HL,COUNTER done by going from one program to the next. LD A,(H L) Integrated packages with everything in them are INC A uncommon. LD (HL),A In order to properly test the MAC80, I chose to ENDM run some simple programs that involved very little Now it is possible to use the command BUMP to effort to make run correctly, as well as a larger increment any counter by one. For example, we project that I have been at for some time. could use the BUMP command to increment a The first program I worked with is the screen counter at 7320H: white-out routine from the Radio Shack Editor BUMP 7320H Assembler manual. This routine is trivial, but will generate: since it is a well known star.dard routine that LD HL,7320H many people have run, I felt it would be a good LD A,(HL) standard. INC A The routine as compiled by the MAC80 LD (HL),A assembler is listed below: in the assembled code. 00100 ORG 700H Most people unfamiliar with MACRO's 3COO 00200 VIDEO EQU 3COOH 7000 21 3COO 0300 LD HL,VIDEO confuse this with a subroutine. However, a sub­ 7003 11 3C01 0400 LD DE,VIDE0+1 routine is never put into the source code at the 7006 01 0400 00500 LD BC.400H point where it is called. A subroutine occupies its 7009 36 BF 00600 LD (Hl),OBFH own area of memory and jumps are made to it, 700B ED BO 00700 LDIR 700D 06 05 00800 LD B,5 back from the program in order to execute its 700F 21 FFFF 00900 LP1: LD HL.OFFFFH instructions. 7012 2B 01000 LP2 : DEC HL So why have both subroutines and MACRO's? 7013 7C 01100 LD A.H 7014 85 01200 OR L They do the same thing, don't they? No, 7015 C? 7012 01300 JP NZ.LP2 MACRO's and subroutines each have 7018 10 F5 01400 DJNZ LP1 complementary advantages and disadvantages. 701A C3 0000 01500 JP OH MACRO's create fast, in-line code while 01600 END 7000H subroutines require jumps and returns, which can By comparing this with the assembled routine in eat up time. the manual you can see that there is no essential

80-US JOURNAL Nov-Dec 197~ 43 difference between the MAC80 assembly and the were undefined symbols from the part of the Editor Assembler assembly. This is only to be program that had not been entered yet. expected if these assembrers are doing the same Another question I considered important was thing. whether the files generated by the disk based Another routine, similar to the first, was tested version of the Radio Shack Editor Assembler to blank out the screen and write a message there. (specifically the Apparat version) were In the same manner as before, the routine worked compatible with the MAC80. well. To test the compatibility, I tried to read a disk The larger project used to test the MAC80 was file created by the Apparat Editor Assembler. I the translation of a LISP interpreter for the 8080 found that I could read it in with the EDIT80, but from Dr DOBB's JOURNAL for the TRS-80. couldn't read in the line numbers. The line Though the project is not done yet, the MAC80 number format is incompatible between the two assembler is making progress much simpler since assemblers. the assembler can work with the 8080 codes. This can be compensated for with EDIT80 After typing in the first half of the program since you can read in the file, eliminate the old directly from the magazine, I assembled the code line numbers which will appear as graphics with the MAC80 to see where I had made syntax blocks on the screen, and store the file with the errors, etc. At first, I had an error on nearly every new MAC80 line numbers. You can't go the line out of about 300 lines. It took only five other way however, since the Radio Shack minutes to trace this down to improper use of Editor Assembler has no provision for handling the MAC80 .COMMENT statement to enter formats not the same as those stored by the block comments. assembler itself. To correct the error, I had to replace a single Overall character in 6 lines. The EDIT80 Editor allowed In the final analysis, the MAC80 is the most me to do that by executing a single substitution capable assembler presently available for the command: TRS-80. In some respects it has more power than many assembly language programmers will S ,O[BREAK] $[BREAK] I [BREAK] use. But if you need the capability of a full development system and you want the backup This command caused the improperly used power to accomplish nearly any task that can be delimiter ($) to be replaced by a slash( / ). accomplished with assembly language Assembling after this substitution left me with programming, then there is no package more only 19 errors in 300 lines, and most of these suited to your needs than the MACR080. •

"TA/PAN is so intriguing that I played for over six EPIC MICROCOMPUTER GAMES II hours when I first received a copy. " ·. ' FOR THE TRS-80® (LEVEL II, 16K) Ramon Zamora II II RECREATIONAL COMPUTING II••• II II As Captain of the starship Enterprise, your mission is to You're on the wild and woolly China Coast of the destroy the Klingon battlecruisers which have invaded 1860's. Newly arrived, you are up to your neck in debt Federation space-before their planned attack upon to Hong Kong's Triad underworld. Starfleet HQ! With your borrowed money, you've ~SDtim, You have phasers to blast the invested in one small ship. With & enemy from the void, and a that, a bit of capital, lots of compliment of photon tor­ determination, and no scruples pedoes which can destroy at all, you're prepared to pay anything in their paths. Several bribes, battle pi rates, and Starbases are available for re­ brave the tai-fung storms. fueling and replenishment ... but watch out for the fickle This exciting and challenging game will thrust you into a Romulans, who attack unex­ world long (and thankfully!) gone. pectedly using cloaking devices! As the ancient Chinese curse states, "May you live in in­ A tough, enjoyable game, using excellent graphics. teresting times. "

Live Long and Prosper-but keep you shields up!!! Available on cassette for $9.98 -by Art Canfil

Available on cassette for $9.98 -by Dave Sparks NEWLY AVAILABLE! GAMESETTE 1: Four quality 1000MILES $11 .98 Levelllgames! Only$11.98

Postpaid in the US. California residents add appropriate 6% or 6%% sales tax. PD k'.JOX '10~32 DEALER INQUIRES WELCOME! 5ilf\J r'1i.df\JL'l5CD, CR 9'1~'10 MILLER MICROCOMPUTER SERVICES OFFERS PROFESSIONAL AND HOBBYIST SUPPORT FOR YOUR TRS-80 MICROCOMPUTER

THE LIBRARY 100: 100 L2 programs on 5 tapes, with bus- MMSFORTH : A very professional version of this fast and iness, home, education, games & graphics ...... $49.50 powerful language, specifically written for TRS -80. Includes WIN21: A practice & tutorial program for winning blackjack, introductory documentation wi th further references, demo based on Thorp's book, "Beat the Dealer", which is included with programs including Game of Life, etc L2 tape ...... $44.95 L2 tape ...... $29.00 On disk. with disk I. 0 and virtual memory! ...... $64.95 ELECTRIC PENCIL: The most popular character-oriented word MicroFORTH PRIMER : The best book on the subject and the processing system, L2 ...... $99.95 major manual for use with MMSFORTH ...... $15.00 At last, on disk with disk 1/ 0! ...... $149.95 SARGON II : The best L.2 chess tape, now better! ... $29.95 AUTOK & QEDIT: L2 tape adds auto repeat to all keys plus screen-oriented editing (63 char max lines). Includes infor to LEVEL I IN LEVEL II TAPE: Regain those Level I capabilities move to disk ...... $14.95 when needed, no hardware mods! ...... $17.00 AUTOEDIT: Above on disk, for 32 & 48K RAM (if not buying other programs on disk, add $5.00 for disk ...... $14.95 . . . . - - . RENUM : L2, ten times faster than Radio Shack's version, easier THE BEST IN DIS!< UTILITY PROGRAMS. to use, and available now! ...... $17.00 G2 LEVEL Ill BASIC: L2 tape with many disk features, some RENUM. -BASIC 1.-.$15.00e-a; EDTASM MODS, DISASSEM, new commands as we:I ...... $49.95 LMOFFSET, ~J:JPE~ZAP! .. $2~ . oo ~~; plus $_5 .00 per: di~k . NEWDOS: Apparat's upgrade of DOS 2.1 with 30 corrections, 20 major new features. We believe it is the TRS-80 Software of TERMINAL: TERM program mod, makes your Radio Shack RS - the Year! Changes & DOS itself extensively documented 232 board and modern compatible with computer bulletin boards On Disk ...... $49.95 & most other computers ...... $7.00 NEWDOS+: S~ecial combination of NEWDOS, above 6 utilities MMS DISK BOOKKEEPING SYSTEM: Small accounting and more, on disk and with documentation (now hear package for 32K TRS -80 with one disk drive, printer optional. To th is! .. .. $99.00 .That's right, now just $99.00 instead of be used with the popular " Dorne Simplified Weekly Bookkeeping $199.001 Our best seller! Record" (available in most stationery stores or from MMS, for MMS recommends you add AUTOEDIT (see above) to your $5.95) on disk ...... 25.00 NEWDOS+ disk; add $14.95

Ordering info: Payment in full, Mass orders add 5% tax; all add $1 .00(first class mail), books & Library 100 require $2.00 shipping. State number of disks and RAM size (most disk programs need 32K, most tapes 16K). FREE REPLACEMENT OF DEFICTIVE MERCHANDISE­ NO RETURNS. ASK FOR FREE FLIER!

MILLER MICROCOMPUTER SERVICES 61 Lake Shore Road Natick, MA 01760 (617)653-6136, 9 am to 9 pm ETZ

AP1 Is a general ledger package with Payroll computes tax information check journal, Income statement, and updates totals for quarterly and balance sheet and checkbook recon­ yearly reports. Employees can be cil iatlon routine. Designed for the R0 £JU ' \'.'~li: salaried or hourly and pay periods small business or homeowner. Up to can be either weekly, bi-weekly, 50 entries and 40 accounts per ~)l!rl!tt~ · ww~ semi-monthly or monthly. Any period. Quality Business Software number of employees (8 per cassette for PET, 25 employees per cassette ····································· $25.00 For PETtm or TRS-ao·tm (level II 16K) for TRS-80). "Accounting Pack I by SAWYER ····································· $30.00 SOFTWARE can be described in one Disk***NEW*** Bu1lne11 Software For Your TRS-80 word: Fantastic. Any who has GENERAL LEDGER- Maintains Payroll-18K for PET. Same as above prepared a balance sheet manually complete financial information on plus ability to get hard copy of will have a sllght hear~ murmur upon diskette. Generates hard copy of individual employee records and using the Accounting Pack. It Is Trial Balance, Income Statement stores 25 employees per cassette. amazing that the program fits in (with percentages), Balance Sheet ...... $45.00 BK. I would say the Accounting Pack and Check Journal. Includes Printer Payroll (TRS-80)- Includes is useful and could justify the price of commands to edit data, close out same features as PAYROLL, plus a PET unto itself for any small year end accounts and debit-credit utilizes a printer for hard copies of business.'' verification. employees records and stores 25 Review in BEST OF PET GAZETTE...... $125.00 employees per cassette. PAYROLL- Computes FICA, B.A. allows management to have AP2 has all the features of AP1, plus Federal and State taxes. State is available to them information for up to 250 entries per period, Menu, calculated on percentage of gross formatter for reports and more. pay and can be customized for your financial planning decisions utilizing Requires at least 16K in PET or particular state. Will allow use of ratio and growth analysis. TRS-80. City tax and/or other deductions. $30.00 AP2 also utillzes a printer for the Utilizes printer for hard copy of Call or write for youi' reports. Send device number of Payroll Register, including current, FREE BROCHURE printer with order for PET. quarterly and year-to-date totals. on all our $45.00 ...... $125.00 All disk software requires at least PET tm & TRS-80 tm 32K and one disk drive . programs. ' SAWYER SOFTWARE 201 Worley Rd., Dexter, Mo. 63841 Telephone• Orders Welcome (314) 624-7611 Dealer Inquires are Invited. STOCK MARKET PROGRAM

PART 3, SELL/TAX DOS & Printer Required

• • • • • • • • • • • • • • • • • • • • • • • • • • • •

The 3rd of a 3 part series. By Fred Guth & John Knoderer. St.Louis, MO

10 REM FILENAME SELL/TAX 20 REM HOW MUCH TAXES WILL I HAVE TO PAY 30 REM IF I REINVEST, WHAT RETURN WILL I NEED TO MAINTAIN CURRENT INCOME 40 REM BASED ON 1979 TAXES (NOT 1978) 50 PRINT:PRINT 60 LINE INPUT"TYPE IN THE DATE TODAY _,.;A$ 70 INPUT "ENTER THE NAME OF THE STOCK ~";N$ . 80 INPUT "NUMBER OF SHARESTO BE SOLD IS -";N 90 INPUT "THE UNIT COST OF THE STOCK WAS -";U 100 INPUT "THE CURRENT MARKET PRICE IS -";M 110 INPUT "THE YEARLY DIVIDEND PER SHARE NOW IS -";D 120 TD=N*D 130 INPUT "BROKER'S COMMISSION PER 100 SHARES IS --";BC 140 INPUT "ENTER YOUR TAX BRACKET -";TB

150 PRINT 160 TC=N*(BC/100) :AR=(N*M)-TC:PR=(M*N)-TC-(U*N) 170 TX=(PR*.4)*TB:AT=((M*N)-(BC/100*N))-TX 180 CY=100*D/U:X=INT(CY*100)/100 190 NY=100*TD/AT:Y=INT(NY*100)/100 200 CLS:LPRINT"DATE OF REPORT IS -";A$:LPRINT" ":LPRINT" ":LPRIN T"N.AME OF THE STOCK IS -";TAB(45) ;N$:LPRINT" " 210 LPRINT"NO. OF SHARES TO BE SOLD lS -";TAB (SO) ;N:IJPRINT"UNIT COST PER SHARE WAS -";TAB(45);:LPRINTUSING"$###,####.##";TJ:LPRIN T"THE CURRENT MARKET PRICE IS -";TAB(45);:LPRINTUSING"$###,####. ##";M:LPRINT" " 220 LPRINT"THE BROKER'S COMMISSION WILL BE -";TAB(45);:LPRINTUSI NG"$###,####.##";TC:LPRINT"NET AMOUNT FROM THE BROKER WILL BE -" ;TAB(45);:LPRINTUSING"$###,####.##";AR:LPRINT"THE GROSS PROFIT W ILL BE -";TAB(45);:LPRINTUSING"$###,####.##";PR:LPRINT"" 230 LPRINT"THE TAX (BEFORE MINIMUM TAX) WILL BE ~";TAB(45);:LPRI NTUSIN~"$###,####.##";TX:LPR~NT" " . . . 240 LPRINT"THE NET AFTER TAX WILL BE --";TAB(45);:LPRINTUSING"$## #,####.##";AT:LPRINT" ":LPRINT"THE YIELD ON COST NOW IS -";TAB(S 0) ;X; "%" 250 LPRINT "THE YEARLY DIVIDENDS NOW TOTAL -";TAB(45);:LPRINTUSING"$###,####.##";TD 260 LPRINT"A NEW INVESTMENT WOULD HAVE TO YIELD TO MAINTAIN .CURRENT INCOME -'~;TAB(50) ;Y;"%" 270 FORI=1T012:LPRINT" ":NEXT:GOTOSO 280 END

46 80-US JOURNAL Nov-Dec 1979 READY >RUN Disco-Tech T .M. TYPE IN THE DATE TODAY -AUG 20, 1979 ENTER THE NAME OF THE STOCK -? AM BRANDS DDT NUMBER OF SHARES TO BE SOLD IS -? 250 T.M. THE UNIT COST OF THE STOCK WAS -? 12.50 THE CURRENT MARKET PRICE IS-? 24.75 Disc Drive Timer THE YEARLY DIVIDEND PER SHARE NOW IS -? 0.85 for TRS-80 (16K, 32K, 48K) BROKER'S COMMISSION PER 100 SHARES IS--? 1.70 & Apple Microcomputers ENTER YOUR TAX BRACKET -? .38 DATE OF REPORT IS -AUG 20, 1979 Works with any disc drive. Radio Shack (new & old

NAME OF THE STOCK IS ­ AM B~NDS model drives), Shugart, MPI, Pertee & Vista. NO. OF SHARES TO BE SOLD IS ­ 250 UNIT COST PER SHARE WAS - $ 12.50 Get the bugs o ut of your disc drives THE CURRENT MARKET PRICE IS ­ $ 24.75 with DDT. DISCO-TECH's brand­ new program which lets you analyze THE BROKER'S COMMISSION WILL BE ­ $ 4.25 and adjust disc drive motor speed NET AMOUNT FROM THE BROKER WILL BE - $ 6,183.25 within a tenth of an RPM (in .a total THE GROSS PROFIT WILL BE ­ $ 3,058.25 300) with a real time graphic display . THE TAX (BEFORE MINIMUM TAX) WILL BE - $ 464.85 Anybody can do it! All you need is DDT. two screwdrivers. and five THE NET AFTER TAX WILL BE - $ 5 ,718,. 40 minutes' time . No more down time THE YIELD ON COST NOW IS ­ 6.8 % and costly repairs. DDT is faster . THE YEARLY DIVIDENDS easier. more accurate than strobe NOW TOTAL - $ 212.50 timing - and DDT is the ONLY way A NEW INVESTMENT WOULD TO YIELD HAVE to adjust a Pertee. short of taking it to TO MAINTAIN CURRENT INCOME - 3. 71 % a repair shop. Incorrect motor speed This is the third and last install­ What it does, is to tell just what causes lost data and ·program in ­ ment of a series of programs .you will receive,· and what you compatibility. DDT lets you check designed to keep track of your , . will have to pay in taxes. Also, if disc drive motor speed routinely with stocks. The first, called STOCK a detailed motor speed analysis. so you should reinvest, it will tell your drives are always running right. PRO, was presented in the Jul­ you what to look for in the way of Aug 79 issue. The second, called returns in order to maintain your Be sure to specify TRS-80 or Apple. $1495 App l.e available STOCK YIELD, was presented current income. · Cassette on d iskette only. in the last issue. Inputs are as shown in the 95 This final program is called sample run. The date may be Diskette s 19 Postpaid SELL/TAX, and is the crucial one entered as Aug 27, 1979 or as Check. M. 0 .. Visa, Mastercharge in the determination as to sell or 08/ 27/79. Watch the Broker California residents add 6 'b sales tax . to hold. Sometimes, taxes are so commission, as it is entered as a •••••••••••••••••••• high that it is hardly worth dollar value per 100 shares. Enter selling, and this program can give your income tax bracket as a MLUP-1 you that last "push" towards a decimal value i.e., .38 for 38 Machine Language Utility decision. percent. Package No. 1 The preceeding programs in After you have entered your tax TRS-80 Level II or Oise BASIC this series gave a practical. bracket, the printer will start (16K, 32K, 48K) cataloging method whereby all Six machine ;anguage routines to printing as shown in the bottom make your TRS-80 more efficient, your stocks are listed on one half of the sample run. After the versatile and trouble-free. page, with unit costs, total costs run is complete, the program will KEYBOARD DEBOUNCE/ REPEAT ­ for each stock, unit and total return to the beginning and FORMAlTEDINPUT-UPWARD market values, and the indivi­ prompt you to enter another day SCROLLING - DOWNWARD SCROLLING - SHIFT & DELETE ­ dual and total gains and losses. and stock. Break to quit the SHIFT AND INSERT Then, in the second of the series, program. There are no disk files the program listed and · to be retrieved or stored during Postpaid calculated, again on one page, ~this program. $2 5 Write today for complete the percent of return for each With these tools, STOCK PRO, details or to order. stock, based both on costs and STOCK YIELD and SELL TAX, on markets. you can keep on top .of your With all this information on your stock investments more than dlSCfb very own situation, and with a · before.· Use them to check "feel" of the current market, you periodically, you should find you

John Strader, CPA, Business Editor

Prior articles in this series have given sheet. This business will probably all deposits so you can tell where the you a brief explanation of what will be need a bookeeper or a public receipts came from. Use sequentially available in the future and some pf the accountant-bookeeper who can help numbered invoices, checks and other features that are desireable in good with the procedures necessary to documents. Generally, computer business software. This article will obtain an accrual basis of accounting. posting reports should also be give a brief explanation of some Once the accounting procedures are sequentially numbered. I was a tax accounting software which is understood he should be able to use auditor and have examined many currently available. the system with a minimum of businesses; it can be very costly if the There are currently three types of additional help from his accountant. records are in a shambles. accounting systems that are available. The third type of system is The Try to set up a routine and post from Listed after each of the three types of Osborne & Associates Integrated similar documents, journals, check systems is an example of that system General Ledger System, which registers or invoices each month, This which will be discussed in this article: consists of a general ledger system, simplifies the posting procedures The (1) An income statement system (The accounts receivable system, accounts interfacing of manual procedures and Miller Microcomputer Services-Dome payable system and a payroll system. computerized procedures is the Bookeeping System), (2) A general The complete system has the greatest weakness in the majority of ledger system (Radio Shack General following capabilities: It will print computerized accounting systems. System), and (3) An integrated checks to suppliers and payroll I have used and modified the Radio accounting package (Adam Osborne & checks; prepare invoices and keep Shack and the Taranto version of the Associates). Each one of these track of receivables and payables; and Osborne & Associates General Ledger packages is good for a certain type of keep track of payroll-withholding, System. Both systems have strengths business operation. FICA, and prepare W -2's. It will then and weaknesses. I will list the features I am sure there are also other post all of these transactions into the of each system and comment on them. packages which are very good; general ledger system of accounts. however, I am familiar with these The general ledger system will print a Printout of Reports systems. There are also TRS-80 general ledger, income statement and Radio Shack: The general ledger versions of the Osborne package; the a balance sheet. The Osborne System printouts, transaction reports and the names of the dealers and versions can will also let you departmentalize your trial balance are good. However, in my be obtained from Adam Osborne & income and balance sheets which will opinion, the balance sheet and income Associates. Each version of the allow you to obtain separate income statements are not very good. They Osborne & Associates will be slightly statements for each profit center. This have stars around the headings and different and have different sort type of system is ideally suited to a don't appear very professional. This routines, data entry routines, etc. small to medium size business that can be fixed very easily. which may make some versions better has a fulltime bookeeper. Of course than others. I haven't compared all of you can also just buy various parts of The balance sheet will not allow the versions so I don't know which is the system. An individual with little beginning capital or equity accounts best. I will not try to compare the Miller accounting background or experience or a classified balance sheet - dividing Microcomputing Services-Dome could use the accounts receivable, the balance sheet into current assets, Bookeeping System with the Radio payable and payroll with little trouble. fixed assets, other assets, current Shack and Osborne packages because However, to get the maximum liabilities, other liabilities, and it is for an individual who wants a benefits out of the entire system you stockholder's or owner's equity. statement from a check register. will probably have to understand The income statement catagories are Generally, this system should be accrual accounting. set up so that you must have a cost of usable by anyone. Regardless of which . system you goods sold statement; many service The first type of system, The Miller decide to use you should be aware of businesses have no cost of goods sold. Software-Dome Bookeeping System, the necessity to retain supporting Osborne & Associates: In my opinion, should be used by a smaller documentation for you computer the Osborne printouts of the general businessman who does not need a entries, to maintain audit trails and be ledger. income statement and balance balance sheet, and doesn't have a able to explain all entries to auditors, sheet are better than Radio Shae!< . fulltime bookeeper. This system is IRS agents and any other parties that However, I was not completely especially adaptable to a service have a right to examine your records. satisfied with these statements either. business that is on a cash basis of Generally, the taxing statutes place I deleted the dollar signs and added accounting and does not need cost the burden on the businessman to commas after thousand.hundred centers or departmental income provide a complete and accurate set of thousand, etc. This is easy to change. statements. records. To give you an example, don't The balance sheet and income The second type of system, The Radio make payments to suppliers and then statements are very flexible and can Shack General Ledger System, should destroy invoices. Also make certain an be set up to fill your needs. be used by a small business that needs entry can be traced from a check into a Security an income statement and a balance specific general ledger account. Label Radio Shack: Of the two packages,

48 80-US JOURNAL Nov-Dec 1979 Radio Shack is probably more secure, relatively easy modification of category headings can be set to because once the files have been set ~the programs. The Taranto & operator specifications. The printout up and daily transactions are entered, Associates version of Osborne is of cost of goods sold can be deleted or it is harder to change or delete the written in TRS-80 basic while the changed as desired. The programs will accounts without printing out a Osborne books are in Wang basic. give you a more professional looking statement. The posting reports also There are minor problems because of income statement and balance sheet have report sequence numbers on different language statements . to present to your banker. suppliers them . However , anyone with However, the Taranto code sequence and for internal use. programming expertise would have follows the books almost exactly and I These changes and modifications little trouble avoiding these controls. had very little problem modifying the can be obtained from 80-US by Radio Shack has no security controls programs. sending in a disk with a copy of the over entry to the system. Operation Radio Shack general ledger system on Osborne: The accounts can be Both the Radio Shack and Taranto it. We do not sell Radio Shack general changed at will in the file version of the Osborne & Associates ledger systems. You must purchase maintenance portion of the general package have operated for me with these from Radio Shack. We will ledger system and no paper report is minor problems using my two disk merge the program modifications into generated. Accounts should not be drive system and the NEWDOS the Radio Shack programs and send changed in this method (see prior operating system. you a sample set of accounting explanation of audit trails). There are While none of these programs have records set up on the Radio Shack disk no sequential numbers on the reports met all the features listed in my . and an accounting manual explaining to control report printout sequence. software article. they do provide a how to keep records, set up manual The Osborne system does have workable system. I have not used the procedures and audit trails. When password protection to the general complete Taranto package, only the sending in the disk, specify whether ledger system. general ledger system. I hope this has you are using the tractor feed or roll Documentation given you some helpful information paper type printer. Also specify Radio Shack: The system has an for selecting an accounting system for whether you want your sample operating manual which generally your business. accounting records to be a service, ~xplains how to operate the system. Certain modifications to the Radio retail. or manufacturing accounting The manual also contains program Shack general ledger system have system. listings; however, there are no file been prepared; the modifications The complete cost will be $30.00 for layouts, explanations of code or provide for a balance sheet with program modifications and the program variables. current assets, fixed assets, other manual. The manual, which can be Osborne. The Osborne & Associates assets, current liabilities, other used for other general ledger systems, have very well documented file liabilities and stockholder's equity may be purchased separately for layouts, code explanations. and sections. including beginning capital $15.00. Program modifications will variable explanations. This makes for accounts. All of the income statement not be sold without the manual.•

M800 M80 Ham Interface Deluxe RTlY for the TRS-80 Send-Receive RTTY &. CW Adds these additional RTTY features to the M80. • Auto send. &receive: RTTY & CW • Split -screen display. Full ASR . • Complete hardware & software. • Save all text on cassette . • Connects to TRS-80 User Port &Key I headphone jacks . • Instant Replay · RCV and XMT text. • 10 message memories - 255 char. ea. • Instant break operation · preserves buffers . • Keyboard buffer · allows typing ahead. • WRU · save on cassette · automatically . • Uses built-in PLL or external TU. • Execute external programs · interactive graphics . • Includes hardware, cassette &manual. • One -time callsign insertion . • Morse trainer - random 5 letter words . • Auto line numbers, margin labels . CR I LF, CR suppress, XMTR control. • 4 small messages (255 char. ea .) plus big message (up to max . RAM). • Additional RY, FOX, CO messages . ;~wLF~8Ai~~R~s* Assembled • UT 4 outp•1t speed control. • Baudot (4speeds) plus ASCII (110 baud) . •MORSE tutorial-10 lessons-corrects mistakes­ Simplest, fastest way to learn the code! & Tested Requires the •Auto-numbering contest keyer. MBO Ham •interactive Graphics-Custom PIX. Interface. $99 •Auto transmitter control-PTT. $149 • PET, APPLE, SORCERER versions available. California residents add 6% tax Write or Call for Complete Catalog. VIS4' .1

We are experiencing telephone difficulties, please keep trying.

80-US JOURNAL Nov-Dec 1979 49

-· T~~FLEET -§t .~- - - MATM.-PAK-1 ~llJfl , . MATH-PAK-1 is an equcational system designed' to jnstruct the user in the addition, , A specially designed SF TACTICAL BATTLE GAME for · subtraction, multiplication, and division of your TRS-80 Computer. whole numbers.

The man called Sudden Smith watched the five blips on Long hand procedures are simul~t~d by his screen spread out to meet the enemy. Two freighters allowing the user to enter one or more d1g1ts and converted into something like battlewagons, powerful see the resultant operation before proceeding to but slow, and three real cruisers: the most powerful group the next step. of warships ever seen near the Promethean system ·­ except for the Stellar Union fleet opposing them. Everyone was Other features include: Immediate Error calling it Starfleet Orion, though it existed for only this Check; User Selected Difficulty Levels; Auto .day. it was life or death, and, after the object lesson on Digit Positioning, Carryovers and Remainders; the pl~net Spring, everyone knew it. Scoring; Games; and more.

STARFLEET ORION is a complete 2 player game system An absolute MUST for every TRS-80 user with • rule. book • battle manual • cassette elementary school age children. • ship control sheets • program listings MATH-PAK-1: Available for $14.95 (L2-16K) Includes 2 programs, 22 space ship types, and 12 playtested Dealer & Educational Inquires Invited scenarios. Game mechanics are extremely simple·, but play Mass. Residents Add 5% Tax is exciting, challenging, and rich in detail. Specify TRS-80 Level II, 16K ($19.95). Ask your local dealer or send your check to: EDU-WARE Automated Simulations Department U P.O. BOX 336 P.O. Box 4232 Mountain View, CA. 94040 MAYNARD, MA 01754 California residents please add 6% sales tax

NEW! CHESS * BACKGAMMON * MORE~

779 Line Printer Timer :, TRS~80 Works with TRS-80® and NEW MACHINE LANGUAGE GAMES! Centronics® 779 Line Printers Z-CHE$S . for 16K Level II Play the classic game of CHESS using the TRS-80 graphics. Seven Turns Motor on and off levels of difficulty (up to eix levels of "look ahead") provide .ci challenging game. for ol l. Alpha-Beto pruning and move sorting Automatically .ore e,,;ployed tci .keep response times to a minimum. SETUP mode allo.ws the board to be arranged as desired. Plays all movee­ including CASTLING . and EN PASSANT captures. Numbered e9uares simplify move input•. . Possibly the featest good strategy cheea No software or hardware changes needed. g~me ' 9vailable! ' $17_. 95 Saves motor life and power. Just solder 3 BACK-40, . for 16K Lavel I I A s~perior opponent .which makes extensive use of the TRS-80 wires and mounts inside printer. Dealers graphics to dieplcy o regulation style BACKGAMMON board of wanted, inquire on company stationery, unrivaled 9·uclity end clarity- including the dice! BACK-40 DOUBLES if it stands a good chance of winning- which it usually also O.E.M. and service accounts wanted. does! Every feature of c regulation BACKGAMMON match ia $95.00 complete with one year warranty. included- even ke.eps score! $14. 95 DR. CHIPS for 16K Level II Make checks payable to: A fcecincting program baaed on the famous "DOCTOR" end "ELIZA" programs. Simply "TALK" (er, "TYPE") to your computer-DR. CHIPS will ~nolyze your e.:.ntencee end "TALK" bock to you-immediately! Digital Timing Devices A1 though DR. CH I PS' responses 'shou 1d not be taken eari oua 1y, he . ia the ultimate computer introduction for the family end 4306 N.E. 6 Ave. friends-end o super "convereationcl iat" ct portiee! $14. 95

Ft. Lauderdale, Fl 33334 USA lmmediote ehipment by firet cloee moil - Texoe ree. odd 5% Phone # (305) 561-3757 Order by moil or phone

The time when we bought houses because of the unique bay window are as much history now as buying a car because of the stylish fins on the rear fenders. It if is too expensive to drive the car, you can park it and stay at home. But what do you do if it is too expensive to heat your home? Present and future homeowners wm have to be at least as concerned about the energy efficiency of their homes as they are their cars. The program listed with this article performs a heating requirement audit. The aim of the audit is to provide a projected average monthly heat cost for each month of the heating season. The only concern of the audit is fuel consumed by the heating unit; energy for cooking, lighting, and other applial"!ces are not considered. Before running the program you will need to have at hand some specific information about the house. The total surface area of each exterior wall, the area of each window and door on each exterior wall, andthe amount of insulation in each wall is needed. The program will subtract the window and door area as needed. Take the gamble. Consider, for the purpose of heat-loss, sliding glass doors as windows. Keep the infomation for each exterior Pull the arm on Bandito, the graphic TRS-80 * slot wall separately. machine with sound effects. Calculate the floor area and note if it is over a basement, Hear the Bandito's arm creak as it moves. Wait anx­ crawl space, concrete slab, and any insulation. If parts of iously as the spinning and clicking wheels slow to a the floor fit into different catagories, enter each part stop. And, if your luck holds out, you'll see your win­ separately, the program will combine them appropriately. nings pile up! The ceiling should be treated like the floor. If insulation Bandito will provide hours of fun and entertainment amounts vary, enter the area of each part separately. on your TRS-80 microcomputer. The fast graphics are excellent animation and the sound effects give the feel­ The program computes the rate of BTU loss for a ing of actually playing the slots. Bandito is good for particular house. It allows for user input of the demonstrating your computer to friends, a great party information and data gathered earlier. Using this program, and enjoyable entertainment at any hour. information, the program generates two tables and a straight line graph. The first table displays the perce'nt of · Sound effects on Bandito, as on all Acorn programs, heat loss through walls, doors, floor, ceiling and are made through the cassette cables. You just plug a windows. The second table displays the number of BTU's small speaker amplifier into the AUX cable and you'll lost per hour for temperatures ranging from +50 to -30 hear the arm creak, the wheels spin, and the winnings pile up. degrees Farenheit. The graph pictures the information in Acorn produces several programs with sound the second table. The final piece of information given by the program is the rate of BTU loss per hour per degree ef~ects. These include Star Warp and Lunar Lander, Alien, Star Trek, Ting- Tong, Music, Codebreaker, Word below 65° F. Challenge and more. All available for $9.95 for a 16K, This progrnm could be used to determine the feasability Level II TRS-80. Ask for these quality programs at your of installing additional insulation where it could be most local computer store. beneficial. The program is written in Level II BASIC. The graph is not essential to the program, and may be deleted • TRS·BO is a trademark of Tandy Corp without loss of information to the user: The program requires 16K of memory. · . ; For more information regarding temperature data for various cities, obtain the Federal Energy Administration publication. "BUYING SOLAR", (FEA/g-76/154). · Finally, if unpleasantly high fuel costs are projected, remember that beating on the computer has no effect on the results. . · .e Acorn Software Products, Inc. (Please turn page for program NttinqJ 634 North Carolina Avenue, S.E., Washington, D.C. 20003 80-US JOURNAL Nov-Dec 1979 • , t ~l .-"~ .. L J • .- ~·~·- .0:· .-~•~ tl 1-

(J'I N ~ :I: __i\ n 0 "Tl )> 740 PRINT" TYPE '3' -- INSULATED ENTRANCE DOOR" 0 to '1J s: 750 INPUT"TYPE OF DOOR";! f:g \\ ... ~ .... r­ m 760 IFI=1THENL3=34 ) 0 '\ (j) ~ ::JJ 770 IFI=2THENL3=23 I! C :t ·\ ;ii:: Q n 780 IFI=3THENL3=17 r -0 0 ::c: 790 IFI<10RI>3GOT0710 \' - ~ :t \ ctl ::r c < G') m 800 HD=AD*L3:TD=TD+AD:LD=LD+HD )I ~ ::l o '\ ctl C') r­ 810 INPUT"ANY MORE DOORS (YES OR NO) ";C$ ') 3: 7 3: \ ::JJ )> 820 IFC$="NO"GOT0840 ! _ t'T'1 ""-- t'T'1 rr· )> (20 ~ -I 830 CLS:GOT0690 ~ z Cl { ::r )> -I 840 HS=AS*L1:TS=TS+AS:LS=LS+HS c ...... 850 PRINT:INPUT"ANY MORE WALLS (YES OR NO) ";C$ "O (ti-· - r­ .I ....,(f; 6 s: 0 860 IFC$="NO"GCT0880 r=---7(( 0 870 CLS:GOT0360 ~ z 880 WL=LS+LW+LD en 890 CLS :PRINT" F L 0 0 R" :PRINT en 900 PRINT"IF DIFFERENT PARTS OF THE FLOOR HAVE DIFFERENT INSULAT ION":PRINT"AMOUNTS, ENTER THE AREA OF EACH PART SEPARATELY." 910 PRINT:INPUT"ENTER THE AREA OF THE FLOOR ";AF I 920 PRINT:PRINT"WHICH TYPE OF FLOOR INSULATION:" 930 PRINT" TYPE '1' -­ OVER CONCRETE SLAB" 10 REM * HOME HEAT * RALPH G WHITE COLUMBUS, KS 66725 * 940 PRINT" TYPE '2' -­ OVER CRAWL SPACE WITH NO INSULATION" 20 CLS:PRINT@93,"H 0 M E":PRINT@154,"H EAT IN G":PRINT@220,"N 950 PRINT" TYPE '3' -­ OVER CF.AWL SPACE WITH 4 IN. INSULATION" E E D S" 960 PRINT" TYPE '4' -­ OVER HEATED BASEMENT" 30 PRINT@539,"PROGRAM FOR":PRINT@604,"HEAT LOSS":PRINT@667,"CALC 970 PRINT:INPUT"FLOOR TYPE ";I ULATION" 980 IFI=1THENL4=7 40 FORI=40T089:SET(I,35) :NEXT 990 IFI=2THENL4=10 50 FORI=35T026STEP-1:SET(40,I) :SET{41,I) :SET(88,I):SET(89,I):NEX 1000 IFI=3THENL4=4 T . 1010 IFI=4THENL4=0 60 FORJ=OT06:FORI=OT03:SET(36+(4*J)+I,25-J) :SET(93-(4*J)-I,25-J) 1020 IFI<10RI>4GOT0920 :NEXT:NEXT 1030 HF=AF*L4:TF=TF+AF:LF=LF+HF 70 SET(64,18):SET(65,18) 1040 PRINT:INPUT"ANOTHER PART OF THE FLOOR (YES OR NO)";C$ 80 FORI=23T019STEP-1:SET(86,I) :NEXT 1050 IFC$="NO"GOT01070 90 FORI=21T019STEP-1 :SET(8.1,I) :NEXT 1060 CLS:GOT0910 100 FORI=81T086:SET(I,18):NEXT 1070 CLS:PRINT" CEIL IN G":PRINT 110 FORI=1T06 . 1080 PRINT"IF DIFFERENT PARTS OF THE CEILING HAVE DIFFERENT INSU 120 FORH=4T01STEP-1:FORK=OT03:RESET(82+K,H) :NEXT:NEXT LATION":PRINT"AMOUNTS, ENTER THE AREA OF EACH PART SEPARATELY." 00 1090 PRINT:INPUT"ENTER THE AREA OF THE CEILING ";AC 0 130 FORJ=17T01STEP-1 I 140 FORK=OT03:SET(82+K,J) :NEXTK 1100 PRINT:PRINT"TYPE OF INSULATION:" c 150 IFJ>14GOT0170 1110 PRINT" TYPE '1' -- NO INSULATION" (j) 160 FORK=OT03:RESET(82+K,J+3) :NEXTK 1120 PRINT" TYPE '2' -- 3 1/2 IN. INSULATION" L 170 Z=O 1130 PRINT" TYPE '3' -- 6 IN. INSULATION" 0 180 NEXTJ 1140 PRINT" TYPE '4' -- 10 IN. INSULATION" c 1150 PRINT" TYPE '5' -- 14 IN. INSULATION" :::0 190 NEXT! z 200 CLS 1160 PRINT:INPUT"INSULATION AMCXJNT ";I :t> 210 PRINT"THIS PROGRAM CALCULATES THE HEAT LOSS OF A SINGLE FAM! 1170 IFI=1THENL5=22 r LY":PRINT"HOME FOR ANY TEMPERATURE.":PRINT"THE PROGRAM WILL:" 1180 IFI=2THENL5=6 z 220 PRINT" 1 -­ GIVE TWO SUMMARY TABLES" 1190 IFI=3THENL5=4 0 1200 IFI=4THENL5=3 < 230 PRINT " 2 -­ GRAPH THE HEAT LOSS FOR TEMP. RANGE -30 TO +6 I 5" 1210 IFI=5THENL5=2 0 1220 IFI<10RI>5GOT01100 CD 240 PRINT" 3 -- GIVE THE BTU LOSS FOR ANY GIVEN TEMPERATURE" 0 250 PRINT:PRINT"THERE ARE MANY OTHER FACTORS THAT AFFECT HEAT LO 1230 HC=AC*L5: TC=TC+AC: LC=LC +AC ~ SS IN A HOME":PRINT"THAT ARE NOT CONSIDERED. SO THE DERIVED FIG 1240 PRINT:INPUT"ANOTHER PART OF THE CEILING ";C$ <.O URES ARE CLOSE":PRINT"ESTIMATES RATHER THAN EXACT FIGURES." 1250 IFC$="NO"GOT01270 -.J 1260 CLS:GOT01090 <.O 260 PRINT:PRIN1'_;:I}JPUT"PRESS 'ENTER' TO CONTINUE"; Z$ CX> 0 cI (J) L 0 270 CLS 1270 TL=LF+LC+LW+LD+LS c 280 PRINT"THE WALLS WILL BE CONSIDERED FIRST. ONE WALL AT A TIM 1280 PW=(LW/TL)*100:PD=(LD/TL)*100:PS=(LS/TL)*100:PF=(LF/fL)*100 :0 E WILL":PRINT"BE COMPUTED. ALL WINDOWS AND DOORS ON THAT WALL W :PC=(LC/TL)*100:PE=(WL/TL)*100 z ILL BE":PRINT"CONSIDERED BEFORE DOING ANOTHER WALL." 1290 CLS :PRINT" T A B L E 1 ":PRINT )> r 290 PRINT"THE FLOOR WILL BE CONSIDERED AFTER THE WALLS." 1300 PRINT"SURFACE";TAB(30);"AREA";TAB(45);"% OF HEAT LOSS":PRIN z 300 PRINT"THE CEILING WILL BE FIGURED AFTER THE FLOOR." T 0 310 PRINT:PRINT"IF INSULATION AMOUNTS SHOWN DO NOT MATCH YOUR CO 1310 PRINT"EXTERIOR WALLS";TAB(45);PE NDITIONS":PRINT"EXACTLY, CHOOSE THAT WHICH IS THE CLOSEST APPPRO 1320 PRINT" WALL SURFACE";TAB(30);TS;TAB(50);PS 4GOT0390 1530 CLS:PRINT@20,"B TU 'S L 0 S T P E R H 0 U R" 500 CLS:PRINT" ARE THERE ANY WINDOWS?" 154 0 PRINT@64 I "B": PRINT@J 28 I "T 70" :PRINT@192, "U 60" :PRINT@32 510 INPU~ "'YES' OR 'NO' ";C$ 4,"50":PRINT@384,"X":PRINT@452,"40":PRINT@516,"30":PRINT@576 :1" 520 IFC$="NO"GOT0660 :PRINT@640,"0 20":PRINT@704,"0":PRINT@768, " 0 10" 530 PRINT:INPUT"WHAT IS THE AREA OF THE WINDOW ";AW 1550 PRINT@822,"65" 540 AS=AS-AW:W=W+1 1560 FORI=3T041:SET(14,I):SET(15,I) :NEXT 550 PRINT:PRINT"WHICH TYPE OF WINDOW:" 1570 FORI=16T0110:SET(I,41):NEXT 560 PRINT" TYPE '1' -- SINGLE GLAZED--NO STORM WINDOW" 1580 FORI=6T036STEP5:SET(13,I):RESET(14,I):NEXT 570 PRINT" TYPE '2' -- DOUBLE GLAZED--OR SINGLE GLAZED W/STORM" 1590 FORI=25T0105STEP10:SET(I,40):NEXT:SET(110,40) 1600 FORI=OT095 580 INPUT"WHICH TYPE ";I 1610 T=I-30 590 IFI=1THENL2=79 1620 B=INT((((M*T)+TL)/2000)+.5) 600 IFI=2THENL2=48 1630 G1=I+15:G2=41-B 610 IFI<10RI>2GOT0550 1640 SET(G1 ,G2) :SET(G1+1,G2) 620 HW=AW*L2:TW=TW+AW:LW=LW+HW 1650 NEXTI 630 INPUT"ANY MORE WINDOWS (YES OR NO)";C$ 1660 PRINT@902,"-30 -20 -10 0 10 20 30 40 50 60 640 IFC$="NO"GOT0660 TEMP." 650 CLS:GOT0530 1670 INPUT"PRESS 'ENTER' WHEN FINISHED WITH THE GRAPH";Z$ 660 CLS:PRINT" ANY DOORS?" 1680 CLS:PRINT"ENTER A TEMPERATURE THAT YOU WISH TO SEE HOW MANY 670 INPUT"'YES' OR 'NO' ";C$ BTU'S ARE":PRINT"BEING LOST AT THAT TEMPERATURE." 680 IFC$="NO"GOT0840 1690 PRINT:INPUT"WHAT TEMPERATURE ";T 690 PRINT:INPUT"WHAT IS THE AREA OF THE DOOR ";AD 1700 B=(M*T)+TL:D=B*24 700 AS=AS-AD:D=D+1 1710 PRINT"BTU'S LOST PER HOUR ";B 710 PRINT:PRINT"WHICH TYPE OF DOOR:" 1720 PRINT"BTU'S LOST PER DAY ";D 720 PRINT" TYPE '1' -- ORDINARY ENTRANCE DOOR" 1730 PRINT:INPUT"ANOTHER TEMPERATURE (YES OR NO) ";C$ 730 PRINT" TYPE '2' -- ORDINARY ENTRANCE DOOR WITH STORM DOOR" 1740 IFC$="YES"THEN1680 1750 END wtn

1n---.-·i;·r·- ; 1 -;·"· " -1 1n ~···-··''!- l111 'T11" .. __.. ;,._,._ .. • •· .. - - • machine language on tape. FLEXL SOFTWARE REVIEW allows you to load a SYSTEM format tape anywhere in RAM, and then dump a copy of it back out to tape in SYSTEM FORMAT. (At last, a program that allows you make copies of those precious TDISK, machine language tapes!). It also provides the ending address of the program loaded, with the message " To merge with this program load FLEXL & at XXXX" . Very handy for batch assembly work. The program also has provisions to make a SYSTEM format tape of a block of memory. After working with these tapes. I can say these are very well ­ ATERM w r it ten, well thought - out programs. without an ounce of fat, and will make a worthwhile Review by Roy Groth addition to your software library. TDISK costs Sl 9 .95, and SYSTEM SAVERS costs S 14.95. Since this is really three reviews unshifted characters are Both are available from Computer in one, I shall cover the common transmitted that way unless SHIFT CableVision, 2617 42nd Street. points first, and then go on to the LOCK is invoked. The down arrow Washington, DC 20007 • individual programs. is used as the CONTROL KEY, and The documentation for each of several control characters have Disco Tech the programs is excellent. Each been added. Control ENTER, for includes all the data needed to put example, signals return to BASIC, Disc Drive Timer the program on disk using and a SHIFT UP ARROW is used TAPEDISK. They then take about for lineprinter on / off. Review by M Schmidt half a page to describe exactly The Baud rate is selectable from DDT (Disc Drive Timer) Disco­ what the program will do, then 110 to 9600, the parity (odd, even Tech / Morton Technologies Inc. PO give explicit instructions for or none), word size (in bits), and Box 11129 Santa Rosa. CA 95406 loading the program, both in Level number of stop bits are all selected II and DOS. These are machine at the beginning of the program, If you have ever wondered about the language programs, loaded via the and you can change settings with speed of your disc drives you need SYSTEM command, which allows CONTROL BREAK. wonder no longer. Disco-Tech's DDT them to play a small trick to save a (Disc Drive Timer) is an easy to use TDISK and FLEXL are sold versatile tool to keep your drives little memory. The name of the together in a package called program and all the coDyright data running Cit the proper speed. Ours SYSTEM SAVERS. The TDISK came on disc. it is also available on is loaded directly from the tape utility will relocate machine cassette for transfer to disc. into the video RAM, so all the data language programs that would DDT displays disc drive motor speed gets displayed without taking up normally overload the DOS area. in two ways. First, 1t gives you an any space in user RAM . It also Basically, this is done by loading extremely accurate motor speed gives you something to look at the offending program into the analysis of all the drives on your while the program is loadinq. unused RAM, and then putting a system; then it provides you with a header on it that will move it into real time graphic display of any selected drive. the DOS overload area after the The motor speed analysis gives you The ATERM program, along DOS no longer needs it both the motor speed in RPM, and the with an RS 232C and a MODEM, percentage of error from the correct will turn your TRS-80 into a full speed of 300 RPM. duplex ASCII terminal. Full duplex, The graphic display lets you adjust for those of you not familiar with As an extra added motor speed simply and quickly. It is the term, means. that you can attraction, TD/SI< in­ easier than using the strobes on the 1ype one thing, while the screen Shugart and MPI drives, and is the (or printer) is printing something cludes instructions for only way to adjust the Pertee and completely different. In other similar drives which do not have the loading Microchess 1. 5 strobe feature. words, what gets printed has onto disl<. Also important is the fact that using nothing to do with what you are this timer does not require you to void typing. any warranties. Here is how it worked: The disc was placed in the system drive and the The program is fully ASCII Of the three programs. FLEXL is system booted up. It chains through compatable, and will handle my favorite. It is a utility program and loads itself. A menu is displayed, lowercase if installed , and designed for those of us who do from which you can select an analysis

54 80-US JOURNAL Nov-Dec 1979 NEW TRS-80 CASSETTE - FINALLY THE SOFTWARE* & HARDWARE MORE GAMES VOLTAGE GT-3 Chicken·-A challenging game with sound effects! Hear engine idling and TRS·so· revving sounds. Approaching a wall at high speed, you must hit your brakes TRANSIENT before you smash against the walll Speed varies randomly. The player who comes closest to the wall without crashing wins. (Available in Level II only.) SUPPRESSORS Price: $I 0 .00

GT-5 Moving Maze-If you don ·t have a lot of patience. then you had better not try this game. You must get from one side of the maze to the other side through MODEL 701 moving gateways. A usable gateway m11y or may not appear soon. but when one does you had better be ready to react . Failure to react fast enough can HAVE YOU HAD cause you to be slammed out of existence! (Available in Level II only.) Price. $10.00 • Tapes or Discs You Could not Note: Sound effects games require no extra wiring or interfacing Load­ HARDWARE • Tapes or Discs You could not finally in stock again! Back by popular demand! read­ • Interface Problems­ HW· I Computer and Peripheral Power Control Center-(Are you gonna love • Stored Data Change­ this!) 1) Turns on computer. video monitor. tape recorder and/or various • Intermittent Machine Halts- peripherals with the flick of a single switch! NO REWIRING OR EXTRAS NECESSARY! just plug everything into this unit. 2) No need to have your video monitor near a wall socket! Power center has built-in polarized receptacles which will accept the polarized video monitor plug. though the unit itself will plug into any unpolarized extension cord socket or polarized socket . 3) Power everything from a single wall socket since unit needs only one wall or extension These problems represent an improper buffering of the raw AC• Power line, which can allow very fast voltage spikes to enter cord socket! 4) Built-in fuse circuit protects your TRS-80 power supply! 5) Red LE D. indicator glows when system is powered up. 6) Attractive unit takes up your computer and it's peripherals. The TRS-80 Model 701 voltage very little space (3 in x 6 in . x I in .). 7) Ready to go as soon as you get it just transient suppresscr has been designed to stop these voltage plug it in. Even great for other makes of computer! transients before they reach your computer, and we guaranty it, with our 5 Year Limited Warranty. Just plug it in . If this unit is not everything we claim. just send it back for a full refund. Price: only $12.00 $39.95 + $2.00 Shipping and Handling

A.P. SYSTEMS P.O. BOX 488, DEPT. 4-80 corrpulrex MILFORD, PA. 18337 ...__PO Box 536 Inman SC 29349 _ __, [717] 686-5900

of all the drives on your system. (A disc RPM . We found that the drive will not SECURITY rnust be in each of the drives to be stay within one-tenth of an RPM, but What with the coming of checked). that it will vary a few tenths one way or telephone modems and the like, it It then starts with drive 0 and the other. Also it seems that the drive identifies it on the screen, along with speeds up slightly after it has run for a was sure to happen. Cryptext TOO FAST, TOO SLOW, or CORRECT short time. Corp, PO Box 425, Northgate SPEED.It gives the speed in RPM, and There was one problem, which was Station, Seattle, WA 98125 is the error from 300 RPM as a explained in the 26 page manual offering TRS - 80 users an percentage. It then goes on to the which comes with the DDT. Some of encryption device designed to plug other drive(s) and puts the information the drives have their speed for them on the screen too. adjustment trim-pot pointing straight directly into the back of the TRS­ The really neat feature is the " G" down, so that the adjustment screw is 80 or into the expansion interface option. This one lets you select a about 1/!1 inch above the base of the via an optional cable. particular drive. It then asks for a scale drive. The manual suggests you drill a The Cryptext device reportedly factor, which can be from 12 to 1 RPM . hole in the base, so you can get at it. A It then draws a scale across the slight bother at first. but after that you allows business users and bottom of your screen, marked with can adjust it without ever taking the hobbyists to secure almost any divisions for whatever scale factor you cover off again_ type of data quickly. selected, and with 300 RPM in the Having worked with electo­ Used with a modern, it allows middle. A small graphics blip then mechanical devices for some years, it appears under the scale and indicates is hard not to appreciate so fool proof data or messages to be the speed of that drive. The blip is and positive a device such as this. I transmitted in privacy via tele­ updated once per second, and you can found one of my drives to be 3 RPM phone or other comm channels. actually see the variation in speed of over and another was 3 RPM under The unit has 280 possible keys, the drive motor. speed. Adjusting them was simple and At this point the drive runs took only a few minutes. The disc and can modify the code sequence continuously, the display indicates version sells for $19.95 and the so that 2350 codes are possible. where the RPM's are, and you can cassette version for $14.95. The The unit, which is small enough then adjust the trim pot in the rear of manual also includes two good to fit in a pocket or briefcase, is the drive for the proper speed. If need selections on Tape Problems and Care supplied with demonstration be, you can (after getting close to 300 of Magnetic Media. As you have RPM), re-select the " G" option with a probably gathered by now, I am software and user-oriented docu­ smaller scale factor, and get the drive delighted with this utility, and mentation and costs less than motor to within one-tenth(!) of an recommend it highly. Mike $300.

80-US JOURNAL Nov-Dec 1979 55 !>l .l:ll :.,.,_ . UI_. __ .U ""-'1.-• ..l ••• Ill '"'--:

(J1 a> 930 GOT0670 10 'BY JOHN STEDEFORD, TWIN FALLS, IDAHO - 1979' 940 T=X:IFPOINT(X+1,Y)THENZ=1ELSEZ=O 20 'B$ THROUGH H$ MAY BE MODIFIED TO INCLUDE LOCAL FIGURES, 9 5 0 FORX=XTOX-ASTEP-1 : SET ex, y l : IFZ= OTHENRESET (X+ 1 , y} NEW NEWSMAKERS, ETC.' 960 Z=O:IFPOINT(X-1,Y}THEN1030 30 'THE MAXIMUM LENGTHS OF THESE STRINGS ARE: B$-17; C$-44; 970 NEXTX D$-24; E$-25; F$-18; G$-25; H$-35' 980 X=X+1 40 DEFINTA-Z 990 GOT0670 50 CLS:PRINTCHR$(23):PRINT@470,"THE MAZE" 1000 PRINT@1000," ";:IFY=T-ATHEN670ELSE1040 60 FORT=1T02000:NEXTT 1010 PRINT@1000," ";:IFY=T+ATHEN670ELSE1040 70 CLS:PRINT@402,"CONCEIVED AND PROGRAMMED BY" 1020 PRINT@1000," ";:IFX=T+ATHEN670ELSE1040 80 PRINT@536,"JOHN STEDEFORD" 1030 PRINT@1000," ";:IFX=T-ATHEN670ELSE1040 90 FORT=1T02000:NEXTT 1040 PRINT@396,"" 100 CLS:B=RND(10):0NBGOSUB1230,1240,1250,1260,1270,1280,1290, 1050 PRINT@460," YOU RAN INTO THE WALL, DUMMY! " n •II 1300,1310,1320 I 1060 INPUT" PRESS ENTER. , 110 C=RND(10) :ONCGOSUB1330,1340,1350,1360,1370,1380,1390,1400, 1070 GOT0440 1410,1420 1080 CLS:PRINTCHR$(23}:PRINT@460,"YOU MADE IT! 120 D=RND(10):0NDGOSUB1430,1440,1450,1460,1470,1480,1490,1500, 1090 FORT=1T0750:NEXTT 1510,1520 1100 CLS:PRINT" UNFORTUNATELY, WHILE YOU WERE TRAPPED IN THEM 130 E=RND(10) :ONEGOSUB1530,1540,1550,1560,1570,1580,1590,1600, AZE, 1610,1620 1110 PRINTF$" ABSCONDED WITH THE "D$ 140 F=RND(10):0NFGOSUB1630,1640,1650,1660,1670,1680,1690,1700, 1120 PRINT"AND DIDN'T EVEN LEAVE YOU "H$". 1710,1720 1130 PRINT" EVEN WORSE, THE "C$ 150 G=RND(10):0NGGOSUB1730,1740,1750,1760,1770,1780,1790,1800, 1140 PRINT"HAS GONE BROKE, AND IS UNABLE TO GIVE YOU THE RAISE 0 1810,1820 R THE 160 H=RND(10):0NHGOSUB1830,1840,1850,1860,1870,1880,1890,1900, 1150 PRINT"PROMOTION. 1910,1920 1160 PRINT" HOWEVER, YOUR EXPERIENCE HAS HELPED YOU LAND A NEW 170 PRINT" CONGRATULATIONS! YOU HAVE BEEN HIRED AS A "B$ JOB WITH 180 PRINT"FOR THE "C$". 1170 PRINT"A NEW COMPANY. ALL YOU HAVE TO DO IS TYPE IN YOUR SO 190 PRINT" BEFORE YOU START YOUR NEW JOB, YOU MUST COMPLETE A S CIAL PECIAL 1180 PRINT"SECURITY NUMBER, PRESS ENTER, AND YOUR NEW JOB WILL B 200 PRINT"ASSIGNMENT TO PROVE YOUR VALUE TO THE COMPANY. E 210 PRINT" YOUR SPECIAL ASSIGNMENT IS TO RECOVER A VALUABLE 1190 PRINT"EXPLAINED TO YOU.":PRINT:PRINT 220 PRINTD$" WHICH WAS STOLEN LAST WEEK BY THE 1200 INPUTQ$ 230 PRINTE$", "F$". 1210 GOT0100 240 PRINT" YOUR ASSISTANT HAS TRACED "F$" TO A HIDEOUT, 1220 END 250 PRINT"AND YOU HAVE GONE THERE PERSONALLY TO COMPLETE YOUR 1230 B$="SECRET AGENT":RETURN 260 PRINT"ASSIGNMENT. 1240 B$= 11 STREET WALKER":RETURN 270 PRINT" THINGS WENT SOUR FROM THE START. FIRST, YOU HAD TR 1250 B$= 11 TRASH COLLECTOR":RETURN OUBLE 1260 B$="MATTRESS TESTER":RETURN 280 PRINT"STARTING YOUR "G$", YOUR USUAL MODE OF 1270 B$="CHILD MOLESTER":RETURN 290 PRINT"TRAVEL. WHEN YOU FINALLY GOT TO "F$"'S 1280 B$="CHICKEN PLUCKER":RETURN c.o 300 PRINT"LAIR, YOUR QUARRY WAS WAITING FOR YOU, AND TRAPPED YOU 1290 B$="GENERAL FLUNKY":RETURN 0 IN A 1300 B$="MANURE SPREADER":RETURN cI 310 PRINT"MAZE WITHOUT WATER OR "H$"." 1310 B$="LINT TASTER":RETURN CJ) 320 FORT=1T020000:NEXTT 1320 B$="DITCH DIGGER":RETURN c..... 330 CLS:PRINT" "F$"'S DIABOLICAL MAZE HAS WALLS FROM FLOOR TO 1330 C$="AJAX WORM FARM":RETURN 0 340 PRINT"CEILING. YOU CAN GO RIGHT UP TO A WALL AND SLIDE";: 1340 C$="SUPERSTUD ESCORT SERVICE":RETURN c PRINT" ALONG IT, BUT 1350 C$="DAILY DOUBLE BOOKMAKING PARLOR":RETURN ::0 350 PRINT"IF YOU RUN INTO A WALL YOU GET A BROKEN AND BLOODY NOS 1360 C$="ONE-A-DAY WIDGET FACTORY":RETURN z E AND" 1370 C$="LAST NATIONAL BANK & SALAMI FACTORY":RETURN )> r 360 PRINTF$" MAKES YOU START OVER. 1380 C$="FEDERAL BUREAU OF INVESTIGATION":RETURN z 370 PRINT" HOWEVER, IF YOU GET THROUGH TO THE OUTSIDE YOl' GET 1390 C$="LOCAL GARBAGE DUMP":RETURN 0 THE" 1400 C$="UNITED STATES CONGRESS":RETURN 1410 C$="VELVET TOUCH MASSAGE PARLOR":RETURN 0 430 FORT=1T012000:NEXTT 1470 D$="ANTIQUE TOOTH SCRAPER":RETURN """ c 440 CLS:FORX=OT0127:SET(X,1):NEXTX 3 a a> :ti 450 FORY=1T040:SET(127,Y):SET(126,Y):NEXTY 1480 D$="COMPUTERIZED POCKET COMB":RETURN ~ t.Q z 1490 D$="ONE LEGGED HORSE":RETURN :s "I r- ~ )> 460 FORX=127T01STEP-1:SET(X,40):NEXTX 1500 D$="EMBALMED COCKROACH":RETURN ­ Cl "(1) r 470 FORY=40T01STEP-1:SET(O,Y):SET(1,Y):NEXTY :t 3 < 1510 D$="MINK-LINED"NOSE WARMER":RETURN ~ z 480 EX=RND(121):IFEX<2GOT0480 1520 D$="DIRTY SOCK":RETURN ~ 3 > 0 490 FORX=EXTOEX+S:RESET(X,1):NEXTX 1530 E$="EVIL GENIUS":RETURN Cl Cl < 500 EN=RND(119):IFEN<6GOTOSOO "'l '<: N I 1540 E$="INSANE FUNERAL DIRECTOR":RETURN ~ ~ 0 510 FORX=ENTOEN+5:RESET(X,40):NEXTX "° 1550 E$="DEPRAVED PSYCHIATRIST":RETURN "'l- (I)Cl c Cl) 520 X=7 "O m (") 1560 E$="WIERD TREE SURGEON":RETURN 0 -· _. 530 N=1:R=15 1570 E$="ESCAPED CONVICT":RETURN 3~ (0 540 B=RND(R):IFB <":SET(X,Y) 11 11 1700 F$="COLONEL SAUNDERS :RETURN "°N_ ~ 670 PRINT@960, ENTER DIRECTION (U, D, R OR L):"; 11 > 1710 F$= RONALD MC DONALD":RETURN 0 "'l 680 FORP=OT050:NEXTP:RESET(X,Y):FORP=OT050:NEXTP:SET(X,Y):A$=INK 1720 F$="EARL BUTZ 11 :RETURN EY$:IFA$=""THEN680ELSEPRINT@1000,A$; r- ;· 1730 G$= 11 BICYCLE 11 :RETURN ~ 690 PRINT@960,"ENTER NUMBER OF STEPS (9 OR LESS):"; :s-· Q..:s ~ 1740 G$="GARBAGE TRUCK":RETURN ~ (I) 700 FORP=OT050:NEXTP:RESET(X,Y) :FORP=OT050:NEXTP:SET(X,Y) :B$=INK 11 11 1750 G$="DONKEY :RETURN ~~ EY$:IFB$=" THEN700ELSEPRINT@1003,B$; 11 oo ~ 710 A=VAL(B$} 1760 G$= GAS-POWERED SKATEBOARD":RETURN ::J­ 1770 G$= 11 HORSE-DRAWN FIRE TRUCK":RETURN t.Q n ::s 720 PRINT@960," II ,• -· Cl 1780 G$="16-SEAT MOTOR SCOOTER":RETURN <: - (J) 730 PRINT€(893+INT (EN/2)) , II II; 11 ~ 'O 1790 G$= MOTORIZED HOCKEY PUCK":RETURN (I) ~ '""to 740 IFA$="U"THEN750ELSEIFA$="D"THEN820ELSEIFA$="R"THEN880ELSEIFA 1800 G$= 11 COAL-FIRED MOPED":RETURN ct> $="L"THEN940ELSE670 :r­ (I)"'l Q 1810 G$= 11VELVET TENNIS SHOES":RETURN 750 T=Y:IFPOINT(X,Y+1)THENZ=1ELSEZ=O ~ 0 1820 G$= 11 PEDAL-POWER SUBMARINE 11 :RETURN ~ 760 FORY=YTOY-ASTEP-1:SET(X,Y) :IFZ=OTHENRESET(X,Y+1) 3 ~ 0 770 Z=O:IFY=OTHEN1080 1830 H$="YOUR FAVORITE SCOTCH":RETURN Cl 0 ~ 1840 H$="SEX":RETURN ;IC "I ...o.. 780 IFPOINT(X,Y-1)THEN1000 790 NEXTY 1850 H$="BARBEQUED HERSHEY BARS":RETURN 3· ~ 1860 H$= 11 YOUR RIGHT GUARD":RETURN c n 800 Y=Y+1 1870 H$="PENCIL SHAVINGS":RETURN 810 GOT0670 3 ~ ~ 1880 H$="DEAR ABBY 11 :RETURN :s s· ...,, 820 T=Y:IFPOINT(X,Y-1)THENZ=1ELSEZ=O 1890 H$="A SPONGE MOP":RETURN ~ :s = 830 FORY=YTOY+A:SET (X, Yl: IFZ=OTHENRESET ex, Y-1) --:s ~ :s 1900 H$="YOUR LEFT SHOE":RETURN ~ ID 840 Z=O:IFPOINT(X,Y+11THEN1010 1910 H$="YOUR PET MOSQUIT0 11 :RETURN ta. ~ :s 850 NEXTY :r (I) JJi= c.. 1920 H$="YOUR STRAWBERRY BEER":RETURN (I) 860 Y=Y-1 3 Ci) 0 Cl ID 870 GOT0670 - :s:- s 'SI 880 T=X:IFPOINT(X-1,Y)THENZ=1ELSEZ=O CD :r- ~"'l en 890 FORX=XTOX+A:SET(X,Y}:IFZ=OTHENRESET(X-1,Y) ~ (I) (I) • ·­ 900 Z=O:IFPOINT(X+1,Y)THEN1020 ~ :l> 910 NEXTX (I) ­ 920 X=X-1 --·"'l :r-­ :s ~ t.Q (I) en (I) ~ " Sojiware Review by T R Dettmann G2's LEVEL III BASIC

Level III BASIC was written by Bill Gates, ofMicrosoft (the peopl~ who gave us LevelII Basic and TRS-80 FORTRAN)

Have you looked with longing on powerful System area and has some commands in ways that BASIC's that have capabilities which Level II would conflict with their use in DISK BASIC). dosen't have, such as the ability to define functions? LEVEL Ill includes enhancements to introduce Have you thought of selling your soul to get the whole new areas to programming the Level 11 money to have a disk system so that you can use machine. They include: functions like LINE INPUT? 1 - The ability to enter BASIC If any of these thoughts are on your mind, you can command words by hitting the shift save yourself money. For $49.95 you can buy G2's key and a single letter. You can even LEVEL Ill BASIC and have some of these powerful define your own codes features on your system. 2 - The NAME command has been LEVEL Ill Basic was written by Bill Gates, the activated to provide renumbering for president of Microsoft Inc in Bellevue, Washington BASIC programs in LEVEL Ill {the people who gave us Level II Basic and TRS-80 machines FORTRAN). It is only available through the G2 3 - A system lockout recovery is built Program Library. in so that when a program causes the At first sight, LEVEL Ill BASIC looks like an attempt computer to just sit and stare at you. to give the Level II system owner some of the you can reset using the BREAK key enhancements which are a part of DISK BASIC. The and still have your program intact ones included are: 4 - A new Line Graphics capability 1 - Spelled out error messages (no has been added to allow you to draw cryptic codes) a line on the screen simply by spec­ 2 - An internal clock and calendar. ifying the starting and ending points callable from a BASIC program if you 5 - The ability to store blocks of have an expansion interface graphics in an array with a single 3 - The ability to use Octal or command and to call them out again Hexadecimal constants 6 - A new function. INPUT#LEN has 4 - A MID$ function which returns a been added that allows you to call for substring of a given string input with a time limit 5 - An INSTR function which returns 7 - New cassette program commands the location of a given string within SAVE and LOAD are provided which another are insensitive to the normal 6 - The ability to define functions with µroblems with recorder volume DEF FN settings 7 - Ten USR calls for machine 8 - The PRINT#-command has been language subroutines expanded to include a new device 3, the RS 232C serial int8rface 8 - A LINE INPUT command in BASIC to let the Level Ill user input a whole line of text with embedded special Evaluation characters Anyone who has a Level II system without disk Level Ill BASIC dosen't stop here though. It's not drives should add this package to their software just a poor man's DISK BASIC. It goes on to put in library. G2's LEVEL Ill BASIC is an important some new features that will make Disk system extension to the system. There are latent users drool with envy (but they can't use it with Disk possibilities in every addition made to the system BASIC, since it loads into the Disk Operating with this package. For example:

58 80-US JOURNAL Nov- 9ec 1979 The LINE INPUT can be used to create a really value was down by 9194 bytes when I used the good text editor which will input ALL special version designated as the "Disk" version (that . characters as well as the text. means it can run from disk but is still not able to The Line renumbering function using the access the disks). When I loaded the " Cassette" NAME command will make your programming a lot version into my 161< Level I!, the value for MEM was simpler and allow you to dress up your program down by 5079 bytes (to 10493). This limits the listings programs you can put in the system unless you have The ability to use HEX constants will make an expansion interface with extra memory. programming USR functions rnuch easier since you I should also point out that the real time clock in can refer to them by their memory locations in HEX the system is only availabie if you have the Having 10 USR functions available will make it expansion interface. This is pointed out in a footnote possible to have multiple machine language on the page that describes the use of the system. functions for your program These are minor problems for most users. The The LINE statement gives you ultra high speed 1OK still available to the 16K LEVEL II user is graphics capability enough for most programming. The GET@ and PUT@ statements give you the My feeling in using the program is that disk ability to program figures on the screen and then system owners will get very little from LEVEL Ill save the whole figure and recall it with one BASIC BASIC since they already have most of the statement for almost unmatched ability to control commands available and all they will gain are a few graphics on the display graphics capabilities at the expense of their disk capability. The new MID$ capability allows you to replace a portion of one string by anott ;er so you can use it to Owners of systems without disks will find this insert corrections in a line of text package extremely useful. In particular, using The new INPUT#LEN can be used to generate capabilities such as the LINE INPUT and the DEF FN timed games that force the player to react quickly to will more than compensate for the time needed to a situation load the program and use the memory. The suggestions above are only a small start to what Summary can be done with this package. I feel I can recommend this package highly to It is only fair to mention the fact that there are anyone limited by their lack of a disk system. In drawbacks to the use of LEVEL. Ill. First and particular, anyone who wants to have an extended foremost, the package eats up memory. To check to BASIC with the ability to define functions or handle see just how much it take, I did a PRINT MEM before high speed graphics in a convienient way rnust have and after loading the package. After loading, my this package. • From tHe Originator of the TRS·SO®

Project CP/M OPERATING FORTRAN PASCAL SYSTEM UCSD Pascal, the powerful general Editor, Assembler, Debugger and Now Sale Priced! purpose language system, de­ Utilities for 8080 and Z80 Sys­ Comparable to compilers on large veloped for large and complex tems. Up to four floppy disks. mainframes and minicomputers. All programs is now available for your Package includes: of ANSI Standard FORTRAN X3 .9­ TRS-80. CP/M System Diskette 5%" 1966 is included except COMPLEX The FMG /UCSD PASCAL system CP/M Features and data type . Therefore, users may opens a new generation of value Facilities Manual take advantage of the many appli­ for your TRS-80. Package in­ CP/M Editor's Manual cations programs already written in cludes: CP/M Assembler Manual FORTRAN . Package includes: Operating System CP/M Debugger Manual FORTRAN Compiler Screen Editor CP/M Interface Guide $150.00 Macro Assembler (Z80) Z80 Macro Assembler (Set of 5 manuals ...... $25.00) Linker Debugger Library .... Call or Write . ­ Pascal Compiler ~= :~.;:;- for Complete lnformat1on Lib Manager (Not in TRS-DOS Utilities and System version) Price ~ Reference Book $150.JO For this month only Requires 48K System Sale Priced at $250.00 with 2 Drives Manual $25.00 Available without (SpecifyTRS-DOS orCP/Mversions) Macro Assembler n CORPORATION A Division of Applied Data Corporation CP/M is a registered trademark of Digital Research Corp Linker and Debugger $100.00 P. 0 . Box 16020, Fort Worth, Texas 76133, (817) 294-251 ~ TRS-80 is a registered trademark of Radio Sh a<~ - DISK DRIVE WOES? PRINTER INTERACTION? MICROCOSM I MEMORY LOSS? ERRATIC OPERATION? DON'T BLAME THE SOFTWARE! 30 ORIGINAL TRS·80 PROGRAMS On High Quality Cassettes With User s Manual and Storage Case

FOR LESS THAN 67¢ EACH l"'I YOU CAN HAVE ALL 30 16K LEVEL II PROGRAMS ~0 -2 •GAMES ...... News Photograpner South Pole Driver. Power Line Spikes, Surges & Hash could be the culprit! A11an t1c, and 5 Mo re Floppies, printers, memory & processor often interact! Our unique ISOLATORS eliminate equipment interaction •EDUCATION . .. Music Tr anspos 111 on Spe1l1 ng Dril l Coun!ry lden1 1fi ca 11on and 3 More AND curb damaging Power Line Spikes, Surges and Hash. *ISOLATOR (IS0-1 A) 3 filter isolated 3-prong sockets; • TRS-80 DIAGNOSTICS .... 1ns1 ru c1,on res is integral Surge/Spike Suppression; 1875 W Maximum load, Merno ry Te s ls 1 KW load any socket . . • . . . . • . . . . • . . $49.95 •HOME .. ... F1owe1 ·n<;; Housr=o 1anl> Morlgage Calorie *ISOLATOR (IS0-2) 2 filter isolated 3-prong socket banks; Countr=r ;;nd 4 Mo rr= (6 sockets total); integral Spike/Surge Supp~ssion; •JUST FOR FUN· · · · · Magic Saua re s Factori al 1875 W Max load, 1 KW either bank . . . . • . . $49.95 81 c rhy'hrn s oind 3 M ore *ISOLATOR (ISO-ICB/-2CB) 15 A Circuit Brkr $57.95 THE COMPLETE MICROCOSM I PACKAGE *ISOLATOR (ISO-ICBS/-2CBS) Brkr-switch/lite $62.95 *SUPPRESSOR/FILTEA (SFK-33) three 3-prong sockets, IS AVAILABLE FOR ONLY $19.95 1250 Watt Maximum load ...... $32.50 FROM f(JUR LC1C AL ~.rJ t }PI JT ER STrJ"-

~Electronic Specialists, Inc. 171 South Main Street. Natick, Mass. 01760

BRAND NEW HIGH SPEED PRINTER 1 FOR YOUR TRS-80 M "''"'o'""'"

lndu\11101 " ' ' p h" 110 characters per second Bidirectional printing O unnt•h"" lu11 1lm l Prints a 8 l /2" x 11 " page - ~ in less than (fJ seconds!! _ :-; - ~ _, ... Talked about at NCC '79, the Cover Feature of the August '79 CREATIVE COMPUTING, highly rated by COMPUTER CASSETTE Mag­ azine and others, ADVENTURE by Scott

OKIDAIA'CPI 10 LIN! PRINlfR Adams has rap·idly become a classic. Each COMPARf IHl ~ f ~. IANDARD FIAIURES WllH AN V PRINJf R INIHIMARK£110DAV

ADVENTURE isa 16K machine language pro­ I th:-111 •h1 11 ' , •l111111• t11111111 .. . 11 1 9 I· 11111 h •1·1t l111l1 l11l jo.1 h h11!11K•

'} l11ll kll•h11 1•h:1h...· 10 l\U1un h11lth1h"rn1 1111 · 11u11i11, gram designed for you, the Armchair Adven­ J I ,~' It I! II h I f• I II lll lfl<'t' I t I" t1 •lr!11lt I I 11< 1 11tl 11 ·. 1 ~ l "I [ ' ' ''" ! < • 11! 1 It, •1 11/ 1,lt .... 111 I• and in perfect (Ondition at ent Adventure tapes today from our many time of delivery fine dealers, or order directly from: OPTIONS: SERVICE MANUAL Conlam.., ove1 100 page.. w1lh ovc1 40 d1ow111g.., S. cha1 ,.., \ornplelr. mc & mcd1011u al Box 3435, Dept. X parh) Pric r. . $ 40 00 SPECIAL INTERFACE BOARD Plug pr 1111 c r du C! < lly mto IRS 80 1 ~ )(p011!>1011 mtcrfocc p1 int Longwood, Florida 32750 ct port No o the r hardware 0 1 ., o flw~rc nccC!.!.Ory Ju!> I plug 1n and rv11 (A !> !> e mblc ci & tc., tr.ci) Prirn $100 00 KIT & SCHEMATIC For (305) 862-6917 Contam.., all par, .., to build yoU1 ' Pl.>< 1al 1111cdoc c Special interface-board Price $6000 Each Adventure, only $14.95, Visa and Mas­ INFORMATION & SCHEMATIC Docurne nlotion !> el ci e..,cribing p1mtcr 1/0. ..,pcciol inte r face !iichemotic & theory of op eralicn Buy you1 own tercharge accepted, Send For Free Flyer! For special interface port ~ & save Build y ou1 o wn Price $ 5 00 Dealer Inquiries Encouraged SHIPPED FREIGHT COl.l.ECT . OFF THE SHELF READY FOR IMMEDIATE DELIVERY Available for: 16K TRS-80, 16K SORCERER INTERNATIONAL ELECTRONICS EQUIPMENT CORP. p·o BOX 522542. MIAMI. FLORIDA 33152 - -VISA [3G5) 595. 2386 • WE MEAN BUSINESS! BUSINESS SOFTWARE, THAT IS USE YOUR FOR MORE TRS-11r

VVo ndP1ing ho\\ lo u't' \Dur lllH ro tn pr111t <. ht•t k ... to r pt•r ... o n,il THAN FUN AND GAMES and b U'i llll' "S U 'i l' / NO\\ t rom t\Rl l s t lWrl' l ... ,1 \\ ,l\ In dn JI l ' 11' l h 11iE DATA DUBBER $49.95 " 1th continuous checks in small quantities. .\11 d 1\ll h<>ut .i hui:• · 111\ t• .... lll ll'lll Duplicates any program tape to TRS·BO quality. Recon· structs date pulses to ensure accurate CLOADs. Permits 1\ 11t rt ) t ht•I l' I RS U NAI 1'1\\ KU l 1 01 ,.\('('( ll ' :0-. 1~ I'-\\ .\ Ill I , h, ., k, I ., easy loading of even poor quality commercial tapes with· 1 out consta nt volume adjusting. Money-back guarantee if ho nu• or ... m,il l hu ... 11 11 •...... u ... 1• 11 · .. .in Hlt• .t \ \hl l houl m,tr!-!llhi ! 7 ' \\lthout 111.1r i..: t1t- ) margins. headers. variable page length, and title centeri ng I 1 ~ dt•plh ~ d1 •pth IHH lu d 1•, I' . \ ll l H h1 •r I ' : < h1•t k) Enter text. revise. correct, and output to printer page for· .!1 10 (fi ':io ­U\ ill l matted. justified. even hyphenated. as required. Cross· :;oo @' '.io 7tt no :; 110 @ -5- 11:; :;o coupling fil es pe rmits individually ac.. dressed form letters. l t, ,. ltH 1•1 t lwr l'.t\ ro ll w .·\11 0 1111 1' l',l\,1hlt­ Complete with upper/ lower case conversion information li11 hult•.. 11 11 1H11l1 111,.: 0 1 p.1 \ 1• r .ti u p pi ·r 11•11 or 1 llt'c k ~ 11111 • .. ol U) IHh1!1 0 1h t'dt h h.rn k n,1111t• ,1nd on diskette Specify if RS-232 adapter is installed in .ufdn•..-. l r.11 h 1I .mcl 1011t111 i.: munh1•1, ,ind t ilt' .\ \ I C }{ l'tlt o dlll!-! ,1 1 1h 1• lio l l rnll interface. · Brot hurt• .md S. 1111 p l1• , :\\.1d.1hlt• l lpon Kt•qu1· .. 1 l'ru ,,.., C 1111d l hfll 111 711 Jnt lud1· B'' ·"" \11 (' K I 111 otlrn g ~ ht •t'I \ \ 1t h <>rd1•r MAil.ROOM PLUS $75.00 A versatile and powerful mailing program to pri nt labels NO ONE ELSE OFFERS MICRO CHECK· by sequential coding: zi p. city st.ate. customer ID code. rRINTING SO EASIL.Y. WITH ARIES ARI ES Computer rroduct s even last name. Sorts by any code in minutes and stores YOUR MICRO rAYS OFF. P.O. Box 7932 Eugene OR 97401 sequen tially in a single string (approx. 1500 record s per Pt iu• includt• f rt·i~ hl .lm \.\ ht•rt• in (ontin c-n lJ. I U.S diskette) Includes AUTOPRINT Supplied on diskette.

MINIMAIL $ 50.00 A compact version of MAILROOM PLUS but without customer coding Features alpha-lookahead for dupli· cates Supplied on diskette

FORMLEf $ 35.00 Generates form letters from MINIMAIL records. Prepare you r letter. bulletin. notice advertisement. etc then load the MINIMAIL files You• printer will print the inside address. letter. and repeal for each name in the file-all properly ~gaced and j ustified Supplied on cassette

AUTOBOOT $15.00 Simplifies automati c BASIC program loading from your DOS Permits sequencing through your choice of DOS commands. selec1s files and m em ory size you specify. and loads or ru ns selected program. Allows user to see di rec· lory and fret• space before prow am runs automatically Supplied on cassette SIR ECHO s10.oo A handy program to make your printer work like an elec tric typewriter. Use alone or merge with your prog.fams • .... lo make wh at appea rs on the scrt-e n echo to the printer Supplied on ca ssellt'

TELEFON s20.oo Make your rRS·BO a smart terminal Cornmunic;ate with tirne·share and oth er rnmputers. bulletin bOards. etc. T ransfer programs ove r lhe phone For disk systems with rnod t> rr1 · -

UPPER/ LOWER CASE CONVERSION $2Q.OO Reprint of KILOBAUD article explaining how to m6dify the LIGHT-PENfRS~ao TRS·80 to display both upper and lower case diaraders. Kit contains stef>by·step instructions. parts. and necessary sol\· PLUGS RIGHT IN! Exclusive design includes two sample ware on cassette for case reversal. echo. and automatic line programs and complete documentation so you can write feed routi nes your own programs in Basic. Long life from standard 9-volt battery. A bargain at only $24.95! Use r gro up di scounts avai lable ------Dea ler m qu i n e~ invited PRACTICAL APPLICATIONS™ (415) 573·8217 ' TRS ·80 1s a trademar k of th e Tandy Corp Post Office Box 4139, Foster City, CA 94404 D Please send me TRS-80 Light Pens TERMS· Chec k. money or - - der. Vi sa. Masterc tlarge. , , , , , ($24.95 each enclosed. Calif. residents add tax). Wa shington residents add 5 3% tor ta x D Send your catalogs. Name_

City State___Zip____ TRS-80 Is a trademark of Tandy Corp. US779

80-US JOURNAL Nov-Dec 1979 61 VIEW contd from page 32 file to 'A'. using SUPERZAP to get the first 16 bytes of the rammer must be aware. An analogous situation occurs FPDE to be: for subtraction, i.e., 80H-COH=COH. The answer you 1000 0045 0041 2020 2020 2020 2020 2020 · expect is+192 but the Z80 recognizes the answer, COH, (ASCII code 41 is A). as negative 64. If you have the DIRCHECK utility now. the s1mµlest way to proceed is to do a DIRCHECK on the disk It will tell you PROJECTS FOR NEXT ISSUE what 'is"wrong with the HIT table and the GAT table by 1. Develop a routine which will add or subtract n, giving you the location of the GAT and HIT table entries where n is greater than zero but less than 255, to all that are incorrect for the reactivated FPDE The OIRCHECK for this disk is in Figure 4 . video display locations. Assume you enter the routine If the DIRCHECK program is not available, then you can with the value of n in the A register and if B=O you add still complete the repair by using the 1nformat1on we have n, if B does not equal 0 you subtract n. about.the GAland HIT table entries. To fix the GAT table, 2. Develop a routine to add the data stored inn, where we figure out where the file is (track 18, sector 0, granule n is· greater than 0 and less than 65535, consecutive 1) and so we allocate granule 1 in irack 18 (GAT table byte memory locations. Pass n to the routine in BC, the 11 HEX}. If th~ entry is FC, we change 1t to FE (1st granule). starting memory location in DE and return the sum'in If the entry IS FD, we change it to F-F . . HL. Ignore any overflow. . .If the fileis long enough to be on several tracks and more 3. Use the IX register to develop a method to set up a than one granule on a track, we must be very careful to do table to convert ASCII code to any other code. Pass the the correct one. ASCII code to the routine in C and return the To correct the HIT table. we compute the location of the entry by reversing the coding earlier corresponding code in A. • , The Directory Entry Code (DEC) of the FPDE is formed KILLED FILES contd from page 36 from the se.ctor the directory entry 1s on (8) and the the HIT table, but this isn 't the normal case (unless you location within the sector (6th entry} keep copies of the HIT tables on all your disks) 6 . 1 1 0 Since the entry in the HIT table is unknown (we don't 8 - 2 · 6 110 know how to get the ent ry from the file name, at least not toe sec 1 1 0 0 0 1 1 0 yet), we have to be sneaky. Experimenting on a blank disk A6 HEX will show you that the HIT table entry for a file with the file So,We put 1-:iE;X code 35 at location A6 1n tile HIT table W e name 'A' is always 35 HEX now have the file back. In order to reactivate the HIT table entry, we rename the A HEX to ASCII conversion table 1s include h ere in figure 5 to help make conversions easier Once the.file has been restored, you can rename 11 to c.111y TRS-80™ OWNERS filename you care to use with the RENAME command SUBSCRIBE TODAY TO Tt1tH;ystem will i.!lter the now correct entries as needed . Atternptiny to RENAME the file before 11 1~ fully recovered 80 SOFTWARE CRITIQUE will not work . •

80 Software Critique is ii new puhliciltion devoted lo in depth n•vir•ws of TRS 80 CilSSr' ffc ~ software. Issue #l is now ilVilililhl<' for immc~diate deli•1 ery via First Cl;iss Mail. It is SO pilq .ind we will tell take on a funny look. you not to buy. W e ;ilso inc hide ,, •!o111 1<'

62 80-US JOURNAL Nov-llec 1979

- · - -- - ~ ...... · - ~~ .... , ...... : .". ~ ; ...... -~- - .:., ··-·· ·· ~ - ... UNCLASSIFIED TRS-80 SOFTWARE DIRECTORY 4000 TRS-80 COMMAND PROCESSOR . Your basic program listing for your TRS-80. Alphabetized. program executes automatically at DOS boot Programs listed by title, subject. vendor. BASIC, time. This program builds any series of DOS ADS memory, disk, casette.. Cross indexed. 230 commands that you specify, strings them vendors names & addresses. Published spring, together, and puts a name on the string so that summer, fall. Designed to help you find the you can execute the list of commands at any time. software you need for your TRS-80. Subscription $18 00 SoftSell; Box 145A; Lithonia, GA 30058 $2.50 per half inch and $2.50 for (3 issues) $12.00. Single $5.00 Foreign add (119) $2.00 each for AIR. COMPUTER MAT Box 1664E, each additional half inch per Lake Havasu City, AZ. 86403 (119) insertion. Send printed or typed ad TRS-80 GENERAL ACCOUNTING 16K L1 or Lii Keep a record of sales, purchases, accounts with correct amount to 80-U.S. TELETYPE USERS: Unique solid state time receivable and payable. $10.00! INVENTORY Journal. 3838 South Warner St., delay relay. Reduces energy and maintenance CONTROL 16K L1 or Lil shows value, low stock Tacoma, WA 98409 costs. Info 50C, plans $500, with PC $10.00 items, and more $15.00 SoftSell; Box 145A; Keith Ryan, Box 3103-J, Ottawa, Ontario, Lithonia, GA 30058 (119) Canada K1P 6H7 (050) MEDPAC 1.1 MEDICAL BILLINGS program for KISS IS A MONEY-MAKING PROGRAM for TRS -80 DOS - 3 Drives - 48K. Complete 450 ADVENTURE FOR TRS-80 $14.95 per schoo ls or large clubs. A 16K Level II machine will patients>2500 trans. CPT & ICDA coding In­ adventure or send SASE for flyer. 7 adventures hold 20 responses for 400 surveys in this sur ance billing $1 0 00 brochur e. $495 00 currently available. M Scott Adams. PO Box computer dating simulation. List. doc.. sample 3435. Longwood, FL 32750 (050) complete M Data Systems. POB 723. Spencer. survey, admin instrs for $7. D. Bohlke, Coggon, IA 52218 (050) WV 25276 (119) OWNERS or USERS of TRS-80 L2 or DOS PASCAL COMPILER for TRS-80.lntegers only systems interested in doing community/ TRS -80 DISK USERS: Program to catalogue & but is ideal for learning PASCAL and for writing humanitarian service, drop a postcard with cro ss reference your disk files. Locate f iles by high speed graphics, games, etc. Diskette name. address & type equip to Mike Freeman, name, disk location, keywords, or all 3 . 4 includes all support systems, samples & doc­ 946 Alder St , Tacoma. WA 98406 (OXO) versions: 32K+ 1 drive; 48K+1 drive;NEWDOS+ umentation. 48K DOS only, $29.95. Gene 48K+ 1 drive; 48K+ 2 drives.$12. (US) ea .. or Perkins, 5224 Winifred, Ft Worth, TX 76133 $1 .for 14 pa ge user guide (refunded w ith order). (119) or se nd envelope for summary. 48 hour shipping. DISK DATA BASE REPORT GENERATOR Brian Smith, 6770 Halifa x St., Burnaby, B.C. system. 32K. No user programming. Full Canada V5B 2R4 (604) 4 20 -3286 (010) TRS-80 1K MACHINE LANGUAGE functions. Random access by key or rec#. Define MONITOR with complete source listing. Disk file parameters & report formats on-line. Report version $17.. tape version (L2 only) $12., Modify features.· select, filter. sort, arith, summary TRS-80 BASIC PROGRAM TO LIST ALL Renum to run on Disk Basic, program listing $5., Multi ·keys. Audit log . Blocking, hashing. variables in a program and the line numbers that program on tape $7 ., catalog $1 , write to K buffering. Full documents. Ridiculously priced at reference them. Runs with TRSDOS or LEVEL II. Johnson, 15540 Vanowen St #121 . Van Nuys, $49 so a perfect package can be shared by all . Cassette & listing $8.95 " SPECIAL" NEWDOS CA 91406 (Inquires Invited) (119) Micro Architect. 96 Dothan fit., Arlington. MA $45 NEWDOS+ $90 Plastic Library Cases for 02174 (070) Minidisks (holds 10 disks) 4 / $10. Add $1 for TRS·80 LEVEL II INSTALL A CLOCK shipping. (MiniKas- ette/ 10 Brand) Verbatim CONTP.OL BOARD and speed up your operation Di skettes (Box of 10) $35. 3M Diskettes (Box of INCREDIBLE MICROPOSTER! The Brain Cell 10 ) $40.Tri -Data System s; Highway 31W; White by 50% Unlike other clock mods. this one allows of your TRS -80 blown up to poster size in full use of your present software, it lets you change House, TN 37188 Visa , M C, OK 615/ 672-4373 color . Amazing print shows intricate details of (010) speed while a program is running, and it does not quarter inch ch ip $4. plus 75C shipping. Also require a special control switch. Speed is MICROPOSTER in BLUE. 8080 CPU poster in changed with the " OUT" statement Assembled beautiful blue. $3. plus 75C shipping. Both se nt SWAP DISK SOFTWARE? I trade good stuff circuit card + everything required for easy first class in mailing tube. J Shell. Box 304, Falls only, with doc. Send li sts (not disks!) and day/ eve installation. $24.95 SASE for more info. Bill Church. VA 22046 (030) ph one to Baker, 56 South RD . Ellington, CT Archbold, 106 Snyder Dr , Mather AFB, CA 06029 (203) 875 -2483 (119) 95655 (916) 362 -3627 (119) Z-80 SOURCE LISTING...game of Hangman for TRS -DOS . W ell documented. easily relocatable. TRADER VICK... Over 300 quality programs on TRS-80 YELLOW PAGE on hardware & st ructured code. Lots of good ideas. $3 .00 for disk to trade or swap for software or hardware. software. Send $1 .00 plus 2 SASE for 2 issues. listing, $5 .00 for cassette with both source and What do you have? Trader Vick, 3325 Vendors send $20.00 & product description. 96 obj ect code Charles Butler. 1806 Ada, Lansing, Landershire Lane, Pl ano, TX 75023 (214) 596­ Dothan St. Arlington. MA 02174 (119) M I 4 8 9 1.0 . ( 1 1 9 ) 0 533 (119)

ltadlelbaeK DE Al ER EDUCATIONAL·SOFTWARE ~H~R[] ~fH~fU)Er;'IE~T TRS80 & Pet 6YSTEl':'IS

~ ~ . Elementary Accounting :;::'; ~ " "~'"""'"'=™ Math Biology -~ Up To 15°/o Discount Business on Social Studies Write for catalog TRS·80's Micro Learningware Economics MICRO-COMPUTER SPECIALIST Box 2134 LARRY OWENS N. Mankato, MN 56001 COMPUTER CENTER

MINI MALL-DOWNTOWN SHOPPING CENTER CAIRO, GEORGIA 31728 912-377-7120

80-US JOURNAL Nov-Dec 1979 63 A CUMULATIVE INDEX OF ARTICLES & SERIES WHICH HAVE APPEARED IN 80-US FROM VOL I NO 1 THRU VOL II NO 6 (Sep-Oct 78 thru Nov-Dec 79)

80-US goes to the Faire, 43 ...... Jul-Aug 79 More than one way,50 ...... Sep-Oct 79 A File Management Program,8 ...... Sep-Oct 78 Moving up to Level II, 18 ...... Jul-Aug 79 A Mail List Program,24 ...... Nov-Dec 78 NEWDOS+ (Review), 10 ...... Jul-Aug 79 A Spooler for the TRS -80, 16 ...... Sep-Oct 79 Notes on Basic (Series), 11 ...... Sep-Oct 78 Advanced Capture,13 ...... Sep-Oct 78 7 ...... Sep-Oct 78 Adventure (Review),46 ...... Sep-Oct 79 18 ...... Jan-Feb 79 Anatomy (Function Grapher),22 ...... Nov-Dec 79 43 ...... Mar-Apr 79 Anatomy (Drawing Board),25 ...... Sep-Oct 79 7 ...... May-Jun 79 Android Nim,20 ...... Nov-Dec 78 25 ...... May-Jun 79 Archbold Clock Mod (Review),53 ...... Sep-Oct 79 35 ...... Jul-Aug 79 ATERM (Review),54 ...... Nov-Dec 79 12 ...... Jul-Aug 79 Audio-Visual Demo, 17...... Jan-Feb 79 20 ...... Jul-Aug 79 AUTOK & QEDIT (Review),39 ...... Jan-Feb 79 42 ...... , ...... Sep-Oct 79 Barber/ Beauty Cash Attg Part 1,25 ...... Mar-Apr 79 23 ...... Nov-Dec 79 Barber/ Beauty Cash Attg Part 11,36 ...... May-Jun 79 Now TRS -80 has FORTRAN , 13 ...... Mar-Apr 79 Beewary (Review),49 ...... Sep-Oct 79 Practical Micro Programming (Revi ew),29 .. Jul-Aug 79 Biorhythm, 11 ...... Nov-Dec 78 Renew that Program, 19 ...... Jan-Feb 79 Bluffit,36 ...... Mar-Apr 79 Renew that Program,42 ...... Jul-Aug 79 Bowling,11 ...... Jan-Feb 79 Restoring Killed Disk Files,34 ...... Nov-Dec 79 Bowling,21 ...... Nov-Dec 78 Scientific Calculations on Level 1,33 ...... Mar-Apr 79 Business Computing (Series),46 ...... May-Jun 79 Slot Machine,4 ...... Sep-Oct 78 36 ...... Jul-Aug 79 Starfleet Orion (Review), 12 ...... May-Jun 79 42 ...... Sep-Oct 79 Startreks for TRS -80 (Review),38 ...... Jul-Aug 79 48 ...... Nov-Dec 79 Stock Market Program Part 1,31 ...... Jul-Aug 79 Chinese, Android & Other Nims,22 ...... May-Jun 79 Stock Market Program Part 11,44 ...... Sep-Oct 79 CRT Support,24 ...... Nov-Dec 79 Stock Market Program Part 111,46 ...... Nov-Dec 79 Dallas Microcomputer Show,28 ...... Nov-Dec 78 String Packing Techniques Exposed!, 10 . . . May-Jun 79 Disk Drive Timer (Review),54 ...... Nov-Dec 79 Super Sorting,28 ...... Nov-Dec 79 Drawing Board,20 ...... Sep-Oct 79 System Command (Series),20 ...... Nov-Dec 78 Easy Full Screen Printing,48 ...... Sep-Oct 79 20 ...... Mar-Apr 79 Electric Pencil w / NEWDOS,30 ...... Sep-Oct 79 30 ...... May-Jun 79 Electric Pencil (Review),30 ...... Nov-Dec 78 34 ...... Jul-Aug 79 Engineering Calculations (Hydraulics),26 ... Nov-Dec 79 36 ...... Sep-Oct 79 Exclusive OR for TRS -80,28 ...... Sep-Oct 79 40 ...... Nov-Dec 79 Experience,32 ...... ?ep-Oct 79 Ta ipan (Review),54 ...... Sep-Oct 79 Function Grapher/ Root Finder, 18 ...... Nov-Dec 79 Talk to your Printer,8 ...... Nov-Dec 78 G2 Level Ill (Review),58 . . .. : ...... Nov-Dec 79 Text 80,21 ...... , . . . . Jan -Feb 79 Gee Whiz,23 ...... May-Jun 79 The Basic Handbook (Review),39 ...... Jan-Feb 79 Ghost Sub,5 ...... Sep-Oct 78 The Better Byte Box, 18 ...... Mar-Apr 79 Going First Class,9 ...... Jan-Feb 79 The Data Dubber (Review),40 ...... Jul-Aug 79 Graphics at 32 Characters,54 ...... Sep-Oct 79 The Great Turn On, 13 ...... Jul-Aug 79 Great 80-US Chess Tournament,38 ...... Nov-Dec 79 The Interactive Level I Keyboard, 12 ...... Sep-Oct 78 Hangups,33 ...... Jan-Feb 79 The Magic of Leo Christopherson,31 ...... Mar-Apr 79 41 ...... Mar-Apr 79 The Monitor you alr"eady have, 32 ...... M ay-Jun 79 47 ...... May-Jun 79 Troubleshooting Harc;lware,8 ...... May-Jun 79 31 ...... May-Jun 79 TRS-80 Assy Lang Prog (Review).49 ...... Sep-Oct 79 Home Heat Loss Program 51 ...... Nov-Dec 79 TRS-80 FORTRAN (Review),42 ...... May-J un 79 How Level II Sees lt,38 ...... Sep-Oct 79 TRS -80 in Education,34 ...... Sep-Oct 79 HUH Elect 8100 S100 (Review),51 ...... Sep-Oct 79 TRS-80 Print Module (Review),53 ...... Sep-Oct 79 Interfacing the IP -125 Printer,44 ...... Jul-Aug 79 TRS -80 Tech Manual (R eview),33 ...... Jan-Feb 79 Modem in your Future?, 11 ...... Mar-Apr 79 TRS232 Printer Interface (Review).30 ...... Nov-Dec 78 Level II Poke Graphics,44 ...... Mar-Apr 79 View from the top of the Stack (S eries) ...... Lifeboat,26 ...... Jul-Aug 79 7 ...... Nov-Dec 78 Lower Case on TRS -80,9 ...... Nov-Dec 78 13 ...... Jan-Feb 79 MACR080 (Review),42 ...... Nov-Dec 79 ?6 ...... May-Jun 79 Maintaining Editable Lists,37 ...... Jul-Aug 79 n ...... Jul-Aug 79 1 Math Drill Ala King,27 ...... Jan-Feb 79 ·~ •••• ••••• •• •• •• • ••• ••••••• Sep-Oct 79 Maze Program,56 ...... Nov-Dec 79 32 ...... Nov-Dec '/9 Micros in the Futures Market, 15 ...... Mar-Apr 79 Which Brain?, 14 ...... May-Jun 79 Mind Reader,24 ...... May-Jun 79 Win 21 (Review),21 ...... J ul-Aug 79

64 80-US JOURNAL Nov-Dec 1979 mun l i“g\\lS\“a

I . stem‘ ‘ \ ‘ ratmfl 59 - ' ~ Illlltlmr II"s\\ BB“ llllll|Ill|l‘|ll"“'. qeuk tn-259 haw" A‘ ‘UM 1-‘l A luzmi U nos‘ 3--Ql l5EPTEMBER‘ “ ‘ 1 Ch »cE*\-W*"“l’fifi§3E. " cflwlllfikfiéfe-‘l..UC"l ¢.ciHll~ll~"'*.5"*lll;F~?E' m=,e‘l'l5-AW l EFFEC. A -HVE n llE-.., BaumME,-..n - RE.wn.l'l'EF MwleE5.unfl. 6. LQAU WMTmum . wlll. A sewSm .i- ujasmR M_m;..uAlMa' M521‘?0 WW5“SE . um. nullFRQEM.M MW;_ U‘PPEF~“lBl~‘.C. M Wm,_,NEn.sWWW. PURGE, Wmm“ WW; Elana»: muff‘. "$1 l.~ocAl$A f R'5;;,?:UL lBL‘U'5F“5 KFE“ l nl<~E‘l Avian 5". w.E'~1"-3" A ml. l U5EF-L l1El“"E cmi l1!"~"‘ln P 175-USE; .usr=R Pfimhwl QUMMPRU1u9fil£A1\UM5

HA~l R‘ DWAR' l l[ FUR ‘T. ' R5-80“ " SOllFTWA;RE BY AC5 A |l‘nrm¢ lllliall flrlvm FlJ~2\l1ll2l .....A . .A . . A .. . . Vl . . $37‘5|..ll0 rm Manual H0. Ii .A A ...... A . . l . A . . *44|h\I 52155 '|l'hl2-RB am *\flk llrlwsl IIPIM kill.‘ Eltl"'h‘”“I‘I“:'_n|M‘ I:llmp.al‘llllie |T>w>uln1~.= l'~'le1'zl'lll|l» L-:m»llb~;|~' Mrllvlzrlr lm ll5l;S~B|fl E‘|!‘T|l1|lMl'B1A -mlhl WE‘ TFCS-AB‘fl"'TflAr|l1 Flllnhu '5hm:~lll Llwm~5.. ILLITZI [lU":§»<11Cll|ull12:.'r lwllv ill‘ vllw prmplam. l ltlw-|o”|.w-a || - nu ...... sm.n ‘ IIZP‘/M Bl ‘B IMSAIC lnr the TFIIEBII '“ lIPA*‘M l|1clutles. Ml{WlCPM, SWAT, PIP. Dmlmu. ['l‘E'lT, Ml‘-ll 'jE1:pnlionllu.»rhcl ...... $215.“ |lrll.'l'E'lll,.El'|"J.|1:1llm I3 mar mamllalll. CIRS-Z32-Iilnmrlln ...... $ ll-M CHM ...... , ...... >7 $150.00 El Elam‘? |l‘l¢C"‘lJ[1M' EHEFE, EFll5lFi2,.amlmnI1l1wil. Clfllfillll URADER. NOW AND SAVE lG2 LEVEL llll BNSIB fur TFI5-Ill 1"...... A . . I . Smclial 53’l..‘i5 TEALEDM ~ Tulucnlmmulnlicilliunflnr1lll|ATMl~8llT.. . . . 1 ‘iiisfli jusl list the items you want Tulutu\lnl|'r|ur||m1i»:m5l Fm lhn HHS-Hflmallmlm Mn-£1 THE-BU l and mail this convenient cuupnn. ‘Lu \lII.!‘Il'l'WlI’l1\.l~|'|iHl1li wltll unullm fll'l1r‘Dl.|\glll 1h-1 Fl1S~L‘32‘-l1 nwsr sllml. ‘

fi______-Q1- l ; Orders m:1ell~m=ll by mm» mm. shlifipe-dl E next day on Mlasltnlr Charge, ism Seml Check or Money Order payable to - ‘ _ C*anAlflA:ld Chuck. or Mal“? '0"l'*d4.'£ll".. bm. Personal C|’lm;M.5 rleEu~lre 1 days m SlElFTW.AR.E ' P10. B»-rm 6DD97 ~ Na5h1vi|Ale, "I'M 37206 _. .1 ulnar. Nu lI.lJ.AlD.. ullluct callls nut l alrcnpmlfl. All Hardware w1rranltedlfo=r*9ll) days l lItl.mnA. IJascrlpt.l:m um: Prim T0131 mcm t RamaAfihackequiltmunl which Em warrant-A ml 1: muglll Radio 5l‘1Aac“.. Suft*wwru guarmjnteed A Hjlflhack Mr »rlep‘I~awme1nt only. Prlicus nuhjlm:t* tn nhmifim . _ __ _‘l[:lllo1u~nayEll'dm wlmmlt nlotllze. \ l l El Mastarfiharge~ Aurommso A ~ » w ‘ " ‘W A Elma _ ...__ 7_ ___. __ . W.‘ ,...__. __. .._y. ‘ ‘ll? ; COMPUTER { : HAN HERE $‘l;AF.:-01 l SOFTWARE ssnwcsl l TENF2H‘?M2‘.E-*‘li-T $253? filllé SALEE TAX TEWM. A 1 Exp. Date (61; 5) 244-zm Mama _ _ _- IT|‘V|§'1 1 U“1 Uf W7 W 7 ‘ %+~ Hlnmpmiel lllmltl M clw A A___ State _ _ _ ' Zip -. 625 Main: 5-trecl -I Nashville, TN 37206 ai:—+-;-__-_-Q-f___‘l_iii of Tacoma HAS Business Ap~p@llcatl0~n Software and Coimputelr Peripheralls for TRS~-B0 T" MOID I and MOD II ' Pr'lnt~eArsr lu I Accounts .P;aryable Disks Accounts Reclelvablle ll .M~em.0lry Ujpgmdels l ll General llbedger ~S»pecAiAalizlald In.terfacAing PAayr‘oll P"rl0~fes:sl0lnAal Service Delparltment Job» Cast l ' And more ' And much more For Pr0lfeAs~sll0lnal assistance see us - South Tacoma Vi.llag~e l- A8791 South Tacoma Way lTacumaA, WA 98499 (illfllfljl A581-0588 I

“we lmuw Small Computer:sl"l

Applicatllun to MAIL The 80-UAS. Journal at 2nd Class 3338 §ulll|‘n Warner S‘lr»eel ‘Postage Hates Pendinlg at Tacoma, Washinglon 98409 Tacluma, WA