text: ^ ^* COMPUTIIMG Volumes Number 4 Your Original AMIGA Monthly Resource us $3.50 Canada $4.50 THE AMIGA AUDIO EXPERIENCE t, 1., Reviews: MusicMouse AudioMaster Amiga-Tax & Much More! / / Amiga Audio Guide ALSO: -t— t- Higlilights From The Los Angeles AriiiExpo* -i-j n :€^^^H^H^r l^is^fili^^^^m A r - -J ^W^L^^^K—^ ^^^^ ^^^^K^^^^^^^^^^t^^^^^O^^^^r 0. tv- — vf ?. ■ ' I w GOOD THINGS COME IN SMALLER PACKAGES. itino NEW AVATEX 1 200 E. TOTAL DELIVE AVATEX Authorized Soles & Service mMj- ACTUAL SIZE ONLY 5" X 6" FREE! CG^municQtion Software CompuServe Access Time with each MODEM. We give you q preot price . . . ' 5a FREE 515TANCE . ..MEDIATE DELIVERY + NO CREDIT CARD SURCHARGE + NO SERVICE OR ' HANDLING FEES I FREE SHIPPING! TOTAL H AYES COMPATIBILITY 8 LED STATUS INDICATORS ALJTO DIAL AND ANSWER TONE OR PUL5E DIALING NEW 1200 E FEATURES CCITT COMPATIBILITY CALL PROGRESS DETECTION INTERNAL SPEAKER 2 YEAR WARRANTY Thousands of customers hove purchased the AVATEX 1 200 from Megotronics. New technologies now moke it possible to offer on improved version of this popular Modem. The 1 200 E is amazing. It weighs less end is smoller. It hos even more features. It's still the some low price. MEGATRGNiCS, 3660. LOGAN, UT 84321 To Order CALL FOR FREE CATALOGUE CREDIT CAIXD5 VERIFIED FORYOURPROTEaiON 800-232-6342 IN5lDEUTAH(60l)752-26-t2 FAXC80l)752-6752 We'll beat any advertised price. MEGATftONICS. INC.. P.O. DOX0660. LOGAN, UTAH 84321 It's Time To See How Your Word Processor Stacks Up To ProWrite ' 2.0 Feature ProWrite T Scribble TextCraft VizaWrite KindWords ? LPD Writer writ r: SPELLLXG CHECKER r z: ^ ? MMLMERGE t: r v; OFEX MULTIPLE IXXIIMLNTS r T TRll MULTIPLE FONTS 7; ^ LNCLLBE COLOR (iRAPIIlCS 7" PL\CE GRAPIUCS AN^'Vi'IlERH ON THE PAGE r. USE COLOR FONTS ir. ^ ^ v^ 7" WSTOYG DISPLW 7f USER-SET.ABLE PREH-RENCES r. -^ LEFT. RIGHT .VsD DECIMAL TABS r PAR\GRAPH SORTING r CIL\R;\CrER, WORD, LINE, AND PARVGRAPII COLOTS FAST GRAPHICS PRINTING X USE .-VNY PREFERENCES PRINTER V: r T ^ It ^ AUTOMfflCyXY CONHGLIRES TO PRLNTER Now You Can Trade Up To ProWrite And Save $50 I See for yourself — trade in your current word processing software, and get S50 oflFwhen you order ProWrite, tlie only multi-font color graphics word processor for tlie Amiga'! ] ProWrite 2.0 h;Ls a number of powerful new features, A spelling checker witli a 95.000- i word dictionar)'. Mail nicrgc. Tlie abiHt)' to read hold-and-mfxlif\' ( HAM ) pictures, and to ] resize pictures xs well. In addition. ProWrite has the Workbench 1.3 printer dri\crs, for i much fester and higher quality' graphics printing. All this, plus ProWrite's flexibility- and ] ease-of-use combine to make ProWrite the best word processor for the Amiga. i Here's the offer: just send us die master disk of tlie word prcxiessor you're using now, ^and get ProWrite, \'ersion 2,0, for only S75! That's a savings of 40% — which makes this a perfect time to reconsider your word processor. Because now, when you compare j ProWrite ;uid tlie competition, it rc:illy pays! I CALL FOR A FREE BROCHURE ON PROWTtlTE AND FLOW " THE roEA PROCESSOR FOR AMIGA. New Horizons w R First In Personal Productivity And Creativity. P.O. Box -4.^167 / Au.stin. Tf.xiLS ^BT-i^ - ( 5 1 2 ) 528-6650 I'M READY TO MOVE UP TO PROWRITE 2.0! Here's my word processor master disk and a difck or mont;\- order for $75 payable to New Horizons Software. Inc. Send nic the new ProWrite 2,0! ( Texas residents please add S6 sales tax ). NAME I ! 1 ADDKHKS 1 1 aiv snATE ZIP 1 < J M § Volume 3, Number 4 Amazing Features Highlights from AmiExpo, Los Angeles 8 by Steve Hull The Amiga shows off its best in the West. Writing a SoundScape Patch Librarian 38 by Todor Fay Get your hands dirty working within the System Exclusive. Upgrade Your AlOOO to A500/2000 Audio Power 58 by Howard Bassen Modifications to help your AlOOO make sweet music, too! Amiga Audio Guide 70 A descriptive listing of all Amiga audio products. Gels in Multi-Forth by John Bushakia 72 Push Gels to the limit with these programming tools. MacTobatics by Patrick J. Horgan 83 Ease the trauma of assembly language programming. Amiga Audio Sources The folks behind all those audio products. 103 16 35 49 Amazing Columns Take Five! by Steve Hull Four lightning-paced titles to slash boredom. Amiga Notes by Rick Rae Confounded by sound? Take a basic tour of Amiga audio. The Ultimate Video Accesoiy, Part V by Larry White Now that we've got the basics down, let's add some flash to our video. Bug Bytes by John Steiner The exterminator strikes again. The Big Picture by Warren Ring Part II of the eye-opening Unified Field Theory. Roomers by The Bandito Hardware hijinx ... Toasted video ... the dream Amiga ... and more! In the Public Domain by C.W. Flatte C.W. has hooked the latest Fish disks — here's an inside look. Amazing Reviews Time Bandit by Keith Conforti 25 A whole video arcade wrapped up in one game! AudioMaster by Brendan Larson Friendly digitizing software that samples in real-time. 27 Music Mouse by J Henry Lowengard 29 Making music without lifting a finger from the mouse. Amiga-Tax/Canadian Version by Ed Bercovitz 31 A Canadian income tax planning, preparation, and analysis package for the Amiga. SAM BASIC by Bryan Catley 81 A new BASIC which exploits even more unique Amiga features. Amazing Departments Amazing Mail Index of Advertisers Public Domain Software Catalog 35hm slides FROH YOUR ARTWORK! AMIGA |Ss)aci>li.l. I TRU ( \ PrnfESsinnal 3Smm Slides ^ Now you can have reproduction and presenution quaiiiy slides of your work <j> Distorlion-ffce — lills in raster lines crisp bright colors, converts all IFF files Now CustOM graphic ni't .^Mcl i llustpatlon. S10 each ranyoLir 1st to ^th slides. 5 -to 9 sliaes-S8.50 Over 1Q stides — sa.OO Add S2.0a fop shippinpr. Now York residents add. sales tax. CjII (212) 777-7609 FOR DETAILS Ask for llene — or write TRU-IMAGE P.O. Box GGO, Cooper Station New York, N.Y. 10275 r» .(If COiWnoOVt-An-^a. Publ)«h«r: Aulatint Pufa<I«her: Circulation Manager: AaaL CirculaUon Mgr.: Corporate Trainer: Tialflc Manager: Joyes HIdu Roben J. Hidta Doris Gambia Tracl Desmarais Virginia Terry Hicks Robert Gamble EDITORIAL Managing Edilor: Co-Editor: Co-Editsr: Hardware Editor: Mualc i, Sound Editor: Amicua A PDS Editor: Copy Editora: Don Hicks Emesl P.Wvelros Jr. Mk:hael T. Cat>r3l Ernest P. Viveiros Sf. RlcJiard Raa John Foist Julie Landry Mkha^l C:eeden Abert G. Andrada PBODUCnON An Director: llluatralor: ProducUon Manager: Aaaocjate Prod Mgr: Ptoductian AtaJelant: Keilh Conlorti Brian Foi Mark Thlbaut Rico A. ConfortI Keven V. (Tesmarais fVolif ic Inc. PRO-NET Available Now! PRO-BOARD ADVERTISING SALES AdverUalng Manager: John D. Fastino 1-a00-34S-33a) w 1-617-678-4200 SPECIAL THANKS TO; Buddy Terrsll 1 9^rd Press Betsy Pper a! Toeh Pluj Bofc at Riverside Art. Ud. kfuat^ Carrwvts™ (ESN OefiS-BiaO) il puettfiM ty PIH f\iaa10flt, k%, P.O. Box $£$. Ftfl h««f, MA D272Z SotHcrpDiyii: iri t* U.S.12 tt«jM 4or S2A00: in C«iaii I Ubco. ta.OO; OWMII; l».aB. FY>«d m M U.^Il. C«|^mQh« 196& by PU P-Afntem, Inc. M n^ nmrMi. Brit ClBI or Ar Mai rttot wtllM i/fM m^mi RM PuUcami, tc tt tiQM IB vtun RU FS«lc«onK In^ n net abi^ntf o mm LrueJIoM fflBKM. Ad mMtnidt ivqMfIng m^rr mult M rtwwd Em] *(»• lubmiuBni n both minu«r<p( im ditt hrmii to t>a Co-Edur. RaquMi far kutvi^ OlmMi tfiDuU b« dnnd « n idMu bHAd ibov*. AMIGA'- only - -'ft $475.00 $475.00 POWER+SIMPLICITY=PRODUCTIVITY Feel our POWER,,. PRO-NET: • Variable template size • A to E paper siie • Extensive Library included • Aufo dovice r)umt>er with Zone control • Gate swapping • Singl0 clicff charrge to negatniv fogic • fnrKjVBtnv weight asstgnmen! • Auto page tetemnce • Dynamic error checking • CrBatBS BOM. Spare Part List, Net List. Error repcJrf. etc. • Supports printers & plotters • Supports Laser PrJriter ■ Back annotation from PCB layout • Moife. Rubi^er and lots more PRO-BOARO: • .025 inch grid • .DOT inch grid Library • 12 mil trace, 13 mil space • Produce I 2. 4 iByer PCB • Provides silk screen • AuiQ coordinates assignment • Auto produces pcfwer 9nd grid layers • Single !ine auto route • OptionBl Net List Input tor guided route, no need to look at schematic • Prioritized rouia • Dynamic error checking • Supports printers, plotters and Gerber photo plotters • Copy, Repeat and lots mote See our SIMPUCITY. . . Intell geni Function Keys make aur programs exiremely user fnend^y. provjde maximum screen area, always display all reJevani commarKls. avoxls excessive cuisor nwvement and screen Hashing between nnenu & drawtng. guides user Uirough Opejralion. minimizes Iraining time ORDER OR CALL FOR DETAILS 1808 W. Southgate Ave., FuMerton, CA 92633 Tel: (714) 447-8792 Telex: 5106016526 PROLIFIC CALIF Western Union Easy Link Mail Box 62935949 THY OUR DEMO DISKS FOR *15 EACH. Also tram Prolific Inc., 4 full feature AMIGA™ Macro Cross Assemblers for Z80, 6809, 8085 & 8051. See our SIMPUCITr PRO-ASM Feel our POWER • Includes multi-pass Assembler Linker, and Serial Dawn Load • Generates relocetsble Object Code Module • Nested Macro • Includes Files DEALER mOUIFTf INVITED. $85.00 feel our POWER • Conditional Assembling • Rich set of ditecttves • Global and External Variabfes • Data format includes Binary. Motorola Hex. Intel Hex. and 7ek Hex AMIGATM trade mark of Commodore Inc. Amazing Computing V3A ©1988 J^ M. J^ Z I Isl G A4 A I L Another Amiga Virus!!!!! Dear AC: For your virus article: a second ap- peared some months ago. The virus only influences A-2000 and A-500 with internal battery buffered clocks and causes the computer, some weeks after being infected, to reset. At the begin- ning it resets only after several days, but later its an endless reset-loop. The virus can be located in the battery buffered clock E^M and it only can be killed effectively by disconnecting the jumper J 36 on the mother-board (German model), but so you offer the battery buffering (sic). The Virus is about 1 /2 - 3/4 years old and comes from Belgien, Holland. It doesn't infect a Janus-Hard disk. N.b.: If the SCA virus shows its message you know it's on the last disk you booted from before reseting by CTRL-A-A. Sincerely, M. Indlekofer West Germany When will this end? Since we reported the second Amiga virus (the first one was in early 1986 when there was a problem with accurate dates on the file message), reports of widespread viruses infecting all forms of computers have made national news. Newspaper reporters and TV anchor people are struggling with the concept of viruses and computers as they are reporting new outbreaks almost weekly. The virus problem is serious and users of all computers are in danger. If anyone has a suggestion on how this can be monitored and stopped, please write, your answers are important. Dear Amazing Computing, I am glad to see that Amazing Comput- ing is finally getting some good 68000 Assembly Language articles. I find that good tutorials in this eire pretty much lacking. What is seriously needed is a set of various program examples that explain what is necessary to set up, how things are set up, and why things are set up that way. I am still relatively new at 68000 Assembler, and feel the lack of good materials. I did, however, input the program by Allen Barnett (vZ.H) for solving linear equations using floating point math. The program is well written, as all libraries are closed properly in the event that one doesn't open . But, for those who tried to run Allen Barnett's program and found it didn't work, here is the reason: Allen wrote this program using a compiler with the 1.1 version of 'amiga.lib' which has a bug in it. This bug was fixed in the 1.2 version. Therefore, the correct code in the loop "SolLp2" should be: move.l #PBuf,-<SP) move.l (a2)+,-<SP) jsr _fpa lea 8(SP),SP This removes the 'dummy' instruction he found necessary for compiling with 'amiga.lib' 1.1, and affects loading the effective address by four bytes (8 instead of 12). Allen evidently was not aware that all of the _LVO calls (except _AbsExecBase) can be handled by: SYS MACRO XREF jsr ENDM _LV0\1 _LV0M(a6) It saves typing many individual XREF's, _LVO's and (a6)'s. Also, 'SYS Write' and 'SYS Read' can be used in his WritcCon and ReadCon macros (I learned these concepts via a local programmer). Sincerely, Marvin Millis CANADA Thank you for the hin ts and corrections. We are always searching for new and different Amiga projects in hardware and software. We were not able to place a good Amiga Assembly Language article in the magazine until we received one. We continualy rely on the versatility of our Amiga readers to provide their insights and techniques to this very powerful machine. If you feel you would like to contribute more to the magazine, please contact us for an AC writer's guide. AC is an Amiga forum: it only works when everyone gets involved. Dear Amazing Computing, RE: Fat Agnes Hack for the Amiga 1000 I have been a devoted reader of your magazine since its inception and enjoy it very much. I have found your hardware and software reviews, columns and instructional articles to be both entertain- ing and extremely helpful. You do a great service to the Amiga community by publishing this excellent magazine. I am an attorney with three Amiga 1000s (each equipped with an external drive and one megabyte of expansion mem- ory), a 33-meg C Ltd hard drive and an HP Laserjet+, I bought my original Amiga 1000 when they were first shipped in October of 1985. 1 purchased a second Amiga 1000 in February of 1986 and third in September 1986. Having suffered through the extremely lean period, 1 am very pleased to see all of the new products that have been released during the past year. However, I must add my name to the list of Amiga 1000 owners who feel that their machines have been abandoned by Commodore-Amiga in favor of the new Amiga 2000 and 500 machines. I considered it to be highly unfair and unrealistic of Commodore-Amiga to think that people who took a chance and purchased the machine in its infancy and struggled through all of their trials and tribulations of that period will automati- cally go out and plunk down the largo sums of money necessary to purchase the Amiga 2000. Frankly, 1 feel that 1 am just beginning to get my money's worth out of these machines. Nevertheless, I would like to have the benefit of the ability of the 'Tat Agnes" chip used on the Amiga 2000 to access a full megabyte of chip memory. This would be a great boon to productivity in my office since we use the multitasking feature of the Amiga 1000 to its utmost. In addition to having WordPerfect, CityDesk, Faac 11, the Workbench Clock and the Gizmozs Rollodex, Calendar and Financial Calculator open at all times, we also use Deluxe Paint II, Butcher 2.0, Analyze!, Acquisition and sundry other products on a frequent basis. I have also developed an extensive documents library and forms library using these machines in my practice. Amazing CompuHng V3.4 ©1988 A mazing Dealers The followiBg are Amazing Dealers, dedicated to supporting the Commodore-Amiga'™, TTiey carry Amazing Computing"*, yoxa resource for information on the Amiga™. If you are not an Amazing Dealer, but would like to become one, call FiM Publications Inc 1-617-678-4200 Tu; Conrpi/Br PIk llHHn BMt ft CA'nfuW UH4«'f SnfwnmCtv LCA VlOW I CgmpoHT CT. i^wUT#( Carnpjan PenHT tfMy Dm E u n j<ii t ii Tbi CvrpuMrCatv T-« Uoa Snop Aifam Ci3mmEida« Conneeton ll*cii;i'i NDttT Amartan OflDri Ml y I fiMmEla na Ajgrwl BaboKonot &4)|yT bBnPi«OM CVTip^PtiA Bf> Facory Cofrpuars Caruy Cerrpjar Synvni Qfca Df Bdoiu CtiaorEhXiiu C#^Tiad»i« LAM Th>aiQ Mt Uvni Tvnp* Pnoanii FrararCrr Fwnam CofflfUW Bewanv CvnpUV Tarmna k^t CiNTipuMri 4 Hani ComjUBTi Piui CoTonca Ire UWEAuTV W, Pi^ Etoach 5. Dayaina Swwvl CwnpunvBarn htvns O Cvnpjiir^ FUdd Siaoi Aiimra Sm'Vi Safngl EdJcMoi Corrpultft Ec TMtfiUM Fvnly CtynpuMRl SvalOV Hwninr CAffipuw'i Ui^H'^ Hero CflT-pjf Canwf La^ Mm At^ C ta L i U T Ka A. PcBfirurg StT<>f^ &3rTtcuvr H»>^ tnc Cgrt^tarOuSaT CoF-TpukrDiAaT CamAiHrTina CwmiNnruwd T>a CcpbOv Son Tha PC Celartor CfTulHB FJvmviT Sa-nJaH (hMC CompuHr CviBr Oou< CompuwCarar ID UcaP OmndRacMi VlOH Comaeaan VUj^ Caripuvr he Wwu Cairpunn, kic Oflili KlSNmruiand KlSHavnknd KI^HawuwvJ USrtnrniBXl Hnrt Carrw SonmvmCfm TDSComputos (fchorr Haia^ UmQEirmi nl Ofti UkToUvia Paa(<«'l ComguBn Vmmtm Satea4C«ntil SailLaNaarr SMI u^ l^tr aaiLaMCJiif Carr Vtlaga Flakigh Fvgo LnnQBaatfi Santa Rm WBnutOaH Dilftiar^ Nawi Agvcr DKDtrl CoTTEUtar S^lon Inc. &rara Con^tars ECK Cwnpukr Go. F9f«r CoTpuk'a htamntfnn. Stfndw I VBinj. (re Mama CwifWEing Ca^«F CAncvQ Huma CompjsnQ CwiMF UhValay HHma Com puenp Cans r San Livtte Homa Cir^PLAnQ Canta' San Bruno KTSiartof»a FiA^vSyvhm £o^«i« Bai/sn Inc. T^iaM Sispa Anrs CenipuMn 1 EiacnrKX Maia ril lP' l' iCarwptJf gmra SnpadO>K Spaotfira Concblor SavStaalCwTfiiai TJ.EntaVH* Tta Etfga Co'Tiocbr 1>a Son WKr^ouM l>«adCamEu«r Vtoaa Aai Vi Ooa CcvnpLrar ShoDfw CsTfuvf Aiaocaai <LKCompu»n Tho Corrpjar Stara e»?"»»a ito^Snwni tHtawaoB Jnamilona Ma Mcntotfi Comiaitar Carrtar kic Tntotto Amadng EkcTanci AP-KLt-COOP Compulr £)oivi^ SaVooi O i<lnjh» B Ca^TfiiWj vU Lhm lta|^ Datwi JiCF^wr AAi. Cofrputar 1 Vdia Harrpa C4nk^ SwIir^Ha. VpBlvn! E^gan Pwl mil StfMaaxllAn FAIrntU TTUn CuncmaSi CansrvM KAOS UiTii^a C0Tvua<' Bbh HymMlQim OtVI l / 1Mf^MBf Praprami Pita Hoa Tk^ia 9|r<tom ri>Bia«BC«i* TlMAb^ tintva Sana ComputoP I Voos Irc ADtWIor 006 Co^piA^ Ca'vw LC V DaaCaTHi'imc tkj^ttmn Kaapn Pan CorvftLimtt Cna-rrtatgri Hn<rt l Bf«nw«l Crvago Momvt d Sef^nra CempjB UOOo'inooirijkc. Spaoat^lK Vaiaritrc Malaga CornpjW CarMr Qcaan SprinQi Sana An* KJCompt/an LamV Lie CompuMn Woo Fllglil ms Ire Tmw QMki Nonaaon SoTtwara Op Amp Tad^ Bochi Pvu Nawiifend FliRSo'Mm FUgaont! C«npuar Cr. I<i:. SawY«r^ NMn Inc. S05.Carrpknn a Ant Harm HdIi>wwhI Santa Ana San Jadrm Seifvri<« Cny SefiaaiaPbi 5«tMii4Piui CnGago 5«tMai«nuf Wfl Tha Uimoiy EKparalan MwwiRadD IMc^Compuwi lOOIOft ft/W! Ctfl^^AT Cr. BrHiiarArV«a C«mp<nrCvn«r AuEkOavo Cornpuvr Sa rvnai Sprrg^ d BrwKb Mn Corrpukn KaraaiCJtT Dm ByM Cornpuh' Co. SL Loui tabm fWr^ar LU. Ctmar^Ud 9|nHlTt»P^I MtpWtKA Srnvfki Piut p( Sl Laut Sl LdiJi t>aaiaT» UcraLn«i PCT«n Von-Corrphe Oaipan .Wrvnaoi CapiM Una I Cartar Ciiaianta Camti.mn CprpuTnr titmr^ni art Pe«rti*i Bmu PHpai*) Tacn F*cn C-gar Sbw GotWara Ecptasi Sonaara Ppar>a Cemtuw Sehnra Carqar Fu Vatar Panenri CompuW Cw«eah Uom^Campjwi SMwna Pi TUW Bafvaq Ire, Cen(ulier PUT Pailv4 P<^W4 DakPra riiiin'ii^ ffiiiiiii^rauai]! Sou ri Bond Angtfa FonMiina i^tpM^^an CvrsMjKT Syimi OmotFflii yy Com Inc. notamouti S?^!hP4 Soiij1»nt Pim Tpa«rB»lM ToMrBoW TeaarbMi TopArBoau Tlhi Boekomsi Wmi' EnoH**nQ Wrtl Bfr«k I Miirt Irnmaptfii Indinapaii Evarvrfla ftaaaa Ei^pmanl Co. Upaeri ComnjarSri' ' IraBPHCprrw Vwa C«rn(iAr> Ovtal evr[u«r| Qai kMno l^ni Cair^uHar Ap0i«H!ni LTD Miri n B» IW f v UDMaaiCoTvu*'* Sorwa«city CiwjkJ^ Skxa of tanLnr FtaaiarCacna FlaaJ^ WsrH) Cwrpjtoi Port re Evfpra Ponant AptvOmagaEBE Warran Buie CtfnpuiH S)ritWTt» Htnmmga Crm»t CaitKr Book CtL VMitChaakr CirCM Compubr EpFnfe Cvnpum'i i Oamai Randi^ Dewmngb'^ CompuSr Cansf Doafvngttn EatlCowi So^m* Htrtrwi Floppy DA Uochanettug Qant^BaPo KlngolPrunli Norti Canm Offml Srnvni Oanrttt l^ltitiLrghCam;iukrSbni Pimb^gp UvnofyUina Carnp.Mr King ^Lltoc SprtU Craun Cenvuiaf E*i ■tfeCQ UmCD Ucn Utud fl flfiaaa Cor^nacson OnirtiMPir^ LoUowia NMHontnnCvn^/BrSinKirfl Aimii(^i«i PigaOMhtwtii'x) Aibx^jan^M FkaflAi^fMr E^wwa Ta e waM Ja ) eprtapn La C/uc^ EaiiNartiPor: MvYOA Aflcarrr tnmrrmt am [ik. Uoo Camp/Mr D«|)Bi Sotiwaa Dry Suriaaaa Ftajal>nc. Waiaan^ Jairtary CoTT>^br BLaran Cantar WlBOi Coumtia Sumar Chalaatan im. C^aatarWtf Ita^dCRir CflnptAMVAwid J.W. Man Kabona Uncamp ArUn C«mip« Ht«ngiD*M □amnaUpa Bnnh CeLntaa Qig»h CokmtM Bm,hCakjTitH amhCdUnlM Bf^ih Cirt^bia Oi-iah CoUnbia Uhbh HfertbH UaKBba Canv^a<u>a< iiaii|.ii> TTaS^Sna AnatrigCvn[uw%a«mi C lW H «t W i QoBk Tacn air'autng CivoM Conpjvi CompcmF r>iicQi#ii CORp^VF Ro^n EHFtParHnrt C4mMrt Cfl^pjtar Tima Uaom EkfiMtH W aT i'ia J Wa^J^ S0tkr»4 9«i#« LslfraM ThiBHSVt .auM Tb* C«AVUto C*rK MraUta CtejbStora Hanjbnj Arrlga Buanoii Carvpuwr Horaift Co^^tar OuMt PliVomen Fi44|i 04"^ pUWl Pl*i^«|ilit Iflt C« C«<np k^t atlrt' Sp'tngt Confuvwan VlaonCanHF CWvnbH tCwiaiaaijawra Bmam« KantHSW* LB|rT*l Hwiitand Si»ar Scing Ucro Co-rrfuar Carrar [laaiio^ SotVaia MvarOga HUa^ CompLMr Cansr 6a<Wwa C«n» Mainc»f« Sfli%rvt 4 &jS1 SefkrarflCitir flaiwaraLM 9mf TacnSviB'^ 3)rM« Fradng Talfvi C.EJl. Corpora: en Coonoi Vdao Canpamt Aqm Copqpuar Ag* Cam^arUagC rirrriiini ii Tamaa 1rfa> CompiAng tK. IMnpoiRwi Cornpuk' Sofbawa Ubrar Son Tta Brataria Orana &^ar>o IrttoUtrw* OMae Lawa IMaa Oatac y^ilor Tnriquo Qjobac O Abulon Uapro Oabac PitrfajWd in Canaefa br Irxr*" 5olCwa Dnr^in Coneem, O^mM CwnptJt nnrfeusn Bnvh Csunoa • *■ Dai int C*g«y. Aeant ,IVA Fv Tatrtmogr C«tift/w Acoap Umfrt Oi^ EQUVmar« te»ata4 IMbm LmC«v« tjnaw«4>6vir HcMVdMT Haualon wunk Faa San Arnaria AoaJoFajad t Sana Daman Iha f^iugaCartiarorawdin) C-dnfaonuf^ Se^avaLv^Aa Amazing Computtng™ is afso available In most B. Dalton Booksellers. B. Dalton Software Stores, Crown Books, and Software Etc, locations. Amiga - Commodore Comiiuters Users Sho^t" Don't Miss the most Exciting Sliow on tlie West Coast Exclusively Devoted to the Amiga and Commodore Computers* Santa Clara Convention Center 5001 Great American Parkway ^cxi to Croat America Park) Santa Clara, California Sat., May 14, '88 10-8 PM Sun., May 15, '88 10-5 PM OncDayAdm. Exh. Only SIO.OO One Day Adm. w/ Lectures S15.00 Two Day Adm. Exh. Only S15.00 Two Day Adm. w/ Lectures S25.00 This Show will Feature: Animation & CAD Business & Database Software Desktop Publishing Games & Entertainment Graphics Hard Drives There wUi also be two full days Memory Expansion Music Software Programming Languages Public Domain Software Spreadsheets Simulators Telecom. & Utilities of lectures and seminars This show is a marketplace for Iiuyers and sellers of Amiga - Commodore Computers For exhibitor and general information call or write: Golden Gale Shows • TO Bin ,S87 • Gjrle Madera, C.-^ M92S • (415) 388-8893 In order to organize our forms and docu- ments, it is often necessary to have three, four, five or even six layers of nested subdirectories on a disk. As you can imagine, v/hen we get down to the bottom level of a Workbench directory path, screen refreshes can be aggra- vatingjy slow. If you or one of your readers could come up with a Fat Agnes hardware hack for the Amiga 1000 that would make it possible to install the Fat Agnes chip plus additional chip memory in the Amiga 1000, intensive multitasking on Amiga lOOOs could be much quicker (and, consequently, more productive and en- joyable). Find an economically feasible way to do this, and you will have the profound gratitude of the small army of Amiga 1000 pioneers who otherwise would be denied access to Fat Agnes's charms. Sincerely yours, R. Gary Wainwright, Attorney at Law Georgia lam not certain your request can be handled, due to either electronic limitations or legal copyright entanglements with Commodore. However, it is an excellent suggestion. AC prides itself on the quality and caliber of its readership, I am certain some bright Amiga enthusiast has already considered the problem or arrived at a solution. Dear Amazing Computing, I would like to bring to your attention the fact that we have started a new Amiga Users Group called Northern California Amiga Club. We are located in the Redding area and anyone is invited to join, especially those Amiga fans in Northern California. We meet on the second Saturday of each month from 2 to 5pm at Rico's Pizza Parlor at 200 Hartnell Ave. in Redding, CA. Sincerely, David L. Murphy, President Northern California Amiga Club P.O. Box 54 Bella Vista, CA 96008 (916) 472-3237 Dear Amazing Computing I wish to thank you for your considera- tion of us subscribers. An example of this consideration is the protection enclosure for each mailed issue. I also appreciate that you do not ruin the issues even before they are mailed by gluing announcements on the cover like some others do. The addition of color is a further enhancement to your excellent magazine. Keep up the good work. Sincerely, Karen Parker Oregon Thank you for the kind words. It took some time to find a printer who could provide the polybag mail protection for our subscribers, but it has been worth it. Dear Amazing Computing A message to Peter Kinross (Letters V3.2). Until today I would have agreed with you - 1 also spent 1/2 hour in the bank, and paid an extra $6 for the experience! But consider - spending that extra S6 gets you Amazing Computing for around SA5 per issue, delivered (as I discovered today) around 14 days after mailing. Every month! The alternative? Pay $A9.50* at the news stand, to get AC 2-3 months after issue - when they remember to get your copy in!! Sure plastic is convenient, but as a certain Alien Life Force would say - NO PROBLEM! Regards, Steve Spink Australia Thankyou. The prospect of credit card payments remain in the future, so the current system of US funds from a US bank is still a neccessity. We are extremely grateful to our dealers in Australia who pay a small fortune in air freight to bring Amazing Computing to Australian Amiga enthusiasts. 'denotes $9.50 in Australian Dollars •AC- ATTENTION ALL READERS Do you have a suggestion or observa- tion? Please write us. Each reader who has a printed letter with a suggestion, question, helpful technique or other useful information to help the Amiga comnnunity, will receive a certificate for five Public Domain Software disks and the gratitude of Amazing Computing and its readers. Please send your letters lo: Dear Amazing Computing, P.O. Box 869 Fall River, MA 02722 Amazing Computing V3.4 ©1988 C who's winning the race. Lattice C for Amiga. r. — ' - -^ fwA.MIGA Lattice C Compiler Littice C has long been recognized as the best C com- piler. And now our new version 4.0 for Amiga™ in- creases our lead past the competition even further. Ready, set, go. The new Lattice AmigaDOS C Com- piler gives you faster, more efficient code generation and support for 16 or 32 -bit integers. There's direct, in-line interface to all Amiga ROM functions with parameters passed in registers. XX'hat's more, the assembler is fulh' compatible with Amiga assembler syntax. More great strides. The linker, Blink, has been significantly enhanced and provides true overlay support and interactive Lattice* Version 4.0 Dhrystone Float Savage (IEEE) l2yH Dhrystonesfeecond 22.20 Sees. (lEKE Formal I l(l.K)Sccs.(FFP Formal) •17.67 Secs./.OOO0OO3l8 .Vtcuracv rect)very from undefined symbols. And you'll have a faster compile and link cycle with support for pre-linking. There's no contest. Standard benchmark studies show Lattice to be the superior C language development environment. With stats like these, it's nc5 wonder that Commodore- Amiga has selected Lattice C as the official Amiga development language. Liiricc ti 3 rcRKictriJ (QiJcfnark ot Lsutcc Incorpumrd AmijtJ u j ttadcnufk uf <:!iinini(Kli>rc .Aini^. IrK Mank a i icRmctcd intlcnurk of iAinx Sofiw-jrc S^nicmt, Inc Going the distance. '^Ou'il experience unsur- passed power and flexibility when you choose from several cost-effective de\'elopment packages. There is e\'en a full range of suppt)rting products, including a symbolic debugger, resource editor, utilities and specialized libraries. You'll discover that your software purchase is backed by an excellent warranty and skilled technical sup- port staff You'll appreciate ha\'ing access to LBBS — one of the world's first 9600 baud, 24-hour bulletin board services. And you'll be able to conference with other Lattice users through the Byte Information F.xchange (BIX) network. Cross the finish line. Order your copy of the Lattice AmigaDOS C Compiler today. We'll supply the speed. You bring the running shoes. Manx* Version 3.40 1010 Dhrystones^econd W.H'^ Sees. (IF.EE Format! r.CiO Sees. (FFP Formal) n9.6Secs./.000109 Accuracv Lattice Subsidiary- ofSAS In.siitutc inc. I.;iukf, Incorporiitctl 2S(10 S. llij-hland Avcnuf iDiiibard, IL 60148 Flione: 800/535-35"^7 In lIlinoi.s: 312/916-1600 COMMODORE AMIG HIGHLIGHTS ^1 he second AmiExpo took place .^M- January 16 - 18 at the Los Angeles Westin Bonaventure. N(:)body was really sure what to expect ftum this show; the New York AmiEx{x>, held in October, was reasonably successful, but rumors pointed to a low turnout for the L A event. I guess that shows how much you can trust the rumor mill — AmiExpo L.A. was a madhouse. Organizers esti- mated that over 10,000 people turned out for at least one day. Everyone who is anyone in Amiga circles was there, and it was nice to be able to put some faces with the names: Judy Blair and Kevin Sullivan, the duo responsible for the dazzling EI Gato animation; Amiga pioneers Dale Luck, Bob "Kodiak" Burns and Jay Miner; screen hack wizard Leo Schwab in his trademark cape; Jeff Bruette of Max Headroom fame {plus NewTek's Maxine Headroom); Chet Solace, the man behind the comprehensive Amiga BBS listing. The Final List; public domain disk legend Fred Fish; and BAEX2E Killer Demo winner Joel Hagen. Commodore also sent a fuU contingent of technical support and top management personnel to mingle. Kicketart/Workbench 1.3 From several informal interviews with Commodore technical staff, I was able to piece together a look at operating system version 1.3, Kickstart 1.3 and Workbench 1.3 vrill be packaged together on disk, similar to the 1.2 Enhancer package. AlOOO ovmers will be able to use the new Kickstart and Workbench immediately; 500 and 2000 owners will need ROM upgrades to use Kickstart 1.3 enhancements. Many 500 and 2000 owners will not need to upgrade their ROMs immediately, as Workbench 1.3 is compatible with the revision 1.2 Kickstart currently in ROM, and offers benefits by itself. Kickstart 1.3 contains enhancements such as the ability to boot the system from a hard disk. The bad news is, no existing Amiga hard disk controller (Commodore or third-party) has the firmware to take advantage of this feature. Retrofitting a "fix" on existing boards may be, for all practical purposes, impossible. A new hard drive controller, designated the 2090-A, is nearing completion at Commodore. Kickstart 1.3 has also been engineered for a new generation of "smart" peripherals; when the system is booted, the operating system polls all devices for a "diagnostic vector." This Amazing Computing V3A ©1988 FROM THE 1988 LOS ANGELES AMI EXPO TM By Steve Hull GEnie: LightRaider People Link: St.Ephen vector points to an address on the expansion device; if found, the operating system calls the initialization routine on the device. This autocon- figuration will eventually replace the AmigaDOS "binddrivers" command. Workbench 1.3's enhancements include a new, faster IEEE double-precision math library. The current IEEE library is so slow, it is seldom used; the routines contained in Workbench 1.3 speed up IEEE operations by 200%. 68020/68881 machines will perform these operations up to 20 times faster. Workbench 1.3 adds the long-awaited and misunderstood fast file system, an enhancement intended for use exclu- sively with hard drives. The fast file system requires special formatting, and increases access time up to 300%. Workbench 1.3 also includes a new, whiz-bang printer device to increase printing speed on graphics up to 1000 percent, depending upon the printer model. New drivers have also been added, including support for the Calcomp Colormaster, Epson LQ series, and HP Deskjet, and PaintJet. Other rumored enhancements, such as Colorfonts, look like they'll have to wait for version 1.4, which is shaping up to be a major revision. Estimated availability? Commodore isn't even willing to go on the record about 1,3, which insiders predict will be released this summer. Don't look for 1.4 much sooner than next year. Now, on with the show! Exhibit Highlights Tlie first thing most people saw as they entered the crowded hall was Microillusions' massive display — it took up half a wall! The display was sectioned into desktop video, educa- tion, music, games, and creativity applications, fronted by a large Meade telescope promoting the new Planetar- ium astronomy package. The tele- scope was no prop; Microillusions is currently working on software to interface the telescope's drive motors with the Amiga. Want to take a look at the Ring Nebula? Locate it on the computer screen and the telescope tracks it in the sky. Planetarium retails for S69.95 and is available now; availability of the telescope interfacing software is expected in the third quarter, though Microillusions has not decided how it will be marketed. Microillusions has a sizeable invest- ment in Amiga games, and their latest titles were on display: Land of Legends, a dungeon adventure; Ebonstar, an outer space game featur- ing a black hole that literally bends the fabric of space around it; Blackjack Academy; and their second One-To- One title. Galactic Invasion. Perhaps the most fascinating product demonstrated in the Microillusions booth was Photon Paint, a graphics program that can best be described as a combination of Digi-Paint and Deluxe Paint 11, with a dash of Sculpt- 3D thrown in. Photon Paint supports standard "paint" features in any Amiga graphics mode, including the 4096-color Hold And Modify. In addition, it adds such sophisticated features as surface mapping and light- source generation. Surface mapping allows you to take an image and "wrap" it around a geometric shape. In a demonstration, the artist digitized a slab of black marble, then wrapped the image around two cylinders. Add a light source to create spectral reflections and depth, and Txiila — two ancient temple columns. I saw this effect demonstrated at last year's National Association of Broadcaster's convention on a 5100,000 Wavefront machine, and the Photon Paint graphic was comparable. Photon Paint retails for $99 and is available now. Photon Paint is one module of a system which comes under the umbrella of Photon Video; other modules include a fully-featiired cell animator, 3-D editing and rendering modules, and transport controller software to interface Amiga graphic programs, such as Aegis Videoscape 3D, with industry standard edit controllers. All modules support SMPTE time code through Microillusion's Micro SMPTE reader. Whew, it gets a little dizzying — our little Ami is growing up fast. Aegis Development took both sides of one row in the hall, and as always, their display was a feast for the eyes and ears. A large-screen TV showed the kinds of audio and video work possible with Aegis products. The Amazing Computing V3 A ©1988 AmiExpo attendee tries his hand at interaclwe video with Very Vivid'g Mandtda. him so heavily. Sachs is now consid- ering his next move; a 3-D port of his Commodore-64 game. Saucer Attack, seems likely. John Foust picked a prime spot between the Aegis and Byte-by-Byte booths to promote Interchange, a utility allowing users to share anima- tion objects between Aegis' Videoscape 3D and Byte-by-Byte's Sculpt 3D. Foust's company. Syndesis, also sells an Interchange module that handles objects from Forms in Flight. Syndesis also offers an Object Disk packed with various animation objects from Sculpt and Videoscape and a full alphabet of flat letters that can be extruded into 3- D block letters. The Interchange main module retails for S49.95; the Forms In Right module and Objects Disk #1 retail for SI 9.95 each. tape was exciting because it demon- strated that for Aegis, a company that has paid some heavy dues over the past few years, desktop video is nsally coming together. High-quality videos were demonstrated in which the animation, titling, soundtrack and sound effects were done exclusively with Aegis products. An upgrade to Videoscape 3D was announced, featuring transparency, reflection, and HAM support. Two new polygon types — 'light" and "dark" — may be used to simulate the effects of light sources and shadows, respectively. The upgrade uses a pseudo ray-tracing technique, which is not as accurate as true ray tracing, but the upgrade doesn't take all night to plot one frame, either. Videoscape 3D version 2.0 should be available this summer for SI99.95, with upgrades available to Videoscape owners foi' $10. Since its initial release, Videoscapci's biggest liability has been the effor: it took to define objects — a process that required graph paper to plot the shapes. Dedicated Videoscape artists (and those who have shied from tKe program because of this difficulty) will welcome the release of Modeler 3D, a stand-alone product that has the look and feel of a computer-aided design program in three dimensions. Don't expect to see the product right away, though; Modeler 3D only recently entered beta testing. The biggest draw at the Aegis booth was their newly released shipping simulation. Ports of Call. Authors Martin Ulrich and Rolf Deiter-Klein spent two years researching all facets of world shipping right down to the canal fees, and it all shows in the game. Add superb graphics by Jim Sachs (Defender of the Crown) and Dick LaBarre, and Aegis just may have a classic on their hands. Sachs spent a good deal of time at the Aegis booth, answering questions and talking with the crowd. Unfortu- nately, he recently lost two months' programming on an Amiga adaptation of 20,000 Leagues Under the Sea to the SCA virus. The game is now on an indefinite hold. Considering Jim Sachs' generosity in sharing his time and talents with aspiring Amiga artists and programmers, it doesn't seem right that some amateur prank cost The most wacko booth — hands down— was manned by Comp-U-Save, a public domain disk and accessories retailer from New York. Dangling from a wire across the front of the booth were attention getters like a large rubber tarantula, labelled 'True Multi-Tasking," and a shrunken head with the legend "Former Atari ST User." Comp-U-Save's outrageous approach — salesman Eric Miller sported a huge rubber cockroach on his shoulder and a button charging, 'TAKE NO SURVrVORS!"^appears to have been lucrative, if nothing else. The booth moved 90 cartons of merchandise over three days. Computer System Associates of San Diego, California had a booth filled with high-tech, high-ticket toys about which most of the Expo crowd could only dream. Among the highlights: the Over 030 board, which piggybacks on CSA's 68020 board, allowing configuration of a 68030/68882 CPU/ Coprocessor. The Over 030 goes for $495 bare board. You don't even want to know what a 68030 is going for these days. (OK, it goes for $690. I told you you didn't want to know.) CSA also showed 68020/68881/2 10 Amazing Computing V3. 4 ©1988 boards for every model in the Amiga line; perhaps the standout is the configuration for the Amiga 2000, which allows CPU speeds of up to 14Mhz, with the co-processor scream- ing along at 25Mhz. According to CSA , an Amiga configured in that fashion will outrun the Sun 31160 and the VAX 8800 workstations. Finally, for mass storage freaks, CSA intro- duced WORM-880, a Wrile-Once-Read- Many-Times optical disk drive with a capacity of 880 megabytes, shipping now, for the bargain price of $5995. To the right of the Amazing Computing booth, Dr T's Music Software pro- vided a rhythmic soundtrack with their MIDI sequencer and patch editor. The multitasking sequencer can handle 48 tracks, with 36 on screen at any time. I'm no musician, but I was astonished at how easy it was to put together multi-layered, studio quality tracks. Also announced for summer; The Copyist, a program to print high quality sheet music. Look for reviews of Dr T's software by Richard Rae upcoming in Amazing Computing. Notably more cacophonous soimds were coming from our neighbor to the left of the Amazing Computing booth. Constellation Software. Constellation showed off an impressive collection of arcade games, including Emerald Mines (a souped-up version of Boulderdash), Space Battle (an appeal- ing contest for Asteroids fanatics), and Fortress Underground, a game that features the unlikely scenario of a helicopter exploring a giant under- ground cavern that covers 640 screens! One of the biggest draws was a pre- release version of a game called Larrie, an entertaining original chase game. The packaging doesn't look like much, but game was played constantly throughout the Expo. Very Vivid Incorporated invited Expo attendees to "get physical" with an Amiga connected to a video camera. Their product, Mandala, interactively integrates video signals with Amiga graphics in real time. The effect is a bit astounding; a person stands against Video Toaster, a video processing netecomer, made the NetcTek booth an Expo hotspot. a flat background, while he appears on the monitor inside a scene surrounded by musical instruments. When the person's "video" hand strikes the drum in the picture, the drum sounds — very strange to watch. My favorite demo pictured a slowly flapping bird that screeched and struggled when caught. Mandala is available now for S395. Gold Disk was on hand demonstrat- ing Professional Page, the state-of-the- art successor to their desktop publish- ing program, Pagesetter. Professional Page offers access to all Amiga graphics modes, up to 1008 x 1008 screen resolution, in all colors, includ- ing Hold And Modify. Professional Page currently outputs only to Post- script devices, but an upgrade is in the works to allow use of any Preferences printer. This upgrade — supplied at no charge to registered Professional Page owners — will also include routines to perform full-page color separations. Also announced, but not demon- strated, was an interface to work with NewTek's Digi-View video digitizer. Professional Page is available now for $395, with upgrades to registered Pagesetter owners available for S266. On the lighter side. Gold Disk showed Comic Setter, a package that will allow aspiring Stan Lees to crank out full- color comics on their Amigas. Comic Setter comes writh cartoon clip art, with three additional comic art disks to come. Comic Setter should already be available for S99.95. Spirit Technology showed Inboard internal memory expansions for each member of the Amiga line; 1 .5 mega- byte boards for the Amiga 500 and 1000 were on display. Bare-board prices begin at $279 for the Amiga 500, and $299 for the AlOOO. Additionally, 2 and 8 meg boards for the 2000 were announced, but no price was given. Brown-Wagh Software fielded a large booth with demos and mini-seminars running constantly. Brown-Wagh is a marketer, not a true software design house, and has been scouring the Amiga scene for promising products. Among their recent acquisitions are Softwood Software's File Ilsg (the third generation of MiAmiga file, adding support for sound and graphics fields), and Softwood Write and File, a program integrating a friendly data- base similar to Filell with a what-you- see-is-what-you-get word processor. Amazing Computing V3. 4 ©1988 11 Brown-Wagh's most discussed title was not on display at the booth; Excellence!, Micro Systems Software's reputed word processing giant killer, is due in March. Everyone should then be able to see for themselves. Brown-Wagh also displayed TV Show, a special-effects slide show for use with IFF images and fonts. NewTek's booth was, as always, big and flashy. An upgrade to Digi-Paint, their Hold And Modify drawing program, was announced for summer release. Digi-Paint II adds support of 1024 X 1024 super bitmaps, automatic anti-aliasing for all fonts, 3-D image mapping, full overscan, and dithering modes that simulate up to 100,000 colors on screen simultaneously. NewTek promised upgrades to registered Digi-Paint users for $10-20. NewTek also demonstrated their Video Toaster, easily the most impressive video processing product of the show. It's anyone's guess why NewTek calls this hardware/software combination a 'Toaster" — it's closer to a "Cuisinart," with its ability to flip, spin, freeze, and "pixelize" video images with a refresh rate of 60 frames per second. Besides video effects, the Toaster includes a broadcast-quality genlock and frame capture. According to NewTek, its buffering also allows compatible software to run in literally millions of colors. The Video Toaster will be available this summer for about SIOOO. It may sound pricey, but the next- lowest priced hardware which offers similar effects is about S49,000 more. Soft Logik Corporation offered a first look at Publishing Partner Professional, their entry in Amiga desktop publish- ing. Soft Logik has traditionally produced software for the Atari ST, but they claim the Amiga version of PPP offers significantly greater capability. Among the features are .0036" resolution text and graphics, support for Postscript, HP Laserjet and color PaintJet, built-in word processing, a spelling checker, auto-hyphenation and drawing — and they're saying it'll run on a 51 2K machine. Soft Logik also showed print samples done both in Postscript and by their Postscript- work-alike for dot matrix printers. The dot matrix quality was very im- pressive. It wiU list for about S199.95. WordPerfect Corporation showed off their soon-to-be-released WordPerfect Library, a package of productivity utilities. Included are: a Notebook, Financial/Scientific Programmer's Calculator, Planning Calendar, File Manager, and Program Editor. Also, representatives say a macro editor is "top priority" once Library is released. Also in the works: the spreadsheet Plan Perfect, and public domain utilities to convert files from WordPer- fect version 4.2 to 4.1, as well as from Scribble!, Textcraft, and other formats. Representatives were less encouraging about the Amiga port of WordPerfect 5.0, the true WYSIWYG (what you see is what you get) MS-DOS version integrates support of color, multiple fonts and graphic images. Version 5.0 is so sophisticated that some WPCorp developers fear it may require a hard drive — a factor that could seriously limit sales until prices for Amiga hard drives fall to a reasonable level. Nonetheless, WPCorp planners have decided to leapfrog over version 4.2 and put an immediate priority on 5.0. The term "priority" here is strictly relative; conservative estimates place an Amiga version of WordPerfect 5.0 at least one and a half years away. WordPerfect's enormous success in the Amiga market has not gone unnoticed; scouts from Ashton-Tate (Dbase 111 Plus) were seen patrolling the exhibit hall. I tried prying information out of one of them with little success: "Why are you here?" "No comment — hahahaha." "Would it be accurate to say that WordPerfect's success has generated interest in the Amiga at your company?" "Hahaha." "Might Ashton-Tate be preparing to give dbMan a run for its money?" Answer: Huge grin, take it for what it's worth. Hypertek was at the show, selling copies of GOMF 2.0. Anyone who has used the shareware 1.0 version of GOMF (Get Out of My Face) knows the program does a decent job of trapping GURU errors, allowing users to kill the offending task without rebooting. GOMF 2.0 handles all errors with the exception of a full system freeze. It's available for S34.95. R&DL Productions displayed profes- sional-quality digitizing pads for computer-aided design and graphics programs. AProDraw 12 x 12 bundles a 12" X 12" Summagraphics MM1201 pad and stylus with Amiga software drivers for $549. AProCAD adds a cursor puck at $599. Less expensive 9" X 6" pads were also on display. Inner Connection Incorporated offered one of the more interesting hardware items of the show: A 20 megabyte Bernoulli drive for the Amiga 1000 and 2000. For those not familiar with Bernoulli technology, the product is basically a removable hard disk. The disk itself is hermetically sealed within a rugged cartridge. The cartridge can then be plugged into the drive unit as needed. Theoretically, you could have a bookshelf full of 20Mb storage cartridges. Initial cost is high — ^$1795 to start for the Amiga 1000 model ($100 less for the A2000), but consider- ing additional 20Mb cartridges are currently going for $99, cost-per-byte becomes reasonable on systems requiring large amounts of storage. Interactive Software, producers of the Calligrapher Colorfonts package, announced a stand-alone program. Font Mover which fully "Amigatizes" the tedious and error-prone task of 12 Amazing Computing V3.4 ©1988 transferring fonts between disks. Besides moving fonts, it will display fonts in any resolution in 2-16 colors, and "fix" font files. Font Mover sells for S29.95 and is available now. Interactive also showed off two new font disks suitable for use with any Amiga application: They are Newslet- ter fonts and Studio fonts, the latter intended for graphics and video production. I also got a peek of their upcoming "Stained Glass" fonts — a 16- color font as beautiful as it sounds. Hash Enterprises, producer of Animation:Apprentice, demonstrated two new animation programs to be used vrith Apprentice and other graphics programs. AnimationiSland performs zooms and pans on any resolution IFF image, recording animation files using a differential compression method similar to Aegis' ANIM format. Interestingly, the program "fills in" shapes as it zooms in, keeping images from appearing blocky at high magnifications. Hash also showed Animation:Effects, which performs spins and flips on images — sort of a poor man's ADO. At the booth, a videotape ran shovnng Effects performing spins with perspective and specular highlights on a Colorfont logo. Animation:Stand and Effects retail for $49 each. RGB Video Creations, producers of Deluxe Help for Deluxe Paint, intro- duced Deluxe Help for Digi-Paint and announced forthcoming instructional products for Calligrapher, Photon Paint and Pagesetter. The Deluxe Help programs take advantage of the Amiga's multitasking talents to lead users on a computer-aided tutorial; it's the ultimate learning tool for people who hate manuals. "We take the intimidation out of software," ex- plained one of the RGB reps. "In 4-5 hours you can become a power user." Deluxe Help for Digi-Paint retails for $34.95 and is available now. WordPerfect demonstrated their highly acclaimed word processing package and a netc package of productivity utilities. Overall, the Los Angeles Ami Expo showed how the state of Amiga support — both in quality and quan- tity — has skyrocketed in the past year. There is enough competition in every major application area so that second and third generation programs are appearing, each trying to better its rivals. The winners, of course, are the users. Here's looking for bigger and better, at Chicago Ami Expo in July! •AC- (A listing of AmiExpo exhibitors is on page 14.) Microillusions sported their latest game titles, as toell as displays on desktop video, education, music and creativity. Amazing Computing V3.4 ©1988 13 ■* ^■tA«Jt*Xv;>Xrti>«t«»K'»K-: :■ ^>>>>>«?W¥^ft¥;'ft¥ft¥!¥:¥?W^-';^':';^ Exhibitors at Los Angoles AmiExpo Constellation Software 17 Saint Mary's Court Brookline, MA 02146 (617)731-8187 Hypertek/Siiicon Springs 120-1140 Austin Avenue Goqjitlam, BC Canada V3K 3P5 (604) 939-8235 R & DL Productions 11-24 46th Avenue LIC,NY11101 (718) 3924090 A-Squared Distributions 6114 LaSalle Avenue. Ste. 326 Oakland, CA. 94611 (415)333^)339 A.)t Pfodudions 9276 Adelphi Road, Sle. 102 Adslptli. MD 20783 (301)439-1151 Abacus Software Dept.L1-5370 52ndSt.SE Grand Rapids, Ml 49508 (616)698-0330 Accolade 20323 Stevens Creek Blvd. #0-1 A Cupertino, CA 95014 (408)446-5757 Aegis Development 2115 Pico Boulevard Santa Monica, CA 90405 (213)392-9972 Ascilec Amiga Science & Technology User's Group 141 Del Medio Avenue, Ste. 210 Mountain View, CA 94040 (415)9494864 Amuse New York Amiga Users, !no. 151 1st Avenue, Ste. 182 New York, NY 10003 {212)460-8067 ASDG, Inc. 925 Stewart Street Madison, Wl 53713 {608)273-6585 Brown- Wagh Pul>lishing 16975UritAvenue, Ste. 210 Los Gatos.CA 95030 {408)395-3838 Byte by Byte Corp. 9442 Capitol of Texas Hwy. North. 150 Austin, TX 78759 (512)3434357 Central Coast Software 2SS Bowie Drive Los Osos. CA 93402 {805)5284906 Ccmmodore Amiga User Intemationaf 40 Bowling Green Lane London, England CI R One (001)278-0333 Ocmp-U-Save , 41 4 Maple Avenue Wijstbury, NY 11 590 (5-6)997-6707 Computer System AssodaSes 7534 Trade Street San Diego, CA 92121 (6-9)566-3911 Cr>3ativa Computers 31 3 Wilshire Boulevard Santa Monica, CA 90401 (2-3)394-7779 (800)872-8882 Oii]!lal Creations 1333 Howe Avenue, Ste. 28 Sacramento, CA 95825 (9-6)3444825 Digital Dynamics 6740 Skyview Way, Unit C Agora Hills, CA 91 301 (8-. 8)706-8214 Di&covery Software International, INC. 163 Conduit Street Annapolis, MD 21401 (301)268-9878 Dr T's Music Software, inc. 22D Boylston Street, Ste 306 Chestnut Hill, MA 02167 {6-7)244-6954 Finally Software, Inc. 2255 Ygnecto Valley Road, Ste. N Walnut Creek, CA 94598 (4-5)564-5903 Fuller Computer Systems P.O. Box 9222 Mesa, AZ 85204-0430 (602)835-5018 Gcid Disk, inc. 21 71 Dunwin Drive, Unit 13 MioSissauga, Ontario L51 1X2 (4-6)828-0913 Hash Enterprises 2800 East Evergreen Boulevard Vancouver, WA 98661 (206)693-7443 Infinity Software, Inc. 1144 65thStraal,SlB. C Emeryville, CA 94608 (415)420-1551 Inner Connection Inc. 12310 Brandywinefld. Brandywine.MD 20613 Innovision Technotogy 26319 Whitman Street, #136; Hayward, CA 94544 (415)538-8355 Interactive Softworks 2092 Avenue of the Trees Carlsbad, C A 92008 : (619)729-3963 Manx Software Systems P.O. Box 55 Shrewsbury. NJ 07701 (201)542-2750 Micro! ilusions 17408 Chatsworth Si Granada Hill. CA 91344 (818)360-3715 MicroTimes N. Highland Street, Ste. 220 Hollywood, CA 90028 (213)467-7878 Micron Technology, Inc. 2805 E. Columbia Rd. Boise, ID 83706 (208)386-3800 Mindware International 110 Dunlop Street West, Box 22158 Barrie, Ontario Canada L4M 5R3 (705)737-5998 New Horizons Software, Inc. P.O. Box 43167 Austin. TX 78745 (512)328-6650 MewTek 115 W.Crane Street Topeka, KS 65606 (913)354-1146 New Wave Soltware P.O. Box 438 SL Clair Shores, Ml 48080 (313)7714465 Oxxi, Inc. 3430 Faicon Avenue : Long Beach, CA 90807 (213)427-1227 PAR Software, inc. P.O. Box 1089 Vancouver. WA 98666 (206)695-1368 Prolific Inc. 1808 W.SouIhgata Avenue Fullerton, CA 92633 (714)447-8792 ReadySoft Inc. 25 Red Oak Drive Richmond Hit!, Ontario Canada L4C 4X9 RG.8 Video Creations 2574 PGA Boulevard Palm Beach Gardens, FL 33410 (305)622-0138 BBS (305)622-7049 Sedona Software 1 1828 Rancho Bernardo Road, #123-20 San Diego, CA 92128 (619)451-0151 Soft Ijogik Corp. 11131 South Towns Square, Ste. F St. Louis, MO 63123 (314)894-8608 Software Visions, Inc. 26 Forest Road Framingham, MA. 01701 (617)877.1266 (800)527-7014 Spirit Technology Corp. 220 W. 2950 South Sal! Lake City. UT 841 15 (801)4854233 Supra Corporation 1133 Commercial Way Albany, OR 97321 (503)967-9075 Syndesis 20 West Street Wilmington, MA 01 887 (617)657-5585 The Other Guys 55 N. Main Street, Ste. 301 D, Box H Logan, UT 84321 (801)753-7620 Topdown Development P.O. Box 1692 Champlain, NY 12919-1692 (514)341-2946 . WordPerfect Corp. 256 West Center Orem, UT 84057 (801)2274010 Brookfield Communications 3820 Griffith View Drive Los Angeles, CA 90039 (213)668-0030 Vesy Vivid 1499 Queen Street West, Suite 302 Tonjnlo. Ontario Canada M6R1A3 (416)537-7222 U Amazing Computing V5. 4 ©1988 .•#"'" teAc ^n Adventures ^ ^H^H R^ it ft 4'^ ■J^ [^ 1 ">, %.^ ^^\ ' Ui ^H|^^' * ^ \. -w / r^ .M r^ ^y "■ *^ ^^^^^ w *w J m See your Dealer or call 1-800 84^ In Illinois (312) 8i VISA/Master Card ^, >!S j;^. MaKe Your Day! Now you can shoot the bad guys with this real-timer action shoot-'em-up adventure. Just connect the Actionware PHASER'" to the game port (or use your mouse) and you're ready to combat evil in an exciting action packed world! It's your choice . . . CAPONE^'' gangsters in Chicago, P.O.W.™ enemies in Asia, CREATURE^" aliens aboard your spaceship. Each Action Adventure only $39.95 Actionware PHASER (optional) $49.95 Actionware Corporation 38 W 255 Deerpath Road Batavia, Illinois 60510 AVAIUBLE ONLY FOR THE AMIGA WHICH IS A TRADEMARK OF COMMODORE-AMIGA Take Five! By Steve HuU GEniet UGHTRAIDER People Link: St.Ephen In last month's column I mentioned that Gold runner and certain Amiga 2000s do not get along. Since then, I have discovered Goldrunner is not alone — there are several programs out there that don't work well (or at all) with the first Amiga 2000s released. The problem lies vdth the German-manufactured keyboard packed with the first A2000S. This key- board — identifiable by its small, square function keys — uses a different processor than the American keyboard. Its timing, while within the specs outlined in the Amiga hardware manuals, is different enough to trip up programs that try to get around the Amiga keyboard device and go straight to the registers. The official company Une at Commodore: the hardware's fine — "the problems result from programmers using "illegal" means of reading the A2000 keyboard." This is not the "will-not-read-the- first-keypress-after-startup" bug, which Commodore has ackncwl edged. No liardware trade-ins are being discussed. Superstar indoor Sports Darts Gee Bee Air Rally Also since last month, a nifty little cheat has surfaced for use with Barbarian. Immediately after you PRESS ANY KEY to begin the game, type 04-08-59. Voila — ^you're invin- cible! Or nearly so. The notorious Cap'n Chet Solace reports that the method is not completely foolproof. But don't let me spoil the surprise. (Snicker...) Oh, and just to tie the preceding paragraphs together — Barbarian's "cheat" mode doesn't work on the A2000! Whatever happened to justice?! Let the games begin! Traditionally, I have had a personal loathing for sports games. My first experience in the genre was with a track-and-field simulation on the Atari 800 that required players to jerk the joystick vio- lently back and forth at great speed to propel their screen surrogate down the track. After developing the kind of wrist cramps known only to certain Olympic gymnasts, I decided the game was far too realistic for me — and about as much fun as a tax audit. To lure those who have been similarly tumed-off by computer sports games, Mindscape has released Superstar Indoor Sports, a collection of four contests for the more sedentary (amtinued^ 16 Amazing Computing V3 A ©1988 AT LAST! ..real-time^ LIVE! video on your Amiga's screen. • True Color: just as it comes from your video source, camera, VCR, TV, anything. Direct, moving, in your Amiga's memory... our patented technology. • Fast: video images in blaclc & white, 32-color, and 4,096-color HAM. See 15 new images every second in black & white, 12 in color, 4 in HAM. • Save: moving video, play it back, use it in other programs. I'nlimited stills, too. • Video Effects: real-time mouse-controIed...posterization, fades, color- keying, strobes, more. • Roll Your Own: programmer's \ideo library, hardware documenta- tion, examples in C, Basic. • S295. Immediate deliver\'. This is hot. To order call toll-free anytime: Nationwide: 800-452-4445, ext. 1156 California: 800-626-9541, ext. 1156 For more infotynation, contact: d A-Squared Distributions Inc. 61 14 La Salle Avenue, Suite 326 Oakland, California 94611 415-339-0339 joystick athlete. Indoor Sports includes computerized Bowling, Darts, Air Hockey, and Ping-Pong. Indoor Sports' Bowling is perhaps the trickiest of the four games. A frame begins with a side view of the adion; the screen player picks up the ball from the ball return, then control is passed to the player. Four actions are required to send the ball on its way: positioning the screen player from left to right on the alley, setting the angle of the shot, adjusting for the inevitable hook, and releasing the ball. The screen player ap- proaches the foul line as soon as you set the shot angle; you don't have a lot of time to get the curve and release right! You'll send a few down the gutter before you figure out how every- thing comes together. It may help to play a few series against the computer to see how it set up its shots. Once the ball is re- leased, the view switches to the bowlei's view of the alley. The top of the screen shares the most recent frame's scores and a medium close-up of the player's facial expression in reaction to his shot. (My favorite was a magnificent scowl from the computer's player when it fjiiled to release the ball in time, and got dragged down the lane on its face.) Options include the ability to choose the weight of the ball, and whether to play one game, two games, or a regulation three game series. Lane slickness is set randomly by the computer just to keep things interest- ing. I got an intriguing insight to the accuracy of detail in Indoor Sports' Darts game when my wife and I had friends over for dinner one night. I had been trying out Indoor Sports that afternoon, and invited our guests to take a look. My friend Charlie is an avid darts player, so he had to give it a shot. I had been practicing, mind you, Charlie approached the game Superstar Indoor Sports Bowling -TilHT.! li 'rtil< Mm 'es tkt ijiti of t« sizim m iis shirt). Mitns ^m jiie ie wdii mtiiiU tsvtr urf mntes » sitff sia-iivt iMt tte i«t itlu, i T^nrniri i hrtinj (iii lith iis mi, ui is hst frti »in in tif ittm-' Guild of Thieves cold. He smoked me! That night I learned — the hard way — the authentic- ity of Indoor Sports' Darts game Indoor Sports' Darts allows you to begin from 701, 501 or 301 points. The object of the game is to whittle your points down to zero by hitting areas of the target, each worth different values. Double and triple points can be earned by hitting the narrow bands at the perimeter and middle of the target. The game also allows "double-in" and "double-out" options. With "double- in" selected, a player must strike the thin "doubles" ring before any of his throws count. "Double- out" requires that your last dart land in the "doubles" sector to reduce your score to exactly zero. For instance, if you end up with only two points left, you must strike the tiny "doubles" sector near the 1! Yikes. To throw the dart, you must first set the horizontal position of the dart in relation to the target, then the throw angle, and finally the force of the throw. The shot then switches to a view of a player throwing a dart at the target, and returns to a close-up of the target to show how you did. An invisible hand updates your score on the chalkboard, and play continues. None of this high-tech nonsense fazed ol' good- time-Charlie. Once he got the hang of the basic play mechanics, he applied the same strategies used in a conventional dart game — and they worked! For example, at the beginning of the game, he immedi- ately began aiming his dart at the far right edge of the target — easier to "double-in" on the sides, he explained. And darned if it wasn't. 18 Amazing Computing V3A ©1988 What was the final score, you ask? Well ... I forgot (yeah, that's the ticket). Let's just say I got a lesson in humility that night. The first time I tried Indoor Sports' Air Hockey simulation, 1 was puzzled to hear a gentle whoosh from my speakers, stabilizing into a low hiss — the sound of the air jets on the board! Docs this give you ctny idea about the attention to detail in this game? The object is to knock the puck past your opponent's defense into his goal. The puck itself glides effortlessly across the table, capable of 32 different directions and 40 different speeds. The computer opponent is quite aggressive, even at the lower-skill levels — where its aggression often leads to its inadvertently knocking the puck into its own goal! But don't get cocky; at the higher levels, the com- puter player can handle itself. And it can more than handle you. Several speeds and skill levels are available, and you can choose to switch sides after every game ... which makes more difference than you might think. The game ends when one player scores 10 points, or time runs out. If the score is tied when the timer hits zero, the winner is deter- mined in sudden-death overtime. Indoor Sports' Ping-Pong is eons removed from the original Pong videogames of yesteryear. The game begins from a player's-view. Finely- detailed Ping-Pong paddles hover at each end of the table, held by invisible players. (It's a bit unnerving to see the paddles flip to strike the ball, rotated by phantom wrists.) Like Air Hockey, Indoor Sports' Ping- Pong allows players to switch sides after each game. The Amiga version of Indoor Sports lacks a feature com- mon to versions released by Mind- scape on other machines: "side-view" play mode. Reading between the lines of the disclaimers in the documenta- tion ("Select SIDE VIEW only when you and your opponent are accom- plished players ready for a new challenge"), I'm not sure we're missing much. Of all the Indoor Sports games, Ping- Pong offers the greatest control of player options. By distributing "Power Points" over various player attributes (such as Reaction Time and Endurance), you may "create" players with particular strengths and weak- nesses as is often done in role-playing games. Though a thorough simulation, I found Indoor Sports' Ping-Pong less engaging than the other games. Overall, Mindscape has turned out a fine, playable package. Besides strict attention to the details of each event, the Indoor Sports games include the little slips and traps that sometimes befall the unwary {or the unlucky) in real life. For instance, if you release the ball too soon on your approach to the foul line in Bowling, it hits your foot. In Darts, thrown darts occasion- ally hit one of the wire circles dividing the target, striking with a metallic click and falling to the floor. A flubbed serve in Ping-Pong sends the ball dribbling lamely across the table and off the side. As 1 said, I'm no great fan of comput- erized sports, but Mindscape made me a believer. Check out Indoor Sports — you won't be disappointed. SUPERSTAR INDOOR SPORTS Mindscape $444 Dundee Road Northbrook, IL 60062 (312) 480-7667 List price: $49.95 GraphicB! Good Playability; Very good Sound: Precise Copy protectionf Disk-based Overall: Four suprisingly good simula- tions — Bowling, Darts, Air Hockey and Table Tennis. 1 to 4 players SYSFONT New fonts for your CLI and workbench. 10 fonts, 5 sizes. Fully transparent. Compatible with most text editors. Order now! Only $24.95 Send check to: erawarc POBox 10832 Eugene, OR 97440 Inquiries welcome! BIX: jbaron Back in the formative years of home videogaming, Activision made its name by pushing more color and detail out of the modest Atari VCS than anyone thought the machine was capable of (Atari showed its corporate gratitude by slapping Activision with a massive lawsuit, which was settled out of court — but that's another story). In the years since, Activision has sus- tained its reputation by producing a string of colorful best-sellers for a wide range of computers. Such Amiga titles as Hacker and Tass Times in Tone Towm show how far Activision has come — in many ways — since the old ROM-pack days. Activision's recent release, Gee Bee Air Rally, is in some ways a blend of the old and the new. For the uninitiated. Gee Bees were small, single-seater prop aircraft with stubby bodies and short wings, engine and fuel tank, that flew air rallies throughout the 1930's. In a decade when the average winning speed at Indianapolis barely squeaked into three digits, the Gee Bees' low-flying antics at speeds that sometimes topped 250 miles per hour were as close to Warp Factor 1 as anyone had seen before. (continued) Amazing Computing V3A ©1988 19 In Gee Bee Air Rally, you gain points by completing levels consisting of four courses each. The fotirth course of each level is a special event; these events alternate between a bal- loonbusting contest and a slalom race. The documentation claims each level is progressively more difficult, though the increase is subtle, indeed. The main game screen consists of your view from the Gee Bee's cockpit; the top half of the screen looks out the canopy; the bottom half shows the plane's sparse instrumentation. Don't sweat the instruments — this is strictly seat-of-the-pants flying. Press the fire button and the plane's engine 'k\c\'s over with a satisfying sputter (I wonder who's lawnmower was digitized for that sound effect?) — and you're off! The main portion of the game is basically Pole Position with wings. You're racing against other planes, but your main adversary is the clock — you have a limited time to complete a course. Unlike Pole Position, Gee Bee takes place in three dimensions, so if you can't get around an adverser)', you can always attempt to fly over or under him, skimming so low that your wingtip practically meets its own shadow on the turns. Of course, such a maneuver has its risks — you're allowed a friendly tap or two on competing aircraft, but too severe a collision forces you to bail out (I thought you said we were skimming the ground! — Shut up), which can lead to any of several amusing scenarios on the ground. The slalom event is basically a vari- ation on a common theme: fly an "S" course between different-colored pylons. The balloon-bust is a little more challenging; you must track the tethered red balloons while avoiding the green road signs, or it's parachute- time. Intermission screens reward successful completion of each level. There are four different intermissions, and when you finish the fourth level, the last intermission screen displays "THE END." Ahh, but it's not. Gee Bee lets you play until you twice fail to complete a course within the allotted time. After 'THE END," gameplay resumes at the next level. The top 15 scores may be saved to disk. Gee Bee's greatest strength and weak- ness is its heritage. Activision made its early reputation on flashy, playable, but basically simple games. While Gee Bee's arcade-quality graphics and sound match the high quality of Activision' s previous Amiga titles, its gameplay barkens back to the old Atari VCS ROM-packs. After the first few rounds of chortling in delight over the Dopplered VRRRROOOM of competing planes as they winged past my aircraft, 1 found myself wondering, Where's the beef? Strategy can be staled in one sentence: stay within the boundaries, fly low, and don't bump into anyone. And that's the game. After playing a few levels of Gee Bee, you're ready for something new. What Gee Bee Air Rally does, it does well, but the game lacks the staying power needed to keep veteran gamers coming back for more. Designer Steve Cartwright has produced a good game for casual players, family get-togethers, and kids. GEE BEE AIR RALLY Activision P.O. Box 7286 (415) 960-0410 Mountain View, CA 94039 List price S39.95 Copy protection: Disk-based Graphics: Bright Playabilily: Average Sound: Lawamowers at 4 o'clock! Overall: Pole Position with wings. 1 player "Have you tried climbing in the casket? Don't." "How do I bet on the rat races?" "Where do I get the eye to complete the recipe?" These amd other such comments on local bulletin boards were my first indication that Magnetic Scrolls' Guild of ThieiKs is not your average game. But then, anyone who would expect the ordinary from the perverse minds that created The Pawn is simply not paying attention. Guild of Thieves is alternately frustrating, exhilarating, and surprising — and a heckuva good play. Though the game comes with a standard play guide, the main docu- mentation is a 40-page magazine titled What Burglar?, a trade publication of sorts for The Worshipful And Partially Honorable Guild of Professional Nocturnal and Surreptitious Entry And Removal Operatives of Kerovnia, Get My Drift?; a.k.a., the Guild of Thieves. The feature story in this issue of What Burglar? describes how a corrupt judge — annoyed at being constantly called to work because the ineptitude of local hooligans — determined that the answer was organizing the criminals into a professional union. One eventful night, the judge threw a party for the Kerovnian ne'er-do-wells, at which time he described his proposal. When they were told that dissenters would be "shot, garrotted, guillotined, hanged, clubbed, gassed, and electrocuted, then sent to prison for life," the entire party enthusiasti- cally embraced the idea, and the Guild was born. As the game begins, you are a young apprentice thief, aspiring for member- ship in the Guild — but of course, it's not as simple as just filling out an application with four or five "bad character" references. You must prove (continued) 20 Amaung Computing V3. 4 ©1988 other Products from The Other Guys REASON - a professional proofreading system used by universities and writers around the world to analyze and improve writing. (Has helped raise students grades when used faithfully.) $395.00 OMEGA FILE - a REAL data base & mail merge $79.99 PROMISE - the BESThigh speed spell checker. (Even betterthan Zingf^Speli) $49.99 KEEP-Trak GL - general ledger for home or business $49.99 AMT - amortization program MATCH-IT -teaches shapes & colors (preschool) MATH-A-MAGICIAN - add, subtract, multiply & divide $39.99 $39.99 $39.99 Call or write for more Irr format ion. SYNTHIA High Performance Digital Synthesizer A Slate of ihc art music tool which will: Create digilaJ IFF Instruments for use with nearly all music programs! Modifying existing IFF Instruments. Use SYNTHIA on digitized samples to add reverb, wow, and other cnhancementt SOMETinNG FOR EVERYONE: Additive Synthesis - a traditional method which can create almost any type of inslrumenL Plucked Siring Synlhesis • simulates plucked strings . . . right down to the pluck'. Inlerpolalive Synlhesis - a method which introduces the natural imperfections found in insiniments (Insinimcnts such as brass, woodwinds, pianos, etc.) Percussion - build your own drum set . . . create any drum you desin:. Sublraclive Synlhesis - a simple method of creating instruments. Special Effects - inciudes filtering, amplification, phasing, wavcshaping, amplitude modulation, real reverb, and . IFF Music Player - powerful and compact. Now you can enjoy those songs that needed a memoiy expansion before! 32 tracks and 32 lE-T Instruments! Supports chords, tics. etc. IS rr LIVE .. .OR IS rr syntiha? tiO ,^ ^^ .^^ Up to Synthia uses the latest technology to generate realistic sounding instruments and even the new families of Instiumcnls sound real. A real synthesizer on a real computer! Why buy digitiwul instruments when you can SYNTIIIAsite them? <iiC|Cl QQ Requires AMIGA 512K V;7C7,S7S7 Software • A.MIGA is a registered trademark of Commodore Amiga Copyright©1987. TIIE OTHER GUYS THE OTHER GUYS 55 North Main Street Suite 301-D PO Box H Logan Utah 84321 [BOI] 7'53-7B2a Amazing Computing V5A ©1988 21 Give Your Amiga Control Of Your House! Program 123 Times For 256 Lights & Small Appliances Over Existing House Wiring Using The X'lO POWERHOUSE SYSTEM & YOUR AMIGA Plug Lamp Into X-10 Module, Plug Module Into WallsockeL X-10 Computer Intcrrace & Sortwarc: $45 + S3 s/h Software Only: $20 + $1 s/h SPECIFY AStO/IO(l(l/2000 * pull Inluitiaa Inlclficc ■ iDlclfuc RcrmviUe plum ' Sivc Jt Reel]] Ev^ Hlcc ScTu] Pan After ^r^^tnamn^ I 727 Parkview • Redlanas, Ca • 92374 (7M)794-531 1 your mettle. You find yourself in a small dingy with the Guildmaster, whose instructions are clear — get out there and steal anything that isn't nailed down. No, it didn't sound like much of a premise to me, either. Well, get ready for a ride. Because if there was any doubt. Guild of Thisves firmly establishes Magnetic Scrolls as the RoUs Royce of adventure gaming. 1 can't say much about what ensues without giving away the story; suffice to say that between you and member- ship in the Guild lie such diverse obstacles as a deadly rainbow ma.ze, a multi-level abandoned temple, a bed of hot coals, and a wine cellar full of rats. You will have to outwit a poisonous spider, a hungry macaw, and a wary gatekeeper. That's only a fraction of what you can expect, but you get the idea. Like The Pawn, GuiM of Thieves is primarily a text adventure, supplii- mcnted with scores of colorful graphic screens. The graphics are a welcome addition to the game, but you still need to make maps as you go to stay oriented. Guild of Thieves has the kind of features that have become standard for text adventures: the option to print a copy of an adventure as it is played, save a game in progress, and set the program for brief, normal, or verbose descriptions. Its ability to understand English sentences is as good as — perhaps even better than — anything Infocom has done. What sets Guild of Thieves apart are features not common to adventure gaming : simple but thoughtful additions like the ability to choose between standard 80-column text and a large, easy-to-read custom font. Sight-impaired players can use the "SPEECH" option, which uses the Amiga's speech synthesizer to read the game as it is played. There is an "EXITS" command that lists every exit from your current position, and you may assign frequently used commands to the function keys. My favorite command — one that really takes the tedium out of moving from place to place — is the "GO TO" command. Let's say you're at the bottom of a cave, and discover the key to unlock the jewelry box in the master bedroom of the castle, twenty- odd moves away. To get to the master bedroom, most games would force you to enter every move from one point to the other. To reach the your destination in Guild of Thieves, all you have to do is enter "GO TO THE MASTER BEDROOM." Barring obstacles in your way (you can't use GO TO to charge past the fire- breathing dragon), you will be trans- ported by the most direct route to your destination. If that route takes 20 moves, it will still count as 20 moves against your final score, but especially in later stages of the game, GO TO saves a lot of time. Unlike some companies that gouge befuddled players a few bucks for hint books, Guild of Thieves' documentation includes a "hints" section. But there's a rub — the hints are encrypted. As in The Pawn, Guild of Thieves' hints begin with a question — "Why Does The Mynah Bird Do Nothing But Squawk?", followed by a long string of two-character jumbles — "tm o5 7s ye", etc. This keeps players from inadver- tently stumbling across a solution and ruining the challenge. You can get a hint if you get stuck, but it's quite a pain — anyone who's ever typed in a hexadecimal machine language program from a magazine will recognize the feeling immediately. This makes getting hints hard enough that most people will turn to them only as a last resort. I admit some ambivalence toward text-gaming, but GuiM of Thieves has managed to steal from me more than its share of late-night hours. It is challenging without being mind- numbing, and its convenience features let you spend your time cracking the game's puzzles, not trudging through the game's mechanics. Well done! GUILD OF TfflEVES Firebird Ijcenaees, Inc Box 49 Ramsey, NJ 0744* (201) 444-5700 list price $44,95 Copy protection: Documentation-based Graphics: Rich and varied Playability: Very involving . Sound: None Overall: Who cares if crime pays when it's this much fun? Infocom, the Cambridge-based com- pany best known for such classics of interactive fiction as Zork, Witness, and the Enchanter trilogy, has done it again. The Lurking Horror is a Lovecraftian horror story set in the present, at the unlikely venue of George Underwood Edwards (G.U.E., pronounced gooey) Institute of Technology, a high-tech haven for assorted computer nerds, geeks, squints — and you, of course. (continued) 22 Amazing Computing V3. 4 ©1988 TAKE A DRIVE INTO TOMORROW Tomorrow's disk drive is here today. From CALIFORNIA ACCESS™ comes the CA-880, a powerful new 3 '/^ " disk drive for all Amiga® computers. This highly reliable disk drive formats a 3 '/z " double-sided, double- density diskette for 880 kilobytes of storage. The CA-880 is fully compatible with the Amiga 1010 disk drive, but offers much more. The CA-880 is half the size, is considerably quieter, and has an extra long cable. The CA-880 also has a connector that allows you to attach an additional disk drive. So why wait until tomorrow for what your computer needs today. The CA-880 is yours for only S229.95 (suggested retail price). For more information call (408) 435-1445, FAX (408) 435-7355, or write to Logical Design Works, Inc., 780 Montague Expwy, #403, San Jose, CA 95131. Sx4r ACCESS TM Vour Accns to ihc Future Amiga i! a rrgljtcixd rradcm^ark of CommixLotcAml^. Inc. CALIFORNIA ACCE5S and CA-SAO arr mdcmarks ot Luftkil Dnign Woiks, |nc Project Disk Special RAM Tools "^WBEXJTRAS by Peter Dunlap SeePlcture LoadPicture UnloadPicture Isn't It time you got the most from your Amiga? ^ Now. "WBExtras" is here and is specifically designed to enhance operation of the Amiga by the "New User" as well as the "Seasoned Programmer". For the Amiga User. . . Use of New Wofkbench Menus, "RAM Tools" and "WBExtras" provide access to ANY Workbench Too! from tfia Worktiench Menu and allow 'Multiple Icon Selection" without the use of the "SHIFT Key". Also, "New Execution Modes" permit a "Single Loading" of Workbiench Tools for Multipte Task Execution. This results in "Optomized Memory Allocation" and "Reduced Disl< Thrashing". For FULL System Memory, WBExtras will "PolitelyRetire" and RELEASE ALLO- CATED MEMORY WITHOUT RE-BOOT. As a BONUS, several New Work- bench Tools are included (See Menu). For the Amiga Programmer. . . WBExtras includes SOURCE CODE in "C" and "AmigaBASIC" for Workbench Tools using a NEW Programming Technique which provides "Optomized Memory Utilization". "Inter-Program Communication", and "Disk Access Queing". Lynn's Luna S3995 SVSfEM INNOIfflllllNS Plus 3.00 (or Shipping Colorado Res. Add Sales Tax P.O. Box 1308 Canon City, CO 8121 2 ^^1 303 275-5858 L^^ll Amiga & AmlgaBasIc Workbench TM ot Commodors ■ ■ 'Dealer Inquiries Invited" Amiga, Inc. And Something Else : deep within the forgotten recesses of good old G.U.E. lurks a creature as vile and repulsive as anything in the Cthulu Mythos. First stop: the documentation. As with all Infocom games, a quick perusal of the docs is time well-spent. Lurking Honor comes with a technical manual to acquaint newcomers with the finer points of text adventuring, a copy of G.U.E. Tech's Guide for Freshmen, a student ID, and a festive plastic centipede that sticks to your monitor screen to set just the right mood for what's to come. Eeeeuuuuuu ... The centipede is the least of your problems. Your most pressing concern as the game begins is a Classics paper due the next day; you log in to an available computer in the terminal room and attempt to edit your paper... but what's this? Scrambled directories have replaced your work- in-progress with what looks like the class syllabus for Feed-Humans-To- The-Beast-101 ... whereupon you lose consciousness and become lost in your computer in a whole new way ... But let's not give any more away, shall we? Heh, heh, heh. Lurking Horror marks a new feature for Infocom games: sound. You get your first taste of this innovation early in the game, adding an eerie presence to a dream sequence which foretells terrors to come. Perhaps I'm just overly suggestible, but it worked on me — I found myself actually checking doors and looking over my shoulder because of a computer game. Using sound to supplement a horror story was a savvy move on Infocom's part. Sound moves in under the conscious level, calling up associations and painting mental images are unique to each individual. The masters of old-time radio drama knew this well, and used it to their advantage. No graphic artist can ever paint the horrors conjure in your own mind. Lurking Horror's sound is most effec- tive in those places where it supplies a background to continuing action; it approaches gimmickry when used to punctuate a climactic moment with a scream, and the long disk accesses preceding each sound effect betray any surprises. In any case, the sound is an option. If you like it, it's there. If not, you can toggle it off. If you are new to interactive fiction, this game is probably not the place to start. Lurking Horror is tough. At- tempting to tackle it without thorough mapmaking skills is a virtual invitation to become Purina Monster Chow, Even with a good map, your ingenuity will be tested by some of the nastiest challenges since Infocom's Starcross required players to recognize molecu- lar structures from a text description! It is recommended that you pause frequently to save games in progress. With Lurking Horror, author Dave Lebling (Zork, Suspect, Spellfareaker) again proves himself to be a master in his field. If your tastes run toward the horrific, this one's a must-have. THE LURKING HORROR Infocom 125 Cambridge Park Drive Cambridge, MA 02140 (800) 262-6868 Liat price $39.95 Copy protection: Documentatlon-baeed Graphics: None Playability; En(grosg)ing Sound; Creepy Overall: A first-rate interactive chiller that will have you cringiiig in your Nikes. And you thought Grues were bad! •AC- 24 Amazing Computing V3 A ©7988 A. A4 A. Z I N G P R by Keith Conf orti AC Art Dircrtor TIME BANDI A shoot-cm up arcade extravaganza! Science fiction genre games are proba- bly the most common arcade games on the Amiga market today. Usually, if you've seen one, you've seen them all, but there are exceptions. Time Bandit, a new breed of science fiction game from Microdeal, explores boundaries of size and cleverness that most other current games just cannot compete with. Time Bandit is a huge, massive, awe- some (it's BIG) combination of other arcade games, board games, movies, music, history and fantasy. You might say it's a "greatest hits" collection from the popular-entertainment culture we have all grown up in. Time Bandit borrows game themes from Pac Man, Space Invaders, Centipede emd others, like the board game Chutes and Ladders (my childhood favorite). The game is also flavored with humorous reminders of Ghostbusters and Star Trek, There is even one Timegate known as "Hotel California"! Time Bandit steps into yesteryear to recall the glory days of arena fighting in ancient Rome, the struggle for power among the kingdoms of the Middle Ages, as well as the evil curses of the Great Pyramids. The story is something H.G. Wells would be proud of. These seemingly unrelated, frivolous scraps are wound into an exciting shoot-em-up race against time. About all that's missing is a good ol' American Western — but Time Bandit's got that, too! It's called, get this. Ghost Town. Even James Arness would be a little wary of stepping foot in this shady place! "What is this," you say, "a potpourri of worn out, overused, and dated items which everyone has already seen too many times?" No! There is a plot here, and the basis for the game is daring and original, even if some of the graphics and ideas are not. You must conquer each of the territories accessible through the Land of the Timegates. It may sound simple and easy, but there are sixteen Timegates to test your skills and adrenalin. The Adventure Begins! As the game begins, you are in the land of the Timegates. From this starting point, you may enter any area of time: the past, the present, or the future. The creators. Bill Dunlevy and Harry Lafnear, have also thrown in a couple of extra Timegates to explore, an outer space Twilight Tjone and Shadowland, and a great version of Pac Man in which you are continu- ously stalked by ominous shadow- creatures. Each lime territory has three unique Timegates which must each be conquered, and there are five time territories in all, plus Shadowland. To reach a final triumph in the game, each Timegate must be rid of its curse or secret. In order to undermine these clandestine dealings, the Bandit must be victorious on each level of play in a Timegate, There are four major levels, each with four sublevels. Let's see. That's sixteen levels per Timegate and there are sixteen Timegates, which means you need to conquer 256 levels to win! All these victories are a lot to do to win a simple game, but each place is a story and a game in itself. Scenario of a Timegate Aboard the Excalibur (a downed spaceship that looks remarkably like that other famous spaceship, the Enterprise), you must solve a mystery surrounding the abrupt disapp>earance of the flight crew and the reason for the craft's downing. Beware, though, a very hostile life form has invaded every corner of the Excalibur. (continued) Amazing Computing V3.4 ©1988 25 At Castle Grejonoon, an evil sorceress has left King Quark powerless after kidnapping Kelveshaan, a character who kept the kingdom pure. There is a mighty reward to be won for finding Kelvesh- aan, but beware the hands his magical powers fall into! Poor King Quark has also lost the Crown of the Universe, and at King's Crown, you have the chance to regain it for him. Only this time, your adversary is a ruthless warlock who holds the crown for ransom. fmm CVSITS: 2ql0 adventure. But for those who love to get into all the spirit and action a game can offer (you know, those people who play computer games until the wee hours of the morning and eat all three meals in front of the moni- tor). Time Bandit will defi- nitely be the bread for their butter. THE TTnEGirreJ? The single player live action window could be larger, but it docs not hamper the game at all. slightly Each territory of the Timegates has a different story to follow, but I won't go into those here. What 1 will go into, though, is some of the fine detail in this arcade extravaganza. Bits and Pieces Blast, blast and blast again! The Bandit has an unlimited number of missiles he can fire from his hand-held cannon, so shoot everything that moves! There are more evil mons-ers than you can shake a stick at; lumber- ing cavemen, roving lions, floating eyeballs, man-eating spiders, stalking Cyclopes, and too many others to describe in a single paragraph! I have always hated playing a game where all my characters are killed, because I only had three or, maytso, four lives, and the game ends. Time Bandit solves that problem by giving each player at least a dozen lives. Believe me, you'll need every one of them if you are going to win anytliing. During each journey, you vrill come across all kinds of trinkets and rewards. These treasures will add to your fortune (measured in Cubits), so be sure to amass aU that you can get your hands on. The race against time is even more challenging when two Bandits are vying to achieve the same goal. Two players can work in tandem to conquer more Timegates, or they can shoot it out to eliminate the weaker of the two. The screen is split in the two-player mode, so each player can monitor the moves of both. The effect is good, but it does make a small active window for each Bandit. Remember, I said Time Bandit is big, really BIG. But is it too big? For some, I think it will be, because they won't have the time or patience it takes to really get involved in the Time Bandit is not flawless. There is no musical score to accompany any portion of the action. It's possible that, with everything already stuffed on this single-disk game, there was just no more room for music. The action window for the Bandit is also rather small, considering how many meanies are sneaking up on you from all sides. The screen is split in half and leaves too much room for status information. I think it would be much better to have a larger action window. Overall, though, these minor criticisms are far outweighed by the game's originality, wit and compelling size. 1 think it will be a long time before we hear about anyone completely succeed- ing at Time Bandit, and, somehow, I think Bill Dunlevy and Harry Lafnear meant it to be that way. •AC* cubits: cubits: o THE T1HEG3TES The two player mode is more difficult to function in because it's tough to sec if the 'Tjad guys" are sneaking up on you. 26 Amazing Computing V3.4 ©1988 A M. A. Z I M G REVIEWS AudioMaster by Brendan Larson In this day of brilliant 3-D paint packages and animation software, it's easy to overlook another quality the Amiga possesses — sound generation, specifically digitized sound. Several of the Amiga sound digitizers on today's market have been hampered by the lack of a powerful, "user-friendly" digitizing software environment. However, Aegis' AudioMaster pro- vides a friendly environment and more! Sampling AudioMaster, written by Australian Peter Norman, works with all sound digitizers on the market and deals with almost every type of sound data processed and stored on the Amiga. (This will be discussed in more detail later.) One of the most exciting and unique features AudioMaster offers is the ability' to sample sound in real- time and "pass" the sample to the Amiga audio jacks almost simultane- ously! As a sample is monitored, a small window displays the wave pattern being formed in real-time (like an oscilloscope). This helps the user because he/she can tell immediately if a sound is being sampled at too high a volume (causing distortion), or if the input volume needs a boost. To give you an idea just how useful monitoring in real-time can be, consider a case where you want to sample a "slice" of music from a radio station. What is played on the radio is not under yotir control; you need a way to "monitor" the radio until your favorite song is on the air. Normally, you would have to provide an external ...works with all sound digitizers on the market and deals with almost every type of sound data processed and stored on the Amiga, output for this. With AudioMaster, it is easier. Simply bring out audio cables from the back of a radio tuner or amplifier system and attach them to the "audio input" of the sound digitizer (normal procedure for sampling). From there, you can use separate standard audio cables and connect them to either the Amiga Monitor (audio input), or run them into the audio "auxiliary input" on the back of the amplifier system. Presto, monitoring in real time is as easy as a click of the mouse! (Of course, another application is the emulation of the ever popular "Mr. Microphone," where audio is passed out of the Amiga in almost real-time.) When you use AudioMaster's custom- designed sampling software^ notice that the length of the recording is not limited to 512K Chip RAM:, as in the past. You can now record to your heart's content, or until you fill up your reserve of Fast RAM:! With 2 Mb of Fast RAM;, I was able to record a sample nearly 1.5 minutes long. AudioMaster allows sampling at two different rates: "Sample Lo" (used primarily for sampling sounds to be used later as "instruments" in one of the many popular music programs available); or a "Sample Hi" which will consider the capabilities of your particular system (e.g., amount of Fast RAM:). Editing Editing is as important as sampling. In fact, editing sound waves usually consumes the most time in audio production. AudioMaster not only loads any previously created IFF instrument or sound, it also loads any type of raw data. So, if you want to find out what your latest IFF picture sounds like, you can load it in. I have tested AudioMaster with nearly every type of sound data, including NewTek's favorite — Rbonachi Com- pression technique. I doubt there is any Amiga sound file that cannot be loaded into AudioMaster's Edit Window. But watch out! Due to the vast array of sound effects that can be applied to your sound with Audio- Master, there's no telling what the end product will sound like, once you load the desired sound into the Edit Window, Within the Edit Window there's a vertical bar that acts as a placement marker on the waveform. It is quite easy to select any part of the wave- form (sample) and listen to a portion of it. The portion can be stored into memory by a Copy command. It can also be removed from the entire waveform and stored into memory by cutting it and then pasting it into another area of the waveform. TTiis is useful for repetition of certain sounds (e.g. A Max Headroom effect). Other features include the Echo feature, which allows selection of the length of the echo, the total number of echos, and the echo's decay rate. Also, if a crescendo or decrescendo of a portion of the sample is desired, AudioMaster has a Volume percentage control (not to be confused with the Volume control for the speaker system), causing a "ramping" of the (amtinued) Amazing Computing V3.4 ©1988 17 ADD TO THE POWER OF YOUR PROGRAMS WHILE YOU SAVE TIME AND MONEY! CBTREE does it all! Your best value in a B+tree source! Sava programming lime and eltort. You can develop exciting fJe access programs quickly and easily because CBTREE provides a simple Sut powefful program interface lo all B+lree operaiions. Every aspecl of CBTREE is covered thoroughly in Ihe 70 page Users Manual with compleleexam pies. Sample programs areprovided on disk. Gain flexibility in designing your applicallons. CBTREE lets you use multiple keys, i/ariabie key lengths, concatenated keys, and any data record size and rei:ord length. You can customize the B+iree parameters using utilities provided. Your programs will b« using Ihe most efficient searching techniques. CBTREE provides the fastest keyed file access perlormance. with multiple indexes in a single file and crash recovery utilities. CBTREE is a full function implementation of the industry standard B+tree access method and is proven in applications since 1984. Access any r«cord or group of records by: •Get first • Get previous ■ Get less than • Get greater than • Get sequential block • Get all partial matches ■ Insert key and record • Delete key and record • Change record location • Get last ■ Gel next • Get less than or equal • Get greater than or equal • Get partial key match ■ Get all keys and locations • Insert key ■ [Delete key Increase your implementation productivity. CBTREE is over 6,000 lines ol tightly wntien, commented C source code. The driver module is only 20K and links into your programs. ^ife rsSACOCK sv^TgrTns re Port your applications to other maehlns environments. The C source code that you receive can be compiled on all popular C compilers for the IBIvl PC and also under Unix. Xenix, and AmigaDosI No royalties on your applications friat use CBTREE, CBTREE supports multi- user and neivi/ork applications. CBTREE IS TROUBLE-FREE, BUT IF YOU NEED HELP WE PROVIDE FREE PHONE SUPPORT. ONE CALL GETS YOU THE ANSWER TO ANY QUESTION! CBTREE compares favorably wilfi otfier software selling at 2,3 and 4 times our price. Sold on unconditional money-back guarantee. YOU PAY ONLY S99.00 - A MONEY-SAVING PRICE! "OHI VarlBble length records. TO ORDER OR FOR ADDITIONAL INFORMATION CALL (800) 346-8038 or (703) 847-1 743 OR WRITE Peacock Systems, Inc., 2108-C Gallows Road, Vienna, VA 22180 sound. A simple pull-down menu allows the sample to be played backwards, or mixes two different waveforms together to get strange and unusual effects. In fact, freehand editing with the mouse can alway; be executed on a particular wavefornt. This is useful for creating bizarre instruments to be loaded into a music program. For preparing an instrument, Audio- Master allows the continuous looping of a waveform. However, this mechanism is limited. For instance, I was not able to loop samples recorded at a high sample rate, nor those lasting over 10 seconds. This makes sense, since most instruments used in a music package usually last only a few seconds. Filter. The effect of the Low Pass Filter is to "tone down" a sample. One word of caution: the Low Pass Filter works well as a software toggle to the high frequency cutoff filter on both the Amiga 500 and 2000 mother- boards, but a hardware "hack" is recommended (although not explained in the Audio Master manual) for owners of the 1000 machine. The Edit Window is not restricted to displaying the entire waveform at once. If you need to get to the niliy- gritty of a wave, simply select the desired portion and "Zoom In" or "Zoom Out." If the sample does not have the proper pitch, "re-tune" the sample with AudioMaster's special tuning menu. I had fun with this at Halloween because it was quite simple to record a person's voice and lower it by several octaves, creating a mon,ster- like sound! If you're afraid of damaging a sound sample while editing or experimenting with it, a Snapshot will end your worries. When you take a Snapshot , you can send your waveform to either a hard disk drive, floppy disk drive, or, (if you have tons of memory) to RAM. If you do make a mistake while experimenting, simply Recall the Snapshot, and your original is back again! Finally, if you need a treble control to alleviate aliasing (distortion), play back a sample using a special Low Pass Conclusion AudioMaster was written in Machine Language, which makes it very power- ful and fast, and the 72-page manual is documented quite well. If your par- ticular applications require manipula- tion of any Amiga sound generation, digitization, or audio production, don't pass up Aegis' AudioMaster, which retails for SS9.95. Brendan Larson WeatherConnect, Inc. Ojicago, Illinois. 28 Amazing Computing V3.4 ©1988 AA1AZ7A/G R E V I E W S MucSic MoucSe By J. iHenry Lozuengard I first learned about Music Mouse from a review in Ear Magazine (June '86). I was so interested, I actually bought a copy — even though I didn't have a Macintosh to run it on! (All right ... I gave it to my brother to run on his Mac Plus.) Now more than a year has passed, and after many beta versions and creeping features, the Amiga port has been released, mar- keted by Opcode Systems as their initial entry into the Amiga commu- nity. What a port! Music Mouse has been adapted and expanded in its Amiga version, with much attention paid to Amiga-related concerns such as fine full-color graphics, multitasking, and IFF sound files. It even installs itself as a module in Mimetics' SoundScape's patch panel! So what is Music Mouse? "You can't play 'Home on the Range' with it," says author Laurie Spiegel. Music Mouse is a high-level software-based musical instrument. If you take a wide view of music, you will realize that Music Mouse itself is a composi- tion (somewhere in the genre of "process music"), it reacts to the mouses position and a few dozen parameters to either play internal sounds or send MIDI data. More precisely, the mouse position selects a chord voicing from any of seven built- in scales, then plays it according to settings for arpeggiation patterns, decay length, loudness, and MIDI. The aforementioned scales are Oiro- matic. Diatonic, Middle-East, Pcnta- tonic, Fourths, Octotonic and Non- Quantized; they may be transposed into any key. The patterns interact with the mouse position and pattern transformation settings to produce four notes. The selected notes are then ordered into a short musical phrase, and finally, played on the internal voices, on MIDI devices, or both (or neither — one may mute any or all of these voices). The result is a flow of chords or arpeggios controlled by mouse movements. Music Mouse uses the computer keyboard as a control panel, which means you don't have to fish for menus or gadgets very often. The menus clue you in on the various functions, and a copyable cheat sheet is provided to help you out until you memorize the keyboard layout. The manual tells you about each function in detail, and explains the reasoning behind the various groupings of keys. AH the menus, by the way, sport drop- shadowed lettering, which I recom- mend to all developers. If you acquire other software packages, or new MIDI synthesizers, mixers, effects racks and what-not. Music Mouse grows in power. It makes an imaginative MIDI controller, creating understandable, unexpected effects while you shape the general contours of the composition. The program is quite accommodating and obviously carefully designed: the manual even gives a few tips on how to take advantage of certain synths' power, and it has menu entries which accom- modate the quirks of the C2-101 and the Mirage. MIDI is accommodated via a serial-to-MIDI converter, such as the ECE MIDI, MIDI Gold, or Mimet- ics' interfaces. The Amiga's internal sounds need not be left out of the orchestration. Music Mouse uses standard IFF 8SVX formatted files with no funny extensions (i.e. ".sample" or ".snd" ) as internal sound material. The program comes with 24 samples in its Sounds directory. The four Amiga voices may be independently loaded with any of these sounds, using a snappy file requester. You can use sounds made for other Amiga music programs with Music Mouse, and pre-select the ones to be loaded when the program is started. As you discover the effects certain keystrokes have on various sample combinations, you will find that even without the aid of MIDI, the Amiga can do its awesome best. And thanks to multitasking, you can run a slideshow or animation on top of it while it plays (memory permitting). The manual, also written by Laurie Spiegel, is very thorough, and unlike some other ports I have seen, it's (.amlinmd') Amazing Computing ViA ©1S88 2$ brand new and Amiga specific. Since the Amiga version is currently the more powerful of the two, this is helpful. (Mac readers take heart! Your version will be upgraded next, with even more features and controls than before!) The manual also covers some aspects of the philosophy behind Music Mouse, and by extension, the whole subject of computer-aided composition in real-time. You can use it to ear-train yourself to find the movements underneath the melodic patterns and harmonies found in other music. One of the very big problems with computer-based performance is that it is not interesting to look at. Often, the operator comes out, turns it on, and assumes a grim visage while the audience squirms. Amiga Music Mouse pro\'ides an eight-color diiplay which can be "played" in synch with the music. For example, the colored bars may be "stamped" on the screen (Deluxe Video terminology) find color cycled. Each of the 8 colors may be sec interactively from the keyboard, Turning down colors 6 and 7 removes the logos and keyboard images, leaving you to groove on the Video Vibes. While not as psychedelic ai; Polyscope, the effects give audiences and performers something to look at and hum their mantras to. Admittedly, the mouse is not an ideal musical controller. It has only two degrees of freedom. Even when augmented by the keyboard, it takes some practice (as all instruments do) to understand which gestures cause which music events. On the other hand, since my "mouse" is a modified trackball, I can control it with my leet while playing some other instrument. I can also report that, using internal sounds only, it runs perfectly from a Kurta Series 1 digitizing pad (the Scries 1 uses the serial port). Because of the intentional randomness of sequences, its output is a good basis for improxasation. Music Mouse is copy protected, using the original disk as a key. Even Marauder H won't copy this key successfully, so you're out of luck if you want to run uninterruptedly from a RAM: or hard disk. Music Mouse (Mac) has been widely pirated, and the two authors could really use the royalties. If you make a copy for customization purposes, be sure to rename the disk so Music Mouse won't confuse it with the key disk, and subsequently become Music Guru. 1 have found two inaccuracies so far with the program and manual: 1) The Title screen has the old address for Opcode Systems, which I will not discuss here. 2) The method for pre- loading sounds is slightly more powerful now. Music Mouse looks into the S: directory (where Startup- Sequence hides) for a file named MMInitSounds. This file contains (in order) the directory name for the Initial sounds on the top line, then the name of the sound file to load for each of the four voices, each on separate lines. You can get a clue to this file's existence in the S: directory if you use the Save gadget in the Amiga voices requester. It would also be nice to save and restore entire configurations in a file, should you happen upon the Lost Chord. I mentioned that it can install itself in SoundScape's Patch panel, where you may connect it to the 'Tape Deck" or rcchannel its MIDI output. Music Mouse either transmits all information on channel I or puts each voice on channels 1 to 4. It can also take its "Clock ticks" from SoundScape, and by extension, from an external drum machine. When Sound scape is activated from Music Mouse, the Mouse screen glides down to reveal the Workbench-based SoundScape windows. If you connect your MIDI out to its own MIDI in, you can fool a concurrently running copy of Deluxe Music into reading "MIDI Events" and insert them into a human-legible score. (This trick comes directly from the manual!) Those with lots of extra memory can run DMCS, Soundscape and Music Mouse simultaneously and patch them together. (Now you know what multitasking is good for!) You can also run Music Mouse with copies of itself, although this makes sense only when using MIDI, since the internal sounds would be used up by the first copy. Those of us with even more memory like to run an infestation of Music Mice. Internally, Music Mouse sleeps most of the time, wakes up to play its notes and find out what's new, and then goes to sleep again. This makes for trouble-free multi- tasking. Music Mouse vrill soon be joined by other programs with similar aims, such as "M" from Intelligent Music and "Hierarchical Music Specification Language" (HMSL), a musical JForth extension from the Center for Contem- porary Music at Mills College (415-430- 2191). It's a little odd that programs like this are surfacing before any com- mercial MIDI patch editors, but it may also mean that the ebb tide in Amiga music software is turning. •AC- Music Mouse {C> 1986-7 by Laurie Spiegel and David Sliver Ust Price: S79.00 Opcode Systems 1024 Hamilton Ct Menio Park, CA 94025 (415) 321-8977 About the Author J, Henry Lowengard is an active member of Amuse, the New York Amiga User's Group, and the author of some half-baked Amiga music software (DXFER,LYR,DRW...), which is available in the public domain. 30 Amazing Computing V3 A ©1988 A A4 A. Z I M G REVIEWS nfnim- Jouo Canadian Version April brings the end of Winter and the advent of Spring. Most people look forward to this time of year, but others dread it for one reason: income taxes. Tax payers have a natural tendency to put off completing and submitting their tax returns until the last moment. Those fortunate enough to receive a refund complete and submit their returns as soon as possible. Which- ever category you're in, you want to complete the necessary forms with minimum effort and complication. For tax-paying Amiga owners, there is good news and bad news. The good news is help is now available with Amiga-Tax from Dalamax Research. The bad news is Amiga-Tax is only available in a Canadian version. Datamax had hoped to release a U.S. version, but changes in tax legislation and forms made this impossible. However, they have already started working on an American version of Amiga-Tax for next year's returns, Amiga-Tax has some unique features, both as a tax program and as a piece of Amiga software. First of all, it is WYSIWTGG— not "what you see is what you get," but rather, "what you see is what the government gets"! The graphic power of the Amiga is used to display an exact on-screen representa- tion of the layout, logos, fonts and colors of all the tax forms. by Ed Bercovits When you start the program, you are presented with a blank T4 slip on the screen. You just take your real hardcopy of the T4 and transcribe the amounts for earnings, deductions, tax deducted at source into the same boxes on-screen. If you have more than one T4 slip, simply invoke a new blank slip and insert the additional figures. When you are finished, Amiga-Tax sums all the appropriate boxes and automatically copies the totcds to the appropriate locations throughout your tax return. ...a solid program which eases the burden of tax preparation and greatly reduces transcription and calculation errors. Amiga-Tax is page-oriented, even for multi-page sections of the tax return. To move from one page to another, you must either select the appropriate item from a pull down menu, or use a right Amiga "hot key" combination. Quite often in a tax return, a figure entered on a particular line may be the result of a series of calculations on another page. Amiga-Tax handles these relationships unobtrusively by updating all interdependent lines. However, when a particular line is the sum of calculations elsewhere, it would be convenient to be able to move quickly to the other page by double-clicking in the entry box for the summary field. Datamax plans this feature for future program updates. Moving around an individual page is very easy and fast. First of all, there is "zoom in-zoom out" gadget on the menu bar which toggles the screen between non-interlaced and interlaced mode. In the latter, you can see twice as much of the page. Given the limited number of colors, the screen flicker is not objectionable. However, with the smaller characters and narrower spacing, 1 found it difficult to select the correct item on a pull down menu. To move to a particular field on a line, you simply click with the mouse in the field. To move sequentially from field to field, hit the return key repeatedly. A third movement option involves using the menu bar up-down gadget to move the cursor one line at a time for each click of the mouse. Finally, there is a one-inch horizontal proportional scroll gadget on the menu bar. This gadget controls large vertical scrolling movements: the left side represents the top of the page; the right side represents the end of the page. One of the nicest movement features occurs when you try to go beyond the bottom of the page. Rather than stopping, the screen display scrolls seamlessly around and returns to the top of the page. (continued) Amazing Computing V3. 4 ©1988 31 While you are working on your return, you can click at any time on a "recal- culate" gadget to show the "bottom line" numbers of your return: total income, taxable income, federal and provincial taxes payable, etc. When you've completed all your entries, simply turn on your printer, select "print" from the menu, and print out the complete return with your data. At this stage, many tax programs require you to either transcribe the figures manually onto an official form or to insert the form into the printer and hope your alignment gets all the data in the right place. Amiga-Tax's printer format has been approved by the tax department. Consequently, you can simply take your printout, sign it, attach your receipts, and submit it as your official return. Datamax intends to include this capability in their US release. A number of other, more general features bear mentioning. When you open the disk window from the Workbench, you will note one icon to start the program and another icon to install it on your hard disk. Selecting the "install" icon brings up a requester vvindovv, which allows you to sp^ify the path and name of the directory where you wish to install the program. It then completely automates the transfer of the necessary files. Incor- porating this function is not particu- larly difficult, but it eliminates the trouble of the new user having to search through all the directories on the floppy disk to find the files required to run the program, and then transferring these files to the appropri- ate directories on the hard disk. Automated hard disk installation programs are very common on other computers, but virtually non-existent in Amiga software. More Amiga software producers should follow Datamax's example, 1 appreciated the additional memory provided for Amiga owners. Each "page" of the return on the screen is actually an IFF overlay file. Conse- quently, when you move between pages, the program must access the disk for the new overlay. However, there are two menu items in the program which allow Amigas with 1 Mb of memory to move the most commonly used overlays to the RAM: disk. With 1.5 Mb, you can move all the overlays to RAM;, thereby reduc- ing the need for disk access to virtu- ally nil. Again, this is not a difficult programming effort, but it greatly simplifies easy program use. The final feature which caught my eye was the licensing agreement, one of the simplest and most straightforward I have seen for any software product. While it allows you to make copies for archival/backup purposes, the agree- ment goes on to state the following: Amiga-Tax % printer format has been approved by the tax department. Consequently, you can simply take your printout , sign it, attach your receipts, and submit it as your official return. "... you must treat this software just like a book." By saying "just like a book," Datamax means that this software may be used by any number of people and may be freely moved from one computer to another — as long as there is no possibility of it being used at two location at the same time, A book can't be read by two different people in two different places at the same time; likewise, the software cannot be used by two different people in two different places at the same time. From the user's viewpoint. a computer tax preparation program is a highly perishable commodity. While software producers obviously would like to sell as many copies of their program as possible, it is unreal- istic to expect to prevent an individual who has completed his return, from passing the program on to a friend. Datamax should be commended for recognizing reality in their licensing agreement. They should be rewarded by consumer support. Amiga-Tax is a solid program which eases the burden of tax preparation and greatly reduces transcription and calculation errors. At S69.95 Cdn (S56 US) for the program, and S29.95 Cdn ($25 US) for updates, it is a good value, especially when compared to similar commercial programs for other computers. It should be noted that the current update reflected not only new tax code provisions, but also provided additional program enhancements. If you're a Canadian Amiga owner, I strongly suggest you take a look at this year's version of the program. If you're an American, watch for adver- tisements and check your dealer's shelves next year. •AC- Amiga-Tax Canadian Version $69.95 once then $29.95 for yearly updates Datamax Research Corp. Box 5000 Bradford, Ontario Canada L3Z2A6 il Amazing Computing ViA ©1988 MicroBotics means Amiga-Power! Whichever Amiga you own -or plan to buy- we have the expansion you need For the Amiga 2000... HardFrame/2000 Super speed DMA SCSI Interface If _VOur application calls for super-speed un- interrupted access to your harddisk, Hard- Frame/2000 is your answer. This is a high- end, no holds barred SCSI interface that op- erates at bus speeds. With cable pinouts designed for compatibility with low cost Macintosh hard drives, one HardFrame/ 2000 can support up to seven devices. Word-length data transfer, FIFO buffering, true DMA, all mounted on a metal frame suitable for mounting standard SCSI 3.5" drives "hard-card" style (or, if you prefer, cable connected to a bay mounted or exter- nal disk). Available March/April. Suggest- ed List price S329. SB2000 Adaptor Card StarBoard2 Portability Large numbers of MicroBotics Star- Board2 owners have moved over to the A2000. To protect their investment in our technology we've made available a simple, low-cost adaptor card that permits the in- stallation of a "de-cased" StarBoard2 inside the Amiga 2000 (in the first 100-pin slot). When adapted to the 2000, StarBoard2 is stili fuliy functional autoconfiguring memo- ry plus you get access to all the StarBoard2 MultiFunction options- StickyDisk, Math chip, parity or the new SCSI Module. Availa- ble now. Suggested list price is only S49.95. 8-UP! FastRAM Maximum Memory in One SlotI The FastRAM card that every Amiga owner will eventually come to -why limit yourself to the possibility of only two mega- bytes per slot when 8-UP! will take you all the way to the top of the autoconfiguration memory space of EIGHT MEGABYTES ! 8- UP! uses an exclusive MicroBotics- designed memory module, PopSimm, that frees the user to install his own, convention- al DIP-st>'Ie DRAM in standard SIMM sockets on 8-UP!. If you use 256k PopSimms you can install two megabytes on 8-UP!; if you install 1 meg PopSimms, you can install eight megabytes on one card! In either case you can install the memory chips yourself for maximum flexibility and mininum cost. 8-UP! will also accept conventional SIMM memory'. 8-UP! is a power efficient, zero wait state, autoconfiguring design. 8-UP! will be available 2nd quarter of 88. Suggested list prices start at S195. For the Amiga 500... I\/I501 Memory+Clock Half a Meg at a Great Pricel As we are all coming to realize, a 1- megabyte Amiga (at least) is a necessity not an option. When you add the inboard 512k memory and clock module to your A500, make it a MicroBotics-brand, plug compati- ble work-alike. It uses the exact same kind of memory and the exact same clock and bat- tery. And note that just like Commodore and unlike some third-party expansions, we use a long-lived rechargeable Ni-cad bat- tery by Varta- which you'll never have to re- place! Set the MicroBotics clock using the same software (on your WorkBench disk) as you use for the Commodore clock. What's the difference? You get to keep S41 com- pared to the Commodore version. M501 has a suggested list price of only $159. MicroBotics,! nc. Great Producls Since the Amiga Was Born! 811 Alpha Drive, Suite 335 Richardson, Texas 75081 {214)437-5330 SOLD ONL Y THROUGH YOUR AMIGA DEALER Tell your dealer he can quick-order from MicroBotics directly - no minrmum quantity -show him (h/s adi StarBoard2/500 Two Megs and a Choice of Modules The premier memory expansion for the AlOOO is now available on the A500. In a sleek, redesigned case with an independent power supply strong enough to power Star- Board2 and another AlOOO-style Star- Board2, all the power and flexibility of this great expansion device is available to you. Up to 2 megabytes of autoconfiguring, zero- wait state FastRAM, MultiFunction or SCSI module capability for either math chip/ StickyDisk functions or fast SCSI harddisk interfacing. StarBoard2/500 also has a unique LED diagnostic/confidence light to indicate the powered up state of your Amiga and your expansion memory. Another AlOOO style StarBoard2 can be connected to the expansion bus pass-UP (it exits through the top of the case) for a total of FOUR meg- abytes of memory and two modules. Sug- gested list price $495 and up. For the Amiga 1000... StarBoard2 The Expansion Product of Choice The superb memory expansion for the Amiga 1000, still going strong! Up to 2 naega- bytes of zero-wait state, autoconfiguring FastRAM in a sleek, all steel Amiga-colored case plus the capability to accept either one of t(vo daughterboard modules: the original MultiFunction Module or the brand new SCSI Module. StarBoard2 is powered by the bus (up to two StarBoard2's can be support- ed by the AlOOO) and passes it on. Available now; suggested list price $495 and up. MultiFunction i\/Iodule High Tech at Low Cost This "daughterboard" installs on any StarBoard2 (all three Amiga models). It fea- tures a socket and software to support the Motorola 68881 Math Chip as an I/O device (MicroBotics pioneered this approach on the Amiga -now directly supported in the math libraries in the new AmigaDOSl .3). StickyDisk gives you the most "bullet- proof rebootable ram disk -its hardware write protection turns the whole device into a solid state, superspeed disk, alternately, parity checking of StarBoard2 memory can be enabled when extra parity RAM is in- stalled. Finally, the MultiFunction Module carries an easy to use battery-backed clock to set your system time on start-up. Availa- ble now; suggested list price $99.95. StarDrive Module Speedy, Low-cost SCSI Interface As an alternative to the MultiFunction Module, all models of StarBoard2 can ac- cept this new hard disk interface. StarDrive affords you cost-effective, pseudo-DMA ac- cess to Macintosh compatible SCSI drives and other third-party SCSI devices. Fast, easy to install including driver software and disk diagnostics. StarDrive also has a bat- tery backed clock to set your system time on boot-up. Available now. Suggested list price: $129.95 MouseTlme The Port Saving Clock The easiest-to-use, most cost effective implementation of a battery-backed mouse port clock for the AlOOO. MouseTime passes the port through for joysticks or other devic- es. Complete with WorkBench software. Available now. Suggested list of $39.95. 'Amiga' is a registered Irademaik of Cammodors-Amiga. 'StarBoard2', StarBoardZ/SOO', 'HanfFmme/SOOO; 'B-UPf, 'PopSimm; "SlarOrive; and 'MouseTime' are trade names of MicroBotics producls. 9'\^S^'!9Ki::T^i^^- .VTS^iaaiWll ST Wi' Aladdin was expecting light but what he got was magic. Our new software Will also deliver more than expected. • True dBase III data file and program compatibility. • Access Amiga® system routines, to create mixed data/sound/gifaptiics. • dB PRO runs applications faster than dBase III. • Price is hundreds less than dBase 111. CALL FOR FRICIM* Tor information or dealer inquiries: (801) 261-8177 LAMPLIGHTER SOFTWARE, Inc. 3353 S. Main, Suite 197 . SLC, UT 84115 dB Pro and Amix are trademarks of Lamplighter Software Inc. Unix, dBase 111 and Amiga are not AmigaNotes A Back To Basics Look At Sound by Rick Rae CIS (76703,4253) Sound-What If Is And How To Make l\ At Home "Purist digitizers" do rot have to understand sound as long as they acknowledge the limitations of the digitizing system used. For the rest of us, however, having a firm back- ground in the theory of sound makes it easier to mimic traditional instru- ments and modify digitized samples. Sound, according to Webster, is "the sensation perceived by the sense of hearing." We are bombarded by sound 24 hours per day, 365 days per year. Even while lying in bed at night, a time you would think of as quiet, there are sounds — the ticking of the grandfather clock, the hum of your calculator's AC adapter, the gentle murmuring of crickets outside. Tlie closest we can get to real silence here on Earth is in an anechoic chamber, a perfect acoustical sink which absorbs sound before you can hear it. In fact, the human animal is so used to a constant stream of sound that to have it taken away is an unnerving experience. Most people begin to feel oppressed after being in such a chamber for only a very short period. Yet, even here we are not free from sound. When all outside noises are stilled, the sensitivity of the ear adjusts and we begin to hear a gentle hiss: the rush blood through our bodies. Sound, then, is very familiar to us. Yet do we really understand it? Why does a jet sound different at the airport than it does a half-mile away? How can we tell the difference between the voices of two friends? What is it about music that we find pleasing? Sound is created when an object displaces air or another medium and changes its pressure at a rate which falls within the audible range. Tradi- tional musical instruments create sound with vibrating surfaces: the strings of a violin, the reed of a clarinet, the lips of a trumpet player, the head of a drum, and so on. This vibration results in a cyclic change in air pressure, which causes movement of the eardrum, a membrane in the ear. Nerves connected to the eardrum create electrical impulses which the brain interprets as sound. There are three broad parameters to any sound. Expressed in terms of physics, they are amplitude, frequency, and harmonic spectrum; in terms of perception they are volume, pitch, and timbre (rhymes with "amber"). Although wo will use these terms interchangeably, they are not truly equivalent. TTie ear's perception of a sound's loudness is relative and changeable; it is possible to hear pitches which do not exist in a sound, and varying conditions can alter the apparent timbre of a sound. (In fact, it should be admitted at this point that we still do not understand much of the ear's functioning. There are a number of interesting experiments one can perform in the area of acoustics. While the results of some are easily explainable, others produce results that cannot be fully understood now.) Volume and Amplitude Volume is the loudness of a sound, and is related to how much the air pressure is changing. The ear's range of perception is fairly wide, about 100 db. The price we pay for this range is sensitivity; the ear cannot detect changes in volume of less than about 10%. The lower limit is called the threshold of hearing, close to the sound of the proverbial pin drop. The upper limit is called the threshold of pain, even louder than you would experience if you stood on the tarmac during a 747 takeoff. Obviously, a jumbo jet disturbs the air pressure a great deal more than a vibrating pin, so we can equate the volume of a sound to the amount of change in air pressure. Other observa- tions bear this theory out. Hitting a piano key more heavily makes the hammer strike the strings harder, causing them to vibrate more vigor- ously and produce a louder sound. If your stereo speakers have a removable grill, you can perform a simple experiment. Pull the grill off, put on a record or tape with a firm bass line, and watch the woofer (the largest speaker in a two- or three-way cabinet). As you increase the volume and /or bass control you will actually be able to see the changes in the motion; louder sounds are produced by greater movement of the cone. (continued) Amazing Computing V3.4 ©1988 35 Frequency and Pitch Pitch is where we perceive a sound to be within the musical scale, and is related to how quickly the air pressure is changing. The range of pitches we can hear is much narrower than our volume range, but we hear them with greater resolution — the ear can detect pitch changes as small as about 1/ 10%. The lower limit is around 15 to 20 cycles per second, or Hertz (abbre- viated Hz); below this point we stop hearing a tone and begin hearing "events" — a rhythm of sorts. The upper limit is roughly IS thousand cycles per second, or KiloHertz (KHz); above this limit the sound just seems to fade out (although your dog can still hear it just fine, thank you). The conclusion that pitch is related to the rate of vibration can be reached by examining various instruments. The bass strings of a guitar are much heavier than the treble strings, and therefore vibrate much more slowly. In fact, if you pluck the lowest string of a bass guitar you can see it moving back and forth; the high string moves faster than your eye can respond and is just a blur. The high strings of a harp are shorter than the low strings, a bass drum is larger than a tom-tom. In each case, the lower frequencies are generated by an object with more mass, which therefore moves more slowly. Timbre and Harmonic Spectrum Timbre is the tone color or "character" of a sound, and is related to the har- monics or overtones present. The range of timbres we can perceive is effectively unlimited, and the ear is very sensitive to changes in it. In fact, we rely on timbre discrimination more than we realize. Speech uses inflection (changes in pitch and volume) tc emphasize and modify meaning, but it is almost exclusively changes in timbre which convey information — the difference between the sound of an "o" and an "e" is one of timbre. Unfortunately, we cannot look at a traditional instrument and intuitively understand harmonics; we must resort to physics to explain them, and elec- tronics to visualize them. As we have said, pitch is the rate at which air pressure changes. It is the way air pressure changes which determines the timbre. The simplest form of pressure change is represented by the sine wave. A sine wave is a pure signal containing no harmonics, and is perceived as a very dull, mellow tone. We could explain the sine wave by using trigonometry and talking about angles and such, but there is an easier method. Realize that the sphere is the simplest and most efficient shape possible; with a given surface area, we can enclose more volume within a sphere than within any other shape. The same is true of a circle. It is the simplest and most efficient shape for enclosing an area. Keeping these concepts in mind, we can define a sine wave as simply as describing movement around a circle. We can visualize it this way: consider a baton twirler spinning an upright baton with a smoke marker on one end. If we look at the baton from the side, the smoke will form the simplest path which the end of the baton can take, a circle. If we look at the baton from the end, however, we see only a straight vertical line, the way a penny viewed edge-on shows a straight line rather than a disc. Now what happens if our baton twirler starts marching? The smoke, from our edge-on vantage point, draws a sine wave! The gently rounded top and bottom are created as the smoking end moves toward or away from us; the sharply sloped center portions occur as the tip moves upward or downward very quickly. So we see that the sine wave is a variant of a circle, which is about as simple as we can get. Sine waves are also fairly common in nature, we can find approximations all around us. If we plot the velocity against time of a pendulum or a child on a swing, we will generate a sine wave. A weight bobbing up and down on a spring describes a sine wave. The ripples on the surface of a pond caused by a tossed pebble are sine waves. A whistle and the tone generated by a tuning fork are also sine waves. If the sine wave is the simplest possible tone, it seems reasonable to assume we could use it as a building block for more complex tones, and in fact this is the case. Within practical limits, we can combine sine waves at various frequencies and amplitudes to create any timbre we desire. Con- versely, we can break any timbre down into its component sine waves. These are the principles behind additive synthesis, Fourier analysis, and resyn thesis, discussed here a few issues ago. There are two names for these compo- nent sine waves: overtones and harmonics. These terms confuse many people because they are NOT inter- changeable. The sine wave, the basic frequency of the tone, is called the fundamental when speaking of over- tones, and this term is often used when speaking of harmonics as well. The fundamental is also referred to as the first harmonic, which indicates it is a frequency of one times the basic frequency. Most musical sounds are composed of harmonically related sine waves, where "harmonically related" means an integer multiple of the basic frequency. So, the next sine wave normally found would be twice the fundamental. This is called the first overtone, meaning the first tone above the fimdamental; it is also called the second harmonic. Similarly, the next frequency would be the second overtone or third harmonic, which is three times the fundamental frequency. Ih Amazing Computing V3. 4 ©1988 You can see where the confusion comes in! Just remember that the number of a harmonic is the ratio of that frequency to the fundamental tone, whereas you must ADD one to the overtone number to get the frequency ratio. Following is a chart of the first eight harmonics for the A above middle C: HARMONIC OVERTONE FREQUENCY RATIO 1 1st Fund. EM. 440 Hz T 1 i p 2nd 1st 880 H2 2 1 m m 3rd 2nd 1320 Hz 3 ^ m m 4th 3rd 1760 Hz 4 1 H M 5th 4th 2200 Hz 5 1 m p 6th 5th 2640 Hz 6 1 M p 7th 6th 3080 Hz 7 1 N i 8th 7th 3520 Hz 8:1 1 n i Now, if you reread the last paragraph, you'll find I left myself an out by saying "most musical sounds." There are groups of sounds which do not depend on harmonically related sine waves. One such group are the clangorous sounds. TT\is category of sounds includes gongs, bells, and chimes — sounds which have a definite pitch but also have a distinctive disso- nant component. Another group is the unpitched sounds, such as cymbals. The sounds are composed of an almost infinite number of sine waves, at about every possible frequency ratio. But It's Not That Easy We have seen how every sound can be defined using just three parameters: volume, pitch, and timbre. I have described how a timbre can be broken down into its component sine waves, and how individual sine waves can be assembled to create any timbre. From this it should be obvious that we can analyze any sound we wish to re- create, determine the amplitude and Memory designed with some thought ... If you're an Amiga 2000 owner, you'd undoubledly like to add more memory to your system. After all, the reason you chose the A2000 was for the expandability. The question now is "What's the best path for upgrading'?". A 2 meg memory expansion eard may seem Ihe cheapest way, but it's loo easily maxed out. You'd like to be able to expand beyond 2 megs, but the slicker shock of an S meg board populated with its minimum configuration of 2 megs makes this route unappealing as well. The Digitronics EC4 Ramcaid was designed to solve these problems. The RC4 is auto-configurable as low as 1/2 megabyte, but as your memory requirements gradually grow, so can your memoiy, in steps of 1/2 meg, all the way up to 4 full megabytes of no waii-statc fast memory! If you're an Amiga 500 owner, adding memory to your system may seem a bit more difficult than simply plugging in an expansion card. Some vendors seem to think it's a good idea lo lear open your machine and solder in printed circuit boards, voiding your warranty, overheating the inside of the case, and bringing an already ovenaxed A500 power supply to its knees. Digitronics offers a much better solution. The same RC4 Ramcard designed to plug into Ihe A2000 can be plugged into the expansion slot on the side of the ASOO when installed in our adapter boK. This adapter is a completely enclosed low-profile melal case with its own power supply, which can fit neatly under your, exicmal AlOlO. This allows for a quick and easy way !o add up to 4 megabytes of fast memory to your A500. Best of all, if you should ever decide to move up to an A2000, the RC4 ramcard you've been using in your A500 can go along as well. The RC4 comes completely assembled and tested, and is fully socketed tor 4 megs of 256k X 4 DIP DRAMS (Ok installed). Also included is a disk containing memory lest software, our own version of a recoverable RAM Disk, and other useful utilities. Call or write for pricing of boards with various amounts of RAM, or for information on our do-il-yourself kits. Dealer inquiries invited. D POBai5T9 Hatfield, PA 19440 (215) 3«1-1»»1 igitronics *AMga'a a IradanarkofCatanedan-Ajtuga Inc. frequencies of the individual sine waves, use these individual sine waves to build a new tone, and exactly recreate the original sound. There is a bit more to it, however! Most important is that analyzing a tiny "slice" of sound and recreating it recreates only that slice. If you stretch the result out over time, the odds are very good it will sound nothing like the original instrument. If you've experimented with looping a digitized sample, you know the sample sounds unrealistic — static and unchanging — if you make the loop too small. To reproduce a sound accurately, this analysis of volume, pitch, and timbre must occur almost continuously over the entire duration of the sound. A note struck on a piano grows louder rapidly, then dies away slowly; obviously, it would be unrealistic to try to make a pipe organ sound like a piano, since the organ produces a constant volume level. Less obvious is that pitch and timbre must also be adjustable over the length of the sound. Although there is a character- istic sound which reminds us of violins, it is not constant in any of these parameters. The volume changes, yes, but the pitch changes during the course of the sound, as does the tonal quality. To mimic the instrument successfully, we must re- produce all three parameters. The more successful synthesis techniques provide us the means for properly shaping these parameters over time. That's going to do it for now. Nybbles... Rick •AC" ACKNOWLEDGEMENTS I'd like to thank Bernie Hutchins of EleciroNotes for the baton twirler analogy. It is the most lucid explanation I've yet to find of a sine wave. Amazing Computing V3A ©7988 37 by Todor Fay Write a patch librarian module which Yamaha synthesizers In addition to voice and real-time message events, there's a third category in the MIDI spec: System Exclusive messages. In this article, I'll discuss implementing the System Exclusive protocol in the SoundScape environment, and write a patch librarian module which can load and save patch information from Yamaha TX81Z, DX21, DX27, and DXlOO synthesizers using System Exclusive dumps. I'll also discuss the issues that crop up when you write SoundScape modules with the different versions of the Lattice and Aztec compilers. This is fourth in a series of articles on programming music for the Amiga with SoundScape. To better under- stand what follows, I recommend that you read the previous articles, espe- cially the first one (AC V2o). System Exclusive The standard MIDI message types do a good job of representing just about everything digital musical instruments need to commtmicate. However, there are always specific types of data that individual machines would like (o be able to communicate over the MIDI Patch information is a good example. If two synthesizers are hooked together, it would be nice to transier a patch from one machine to the other. or to send the patch to a computer for editing and storage. But no two makes of synthesizer use the exact same method for creating sounds. The parameter infomnation that makes up a flute sound on an additive synthesizer would be hogwash to a synth that uses an F^ algorithm to generate sound. Even if two machines use the same method for creating sound, they rarely have the same set of parameters. So creating a M'DI standard for patch parameter information would be just about useless. Enter System Exclusive. This MIDI protocol allows manufacturers to define their own standards for shif>- ping data particular to their machines over the MIDI v/ires. How It Works Each MIDI packet starts with a status byte that defines what style of packet it is. System Exclusive uses two status bytes. The first indicates the start of the packet; the second indicates the end of transmission. The second marker is needed because the packet can be of any length, and a reader who doesn't know this particular System Exclusive protocol must be able to recognize when to resume normal operation. The code for System Exclusive is OxFO. This is followed by the manufacturer ID. Each manufacturer has a seven-bit identifier. Then the data follows. The only restriction on the data is that the highest bit always be cleared. The MIDI protocol states only status bytes can have their high bit set. lif a non- real-time status byte (such as Note On) appears in the data stream, indicating the end of System Exclusive, just as the normal end marker would which has a value of 0xF7. System Exclusive and SoundScape The SoundScape Patch Panel does not support System Exclusive messages. There are two good reasons for this. System Exclusive messages can be of any length. Obviously, the standard SoundScape Note packet, which holds up to only three bytes, cannot be used. Any solution that involves a fixed buffer size would be invalidated by a larger packet. The sky's the limit these days with MIDI sample dumps, A variable buffer size would make sense. A System Exclusive packet would have a pointer on a buffer and a count of how large it is. It would work, except in the case of interrupt routines, which cannot allocate memory from the system. Unfortu- nately, it's the serial port interrupt routine (which receives MIDI from the outside world) that would need to allocate some arbitrary length buffer. 38 Amazing Computing V3A ©1988 can load and save patch information from using System Exclusive dumps. There's no need for System Exclusive when communicating within Sound- Scape. For the style of data transfer that the System Exclusive protocol provides, EditMidiPort calls make much more sense. For example, if the CrossFade and Sampler modules (see my second article, in AC V2.9) were separate hardware devices communi- cating over MIDI, they would use System Exclusive dumps to transfer the sample dump information back and forth. However, as modules within SoundScape, they can do that much quicker with EditMidiPort calls. To communicate with the outside world, SoundScape does need to read and write System Exclusive messages from the serial port. The serial MIDI module was designed to let other modules control the reading and writing of System Exclusive packets through EditMidiPort calls. Manipulating the Serial MIDI Port As with most SoundScape modules, the Serial MIDI port has a structure for passing information back and forth with EditMidiPort calls. struct MldiState { long length; long midinskew; char 'sysejtlnbuffer; long sysexlnslxe; long sysexlncount; long sjfsexlnport; char 'sysexoutbuffer; long sysexoutsize; long sysexoutcount; All of these parameters can be ac- cessed and edited. Length - This gives a count of how many bytes follow in the structure. Programs, such as the environment load and save (which don't know about specific modules), can still read and write within the structure. Midinskew - This offset is added to the channel number of all incoming channelized messages, modulo 16, to create a new channel. For example, if midinskew is 2 and a Note On event comes in on channel 3, the Serial MIDI port passes it on as a Note On event on channel 5. The remaining parameters are used for System Exclusive messages. Sysexinbuf fer - This points to a buffer supplied by another module (yours?) used for storing a system exclusive message coming in. It is initialized to 0, so System Exclusive events are normally discarded. Sysexinsize - This is the size, in bytes, of the sysexin buffer. When you give the Serial MIDI port a buffer to read into, you must also let it know how big it is. Sysexincount - This is managed by the port. Initialized to 0, it increments every time another byte comes in and is added to the buffer. You must initialize it to 0. Sysexinport - This is the port ID of the module that set up the buffer. If you give the Serial MIDI port a buffer to fill, you need to tell it who you are. When a complete System Exclusive packet has come in, a SYSTEMX packet will be sent to you, notifying you that the packet has arrived. Sysexoutbuffer - This is for sending a System Exclusive packet. You give this a pointer to the buffer you provide. Sysexoutsize - This is the size of the buffer. Sysexoutcount - The output routine increments this to show how many bytes of the packet have been sent. (continued) Amazing Computing V3.4 ©1988 39 To receive a System Exclusive packet, create a MidiState structure and buffer that is large enough to hold what you expect to receive. mldlstate = ftllocMerajslzeof (struct MidiState), MEMF_PUBLIC) ; buffer = AliocHem (BUFFER SIZE,MEHr PUBLIC}; Call EdJtMidiPort with a GETSTATE command to initialize the structure. You may find that the sysexinbuffer is already being used by somebody else, in which case you can do no more than to install the buffer with a SETSTATE command. EditMldiPortCFindMldiPort ("serial nidi"! , D, GETSTATE, midlstate) ; if (taldistatB->sysexinbuf ferl ( FreeMem(bllffer,BUFFER_SI£E) ; FreeMem (midistate, sizeof (struct MidiStatel : : return; ) midistate-^aysejcinbuf fer - buffer.' niidistate->sysexinsize - BI;FFEB_5IZE; iiiidistate»>sysexincaunt - 0; Tflidistate->sy3exinport - thisport; EditMldlPort (FindMidiPort (-aerial nddi") , O.SETSTATE.nidlstate) ; Now the port has been initialized and is ready to receive. Once it has read in a complete packet, it will send a SYSTEMX message (without any data) through the Patch Panel to you. Then, if you are not sure how many bytes came in, execute an EditMidiPort call to read the sysexincount value. The buffer will be filled with the system exclusive dump, with the exception of the System Exclusive status bytes (at the beginning and end), which are stripped out. Sending a packet is somewhat easier. Once again, you allocate a buffer. Put your data in it and install it with a call to EditMidiPort. Don't include the System Exclusive status bytes in the message; they will be added automati- cally. The call to EditMidiPort does not send the packet; it only sets things up to send it. You trigger its trans- mission by sending a SYSTEMX packet through the patch panel to the Serial MIDI port. midistate - AllocHemlsizeof (struct KidiEtate),MEHr_PUBI,IC) ; buffer - AlloeMaB(BUFFER_SI2E,HEMF_PUBLIC:); /• Code to fill the buffer •/ EditMidiPort ( FindMidiFort ("serial midi") ,0, GETSTATE, midistate) ; if (ird-distate->3ysexoutbuf fer) ( FreeMem (buffer. BUFFER_SIZE) .- FreeMera (mldistate, sizeof (struct MidiState)!! return ; 1 raldistate->3ysexoutbuf fer - buffer; r!\idlstate->SYsexoutsize - BUFPEft_SI3B; midistate->sysexoutcount " 0; EditMidiPort ( FindMldiPort ("serial midl") ,0, SETSTATE, raidi state) ; note - AHocHode(NOTE| ,- note->3tatu3 - SYSTEKX; outMidlPorc (FindMidiPort ( "serial raidi" ) , note] ; Although the serial MIDI port sends most System Exclusive messages just fine, there can be situations where it won't work. Some synthesizers require a handshake protocol for uploading and downloading bulk data. Unfortunately, instead of sending individual system exclusive messages for each of the steps in the protocol, they just have two long, interwoven System Exclusive messages (one coming, one going). The receiver has to understand an incoming packet in order to reply accordingly, but a generic System Exclusive port, such as the Serial MIDI port, simply waits for the end of the packet. This can result in deadlock. There's another problem. With very long packets, sometimes a byte is dropped. Although the interrupt routine runs at a reasonably high priority, it may gel preempted long enough by DMA hardware or other interrupts to lose a character. As it turns out, the only way to get around this and receive aU the data reliably is to turn off all interrupts and poll the serial port directly. A Different Solution We'll write our own System Exclusive reading and writing routines, so we are free to tailor them to any manufacturer's protocol, and we'll poll the port directly. Since we are going to deal directly with the serial port, we need to know a bit about the hardware in the Amiga. There is a file called "custom.h" in the include: hard ware directory of Amiga C development environments. In it is a structure called Custom which maps onto all of the registers in the custom chips. Instead of reading or writing directly to hard coded addresses, you can read and write to fields in the custom structure. The serial port is in the custom hardware, so we read and write registers in the custom structure. The serial port registers arc: custom-serper - This sets the baud rate. Since SoundScape has already set it to the MIDI baud rate, you can leave it alone. custom.serdatr - This is the serial data read register. It is a sixteen-bit register. The low nine bits are the serial data bytes coming in, while the upper seven are status bits. Of those, we'll use bits 14 (read buffer full) and 13 (transmit buffer empty). (continued) 40 Amazing Computing V3. 4 ©1988 Integrated Music Software for AMIGA computers IIIIIIIMI I liiSHiSSEI t, ' ' ' ctll)gil!!ll iiiiEiiiiiii lEBEBiiSiH dllilllSM! Jitt t#i 4uil Iwil Tllkni 10*1 i> »*H Sequencer • 16 Tracks 64 Individual Sequences ACCURATE timing 1/192 note resolution - User definable time signature for each track • Extensive Track Manipulation Functions • Quantize (3 methods) • Time Stiift • Controller Scalino • Merge • Ectio • Randomizing Functions • Built-in System-Exclusive Librarian Drum Machine - Eliminates thie need for costly external drum machine I (uses the Amiga's internal sound channels) 200 digital drum samples included or use any IFF (one-shot format) standard file. All Amiga samplers support this standard • Graphic Editing of Drum Patterns • Adjustable tuning and volume ranges for each drum • Velocity Sensitive (using external MIDI keyboard) I Event Editor • Text Editing • Translates MIDI data into easy to understand statements I • Modify, insert or deiete any type of MIDI data Graphic Editing • insert, delete and edit notes visually I • Displays track In "Piano Roll" gropti AVAILABLE NOW! »".^ $199.95 No Copy Protection 1 Megabyte Recommended RD. Box 438, St. Clair Shores, Michigan 4SOBO. (313) 771-4-465 MOVING? SUBSCRIPTION PROBLEMS? Pleose don't forget to let us know. If you are: traving a problem with your "subscription or if you are ptarining to move, please write to; Amazing Computing Subscription Queillons PiM Publications, Inc. P.O. Box 869 Fait River, MA 02722 i Pbaso remember vje carrot mol your rrogcszi-e to you If we do rxjt knew wtere you ere. pieoK dkiw foU to sir wooltj Itx pmeesh):' custom.serdat - This is the serial data write register. When data is placed in this, it immediately starts shifting out (as long as nothing was ahead of it). custotn.intreq - This is the interrupt request register. Whenever a byte is read in, the receive buffer full bit must be set to indicate you have read it. Reading from the Serial Port Reading the serial data by polling the port is very simple. Here is a descrip- tion of the steps required: * Disable the interrupts so nothing can block the way or steal time. With the interrupts disabled, task switching can't happen. * Poll bit 14 of custom.serdatr to see if a new byte is in. When one comes in, read it and put it in the buffer. Set the receive buffer full bit in the custom.intreq and loop until the entire packet has been read in. * Enable interrupts and leave. Disabling interrupts can be dangerous. There should be a way to abort without having to wait for a packet. The obvious solution is to abort on a click of the mouse, so be sure the left mouse button has been pressed. We obviously can't wait for an Intuition event, since task switching is turned off. Instead, read the button directly. The left mouse buttons for the two mouse ports are read by pins 6 & 7 of peripheral data register A of the 8520A peripheral interface adapter chip. There is also a structure that defines the registers found in the file "cia.h" in the include:hardware directory. The field in this structure we need to read is called ciaa.ciapra. When the mouse button is down, bit 6 or 7 goes to 0. Here's simplified code to read serial data into a buffer and leave, either when the buffer is full, or when the mouse is clicked: extern struct ciA claa; extern struct Custom cuatora; char buffer [BUFFER_SI2E); int ij Disable O; /" Loop to fill buffer. ■/ for(l-0;i<SUF_SI2E,-H-+) ( /■ Wait for the aerial in register to rill. */ while (I {cuBton.aerdatr i 0x4000} { /• Check the mouse button. */ if ((^claa.pra) ( OxCOt I Enable 1); return; ) 1 /■ Get data. V bufferti] - cuatora. serdatr; cuatom. intreq - 1Ntf_bbf; ( Enable (I : This routine is a little simpler than we want it because we need to strip out non-System Exclusive messages and return when the message is complete, rather than when the buffer is full. Writing to the Serial Port There's no longer any danger of losing data because we are sending it. We don't have to do anything awful like disabling interrupts. We will send by shoving data directly through the custom.serdat register and polling the transmit buffer empty bit to know when to send the next byte. We could write a transmit interrupt routine — but that's too much work for a very small gain. Here's a routine that sends a block of data out: extern struct CuatQim custom; int i ; char buffBr(BUFFER_SIZElj for (i-0;i<BUFFEBSIZE,-i+t) ( /" Wait tor transmit buffer empty. ■/ while f 1 (ciiatoin.serdatr & OxZOOO)); /* Set bits 8 and 9 to create stop bits, '/ custom.serdat - bufterli] I 0x300; 1 Wow! That's simple! A TX81Z/DX21/DX27/DX100 Patch Librarian I have a Yamaha TX81Z. It's a very nice rack mount synthesizer. To keep costs low, it loads and saves patches to cassette, and is programmed through a very limited collection of eleven buttons and an LCD display. It was designed with computer hookup in mind. The MIDI System Exclusive implementation is complete. Individ- ual patches can be loaded and saved through MIDI. Entire banks of sounds can be saved or loaded. Performance and voice parameters can be individu- ally altered through MIDI. The list goes on... but since we're writing a patch librarian, we'll limit ourselves to loading and saving a single voice. The TX81Z/DX21/etc. aU use the same design to generate sound. As a result, they share the same system exclusive format for a single voice. Here's the single voice format (in hex): FO System exclusive start command 43 Yamaha ID number On Bulk data on channel n 03 I Voice (VCED) command 00 Data size, high 7 bits 50 Data size, low 7 bits XX Data bytes - all the parameters of one voice XX Checksiim F7 End of Syst. Exclusive command 42 Amazing Computing V3. 4 ©1988 All told, there are 101 bytes in this message. If one of these messages is received by the synthesizer, it automatically replaces the current sound in the edit buffer with this one. And, when a patch change is selected by the user, the synthesizer automatically sends this message. There is also a message that can request that a voice dump be sent. This comes in handy for librarians, which use it to retrieve data automati- cally without requiring the user to push buttons. Here's the format of the VCED dump request message; FO Syst. exclusive start command 43 Yamaha ID number 2n Bulk data dump request on channel n 03 1 Voice (VCED) dump type F7 End of System Exclusive command We'll use this command in our program when saving synthesizer parameters to disk. First, this request command is sent, then the synthesizer replies with the data. What the Module Does Our SoundScape module is quite simple. Like most SoundScape mod- ules, it sets itself up as an icon on both sides of the Patch Panel. To load a sound bank from the synthesizer and save it to file, the user clicks on the left icon. A file requester opens, asking what file name to save to. The user selects a name and a message is displayed, saying that it is receiving the voice and requesting that the user click on the left mouse button to abort. Meanwhile, it sends a dump request to the TX81Z/DX21/etc., which replies with the data. The message goes away and the data is saved to disk. To load a sound bank from disk and send it to the TX812/DX21/etc., the user clicks on the right hand icon. A file requester opens with a list of files that have been saved to disk. The user selects a file to send to the synthesizer. With all of the voices kept in one directory, it makes for a simpler librarian, where the user selects voices to load by file names. When an environment save command is issued, the librarian has the user download from the synthesizer and save to disk. The environment load command automatically loads the bank from disk and sends it to the synth. The Program From this article and previous ones, we have all the information we need to write our module, except one detail: the file lO, which brings us to three more SoundScape routines. HeadFlleNajne (PlleHamerPraTipt, renipiate) This will put up a file read requester. FileName is a character array which you provide. The file name will be written into it, so make it at least 70 bytes long. Prompt goes into the title bar of the window. For this example, 'TX81Z/DX Voice" would do. Tem- plate is also a string that defines what extension is attached to the files it is looking for. For example, if Template is "hello," all files that end with ".hello" will be displayed. So, if "goodbye.hello" and "jellofellow.hello" exist on a disk, then "goodbye" and "jellofellow" would be displayed in the file requester. The user can click on the desired file or select another directory to look in or abort the file load. If the file load is aborted, FileName returns with its first charac- ter cleared. If FileName[0] is not clear, FileName holds the full file name to load, including the directory path. One of the nice things about this requester is it keeps file names around, so when you open it a second (continued) THE BIG PICTURE "THE BIG PICTURE" Print your IFF/HAM pictures in full color up to 104 feet x 104 feet. "Real" multiprocessing and overscan printed because printing is done fronn tfie file not the screen. $29.95 for tfie following printers in one package: Canon PJ1080A / Okidata 20 color / Radio Shack CGP-2201 / Quadram Quadjet / Epson FX-80 FX-100. EX-800, EX-1000 / Fujistu 1200, 2300. 2400 / NEC P6, P7. CP7 / XEROX 4020 ATI-LINK An IFF/HAM to TARGA file conversion program only $50.00 Perlerances Dnve Quadram Quadjet S30.00 NEC CP7 $50.00 HP Paint Jet S50.00 NECCP6S30.00 Gig PiciiiW IS a Irademarfc of Lightning Putjitshmg, Amiga is a fPijdterKj (rademark q\ CwnmoflOffi LID Targa is 3 re^isterHJ iradematk o( Ar i T Lightning Putilishiiig 1821 N. Ohio St., Arlington VA 22205 (703) 534-8030 Name Address City Slate 2ip AfliounI Pragram Amazing Computing V3.4 ©1988 45 time it doesn't go back to disk and grind through every- thing again (which means that our librarian keeps the list of voices around). WriteFileHamelFlleJI«me, Prompt, Template) This puts up a save file requester which displays the name of the last file of this type loaded. The user can either request to save to that file or type in a new file name. Once again, the name is returned in FileName, Prompt is displayed in the title bar, and Template is appended to the file name after a dot. For the TX81Z/DX21/DX27/DX100 files, we'll use a template of "txSlzvoice." FunctionCall(Routine,Parainl,Param2,...) AmigaDos has one annoying feature: Tasks cannot do disk or console lO. You may have run into this before when the system crashed after you tried to call printf from a task you created. When a module's user edit routine is called, SoundScape creates a task to handle it, so that multiple modules can be edited at the same time. This means that if your routine intends to do any disk lO, it might have some talking to do with its Maker. Fortunately, there is a solution. Pass the address of your routine that does the disk lO and any parameters to Func- tionCall. The routine will be given to a process that does the 10 for you. Make sure only to send the disk iO routine, not the larger procedure that puts up a window and waits for the user to make a decision. Thc;re is only one process that is available for FunctionCall; if you hog it, other modules will have to wait before they can use it. That's it. See the listing for tx.c to see how everything pulls together. What Next? Now that you have the tools to do System Exclusive dumps from SoundScape, it's easy to see where you can go from here. If you don't have a TX81Z, but you have a Casio CZlOl, Yamaha DX7, or Granola XJFrap, consult the system exclusive implementation In the user manual and edit this program so you can use it with your machine. If you do have a TX81Z, you can immediately expand it by supporting more of the data dump formats (there are some extra features the TX has that the DX21/DX27/DX100 don't have). Turn this into a full fledged editor/Ubrarian, where you can not only load and save patches, but edit them as well. It's surprisingly easy to do; just put up an Intuition window full of gadgets for all the parameters of one sound. If you use PowerWindows to design your window, you might have the whole thing done in one afternoon. Compiler Issues I probably should have talked about this in the first article. You can write your SoundScape modules with all versions of both the Aztec and Lattice compilers. However, there are some differences that need to be observed. Parameter Passing All SoundScape routines receive their parameters as thirty-two bit entities. If you are compiling with Aztec, make sure all the integers passed are long. Also, make sure the routines you call from SoundScape receive long integers. The new Aztec has a portability mode switch; I recommend that you use it. Register Trashing This can be a real headache if you don't understand it. SoundScape obeys the Amiga register trashing conventions whereby DO, Dl, AO, and AT are scratch registers. When leaving a routine, all other registers must be returned to the state they were in when entering. This can create problems, because SoundScape calls routines that your module provides. If your module oats A4 for lunch and then burps all over D5, SoundScape will lose its appetite — and the Guru will make a house call. This problem occurs with Aztec 3.20, which con- siders A6 and D3 to be scratch registers. In addition, Aztec 3.20 needs A4 loaded with its Data Segment pointer. So SoundScape should provide your Aztec module with a prop- erly initialized A4 register, which it doesn't. The solution isn't loo complicated. Your Aztec code needs to call two routines. On entering an Aztec function called by SoundScape, call "enteraztecO", which puts most of the registers on the stack and loads A4 with the proper pointer. When leaving your routine, call "leaveaztecO." This reloads the saved registers from the stack. _enteraztee lBove.l (spl+,dD ;save return address, movem.l d3/d4/d5/d6/d7/a3/a4/'a5/a6,-(sp) move.l * Dorg,a4 ; load data pointer. add.l #32766, a4 ; set It to data. IBove.l dO,-(sp1 ; set return address, rts ; done. _leaveazt6c move.l lsp)+,dO ;save return address, movem.l (Spt+,d3/d1/d5/d6/d7/a3/a4/a5/a6 move.l dO,-(sp) ; set return address. rts 44 Ajnazing Computing V3.4 ©1988 Use the routines when entering and leaving your opencode, closecode, outcode and editcode routines. If you use Func- tionCall, put these in the function that has been called (since it is called by another process), which is handy when you are writing code that is called by the operating system. With Aztec version 3.40, you no longer need these routines. You must, however, compile vAih the super portability flag +p. This accomodates large code and data, 32-bit integers, and also saves the D2 and D3 registers. Different Libraries There are three library sets to link with; be sure to use the right one. One is for Lattice, one is for the old Aztec and one is for the new Aztec. All are on PcoplcLink & Amicus. (c) 1987 Todor Fay •/ llnclude "exec/types. h" llnclude "exec/exec. h" • include "hardware/custom. h" • include "hardware/cia. h" • include "exee/lncerrupts. h" • include "exec/raemory.h" •include "hardware/intblts.h" • include "llbraries/dos.h" •include "Intuition/intuition. h" • include "soundscape.h*' extern struct CIA ciaa; extern struct Custom custom; /* The state structure for this module has just the file name for saving a TX81Z (or 0X21/27/100) voice. Whenever an environment save command (SAVESTATE) occurs, the file that the voice was saved in is returned here. When an environment load comrar.d (LOADSTATE) happens, the file that is given here will be loaded by this module. struct SynthState ( long length; char fllenanie[701; I; /* Initialise the file name as empty. */ static struct SynthState synthstate - ( 70,0, If /* The port id for this port. */ static short thisport; /• The icon in the Patch Panel. */ /* 32 X 12 '/ UWORD txBizdataf] - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, B078, 32752, JUMPDISK The Double JGMPDISK is the original disk magazine for the Amiga' . Every month for 20 months: NEW ready-to-run programs, articles, tips, reviews, art and music. — Get the current issue for $9. — Or for just 53, try the JUMPDISK SAMPLER. — Best of all, order the 5 1 DOUBLE, both the current issue and the Sampler. Two disks. Crammed. IF YOa DON'T LIKE WHAT WE SEND, RETOfiN IT FOR FULL REFUND. Order from: JUMPDISK 1 493 Mt. View Ave. Chico, CA 95926 — Not convinced? Get our Big Emotional Pitch mailed to you by either writing us at the address above, or calling us at (916)343-7658. — We ship day order is received. Personal check OK. — Amiga " ii a itgisierwj trademari, ot Conurowlorc-Ainiga. — Look, Ma. I'm programming! 12486, 448, 8070, 1792, 12486, 7168, 8079, 327S2, 16383, S7344, 224, 0, 231, 28672, 227, 57344, 225, 49152, 227, 57344, 231, 28672, 0, 32752, 0, 448, 0, 1792, 0, 7168, 0, 32752, 1; struct Image txSlzlmage -10,0, 32,12, 2, tx81zdata, 3, 0,0 ); /* We need to be able to display messages to the user. For example, "Sending the voice...". Two routines handle this. Onmessage opens a window and displays the given strings. Offmessage closes that window. Here Is the window declaration. */ struct NewWlndowNewWindowStructure - I 134/35, 336,66, 0,1, NULL, ACTIVATE, NULL, NULL, -TX81Z/DX21/DX27/DX100 Librarian", (cxmtinued) Amazing Computing V3.4 ©1988 45 NULL, NOLL, 5,5, 640,200, WBENCHSCREEN 1; Struct Window "messagewlndow - 0; void omnessage (stringl, strlr.g2) /* Opens a wlndoM and prints the message. Window is closed by of fmessage () ■ */ char stringl [] , string2[l; static struct IntulText text = ) 2,0, JAM2, 0, 0, 0, 0, 1; inessagewlndow = (struct Window *) OpenWindow (SNewWlndowStructure) ; if (messagewindow) ( text.IText <^ stringl; PrintlText (messagewlndow->RPo;:t, itext, 20, 20) ; if (strlngZ) { text.IText = string2; PrintlText (messagewindow-:-RPort, stext,20,30) ; ) ) } void of fmessage () /* This just closes messagewindow if it is open. */ ( If (messagewindow) ( CloseWindow (messagewindow) ; i messagewindow = 0; opencode (direction) /* Routine to open this modules' s port in the direction specified. Always return TRUE for success, */ chiar direction; return (1) ; I closecode (direction) /* Always close successfully, */ char direction; 1 return (1) ; ) unsigned long processbyte (buffer, maxlength,raidiindata) /* When a data byte comes In, this routine is called to process it. Buffer is a pointer to an array to store the data in. Maxlength is the size of that array. Midiindata is the data byte that just came in. The static variable sysexon keeps track of whether we are currently reading a system exclusive pacltet. It is initialized to FALSE (0) . when a System Exclusive status byte comes in, sysexon is set. When the end of the pacltet Is reached, sysexon is turned off again. The static variable length keeps track of our presence in the array. It is not allowed to become greater than maxlength. Return if still reading or about to read the packet. Return the length when the packet end has been reached. register unsigned char "buffer; register unsigned long maxlength; register unsigned char midiindata; ) static unsigned long length; static char sysexon - 0; /* Is this a status byte? */ if (midiindata s OxSO) ( /* MIDI real time event? "/ if (midiindata >= CLOCK) ( return (0) ; /• End of packet? ' else if (sysexon) ( sysexon » 0; buffer[length++) return (length) ; midiindata; 1 /• Start of packet? »/ else if (midiindata -- SYSTEMX) ( sysexon - 1; length - 1; ♦buffer - SYSTEMX; 1 1 /* Read data. •/ else if (sysexon) ( if (length < maxlength) ) buffer[length++l - midiindata; ) ) return (0) ; unsigned long ReoelVeSysEX (buffer, maxlength) /* To receive a system exclusive buffer, disable interrupts and poll the serial port and mouse button. Whenever a data byte comes in, pass It to the processbyte routine, which deals with it appropriately. Once the packet is in, return the length. */ register char *buf fer; register unsigned long maxlength; register unsigned char c; unsigned long length - 0; Disabled; for (;;) { while (! (custom. serdatr t 0x4000)) { if ( (-ciaa.clapra) £ OxCO) ( Enable () ; return (0) ; ) ) c = (unsigned char) custom. serdatr; custom. intreq = INIF_RBF; if (length - processbyte (buffer, maxlength, c) ) break; 46 Amazing Computing V 3. 4 ©1988 Enable [) ; ret urn (length) ; void SendSysEx (buffer, langth) /• First, set the priority of this task to higher than the SoundScape packet router so there is no danger of SoundScape sending a MIDI pacltet at the same time. Then, send all the bytes in the buffer, polling the buffer empty bit before sending each byte. When done, bring the priority bac)t down. 'NEW" PRINTED 3.5 " SHUTTERS register char "buffer; register unsigned long length; register long oldpri - SetTasltPrl (FlndTask (OJ , 21) ; register unsigned long 1; for {i-Q; Klength; 1 + + ) 1 while {[ (custom. serdatr s 0x2000)); custom. serdat - bufferfi] ! 0x300; ) Set TaskPrl (FlndTask (0) , oldpri) ; void dosomething (direct Ion, filename) /* This routine Is called to either read a voice from disk and send It to the synth, or read a voice from the synth and store It to disk. Direction is set If we are to store a sound to disk, otherwise cleared. A filename may be given (the case for environment loads and saves) . If so, the variable filename will have that file name in it. If there Is no filename (fllenamelO] ==■ 0), put up a requester with a call to ReadFileName or WrlteFileName. If saving a voice to disk, first send a dump request to the synth. Then read the system exclusive packet that comes back. There is a danger that no synth Is hooked up, or that the wrong data Is returned. If this happens, the length of the data returned will not be 101, so don't save It to file. If sending a new voice, just read It from file and send the data. char direction; register char filename [ ] register long buffer; register long file; static unsigned char dumprequest [ J - ( OxFO, 0)443,0x20, 0x03, 0xF7(; long length; buffer - AllocMem(200,MEMF_PUBLIC); if (buffer) ( if (direction) ( if (!fllename[0]) WrlteFileName (filename, "TXBIZ/DX Voice", "txSlzvolce") ; CORPORATE CUSTOMERS SOFTWARE DEVELOPERS Permanent Identification of your Company, Information, or Products. SOFTWARE DUPLICATION/PACKAGING 3.5"/ 5.25" /HIGH DENSITY WEST COAST TELECOM CALL: (503)620-1888 if (fllenametOl) ( onmessage ("Getting a Voice... ", "Click mouse to abort"); SendSysEx (dumprequest, 5) ; length - ReoelveSysEx (buffer, 200) ; off message () ; if (length -- 101) ( file - Open (filename, MODE_NEWFILE); If (file) ( Wrlte(file,tlength,4); Write (file, buffer, length) ; Close (file); 1 ) if i ( if (!filename[01> ReadFileName (filename, "TX81Z/DX Voice" "txBlzvoice") ; (fllenamefOl) I file - Open|filenarae,M0DE_0LDFILE); If (file) ( Read ( CI le,£ length, 4) ; if (length — 101) | Read (file, buffer, length) ; Close (file) ; onmessage ("Sending the Voice., SendSysEx (buffer, length) ; of fmessage () ; ,0); 1 1 ) FreeMem (buffer, 200) ; (continued) Amazing Computing V3.4 ©1988 47 Now Open In Texas! The mqst complef© /linnlga with the store in the country- most competitive pricing. Over SOO soffwhro titles In stock. Wide selection ol t\arciwara, accessorlas, and books. Write or call foi a catalog. K Come to our Grand Opening! 10am-6pm Saturday & Sunday April 23 & 24. D<x>r prizes and ipeclal event* hcluding demoj and talk! by leading tottwarci developers. Amazing Gomp^ter Systi Frankford Villcigo ShoppinftCenter 3030 North Josey Lane Sult4 1 44 (2 doors south of Skaggs) Carrollton, Texas 75007 (214) 394-8383 Open Man. -Sat. lOam-ipm Thun. lOam-Bpm Amazing Computer Syitems n not affiliated in any way with PIM PubScotlons, Inc. or Amazing Computing. SAVESTATE: Another module aslcs this module to save files. This usually occurs in tlie context of an environment save. This time, we get thie sound from the TX812 and save It to disk, then return thie file name, so that can be stored in the environment file. char direction, command,- struct SynthState "buffer; switch (command) ( case USEREDIT : synthstai;e.filenarae[0| = 0; FunctionCall (dosomet hi ng, direction, synthstate. filename) ; break ; case SETSTATE : moviRem(buffer,ssynthstate,si2eof (synthstate) ) ; break; case GETSTATE : movmem (Ssynthstate, buffer, si zeof (synthstate) ) ; brealc; case LOADSTATE : movmem (buffer, Ssynthstate, si zeof (synthstate) ) ; FunctionCall (dosomething, 0, synthstate. filename) ; movmem [isynthstate,buf fer,slzeof (synthstate) ) ; brealt; case SAVESTATE : FunctionCall (dosomething, 1, synthstate, filename) j movmem(4synthstate,buffer, si zaof (synthstate)); break; ) buffer->length ■ 70; void edl t code (direct ion, command, buf f e r ) " This, the edit routine, is called under five circumstances: USEREDIT: The user elicited on either tht; left or right icon in the patch panel, depending on the variable di- rection. Clear the Synthstate filename field so there Is no current filename and jiake a FtnctlonCall to dosomething (direct ion, synthstate. filename) which will either load a sound or save one. SETSTATE: This occurs when another module wishes to change the data in this module's state structure. Simply copy the p.issed buffer into synthstate, GETSTATE; Another module wishes to read the contents of this module's state structure. Simply copy synthstate Into the passBd buffer. LOADSTATE : Another module asks this module to load files. This ususally occurs in the context of an environment load. Once again, a buffer Is passed and the data from it is copied into synthstate. This should have the name of the file to read and send to the TXaiZ, long SoundScapeBase, IntuitionBase, GfxBase; /* Here's the main program. As always with a SoundScape module, open the SoundScape library to get a handle on the routines, then close it so it can be eventually closed by the program that opened It initlaHy. Create a mldl port in the patch panel and Walt for it to be closed, then leave, •/ void mainO ( IntuitionBase = OpenLlbrary ("intuition, library", 0) ; GfxBase - OpenLlbrary ("graphics. library", 0) ; SoundScapeBase - OpenLlbrary ("SoundScape. library", 0} ; if (SoundScapeBase) ( CloseLlbrary (SoundScapeBase) ; thisport = AddMldlPort (opencode, olosecode,edltcode, 0, stxa 1 z image, itxB Is image, -1, "txSlz librarian") ; SetTaskPrKFindTaslc (0),-20) ; while (MldiPort (thisport) ) Delay (100); 1 CloseLlbrary (IntuitionBase) ; CloseLlbrary (GfxBase) ; •AC- 48 Amazing Computing V5.4 ©1988 Th« Ultimate Video Accessory ^(SffGW by Larry White We're off and running, so let's add some pizazz to our video with some help from Aegis and The Right Answers Group. We introduced our video using a short vignette choreographed with Deluxe Video. Let's add a few graphic frames proclaiming the virtues of Amiga desktop video. (Several excellent titler A good titler will let you create a variety of large, crisp titles using different fonts, colors, and shadows. Video Titler can use any Amiga compatible bit-mapped font, including Zutim Fonts and ColorFonts (made with The Calligrapher from Interactive Softworks). Video Titler comes with a few additional fonts which are well suited for titling applications. slanted, and even tilted, using the Amiga mouse. You can still add any of the styles and various color combi- nations to give you a virtually unlim- ited selection of titles. Video Titler supports a wide variety of resolutions, with interlace available for all modes (required for "video resolu- tion") and two levels of "overscan," Figure 1. fl few of the special fonts that come with video titler. TWenty styles are available for each font. Rgtire 2. Polyfonts can be stretched, tilted, slanted and bent with ease. packages are available for the Amiga, including Brown-Wagh's TV Text and PRO Video CGI, from PVS Publishing.) I just received a software package that's ideal for this purpose: Video Titler, from Aegis. With just a few hours' practice, I was able to create a vibrant title sequence which was played back, with the necessary transitions, by Aegis VideoSeg (in- cluded with Video Titler). Each font can be displayed in a variety of colors and styles, ranging from a simple drop shadow to multi-plane neon styled outlines. Despite this versatility, each font must be available and loaded into memory in the exact size you'll be using. Video Titler comes with one shape font and six special fonts (called polyfonts), which literally stretch the versatility of your titling. These fonts can be stretched vertically, horizontally. "medium," and "severe." Medium might leave a small black border on your video image; "severe" virtually guarantees edge-to-edge Amiga graphics. This increase can slow things down a bit and isn't always necessary. But, with the Hi-Res mode set to severe overscan, you'll have 768 X 480 pixels in NTSC video (768 x 592 if you're using a PAL Amiga). Amazing Computing V3.4 ©1988 49 DESKTOP VIDEO ESKTOP VIDEO DESKTOP VIDEO DESKTOP VIDEO DESKTOP VIDEO DESKTOP VIDEO DESKTOP VIDEO DESKTOP VIDEO DESKTOP VIDEO DESKTOP VIDEO DESKTOP VIDEO Di:SKT3P VIDEO Di:SKTOP VIDEO DESKT^OP VIDEO l5S?5i i5P VrCEO D -SKT D -SKI OP m^m OP m^o DpSKTjOP VIDEO OP VIDEO DESKTOP VIDEO D3SKT0P VIDEO Figure 3. fl tile pattern can make an effective bqckgroand. DESKTC DESKTC DESKTC DESKTC DESKTC DESKTC DESKTC DESKTC DESKTC DESKTC DESKTC Figure A.Thexe three wordi are flipped over eacJi other to create an animated effect of the twinkling stars. Any IFF file can be loaded as a background, but the resolution of the titles will be adjusted to match the resolution and palette of the background. For genlock operation, you can leave the background set to color 0, or use a background with large areas of color where you want the live video to show through. Simple back- grounds can be easily generated with solid colors, graduated colors, or a grid pattern. Text can be stamped or pasted into the background and a profes- sional tile effect (see Figure 3) can be quickly produced. DM. Load 2,-dfi:i>jtE/jv»E0 ifcmtv Uii J.'mjpics/cfuliiieJSui' Fur icl to 3t Jlit 3.5.123,8I.H, 175,11 ;piw 1 Jilt uKtS.ii^tM". -<':?»«» I KM Hit 3,4i7,8S.5j,175,45:pjust 1 Mit uMiM.Hiy.tmt ! and sprites.) This type of animation is especially useful when you want many small items to move across a back- ground, as in the case of a video game. We used this method indirectly when we moved our Amiga logo across the screen with Deluxe Video. Typically, the background is a full screen IFF drawing and the object may be a partial screen IFF picture, such as a brush saved with Deluxe Point. Figure 5. EditForm is a requester that lets you the scene and its transition. If you're sporting enough memory (at least 1,5Mb), you can store the title as a frame in a special type of file called an Anim. (A500 owners, fea r not. Expansion is on the way! I e^xpec: to have mine up to 3 Mb by the nex- installment.) Moving the titlss on the screen and saving them as additional Anim frames allows smooth playback of an animated title. Let's te ke a closer look at Amiga animation. Animation Types and Standards There are three basic types of anima- tion available on the Amiga. The first type uses the Amiga's blitter chip to control the position of a predefined object on the screen. This is the type of animation often used in video arcade games and in home computers, such as the Commodorc-64. Ami- ga BASIC supports two types of objects directly (bobs and sprites) that primarily differ in their speed and number of available colors. (See your AmigaBASIC manual for more on bobs The second type of animation specify available is page flipping. This can be demonstrated easily with pencil and paper. Fold a small piece of paper in half so you have two small attached pages. On the bottom page draw a circle and make one of the smile feces that were popular several years ago. Flip down the top page and trace the face on the bottom page, but change the mouth from a smile to a small circle. Next, roll the tape page around your pencil. Then hold the page at the fold and move the pencil up and down rapidly — the face will appear to be talking! If we create several screen drawings with only slight differences between them, then replace the screens rapidly enough, we'll get the same result. 50 Amazing Computing V3A ©1988 Paint programs make it easy to produce a series of drawings with a few strategic differences. Several page flipping programs are available for the Amiga including AniTm3tion:FlippeT CHash Enterprises), Cell Animator (Microillusions), and Page Flipper (Mindware). Several programs use page flipping or partial page flipping as part of more versatile animation packages. Deluxe Video comes with a utility called framer which lets you use a series of partial page images as your object, thereby letting you animate the object even while the blitter controls its screen position. The Director (Right Answers) lets you flip full or partial pages. To speed up the page flipping and make the animation appear more fluid, most page flipping programs allow you to use double-buffering when you have enough memory. Double- buffering allows the computer to stay a few frames ahead, loading the pictures into memory before they are called for on the screen. The video frame rate is 30 frames jxjr second, but you'll perceive animation at rates of 12 frames per second or faster, since the human eye retains an image for approximately l/12th second. Most page flipping programs work by having you create a script or list of files to be loaded, then dictate the order to put them on the screen. Page flipping is often used by tradi- tional animators to test the motion of their pencil drawings before they make the final eels for animation. Pin- registered pencil drawings may be digitized using Digi-View. To maxi- mize the effect, set the Digi-View color palette to two color (black and white) and save the file as a 2-color IFF file. Page flipping is a very straightforward technique; even simple "slide show" programs work on similar principles, although they often use sophisticated transitions between frames, rather than quickly replacing the screen with the next frame or slide. VideoSeg (for CLIP ART ! For AMIGA' High & Medium resolution files on each disk. Disk 1 ; Computer, Office, Music, School, Travel, Trans. Disk 2 : Business, Sports, Animals, Parly, Religious Disk 3 : Food, Borders, Medicine, Old West, New.slcttcr Disk 4 : Hands, Seasons, Pirates, Tools, Personal, America Theater, Corners, Zoo, Menu, Outdoor Adman's Special: Computer Products Disk 5 Disk 6 $19.95 per disk (AddS2.50 P&Hperorder) Magnetic Images Co, P.O. Box 17422, Phoenix, AZ 85011 (602) 265-7849 Dealer inquiries welcome. Video Special Effects Generator) lets you use transitions such as fades, dissolves, and wipes between your IFF format title frames. Page flipping can be slow and mem- ory intensive, depending on the number of frames in your video. If you don't have a hard drive, you may not be satisfied with the number of frames you can store on a disk, since each frame is a complete IFF screen. There is another way to create this type of animation: by using an Anim format. This type of animation is similar in principle to page flipping, except instead of the storing each frame as a separate IFF file, the first frame is stored, and then only the differences between successive frames are stored. Since frame-to-frame differences must be small for animation to be effective, the resulting large file is much smaller than the total files needed to store individual IFF screens for page flipping. A special program (usually freely distributable) is included with this typ)e of software for playback. There are many different ways to generate the graphics that go into your Anim files, ranging from the manual frame-by-frame storage of Video Titler to the automated Anim recording of VideoScape 3D. Storing and loading Anim files is a rather time consuming process (I've seen it take five full minulra!), but the entire animation is handled as a single file. Anims will typically play back on machines with 512K, although you'll usually need 1Mb or more to record them. Amazing Computing V3.4 ©1988 51 Professional displiiy and animation language for the Amiga'" Envision a creative freedom you've only dreanu'ci ;iboul. Imagine page flipping, color cycling, lext generation, even IHK AMM animations, all combined m she samt lime on the same screen. Now, from the simplest slideshow to the most sophinicatcd desktop video production, that dream comes true with the CMroctor, • Use any IFF images, any resoliilion, any numhcr of colors • Fades, Dissolves, B'its, Wipes. Stencils • Page flip full or partial screens • Preload images, fonts and sounds up to your memory limit • Flexible script-based structure • Basic-like vocabulary: For/Ne,\t. Gosuh Return. If Rise, Endif • .\rilhmelic e.xpressions, random number gencriitor. variables • execute AmijiaDOS commands from the script • I'cxt siring and file input and oulpu! • Keyboard ant! mou>e interacl'on • Digitized soundtrack module • Supports HAM and overscan • Supports IFF ANIM p!aybac< • Built-in drawng coTimands • No copy protection • And much marc . . . The Righl Answers Group D«parlmeiil C Box 3699 Torrance, CA 90510 (213)325-1311 DEMO DISKS $10 cacti Probe SctiUL'nco t5l2k) H0H(1 meg) $69.95 I IrjJcmiTV or Commuduic-Am Check Or nionqy ordcf payable to; Rjgiit Answers I'lus S3 shipping arul h&ndj ing, Cilif. iesii!cnls k6d fi.S% sales tu Unfortunately, not all progra:nis that use Anims use the same anir.i file format. There is an IFF ANlVf file format documented by Comrrtodore- Amiga, but since this is undEirgoing some revision, I can't prepare a list of all the programs using the same Anim format. Sometimes even pro.grams from the same manufacturer or distributor don't use the exact same file format. (At this writing, I believe the Director is compatible with Vitieo Tiller and VideoScape 3D and the Microillusions video products, al- though I have not tried all the p0£;si- bilities.) Anim files from Animate 3D (Byte by Byte) and Hash Enterprises are currently using a different format. Some anim formats even support sound as well as %ddeo. All is not lost however. Several programs are expected shortly that will either capture the frames of any anim one by one and save them in a "standard anim format," or convert files from most anim formats to almost any other anim format. Even so, you can chain various types of anims for your desktop videos by simply stopping and starting your VCR at the appropriate times. Can you use all the various formats together in a single continuous animation? One way would be to use a program called The Director. De- signed to closely resemble AmigaBA- SIC, The Director lets you prepare a script — a sequenced list of instructions. The commands are similar to BASIC with FOR/NEXT, IF/THEN, LOOPing; VARiables, and GOTOs. There are additional video based commands, like Blit, Fade, Display, Dissolve and even Play Anim. If you want to use a CLI command to try to play an incompat- ible anim, there is an Execute com- mand which will send your instruction directly to the CLI. One of The Director's most powerful features is the ability to partial page flip, so you can actually store an entire animation in a single IFF file. To do this, simply load the IFF iile into a buffer and, using the Blit command, designate different sections of the original to the appropriate spot on the display screen. For example, we can put a twinkle in our title by making several copies on a single screen, then highlighting various positions on each copy. On playback, we treat each copy as a single frame, placing it directly on top of the previous frame. (See Figures 5, 6, and 7.) It would take a much longer discus- sion to describe all the capabilities of this program, but one of the most important is the ability to control several animations simultaneously. Depending on available memory, it is possible, for example, to play an anim in one screen quadrant while page flipping in the other three. The Director can write text directly to the screen, keeping it as part of your script and eliminating the need to store text in a larger IFF file. Of course, there's still much more to animation than this: I just received two programs from Hash Enterprises that show n3al potential: Animatjon:Sland and Animation:Effects. They let you do some interesting things with IFF files, such as zoom in and pan the back- ground. More on this next time. •AC* 52 Amazing Computing V3. 4 ©1388 commodore; AMIGA ORDER FORM Your Name/Company- Address City Phone , State . Zip- Qty Descriplion Insider 1000 One full meg of internal RAM with clock Insider 1000 Same as above without Mem chips/socketed Kwikstart 1000 PC board putting Kickl,2 in ROM Multi-Start 500 & 2000 PC board putUng Kickl.l in ROM Drive Extenders 500,1000 & 2000 3 foot DB-23M/F cable Monitor Extenders 500,1000 & 2000 Same as above, cable DB'23 Male/Female Bare connectors only, each DB-23 Hoods To cover connectors, each Mouse 500 & 1000 Original replacement mouse Mouse 2000 Original replacement mouse Internal Drive 500 & 1000 Original 3 1/2 replacement Internal Drive 2000 Origna] 3 1/2 replacement Custom Chips & Parts Availability & Price Price Total $399.95 . $249.95 . 8169.95 . S129.95. $24.95 $24.95 $3.00 $3.00 $69.95 $79.95 $167.00 . S187.00 . $CALL U.S. $3.00 Canada $6.00 Sub Tolal_ Shipping & Handling_ Michigan residents add 4% Sales Tax_ Total VISA, MIC, AMEX, COD (cash or Money Order) Sorry no P.O,'s Order Today (or Call): matltdudj Michigan Software 43345 Grand River Novi, Ml 48050 313 • 348 • 4477 Amiga BBS 313 • 348 • 4479 Amazing Computing V3 .4 ©1988 53 Aegis Development 2210 Wilshire Blvd. Suite 277 Santa Monica,. CA 90403 Video Tifler, VideoScape 3D Brown-Wagh Associates 16795 Lark Ave. Suite 210 Los Gatos, CA 95030 TV Text, TV Show, Zuma Fonts Byte By Byte Arboretum Plaza II 9442 Capitol of Texas Hw>-. N. Suite 150 Austin, TX 78759 Sculpt 3D, Animate 3D Electronic Arts 1820 Gateway Dr. |San Mateo, CA 94404 Deluxe Video/Deluxe Paint II Sappliers: Hash Enterprises 2800 East EVergreen Vancouver,: WA 98661 . Animation: Stand, Ahimatiohi Bffecrts, AnimafoK Flipper Inter Active Soft Works 57 Post St., Suite 811 San Francisco, CA 94104 Calligrapher PVS Publishing 3800 BotteceUi, Suite 40 Lake Oswego, OR 97035 Pro Video CGI, Pro Video Plus Right Answers Group Box 3699 Torrance, CA 90510 The Director Microlllusions 17408 Chalsworth St. Granada; Hills, CA 91344 Ph to n Video, Cell Animator Mindware International 110 Dunlop St. W. Box 22158 Barrie, Ontario, Canada L4m 5R3 Pageflipper NewTek 115 West Crane St. Topeka, KS 66603 Digi-View, Digi-Paint TxEd Plus,., All the Speed and simplicity of the original TxEd, Plus. Modular software is coming. With modular software, different programs talk to each other using a common macro language. Apple Computer, Inc. has started a software division focusing on modular software, and Microsoft Inc's Bill Gates has been talking about it. Modular software lets "multitasking" mean more than just running two programs at the same time; you can run programs together, doing more than each program can do alone and letting you pick exactly the pieces you want to use. O Fully configurable menus and keyboard O Powerful command line language, uses the AEEXX macro processor. O Includes functional AEEXX demo O Many other new features. OUsesARP Vl.l On the Amiga, modular applications are more than just next year's dream. They're available now, with two of the cornerstones ready to go. TxEd Plus, the text editor, and AREXX, the macro processor. Even without the ARE^KX connection, TxEd Plus is the text editor of choice for the Amiga. With AREXX, TxEd Plus becomes more than just a text editor. The configurable menus allow you to create customized applications such as order entry systems, and that's barely scratching the surface of the possibilities. We don't even know wliat the limits are yet. Developers: find out abouti^EXX! The window is wide open. Users: demand AREX51 capability in your software. You can get it now on your Amiga, or w:ut till next year, on a McClone. TxEd Plus $79.95 Microsmiths, Inc PO Box 561, Cambridge, MA 02140 (617) 354-1224 BIX: cheath CIS; 74216,2117 Masa ReEtdenU add 5%. Viea & MC accepted. Amiga i& a LnidcniBrk of Commodore Buaincss Machines, Inc, The term 'McClone* ie a ficlitioUH conglomeration refering Ui nothing in particular. 54 Amazing Computing VS .4 ©1988 Expanding Reference Computing Volume 1 Number 1 Premiere 1986 SuptrSphtm ByKeiryKb^vi An ABasicGrBiihieipn^ Clti Vlrui Bf J FautI A dstse n-ay iZadty^tr Angil EZ'Tbtii byftHyKBj'^Bn frt ABascTemnil proyin UgalUnlt tsy P. K'VoioiwaP'QQftnming lrM& mAjHa^ hiidBCLI tva.UuuB<ig',jd«9dr^tnk;t>eAm>gaOH™ CUSummiqr byQLUAMrjF. A lifl g^ CU mmRntrtfi AmlgiFonm bYB.LubiQn lAvtCoT^puserv*^ Ami^tSIQ C«fflfflod»tAffllgiDtv*leprtiBrMPni]}tirn OfD.Htkt AmJgi Product A Ivtng 9I pmsfil Volume 1 Number 2 March 1 986 Baeowye Am Cmtih Thresh A jbv#h o^ tcnnvfl trox. EA bM*CU:ptr1twQ (XM^ntf ^ivHtgilii OIJH) A Summiry si ED Cemmindt Onlnp an4 th« C^ Fi&ftt }i^ At>M Ucdm ^ J. Fw« 9uptrt(rm V I J By K. KftLffrmin A torn. prag. m Mvigt Bwc AWof^btnehlleri-piflgiifn by FMiMitii Amlgi Baa iUinbpn Volume! Numbers Apiil1986 Arafyat b Vf^m iff ErneK VNwoi Rwitirt o( Rfcrw, Stj^ucat tnd UndahadoM FflTthl Tt* irn of HI on^otng Lttnif EMuxi Driwil by R. Wnfi f/\ An^ Banc a1 [ngnm Anlgi Italc, A&agihnanutartal hri0vCU:pvl3 CrrOnrgaUunv 0«9iO««w*u*FV€ OurFK»t rcrrmrirl V0U> Own IBMS l/tft Volume 1 Number 4 May19S6 SkyF«i vd Artcfci Rwinnd Bdld)reue«m51^Df{vtCain*eUf &f£tritaVmtat Salinptr Pirl Oni b; P. Km^ffwa prog D Frvrt Am^ ircnen IHcrenft CO HOU Confvaia byJfnOtbtM AjnlgaBBS^mtafi Volume 1 Numbers 1966 ThtHaibiROB ConwalDn Tool by S. P^v^rKCZ Coior manpiiWofi in BASC ATirgiHotiibyF^ckFlaa ThA JintDfBvM^kgamvKCOflJrnrq SldanrAFintLo^ by John Four Airst'i^xisrthvhosd' Jerw Fouit Tahi with R. JL Mai ilCOhCex™ Hew doaa SMacar atfiCttha Trintformar inmlrwawwti Dw^h Wpnar O^Simii* T!\iCominDdoriLiysl1iby J. Foust AI«fiCammMlot«*euti* Scrimp* Pari Ttra Cry P«rry Kivde«K3 UiraudBf rtvlawad I}y fVoi Mitfi BuldingTodtby DarHi KAry nmazing Computing User Group l«*iiiS3^»^ Volume 1 Number 6 t986 Tafnj^i af Af»htl Tritf ogy i«vi*wJ Oy Stop'wn pftjwici ThtHal^ Pf ojad: A Uidon In cur Solar SyitHn «M«fld by SBphsn Rat^trwcZ Roar; rw^mmd by Erv 6«» T#itaiR iPlui a Firct Look tiy Jo« Lwvry Kow to *tir1 iwf awn Anlga Uaar ar«up bfWHm Srrpaon AmJgt Uiw Craupa IhUJng Lift IJyKtfVKBJl^inibtKinal IHprogim PolniM b?iaga Ediis bySvphan R«VN*a So^mpar: pwl Oina Qy FVry JCvabMtt fvn Wlffi tia Affltga ctiK C«fnnii«r by T>i«rn Slri/^ OplnUa Your AniIgaBuJe Piogrinii tor S^tttd by PitfrMict §r% Volume 1 Number 7 1986 AaglaDrN:CAD ctmaauitM Amlgt byKal^y AcFsm Try 3D byJioi Mmcfcrvw anlnk'cKtLKtan toSDgrapMci AagEihttget^ Antiulcer: i i«ww by Erv Bo^bo DflLtit Vldio ConrtruQlan Sat mMwvd by Joa Unwy Window nquHtan In AriilBi Bult by Siav« hhMl HOT ByCcJrnFiwxtitSOflfiphCTrttor 1 C What I Think' Ron F^vmn wti iIbwC grap^progi TfiurUvruSlil byBC«!ir|r pograrr Afni^SB&crrwft^aa FFBruihta AffllgiBai^c-BOr 8«« «*& 0|' U Swrngv Ufldn^j C Progrtmi with AHwnblwIlwlnH of) tha Amifp IsyGttiMhM Volume 1 Numbers 1966 T>«UrdMil>llr]f Atnl^ ByaGlftibb kmt^t inropdE atWashogton State LWwfiity MIcnjEd a too^ a: i on« man timy fw lie Amtgi HIcnEdiThiLMlaand QirkEipBdllJon r«nMd Friallf aalbtdaVvilonSLfl travwur C vnputr t [n tha CPuirnMn by Robwl Frial^ Two lor Stxidy by Ffio-io Oii«nwy ft ThaTallung Cobn^ Bogilt Trua Baalc tvrvnKf 07 Brad Omar Ullrtg yeur prijntK With tht Anlfla liarUa Mtfnwa 'ew«i«a by SxpnenPisTovKZ UidrvgFontafrMi AiYilgaBuJeEy7iA Jan«a BcmnStVar Jiy P. KvalowraAngniftr frolKSonprOfl.inC Uttic* HAKE Utll^ wr««ed by Scot: P. Ewrndon A Trii of TTvta EMACS by Sw« Pulirg ^mipFlla R«idarlnAnil9«B«ricb]rTJon«t Volume 1 Number 9 19B6 Initint MLrtle R*vi««w« by S»w Pietowci Undwtbitr P^w9tfe0fRio:trtKr»^m Pv«ArigriU>m«7Bav4 Hffw q wW EnrflchWi-di JtU ftvvvMd Df Jri Jrd CH Kv: frr^uJi^a OrtEtory A guM a r« b^km inl rwj.juf AnilgtO*v*l«p*rt Attl'^alSuepiaftjneDwvxwi PuMIe Oomdn CatilBg A hrtng vf JVrojI ird Fred Fffi PO& Ddi 3 &a* rwrvw ft Kri«Of Tnnchr 1M to-n PC/US-DOS and A.-Tiig«BaK Hicinin rwowi ErRKJursKnMtwrThe^F^iSpfWKlifiwt CJjnCbE bgr Wv^«Md by Pvtef Wipsr AT>gi atul Emk prSQ. u *¥ yOLf VilrU&' tiptart. Surdng Tout Own Ainlpt Ariibd Surinavt tiy W Sr^fifivi Ka^iTrich of Tour luthnmUMgtfer TuM DyJ.KL/^rw Th« AbHn A/nJga Fwtrin Comp^kif vi'iAnM by R A. R*ai« U«irTj)Fontitroni AnlgiSuk,PlftTwD by Tin Jonat HKChkcrevoniht A/nl^ bf 0. Hul Mwv* jre^ ■t*ii^. TtA IbdiAJ Anlgi Compltpr wiwby SFbwu* Volume 2 Numbtr 11987 WhitCKfl-Vltwh- Or.Witav^lachfrovldttfbyJ FouB Art^lgfaBidc OifuR Coton tff SytP C*9fy ArrljfiBiacTnH Sjr&Trr Cit*y A Pk«lhC Ogm^n Ue4uU.3 9r«« r*nftMd br Wltwi Boo U»igLir»c»Ci»r:»»ng*ffTwi w/tmm A Ibgibirti Wthu/t UigM'Vdu byChra hr^g Ogl^VlBW rff^«w«d by Ed JjjioEv' ftirfindir of Ih« Ci qhti r*V)W«d by Ksiti Cof^fS Uidtf Bet^ xaxwnd by ( ixx ^a;A}ni Roundhl I Cpmpvtw ^l^Uin'i PANEL i«>vi4M«d by Ray Lvnca DlBil<Piirt--by H»w Till cr tvwwd by Jphn Fouflt Mi/JU Ptint I -tram E]H;tronlc AittpWWMd by J.FbuB Volume 2 Number 2 1987 ThiModHTibyJottfiL Rerimiri0lf3rtia*«BBSSyiq] UtereliaiNnn wvwd by Skphafi F|. Retnua G£liHer'hkkaatwplgT«iB«- byJ-nMtuoM Gf.'TiiG &«i«tt^ rKnr>w SBI^PC I iWMtc b; S»(ywi R, Pi*i^nKz Thi Tr«ubl« Htr XmodMn bf .'oMph L Fkjrmtn 1h« ACQ Piajw±_Ori0Ne T««cen1nndng en «w Anl^ by S. ft Pirrowci RIgihl 31fflu4ltv l_Jk CriM County TulcHri by Jo^nRifliry A Otk Ubnriin In AmlpiBASK by Jq.'yi Konr^n CrilVAg ind Udng Artilgt Wvkbtnch Icona by C. HtRM AmtgkDOSvvMiQn UoyOiflciti toil PllA^uiTG MH IntrfutbuldyournrntiyRhcrvvdRs AnIgiOOS OpviOng 9yilvn Cil1| ip4 Qit F^lt MiiMgimnt byO hiyrm W«Ung ifitfi OV WerHMrwh By Ld Jt A ilvr.aJui prag r C Volume 2 Number 3 T>ia Anlgt llOOff"' by J Fpwl AFril loihuwnaw.h^tnd Am^in* "Ihi An lg» SOT* by John Fui* A ii»< D ntfW*. 'cm [rod Hr'^t An Antlytla ol Ih* tfaw Amlgi PC« tlf J. FouC SencJilon 9n r»Nw An^u CamJnri PinibyJnUBKtoM Th««ncJk^ng mcM on tan^cyvrganM aitaHifSrU tnd SufMTKriptf In AmlgiBASC by frt.i G Snith Th* Wimw Certsimiar El«c»«nkt »i(MOy Jo^n Fou« AmlgiTjiitTW Bk* A.~l9l™l^a^ClJE tnVHtn CtdgM by HAff<«! Mdyb«diTDl)y A|Ou'f*yfT[x^ p»clg*l-Hnfl,uii%C ftirghd tw^mna t>y Kii?i M Corfon ChMvrii«K?OOeKChHknita vywwedby Edwfl V. Apd, >. UngT ^eni Utjidm BUttrnM* 'nrntrnd by Ed Bvowa Fortil by JCfn B^in G*: Arvo »«,n(j mE ydij Fom, Brtff«nn. AiMmMjf Unpuiig* qn fi* Aml{|t™ Dy Ont Uinfi Roanan ty r^eevtog G»^ckki ara firtaiy nippng. t MOfElfl ApilfliNotMbyR.R»flK/*iBui*n , ■Hortreo?Yrvat?_. Th» AHCUS NMmrk by J, Fogtl CES^uaarj^a^iltMlincJAfniga Eipd' lE.fu: fi^ ippipnp* ■"■»» Volume 2 Number 4 1987 A^^ujngi Irtwvtnn An StcNbyS-hU JiffiptAnfl Ihi Uouia Thit Cbl PaUvtd tJt■)vryH^'^ md Bob l^ioM SuftHng Publil£ DenviEn Dakt wiOi CU by Jann Foi^vi HgJllkOhti trwn tM San f nildaca Comrnodcra Kipw bySHul SpHVtr SHilona:3tni fttn^ttaCotrmoriwtSttommttiy TbiHAuitWddlnvntKy dfitm In ArrbgaBA9K^ StfTiti of 30Hn Oumpi by Ne3cjn Ocrn UiJng Function )C#p «<fv htlcrDEmaca Dy &ag Dqu^fi AmiaitfilPjiWifvBcoi Ma's A-"^s mota Bt«eCidCKibyBrr)Cc*y C/mb^h^LiAiik Cfid'sn 'f***« By K. Co-iVt Bei •wfi* •v lr^ Ar^t 9ut FIlM I V»f ddn 2.1 ••>r««««i by J Triey V'lgariSpaa ThaTWr^srawaflbyJ Fojf; BitWrypff***) C«ot Ct^TJ* UiaKOfM iwnmm by K Tv!y Ai bu/-id-uh MOi-gQW Volunr*2Numbe'5 1987 TVii Pvr^it Sound D^tlipr nevM by R. Bt^l Tht RjUirt Seund DglSfw i]y W. BiQ^i A£«l«d V^von'^ £D Ffflh! by J. BTflncarptflng JFo^^ itnj l*/jf anil itliclrtp^by B.Cc9^ Ar^^iBASlC irioul («ulr^ tar ua* in Wrhlng I SoundSeiptUodiiMiinCbyT.Fqi PFogrtmn-ng Mfi MOi, Ariigi and SoundSc&pa by SounoScipt iuTidr. PtsgrvnRiIng ki aOH Aan nUy Lmguagt dy C Uartn Ufk^flFvtur«Segr4w4lhArkgaBAaiCbyJ Maaiam ArgiBA£.|CP^»r-iT^u;tTyw^ '••l.flfflwl STEftO AnlgjMD-aaby ft Ma* A ww of Umtha 30 i/yiScti» Sound S«r«Mr. Ifcra AiTilgaMolaitiyR Rh A '•xtv *n*m of Suira'j R»*a Soirri Wtvttenr Wottri^Cfi In A/n giBASICbyJ &>atiit4i$ m« 'M^'vm l^r un n ??wr AnigaBASK; (ro^arriL Ihi Hnilct Pro HOt 9tudld Dy SJIvir, JHIwy Ar»v««<ilUrmaacj'(Tn;K«*ftr.V«yW. JnMflenaa4git*Ptr1llt>it K HiyHcicToliy Booiaui^adQatt Volume 2 Numbers 1987 FDrt>! by J Orftr Vwu 'Ho^n* n ^B RCU Iten^ll- Tht Afflulnj Cwnpiring Hli/d Q^ Rnlp* by J. FbjiI & £. LHTT^n Kdn^iggicimCLkl. Ha'd [>vt,M>crabd)ur UA$'Oni*2Q.ervMbyBy*'iPM.Jr., £up^'t4i4Hird{>-H ■nd Xaboc'i 9720K Hi4 [>lv». Mta. i bok n d* #iw HftMiri durwiay indar davtapmmL llDduli'JARilgtOOS^lMltfHDyS FbMtzwfi A CiV t !d Ai- •( rfX£ and nv FOi Ivnri. Amiga Eipanalen PFl(rf*ril by J. FouS AmfiSt ^»d^t4td Support tjf J ¥ajr\ hi-m trC nf^tm "a gt^Arr^atoi^ ■41001 <lo«dbyiLMCdU*byJ Pautt Cloang UiGabu T>i« Amicui hMwork by J F<ruti VVatlCMit Compjw Fa'K |%t«S9fflf:o9ifllindToelkHbyJ FouB Ar#n«H ThdUlQleSubyJ.Fautr Run Mic^ag'a-niqnynr Anigt. Wial ¥cu 9hou(4l Xnqw Bff^l ChOMl^g HI Affllj)! 1000 Eipinilofi D*vk:« by £. Qn.11 7 AHVFiblwi f« m* Amlgii by G. HJi Cftoa»yK.i itwrblv High Laval Shakiup f^ifiic** T«p tomgwninl it C«niniod(Ktbj)S. HJI PlUrjeacior^S Hul Ua-vfer ilC8UgvattninK)alGDh loglllK Arw^pwbyacrnrtfK-flefW OrgvMiV by A fwiw Rcnoil Kr^opptf dBMH. MOQDAHtflibty Lingutgt Pnyimnibij at tii Amigi byi>r»Ur>i Supartuaa Pvionil RilrtiloniJ Dititoui by Rty UcCtb* AmlgtHotWDyRM.RoiMrdAFaakB: FulireSt^ml CofflRii^tfori Shpw< Ih« Afnigi iPOO ind 500 It t)l SoKop Cwnpjtv Sodicy by H UtyMCK Toty Volume 2, Number? 19B7 MvBratd of VldaoProductabr Johr Four. ViryWTldl OyTTGrBirji. VldtD tmf Vovr Affilgi by Q«i Sar^i ri Affl^tatWHtiv PoracBafingbyBivniJrilH'Bvi A-Squind antf tht Uv*l VktM Oglllrv 93y iahn FcuiL AiQiaAniniitor Script! md C«4 AnlmtdonbyJu^nFpvil OuLJtirVldabrwm tOualliy Com pufaf by Ortr SvxM IL lllFFRBattyB9ta!iclird?brJc^ FouK.. Amukig SiviM md n Afflilf ft^ By Jehn FifjtL All liHWt PrlRW Drhrwa by Ronald Baiaic htUlon Gtd|Mt by Ha-nr Utjtwn Tai«y. Oali.Ta VIdM 1 J by B* E* Fy» VUh CG1 by Oli. Sanot 111 Dgi-VIn £0 Dighnr^g^fHn by J*inrtr M. JnK ^vmHAMEdiwrrqiin Impjiaabr Jd'v^'^M-Jiinlt Eify<ifrnrini{i9bl*tbyJ4m Fvual. CSA'tTiMbo-Amlgi Tpwfr by Aihid Aturto filOCd A«*«mb'!r Linguist by Qifli Unn. j^nazing »n'E'AM . Ammw Volume 2, Number S 1987 SCM, Earl Wbbvb' BaseCelV Paftt), "R^ Surgeon, Lta Cotpuier RiO(>A. Srfiad.SlirGdflr. King'iQvffi',l.lla,-:4 III F»7 Tb* ^Otvy-j'^. mtiT* III Faoeti of tewnt;^, Vnim VogHincjBwa'tTak. Pkii AmtzInQ rfionWy ctfutinL.. Amiga Nok, Rocrreff , hl(KJLilB-2, G&OOO Ass«noly Liiguagtind D^a Aiicjt h«rnQm. tlM CotorFontt StS'ndi'd byJohn FoLst Sitfnny C Progrimi by Hobe^ Reneriiie, Jr. Hlddin UoHigii h Yolt Am pgi^by John Feutt ThtCanmnvH ElKtwia Show ind ComdBz.Oy J ^oi^t Volume 2 Number 12 1987 Tha UlinilB VldBo AccvHory 1?^ Liryl^'B Thi Scnif Coiviicton byS»»«r:C5M ^^-Puuliln AnlpiBASIC syZ^Can Sap«^ Uta.Pull: Thf epglr^n^nj; by !>rt<JHul T>Wi/ti-o:rrp«)(ir«trit»lrMn art "GiTifllLta.' AMlglVlmt! by John Fuji: A new An^i trryj i-jinj^ioed. Peas* tfwrt you' sy5»n. CU Arguminli ki C by F>b-j1 Cacnrgugy UDIinterftetAdlpW by Barry Musan Ariga :CM-5Yh WlQI in*r!KW can ft A2W0S orSOOi |Uoduii-3oy S^e^ftwsznvttJ Fmt in t saf^et, ■ cummft^ ln« caiculBlw' in Motum-?. AmlgiNaMaby Rie^trdRH Tha (kJdia chanQM mad» iri irw Aai>9& 509 and SKO. AnJmilonforCRDoldM; l^nill by M. SwneeN- tidtiTig dQ'jt>«-bi/fe(i'^. Tho Big Rcaid by Wif*i Ring AmijaTV Asnmbly I*rigi^g9 pfog-flrr^niing V f^ bflwl KviteKid Rnlfwsy Sxjrer^R. PeriCw£i G0!64rnln»by Ja'nFwJtJaTesOKeE^e. ardftcKWicti T+ve* C-W wceTS ■nwtt9SB i r«w A^ri 91 &iftTi>aTir. ArTfcllt-PlutRprlaw by &«Td an Larson *Fj-1«jg«3 fci-nal phTHJ-an^S TATonks Clps&')les Caliigf ipKar Ra/lw by Jot FouR Aninaur: AAJftnlaHtvlMby JaririFftjE PliylnBDynimIc Drumi onpia Amigt by DavKl N &irk WvdPartictRivlflw by SwbHlI Intlde/.Kwdkiart RtirlM by E'rvttP. Vva^os Br RAM AflOMflipeinn: ConrnvraaTtf rttraMT.tips. Bug flytBt xtf Jor.n Sarw Forth! By Jon Bryin DijrnDfPiytuiS'ryto'yiM/Mus-ForJitMrbot At I 9« It by EodiaQu'c^tl An oBtiMtlook QT Diff-PBrt, Piytal^ and VtfBoic^se 3D. Thi AmluaNtTwark tiy JenrtFftjK 1>« C«niniodgr« Showmd Ani&tpo: Nvw YorHi {Continued on Page 111) Vofume 2 Number 9 19G7 AnalyzB 2Ji v^swH tpy Kfr^ Scna^r Wi pact Bultnns Gnpfik:a 'even by O jck RdjQM.S Hcroflcin« tAwfVM by H&'v LBS«f PifleKHK wvfw by Ft* Wich GIotm PFpdujfllirily S^l U'Vv^M &^ B9&£i!*F KickwcHi Fflyewr by Hbjv Luv Hgt Tvloummunletflona Pukaga rv; av^ S;eM H jr Mouaa Tlmi and pmaanv nmnv iTf John FcjH hridw Memory Eipanalon wew by Jitm QK«'w Maobotiea 5tirbMFd-3 leumv by S. Ffti^iUAvwi Leithar Goddnaa at Phoboa <^vefMvi by KvF*: Mayb«ti-To(y Lattice C CompilBr VwalDnllOnvwedby Gary Sar^f Mini "iAt Upditt «i'iM«d bjf J^hn Foust AC-BASIC rev«ft«J Cy &mldDn te*rafl A&BASC CarrpllJar an a^morw canps'ssiir by B Ca:«y Moduli-IPrpgrimmlj^ SFkivueMt^' Riw CofltM D»^ce Evwa Dinclory Llatlngi Urvdl« AnIgaOOS by Ova Hvyn^ Am)gieA9C Piaa>rna by Br^a'^ Cr«y Pregnmn^inf i*(ti Sourtdactpa ToOir Fay rraTpjsS's la— T^es Bill Voik, Vln-PiMidmt A«0li Dn^cpm^t i.nw«Y«M Dy Sm« Hu I Jm Goadn'ow, DavAofnr dI hhnjc 'C rlarvaw by Norret M Ta'^ Volume 2 Number 10 1987 Vki Haitjroom ind tha Amiga by Ja^n Fs^E TilCng^aParfidScnan ShoIbyKai^ Catrhin Amigi Artit: Brim Wiiijumiby jg^n Hji\ Amiga FoFun on Corf^puaBrv«™"S»nwvtPutaltahhg Cof^ar^ncf Tranacripl by Rd'-i'd Rbb ATI About Onllna ConTvandng by Richuti RaA dBJiCAN.-«i/49wed by C^H^d K*it Amiga PaaciJ meMod by Mid-ael McMail AC4A51C Com pilar rovmwd by Brya:! CtBfl|r Bu; 8ylea by John &t»i«r AriigE holBi by Richa.^] Raa RpompraiTy The Bandit GBOX Aaaembly LinguagabyChiEMrtn TTiB AMICUS NctwoFli by JiT-^ Foutt An-ga Propfaftmlng: Am.ga BASIC SlrucbJraa by S^ivs Mchel Quick and Dirty Boba by Mchnv Swnger DrKt&ry Uatingk Undar An^ kgt-DOS, Pvi I by Dtv« hUyne Fa« Rii L'9 win l«odurt-2 By S**« Furwurws^ WlrMfnv 10 by Reaa Pwrnofe Your Resource to the Vofume2Number11 1987 Word Pioceaaaa Rjniaown by Geot! Gamt^ PfoW-.T*. ScDO*". arMWyflftriBcTMrtipajBd LPO Wfitir flavifw 5y Ma-ar: 0*t3 VlaWrtte RwEr* by Hafv Las* A*dltR|v<BwbyWa-™n a,3oi WordPerlect Pra»fw( by Ha'v LiM- Ju 3an Inmliw bf Ed Sfcow^'j ThaauTiaroiSM'GWr (psital Dfrlt'ynjrtainmproviiTiantatDthi Amiga Qarriodi a jl-P*!nt Review by HsfvLasw Sculpt Xi RevJrw by S'lsve P«rawEZ $hadawgrta Ravi aw by Linda KapiRn TBleGamHRevlpwoyMc^.ael T. Cobral Rhmhi Pnviaw: a q->ck ink at an ii^Br>M ^-Afnrf ar «un nassfl app^ci^An Aa I Bai h by Ebaa Cnynifvn FWimg •iWwPirlac; Giroi VZO andZ.ng' Kflyt Bug Byiu by Js^yi Slfrntr XTiigiHotBt Cy Pi Ri* i fliacTsr'cmyw; bwkl MotfLflfr'? Prognmrnln^ b<ySrwFfewuBiH« oav^As. kO. a'0 T4 Wrii pa^ Roonaraby T^vBa'tita HOOQ Ajtarnbiy Linguas* by On hlii-i Orii «i-mr'Su9nr*0iaayfSuSf^« Iha AUCU9 Netav k by Jq-tt Fault D«i(ap P'-oijiit; i SeytwWJ C Anlffiatorf hnl by Mt4 Smr^' A'>'^atonOl>)KB 8A3IC Toxt by B-ian Cal«y Pxal pa-^ac! ki^ fnttriing SpundaeipaPiriHDyT«lo'Ffy VU MmsriPdmwt Fun vrih Amlgi HjmtHraby AlanBa'rwi File BtMraar by Bryrn CtiiBy Fu! FoaitiW BASIC Fi'o Browsr^jbti";*^ Commodore Amiga TM The phrase above is not just empty words. The pages of Amazing Cranputing™ are filled with articles on technical c^rattons and procedures, basic use, and just-plain-fun. The growing library of Amazing Back Issues contains articles from building your own IBM Disk controller, to setting up your own startup sequence. Amazing Computing™ has repeatedly been the first magazine to offer the Amiga users solid, indcplh reviews and hands on articles for their machines. Amazing Computing™ was the first magazine lo docutnent CLI Amazing Computing™ was the fiist to show Sidecar™ from COMDEX™ in full detail. Amazing Computing'™ was the first to document a S 1/4 drive connector Amazing Computing™ was the first with a 1 Meg Amiga upgrade hardware project! Amazing Compuling™ was the fjrst magazine to offer .serious programming example.<; and help. Amazing Computing™ was the first to offer Public Domain Software at reasonable prices. Amazing Computing'™ was the first magazine with the user in mind! From the Beginning Since February 19S6, Amazing Computing'™ has been providing users with complete infomialion for their Amiga. This store house of programs and information is still available through our back issues. Frcsn the Premiere issue lo the present, there arc insights into the Amiga that any user wUl find usefull. $4.00 each! Our Back Issue price is stili $4,00 per issue! (Foreign orders, please add SI .00 per issue for Postage & Handling. All payments must be made by check or money order in U.S. funds drawn on a U.S. Bank.) Limited Supply Unforunalcly, nothing lasts forever, and the availabilty of some of our Back Issues is definitely limited. Please complete your Amazing Computing'™ Library today, while these issues arc still available. Please complete the order form in the rear of this issue and mail with check or money order to: Back Issues, PiM Publications, Inc., P.O. Box 869, Fall River, MA 02722 (Please allow 4 to 6 weeks for delivery) Upgrade Your A1000 to Amiga WOO users who are interested in exploring tlie Amiga's musical applications. By Howard Bassen I bought an Amiga 1000 in 1985 partly for its unique sampled sound capabili- ties. As an electronic enginejr and amateur musician, I had a qualified interest in the Amiga's 8-bit, 28 KHz sampled sound system, with four si- multaneous voices. In this respect, the Amiga is very similar to MIC'I sampled sound "synthesizer" units. After I got my Amiga and experi- mented with some sampled-SDund demo disks, I was somewhat disap pointed to find, while the Amiga could record and play back sounds at 28 KHz sampHng rate, the audic circuitry had a low pass filter that cut out all frequencies above about 5.5 ^'i^z. This drawback kept the audio quality of the Amiga's sound system out of the "high fidelity" category (which includes even the cheapest portable stereo systems). In early 1986, I began hearing rumors about a "fix" for the audio output of the Amiga 1000 to boost the high frequency response emd give the Amiga true "high fidelity" sound. In mid 1987, after getting a MIDI key- board synthesizer and Pro-Midi Studio Software, I was ready to add Sampled sounds to my personal digital record- ing studio. Discussions on local and national electronic bulletin boards mentioned putting jumpers acToss several pins on one chip inside the Amiga. These messages gave conflict- ing information about the "fi>:,"even listing different chips to be modifitri. I was hesitant to make the modifica- tion (short circuit two pins of a chip) without having full technical details. One bulletin board message named a Commodore engineer who gave the details on the "official" Amiga 1000 audio fix. When I spoke to this Commodore staff member, he not only explained how to perform this fix, he also said the Amiga 500 and 2000 would have this modification designed into their audio circuitry. In these newer Amigas, this modification (a low pass filter bypass) gave the newer systems a high-frequency "boost" and was software selectable. After hearing this, I had some technical discussions with a few experienced hardware developers in my local Amiga users group, and was able to review the hardware schematics for the 1000. I then felt confident about the modifica- tion. After I installed the audio circuit modification, I performed real time comparisons of the same digitized sounds played through the original and modified audio circuitry. My audio upgrade produced performance equal to that of the 500 and 2000. For all properly recorded sampled sounds, the results are always equal or belter sounding than sounds played through the old Amiga audio system (particu- larly percussion instruments like snare drums and cymbals). The most dramatic improvement occurs when you play an entire musical piece, with drums, digitized voices, and a variety of other instruments. Amiga 1000 users who are interest«i in exploring the Amiga's musical applications, but can't afford a dedi- cated MIDI sampler, should install this simple upgrade. You will need a few hours to perform the hardware modification, be sure to have the proper audio playback equipment (a high-fidelity amplifier and an inexpen- sive 7 or 10 band frequency equalizer). Amiga 500 and 2000 owners can simply switch off the audio filter with a software command and connect a graphic equalizer and high fidelity amplifier to get the same improvement in their system's audio performance. Factors That Affect the Quality of an Audio System The Amiga 500, 1000, and 2000 are the only personal computers that provide digitally-sampled audio as a standard feature. This type of audio recording and playback technology is also used in compact disc (CD) audio systems and in expensive, musical sampling keyboard synthesizers. Several parameters affect the fidelity of an audio recording/playback system. If we examine the specifications of the Amiga's digital audio hardware and compare it to the digital audio circuitry in CD audio systems and keyboard synthesizers, we can under- stand the capabilities and limitaHons of the Amiga audio system. We can then factor this understanding into the modifications needed to upgrade the system's performance. 58 Amazing Computing V5.4 ©1988 500/2000 Audio Power but can't afford a dedicated MIDI sampler, should install this simple upgrade. Frequency Response The audio-frequency spectrum for musical sounds covers a wide range of pure tones, or pitches, from the Bass pitch of 100 cycles per second (100 Hz) to the Treble pitch (3500Hz or 3,5KHz). Most musical instruments produce fundamental sounds from about 200 to 1000 Hz, but their higher frequency overtones, or harmonics, give instruments their unique sound. This is why high fidelity audio products usually provide a frequency response of about 50 to ISKHz. Compared with hi-fi systems, such as CD players and portable FM radio and cassette tape players, the performance of the Amiga lOOO's audio system is quite limited. The second generation Amiga models attempt to provide high fidelty performance through a soft- ware<ontrolled high-frequency "boost." 1 have seen at least two public domain programs that let you activate this feature on the 500 and 2000. One such program, titled "LED," was written by the author of SONIX. (It is called "LED" because it dims the red Light Emitting Diode (LED) — the "power on" indicator on the Amiga.) The "fix" I will describe for the Amiga 1000 allows you to obtain the same improvement in high frequency response after you install a simple hardware modification inside the computer chassis. Distortion of the Audio Signal The distortion of the original signal is usually expressed as the number of unwanted, artificial frequencies an audio system introduces. In For Analog audio systems, distortion is limited to integer multiples of the input frequency. For example, recording a pure 1 KHz sine wave with an imperfect audio tape deck produces a small amount of additional 2 KHz, 3 KHz and higher integral multiples (harmonics) in the audio output signal. In digitally sampled audio systems, another type of distortion occurs. This type of sampling distortion is termed Aliasing, and occurs if the sampling rate is too low compared to the high- frequency content of the audio signals. This distortion can offset the improve- ments in sound quality digital audio systems can produce. The magnitude of unwanted distortion in digital audio systems is determined by the sampling rate and the low pass filtering used during sound recording or playback. In theory, to properly record and reproduce sounds by digital sampling, the frequency of sampling you use when performing digital recording and playback must be at least twice the highest frequency (including all desired overtones) present in the original sound. This provides all of the information present in the original sound. After digitally recording or playing back a sound, you must eliminate the "aliasing distortion" occuring in any high-fidelity digital audio system, including compact disc (CD). High performance digital audio systems use very high sampling rates, as well as a specially designed low pass filter. The filter removes high frequency aliasing signals created during digital sam- pling. In CD audio playback systems, sampling rates of 44 KHz and sophisti- cated low pass filters are used. The filter is installed to remove (attenuate) frequencies above approximately 20 KHz, so no desired sounds are lost, while all unwanted distortion noises are eliminated during playback. With the Amiga, you can record audio material (like speech or "arcade game" sound effects) at sampling rates below 10 KHz and still get acceptable sound quality, while conserving the computer's chip memory. When audio information is recorded or played back at low sampling rates with an Amiga, the built-in low pass filler cuts off all audio frequencies above approximately 5 KHz. This approach eliminates aliasing distortion, but the low pass filter destroys the computer's ability to provide "high fidelity" audio repro- duction of sounds recorded and played back at high sampling rates (up to 28 KHz). Dynamic Range The dynamic range and the signal-to- noise ratio of a digital audio system are interrelated. Dynamic range (continued) Amazing Computing V3 A ©1988 59 r^iri Uili IjKn "•• ^1. "" -i- "' 1» "" fil "• *is , ^«. 'JE " JS -JS JJ5 Ejs -y^^A^ full ivi -J I — It- L^li Aoda (baiiaeto -^^A^r- ^ i.xa I.M) WUl HKa 'te °TC ^P 5tS Sp .7AAA\^ nil Mm iKa Figure 2: Audio Section Schematic S>i "-Til n0ht AiHfo HaoaptHta i; Test Point 1J3 " JG -JS ijs SJG -vv%^^ --V\A/V- ^ L*l A4Jdlo R«c*p4ict» ». Test Point Figure 3a: Simple Ilardioired Modification Rlghl Audki RKtfrtKl* / i.7Kn 1/8 Watt ■ Shielded Cable r Phono Plug _L20 unAmfcm noQ ij<a ilKA H« g >-_ "• ;i. "• ,i; "' ,1s - ;is »- lis HI Ifc- eii CM -VvA/t- 9>i sSi 5-p3 Hltiri "1 ixOi u(a HXfl 11/11 tirt 'j5 'te "js i-rl EJ5 tWAH J'^re 56: Dual Mode Modification 4.7KQ 1/8 Watt X no 60 Amazing Computing V3.4 ©1988 describes the span of volume levels — from the quietest to the loudest sound — that can be recorded and played back by a system. The quietest sound must be audible above the audio system's electronic background noise, while the loudest sound must not overdrive the audio circuitry, producing harmonic distortion. CD systems offer 14 or 16 bit recording, which yields about 90 to 96 db of dynamic range. The Amiga has an 8- bit sampling system that limits the system's dynamic range to about 48 db. The Amiga actually has an extra 6-bit "volume control" for each audio channel which can be adjusted in real time by software commands to enhance the dynamic range of the system. It is difficult to write software that changes the volume of a stored, sampled sound during playback. However, Mimetics has incorporated an audio signal compression scheme for their audio sampler hardware that uses real-time software to extend the dynamic range of their audio products. This feature would be welcome in future musical software products. Figure 1 compares the performance of the Amiga sound system to modern home audio equipment. Of course, using an Amiga with a good audio amplifier and high fidelity speakers or headphones is a must. If you use the little audio amplifier and speaker in the Amiga 1080 video monitor, the quality of the sound will be "lo-fi," regardless of fixes added to the computer's audio circuitry. Each performance parameter discussed above can be optimized in a digitally- sampled audio system, but the process requires expensive analog-to-digital and digital-to-analog conversion circuitry, and a very large amount of digital storage, either in RAM, or on a magnetic or optical disk. If you use a 16-bit analog-to-digital converter to sample a sound at a rate of 44 KHz (as in CD audio systems), hundreds of kilobits of data must be stored on an optical compact disk for every second of audio material recorded. Compact discs have a capacity of hundreds of millions of bits (hundreds of mega- bytes), but Amigas can use only their 512K chip memory — equaling 4,096 kilobits — to hold all sampled sound data and graphics (including the Workbench and text screens). The memory available for real-time sampled sound performance cannot be increased by adding "expansion RAM" boards. Coals of My Amiga 1000 Upgrade As the data in Figure 1 shows, there is room for improvement in the fre- quency response of the Amiga's audio system. I wanted to perform a simple upgrade on my computer to optimize the audio performance of my model 1000 while satisfying the following goals: A. To improve the high-frequency response of the audio system without introducing a significant amount of distortion. This requirement would be necessary for all types of sampled sounds, both high-fidelity musical sounds and low-fidelity sounds, like digitized speech. B. To minimize the number of "de- structive" hardware modifications that would require alterations of the Amiga's printed circuit boards and soldered components. 1 wanted these modifications to be simple and quick; I did not want my computer down for more than a few hours. 1 did not want to keep the computer chassis opened up while experimenting with circuit designs and modifications inside the machine. 1 would rather perform modifications and "add-ons" outside the machine by sending the "raw" signal out to the audio recep- tacles on the back of the computer chassis. In addition, I wanted to ensure that the modifications made to the computer would not damage the Amiga's audio circuitry if any incor- 83l! I l^ \ Money M / I 1 Mi^^ u I.R.S. INo Sweat... With Money Mentor'' ! "Keep track of your pennies, and ymir dollars will take care of ihemseives," Old. but sen.sible advice, even in today's complex financial environment. .Money Mentor" is a breakthrough in personal financial management. It hamcs.se.s the awe.sotne power of the ;\iiiij>a" to compute and graph dear reports of your financial situation. A unique system called "Smart Scrolls" handles a diversity of tedious data entry functions and can save 70",. of the typing typically required for enir\'. Money Mentor'"' features: • 200 budget categories. • 30 integrated accounts: checking, cash, saving and credit cards. • Klaboraie search routine allows editing of transactions according lo your specific guidelines. • Automatic check printing. • Automatic Account Balancing. • Colorful graphic reports illustrating actual versus budgeted amounts. • Over 50 reports from which to choose. This year... get organized with Money Mentor " SEDONA SOFTWARE 11844 Rancho Benardo Rd., Ste. #20 San Diego, CA 92128 "mggi To order. SS call(6l9) 451-0151 Amazing Computing V3A ©1988 61 rect connections were made when audio cables were attached between the computer and any other system. C, To make "unmodified" audio signals available from my A.miga without reopening the computer. A Tour of the Amiga's Audio Circuitry When you examine the audio portion of the AlOOO schematic (Fig^jre 2), you can see that two analog audio output signals (AUDA and AUDB) are provided by the 8364 (Pauls) Chip through its internal digital-to-analog converters. These analog outputs are fed to a pair of buffer ampl.fiers on chip U5G. The buffers serva several important functions: they convert current to voltage; they isolate the Paula chip from the external analog audio circuitry on the Amiga's main circuit board (motherboard), they act as a simple "low pass filter'' to gradually reduce the strength of the high frequency audio signals as they rise above about 4 KHz. This first stage of low-pass liltration smooths out the sharpest trjinsients in the audio signals output by AUDA and AUDB. The next section of the Amiga's audio system consists of an active low pass filter (LPB for the left and right stereo channels. The filters each have 5 sections, formed by a network of resistors and capacitors and an operational amplifier. The filter design is intended to attenuate all frequencies above 7 KHz, Accord- ing to the Amiga Hardware Manual, this was done to eliminate aliasing distortion caused by playback of digitized audio originally recorded at a sampling rate of 14 KHz. However, sampled sounds can be recorded and played back at rates of up to 28.8 KHz, implying that a 14 KHz low pass filter could be used, and 14 KHz of audio frequency response could be obtained. Since it is impossible to make a perfect low pass electronic filter (a filter that passes 7.000 KHz with no attenuation, but rejects all frequencies above 7.001 KHz), the filter in the Amiga starts to attenuate audio signals with frequen- cies as low as 4 KHz. By experiment- ing with laboratory grade electronic equipment including a variable- frequency low pass filter, I found that the Amiga's internal filter made sounds above 5.5 KHz inaudible. This 7 KHz filter is the culprit that limits the high frequency response of the Amiga's audio system. The Amiga 500 and 2000 were de- signed to allow the user to disable the left and right channel's low-pass filters by activating an internal analog switch (field effect transistor) that short circuits the LPF components. The filter-disabling feature is software selectable in the Amiga 500 and 2000. This feature allows the user or programmer to choose the mode that allows playback of high fidelity audio sounds (sounds originally recorded with sampling rates greater than 14,000 samples per second). Options for Upgrading The Amiga 1000 Audio System A. The "Quick Fix" for Enhanced Frequency Response The simplest way to bypass the low pass filters (LPF) for the AlOOO's left and right stereo channels, and obtain improved audio fidelity, is simply to solder a wire to bypass each filter's network of resistors and capacitors. (See Figure 3a,) This "hardwired" (continued) '? »;»»v - ;»w.W8« ; .m ' ;a ^ j: ;wj^^^g5a^Hw^J.y.■-^».^.-■-^^-.J-■■■y-■. A COMPARISON OF THE PERFORMANCE OF AUDIO RECORDING/PLAYBACK SYSTEMS AUDIO SYSTEM FREQUENCY RESPONSE DYNAMIC RANGE DISTORTION COMPACT DiSK AUDIO CASSETTE AMIGA AUDIO SYSTEM AMIGA AUDIO SYSTEM 6 to 20,I3(XI Hz AC to 16.000 Hz 1o 5.5 KHz rO 10 KHz 90 to 96 dB 70 to 78 dB 48 dB" 48 dB " 0.01 % (digital playback) (14 to 16 bits) 1 .5 % (analog recording and playback) LOW (digital record (8 bits) and playback) LOW TO MODERATE* (with HIgh-Frequency Boost) (6 bits) • DISTORTION FROM 'ALIASlNtS* DEPENDS ON THE RECORDING AND PLAYBACK SAMPLING RATES " A WIDER DYNAMIC RANGE iS POSSIBLE WITH COMPRESSION/DECOMPRESSION DIGITAL RECORDING Figure 1 62 Amazing Computing V3. 4 ©1988 Presenting,The Future Of Biisiness, The Commodore Amiga 2000 ^ Desktop Presentation System, The Next Step Forward. Commodore' presents a major breakthrough in the art of present- ing ideas. Introducing Desktop Presentation with the Commodore Amiga' 2000. It's the personal busi- ness computer that's also a complete desktop publishing center, video production studio, and live presen- tation workstation— giving you access to professional-quality results at a fraction of the cost of outside suppliers. Desktop Publishing Color. It's the next generation in desktop publishing. And with the Commodore Amiga 2000, you can create your own catalogs, brochures, and magazines in up to 4096 colors. There's a big advantage in black and white, too. Since the Commodore Amiga 2000 can display 16 levels of grey it gives a far better En/oysrue "^ freedom of the press wiih GoldDisk's^^ Professional Page^'' desktop pubhshtng software. Even make color separations with resolution osbitib as 2400 dots per inch Multi -Tasking Here'sashov stoppingjuggllngj^i Since the teinnioJore Amiga is the worlds hrst nwhi tasking personal business computer you can actually run several programs simultaneotisly. Strictly Business ■ For your everyday business needs, there's WordPerfect' word pro- cessing. Advanced database and spreadsheet programs. Complete networking. And the Commodore Amiga is the world's first multi- tasking personal business computer, so you can actually run several programs at the same time. So take a step into the future of business computing. Call 1-800-US-AMIGA to locate your near- est Commodore Amiga 2000 dealer. Give em a show they II never forget. Hook a Commodore Amiga 2000 lo a Polaroid Paleile" and make 3Smm slides in up to 40^6 cohfs. preview of your laser-printed docu- ments than the Macintosh'" SE e^er could. Desktop Video Video is part of the new language of modern business. But you won't need epic budgets to produce your own corporate, sales, and promotional videos. With the Commodore Amiga 2000 you can create professional-quality 3-D animation. Titles. Wipes. Fades' You can even paint over video images one frame at a time. Network TV producers use the Commodore Amiga to create dazz/Ing graphics and special effects. It can boost the ratings of your next business video, too. Live Presentation The Commodore Amiga 2000 shines in front of a live audience, too. Create 35mm slides, story- boards, transparencies— even ani- mated "electronic slideshows." You'll get all the support you'll need when you're on your feet. Carry your tvhole slide presentation in your shirt __^____ pocket. When you slip a Hoppy disk into a Commodore Amiga 2000 that's connected to an RGB projeciion TV.youvegot an animated electronic slide show svslem COMMOnORf U a (udcmiik Crf Afvl< Computer. Int.VVi^riJI^nfnt it j rc^atcmJ ei.wl«iuj!k af ihc VMsidPtErectCorpoutian GaldDuk ind Pccjf«s<iO(i4l Ptfe itt ttnitmnlLititGaid lUidthc AaugjIogjOJUddcnuikofCcmtnotlace Anuj^ Inc I K-^^4mmmmm.mimmi^mw^^.\tiii ^^ Sikwm'^^A Multi-Forth™ If you haven't tried Multi-F'orth you may not have yet unleasheid the full power of your Amiga. This compre- hensive devefopment environment includes: •Local Multi-Tasking •Built-in Assembler •Turnkey Compiler (royalty free) •Sound Drivers •AmigaDos & Intuition Support •Complete Set of Include Files •CompuServe Public Forum •500 Page Manual •New price - $89 Gall for a technical data sheet or check out our online services on CompuServe at GO FORTH. 4701 Randolph Rd. Sle, 12 Rockville, MD 20852 301-984-0262 1-800-FORTH-OK (367-!3465) Major credit cards accepted .v.w.v.vf.::w.:w.K approach was described by the Commodore engineer. The permanent hardware modification does not damage the low pass filter, tut its effects on the audio signal cannot be altered without re-opening tlie housing of the Amiga and desoldering the wires. I chose a slightly different approach — adding a new pair of external audio receptacles to my Amiga. This new pair of ou:put jacks provides a modified audio signal (bypassing the LPF), but doe; not affect the signals available from the original audio jacks. B. The Dual-Mode Upgrade My modification is more con'iplicatcd than the simple "fix" for the 1000, but it isn't as complicated as the LPF bypass circuitry and software that have been added to the Amij;a 500 and 2000. In my modification, no remote control of the LPF bypass is provided (unlike the model SCO's bypass system), so no internal, active electronic circuitry is required. Add- ing active circuitry (transistors, extra digital control chips, and data control lines) to the Amiga chassis must be done with great care, since it is easy to create a situation where unwanted electronic interference and noise are picked up from the high-speed digital circuitry surrounding the audio chips. This interference can be fed to the sensitive audio section. My approach worked the first time and introduced no noticeable noise in audio output. The details of my modification are shown in Figure 3b. I simply took the unfiltcrod signal appearing at the output of the first buffer amplifier of each stereo channel, and using shielded miniature cable, fed these to the exterior of the Amiga chassis and box. I added a 4.7 K ohm resistor in series with this signal line to provide short-circuit protection for the internal buffer amplifiers, and to provide the series resistor needed to make a simple resistor/capacitor low-pass filter. The capacitor can be added outside the chassis, so you can experiment to get the best value to match the frequency response of your particular audio amplifier and speak- ers. The modification put me up and running in a few hours. I then had two pairs of audio output jacks to compare the quality of the signal from the "old" Amiga audio system with the new, higher-performance system. VI. Audio System Modifications Note: Perform this modification at your own risk. Although the proce- dures described here are accurate, they deal with very delicate operations and electronics. Neither Amazing Comput- ing'™ nor the author can be held re- sponsible for damages incurred during the procedure. As always, such a modification also voids your Amiga manufacturer's warranty. Both audio system modifications should be extremely simple for any novice electronics hobbyist. If you do not have electronic circuit fabrication experience (such as soldering inte- grated circuit chips and printed circuit boards), DO NOT TRY TO LEARN ON YOUR DELICATE COMPUTER'S MOTHERBOARD! Get together with an experienced electronics hacker in your local Amiga Users Group, or have a computer or TV repair shop perform the modification (it should not require more than one hour in labor charges and SIS in materials for any shop to perform the dual-mode modification). If you have experience, proceed on, using a low power (30 Watt) soldering iron or soldering pencil (Radio Shack part 64-2067), and some thin, rosin core solder (Radio Shack part 64-006). A. Step-by-Step Details for Modifications 1. Flip the Amiga 1000 over and rest it upside-down on a clean, flat surface with a 12" by 19" cotton cloth towel or other padding under the computer. Don't use polyester or other material that will create static electricity. Also avoid sjmthetic carpets, they can generate static electricity. To eliminate static electricity, have an electrical ground nearby, like a water pipe or the metal outer surface of a closed electrical conduit (not an AC wall outlet). This ground point should be touched before you make contact (with your hands, soldering iron, or other tool) with any electronic component or computer board. This "grounding" operation discharges any static electricity on your body. 2. Open the plastic computer housing (described in Amazing Computing VIA, pp. 71-72). Remove five screws from the deep holes on the bottom of the housing and the two smaller screws that secure the front panel bezel. Attach the screws to a piece of paper noting their locations. Turn the computer right-side tip and gently pry off the four corners of the plastic lid. 64 Amazing Computing V3.4 ©T.9S8 ■■-^I' ^ Figure 4a: Photo of Kickstart "daughterboard" (indicated by Arrom #1) after removal from the motherboard (indicated by Arrow #2). Figure 4b: Photo showing the location of the audio buffer chip on motherboard (next to the round plastic post that fits through the hole in the Kickstart board). 3. Unscrew the large metal shield covering the main "motherboard." With pliers, straighten the metal tabs that hold the metal shield to the motherboard and form a solid shield ground. Remove the metal shield that keeps electronic interference signals (created by the enclosed digital circuitry) from "broadcasting" and affecting other electronic systems. 4. Remove the three screws holding the Kickstart "daughterboard" (see Figure 4a) mounted on the large motherboard. Discharge your body of any static electricity before removing the Kickstart board. Carefully remove the board by gently rocking the four edges upward. Don't pull and tilt one edge of the board up more than one eighth of an inch before raising the other edges by the same amount. Place the Kickstart board aside on a comer of your static-free worklable. (continued) The fastest Modula-2 software development system for Brtremely fast single-pass compiler. Integrated into the Amiga Workbench. fu)l support for documentetl func- tions (intuition. Exec, Graphics, etc.), doubie-pfecision numeric types, including FFR produces optimised machine code, links in just a few seconds! The com- prehensive devefopment system contains an editor, compiler, linker, library modules (Standand & Amiga lib- raries), manual and introductorjr MDdula-2 book. Minimum configuration: 512K, 1 drive. Demonstration disk $ 5 the IBM PC range & compatibles $ 99 With M2SDS you develop your Modula-2 programs in a power-ful window environment, where all the tools are integrated for speed and efficiency: - syntax directed editor - incremental compiler- much faster tt)an a conventio- nal compiler -fast linker- produces stand-alone executable pro- grams -library manager-modules are compact and ergono- micaify managed - clock, ASCII laWe, calculator - all modules are provided in source form M2SDS supports the 8087 maths co-processor, REAL arithmetic calculates to 15 digits accuracy and easy access to the HflS-DOS/PC-DOS/ConcurrentrDOS operating environment. Programs and data may use up to the ftill 640K OOS memory. No other software de- velopment systeni has as many tools and toolboxes as M2SDS, SDS-)«fj Debugger M2S0S demonstration disks fTorbo-P&scal to Modula-2 i source code translator $249 $ 79 $ 5 $ 59 rBM/370 Mainframes 1150a One of the fastest compilers in the world (single-pass. 36000 lines/minitte). full 32 bit arithmetic, separate compitation of modules with all the benefits of Modula- 2 (version control, type checking between modules, etc), interface to Assembler and Fortran, support of project libraries, produces high efficient native code (in- cluding arithmetic checks] for linker and loader. Annual contract for support $1850 All these products with full support are available from ^^^^^ ^■"^ INTERFACE TECHNOLOGIES 3336 Richmond, Suite 323 Houston, Tx 7709B-9990 (713) 523 8422 Dealer inquries welcome A. + L. Meier-Vogt (USA) A Im Spaten 23 CH-8906 Bonstetten/ZH Switzerland ' Tel. (41) {1)700 30 37 E-Mail: firstname.lastname@example.com,ethz,ch (UUCP) Figure 5: Close-up of the bufferlfUier chip (4084 quad Op Amp). Two test points TP2 and TP3 are cUrectly adjacent to each buffer amplifier's output, and are indicated in the photo by arrows # 3 and #4. The black header connector (arrow #3) provides a ground connection on its lower left pin. (Note that .lAc pin is soldered to a wide ground trace on the motherboard). 5. Locate the audio buffer/filter chip U5G (figure 4b) on the motherboard. It is located to the left of thi2 round plastic post protruding through the hole in the Kickstart board. (Figure 5a shows a close-up of the chip, a 4084 quad op amp). Two test pads are shown with the two uppermost white arrows. These test pads are next to pins 8 and 14 of the chip. These pins provide the buffered, pre-filtered output signals from the left and right channels of the Amiga's audio system. Don't remove the capacitor on the buffer amplifier of each sten» ch;innel. These capacitors (CI 00 and C%) prevent very high aliasing frequencies from overdriving your stereo amplifier. B. Installing the Hardwired "Quick Fix" The simplest way to bypass the two low pass filters for the left and right stereo channels is simply to solder a wire to bypass each LPF network. This permanent hardware modification docs not damage the low pass filter, but its effects on the audio signal cannot be removed without opening the Amiga and desoldering the wires again. 1. To perform this simple modifica- tion, solder a thin, solid piece of insulated hookup v^re (22 or 24 gauge) between pins 14 and 3 on chip UG5 and a second wire between pins 8 and 5 of the same chip. Make sure the end of each wire is wrapped around only the pin mentioned above, and does not touch a neighboring pin. Next, solder the ends of the wires to the correct pins. Make sure to apply the soldering iron long enough to avoid a "cold-solder" joint, but don't overheat the chip, printed circuit board, or insulation on the wire. 2. After you make the above modifi- cations, reinstall the Kickstart board and test the computer as described in section VI. C. The Dual-Mode Upgrade This more versatile modification is slightly more complicated than the "quick fix." A new pair of audio output cables and jacks is added to provide external access to the raw audio signal, while leaving the signals from the original audio jacks unaf- fected. To perform the dual mode upgrade do not connect pins 14 and 3 or pins 8 and 5 of chip UG5. This modification requires a few more parts. The extra materials cost about $10. The parts are: — Two 36-inch audio cables virith phono plugs on one end, and stripped, tinned wires on the other (Radio Shack part 42-2370). — Two l/8th Watt, 4700 ohm (4.7 K ohm) resistors (available in the Radio Shack resistor kit, part 271-311). — Shrinkable insulating tubing (Radio Shack part 278-1627). 1. To install the dual-mode upgrade, drill two 1/4 inch holes (spaced about 1/2 inch apart) in the back of the plastic case, just above the original audio jacks. Feed the tinned, stripped end of one audio cable through one of the holes, so the phono connector is outside the computer and the stripped end is inside the case. Repeat this process with the second cable, using the other hole you drilled in the case. 66 Amazing Computing V3A ©1988 2. The shrinkable tubing is an important item that prevents a bare cable braid (a ground wire) or an exposed resistor lead wire from accidentally contacting anything inside the computer. Choose the smallest diameter tubing that slides freely over the resistor or the braid wire that needs insulation. Later, after all soldering is completed, shrink and lock the tubing in place by heating it. You can shrink the tubing without burning and melting it by putting the tip of your soldering iron under a 1000 Watt hair drier. You can also place the tip of your soldering iron about one inch below the tubing-covered wire and let the hot air rise and shrink the tubing. Both methods should be done with care to avoid overheating other electronic components, or burning and melting the insulation on any nearby wires. Figure 6: Photo showing the underside of the Kickstart board with three groups of red header connectors (indicted by arrows). 3, Take two 4.7 K ohm resistors (the first three color-code stripes are yellow, violet, and red) and clip the leads so the length of the resistor, from the end of one lead to the end of the other is 3/4 of an inch. Solder one lead of one of these resistors to pin 14 of chip U5G, and solder one lead of the second resistor to pin 8 of the same chip. Solder the center conduc- tor of one cable assembly to the free end of one of the resistors (after you slide a one-inch piece of heat -shrink- able tubing over the resistor — see Figure 5b). Repeat this process on the other resistor and cable. The resistors serve two purposes. They serve as a safety device that limits the short circuit current drawn from the audio buffer amplifier if you accidentally touch one of the new audio cables' center pin to a grounded object. They can also be used to form half of a simple low-pass resistor capacitor filter, when an 0.0047 uF capacitor is connected from the new audio cable's center conductor to ground outside the computer. One group is on the upper side of the board; a second group is on the lower right side of the board; a third, single connector is on the lower left side of the board. 4. Solder a 3-inch piece of solid, insulated hook-up wire to the end of the cable's tinned braid, and slide a piece of shrinkable tubing over each of the shielding braids with its hookup wire extension. The tubing should be 1 /2 inch longer than entire bare, tinned braid. Trim the hookup wire, so it is just long enough to reach the leftmost (ground) pin of the black header connector (indicated by the lowest white arrow in Figure 5a). Connect and solder the free end of the hookup wire (which is simply an extension of the cable braid) to the header ground-pin. Make this connec- tion at the lowest end of the pin (very close to the motherboard's surface). Slide the tubing over the entire bare braid and shrink it in place. 5. To finish the job, gently pull the phono-plug ends of the shielded audio cables from the outside of the com- puter, so the cables inside the com- puter have only enough slack to lie flat along the wide ground traces on the motherboard. Make sure these cables are placed away from any chips or components that might couple electrical noise into the cable. Use black plastic electrical tape to hold the cables down along the broad copper ground strips and route the cables to the back of the computer. Run the cables in between the plastic mounts of the existing audio connectors on the Amiga motherboard. During the preliminary checkout of the modifica- tion, do not strain the cable connec- tions by pulling or stretching them to connect to an external hi-fi audio amplifier. (continued) Amazing Computing V3.4 ©1988 67 VII. Preliminaiy Checkout of the Audio System Modification. To check the performance ol your Amiga and its audio system, perform the following steps; 1. First replace the Kickstar: board. I found this critical step somewhat difficult the first time I tried it. Make sure your body is dischargctl of any static electricity and then pick up the Kickstart board. Locate the black plastic headers with pins on the motherboard, and the groups of mating red plastic sockets mar three edges of the Kickstart board (sec Figure 6). Place the kickstart board over the motherboard with the red- socketed side facing down. Line up the pins carefully on the motherboard with the sockets on the Kickstart board. Squint between the two boards to make sure all three groups of sockets have their pins in place. Gently press down on the top center of the Kickstart board to corcnect all pins and sockets. Peek between the boards again, and press the area over each group of sockets until none of the metat pins are visible (the black and red plastic mating connectors should be in tight contact at all locations). This can be done only after going around the board several times, each time pressing down gently over each socket area to get a tighter fit. Press- ing very hard on the board .ill at once can put too much stress on ihe motherboard and crack it. Finally, replace the three screws that permanently hold the Kickstart board to the computer chassis. If you installed the dual-mode moc iflcation, make sure not to stress the connections between the new audio cabli3s and the audio circuitry. 2. Connect your monitor, disk drives, AC power cord, and an audio ampli- fier to the Amiga, and boot up the system. If the computer opt:rates properly, run an audio sampled sound demo program (like the Amicus Public Domain Disk Number 10). Test the audio performance of the system; if it sounds "normal" on both left and right stereo channels, power down the system. Be aware that many sampled sound demos do not produce stereo sound. The sounds from Amicus 10 come from either the left or right channel as you press different keys on the Amiga keyboard. If you can not get the Kickstart icon to appear on the Monitor, you probably don't have the Kickstart board connec- tors seated properly. 3. Remove all connections to the computer, including the AC cord. Close the computer, reversing the steps you performed when opening the computer. When replacing the metal shield, remember to twist all the tabs back to their original positions. If you installed the dual-mode modifi- cation (which adds a second pair of audio outputs to the computer), you must clamp the new audio cables down, under the shield, as follows. When you replace the metal shield over the motherboard, run the new audio cables under the flat lip of the metal shield. Tighten the screws that hold the metal shield, but do not crush or cut the new audio cables. The flat surface of the metal shield's lip normally has about 1 /8 inch of clearance above the motherboard in the area of the original Amiga's audio connectors. The lip, when screwed down onto the motherboard and the new audio cables, serves as a cable- clamping device to anchor the cables to the motherboard. Be sure this anchoring is done well, so the cables and resistors will not be torn from inside the computer if you accidentally move the computer while it is still plugged into an external stereo amplifier. 4. Attach a stereo amplifier to the modified system's audio jacks. Be sure you have a tone or treble control on your audio amp, and then cut the treble response on it. This adjustment limits the high frequency response of the amplifier, since the modified Amiga puts out much higher frequen- Evaluating the Improvetnent in Your Computer's Audio Quality To test the final results of the audio modification, 1 used several pre- recorded sounds and a low cost seven- band equalizer with all frequency bands set at db, except for the 6 KHz frequency band (which I set to +8 db) and the 15 KHz band (which I set to its minimum, -12 db). This set-up added a low pass filter to the input of my audio amplifier, so all frequencies above approximately 10 KHz were well attenuated. I used sample sounds from Amicus 10 and the Deluxe Music Construction Set. When I began testing the modified audio system, I heard no increase in background noise due to pickup of electrical interference by the new shielded cables that run along the motherboard to the outside of the computer housing. I heard significant improvements in the sounds on Amicus 10 that natu- rally contained high frequency over- tones: "Snare_Drum," "Organ_Minor_Chord," and "Harp arpeggio." I heard little improvement in sounds without high frequency components ("Whistler" and "Wail guitar"). Some sounds, like the eerie "OOhhii," contained noticeable high frequency distortion. This distortion was audible when played through the unmodified Amiga audio system, but when played through the modified audio system, the non- harmonic distortion was more pro- nounced. This distortion was probably a result of loo low a sampling rate during the original recording process, or the distortion may have been put in 68 Amazing Computing V3.4 ©1988 intentionally, for an added effect. By adjusting the high frequency control on my frequency equalizer, the sound from the modified Amiga audio outputs could be made to sound like the lower-fidelity sounds produced by the original audio system. With Deluxe Music Construction Set, I played "Passacaglia" (the same melody as 'The House of the Rising Sun"). This piece used only two sampled sounds, Piano and Electric Bass. There was a significant improvement in the quality of the Piano sound when played through the modified audio system (it had more brilliance without distortion). The bass sound had a noticeable "buzz," probably because it was not recorded at a high sampling rate. I have played other sampled bass sounds through my modified audio system that do not have as much distortion. The most dramatic improvement I noticed was when ! downloaded a large sampled sound music file from a bulletin board. The file was a record- ing that played an entire band with a female vocalist for about 15 seconds. The sounds of crisper drums, clearer digitized voices, and an overall improvement in sound quality were very noticeable when comparing the output played from a modified Amiga with the "flat" sound that emerged from the original Amiga audio system. It was clear that doubling the high frequency response can add significant, new capabilities to the Amiga com- puter. The Finishing Touches Most stereo amplifiers have separate treble and bass controls. By reducing the treble setting, high-frequency aliasing sounds can be eliminated, but this also attenuates the desired high frequencies as well as the aliasing distortion. This tends to defeat the purpose of the audio modification. I foimd that significant improvements in the quality of the sound were obtained by inserting a seven-band frequency graphic equalizer ahead of my external stereo amplifier's inputs. The equal- izer contains a group of individually adjustable bandpass filters. Equalizers allow "boosting" of the audio frequen- cies in desired bands (6 to 10 KHz for the modified Amiga output), while "cutting" the aliasing distortion signals. Virtually any low cost 7 or 10 band audio graphic equalizer will give a performance superior to the Amiga's audio system. The $60 Radio Shack unit 1 bought produces no hum or noise that is audible above the normal background noise level of the unmodified or the modified Amiga. If, after trying the modified computer with your present audio amplifier, you feel an equalizer is needed, get one with more than 7 bands, and be sure there is a band with a center fre- quency between 6 and 8 KHz, and another band centered at about 15 KHz. When recording sounds, always use the highest possible sampling rate (at least 20,000 samples per second). Use a low pass filter on the input of the sampler with the cutoff frequency set below 14 KHz. A graphic frequency equalizer can be used as a recording filter as well as a playback filter. Since the new Amiga models have the high frequency audio modification installed, musical product vendors should soon be producing improved sampled sounds and software to play the sounds back with the best fidelity. Conclusions New, higher fidelity musical software and hardware should soon be pro- duced for the Amiga 500 and 2000, and model 1000 owners will be able to take advantage of these improved audio products after installing the audio hardware upgrade. •AC- Note: CD and cassette data from Elec- tronic Musician, September, 1987 F-BASIC A FAST Compiled Enhanced BASIC Language n The beginning programmer will appreciate the simplicity and ease of use of the F-Basic™ system. An entire disk of sample programs and a comprehensive manual are included. D The advanced programmer will appreciate the many enhanced features supported by F-Basic™: • Extensive Control Structures • Recursive SUBROUTINES & FUNCTIONS • LOCAL & GLOBAL Variables • 32, 16, And 8 Bit INTEGERS • Ultro Fast 9 Digit Floating Point Routines • Powerful String Manipulation Facilities • RECORD Structures And Pointers • Easy High Leivel Access To AMIGA™ Screens, Windows, Menus, Sound, Speech, And Graphics • Direct Access To ROM Kernel Routines • INCLUDE And APPEND Separate Files • SNOBOL4™ Like PAHERN Matching • Direct Access To 68000 Processor Registers and Bitwise Operations D The included FastCom™ compiler is a one pass optimizing compiler generating in-line 68000 machine code. Extensive Compile and Run Time Errors. FastCom compiles thousands and thousands of lines per minute because it is written in F-Basic™! A proven system. ONLY $79.95 (u.s.) complete NOW SHIPPING! Send check or money order to: DELPHI NOniC SYSTEMS, INC. P.O. Box 7722 Rapid City, SD 57709 For fastest delivery coll (605) 341-2580 F-BaskTW and faifCom^'^ am rsgitfBrBd trT3<i»marVt of DNS. Inc. AMIGA'^ Is o regiusrvd irademoric oF Convnodara^UAICAj, Inc. SNOBOU^^^ it a regldwad Iradnmarli t)\ M VofjJiona LabomioriH. Amazing Computing V3.4 ©1988 69 ■: ««««'M*i>>»;'>K*«*K^-»»:'!->;'>K->4':v:-;« >^?!s^^5w55^^^555!5555!^5^?5!^%^ AMIGA AUDIO AMIGA Audio Software Aegis AudioMaster S59.9S HMSL $150 Edit digitized sound samples, including Hierarchical Music Specification Utnguage: changes i« pitch, sample rate, t>o.'-unte, itrsd music composition and performance language, octane. Special effects cart also be added. Frog Peak Music Aegis Dev(;lopmsnt, Inc. Hot & Cool Jazz $29.93 Aegis Sonix S79.95 jazz data disk for DMCS. Combine multiple instruments, siimpled soutids. Electronic Arts and Audio Master files. !nclude:\ on-screen editing system, instrument sytheaizer aid Hotlicks $49.95 MIDI support. Keyboard player tuhich lets you create your Aegis Devtdopmant, tnc own compositions or restore a classic. Includes built-in rhythm guides and editing. Animation $19.95 Infinity Software 45 sound effects like door knocks, footsteps useful for graphics and goTites. Instant Music $49.95 WaveTable Technologies. : : Easy musical composition through tnouse control Efactionic Arts- Big Dollar Synth SI 9.95 Samples from hi-end syntks acro:'>s six octaves Instrument Voice Disks $49 in IFF and Mimetics format. Data disk for Dr. T's se^uencerlpatch editor. WaveTable Technologies Dr. Ts Music Software Inc. Cased Artist Editor/Librarians. $149 Keyboard Controlled Sequencer Multi-tasking graphic editor/librarian fiir many Vt.6 $249 synthesizers: Rolartd D-50, DX-7, others. Sequencer which incliuies multi-programming environment, variations generator, and full Dr. T's Music Softv/are Inc MIDI editing. Dr. Ts Music Software Inc Deluxe Music Construction Set S99.95 Full-featured sound editor with complete input, MediaPhlle $525 notation, and score printing. Media production database and automatic pky- Dectronic Arts back system which includes audio and video editing. DNA music . $19,95 Interactive MicroSystems Plays music based on DNA sequences. Menu choice of DNA., speed, tone, channel. MeUotron $19.95 Silver SJoftware The Mellotron instrument sampled, htduding cello, Dtdin, flute in IFF or Mimetics format. Dr. Drums,Dr. Keys,Bach Soni;book $29 WaveTable Technologies Data disks for Dr. T's sequencerlpatch editor. Dr. T's Music Softvrare Inc. Micro Midi Price unknown MIDI with 6 outputs, two inputs, external Four Disk Set $79.95 clock output, and serial pass-through. All four disks of samples MicroIUusions ECT SampleWare Micro SMPTE Price unknown Fractal Music $19.95 SMPTE reader which allows Music-X to syn- Plays music based on fractal mathematics. chronixe with with uideo/audio tape decks. Menu choice of number of notes, speed, tone, Microlllusions channel, save, recall. SJver Software Modem Percussives $19.95 Over 60 sampled real and percussive sounds for music composition programs. Available in IFF format. WaveTable Technologies Music Mouse $79 Musical composition with the mouse. "Instru- ment" reacts to mouse movements to play internal sounds or create MIDI data. Opcode Systems Music Student I $59.95 Educational tool which includes theory, \ intervals, triads, scales, symbols, etc. 8 learning levels and 178 lessons. Associated Computer Services Music-X $199.95^ MIDI sequencer which includes keyboard mapping, real-time recording, a configurable librarian and full-featured editing. Microlllusions Pattern Splatter $49.95 IRflndom sequence generator dealing with appregiation patterns. Randomize various MIDI parameters within user controlled ranges. Mimetics Corporation Perfect Sound $89.95 Digitizes from any line-level input source and creates IFF instruments. Includes a library of pre-recarded sounds. Microsearch Inc. Phonolink Plus $299 Touch-lone decoder for your synthesizer. Computer Expansion Products Protein Music $29.95 Plays music based on protein amino acid sequences. Menu dwice of protein, speed, tone, channel. Silver Software Real Brass $19.95 Digitally recorded brass instruments, including trumpet, tuba, freneh horn, others in IFF and Mimetics format. WaveTable Technologies va_ 70 Amazing Computini^ V3.4 ©1988 PRODUCTS RXMix , S79.95 IB-channel programmable mixer for Yamaha RXII drum machirus. Pregnant Badger Music Sonic Spectrum S59.95 all four: SI 99.95 A collection of sampled sounds organixed as Rock, Percussion, Classiail, and Sound Effects. Datasound Sound Effects Library $99.95 Si'jt disks of wide-ranging samples. 288 sounds total. Karl R, Denton Associates SoundLib IFF Portable (Vol. 1-6) S19.95ca Six disks of sampled sounds compatible with DMCS and Sonix. Over 30 sounds on each disk, iticluding syntk w)ices, real instruments, etc. WaveTabte Technologies SoundLib Miinetics' Exclusive (Vol. 1-3) S19.95ea Sampled sound Hbraries in Mimetics formal. Over 30 sounds per disk, including real instruments and syntks. WavcTablc Technologies SoundScape Pro MIDI Studio S149.95 MIDI sequencinglsampling package dealing with computer sounds and external music; a complete "musical operating system" Mimetics Corporation SpeakarSsm VI .0 $112; introductory price 592 Assists in the design and optimization of loudspeaker systems. Many applications, IFF support. dissidents Symphony Music Video S24.95 Continuous display of video and sampled sound in IFF format. Speech Systems Symphony Songs Price unknown A Collection of nearly lOOO sampled sounds, including Beatles, Classical, Rock, more. DMCS, Music Studio or Sonix format. Sf>eech Systems Synth Wizard S99.95 Editor/librarian for popular svnthesizers: Yamaha DX-7IDX-7 I},TX-81Z/FB01 and Roland D-50 and MT-32. Datasound Synthia High Performance Digital Synthesizer S99.99 Digital synthesizer which allows you to create and modify IFF instruments. Addititx synthesis, percussbn, many other features. The Other Guys Texture SI 99.95 MIDI sequencer with multi-tasking, mouse! keystroke interface, and graphics. Magnetic Music The Digital Synthesizer Disk $24.95 26 instruments generated by synthesis software. IFF or SoundScape format, ECr SampleWare The Grab Bag Disk $24.95 26 odd ethnic musical sounds and effects, including ball flute, dog bark, etc. ECT SampleWare The Orchestral Disk $24.95 37 multi-sampled sounds, including strings, grand piano, etc. ECr SampleWare The Rock Disk $24.95 Samples including drum kits, guitars, bass, organ, synthesizers, etc. ECT SampleWare Utilities #1 $49.95 8 additional modules for SoundScape. Mapper Splitter, System X, Frame Counter, Fuel Gauge, etc. Mimetics Corporation Waveform Easel $19.95 Use the mouse to draw any curve shape desired to define waveform tables the Amiga uses to make sounds. Silver Software AMIGA Audio Hardware Deluxe MIDI Interface $89.00 MIDI 500, 1000,2000 with input, thru, two switchable thrujoiitsimd a switchable RS-232 Pass- thru. Mypertek/Silicon Springs ECE MIDI! 000 $64.95 AlOOO MIDI interface with in, out, through and RS-232 bypass. : ECE Research & Etevelopment ECE MIDI 500/2000 $64.95 MIDI 500/2000 with in, out, through, and RS-232 bypass. ECE Research and Development FuttrreSound $175 Audio digitizer with microphone and editing software. Applied Visions MIDI lOOO $49.95 AlOOO MIDI with in, out, through. Mimetics Corporation MIDI 1000/500/2000 $49.95 MIDI for all models with in, two outs, artd through. Skyles Electric Works MIDI 500/2000 549.95 A5OOI2O00 with in, out, through. ■Mimetics Corporation MIDI Gold 500/2000 $59.95 Features 1 MIDI in, 2 MIDI outs 1 MIDI out/ thru; serial pass-through allows other serial de--. vices to be connected at the same time. Golden Hawk Technology MindUght $169 Hardware and software combine to create art related to audio changes, IFF compatible. Visual Aural Animation SoundScape Sound Sampler $99.95 Digitize microphottefaudio input to produce sampled sounds in Mimetics or IFF format. Mimetics Corporation Amazing Computing V3.4 ©1988 71 GELS IN MULTI-FORTH Programmer's tools needed to use Gels to their fullest potential. Syjohn'Biisfialija Gels In Multi-Forth. It sotnds more like the title of a poorly-made outer space movie from the 1950's. The title is oddly appropriate, though, since outer space is where you're likely to wind up if you try to program the Amiga's Gel system without some set of tools. We'll eventually develop such tools in this series of articles. Power and versatility come at a price to the programmer. There are images to be drawn, piles of data structures to be allocated and initialized, links between the data structures to be established, and pointers to image data to be stored. And oh yes, don't forget to store your image data in CHIP memory only, or your Super-Deluxe Pac Man game will end up as Inviso-ware. All this has to be done before you see even one pixel rendered on your expensive RGB monitor. Unless you have the tools -o handle these mundane, tedious tasks, you'll find you need to re-invent the wheel just to construct a simple display. Below are four of the many tools needed to use Gels tc their fullest potential. 1) Any art program that will allow you to pick up part of the display and write it as a standard IFF file. 2) A program to convert the data in an IFF file for display as a Bob or Vsprite. 3) Routines to put up anir of the different types of graphics playfields the Amiga is capable of displaying. 4) Routines to dynamically allocate (and deallocate) gel structures, read in their image data, and link them together. This include;; various other functions, such as moving Etnd altering the appearance of a gel. The art program is no problem. There are many art programs, inexpensive and otherwise, available for the Amiga. We'll begin our look at gels with tool number two, a program to convert images you've drawn with your art program to the proper format for display on the machine. Before looking at the program in detail, I must point out some things about the files it makes, and the functions we'll eventually develop. The files generated by my program, iff2bob, are not "editable" cr "include-able" files. Instead, the files contain only the numbeis comprising the Virtual Sprite structure, image data, and, if you want them, the Animation Component and Animation Object structures. The main reason the files contain only certain numbers is one of Multi-Forth's major drawbacks — the relocation issue. Certain structure members, specifically pointers (which abound in Amiga programming), must be initialized at run- time. If you initialize a structure as you would in C and "include" it at the top of your program, the addresses will be correct after the program is compiled, and your pointer variables will be initialized properly. But, when you finish your code and turn it into a stand-alone application (a "turnkey"), the next time you load your finished program from the disk, the structures won't necessarily be loaded at the same address they compiled at. So, all your pointers (which still contain the compile-time addresses) vn\\ be pointing to the wrong places! Another reason for not making "include-able" files: if you store your image data as an array in the dictionary, what happens when your program is run on an Amiga with 2Mb? No one will see your 32-shades-of-yellow Pac-Man, because the image wasn't loaded into chip RAM. Since storing the image in the dictionary and copying it later to chip RAM makes no sense whatsoever, the only alternative is to have functions dynamically allocate gels, read their image data along with the other variables (like x and y coordinates) directly from the file into chip RAM, and then establish the links between them. Thus, the problems of tedious initiali- zation, relocation, and Inviso-ware images will be solved by our set of functions. Here is the format of the files created by iff2bob; 1) The Virtual Sprite structure. 2) Image data. You can later determine the size of the image data from information in the VSprite structure. 3) The Animation Component structure (only if requested). 4) The Animation Object structure (again, only if requested). The information in the colormap file is stored differently than in the IFF CMAP chunk. For example, the color represented by the hex value 0DB9 would be stored as DO BO 90 in IFF format. This program reads in those three bytes, then uses the packrgb routine to squish them down to 0DB9 again, which is the way the color will be stored in your color table anyway. 72 Amazing Computing V3A ©1988 Now to the program listings. Listing One is called dos.calls, which defines the AmigaEKDS file functions the program uses. This file should be "included" at the top of the iff2bob and iff2sprite programs. Also, you'll need to include the file graphics/gels.f again, at the very top of the pro- grams. In my personal Forth system, I made a snapshot with these files, which is why you don't find them "in- cluded" explicitly in my listings. Listing Two shows the IFF converter in its entirety. Listing Three gives the modifications you'll need to make to the converter, to use on sprites. Before using the programs, you'll need to make a data disk to store the images you've drawn. I made mine with directories named comps, for animation objects and compo- nents such as bobs, sprites, cmaps, and brushes. Fn addi- tion, I put tumkeyed versions (one for sprites, one for bobs), of the program on the data disk. Hopefully, your painting program will allow you to twiddle with the number of bit planes you want to draw in. (You'll need to do this, if you want to make sprites.) Using Dpaint U, all you have to do is select a two -plane display when the program first boots up. Also be careful, when capturing your sprite as a brush, that you don't go over sixteen pixels in width. Use the option which lets you see your cument screen coordinates to avoid this hazard. Remember, sprites may be any height, but only 16 pixels wide. When you draw your images, try to get as many on one screen as you can. This way, you need to generate only one colormap file, which may be used by all your gels. Now you can use iff2bob to convert your brushes to gels. After invoking the program from the CLI, you'll be prompted to enter the name of your input (brush) and output files, and to indicate whether or not you'll need a colormap (cmap) file. Be sure to specify the complete path for your files. For example, to specify a file named "balll" in your brushes directory, you'd answer the input file prompt like this: brushes/balll. Or, with your data disk in the external drive: dfl;brushes/balll. The message telling you to use a .cmap extension is of course merely advisory; you can name your file whatever you like. After verifying your specified files, the program will make sure you've given it a valid IFF file to read, and it will spit error messages back if you haven't. Then you'll be asked for other information, such as the Gel's starting x and y coordinates, HitMask and MeMask (used in collision detection), PlaneOnOff, and PlanePick. If you need to make an animation component structure, answer y to this prompt, and you'll be asked for still more information. The object of all this is to get as much information about each gel in the file now, which will cut down tremendously on the amount of initialization you'll have to do when it comes time to actually display the things. Let us begin to dissect the program itself. A project like this lends itself perfectly to "bottom-up" design, so we should begin by looking at the low level functions first. Program Listing Two is divided into three sections. The first part contains variable declarations. There is nothing tricky or of special interest here; all variables are explained, so 1 won't repeat myself. The second section begins the actual low-level functions, the ones that deal with opening, verifying, and closing the user's files. These functions are laid out in typical Forth style: start at the very bottom, gradually working your way up to the main function of your program. If you've chosen the names of your Forth words carefully, your main func- tion will be very easy to read because of its English-style syntax. The functions in this section culminate in the word readyfiles, which represents an intermediate stage in program development. Readyfiles uses some of these low- level functions, but it in turn will be called by the main function. Some of these words are handy, generic functions which could be used in any program. The first, "filename?" asks the user for a string of up to eighty characters in length, storing the string at the address the caller passed. It tacks a zero on the end of this string, so it can be passed to any Amiga function requiring a null-terminated string. Report.error uses the AmigaDOS function loErrO to report certain error conditions. The "?(y/n)" command gets a character from the keyboard and puts a true or false value on the stack. Notice the Forth word "key" asks for only one key stroke, but in reality you give it two — the character, plus a carriage return. The first key gets the character and sends it through the case statement, and the last key drop is needed to pick up the carriage return and throw it away. Get.number takes the address of a null-terminated string and loops until it gets a valid number (up to 10 digits in length) from the user. The siring is repeated each time through the loop. The rest of the functions in this section are specific to this application, and are very straightforward Forth. Section three is where all the action is. These words deal directly with the IFF file. The first, roundcksize, takes the size of an IFF data chunk, and rounds it up if the size is odd (not divisible by 2). "?iff.file" reads the first four bytes of the specified file. If their ascii value is equal to FORM, this is indeed an IFF file, and the function reads the next 4 (continued) Amazing Computing V3.4 ©1988 73 AMIGA BIJAL 3V2 " DISK DIFUVES 100% Compatable with Amiga 500, lOOCi & 2000 Computers • Internal Power Supply • All Metal Chassis • Horizontal Layout • Vented Enclosure • On-Off Switch • 6 foot 3-prong linecord • Primary Circuit Breaker Protected • Color Coordinated to Amiga Computers ONLY $395.00 Single Disk Drive w/pass-thru $199.00 20 Meg Hard Drive (SCSI) with Controller Only $699.00 Comp-V-Save 414 Maple Avenue. Westbury, NY 11590 In NY State (516) 997-6707 Outside NY State (800) 356-9997 Call for our complete PD Software catalog. bytes {the length of the fOe) and leaves the count of that read operation on the stack for use as a true flag. If FORM is not present, the user's files, are closed, and a zero is left on the stack to indicate that :he function failed to find an IFF file. The next word uses the same method as "?iff.file" to determine if an ILBMBMHD hunk is present. If the hunk is there, its twenty bytes are read into the bmaphead structure, declared in section one. Packrgb is an interesting Sittls function. It takes byte values of red, green, and blue, and packs them into one word. The red value is shifted four places to the left, then the value of green is "or'd" with red. The blue value is shifted 4 places to the right, and or'd with the red /green value. (The green value doesn't need to be shifted, since it's in the middle.) If the user's "cmapfileid" is non-zero, then he wants a colormap. live length of the colormap is read, and three bytes at a time are taken from the file. These bytes are packed down to a single woid and written to the colormap file. If the user doesn't want a colormap, the entire chunk is read into the pad and ignored. The function "findbody" is one of the most important things in this program. It negotiates the road from the BitMa- pHeader to the BODY of the IFF file, creating a colormap along the way in case the user wants one. The local variables "foundbody" and "proceed," both initialized to zero, are used to indicate the success or failure of the function. Each time through the loop, four bytes are read from the file. If the count returned by ReadO is zero, then we've reached the end of the file before finding the BODY. "Abort .cleanup" is then called, and a 1 is stored in found- body, terminating the loop. Proceed will still be ;:oro at this point, however, and this will indicate that the function has failed in its quest. If the count was not zero, then the four ascii values at the pad will be the name of an IFF hunk. A case statement determines if that hunk is one we're looking for. If the values at the pad form CMAP, "?gencmap" is called. If it forms BODY, we've completed our quest, A 1 is stored in both foundbody and proceed, terminating the loop, and leaving a true flag on the stack to indicate success. Other- wise, the name of the hunk is printed with a message that it is being skipped. Then the length of the unknown hunk is read, rounded as per "roundcksize," and the data in the hunk is stored and ignored at pad. Foundbody will still be zero, so the loop will continue. "Allocimagehandle" uses information contained in the BitMapHeader to determine the amount of space needed to store the image. The little "16 mod" song and dance is here to compensate for IFF's strange ways. Technically, if you were to make an image thirty-two pixels wide, that image would need to be stored in three sixteen-bit words, since we start counting from zero (a thirty-one pixel wide image would require two words). However, in an IFF file, you may find a thirty-two stored in the width field of the BitMapHeader, but the image data is laid out using two words. So, in order to figure out how many bytes are in one row of the image, you use the modulo operator. If there was a remainder, you need to divide the width (in pixels) by sixteen, and add one to it. If the pixel width is divisible by sixteen, you can leave it alone (although technically, you should have to add one to it also). "Rcadbody" is a simple function which skips over the length field of the BODY and just reads the data into the input buffer. The global variables "height," "idepth" (changed to avoid conflict with the Forth word "depth"), and "decom- pressf" are initialized here also. Tlie "decompressrow" and "convertbody" functions are perhaps the most difficult to understand. In order to understand how they work, it is necessary to see how image data is laid out in an IFF file. The data is arranged in the following manner: 74 Amazing Computing VM ©1988 row 0, from bit plane row 0, from bit plane 1 row 0, from bit plane 2 row 0, from bit plane 3 row n, from bit plane row n, from bit plane 1 row n, from bit plane x However, the data has to be in the following format to be used by the machine: row 0, bit plane row 1, bit plane row 1, bit plane row 0, bit plane x row 1, bit plane x row n, bit plane x, etc. To complicate matters, the data may be compressed. For now, let's just look at the normal, uncompressed case. To convert the data, we use nested do-loops. The outer loop index will be the height of the image, the inner will be its depth. The local variable "thisline" is initialized to point to the buffer holding our IFF image data. The others, "row" and "planeindex," are initialized to zero, and will be used to move the image data to the proper location in its final destination, the "imagedata" buffer. As long as the data is not compressed, all we need to do is move the bytes in each row of the IFF image to the appro- priate spot in our "imagedata" buffer. How to determine the "appropriate spot"? Well, each time through the innerloop, the variable "planeindex" is incremented by the height of the image, multiplied by the number of bytes per row. In addition, "thisline" is incremented by the number of bytes per row. So, the first time through, we'll move the zero-th row of bit plane zero to our buffer. The next time through we'll be moving row zero of bit plane one, and so on. When we fall out of the inner loop, the variable "row" is incremented by the number of bytes per row of the image, "planeindex" is cleared to zero, and the inner loop is begun again. This time through the inner loop, we'll be moving row one of bit plane zero, row one of bit plane one, and so on. INBOARD 1000 E DISK OFFER! Send S3 DO tor a Demo Disk that stiows just hew easy it is to install your Soint INBOARD. Disk IS packed with many usetui PD programs andulilities, SaeCifyA-SOOorA-lOOO 220 West 2950 SouttT Salt Lake City. Ulati8411S 18011 485-42J3 Majot Ctedit Cards 1-800-433-7572 PROVBi Internal Memory Expansion For The A miga * 500 aniilOOO. Add up to ;.5 m Dl Zero Wait-Stale Fast Memory for a total of 2.5 MB on your Amiga 500 and 2.0 MB on your Amiga 1000 • Availahle in various user-expandable tonliguralionslrom'.'K tol.SWB wilti diagnostics included • Battery Backed Ctock/Calendar standard on 1000 Version, optional on 500 Version. • Fast, solder less, no-modilication installation • Safely uses Amiga power in both U.S and European models. |G50 ma. max Svdc) • Detailed inslallalion inslructions included on disk, • Complete set of system utilities (auto- config. ram on/ol(. readclock, protected ram disk, morel with automatic install routines included ■ Factory technical support. • Affordable! Only SSra.OO for Inboard 500-OK. • Satisfaction GUAHANTEED. Of your money back! See your dealer or contact Spirit Technology TECHNOLOGY SPIRIT TECHNOLOGY CORPORATION If the data in the IFF file was compressed, we have a different problem on our hands. A 1 stored in the decom- pression field of the BitMapHeader indicates that the byte run encoding scheme was used on the data. The data is still stored as described above, except each byte of image data is preceded by a signed byte (call it n) which tells what to do with it. The signed byte is read from the input buffer, and one of three things can happen: 1) If <= n <= 127, then the next n -i- 1 bytes are transferred literally from the input buffer. 2) If -127 <= n <= -1, then the next byte is copied -(n) -I- 1 times. 3) If n = -128, no opieration is performed. The function "decompressrov/' handles this problem. The function loops until it transfers the number of bytes per row to the "rowbuffer." Each time through the loop, the signed byte n is read from the input buffer, and the appropriate action is taken. Of special note here is the fact that Multi- Forth does not know about signs on anything other than a thirty-two bit integer. That's why I had to play the "store and shift" game with n. In order to maintain the correct sign on n, it has to be stored (using C!) in a thirty-two bit integer variable, then shifted to the right 24 positions (-24 scale). {conlinuei) Amazing Computing V3.4 ©1988 75 After the number of bytes per row has been copied to the "rowbuffer," things can pro<:eed as described for a normal, uncompT«sed case. The remaining functions in !;ection three deal with prompt- ing the user for variables needed for the gel structures, and are straight Forth. One glitch in these functions is extremely important to note. It pertains to incorrect (or incomplete, in this case) documentation of certain variables in the Anima- tion Component and Antmanon Object structures. Appar- ently the velocity and acceleration are not, as the Rom Kernel Manual would have us believe, the only variables defined as fb<ed point binar;' numbers. In fact, the variables AnX, AnY, and all the translation variables in the Animation Component are also treated as such. The form of these numbers is "nnnnnnnnnn.ffffff", where "n" is the whole number part and "f is the fractional part. All values must be shifted six positions to the left. For example, the number 10, shifted six places to the left, becomes 640. For these variables, just enter the number as you want it (i.e. the integer), and the program will take care of the shifting. For now, you'll have to stick to using only integers in these variables — the program doesn't do fractions. A round of applause should be given to Mr. Roy Thompson, for exposing this in his article on sequenced animation. The article appears in the April/May '87 edition of AmiProject. The main function in the program is "doifflbob." Just from a quick reading of this function, one should immediately be able to get an idea how the program works. The files are readied, then tested for IFF validity. Each of these three "test words" contains code for aborting the operation, should the file prove invalid. If the file passes all the tests, we can proceed with our work. We read the body of the file, convert it, write out the VSprite structure, write the converted image data, then -ATite out the animation struc- tures. We then finish up, diallocate memory handles, close files, and ask the user if he wants to continue. The whole process is spelled out plainb/, simply, and neatly. If you look one more time at the way the data is stored in an IFF file, you'll notice it's already in the proper format for use as a sprite. In addition, since the brush you'll make is so small, no decompression should be needed — even for a brush as tall as your display. Consequently, the words dealing with these things won't be needed to use this program to make sprites. To make the program "iffZsprite," I suggest typing in "iff2bob,' malcing a copy of that file, then using program listing three to modify one of those files. Of course, you can mcike the programs stand-alone applications, simply by tum:<eying them. For iffZbob, type: turnkey" (driveOiff2bob" doiff2bob For sprites, type: turnkey' (drive :]iff2sprrte" dolff2sprite The process takes around five seconds, and the resulting files are runnable from the CLI. Well, the length of this article and program wouldn't indicate it, but converting an IFF file is not all that difficult. For an even clearer illustration of what's going on, type out a small IFF brush file using opt h, and try to follow the program's execution. Next time, we'll look at developing functions to put up Amiga display modes. Usling One i; V **** Listing One: dos. calls \ ■»•• Dos functiflft calls, as per Huitt-Forth. \ " I've prefaced each function with *dos' to avoid \ •■ conlualon with Multl-Forth's tile functlont, 1005 constant HODE_OLDFILE IQOS constant MODE_NEWFILE ! dosopon Id2 id! call. lib I 5 edO ; I doscloso !dl call. lib I 6 ; ! dosHead :d3 IdJ lal call. lib I 7 8dD ; : dosMrlte Ida ld2 !dl call. lib l • jdO : : dosIoErr call. lib 1 22 8d0 ; : dosDElotG IcSl call, lib 1 12 ; listing Two t'/^ -'^"^ ' ' '' "!w-'««™ii«> \ .... Listing Two: i£t2bob.I \ .. These programs were made entirely with Multi-fort^i, \ ■■ a product of Creative Solution*, Inc. \ ■■ <701 Randolph Boad Suite 12 \ "• Bookvllle MD 20852 anew marker \ • • \ ** Houtines to read an IFF bruah file and store the ** \ .* data for use as a bob. «. \ ■■ You'll need to include "graphics/gels. f infl ray •• \ ■' file, ^dos. calls' , if you haven't made a snapshot * \ •' with these files. V ' \ ■• \ .. Here is a declaration of the BitMapHeader ** \ •" structure as defined in the IFF doeunent. ** structure BitMapHeader SHORT: +B.'4Hwidth \ raster width in pixels SHCKT: -iBMHholght \ height In pixel.-. SHORT: tBMHX \ x position SHORT: tEHIiy \ y position BYTB: +BKHnplanes \ number of bit planes BTTE: +BHHraasKing \ choice of masking technique BYTE: +SHHcompressian \ corapression technique used BYTE: tB«Hpadl \ unused pad SUCftT: +BMHtransparentcolor \ transparent color number BYTE: tBMHxAspect \ for determining the size BTTE! iBHHyAspect \ of a pixel. SHORT; +BMHpagewldth \ width of the display e.g. 320 SHORT: +BMHpag»hBlqht \ height of the display e.g. 200 structure .end \ ••• • « \ "' The following are the types of chunks to read, ** \ .. defined as constants. ** ascii FORM constant form ascii ILBH constant ilbn aacli CKAP constant cmap ascii BOOY constant body 76 Amazing Computing V3.4 ©2988 \ "*«■*• Declaration of data atructures^. struct VirtualSprtte vaprt struct AnlnCoicp acomp struct AnlmOb aob struct BitHapileader bmaphead *<* Buffers and Clob«l variAbles, create inputfile BO allot \ buffers for filenames. create outputfile BO allot create cmapfile BQ allot create rowbuffer 128 allot \ buffer for data decompression. cflobal infileid tflobal outfileid global cmapfileid global imagehandle global datahandle global imagedata global databuffer global chunklGngth global byte sper row global decoinpressf global height global idepth \ file id's for reading t writing \ Co files. N Stores handle to the inagedata. \ Stores handle to file input buffer. \ Stores pointer to actual data. \ Stores pointer to actual data buffer. \ length of an iff chunX- \ # of bytea per row of the image \ Flag indicating decofcpression algorithni> S Height of Che image. \ Depth of the iiciage. Kotes about the following words: filename? : Accepts a string from the user, and Cacka a rero on its end. closefiles ; Checks to see if a file is even open and closes it if it is. Clears all fileld's. report . error : Prints applicable error inessage, then aborts. 7(y/n) ; Generic "(y/nj" prompter. Leaves flag on the staclc. get.nuTober : Accepts an address of a null ter- minated string. Prints out the string, and loops until a valid number is received from the user. readyCiles : Gets inputs output, and ci^p (if desired) filenames, opens files and reports on errors. Kote report. error aborts on an error. abort .cleanup : Closes files, if one is determined not to be an IFF or brush file. The output file given by the user is deleted, as is the cmap file, if one was requested. filonanie? { addr - ) locals! addr | addr BO input . string addr count 1- + c! ; Even up the Score !!! Start using your Amiga to give you the Advantage in making better investment decisions! Color Graphics of Individual Stocks and General Market Trends. High Low Close, Moving Averages, Volume, Momentum and Relative Strength. Select the best performers with Relative Strength Rankings. Know when to get into and out of the market. Update stocks and/or mutual funds manually or automatically. Easy to use Communications included. Only $99.95 See your bcal dealer or call: Software Advantage Consulting Corporation 37346 Charter Oaks Blvd Mt. Clemens, MI 48043 (313) 463-4995 AmiQa and The Inveator's Advantage are trademarks of their companies. closefiles ; report. error ( - ) cr ." Closing all files..." infileid if infileid dosClose then outfileid if outfileid dosClose then onapCileid if onapfileid dosClose then cr to infileid to outfileid a to OTiApfileid ; { - ) dosIoErr case 2Q2 of endof 203 of endof 204 of endof 205 of endof 213 of endof 214 of endof 221 Of Gndof cndcase closefiles ?turnJcey if bye else abort then : " Object is in use. " cr " File already exists," cr " Directory not found." cr " Input file not found." cr " Disk Is not validated," cr " Disk is write protected." cr " Disk is full." or ?(y/n) ( - flag ) (y/nl- key get .number ready files case ascii y of ascii y of ascii N of ascii n of D endcase key drop ,- I addr - n 1 locals I OS I begin 0$ dup 0$len type ID ask. number until ; ( - \ inputfile 60 erasa outputfile BO erase cmapfile 80 erase Input file name — > Output file name —> - 1 endo f - 1 endo f en do f D endof inputfile filename? output file filename? inputfile 1+ MODE_OlliFILE doaOpen dup 0- if report, error then to infileid output file 1+ MODE_NEWFILE dosOpen dup 0- if report. error then to outfileid cr ," Generate colormip file?" ?(y/n^ if cr ." Filename (use ^croap eXtension)«> anapfile filenajtie? □napfile 1+ MODE_NEWFILE dosOpen dup 0- if report. error then to cnapfileid then abort. cleanup ( — ) cr cr ." Can't us© these files..." closefiles (continued) Amazing Computing V3A ©1988 77 cr . " DaletLiq output file..." output file 1+ d'SsDelc^e cr cmapflle 1+ dup c8 0- not if . " Deletiiig bad Colormap tila*^^" dosDelcte cr else drop then cr ; Words dealing with the IFF ifile! roundcksize: If ths aize o:' an TKF dat,a chunk is odd, then there is a pad byte t;icked tin the end whlc^ is not included in the stored sizi; of the chunlc-this takes of that, by rounding up whim necassaty. 7iff.£ile ; Checks for FOiiM in the specified brush file. Reports the error i3' FORM is not present, and leaves a flag on the stack. If forn is present, skip over the next 4 bytea, and leave the count { returned by doaHead) on the stack aif a true flag. roadBMHD i Checks for pri^sence of ILBM. If it' a not there, then calls abopt-cli-antip. Qcberwise, reads in 20 bytes of the Bit>{apHeadc:r to tnaphead. packrgb : Accepts 3 bytes as stored in the iff chap, and squishes then down to « single word. ?gencniap : Read in the lencth of the CHAP chunk, then loop, reading in 3 bytes at a tiite. Calls packrgb to fix the bytea for storage tA a color. findbody : Skips over all irrelevant chunks. This is everything except CHA?a anc BODYs . Drops out of the loop when BODY is found. ]f EOF is reached before BODY the files are chucked, and things start over. alloclraagehandle : Allocate enough spsce to hold the iiugedata and a buffer to lead the file into. readbody : Skips length field, and reads data into databuffer . decompresarou: If compreaaion is indicated, unpackn one row of data as described in the iff document. convertbody : Stores image data from the brush file in the format, in which it is used to display an image the amigaj decompressing each row, if necessary. writevsprite : Copies data frora BitMapHeader to the vsprite structure, prompts tor otfier info, and writes it all out to the user's output file. writeobject : Aska if uaer wants an Anljacomp structure and prompts for info if ho does. Then asks uaer if he wants an TmimOb structurOr prompting for info, if ao. wrltebody : writes out iraagedata to user's output file. * : roundcksize ( size - rounded up size } dup 2 mod if 1 + then ; : ?ifC.filB ( - flag J \ returns false if not an IFF file. infileid pad 4 dosRead drop pad 8 form - if infileid pad 4 dosRead else ini3utfil(! count type ," ia net a valid IFF filej" cr abiirt .clcianup then ; ( ) cr ." Reading BitMiipHeadt-r. . .* ( ILBH + BMHD + Lentfth " 12 bytes i infileid pad 12 doiiRead drop pad i ilbm - if infileid bmaphe.-d BitHapHesder dosRead cr else cr . " file misairq ILBfcJ" cr abort. cleanup Q then ; : packrgb 7gencmap ( red / green / blue — packed rgb value ) locals I blue green red | red 4 scale green I blue -4 seal* I ; ( 1 Q locals! packedcolor t infileid addr.of chunklength 4 dosRead drop cmapfileld If cr ," Generating Color Map file..." chunklength do infileid f>ad 3 dosRead drop P3d c8 pad 1+ cS pad 2+ ci packrgb addr^of packcdcclor w! £3tiapf ileid addr.of packedcclor 2 osWrite drop 3 +loop findbody infileid pad chunklength dosRead drop then ; J C locals I foundbody proceed | begin infileid pad 4 doaftead 0- ( returned on ECF ) not if pad i caae onap of ?gen'Cmap endof body of 1 to foundbody 1 to proceed endof ( write out chunk name ) ( get its length | pad 4 type chunk skipped..," cr infileid addr.of chunklength 4 dosRead drop infileid pad i read the chunk. > J chunklength roundcksize doaHead drop endcase else cr ." End of File reached before body." cr ." Could be a bad IFF flic..." cr abort .cleanup 1 to foundbody then foundbody until proceed ; I allocimagehandle { — } bmaphead '^BHHwidth wE dup 16 mod if 16/ 1+ else 16/ then Z* dup to bytesperrow bmaphead +BMHheight wg • bfnaphead +BMHnplanes cp ■ dup CLEAR g4)t .memory to imagehandle inagehandle % to imagedata CLEAB get. memory to datahandle datahandle t to databuffer readbody { — ) infileid pad 4 dosRead drop alio cinia g e ha n d 1 e infileid datahuffer datahandle handle. size dcsHead drop bmaphead dup dup +BHHheight w? to height +BMHnplane3 cS to idepth +B*fflcoinpreaslon eg to decompressf ; decorapressroH ( thisline rowbuffer bytesperrow - jnodlfied thisline locals I Icngthbyte llbytes terflpbuff thisline I tenpbuff 129 erase begin Itbytes 0> while thisline c§ addr.of lengthbyte c! lengthbyte -24 scale to lengthbyte 78 Amazing Computing V3.4 ©1988 thisline 1+ to thialine lengthbytB 12? range it 1+ to lengthbyte Itbytes lengthbyte - to l#bytes thisline tempbuff lengthbyte anove thisline lengthbyte + to thisline tempbuff lengthbyte 4- to tetmpbuff else -127 -1 range if n&gate 1+ Co lengthbyte llbytes lengxhhyte - to l-#bytes teinpbutf lengthbyte thisline ce fill thisline 1+ to thisline tempbuff lengthbyte + to tenipbuff else drop then then repeat thisline ; convertbody localsl thisline tow planeindex | databufCer to thisline height do idepth do decompressf if thiallrte roubuffer bytesperrow deconpcessrow to thisline rowbuffer imagedata row + planeindex + bytesperrow cinave else thisline imagedata row + planeindex + bytesperrow c!Jcove bytesperrow thisline + to thisline then height bytesperroH ■ planeindex + to planeindex loop to planeindex bytesperrow row + to row loop ; : uritevsprite ( — 1 vsprt VirtualSprite erase bmaphead +Bl^width wg dup 1£ mod if 16/ 1+ else le/ then vsprt +v&Width vl height vsprt +vsHeight yj idepth vsprt +v3Depth wj D" Starting X coordinate ->" vsprt +vsX wl get .number 0" Starting Y coordinate — >" get .nuiaber vsprt 4v3Y w! D** PlaneOnOff — >" get.tiuniber vsprt +vsPlaneOnOf f c! 0" Planefiek —>" get. number vsprt +V3PlanePic>: cl 0** MeMask ->" get .number vsprt 4v3MeHas)c wl 0" HitHask ->" get. number vsprt +V3HitMBs)c w! cr . " Writing Vaprite structure..." outftleid vsprt VirtualSprite dosWrite drop cr ; ! writebody ( — ) ." Writing Iraage data.,." outfileid imagedata imagehandle handle. size doaWrite drop cr .• writeanimob ( — ) aob AnimOb erase 0" X position of this animation object ->" get. number 6 scale aob +aoAnX w! 0" Y position of this animation object —>" get.ftumJtjer 6 scale aob +acAnY v\ £ Hard n Fast You bought your Amiga because it is the most powerful personal computer and installed a hard disk to make it even more powerful. Being a knowledgable computer user, you then set out to backup your data. You started the program and waited . . . through hours of gronking and disk swapping. It was so tiresome that you put off backing up your disk again. If you hauen't already lost irreplaceable data, you know that it will happen sooner or later. @%&C%! That's how I feel too. I know the Amiga is better than that. Fortunately I know how to program the Amiga right. Backup your whole disk, a directory, or just the files that have changed since your last backup. Restore it all or just a file or two that you fat-fingered. It's fast, 10 megabytes in under a half hour! It's easy to use, with menus and all that nice Intuition stuff. And it's only $49.95 It's Hard n Fast Don's ComputerWorks 6641 Scott Street Hollywood. Florida 33024 (305) 966-8179 3^ 0" X velocity (in deciiMl) ->" get. number 6 scale aob +aoXVel w! 0" Y velocity (in deciinal) ->" get. number 6 scale aob +aoYVel wi 0" X acceleration —>" get. number 6 scale aob +aoXAccel w! 0" Y acceleration — >" get. number 6 scale aob +aaYAccel w! O" X Ring translation value —>" get.mjLwiber 6 scale aob +aoRingXTrans wl 0" Y Ring translation value —>" get .nuijiber 6 scale aob +aoRlngYTrans Wl cr . " Writing AnimOb structure..." outfileid aob AnimOb dosWrlte drop cr ; writeobject ( — J acomp AnimComp erase cr ." Do you want an AnimComp structure?" ?(y/n} if Q" XTran3">'' get. number € scale acomp ^acXTrans vi 1-Q 0" YTrans->" get. number 6 Stale acomp +acYTrans w; ." RlngTrlgger?" ?(y/n!' If HINGTRIGGER acomp +acFlags wl then 0" Ti!neSet->'' get . nimber acomp +acTinieSet w! cr ." Writing AnimComp structure..." outfileid aiconp AnlitCorap dosWrite crop cr ." write AniroOb structure? " ?ly/nj if writeanimob then (continued) Amazing Computing V3A ©1988 79 Putting it together; ; doi£f2bob » w»t ttitmn iilii«*Anar« The turnkey token. 1) Gets files ready. 2) Tests lor rrfneas. skip to 1 if not IFF. 3) Reads EitMap header info. 4) Skip over unknoun chunks. 5) Heads and converts data to proper foma^t for dlaplay, 6] Close lilea, deallocate handles. 7) As): to process another .., loop or quit. cr ." Ready to convert IFF brushes to Bobs." cr begin readyfiles ?iff.file if readBHHD if findijody if re ad body convert body writevaprlte writebcdy uriteot ject cr ." Finished." cr imagehandle to. heap datahandle to. heap close files then thdn then cr ." Process ancther file?" ?(y/n) not until ?turnXey IE bye else abort then ; Listing Three ^| ■** Listing 3i Changes to IlfZbob to enable it to make • sprites. Anything that is not called out in this file ■ should stay the same. »■'■» Declaration data structures... "" ones needed to make sprites. These are the only struct VirtualSprlte vsprt struct BitHapHeader ticaphead BuCtera and Global variablesr The following are the only buffers and variables needed for making sprltoa. The 7 others may be deleted. create inputfile 80 allot create autputfile 6 allot create cmapfile BQ allot global infileid global DUtfileid global onapfileid global i;nagehandle global ijnagedata global chimklength The following functions need to be redefined; ^OH'I.Y the functions listed here need to be modifiedi allocimagehandle i Allocates enojgh space to hold the imagedata. No longer stores the number of bytes per row. readbody : The imagedata i.i the IFF file is now read directly into the buffer, since no conversion is needed. The function ^decorapressrow' is :^0T needed in this file. San:e for 'cohvertteody' . writevsprite : Copies data from 3itHapHeader to the vsprite structure, prompts for other info, and writes it all out to the user's output file. Notice different method of gettlr^g height c depth values ...this is needed since we got rid of those global variables. : allocimsgehandle { - ) bmaphead +BMHwidth wg dup 16 mod if 16/ 1+ else 16/ then bmaphead fBMHheight wi * bmaphead +BMiinplane5 eg • 2* CLEAR get. memory to imagehanille imagehandle I to imagedata ; readijody 1 - ) locals I length | infileid pad 4 dosRead drop pad i to length alloc imagehandle Infileid imagedata length dosRead drop : writevsprite { — ) vsprt VirtualEprite erase bmaphead +BHHwidth wg dup 16 mod if 16/ 1+ else 16/ then vsprt tvsWldth wj titiaDhead +BMHtieight «S vsprt +vsHeight w! tnaphead tBMHnplanes cS vsprt tvaDepth ui VSPRITE vsprt +vaFlag3 wj 0" starting K coordinate ->" get. number vsprt +vsX wJ 0" starting Y coordinate — >" get .number vsprt +V5Y w! O'" PlaneOnOfl ->" get. number vsprt +vsPlaneOnOf f cl O*" PlanePick ->" get. number vsprt +V3PlanePick cl 0" HeWasX ->" get.nuiriier vsprt +V3HeMask w] 0" HitHask ->" get. number vsprt +vsHitM3sk w! cr ." Writing Vsprite structure,..*' outfileid vsprt VirtualEprite dosWrite drop cr ; \ • •**•• * -ii*..**.r.,. *,•... ....*..* \ •■--■• Putting it together: Redefinition of iffZbob. **■ \ ...... ... \ ...... doifr2aprlte ; The Curnkey token, \ IJ Gets files ready. \ 2} Tests for IFFncss. Skip to 7 if not IFF. V 3) Reads BMHD. \ 4) Skips ever unknown chunks. \ 51 Writes data to output file. \ 6J Close files, deallocate handle. \ 7) Ask to process another .. .loop or quit. \ ..-**»>. *. * , : doiff2sprite cr ." Ready to convert IFF brushes to sprites." cr begin readyfiles ?iff.flie if readBKHD if findbody if readbody writevsprite write body cr . " Finished." cr iAiagehandle to. heap closefiles then then then cr ." Process another file?" ?(y/nl not until 2turnkey if bye else abort then ; •AC- 80 Amazing Computing V3.4 ©1988 A Ad A. Z I M G PREVIEWS SAM BASIC by Bryan D. Catley Many— but still not all— the Amiga's features are readily available through simple BASIC statements with Simon's Amiga Multi-tasking BASIC. First there was ABasiC (back in Amiga's early days). Then there was AmigaBASLC (currently distributed with all Amigas). A little later True BASIC came on the scene (a special- ized version of the language that is very portable between supported machines). Now we have SAM BASIC. SAM BASia Yes, Simon's Amiga Multitasking BASIC, or SAM BASIC! Simon? Etoes that name ring a bell? If you have ever worked with the Commodore 64, I'm sure you have heard of Simon's BASIC. It's an alternate version of the BASIC language designed specifically for the 64, and distributed by Commodore. David Simon has designed a particularly powerful version of the BASIC language spe- cifically for the Amiga. Remember, Microsoft's AmigaBASIC is just a variation of their BASIC im- plementation on the Macin- tosh and IBM PC. As powerful as it is, AmigaBA- SIC definitely lacks overall power when you consider the capabili- ties of the Amiga. However, SAM BASIC is designed specifically for the Amiga, and I doubt you will ever see a variation cropping up on another computer (but never say never). In fact, it is my guess that as time goes by and SAM BASIC is updated and increased in power, it will become more and more fixed into the Amiga's way of doing things! Does all this whet your appetite? If you consider yourself a serious BASIC programmer, it should. For now, many (but still not all) of the Amiga's features are readily available to the BASIC programmer via simple BASIC statements. SAM BASIC is not available in the United States (they are still looking for an appropriate distributor), but I was able to pick up a copy during a recent visit to the United Kingdom. The package consists of a single non-copy distributed with SAM BASIC pro- grams. The run-time version, without editing capabilities, is essentially the same as the development version. (Double-clicking on a program icon invokes the run-time version automati- cally.) Many of the general commands and functions found in most BASIC languages, along with those specifi- cally designed to use Amiga features are available. In fact, many of these additional commands are named after the operating system routines they use. For example, SET PENA is used to set the foreground color; SET PEMB sets the background color; SET PENO sets the outline color; TEXT displays text strings using specialized fonts, styles, and modes. protected disk with lots of demos, and a very complete reference manual, but no tutorials. SAM BASIC Features SAM BASIC comes in two distinct versions. There's a development version which only the buyer is allowed to access and use, and a run- time version which may be freely The most obvious feature SAM BASIC offers is its multitasking capability. Up to 32 independent tasks may be run under SAM BASIC at any time. Each task is scheduled separately by SAM BASIC and has its own set of variables. Communication between tasks is possible through the use of "mes- sages." While not useful for every application, the ability to multitask is a major plus which, on its ovm, lifts SAM BASIC out of the ordinary. (continued) Amazing Computing V3A ©19S8 81 Complete structured programming facilities are included within the language. IF THEN ELSE, WHILE, CASE, REPEAT UNTIL, and iJLOCK are fully supported. All of these features make programming much easier. Also included is full support for IFF files. Commands such as LOAD SCREEN, WRITE IFF, READ IFF, and TRANSFER IFF provide reasonably complete support for IFF files. But once you have the file on yoi; r screen, handling it is up to you! All screen formats, including HAM', are supported. However, there is little or no direct support for HAVI screens/ windows once they are opened. It's all up to you! Another neat feature is the ability to draw directly on screens without opening windows. One demo pro- gram shows a squadron of Ul-Os (I think) flying across the Workbench screen! And speaking of screans, how woiald you like to be able to move a custom screen up and down over another screen? SAM BASIC provides it for you! Graphics is where SAM BASIC really shines: it has all the expected capabili- ties, a complete set of commands to handle 3D animated drawing:;, and more! Patterns, mouse pointers, sprites, and bobs are all defined orline in a simple manner. The Amiga's fonts are also fully supported and very easy to use. All events (menu selections, mouse clicks, keyboard presses, etc.) are detected via a READ EVENTS com- mand. Follow this with a CASE statement for each of the exptx:ted events, and you can see how simple event handling is! It is also possible to issue AmigaDOS commands directly from within SAM BASIC with the EXECUTE command. Because SAM BASIC itself is fairly large, not all of it is loaded into memory at start-up time. Commands handling specific areas are grouped together into extensions which must be loaded before those commands may be used. This may be done in direct mode, or under program control. For example, to insure the graphics extension is loaded, you would issue the following command: IF NOTCEXTENSIONCgraphlcs')) THEN EXTEND WITH 'SamBASICiejctenslons/graphics'). One advantage of this technique is that it becomes very easy to add custom extensions to the language, and instructions for doing this are included in the reference manual. What SAM BASIC Cannot Do Believe it or not, there are a number of things which SAM BASIC cannot do, depending upon your personal requirements, they may make a difference. There is no direct support for gadgets, so you still have to simulate them. Sub-menus are not supported, and there is no method of directly calling operating system routines. Addition- ally, you cannot implement the USING option of PRINT and LPRINT, and LINE INPUT is also unavailable. Also, relative files and a few other com- mands and functions are not sup- ported. Another downer is that we are back to using mandatory line numbers, although labels may be used via the DEFINE LABEL command. touched the surface of SAM BASIC, and 1 intend to follow up with a more detailed review a few issues iTom now. In the meantime, if you would like further information, or want to purchase a copy of SAM BASIC, you vnU need to get in touch with: PCC Sales Limited 3 Mundells Court Welwyn Garden City Herts, England, AL7 lEN Phone: 011-44-707-371616 The price of SAM BASIC is £89.99 sterling. At an exchange rate of SI .75 to the pound, this price works out to $15750. Should you decide to call, please remember the UK is five hours ahead of Eastern Time. If you would like a demonstration disk, 1 have created one (with PCC's permission) using many of the demos on the distribution disk, which includes a paint program. TTiis demo disk utilizes only the run-time version of SAM BASIC, and as such, you will not be able to examine any of the source code — just watch the pro- grams execute! If you would like a copy, please send me a formatted blank disk, a self addressed stamped envelope, and S5 (to cover my time and the wear and tear on my disk drives), and I will send you one as quickly as I can. Mail your blank disk to: Bryan D. Catley 2221 Glasgow Road Alexandria, VA 22307-1819 (Please, no phone calls; and if you send me a check, be prepared to wait until it clears.) Finally... Obviously this preview has barely •AC- 82 Anmzing Computing V3. 4 m988 If you learn to be comfortable using pointers in C, you're ready to make the transition to assembly language. by Patrick J. Morgan If you've never programmed in assembler, making the transition from a high level language can be a strange and traumatic experience. While you can get a book to learn 68000 assembler, there's still quite a gap between being able to code in 68000, and being able to make things happen on the Amiga. But don't get nervous — two things narrow this gap for Amiga programmers. First, C programming language, the de facto standard development language for the Amiga, has in addition to a very complete set of high level constructs, features with a definite assembly language feel, such as the frequent use of pointers. If you learn to be comfortable using pointers in C, you're ready to make the transition to assembly language. The other thing making the transition easier is the set of include files, like exec.i, that come with the macro assem- bler. These files correspond to the .h include files you're familiar with from C, and enable you to write code for the Amiga that often has an amazing resemblance to C. The include files define and use an extensive group of "mac- ros" that ease programming for assembly language program- mers. What is a macro? A macro is a set of instructions, called pseudo-ops, that tell the assembler to replace the macro name, whenever you tise it, with whatever the macro was defined as. A macro works like a subroutine call with an important difference: instead of going to the subroutine and returning, the macro-generated statements are substi- tuted directly in-line in your source code. The use of a macro involves three things: the macro defini- tion, where you create a macro; the macro invocation, where you call a macro; and the macro generation, where the assembler inserts the macro text into the source code in place of the macro invocation. Sounds confusing, doesn't it? Don't worry, it will soon be clear. One of the most common things you'll do as an assembly language programmer is call operating system routines. A typical calling sequence would look like this: cir.l lea JSf move. I dO.DosBase dO .-We don't care which version, Dos_Nome,al ;Set up ptr to library name. _LVOOpenLlbrar/(a6) ;Note; this assumes that register a6 contains the address of the base of the exec. library, ttie library that contains the OpenLlbrary routine. ;Save base address of dos.llbrory. If you place the instruction; Include "llbraries/llbrarles.r near the top of your source file, you can replace the jSf _LVOOpen Libra ryCa6) with CALLLIB _LVOOpen Library This works because libraries.! contains the following macro definition, CALLLIB MACRO ;Macro Header IFGT NARG-1 FAIL ;Macro Body. ENDC JSR \1(A6) ENDM ;Macro Trailer. The Macro header tells the assembler we are defining a macro named CALLLIB. It's important to realize that defining a macro doesn't cause any code to be written. Instead, the assembler remembers the macro definition, so when you later call the macro, the assembler can substitute the macro "definition" for the macro "invocation," or call. With that in mind, let's analyze the macro body. The IFGT is one of a set of conditional operations that allow you to control the execution of the assembler. With true conditional statements, assembly (or macro generation) continues through an ENDC. EF^JDC stands for end condi- tional. If the statement is false, the assembler skips lines as if they were comments, until it passes the ENDC. The IFGT conditional is true if the expression following it is greater than zero. If the expression is greater than zero, the statements that follow are generated, up to an ENE)C (conlinuei} Amazing Computing V3.4 ©1988 83 conditional ending statement. In this case, the condition for the IFGT conditional is NARC-1. What's NARG? NARG is a variable the assembler uses to keep track of how many arguments you use when you call a macro. The idea here is to make sure you don't use too many arguments. Saying CALLLIB _LVOOpenWinciow,200,400. ;ERROR is wrong, and we don't want to generate any further in this case. I'll explain exactly how it wcrks. If you used more than one argument, NARG-1 is greater than zero, the conditional is TRUE, and the assembler continues with the next sequen- tial statement, FAIL. FAIL is another pseudo-op used to tell the assembler to quit. If we try to call this macro with too many arguments, the assembler will print the line as an error and possibly quit, depending on the assembler you have. The Aztec assembler cuits, but the Amiga assembler just prints the error message. On the other hand, if you us»2 just one argument, the correct case, the expression equals z<jro, or FALSE, Since the conditional is false, the assembler now treats following lines as comments until it skips past the ENDC, This time the FAIL is skipped and the assembler continues on past the ENDC statement. You've probably already noticed the \1 in the arguments for the JSR on the next line of the macro. This is how we tell the assembler where we want it to put the arguments of the macro. \1 refers to the first argument in the list we use, \2 the second, and so on. The \1 in the line with the JSR tells the assembler to substitute the first (in this case the only) argument for the \1. So after the assembler replaces the \1 with our argument, LVOOpenLibiary, it replaces: CALLLIB _LVOOpenUbrary with JSR _LVOOpenLlbrarvCa6), the same instruction we used before. It's important to realize when this takes place. The assem- bler replaces the macro invocation with a macro definition in a pre-pass. No object code is generated, and the assem- bler simply places the macro definition as text into the source file, in place of the macro invocation. In a later pass it will be assembled as if you had written it there yourself. A related macro in the libraries.i include file is used when you want to call a system routine, but a6 doesn't already contain the base of the correct library. Suppose we've already opiened the dos, library and stored the pointer to the dos.library in DosBase, a6 still contains ExecBase, and we want to call the Delay function from the dos.library. We can use the LINKLIB macro: Writing Stand Alone Programs With the Aztec Assembler While the Aztec assembler is normally used in conjunction with the Aztec C compiler, it can also be used as a stand-alone product. There is, however, a problem. When the Aztec assembler processes a label, by default it changes the reference to it to a short offset relative to the address contained in register a4. Thus move.! label.dO move.l offsetCa4),dO This is good, since the alternative. would be assembled as. The obvious question is, where does the value in register a4 come from, and what should it be? Well, here's one answer, dug out from the depths of the tech info section of the Aztec manual. If either the small code or small data model is used, register A4 must point 32766 bytes after the beginning of the program's data segment. To insure this is set up con-ectly, we can place a label, say Data_Start, at the beginning of the initialized data section. The first instructions in your program should be; where offset is a signed 2 byte integer. movea.l #0ato"Start,a4 addo.l #32766,04 move.! absaddress.dO where absaddress is a 4 byte absolute address, is a longer and slower instruction. Note that we can't say tea Data_Start,a4 since this would create a reference relative to a4 and we haven't set it up yet! Thereafter, never use a4 for anything else. 84 Amazing Computing ViA ©1988 LINKLIB MACRO IFGT NARG-2 FAIL ENDC MOVE.L A6,-(SP) MOVEl \2.A6 CALLLIB \1 MOVE.L (SP)+,A6 ENDM ;Fall If more than 2 arguments. push a6 onto the stack. ;Move second org Into a6 ;CALLLIB <flrst argument> jRestore at from stack. Our use of LINKLIB wotild look like this... move. I #50,dl LINKLIB _LVODelay,Dos_Base .■50 ticks = 1 second. .■call Delay(50) The assembler would find IFGT NARG-2 false, so it would replace our macro invocation with the code from the macro to save the current contents of a6 on the stack, put Dos_Base in a6, replace the CALLLIB macro with jsr __LVODelay(a6), and finally, restore the contents of a6 from the stack. Ta-da! Here's the code that the assembler would put into our source code in place of the macro call: MOVE.L A6.-(SP) MOVE.L Dos_8ase.A6 JSR _LVODelay(A6) MOVE.L (SP)+,A6 This is great stuff, isn't it? Don't get carried away with the use of macros, though. Remember, the code is generated directly in-line, so every time you invoke a macro, you expand the size of your code. Using macros to generate code in your program is a very powerful way to increase your productivity in assembler language programming. But there is another, much more common use of macros in the Amiga include files that generates no code at all! There are macros in the exec/ types.i include file that allow you to define and use C-like structures. In fact, all the Amiga system structures in the include files are defined using these macros. The key to understanding this second use of macros is to understand the operation of two pseudo-ops, EQU and SET. The format for the EQU is: <label> EQU <e)<pressIon>. It's the equivalent of an assignment statement. A typical use of it would be: TRUE EQU 1. After the assembler encountered this statement, it would substitute 1 everywhere it found TRUE. The value of this is that it allows you to use meaningful names for things. An equate cannot be changed, so if you said TRUE EQU -1, (continued) and you'll be; just fine. When you are calling the assembly language as a subroutine from a C program, all this will be handled for you by the Aztec linker. In, when your subroutines are linked with the C programs. The only other problem I've had is that the constant "AbsEx- ecBase, which has a value of 4, cannot be used to get the address of the base of the exec.library with the statement: movea.l AbsExecBase.a6 since the Aztec assembler assumes it is just like any other label and assembles it as, movea.l 4(a4),a6 ;Say hello to the Gurul The simple solution is to use the following. movea.l 4,a6 ;GGt a pointer to exec .library move.l a6,Exec_Base ;Save the pointer, where Exec_Base is defined in the data section as follows: : Ex©c_Base ds.l 1 From then on you can use. movea I Exec"Bose,a6 to access the exec.library. I have to admit that when I first started writing programs in assembler for the Amiga, I couldn't figure this out and ended up buying the Amiga Assembler. Now I've written thousands of lines with both of them and can tell you that the Aztec assembler definitely produces smaller faster code. Inciden- tally, the Aztec linker. In, works just fine with the Amiga Assembler object files, and is much faster than ALink or BLink. — Patrick J. Morgan .u.t.l I I 'fli I i,"\ I ' ""* Amazing Computing V3.4 ©1988 85 later in your program, the assembler would know better, and would flag this as an e-ror. The SET pseudo-op, syntax: In the pre-pass, the assembler would replace our definition with the following (excluding my own explanatoiy com- ments); <labe)> sn <expresslon>, works almost like the EQU, with one important difference: Tlie SET is temporary. If you said and later said TRUE SET 1. TRUE ^T -1, the assembler would replace all occurrences of TRUE with 1 until it got to the second SET, and would replace all occurrences of TRUE thereafter with -1 . Perhaps the easiest way to understand how this allows structure definition is to trace through the equivalent in assembler of this C structure definition. struct ExompM LONG longl; UBYTE bytel; 1; I'll list the macros we'll use, and trace out how they work. First, we will use the STRUCTURE macro: STRUCTURE MACRO \1 SOFFSET LONG \1 SOFFSET UBYTE \1 SOFFSET SET SET \2 followed by the LONG macro. MACRO EQU SOFFSET SET SOFfSEl +4 then the UBYTE macro, MACRO EQU SOFFSEl SET SOFFSET+1 and finally the LABEL macro. LABEL MACRO \ 1 EQU SOFFSET Our structure definition would look like this: STRUCTURE Example.O LONG longl UBYTE bytel LABEL exmp^siz© I guess I should tell you to never place a macro invocation, or any pseudo-op, in column t, or the assembler will think it's a label. Always indent at least one space. Example SET SOFFSET SET SOFFSET = longl EQU SOFFSET longl = SOFFSET SET SOFFSET+4 SOFFSET = 4 bytel EQU SOFFSET bytel = 4 SOFFSET SET SOFFSET+1 SOFFSET = 5 exmp_slze EQU SOFFSET 6xmp_size = 5 Do you see the way the variable SOFFSET is used to keep track of how far we are from the start of the struirture definition? The STRUCTURE macro initializes SOFFSET to zero. The other macros in types.i , such as LONG and UBYTE, always EQU their arguments to SOFFSET, and then add their size to SOFFSET, i.e., LONG adds the length of a LONG, 4, to SOFFSET. The LABEL macro is typically used to get the final size of a structure. LABEL'S argument is equated to SOFFSET, but nothing is added to SOFFSET. In our case, the net effect is that longl and bytel are given values equal to the number of bytes they are offset from the beginning of the structure, and exmp_size is given a value equal to the total size of the structure. Note, just as in a C structure definition, no memory is allocated by these macros, which are used only to define a structure. To access the members of the structure you first need to create an actual occurrence of it. Here are three ways you could do it: METHOD 1: cnop 0,4 actual ds.l 1 ds.b 1 Assure long word alignment. ;Set aside space for a long. ;Set aside space for a byte. METHOD 2: cnop OA -Assure long word alignment, actual EQU •+exmp_stze ;Move program counter, (ttie '), ;past end of structure. or dynamically: METHOD 3: move. I #exmp_slze,dO move.l #MEMF_FAST,dl CALLLIB _LVOAIIocMem move.l dO,actual_ptr ;G©t size of structure. ;Ttiese are requirements. lAllocate the memory. jSave the address. with actuaLptr being defined in the data section as. actualjDtr ds.l 1 ;Storage for pointer. 86 Amazing Computing V3A ©1988 COMPUTER MART Your Texas Amiga Source Immediate Access to over 400 Amiga Titles. Prices too low to print! We stock Amiga Software and Peripherals For A500, AlOOO, & A2000. Mon. thru Fri. 10:00 AM-7:00 PM, Sat. 12:00-5:00 PM CALL TOLL FREE 800-443-8236 CUSTOMER SERVICE 409-560-2826 Computer Mart . 105 Lynn Street . Nacogdoches, TX 75961 To access the value of bytel, first get the address of the structure into an address register either with lea actual, oO for the first two examples, or with movea.l actuai_ptr,aO for the dynamically allocated structure. Then use a state- ment such as the following: movs.b bytel(aO).clO which tells the 68000 chip to move the byte at the address obtained by adding the contents of aO to bytel, into register dO. In other words, the byte at actual+4 is moved into register dO. All the libraries have include files defining their structures just this way. For example, suppose you have previously used the OpenWindow function, and have now moved the address of the window structure into aO. To get the address of the UserPort where Intuition will be sending you mes- sages, look up the name of the appropriate offset in the intuition.i file, then write: Voila! AO now contains the address of the UserPort. In order to program in assembler on the Amiga, it's impera- tive that you become familiar vrith the include files. I suggest that you print them all out, and keep them handy when programming. While you're at it, look at RJ's com- ments in the intuition.! include file for lots of good explana- tions mixed with wonderfully strange and bizarre humor. (I didn't know anyone else commented like that!) I hope you've learned enough about macros to take advan- tage of the ones in the include files, or perhaps even write your own. As you advance as an assembly language programmer, you'll find it useful to make your own include file with all your own favorite macros. We've only begun to touch upon the power of macros; the examples I've shown you are all quite simple, and they don't begin to explore the possibilities. ■AC* A very good 68000 programming reference is: 6S0O0 Assembly Language Programming Second Edition, by Leventhal, Hawkins, Kane and Cramer, published by Osborne McGraw-Hill. movea.i wd_UserPort(aO),aO Amazing Computing V3A ©1988 87 by John Steiner Bug Bytes The Bugs 8c Upgrades Column The Epson LQ-800 has been an excellent printer choice for /^miga owners, due to its high-quality output. Because the standard Preferences driver for Epson printers is not correct for Epson's 24 pin printers, someone wrote an LQ-800 driver and posted it to all the major information services. Epson's 24 pin printer was recently replaced by the less expensive LQ-500. When first connected, graphics printed on the Epson LC2-500 using :he Epson LQ-800 driver will produce .garbage output. Most people's first ::hought is that the printer driver is not appropri- ate for the new printer. TTiere is no need for a new driver, however. Careful study of the printer manual will reveal that DIP switch 2-6 must be on for the printer to accept the ESC code for unidirectional graphics. When the LQ-800 driver initializes the printer, it sends an ESC code to set the mode for graphics to uni-directional. If DIP switch 2-6 is off, graphics printing will not work. The LQ-500 comes with DIP switch 2-6 :.n the off position. Placing DIP switch 2-6 in the on position fixes the problem. Get Outta My Face is an unusual name for a program, so they shortened it to COMF. GOMF is a utility that causes your Amiga to avoid the Guru. GOMF constantly monitors the system operation, trapping both system reset and task held guru messages. Origi- nally shareware, GOMF 2.0 has now been released as a commcrcicil offering. Several improvements to the original version have been made, and a program called Nuke is included in the package. Nuke allows you to remove an errant task from the system, and reclaim the memory and other allocations previously assigned to that task. If you have ever had a CLI window lock up and had to set it aside, knowing it was holding several hundred K of RAM hostage, you can see how useful Nuke can be. Registered users of the original GOMF may upgrade to the latest version for the difference in price between their shareware contribution and the com- mercial price of S39.95 (U.S.) + $4 shipping + S3 U.S. Handling Fee. GOMF 2,0 Marketed by; HyperTek/ Silicon Springs #205 2571 Shaughnessy St. Fort Coquitiam, BC Canada V3K 3P5 (604) 942-4577 TDI Software has an upgrade available for Modula 2. Version 3.01a contains several bug fixes to the editor and compiler. It is a no-charge upgrade. Registered users will be notified. If you have changed addresses, or have not registered yours, notify them. You can also send two blank disks and your registration number, and they will copy the files for you and return your disks. Their address is: TDI Software Inc. Mike Valentine Amiga Upgrade 104W Markison Rd. Dallas, TX 75238 Put in a note with your registration number, saying you have 3.00a and want the latest upgrade. The latest version of Viza Write is 1.06, from Progressive Peripherals and Software. Changes were made to fix bugs, and some minor enhancements have been included. The major change to the program involves the startup configuration file. Virtually anything that can be changed in the program can be set to a default value in the configuration file. Thus, you can customize the way VizaWrile starts up, so your documents will always be precisely formatted without making changes. Registered users do not have to do anything to receive the Viza Write upgrade. Progressive Peripherals and Software has also made available another no- charge upgrade to CLlMate. The program reads and displays directories and files. The program creates a file called -fastdir, which it uses to help spiced display of a disk or directory. The .fastdir file is stored in the dis- played directory. On hard disk systems, the .fastdir file created by CLIMate clutters up the directory trees and is not easily removable. TTie latest version of CLIMate includes an option to avoid writing the .fastdir file. Additionally, a program is included that will search and remove .fastdir files from a hard disk, reclaiming valuable disk real estate. To receive the upgrade, simply ship your original Amazing Computing V3 A ©1988 CLIMate disk to them, and they will copy and return the new version to you at no charge. Send your disk to: Progressive Peripherals and Software (altn: Mark) 464 Kalamath Street Denver, CO S0204 (303} 825^144 For about a month, I have been using Professional Page, Gold Disk's Desktop Publishing Masterpiece. The program, well over a year in the making, was worth the wait. I publish two news- letters a month, and a plethora of other materials. Pro Page has turned my Amiga into a truly professional desktop publishing system. Still, version 1.0 has a couple of bugs. On rare occasions, a postscript print will draw a diagonal line from the upper right corner of the page, down and to the left. The line seems to be of random length and thickness. It doesn't happen often enough for us to nail down the problem, so if you are having the same problem, let me know the details. Maybe we can determine imder what conditions the problem occurs. There are eighteen Postscript fonts included with the package. One notable exception is Zapf Dingbats, a font made up of many useful (and not so useful) symbols, Arno Krautter of Gold Disk reports that in the rush to release Pro Page, they accidentally lost the ".metric" file for it. One of the major disappointments to prospective Professional Page users is that there is no dot matrix printer support. Pro Page outputs only to a Postscript printer. Gold Disk is working on an upgrade to Professional Page (version 1.1), and by the time you read this, it should be ready. The Zapf Dingbat font and Dot matrix support, as well as Color Separation capabilities, wiU be in VI .1 of Profes- sional Page. The color separation module was originally expected to cost extra, but Gold Disk has decided to include the module in the main package. This will be available as a FREE upgrade to current Pro Page owners. Incidentally, if you have a desktop publishing package that writes Post- script disk files and you would like typeset or laser printed pages, but none of the printing services in your area will read Amiga disks, don't go buying a Macintosh. You can send your disks for printing, at reasonable rates, to a company I am affiliated with; Computer Associates Box 683 West Fargo, ND 58078 (701) 280-0915. If the Postscript file is small, you may upload it for printing to their BBS at (701) 280-9463, Remember, a 200K Postscript file will do nasty things to your telephone bill at 1200 baud. The Amiga 2000 and Digi-View do not always get along well together. New- Tek sells a small circuit that mates the Digi-View unit with the 2000. If you recall, the AlOOO has a printer port that is just the opposite gender of the A2000. In addition, the port wiring is different and a straight-through gender changer won't always work with Digi- View. Even the NewTek Gender Changer evidently doesn't always work. Instead, the software responds with "NO VIDEO SIGNAL PRESENT." There appears to be a problem with the 8520 CIA chip (it controls the parallel port, among other things); a lot of them seem to be marginally adequate, and apparently Digi-View is sensitive and requires exact voltages and power requirements. NewTek has commented that, with few exceptions, when they got a call about Digi-View not working on the 2000, the person's printer would work. Replacing the 8520 CIA chip in your 2000 may cure the problem, but even then there's no guarantee you won't replace it with one that's marginal or worse than the original chip. If you have found a solution to this problem, pass along the information, I will publish it here. There have been complaints that the Okimate 20 printer will not work with the A2000. It seems the Workbench 1.2 V33.61/ 33.59 will not work with the Okimate 20. Until a better solution comes along, you can use the Enhancer v33.47/33.44. That Work- bench and Okimate printer driver combination works fine. While on the topic of Amiga operating system problems, there is a report of a problem with AREAD and AWRITE on the A2000, when using a Jlinked Wrtual drive. Use of either program will corrupt some of the files on the Jlinked drive. To work around this bug, simply use an intermediary file on the Amiga side, if the source or final destination is in a Jlinked drive. Not to be left out, the AlOOO Sidecar also has a problem with AREAD and AWRITE. A note from a Mr. K. Davidson included the following workaround. Mr. Davidson found that AREAD and AWRITE didn't work after installing a hard disk in the Sidecar. After the DJMOUNT com- mand was entered to add the hard disk to the Amiga, AREAD/AWRITE no longer worked. The problem seems to be one of timing. In your hard disk startup sequence, enter the BlNDDEilVERS command and use the WAFT command, allowing enough time for the sidecar to boot. When the disk has finished booting the sidecar, enter the DJMOUNT command. Click the PCdisk icon on workbench, then click the PCmono or PCcoIor icons — ARead and AWrite will work. TTiere is a new hard disk driver program for the A2000. If you have problems with read errors on a hard disk when the A2000 is in the over- scan mode, you will need the new driver. It has been posted to every major communications link, or you may get it from your local dealer. It is a no-charge upgrade. You won't need to reformat your hard disk or any- thing, just copy the new driver program to your expansion drawer. •AC- Amazing Computing V3.4 ©1988 89 W'wno»«y"*v"' ■»■■ \Vve ^p- Picture by Warren Ring The Unified Field Theory Continued! Last month we started a series of articles on interfacing between a number of assembler functions, a collection known as a tool box, with unified fields. This article is the second in a three-part series describing these functions. The source included here covers disk I/O, console I/O, line- scanning of text for individual words, string manipulation. Integer/ ASCn conversion, and text display. This month, we'll reveal the source code and examples of a full set of disk I/O routines, string copy, string compare, and string extraction (your BASIC LEFTSO, RIGHTSO, and MIDSO functions). When this series concludes next month, we will have completed our first toolbox. The text shown in the MACROS.ASM and WARLIB.ASM files should be appended to the text for the files shown in last month's column. (You can also obtain a copy by modem. See end of article.) The functions we'U cover tliis month can best be illustrated by two example test progTcims. Example One: Text Manipulation Listing 1 is an example of how you can extract text from the left end, middle, or right end of a string as easily as you can in BASIC. Type in the example listing, assemble and link it as "testl." Then execute it by entering the program name, "testl," followed by a text string no longer than sixteen characters, and two integers, which we'll call "m" and "n." Testl displays the left-most "m" characters, the "n" charac- ters starting from position "m," and the right-most "n" characters, just as they are used in BASIC. Listing 2 shows some sample runs. Note in the examples how the package gracefully handles invalid data, such as the negative num- bers and the excessively long input string. Example Two; Diek I/O Listing 3 is an example of all disk I/O functions: how to Create, Open, Read, Write, iieek. Close, Rename, and EJelete files. In our example, "test!," we define a file structure as a group of records, each contcining sixteen bytes. Each record contains an English word or phrase padded with spaces on the right end to make it sixteen characters long. You may open, create, rename, or delete a file. Once you open a file. you may read and write records, seek a new position to make the next read or write, or close the file. \'ou may also display or modify the text in the record in RAM. Listing 4 shows a sample run. Note that you can display both the hex and ASCII values of the bytes in the file we create by entering: l>type texts opt h j Now for some background on how the AmigaDOS disk I/O calls work. AmigaDOS correctly assumes that most files read or written are "sequential" files, meaning you either read an existing file from beginning to end, or you create a file and write sequentially imtil you close it. Each file has a position marker, or cursor associated with it, indicating where in the file (how many bytes into the file) the next read or write takes place. Each time you read or write in a file, AmigaDOS automatically moves this cursor to the end of the record you just read or wrote, making the assumption that you wish to read or write the following record. If you wish read or write in another place in the file, you must use the Seek command to change the cursor position. The figure AmigaDOS accepts can be relative to the begin- ning of the file, current position, or end of file. Tn this toolbox, we make all cursor positioning arguments relative to the beginning of the file. Listing 4 shows a sample run. For those of you who just joined us this month, this package uses a structure called a "string buffer" to hold our text record. A string buffer consists of a long integer, indicating the size of a data area in bytes, followed by a long integer indicating the current usage of that data area in bytes, followed by that data area. String buffers are used as disk I/O buffers, as well as text buffers. When we write to disk, the current usage of the string buffer is the number of bytes to be written to disk. Conversely, when we read from disk, the maximum length of the string buffer is the number of bytes we wish to read from disk. The read routine sets the current usage of the string buffer to the actual number of bytes read from disk. Accordingly, AmigaDOS tries to fill the string buifer, and the string buffer's current usage is set to the correct value. 90 Amazing Computing V3.4 ©1988 String buffers unify the interfaces to all functions in this toolbox, and simplify many of the coding operations that assembler programmers find difficult. A Common Error During the development of this package, I noticed that an unusually high percentage of Guru visitations are caused by one specific error: using a Long word move when moving a byte. Three statements after CreateFile2 in the library file, the following statement appears: MOVE.B #0,(A2) If "L," instead of "B," is inadvertently specified here, as is normal in other parts of the routine, and A2 happens to point to an odd address, you will get a visit from the Guru! About 50% of the Gurus 1 received were traced to this error. Parting Worde If you missed last month's column, or would rather get a copy of these files electronically, they should be available under the name ASMTOOLl.ARC on PeopleLink. This archive file should also be on the two BBS systems I regularly visit— the Los Angeles Amiga User's Group BBS (LAAUG Line) at (213) 559-7367, and the "1939" BBS at (818) 368-4248. If you have questions or comments, you may contact me at either of the boards or through this magazine. Listing One Text Manipulation Exercise (lestl)i section code Include "macros, asm" Start .•Perform startup r housekeeping Scanw twordl ;Set AS, m, and n. Scanw tMord2 ; to the first three words Wol •HordZ.I ; found on the conmaRd Sunw tWotd3 ,- line, respectively Atol tWorda.J Display < 'Lefts (" >> .-Display -LeftslAS.m)-" Mrltcon tHordl Display <*",'> Mrltcon #Mord2 Display <•)-"> Loft ♦Mordl,!, tHord4; Calculate B$, and Mrltcon (Mord4 : display It Display <>-■> Crlf Display <'HidS(- > .-Display -MidStAS.m.n)-- KrltCon ♦Hordl Display <■-,'> Mrltcon ♦WordJ Displty <*,' > Mrltcon tWord3 Display <'!--'> Hid ♦Mordl,:, J,tMord4;Calculate B$, WritCon tHord4 ,- and display it Display <'-'> Crlf Display < 'Rights ( -«>.-Dl»pl«y -]U,gtlt$|A$,m)-* Mrltcon tWordl Display <>-,'> WritCon «Word2 We have those FUNNY CONNECTORS for the bock of the Amiga™ ! The ones foe Itie DBK CABLE (DB23P) The ones for ft^ RGB MONITCf! CASLE CDB23S) The ones for ftie IW?AUi£L ffWJTH^ CAELE (DKSS) CENTRONICS MAJJE/fEMALE The cnes for (he SS3AL (MCOS^ CAEf (DB2SP) CONNECTOR COJBS and 9-fil5 \Afe dso have tie 34 RN B>3E CCM-eaOi for frose making Ite 5 - Roppv Disk Interfcce PGOdy to Use 2 DOVE CABIE w/ PCWB} SUPPC Ccfcles for PfiTJTHS end MOMTORS 6(t. T3T1 SonyRGaCcfcte TOOO Porolel 500/2C10QSenal 2 Pa AB - M S35.00 3PosAflC-M S45.00 TOOO Serbl 2000/500 Padlel AB-S AflC-S Shoe your dsk iwoucei, (2000 Owneu w/Bridge card.) Usethii switch boxcompwew/coblestoswllchyou/eittemal floppy betwean Amiga & IBM ports. S3.00 33,00 S3.00 S3,00 ST. 75 $59.00 ST 3.00 S18.00 S30.00 S35.00 W9.00 MAIL ORDERS pleat© hdude SZOO Postage & HciK*ig PHOKE ORDERS C918) - 336 - T7M (COD only) BCD I Jim Black FO. Box #1224 Bmlesville, OK 74005 Display Right Mrltcon Display Crlf ♦Mordl, I, IWordl; calculate BS, »Mord4 ; and display it Exit ;?erform ending house J keeping, and exit include -warllb.asra" section data StrBuf StrBuf Strauf StcBuf StrBuf Buffer, 80 Wordl,lS Word2,16 Word3,lS Kord1,16 I J OS. DS. L 1 I. 1 Listing Two Sample Text Manipulation Run ' l>testl abcde 2 3 Leftsr ibcde' 2l--ab- MldSrabcde",2,3(-"bcd Rights ( "abcde ■.2|-"dB- l>teatl abcde -1 5 Lefts ("abcde- -II-" MidS("abcde', -1.5)--" Rights ( ■abcde-, -1)-" litest) abcde S -1 Lefts |-abcdo- 5)--abcd( HldS (-abcda-, 3, -1) -" (conlinueii) Amazing Computing V3.4 ©1988 91 Mit^kxitg at tljE Ariicnnca (Made for the AmjgaTM ww II battfe simulator) Early in December 1944 America was waiting ttie return of Its victorious armies in Europe. But on the other side of the Seigfried Line, Hitler had other plans, launching his last ma- jor surprise attack of the v/ar, and introducing the new 80-ton Tiger tank. You are in command of either the Allied or the German forces. The die is cast. Make your command decision. This is the game that had to wait for the Amiga'^^ FEATURES: • Easy to understand ailes and concepts ' Detailed full-color graphics ' Realistic sound effects One or two players Seigfried Line ArtlllBry Supply Terrain effects ' V-2 Rocket attacks ' German saboteurs ' Paratroopers ' Play customization ' Save Game function ' Handicapping system for play balance Weather Fuel Dumps Aerial bombardment Building 3, 297 North Street Hyannis, Mass. 02601 (617)790-1994 Requires 512 K Amiga™ or Amiga 500™ «52 95 plus $3.00 post. & hand. visa & MasterCard Check, Money Order or C.O.D. Mass. Res. B% tax !lii!hCS("abcdB-,5|--abcde- l>te>tl abcde 6 3 LeIt5l"abcdB-,6|--abcde- HldSI-abeae-,6,3)--'- RlqhtS I "abcde*, 6) -"abcde" l>t<!stl abcde 1 2 Lertscabcde-, l)--a- MidS(-abcde-,l,2)--ab- RlqhtS ("abcde", l)--e" l>t.e3tl abcdefghljfellrmopqrstuvfwxyz 100 lOD Lof t S ( "abcdefqhi ] ttlfflnop" , qrstuvwxyz ) -" " MldS ("abcdBf ghi j JtLmnop" , qrst uvwjtyz, 1 00 ) -"" Bights ("abcdefghljttljanop-^qrstjvwxyz]-"" 1> lisling Three Disk HO Exercise . section include start Display Display FieadCon macros. asm jFecCom atarling hoiltekeeping c^OJpen, C)reate, filename, D)elete,'> C Elldt; -> fSelection SlrCmp *Selection,ta,-If the re sponse i« not BNE X2 ,- "0-, ther. Jump to X2 Display < -Which file? '> ReadCon ♦ FilEiiamel Open ♦Filenaraet.Filol BEQ XIA ;If there iras an error, J then jump to XIA Display <'The file is open'.U;- BRA XIO ;J«iip to xr.o XIA Display <^There la no such tiUi' tlF> BRA XI .-Juinp to x:.o 92 Armzing Computing V3.4 ©1988 StrCmp #Salectlon,tC:If the response la not ^^ ^3 J -c*, then jianp to X3 Display <'which file? >> ReadCon #Filenan!el Create ♦Fllenamel,Fil»J BEQ X2A : it there was an error, ; then jump to X2A Display <'ThB file Is open' , LF> aSA XIO .-Jurap to XID A Display <^1 cannot create lt',LF> ^*^ XI ; Jusip to XI Strcmp tSBleetIon,#R:If the response is not ^"^ "' .- "R*, then Jump to X4 Display c'Whieh file? >> HeadCon JFiienamel Display <'Neii filename? >> ReadCon tFilenarae2 Rename *Filenamel.lFilenaiiiB2 BEO X3A ;if there was an error, ; then Jump to X3A Dijplay -CThe file is renamed', LF> BRA XL iJusip to XI A Display <:'I cannot rename it',LF> BRA XI J Jump to XI StrCmp »Selection,»D;It the response wai not B™ fS .- -D", then Jistp to X5 Display < 'Which file? •> ReadCon IFilensmel Delete IrllenamBl BEQ X4A ;lf there was an error, ; than jump to X<A Display <'The file is deleted', LF> BRA XI .-Jump to XI A Display <'I cannot delete lt',LF> BRA XI .•Jump to XI StrCmp #Selection,#E;It the response was not B™ X6 ! -E", then jump to X6 Display <'E)tlting. .." ,10> BRA X99 ;Jujip to X99 : (Other selections nay go here) BRA XI .-JUTTip to XI Display <>CH09B, Blead, WJrlte, D) IsplayRec, ' i Display < HlodilyRec, SJeek: >> ReadCon ♦Selection StrCmp ♦Selection, *C;lt the response was not BilE Xll ; -c", then jump to Xll Close BRA Fllel XL ; Jujrp to XI StrLen ♦Recordl BNB XIO StrCmp ISelection, tR;It the response was not BtrE X12 ,- -B", then jump to X12 Read Fllel, ♦ftecordl ADDQ.L ♦l,BecNural .-Increment the displayed .' record number ,'ir the record has a non- .- zero length, then juj^ : to XIO Diiplay <*Unwrltton record', U> BRA XIO .-Jump to XIO StrDnp ISelection, ♦*?: If the response was not BNE X13 ; "tr, then jump to X13 ADDQ.L fl,RecNumI ; Increment the displayed ; record nocber Write Fllel, tKecordl BGT XIO ;ir there was no error, ; then jump to XIO Display <*Error',Lr> BRA XIO .-Jump to XIO StrCmp ♦Selection, fD: If the response was not BNE X14 ; '0', then jump to Xl4 Display c^Record ^> ItoA ReclIUJr[il,#S election WritCon fSeiection ;Di3play the record nuniber Display <*, the word is " ^> WritCon ♦Hecordl Display <:*"\LF> B^A XlO .'Jump to XIO StrCmp BNE *Selectlon,IM;If the tesponsQ was not XI 5 ; "M", Then jump to XI 4 Display <'Enter a new word: *> Re^dCon Iwcird StrCpy #Spacos, #Recordl ,-Pad the word with StrCpy #Word,#RBcordl; spaces to maJie it le MOVE.L #16, DO ; Chars long KOVE.L D0,Recordl+4 BRA XIQ ;Juinp to XIO StrOnp SHE ♦Selection, »S; If the response was not X16 ,- "S", then jump to X16 Display <'Enter the record number; *> ReadCon ^Selection Ato I ISelection^ ReclJuml HC'VE,L RecNuml^DO .-Multiply the record LSL-L #4,00 ; number by 16 to get the MOVE.L D0,FilelOffset; byte offset Seejc FileUFilelOffset BRA XIO ;Juinp to XIO BHA XIO [other aelectlons .■Jump to XIO may go here) Exit ■Perfona endinq f and house- exit include "warllb.asnv" section data String String String String D, E, M, 'C 'D' 'E' 'M' string String String String O, S, »0' 'R' 'S' 'w String Spaces, c' StrBuf Filenamel, 16 StrBuf Filenamea, 16 StrBuf Word, 16 StrBuf Recordl,ie StrBuf Selection, 16 FilBl RecKuml FilelOffset end DC.L DC.L Listing Four Sample Disk I/O Run '' l>test2 0]pen, Clreate, R) cname Which tile? text2 There is no such file 0)pen, c Ire ate, R) ename Which file? text3 The file is open Olose, Rlead, WIrite, Record 0, the word Is ' CUoae, Rlead, WIrite, Enter a new word: Line Clloso, Rlead, WIrite, Record 0, the word Is ' Cllose, Rlead, Wlrite, Cllose, Rlead, WIrite, Enter a new word: Line Cllose, Rlead, WIrite, Record 1, the word is " Cllose, Rlead, WIrite, Cllose, R)ead, H)Eite, , Dlelete, E)xlt; O , Dlelete, EJxlt: C Dl IsplayRec, Dl IsplayRec, 1 DlisplayBoc, Line 1 D| isplayRec, D)isplayRec, 2 D) isplayRec, Line 2 D) IsplayRec, D) IsplayRec, HlocJltyRec, Sleek: D MIodlfyRec, Sleek: H MIodlfyRec, Sleek: D HlodlfyRec, Sleek: W MlodlfyHec, Sleek: M Hlodifyaee, Sleek: D KlodifyRec, Sleek: w HlodityRBC, Sleek: S INTRODUCING. An Evolution in Disk Utilities for Amiga™ Personal Computers! F E A T U R I N G • An eaiy to use, friendly and imuilive user interface. • A powerful and fast disk backup tool that lets you make backups of your copy-protected Amiga software. • A disk editing tool tliai lets you edit raw MFM tracks. AmigaDOS seeiors and AmigaDOS files (auiomalicaily calculating new checksums). • A disk cataloging tool thai lets you maintain Usts of your personal, public domain and commercial software, • A unique backup tool for duplicating other disk formau including MS- DCS; PC-DOS and Atari ST. • An easy to read, informative user manual is included. • This product is not copy-protected in any way. NOW SHIPPING! $49.95 " Includes shipping and handling! Arizona residents add 6.5'.7 sales lax. TO ORDER Send check or money order to: Fuller Computer Systems, Inc. P.O. Box 9222 Mesa, Arizona 85204-O4J0 Or CALL (602)835-501 8 Amiga is a trademark of Commodore-Amiga, Inc. Dealer [nquiries Inviied Enter the rcecord number: Cllose, Rlead, HIrlte, D| IsplayRec, M)odlfyRec, Sleek: Cllose, Rlead, WIrite, Dl IsplayRec, MlodlfyBee, SJeek: Record 1, the word Is "Line 1 Cllose, Rlead, WIrite, D) IsplayRec, HlodlfyRec, Sleek: Cllose, Rlead, WIrite, DIlsplayRec, HlodlfyRec, Sleeks Record 2, the word Is "Line 2 * Cllose, Rlead, WIrite, DIlsplayRec, HlodlfyRec, Sleek: Unwritten Record Cllose, Rlead, WIrite, DlisplayRec, HlodlfyRec, Sleek: Record 3, the word is "" Cllose, Rlead, WIrite, DlisplayRec, HlodlfyRec, Sleek: Qlpen, Clreate, Rlenaroe, Dlelete, Elxit: E Exiting. . . 1> type text3 opt h 0000: 4C696E65 20312020 20202020 20202020 Line 1 0010: 4C696£e5 20322020 20202020 20202020 Line 2 1> Listing Five The Macro File macros. asm (The following external declarations and equate should be appended to the list of external declarations shown for this file in last month's column) XR£F LVDRenarae XREF LVDDeleteFll XREF _LVOSeBk IFND LF LF EQU 10 ENDC (continued) Amazing Computing V3A ©1988 93 INTERCHANGE Share objects between Sculpt3D, VideoScape 3D & Forms in Flight NOW YOU CAN... - Use Sculpt 3D to ray-trace VideoScape 3D objects - Do Forms in Flight animations on Sculpt 3D objects - Create VideoScape 3D objects using the Sculpt 3D interface Full Tnhiition interface fo r nil TnterChnnpe functions Object Disk #1 now available. Includes a Sculpt 3D fonl, plus lots more Sculpl 3D and VideoScape 3D objeclsl Interchange inasier program plus Sculpt 3D and VideoScape 3D Conversion Modules. S49.95. Fonns in Flight add-on Conversion Module. S 19.95. IntetOiange Object Disk # 1, S19.95. llils product requires objects from Sculpt 3D and/or VideoScape 3D md/oT Forms in Flight. It is not a standalone animation program. To order, send check or money order. Please include S3.00 postage & handling. MA and Wl residents add 5% sales lax. Interchange is a trademark of Syndesis. Sculpt 3D, VideoScape 3D and Forms in Flight arc trademarks of Byte by Byte Corporalion, Aegis Development and Micro Magic icspeaively. ^ ^ ^ • • • • • • • SYNDESIS • • 20 WEST STREET WILMINGTON, MASSACHUSETTS 01887 617-657-5585 St rCpy StrCrcp (The following macro definitions should be appended to the list of macio definitions shown for this file in last month's column) ;SB - th« location or i •trlnq l«££er Open MACRO HOVEM.L AD-Ai,-|A1) MOVE.L \1,A0 ,-\l -> SB containing MOSfE.L *\2,A1 .- the filenarie JSR OpenFile HOVEH.L |A7)+,AD-A1 ENDM create MACRO HOVEM.L A0-A1,-(A7) HOVE.L \l,AO ;\1 -> S3 containing MCVE.L #\2,A1 ; the filename JSR CreateFile ;\2 -> the file HOVZK.L (A7)+,A0-A1 ; handle EHBM MACRO HOVEM.L A0-A1,-(A7) HOVE.L \1,A0 :\l -> the file handle (ttWE.L \2,A1 :\i -> 58 to receive JSR BeaUFUe; the disk record MQVEH.L (A7)+,A0-A1 E!(DM MACRO HOVEM.L A0/De)-Dl,-(A7t MOVE.L \1,A0 ;\1 -> the file handle MOVE.L \2,D0 .■\2 -> the position to MDVE.L t-l,Dl ; which to seek JSR SeeiiFile MOVEM.L !A7|+,A0/D0-D1 ENDH RliJhC string HOVe.1 . L AO , - I A7 ) MOVE.L \1,A0 ;\1 -> the file handle JSR CloseFlle MOVEM.L lAD+.AO ENDH MACRO KOVEM.L AI)-A1,-(A7( HOVE.L \1,A0 :\1 -> SB containing MOVE.L \2.A1 ; the current filename JSR RenameFile ; \2 -> SB containing MOVEK.L (A7)+,A0-A1; Che ncv fili!na.ie EHDH MACRO MOVtH.t, A0.-(A11 MOVE.L \1,A0 ;\1 -> SB containing JSR DeleteFile; Che filename MOVEM.L CA7)+,A0 ENDH MACRO HOVEM.L BO/AD-Al,- MOVfi.L Conln^AO \1,A1 Readme MOVE.L JSR MOVE.L ASDQ.L SUBI.L lATl ;\1 -> SB concaininq ; text to gend to the console \1,A1 ; (Lop oft the terminating ♦4,A1 s LineFeed) • 1, (AD MOVEM.L (A7)+,D0/A0-A1 ENDH MACRO .-M -> SB to copy HOVEM.L A0/Al,'(A7);\Z -> SB to copy to MDVEA.L \1,A0 HOVEA.L \2,At JSR StrCpy_ MOVEM.L (A7)*,A0/A1 ENDH MACRO MOVEM.L AOrtl, HOVEA.L \I,AO MOVEA.L \2,A1 JSR scrcrap_ MOVEH.I, (A7) + ,A0/A1 vnau ;\1 -> SB to compare (A7)j\2 -> SB to compare \1 -> SB to examine MACRO MOVEM.l. A0/A1,-(A7) HOVEA.L \1,A0 JSR strLen^ HOVEM.L (A7) tjAO/Al ENDH MACRO :\1 -> SB containing the MOVE.H.L AO/A1/DO,-(A7(. source string MOVEA.L \1.A0 ; V2 - nunber of bytes to HOVE.L \Z,DO ; copy HOVEA.L \3,Al ;\3 -> SD containing the JSR Letc_ ; deitlnatlcn string HOVEM.L (A7|+,A0/A1/D0 ENDH MACRO .-\1 -> SB containing the H3VEH.L A0/A1/D0/D1,-IA7) .-source string MOVEA.L \1,A0 :\2 - point at which to ; start copying ; \3 - nui^er of bytes to ; copy :\4 -> 5B cflncainlng the ; destination string HOVEM.L (A7|+,A0/A1/D0/D1 ENDH MACRO :\\ -> SB containing the MOVEM.L. AO/Al /DO, - (A7) .* source string MOVEA.L M.AO :\2 - number of bytes to HOVE.L \2,D0 ; copy HOVEA.L \3,A1 .-\3 -> SB containing the JSR Right_; destination string MOVEM.L IA7) t,A0/Al/O0 ENDM MOVE.L \2,D0 MOVE.L \3,D1 MDVEA.L \4,A1 JSR Mid MACRO .■\1 a string buffer label CNOP 0,2 :\2 - the String \1 StringV! DC.L string 2\(-String 1\B DC.L String 2\I-String l\e String \\t BC.B \2 String 2\S CHOP 0,2 ENDM 54 Amazing Computing V3.4 ©1988 HARD DRIVES PIONEER has Xhe storage solution for your personal computer, business system or graphics workstation. Your requiremenis are met by our product family. From the 20-megabyte through the high performance 150-megabyte drives, PIONEER spans the storage spectrum to offer the right capacity, performance and price to suit your system needs. AH PIONEER hard drive have an embedded SCSI controller build-in. This makes you compatible with other SCSI systems on the market (no interfaces needed between the computer host controller and your hard drive). SCSI HOST CONTROLLER The SCSI host/controller has been designed with growth and expansion in mind. The hardware and software provided with your SCSI hosl^conlroUer will allow you to connect, sel-up and access information from any SCSI device. The SCSI host/controller allows AmigaDOS to deal with your hard drive at a system level using the same commands that you are now using with the standard Amiga 3.5" floppy drive. The SCSI host/controUer wUl provide you with the fastest, most reliable and fully featured hard drive system available for the AMIGA 500, 1000 and 2000. The SCSI host/controUer comes complete with a expansion bus pass-thni, 18 inch cable, 50-pin SCSI bus and Apple/Mac Pseudo SCSI 25-pin connectors. HARD DRIVE CASE Full-heighl case comes complete with a 45 watt fan cooled power supply, swiichable 110/220 AC voUage (50/60 Hz), room for one full-height or two half-height drives, power-on lED, half-height cover plate and power cord. Dimensions: 7" wide, 5" high and 15.5" deep. Half-height case comes complete with a 45 watt fan cooled power supply, switchable 110/220 AC voltage (50/60 Hz), room for one half-height drive or tape back-up, convenient cany handle and power cord. Dimensions: 6" wide, 3.25" high and 15.5" deep. OUR GUARANTEE TO YOU: All our products arc 1009& guaranteed. We will replace, exchange or refund* any purchase to your sadsfacdon. • Refimd must be made within 15 days of receipt of producL Hard Drive comes complete with drive, SCSI host/controller, your choice of case and a ONE YEAR WARRANTY! 20 meg 40 meg 65 meg $ 659.95 $ 879.95 $ 949.95 External 3.5" Floppy Drive PIONEER'S 3.5" floppy drive comes complete with an 18" cable, fully enclosed metal case, a pass-thru for addional drives, single or dual drive, ninety day warranty and consumes about 2.1 watts. Single Drive $ 159.95 Dual Drive $ 329.95 PIONEER COMPUTING -Blazing a New Frontier for AMIGA COMPUTERS- 2469 East 7000 South #200 Salt Lake City, UT 84121 (»1) 942=1174 Listing Five ^^^WWi The Macro File '^^macros.asm^^ ^ ' (The following library routines should be appended to the list of library routines shown for this file in last month's column) OpenFile .'This routine opens an alroac^-existing file In; M -> SB containing the filename Out: Al -> the tile handle (0 - file doesn't exist) Zero Flag - Clear If the file exists, S&t if the rile doesn't exist HOVEM.L D0-D3/A0/A6,-{A7) r (Push registers) .'First, we must convert the filenairae from string buffer form to ADDQ.L #4,A0 HOVE.t iAO)+,Dl ADDQ.L ANDI.L D1,D2 43, D2 #5FFFE, D2 sira.L D2,h^ MOVB-L A7,A2 HOVS.L A7,A3 SUBQ.L #1,D1 form (HaJce AO point to the current useage of the filenaioe string buffer) Set the byte counter (Dl) to the current useage of the string buffer <Ha)te AO point to the first data byte of the filenaioe) Create a temporary buffer on the stack of the length of the filename, +1, rounded up to the next word boundary {D2 - the size of the temp- orary buffer on the stac)t> (Make A2 point to the temp- orary iHJffer) (Ma)te A3 point to the tenqs- orary buffer) OpenPileS .'Copy the filenaine from the MOVE.B (A0)+,{A2>+ ,- filename string DBRA Dl^OpenFileS HOVE.B #0, (A2) MOVE.L A3,D1 ;Open the file HOVEK.L A1/DZ^-(A7) MOVE.L lHO0E_OLDFILE,D2 HOVE . L DoaLibraryHa ndle , Afi JSR _LVOOpen(A6) MOVEH.L (A7)+,A1/D? ADD.L D2,A7 .-Delete the temporary buffer MOVE.L D0,{A1) .'(Set the caller's file handle ; value) MOVEH.L (A7)+,DO-D3/A0Me .-(Pop registers) RTS ."Return CreateFile ;Thi» routine creates a. new file In: AO -> a string buffer containing the filename Out: Al -> the file handle (0 - file could not be created) Zero Flag - Clear if the file was created. Set if the file wasn't created .'Motes: This routine deletes any already-existing ; file of the same name A create operacion may fail because an already-existing file under the same name has its protection attribute set, or there Is insufficient disk space to create the new file. MOVEM,!. D0-D3/A0/A6, -(A7) ; (push registers) /First, we must convert the filename from string ; buffer form to "C" form (continued) Amazing Computing V3A ©39SS 95 ADDQ.L ♦4,WJ HCVE.L (A0)+,D1 HOVE.L D1,D2 ADDQ.L t3,D2 AUDI. I. ♦5F?rE,D2 StIB.L 02, AT HOVE.L A7,A2 HOVE.L AT, A3 SUBQ.L »l,Dl {HaXe AG point X-O the current uSGAge of the filename string buffer) Set the byte caunter (Dl) to the current uaeage of the string buffer (HaJte AO point to the first data byte of the fllenarne) Create a temporary buffer on the stacJt of the length of the filename, +1, rounded up to the next word boundary (D2 - the size of the temp- orary buffer on the stack) [MaKe A2 point to the temp- orary bulter) (Make A3 point to the temp- orary buffer) Createrile2 MOVE.B (A0|+,(A2)+ J Copy the filenarae from the DBtUh DlfCceataFilaZ; filenarae string HOVE. a «0, <A2) HOVE.L A3,D1 jCreate the file MOVEM.L Al/D2,-(A7) MOVE , L -#MOnE_NEWF I LE , D2 MOVE . t DosLibraryHandle, A6 JSR _LVOOpen(A6) HOVEM.L <A7J+,A1/D2 AED.L D2,A7 ; Delete the temporary buffer HOVE.L DO, (Al) MSet the caller's file handle ; valued MOVEH.L (A'?) + ,D0-D3/A0/A6 : (Pop registers) PETS ,- Return Deleter lie sIhLa routine deletea a tile In: AO -> a string buffer containing the filename Out: D(J - the statuji (0 - file could not be deleted) Note: A delete op*raticr) may Call becauae the existing file hai its protection attribute set. MWEM-L D0-D3/A0/A2/A3/A6,-{A7> ; (Push registers) .-First, we nust convert the fllenane from string ; buffer forw to *C" form ADDQ.L *4,A0 ; (Hake AO point to the current useage of the filename string buffer)< ;Sot the byte counter (Dl) to the current useage of the string buffer ^ (Hake AO point to the first data byte of the filenarae) .■Create a temporary buffer on the stacle of the length of the filename, +1, rounded up CO the next word boundary SUB.L D2,A7 ; (D2 - the site Of the temp- orary buffer on the stac]c) HOVE.L A7,A2 ; (MaJce A2 point to the tenp- oiary buffer) HOVE.L A7,A3 : (Ma Ice A3 point to the tenp- orary buffer) MOVE. HOVE.L ADDQ.L ANDI-L (AQJ+,D1 01, D2 *3,D2 #SFFFE,D2 SUBQ.L #1^01 DeleterileJ! MOVE.B (A0)+,(A2)4 rCopy the filename frora DBRA Dl^DeleteFile? ; the filename string HOVE.B 40^ (A2) HOVE.L A3, 01 HOVEH.L A1,-(A7) HOVE.L DosLibraryHandle, Afi JSR _LV0DEleteFile(A6) MOVEM.L (A7)+,A1 .■Delete the file ADD.L D2,A7 .-Delete the temporary buffer TST.L DO MSet/clear the Zero Flag) MOVEM.L (A7)*,D0-D3/AQ/A5/A3/A6,' (Pop registers) RTS J Return ,*Thi5 routine woves the position in a file at ; which the next read or vrite is to take place. In: AO "> the file handle DO - the offset 01 - the mode: -1 - the offset is from the beginning of the file - thG offset is from the current position in the file 1 - the offset Is from the end of file Out; DO - the previous position (-1 " seeX error) Notes; When a file is opened, the position at which the next read or write is to take place is the beginning of file. This position advances to the byte just beyond the end of each record as that record is read, so that if you read a file aequentially, you need never use the Seek system call . If you wish to append data to the end of a file, you seek with an offset of zero, and a mode of 1 . MOVEH.L D1-D3/A0-A1/A5,-{A7) ; (Push registers) HOVE.L Dl,D3 ; Cmode) HOVE.L D0,D2 ; (offset] HOVE.L A0,D1 ; (file handle) HOVE . L DosLibraryHandle, AS JSR _LV0S6ek(A5i MOVEH.L (A7)+,D1-D3/A0-Al/A5 r (Pop regiflters) UTS J Return CloseFllo :This routine closes a prcvioiisly-opened file. ;In: AO -> the file handle HOVEK-L Dl/A0/A5,-(A7) .-(Push registers) MOVE.L A0,D1 HOVE.L DosLibraryHandle, AS JSR _LV0ClDse(A5) MOVEH.L (A7)+,D1/A0/Ab ; (Pop registers) RTS ; Return RenameFile jThis routine renamea a file iln: AO -> a string buffer containing the current filename Al -> a string buffer containing the new filename Out; DO - the status (0 - file could not be renamed) Notes; Directory naxes may be included in the filenames. Thus, this function can serve 4a a iBQve function within a volune . A delete operation may fail because the destination file already exists, or because a named directory doesn't exist. MOVEW.L D1-D3/D7/A0-A4/A6,-<A7) : (Push registers) HOVE.L A7,D7 ; (Save the stack pointer in D7] ;Flr»t, we must convert the aource filenarae frora ; SB fom to "C form ADDQ.L f4,A0 HOVE.L (A0}+,D1 MOVE.L Dl,D2 A&DO.L *3,D2 (Make AO point to the current useage of the filename string buffer) Set the byte counter lt>l} to the current useage of the string buffer (Hike AO point to the first data byte of the fllenanse) Create a temporary buffer on the stack of the length of 96 Amazing Computing V3.4 ©1988 ANDI.L *$FFFE,D2; the filenAmBr *lf rounded 3UB.L J>Z.fil MOVE.L A7,A2 HOVE.L AT, A3 SUBQ.L tltD\ ; up to the next ward boundary ; {D2 <- the size of the tenip- : orary buffer on the stack) ; (Make A2 point to the teinp- : orary buffer) 7 (Hake A3 point to the temp- ; orary buffer) RenAraePilel MOVE.B (A0)+,(A2J+ ;Copy the filename from the OBAA Dl.ReiumeFilftl; Cllanjine string MOVE.B ta, (A2) AQDQ.L 44, Al HOVE. I. (A1)+,D1 ;Next, wc must convert the destination filename ; from SB form to "C form : (Make Al point to the current useage of the filenante string buffer) ,-Set the byte counter (tJlJ to the current useage of the string buffer r (Hdke AI point to the first data byte of the filename) .■Create a temporary buffer on the stack of the length of the filename, tl, rOUn4ed up to the next word boundary ; <DZ - the sire of the tenqj- ottry buffer en the stack) : (Hake A2 point to the temp- orary fcofferl ; (Kake A4 point to the temp- orary buffer) RenameFlleZ MOVE.B (Al)+, (A2)+ ."Copy the filenarae from the DBRA □l,flenamePile2 ; filename string MOVE.B to, (A2) HOVE.L AOOg.L D1,D2 t3,Q2 #$FFFE, D2 5UB.L 02, A7 HOVE.L A7,A2 MOVE.L A7,A4 Rename the file .-Now we rename the file MOVE.L A3,Iil HOVE.L A4,D2 MOVE. L DosLibraryHandle, A6 JSR _LVORename (A6> MOVE.L D7,A7 ; (Restore the staclc pointer) TST.L DO J (Set/clear the Zero Flag) MOVEM.L (A7)+,D1-D3/D7/A0-A4/A6; (Pop registers) BT3 ; Return !ft_ :BA$IC Tn; BS - LeftSfAS, I) <A1> <A0> DO .■In: AO ~> source buffer Al -> dest buffer QO — Number of bytes to copy MOVEM.L UO-D2/AO-A1,-(A7) ; (Push registers) HOVE.L {A1J,D2 ; (Set 02 to the max length of ; BS) lHa)ce Al point to the current useage of B$) Set the current useage of B$ to zero (Make AO point to the current useage of AS] Set the byte counter (Dl) to the minimum of: (1) I, (2) the current useage of A$, (3) And thfl maximum length of ADOQ.IL. #4,A1 HOVE.L to, tM\ ADDQ.L «4,A0 MOVE.L D0,D1 CMP.L (A0),D1 BLE Left_l MOVE.L (A0),D1 Left_l CMP.L D2,Dl BLE Left_2 HOVE.L D2,D1 Left 2 TST.L Dl lit the byte counter is or, BLE Left_9 ; negative then jump to Left_9 HOVE.L Dl,(Al)i ;Set Che current useage of B$ ,- to the byte counter ADDQ.L #4,A0 .'(Make AO point CO the first ; data byte of A5) ADDQ.L #4, a: ; (Make Al point to the first : data byte of B9) 5UBI.L tl^Dl r'Copy the data bytes from A$ to L»ft_3 ; BS MOVE.B (AOJ-^, (A1J + DBRA DX,Left 3 NEW FROM ROBOT READERS A Powerful New Way To Learn To Read ROBOT READERS Are Designed to Teach Children To Read !n An Effective, Positive Way Never Before Possible ALSO AVAILABLE * CHICKEN LITTLE * AESOP'S FABLES * LITTLE RED HEN * THREE LITTLE PIGS SUGGESTED RETAIL: $29.95 each for the Amiga 51 2k AT YOUR FAVORITE COMPUTER STORE Hilton Android PO Box 7437, Huntington Beach, CA 92615 (714)963-4584 Le£t_9 HOVOl.L (A7|+,D(1-D2/A0-A1 ; tPop registers) RTS .-Return .'BASIC Fn: BS - Hlci$ IAS, I, J) <Al> <A0> DO Dl In; AO -> sourca buffer Al -> dest: buffer □0 — The position in AS to start copying Dl - Number of bytes to copy HOVEM.t, D0-D3/A0-A1,-1A7| ; (Push registers) HOVE.L (A1),D2 ADDQ.L tfl,Al HOVE.L (0, |A1] (Set D2 to the TUX length of BSl {Ms)ce Al point to the current useage of BS) Set the current useage of 3S to zero TST.L DO BLE Mif_9 ADDQ.l, M,AO HOVE.L (A0),D3 5UB.L D0,D3 ADDO.L tl,D3 CMP.L D1,C3 BI£ Midi MOVE.L D1,D3 Midi CMP . L D2, D3 BLE Mid_2 MOVE-L D2,03 Mid_2 TST.L D3 BLE Hid 9 :Zf 1 is or negative, then ; jump to Hld_9 ; (HdXe AO point to the current ; useage of AS) .-Set the byte counter (D2) to ; the minhnum of: (1) J, .- 12) Che current useage of ; AS - I 4- 1, and ; (3) the maximum length of BS ,* ! f the byte counter is or ,- negative, then jump to Hld_9 (continued) Amazing Computing V3.4 ©1988 97 me memory Location Computers ftor ttie Home 396 Washington Street Wellesley, MA 02181 (617) 237-6646 We sell what we know • Commodorel Amiga Specialists! Nfwrftrlhe Amiga PIXmilc - grcal image convstsion and processing! Inicrchange - conversions InlroCAD ■ a powerful 'inuoduclory' CAD PajcFlippsr • simple animaLion TV Show - scripied animation WordPerfect- the name says it! Data Retrieve - new daiabase from Abacus Tejlcnift Plus - much improved Professional Page - the ultimatt in desktop publishing RickerFi.ter-7Mx470wiai NO flicker! Micron 1Mb RAM for the 2000 Hard disk drives - 20-55 Mb, SCSI& ST,3.5" &5.25" Monitors • Sony, TTiomson, Magnavox and Commodore Laser Primers - NEC's best! Pons of Call * Galactic Invasion Foot Man* Tele War Softwood Write & File ProASM'AssemPro Gt^pliic Studio DIGlDroid Hum for Red October Time Bandit * Hollywood Poker GOMF! NewforlheW/!2S Super Boulder Dash Sesane Street ddes Sticky Bears series geoProgrammer KungFuI&ll Card Shark geoPublish Test Drive SwiftTai Sherlock NeoFont Ace 2 Atdok The Train Bazooka Bill MISL Soccer Rogue Trooper Only What IVor/fs - Satisfaction Guaranteed Amiga/ C-64 / C-128 - Authorized Repair Center Hardware / Software / Printers / Peripherals / Accessories Right 2 TST.L Dl If the byte counter !■ or Bl£ Hiqht_9 negative, thftn jump to Right 9 HOVE.L Bl, (Al) Set the current use^ge of BS to the byte counter) MOVE.L IA[M,D2 (Set tJ2 to the current length of A5) ADDQ.!, H,AO IHake AO point; to the first data byte of AS) M>DQ.L *4,Al IHake Al point to the first data tyte of BS) SUB. I, Dl,C2 IMake AO point to the last ADDA.L D2,A<1 byte in AS, Rinus the tsyte counter) SUBQ.L 11, Dl Copy tJie data bytes from AS to Bight 3 B5 MOVE.B IAO)+, IAD* DHRA Dl,Rlght_ 3 Right_9 MOVEM.L 1A7)+,D0-D2/A0-A1 ; (Push registers) RTS ;ftetum StrCpy_ .-BASIC Fn: BS - AS ; <A1> <A0> ;In: AO -> source buffer (AS) Al -> dost buffer (BSI MOVEM.L D0,-(A7) ; (Push registers) MOVE.L {A01,D0 ;Set the nuratser of bytes to ; copy to the jmK length of AS JSR I.eft_ ;Copy the data bytes from AS to •■ BS HOVE.L [A1)+,D0; (Pop registers) RTS ; Return StrCmp_ .-c fn; I - (AS-— BS) ; ;This routine indic4tes whether or not AS - BS In; AD -> source buffer (AS) Al -> deat huffeE (BS) Out; <2ero tlag> - Set if the strings are equal, - Clear if the strings are unequal MOVE.L D3, (Al) ;Set the current useage of BS ; to the byte counter ADDQ.L t4,A0 ; (MaKe AO point to the first ; data byte of AS) ADDQ.L t4,Al ; (Hake Al point to the first ; data byte of BS) ADDA.L DO,A0 SiaO.L 11, AO Simi.L (1,D3 Hid 3 MOVE.B (AO) + ,(Al)t DBHA D3,Mid 3 <>lake AO point to byte I in AS) Copy the data bytes froin A$ to BS Hid 9 MOVEM.L <AT)t,DO-D3/A0-Al ; (Pop registers) RTS .'Return !U,ght_ ,-BASIC Fn: BS - BightSlAS, I) ; <A1> <A0> DO in: AO -> source buffer Al -> dest buffer DO " The number of bytes in AS, from the right end, to start copying MOVEM.L D0-D2/AD-A1,-(A7) ; (Push registers) MOVE.L (AJ),D2 ADDQ.L t4,Al HOVE.L *0, (AIS ADDQ.L t4,A0 HOVE.L D0,D1 CHP.L (A0),D1 BLE Right_l HOVE.L (AO),Dl RighC_l Ctff.L D2,D1 BLE Rlght_2 MOVE.L D2,D1 ; (Set D2 to the max length ; of SS) ; (Halce Al point to the current ; useage of BS) ;Set the current useage of BS ; to zero ; (Ma)ce AO point to the current ; useage of AS) ;Set the byte counter (Dl) to ; the minijnuHl of; (1) I, ; (2) the current useage of AS, ; O) the rnax length of BS MOVEM.L O0/AO-Al,-tA71 ; (Push registers) ADDQ.L #4,Aa ADDQ.L t4,Al J (Make AO point to the current ; useage of AS) ; (Hake Al point to the current ! useage of BS) MOVE.L (AO),DO ;Set the byte counter IDO) to ; the current useage of AS CHPH.L (A0)+, (Al) t;ir the current useage of AS BNE StrCnip_9 <> the current useage of BS, then ^ump to StrCnip_9 If the AS data bytes <> the BS data bytes, then jump to SUBQ.L II, DO StrCnip_5 CMPM.B (AQ)+, (Al)+ ; StrQnp_9 BKE StrCtnp_9 OBRA D0,StrC!llp_5 ORI IS4,cai ,'Set the zero flag StrCmp_9 MOVEM.L <A7)t,O0M0-Al ; (Pop registers) tas StrLen ; Return ;BASIC Fn: I - LEK(AS) ;This routine indicates the current length of a ; string tin; AO -> the buffer (AS) ;Out: DO - the current useage of AS MOVEM.L A0,-(A7) .-(Push registers) ADDQ.L *4,A0 ; (Hake AO point to the current ; useage of AS) MOVE.L (AO],DO ;Set DO to the Current uaeage ; of AS MOVEM.L (A7)+,A0 ; (Pop registers) RTS ; Return IFND MQDE_OLDFILE M3DE_0LDFILE EQU 1005 ENDC IFHO HlMlE_NEWFIIi MODE_KEMFILE ~ EQU 1006 ENDC •AC- 98 Amazing Computing V3.4 ©1988 ROOMERS by The Bandito The hardware business is hopping!!! The hardware business is hopping. Computers of all types are selling, and industry executives are muttering, "Recession? What recession?" Amigas are doing well, especially the 2000, which is still in short supply. In Europe, the picture is even higher resolution for Commodore: there are over 70,000 Amigas in England, 200,000 in West Germany, and world- wide the total has reached at least 500,000 (those are the best numbers the Bandito could find). The European market is buying loads of Amiga 500s — 8,000 in the past two weeks in West Germany. All is not wonderful for Atari, though. Sales are lagging in the U.S., and they've taken a turn for the worse in Europe, where the Amiga 500 is gobbling Atari's 520 ST market share like Pac-Man eats energy pellets. Atari's Mega ST has been a mega-flop in the U.S. where the price has been a major barrier ("S2500 for an ST? No thanks!"). It's doing better in Europe, where Atari is seen more as a business computer than a home computer. Overall, Atari's sales have been buoyed by the strong videogame market, which accounted for a sub- stantial part of their revenue over Christmas. News from Japan indicates the video craze may be slowing down, though. Nintendo sales are off 30%; this could presage another slump in the video business. Expect videogame sales to plummet in the fall. We may see game cartidges as landfill again, if manufacturers don't watch their inventory. The Bandito thinks this is good news for the home computer business, particularly the Amiga. Remember when video games crashed before? Because people had devel- oped a taste for computers by using their video games, home computer sales boomed. Perhaps history vfill repeat. Software sales, particularly game software, haven't been as hot as hardware sales. Perhaps it's the number of Amigas on the market now. Game software sales have been slow, so we may see fewer original games on the Amiga. The Mastertronic conversions from arcade games are pretty good, which may be part of the problem. When these games sell for about $15, it becomes difficult for other software houses to produce similar products. Speaking of games, snowfall must be heavy in Hades — the Bandito just got a copy of Return to Atlantis! Yes, the long-awaited, oft-pirated program has finally been shipped. It's the best underwater roleplaying adventure the Bandito's ever seen (of course, it's also the only one the Bandito's ever seen). The Bandito has just received a copy of Jet, a very hot flight simulator. But the Bandito's also seen Interceptor, the new flight simulator from EA, which looks like the hottest flight simulator for anything short of a NASA com- puter. Those two programs should have a great dogfight in the market- place. The Bandito has just one question — how come both games allow you to land your aircraft on the water? Must be some secret new military development. In other news, the Mindset is no more. Yes, the original "graphics" computer, an IBM clone with 640 x 400 x 16 color graphics, has died a lonely death. JVC had been marketing the Mindset to the video market, offering a number of video options: genlock, character generation, and animation software. Unfortunately for Mindset, the product just couldn't compete, and they closed their doors in November. Guess all those video people will just have to buy Amigas now... Seems that Aegis isn't the only Amiga company that's getting serious about the Macintosh. The Bandito's inform- ers in Silicon Valley say other Amiga companies having been talking to Apple about porting their applications to the Macintosh. Apple thinks that's fine. But they also want everybody to raise their prices for the Macintosh versions of the product. Power with the price... Speaking of price, word on the wires is that some people, desperate for color images on their expensive Mac n, are buying an Amiga to use with Digi-View as a Mac II color video digitizer. They're writing conversion routines to take Digi-View's 21 bit-per- pixel RGB files and convert them to Mac images. Of course, the originals still look better on the Amiga. Atari is making money OEMing its hardware to other companies. A case in point, spotted at Video Expo: a $60,000 digital video effects box using an Atari monochrome monitor as a display screen. Also at Video Expo — great interest in Amigas. Two differ- ent stores were displaying Amigas, showing off JDK Images Pro Video CGI and InnoVision's Video Effects 3D. Majorie Franklin, a graphic artist, has started a company called Anima- tion Video Painting. They use Digi- (continueil) Amazing Computing V3 A ©1988 99 View, Digi-Paint, Aegis Video Titler, and Aegis Animator to create titles and other graphics for video produc- tion. The word overheard is that the Video Toaster from NewTek is the most eagerly awaited new piece of Amiga hardware. The Bandito hears NewTek is adding even more tricks to Video Toaster, and that it will actually hit the streets in May or June. Looks like NewTek intends to put an entire video production studio in your Amiga, There are all sorts of high-end video equipment that would be great to own, at a realistic price. The Bandito's going to have to study up on video gear, since it looks like it's the Amiga's true home. Sunrize Industries' ad for the Perfect Vision video digitizer seems to say that it does real-time, color digitizing. It actually does real-time digitizing and color digitizing — not both at the same rime. An upcoming module (S79,95) will add that capability. Some customers have been a little surprised by that, and the fact that Perfect Vision offers only 12 bits of resolution to Digi- View's 21 bits of resolution. This means the pictures don't have the same quality. Oh, well, maybe the next product (and the ad) will be a little clearer. Well, Commodore, get busy! The Amiga pioneered thousands of colors, stereo sound, and the blitter chip for fast animation. But now the competi- tion is creeping up — the Mac II has a stereo sound chip, a 16 million color palette, and a high resolution screen. The IBM PS/2 has thousands of colors; the Mega STs have a blitter chip. If Commodore gives the other computer manufacturers a year or so, they'll get close to the Amiga's price/perform- ance and even surpass it! One next generation Amiga the Bandito would like to see would be 68020 based (with a 68030 option), with a 68881 math co-processor (and a 68882 option), an Obese Agnus chip with 2 megabytes of chip RAM, 4 megabytes of RAM, a 1 .76 megabyte disk drive, and an 80 megabyte hard drive. The screen resolution should be variable depending on your monitor size, but support at least up to 1024 x 768. Oh, yes, expand the color palette to 32 bits per pixel, which allows 8 bits each of R, G, and B, and 8 bits of transparency to get that full Pixar look. How about the ability to display 256 colors at once (with an option for true 32 bit imaging)? Finally, let's make sure there's a built-in SCSI interface and at least 6 slots. Price? Well, make the base price in the S4000 range, and you've got a Mac II killer on your hands. IThe statements and projections presented in "Roomers" are rumors in the purest sense. The bits of information are gathered by a third party source from whispers inside the industry. At press time, they remain unconfirmed and are printed for entertainment value only. Accordingly, the staff and associates of Amazing Computing™ cannot be held responsH'U for the reports made in this column.! , _ •AC- ^^A\GA OUTSTANDING FEATURES: >- ORGANIZES WORK SPACE *■ CONVENIENT LOCATION OF DRIVES & MONITOR ► HANDY DISK STORAGE >- MUCH MORE, FOR ONLY 500 COMMAND CBNT^d (99.95) DELUXE MODEL FEATURES: *- BUiLTIN POWER STRIP >■ SURGE PROTECTION & NOISE FILTER P- BUILTIN COOLING FAN >■ FINGERTIP CONTROL OF COMPUTER & PERIPHERALS f- P- MUCH MORE FOR ONLY COMMAND CENTER A150 AVAILABLE FOR: 128 124.95 64 109.95 640 109.95 (179.95) ONE OF THE TOP COMMODORE ACCESSORIES NOW AVAILABLE FOR AMIGA 500 ! * AMIGA is 1 liademiMi ol Ccmmodore Business Msclvinas. Compulet no! inciuded ACCESSORIES: PHOENIX HEAVY DUTY POWER SUPPLY SUPRA 20 MB DRIVE SUPRA 30 MB DRIVE JOY STICK E)(TENSION 12.50 TILT SWIVEL MONITOR STAND 14.95 DUST COVER 19.95 ELECTRICAL UPGRADE KIT 89.95 ASK ABOUT OUR NEW ACOUSTICAL PRINTER ENCLOSURE — THE "SOUNDTRAP" ,tf^r^sf P.O. Box 203. Oakdale, lA 52319 FOR FAST SERVICE, CALL: 1-8(X)-626-4582 1-319-338-7123 (IN IOWA) SHIPPING AND HANDLING: Conllntntal U.S. APO/FPOfCanada/Putrto Rico' Si SO Ia< eacii Cotimand Center Kawaii/AlasM S2.00 foi one accessorj iHm S13,C0 lor eacli Command Cenier JJ.OO tor t*0 Of more S 4.00 lor one accessorj item accessories % 600 lor Iwo or more accessories 200 Amazing Computing V3. 4 ©1988 In the Public Domain Fred Fish 127 & 128 and Amazing on Disk??? Hey there! I'm back with the latest and greatest Amiga Public Domain Software. This month: Fred Fish #127 {or, MORE Entries to the Badge Killer Demo Contest!) Bounce Bounce is Steve and Tom Hansel's entry to the Badge Killer Demo Contest. It creates little dots that bounce around and multiply. The source is included. Nemesis This demo is Mark Riley's fifth-place winning entry to the Badge Killer Demo Contest. A small program with super graphics, animation and sound. Fantastic! Ripples This demo is another Allen Hastings entry to the Badge Killer Demo Contest. Ripple features a fixed object from a shifting point of view. Another great animation from Allen! Fred Fish #128 Dis Dig into your Amiga's memory with this 68000 disassembler, written entirely in 68000 assembler language by Greg Lee. Along with straight disassembling, this command-line disassembler features: ascii/hex dumps, list instructions, build symbols, build locals, read/write files, and more. Documentation and source files are included. DropCIoth v2.2 Update to Fred Fish #59 Tired of that drab ol' Workbench screen? Do you ever wish the win- dows and the screen were different colors? The solution: DropCIoth, by Eric Lavitsky. DropCIoth lets you place a pattern, a 2 bitplane IFF image, or a combination of a pattern and an image onto the Workbench backdrop only. Hooray! The screen and windows are different colors! Try doing that with Preferences. Written in Manx C, the source to the latest version of DropOoth is available from the author for a donation of S15 - S20. LedClock Generic is the first word that comes to mind when describing this "no frills" clock by All Ozer. This clock is so simple, it doesn't even have an alarm — as a matter of fact, it doesn't have any run-time parameters. The few options it does support, such as 12/24 hour selection, can be specified at compile time only. Also, LedClock is designed to run correctly on interlaced screens only. The source file, written in C, is included. MRBackUp VI J C.W.'s law states: "Hard disks always crash when they are not backed up, and the data is irreplaceable." MRBackUp to the rescue! This Intuition-based hard disk backup utility by Mark Rinfrt is flexible and time-saving. It backs up individual directories, directory trees, or even a whole disk easily. You can even back up from one directory hierarchy and restore to another. Incremental backups, based on last modified dates, are also supported. File compression is standard. MRBackup takes care of all the details. Just pop in a blank diskette whenever it asks. (It'll even format it!) It's no speed demon, but it's easy to use. Back up that hard disk! Includes extensive documenta- tion and the entire source in C. Paint Now here's something a little different. This simple screen painting program by Greg Lee is written in Web. Includes the source in Web. Please note: requires a Web "preprocessing" program to rebuild the source. PrtDriver (Toshiba "three-in-one") Here's a new printer driver by Rico Mariani for the Toshiba "three-in-one" printer in its Qume (best) mode. Includes source in both C and assem- bler. SDBackUp vl.l Back up that hard disk (or those floppies) with this powerful backup utility by Steve Drew. SDBackUp uses a command-line type interface to allow speedy backup of hard drives or even floppies to floppies (3 1/2 or 5 1/4). Back up an entire disk, a directory, or even a single file. File compression (Lempel-Ziv method) is standard. SDBackUp also supports the 1.2 (continued) Amazing Computing V3.4 ©1988 101 ARexx ... The REXX Language for the Amiga ARexx is a multitEisking implementation of the REXX language, an elegant high-level language especially suited for macro-processing and general programming tasks. Its clean, simple syntax makes REXX easy to learn ... an ideal "first language." And the powerful language features will appeal to experienced programmers as well! • Interactive, interpreted operation • Exceptional string-handling facilities • Built-in library with over 75 functions • Built-in source-level debugger • Compact code — only 32K! ARexx defines a command interface that allows it to communicate with other software. The list of Amiga software products that support this interface includes: • TxEd-Plus from C. Heath/MicroSmiths • C.A.P.E. 68K Assembler from Inovatronics • AmigaTEX V2.9A from Radical Eye Software Written by the author of "ConMan," ARexx sells for ... Only $49.95! Send check or money order for William S. Hawes S49.95 plus $2.00 shipping to: P.O. Box 308 (MA orders please add S% sales tax) Maynard, MA 01754 (617) 568-8695 Amiga is a trademEirk of Conunodore-Amiga, Inc. HOT CORRECTION! N _^^_ • Figme Two: Fraat cdAiooo The diagram on page 59 of the "PAL Help" article in AC V3.3 was incorrect. The correct diagram is presented above. The article text was correct and following those directions would have made the error obvious. We apologize for any inconvience caused by our error. archive bits (for incremental backups). SDBackUp also sports disk formatting on the fly, as well as a powerful maintenance mode for checking/ marking/clearing archive bits on files. Includes extensive documentation. SED SED, by Eric Raymond, is a clone of the Unix (Stream EDitor) program. Includes documentation and the source inC. wKeys This "Hot-Keys" type program by David e Cervone binds keyboard function keys to window manipulation functions. This is good stuff! Includes the source. That's it for the latest Fish master- pieces. I'll be sure to report on the latest Fish disks as they appear. Well that about covers it this month. I'll be back next month with more In the Pubhc Domain! GoichalW — C.W. YXalie Oops... One more thing... Don't feW anyone but... My friends at Amazing Computing tell me they are developing a new collec- tion of TOTALLY NEW Amiga public domain. Totally new??? That's right! There will be a new diskette each month to complement each issue of Ainazing. These will include all source code and executables (and maybe a few extra goodies). When can we expect this yet unnamed collection? Well, it's still up in the air, but I expect to see a disk appear soon after this issue hits. We'll see... •AC* What would you like to see in this column? Please send any PDS questions, comments, programs, old cigarette butts, etc. to: CW. Platte c/o Amazing Computing P.O. Box 869 Fall River, MA 02722 Please indude a SASE if you would like a personal reply. 102 Amazing Computing V3.4 ©1988 ■^WWWBWWW???!^^ AMIGA Audio Sources (Continued from page 71) Aegis Development, Inc 2115 Pico Bid. Santa Monica, CA 90405 (213) 392-9972 Applied Visions Suite 2200, 1 Kendall Sq. Cambridge, MA 02139 (617) 494-5417 Associated Compiiter Services- ■ 1306 E. Sunshine Springfield, MO 65804 (417)887-7373 Computer Expansion Products . 3596 Soutli 300 West #lO Salt Lake City, UT 84115 (801) 264-8238 Datasound 603 Brantley Place Virginia Beach, VA 23'352 (804) 431-1362 dissidents 730 Dawes Ave. : Utica, NY 13502 Dr. T's Music Software Inc. 220 BoyJston St. #306 Boston, MA 02161 (617) 244-6954 ECE Research & Development 1651 N. Monroe St Tallahassee, FL 32303 (904) 681-0786 ECT SampleWare P.O.Box 36 Sierra Madre, CA 91024 (818)355-8819 Electronic Arts '- 1820 Gateway Dr. San Mateo, CA 94404 (415) 571-7171 Frog Peak Music P.O. Box 9911 Oakland, CA 94613 (415) 485-6867 Golden Hawk Technology 427-3 Amherst St. Nashua, NH 03063 (603) 424-0269 Hypertek/ Silicon Springs 120-1140 Austin Ave. Coquiltlam B.C, Canada V3k3P5 (604) 939-8235 Infinity Software- : 1144 65th St. Suite C Emeryville, CA 94608 (415) 420-1551 Interactive MicroSystems Landmark #20, 80 Merrimack St. P.O. Box 1446 Haverhilll, MA 01831 (617) 372-0400 Karl R. Denton Associates P.O.Box 56 Westland, MI 48185 (313) 522-1939 Magnetic Music RD .5 Box 227A Myrtle Dr. Mahopac, NY 10541 (914) 248-8208 MicroIUusions 17408 Chatsworth: St. Granada Hills, CA 91344 (818) 360-3715 Microsearch Inc. 9896 Southwest Freeway Houston, TX 77074 (713): 988-2818 Mimetics Corporation P.O. Box 1560 Cupertino, CA 95014 (408) 741-0117 Opcode Systems 1024 Hamilton Ct. Menlo Park, CA 94025 (415) 321-8977 Pregnant Badger Music,; lOOlO Biscanewoods Way Sacramento, CA 95827 (916) 361-8217 Silver Software 77 Mead St Bridgeport, CT 6610 (203) 366-7775 Skyles Electric Works 231 S. Whisman, Suite E Mountain View, CA 94041 (415) 965-1735 Speech Systems 38 W 255 Deerpath Rd; Batavia, IL 60510 (312) 879-6880 The Other Guys 55 N. Main, Suite 301 D ; Logan, UT 84321 (801) 753-7620 Visual Aural Animation P.O. Box 4898 Areata, CA 95521 (707) 822-4800 WaveTable Technologies 1647 Willow Pass Rd. Suite #267 Concord, C A 94520 ; (415)947-0689 Amazing Computing V3 4 ©1988 103 '...it ii smail, intlallt with jutt a doubla-clicK on an icon...a wslcofnii utility For Amiga iitsri.' -INFO magazin* '..Without a doubt, the most important program thii month 1$ GOMF. All Amiga user) ar« *icK and tirsd of losing running program) and data to the dreaded Guru, and anylliing that can stop thit terrible syndrome deserves a round of applause!' '. .So il Gurus ara getting to you. add GOMF lo your Amiga environment and you can slarl saying goodbye to the GURU tool' -■Cammodore magazine Now GOMF is even better! Version 2.0 NOW shipping NEW FEATURES include: -Automatic removal of ALL errors (task held, GURU, etc.) -Preserves low memory auto vectors. -NUKE those pe>)<y CANCEL requeslors once and for ALU -Eliminate ANY task or device AT ANYTIME. -aulo-conflgures for 68000/68010/68020. -CLI and Workbench compatible. -Extensiva, easy lo understand documentatian. only $39.95 New Products for All AM/Gj4S Hyp®[rT®fe/^IIMeffii(ni SprlireQ)® Deluxe MIDI interface limply tht ■EST lull-l«tiur*4 MIDI inltiTie* avtilabi* for ihi AMiOA SOD/IOOD Fully tornpilMtwlti fcll pr9gr««ni Ihtl ui« a*rlit Mlbl alvndvd oulpirt, ONLY tht DELUXE MiDl INTERFACE ollin you • ERIAL PORT P4li-1hrv. MIDI IN, MIDI THRU. Afld two awTTCHAfltl THRU/OUTS I THIt li tht Dpllmum conflQgriitlon (or uyon* wllh men Vitn ont lynUi or othir htiOi divic* No THRV on yaur ■ynlh(«)7 No problimi limply nip i twitch an Ih* D«iui* MlOl liitprf »et. «nd cuold coilly THRU boxiil Jndudti S FddI ctb», 1 y*«f wMTMiy. Pliiii Sp«clly rnodil 100/1000.. .,".,", .^...^ , .,..1$» TTL Hi-res Monitor Adapter For tht Amigji e00/l0[>o/lQO0 Piuffi Inle n<]Bi port (or ULTRACRfSP rilcii«r-fii* high r«toiuiJ«n monochfom* vld«D Qgtput. P#rt*cl for HI-REa ORaFHICS, WOftOPflOCES^ING. CAD. DESKTOP PUBLISHIHQ, BUSINESS. «ie. ANV appllcillon In AMV rtioluUon li SHARPER «nd CLEARER mHi »n TtL Hi-fii Mojiilor A4»pl*r. P«r1tcl lor utt with thi 16W -COitiuftair *TM) CommwJorti 1*31 moflflw er Manlior ID lneiud<i itiy ^n*1ili|«tion irHni client, t dtlk with t tpvatl hli-R«t WorhSanch lonl and RQ& pan pail -thru (« IfieC ROB iTiDnMor may b« ui«d llmutttAvouiiy) 1y*u warranty (Monitor no( inciudadj . . %%% %% Ligint Pen D*llan«d l4 werk wtlh Any AmlOi progriRn, Th« LIOHT PEN xnd DfWER aDowi t;ja flf both your muiM ■nd t prD-4u«lity UQHT PEN f«r tht ummtK in pr«cUlen griphkt Ptrfictlor PAjNTiNa ORAwlNQ, frtfhana (KETCHlNO. CAD ind v1.nually ALL «thtr dUtiCA progiimi Saflwtra rtcturai includa: ■litf^t -p<t>*l priclilon, varlabJf lamltlvlty. ZOO'M mP4«. buHpn tfrpgH. tk. tncludii kntcmtll Syitamt' DT-1B4A high quilllytWD button llghlpan. U4/i OftPFff SF£CV^- Whii* ii/pj>il<i MrL win w«o Inel4ld« 4)i«ndy PEN- HOOK 1h«l atlaahaa laally lo youi maAlLor lo hold th« AMIGA LIOHTPENwh*^ not In ui«l (««0/1*00/l*0ft).... , ., ,. , .1131.1$ All producti ift NOW SHIPPINQI PIciii mikt ehfqu* or money ordtr piytbl* to. H^p®rT(iW§IHc(Q)irii Spirilrao® Suits 205-2571 Shaughnessy Si. Port Coqulllam, BC CANADA V3C 303 Phona (604) 942-4677 Doalor Inquires inviled. Ale ardin jdd |4 ihippMfl AJ prttai In USI Ord»r by phojrti VISA. MulKcwd, AMEXmlcofra. U •. enton ma IS wi)Sn« tM. AMiaw It * fiiiiiirvB itiat«iit It Ct«»i««'i-<i>>g*. mc Index of Advertisers A-Squared Distributions Inc. Actionwaic Amazing Computer System line. BCD /Jim Black COMMAND Simulations Commodore Business Machines Comp-U'Save Compplications Computer Mart Creative Solutions D-Five Associates Delphi Noetic Systems, Inc. Digitronix Don's Computer Works Eraware Fuller Computer System, inc. Golden Gate Shows Hilton Android HyperTek/ Silicon Springs In tcrface Technologies jumpDisk KeyTek Lamplighter Software, Inc. Lattice Lightning Publishing 17 15 43 91 92 63 74 22 87 64 103 69 37 79 19 93 6 97 104 65 45 100 34 7 43 Users Logical Design Works, Inc. 23 Lynn's Luna C 24 Magnetic Images Co. 51 Mega Ironies cn .; Michigan Software 53 MicroBotics, Inc. 33 MicTOillusions ail MicroSmiths, Inc. 54 New Horizons Software 1 NewTek NewWave Software Peacock Systems Pioneer Computing Proloific Inc. Sedona Software Software Advantage Consulting Corp. Spirit Technology Syndesis The Memory Location The Other Guys The Right Answers Croup TRU-IMAGE West Coast Telecom William S. Hawes 41 28 95 3 61 77 75 94 98 21 52 3 47 102 W4 Amazing Computing V3 A ©1988 p TheAMICU, 'ublic Domain S <fe Frerf Fish Software TAbn arv This software is collected from user groups and electronic bulletin boards around the nation. Each Amicus disk is nearly full, | and is fully accessible from the Workbench. If source code is provided for any program, then the executable version is also present. This means that you don't n9ed the C compiler to run these programs. An exception is granted for those programs \ only of use to people whc own a C compiler. The Fred Fish disk are cc llected by Mr. Fred Fish, a good and active friend of the Amiga. Nola: Each dascripllon lino balow may Include somolhing Ilka 'S-O-E-D', which stands lor 'source, object fito, executabto and doeunwntallon'. Any combination ot Iheso leners Indicates | what forms of Iha program are present. Bask: programs are presented entirely In source code formal. «WCU8 IXi> 1 AMni3aak2 Amiga BHicPrayaint: ABulc prefnmiiGrk^ei C pTDgmmi: Mritafflp.e ixani^otBarnlpetuH (Noto: UviyoftWHpr97vn>««prav^onAMIClJS JOSg'M 3d igl« noMing frgg. ataFniti riib AingiDOSot:)««ltyvyminag«.£'E pimOc nnp^ pinfcr irYkrtfc* COflt DviiV &«warc4-Ma>iir«c&'w«nBdti AmgaBajK, oi:i!la V tal to mHwm pv^'wn. ${ prtHKh pFinrWM* dvhrrtoni andvtiTKluMdhvt.) BM&> drartUsdil liobi msio ^rvopi t ac-Um IW «9nM.e iiQaft act program tJOK draws cuWf tf« li^FrtaiUWl.S-E ■•tKVC lomvtgntirlaof on'vffpragfini Bad ttanaPtf tX*li df««j>cliP«flf»By»orDwif •q. Uiq lticsr-[rtn«npr»grafniS-E ■twALc st9«AihA«tFrihiparaMxrt Ctaad pregnniaaiirtrcCaripjaafyahai f%at* dram IruU iir^dtapH VteniC airriivgint.S-E SatSanit^ an vm tcritxjm [panTy. daa aH \al ra Hh ti iff^rf. S-D HWn »Hii«ng|roBiini.WI)<»nlB« Uita a ftTp* >iaB*' cBijg^afl'mrtg jsJcf. S€ Ckjt twftnw, ktiriefi(rn*n mwnit Err.Ka ^•^•i.'lir ii^mor d fw AnBl^«I«*nr. S^-0 qMwniBy.c (ountonan-ibrandpiDnatcsOma irti ^<t\pt paiM p43Qrm AiMrrbCv posruni: lfflad»iy.e Bfr>tVRtf a»m» OrimlOtai Tw ftawng pog'B.-n in B« 3td AC. S-D OpMI drMFwerifiipDcaJaunDrt* bSM/chJvn tiinify Hinch cotia irT*.c exacBjppV.tmarhrclBrti ParnBa rnnpii pant prognLTi ImrAAc rr.qr«t»CKCfWr|Qm«r ^mdsn* OtMlh) twgiLnw. ajiirxiwiu^D'' Sfva* d(«(»t»Shnitin3dKi(rtfi«nt wvJCltCpcggtTi WittiFonic ItiaA kiJ i»q»iiyi af avaiabl* tynfn Itinii RnUaa SOra^tagairrw Sp*c*A^ grvhd »rfl ■VTFLavn w^THl eri# tor u*M aa2 praaui *id ftatm i tttnsacw rvdjda ^Ma: SptAv tpHCti V^i^ SVpni* l>lilyTWlVcOrrpcb#pf/!«l) ■flWU.K mTMnBi5fa«&:flc«»niril*r*qi»f»r» StuW «Bn30EM£Jtss(twqiic* tfxJCti Scfw* iarMaflymi r*au LhiwriMttMfrwO^wss^.CM) aruBMUxe capftilt^PKUeortCftVO&tm Spatng Vrnpk ^3^i^q prolan Sfkrli ilrton^ai^lOriM {Ttw***Bm*tyf»fllTi(»aValsn*«indfam(i«.E«M dmtanu -mttfir^ »f a m !cri: loaa^ig bug VoYfl NWdzar^griv^y^yjdama.taAf Thf»»Ow 3fl irtSart ps* tObnc^ bctQfl(9afn«(.rracrit. VKtgna )r*Tfl»?»?wj» Tflpj9fi(*iy tri5eii aoograprty Tr.ww! to r*r own 4H n ?<• AMCUS«lK3en.t BpuiJfy.oa orairr.nifycopyo«r»flput«rtjacftap»f Cawikl^l progrima: WiHil driMS cM^rtO^id John Dnpar Amtga TLrtahtIa: Uwviirdb.'TnBEananWDrUBncM^nvtan kww SDiuDa U(xtiit-2M-iDo4BFoaUi>gcibe Xang* itwti ^TtCM p** l«ntf KlpH wfflOB dan^ua irtrtason i(OD"B^'H pnrrfcr pr»fgiM» «py Ol rt a-IOlU <in pnrv onwt, !r*Ti AAttin aas a >eea.-w car ^jgi< dn^ajM ABMlcp'OBmnaiTo^i Gwlgati UAmripn ^KigA FKH1.1 vllttw 'iifrot.ttl»owv**«"*™"1fl*l-l «#vn?ia convcadud MonsSooli ftFpp4 oaabtB [roQn.'n f« kMhhii Utnu« ■mm^tKU hft;ilonw«ji v2»rt d<! >lrr ef t^uoa r* iT^^i l^m wftw 2B u t .0 AmtgaSpiri iriowbultnpieipe^ti«dw,E-D AHCUSnih] A»CV3_P!A1 F^lwfrvnlhfAfnlatUT*/ lie ttaAftCflffCtfrfmianpragri Owno mUtwndowrawna C fvitagimni: Anl^ hformitffln Nttwork mMVt-hnvlgr toteom.E-O KgyCodM ihcneleyccdHbf ikoyifQupiva Xrd tCcTHt- Now Biat tema 6f «« f ^ am oW. am rrti la D(d* wtoona Dl uvfand DraphicB Ohto U*nu (un mtny ABanc pfogwfli ff«n t nn*^u Ebtdor ulra-hili' yi^iTchp g* dwno. S€ twoppmrgfyrfcrr, Tiewl^etBrflHmArigabi^, FortBrw, diikHlvagi prog, to Fwcut vailed d«ki,E« UeraCfllwj w?y t jjatriflw gjldJO'v** w»«i Oiep buncn(c hDp)liMdawlpsjB.Sf KwkCofTr Btfiidib-lnBstydiifccQpjr at once, using tfLoang Owvp wiawa ai firpa owictai trom toil liBt *dirKK lupptft. ii:Miar^upirarurT<rigfa( aawhlwBtkL piogriTv: gxreswraw^E-O Vdpki BTrp4ec£ibfihipa(X«7i*Spnk)t CRZLF carrwnci vriagt ftuna * Irw iBsda in ThiwrSttnionrtcanytiwrrinljr. tffl Bra b'tftKltonalpur- LitO! ira hj-ki jn an otMd Ela E-0 tpe«?i &rt) rMFTitOF (Mmo AmigttlM L.&^ poHi onty. OfccurH, miri no^ b uy Paj ttoAttOfK SmIBU aw«nysnwiH FFpcE-On ABuicpfognimi; Gimi Errar addi eomf 4a man b a C ^ka. S A d*mo Of Irmrittwnanui aV*4 'npnv^flnQ', In C icurcai QncttOut dctPccmipulHbndiwriigamt H»lg wnOvttm.irv^tmPm.t MfwtiLC IMa^^aeircnng*! hjodiraewiaa SfcfTrni iwon 2.D. *rn program, ftnochmE-O C»i«l4 i.'K itnwr u ^' Kwml ^n»rc Karrni! rn(tofrvm«i, f *iy, teb^iTf eoe pragrvTvningBin^ Tarti: Sfcxw UTip^ ih«*#nv-yp pirw ro IrTTinKmodB.SHE *M«pc lD.Pdf)n^a•'t■llm{M llBlaMrtn Ipcdiling nwnciiUtdct Sp»l.ng prrpH ttBa^ iptlkng gm ScMt uundd«rQpfi^pcKhfa.$-E AwvnUvtIta: QDWdMt* mMyo/gifnSlMtffW TiTjfSoi ■diKt^M'gfipniadwna &w6 FW»^a*ttfarrorii-MciiOFi,s* nt]idav.Btfn ikti^ da-wa dt<«r <kn*lid avians tie Qifurunbtra ABule pregnmt: Souidi Afnlgifl4rieProQt(dil ni|(4,cm HLTip* ibrvY vurnfM' iJtlOAtjgi btg ^aiimcM C w*«i 3:03 Emrtarw ^syiS^ftjnB m]il>b.j MTdBintM wv^vwro14vUtT9F7g«W Crai>€i^» cv« gun* ni)flw.j PliASporiv EXEO/rt-^MiKJ pfvnttpoal prag. Poki Birrp<T»ic«BFennund QrapA Knctltfi gr«ting progrwnf aan^iuppj MUS>nm: S^i^Pi/n pftj-iTwDtnafltMSustrplum Wt^tngHour lewnt TTm in rw fwamiry ii rkt bsMwn Ani iQi BaM and 1w F.nw" ABMlCpn^ana: TWr t]r»H lib V M. Td ti ha Bdnn^ifa Q 1 !rw An g t'l caplUita ■ C prv^Fvnr Ca»n) gamt«0lpcMr.HacSK«.4oi^«idGr«pi inigiiidtt IpaanO-learrwaMi m Bate. irft/na»d rwa '^M. BUAPt are indjJad ta» tt tf, ATrr SifrpiavrminiJp^gnni, SC Gomoiu aaelvmwiu^rtfQ' MQt* HknpTiMiipnltninn 'aiwoW. ta«tffi< ■»«; Wot: ViLi»4n'. \tr«r. Vianf^j" StbsB^ ion at an adMnijs gar* gani^Hri -ovntpvi apse dKwn Dpp«ik9f CONVERT itraou EzaoiMh prggnna: paraU pnMpMipae iRWind >vtfBiDf. dflveiapM Dunn lettXdwwnUv.E-O ml imtf pvtipK J^ieMWahl Oifft f5w»»Mt^^•1Bflfllr imnDowdww p>Sdi #OT« ■ grtiwi « o( FF pctPTi^ E-0 vl.li^Hjiv tc:fffnatt1*c;nt«iv«wi1.T Amlpa Batic Prggnmc •tfsoE U!a-s:f«f«nineBipni»%ptniJS,00 AMWTtUv pogrimi: FiMfar tuoSir^ jOiM dmr prY^ drwvL >ndv4ng POiptQikc FiD«ta Si«fjl.re(;«i^ofi*lf*«Dn itfKS-E ftifiWm wmfm pi'iQtrn mti t(mKt\ m^ Vfi-.tetifi, BfrnnUtLC, nrtam, prnvc. prntr.ln< pnn*4o.ivi. RaquHW «i. af KaquHMrafrorr^ Arr^ a Baiic &£ nnOv.&anlwnBVTL Th«daid»icvf«inifvn{»relSK SmWWng OamaniailwKrgGng capn^eii QTiiMtffl fl,'iof*cfr«n(!7uHgeifidciB',&E AWCtf a Dlafc « F1lHrn>>nti«Df1glnilAmii^ daarabing tw FF ipHhciian. Dm* ar* n« n Mat i^ SynTWar B\rd pregran TvAnlcil BB9 gratk* ^n, but rwTiBnrvr* tar hiitarcri pixpamt, Thay WorUHap drM«imip«tr«Mrid dK^ h«rijfBwiatl^«h«id-ir*fnK*fy Naktuiaonaof Vwa »iM vaakl. vid «tota oU« wfeoni at r4u4vtortl«sandCnuaaufnp(tL T^•latotrF ^wli ExtcukUfl pngrama: TTitntKi ci Oi'-v gfrmson Mop»T»&ig<yOim, 7r«nli«am«fvnih»S(Pi)ifemffiti alBw^wa in ffiiiilitirary. Bomgl taw Boingi dBma.wffi isEaAM i^«id,E BM2Amlgi fatt Fa.'t:iai aa* ginrtM a*&wtn aHVvdBiitniqi«(^nc*faifipQrThntDrmaBofiafi& Theae AhKVg.atki. lfFn=t*>a BftUfiZC OMWwTiinFFCrLiilDCdEB »n eU S-T! an Angi Thtdsk rdjctntrv DRShMprogrvn.ii^idicanwwigpvn fteuc!ti!«, At&lzoMedda. E only. 01 CXKrm, 9mU net b Hr T«r (tontwrk. i»rt« ftf FF picuoj, and fte 'ifiswptf pragf m. wf»* ear w«w Bfu*>!Jnn cowwTsfFtK'jtfit ■n^csrv.E !Mii» fnaEfrtflcsfspfKoano.S-E MdilfeainBdckalariKsn ThBpic£jftrxiv4i»fCTvan(TQffl Os££l« ^ip^Kida^a.iEidanmisyB.E Ot!** ni*«La3ojC«.^t»ir«Bi« Campla* and rwarVup-to^k Cnirato VrigiKf. mw/V *rteFes.iOegaicaiMf. n»fljy»it EiectoFKArm,a^rti», DKuo. Bf H'TCMr piogrH'i tot tt&p^flQ VIBM9 WKk,5-E w^cn of r« tgn EOrbF. TtiiiaaMltta^. tvtramfviHanJ hwHi,KingTLt.il7rti9bi0.aaffa»nil9^MvtttUadrwi,tfw WiSarranS^-D qudi qudiurtRif^Qtreueiv rurv. Sugt fiumy iUrtvi, ■ iSIl hm in (Mf mnM, tw Dm S&vti KMi m»iu4wtfod(inddB>(1^3tay,E ;m tKlfflptaHnpkMndM'IO mwing company, i acrttn fron^ Hneari Cwrueow S*v i TV Irl* t*g«mto1li*,E HflKi mmaanlnv^aeamMt. S-E An Inlrton dam^ tn Ul C Hun; nduding Dm: Affloi!naiu.c mmattsf, tn PajnlCin, a wrarid mip, a Porichi. ■ ttuO* Tma^ titjilKin^>a»d)nytoartV«);Twi dik knuXi q<i-^rpv grgphc 49m«. &-E dMTivf^anuZj:, damttaq.^ gataidie, UanaA idafflo^iidt. m>nn pafcti. a tyrvinoH;mrtii. ■ fiwwi vwv. i V^Acant EMEmaca anonif EmacitmonorMmdu Olhw UKutitota progrtrnk: idtmo.m»l», damaafih. no<*Jtc; rid to^rtaj: vdi ton-tpsod. Mord priKBung. Sf -D SpMcfiToy ifJMCftdflfnaniwiiw Dddrrw^x abdexBfnrirTwnorybtBifttom AHCUgpUtT OBlVlt«KAUdaffl«filcurad* U^ai aaithei.KiOTiKMtfvutTa V^ic^Fant dtsp(Aya«JHalab(atom bobtKlc BMimpiSDfBOeuiB Thii ditk ha& pc^jraa Vom Tw DgiViM hokj-nj-modrfr vidso War)(berdi,S€-D Tk*: conjo(aD£ emaoto Daxtfrpia *7l»f. ftinciytJwt^lKtflUKtipanoUnndlollTPOpMS^yoyng Tart: EHZD d«fiatbet6BC!23q)BKlupbiardlrvnCSA maprtc cnilB ind clfl^ta pa'rtl giFf, t9 bJWoar, tw honw and Quggy, th* ByB cowf, Iha FwrrKBT* F»adtun=lcinXeytt«rnAff.lgiflaiiC UUH eiplfeni UM 6f tfn ASSJGN ctfnmvd aMitl'jC mtottv^diFd;Oracunli HachwSJn aipiiinihswttwnff^gama ^achaf* fiugi kjvnw^ buf ItfnLxSaClCE^ tmiMAc cfics% Mft ttiirr^ptaa vMnaKfipC^anpKaWy.i.-tialllo9ahariii^vata.aldrf)la MeOlO guK»tlo tirtf;r^ i ^BOM m ^^ Ari^a AthXt BaTFMofSacATWd indwrtM aciMni, thf 'iHiarT]' program, to Lm irry itiian rto in fF Bongl kati«:&-ig 1 atffi.wfr\ aa«caMi(M*d, E CUCoiniTi.'vli gijdfllsus'^twCLI 099rC HunKirvtaTV"*"^*^!)*^ (KM. Ccmmmdi tfnrkrgjdi%;i^9iDQS (li«plByc dud p4iy«M tanp4 Ai^awtt^i reacae's, XLtiiLiiisn cedt, E OJconnincs lHd,e lAMW«r-p^ Cpngnnc Bnj»i2lBr corwra FF bai*i B an car, E EoCornirifTdi ^»fla**ED«;'a( IwamafLc: dd w^anpf tMrru" frOMiH vmrM Bm an i dv< uvf^ rrwja &£{] DaA f^!ha.!tKTw.^nda.^i>fraum.B Flfevwi AnigtDO&l*iM:«f«uc*d Qf**ix SMit ^ vsc-toi Bid Boat gbinamx pfa^c-aniyy utagtiF^AcCv tsrfi C f IM. S-E 6B010flrr!irt&€-O HtfS^m npi^umgrifAcatfrpsmtcanda MbX mrUcn*«i*T{Mt3frtRKU tonEuc exEajTEn»«iij(flommiHdi KIhA marxhtwcfockiinddBBiivHiy.E nmatara ■npuWvc fOdT^ an ^nptl hv4lv tt tv rpg; atwn tam Werttunch 5^ ifia t«9L-naalJi:^E JifffntLC ratdng twjaysldi POScratn [X?TflOumpa FUs?Mfief n^hi* icra»n»prifi»f Tn<«ea( Hjr«if>-t«aK)n|rto«<(T«rTW df*. nAWvkf tp( on KSng up your RAM: dM h^ e (tract hayuanl nading SaUUMiata saaiactfdiniagartfviEan. Elifenaa anoBw Enio. rnovooviHto nOMWKh bpc on uu>g ROKhVui LvyarlHC la]fV1«unipln i«nandcUdoix*&£ wrt pwatsng.se^ Swrtil wip^Jinrtan of Inyfymrt^wnonMnd moutpoftc »nmoijwpon SiMndM mausMnPAnrititf aCLIpKflora/n Ufat tairti.MiijwtwutTii Watymat umiiix. tAJiunOar VyoFWWKSi&C SpMd ]«^jk^on of Afriga 1 CPU mdCLfltttn dip afMd omfttLmm •a/npttolnribr^ytKjrgwnlinfywti Ltac* SmalCtodi t imi^ EAgrtH etodtn a xnlM m*\j Mr WittCf^s tpa on usog Wa* paraaale aciipwiMpaitafnfflBndi For PDS orders. Please use form on page 112 Amazing Computing V3.4 © 1988 105 tSE FreWCHy* <tocurri«(iUgninlCiri0aMambl«rioirc«lDrwitllngrAjrciwrn KnnM.intlllr4vtKingCtomBrTyb^lnity«M. VMnoLvriide HfiUoon, SC-O TtAI MO mihayoycMnUnmifri^nrlinHrftn^wIti {JnnjrwTtilci'n tn) a h-m ■dwmafc picu r AMCUSBifcU SBwrAJprogn-Tiifroni knUngCanpiAr^i^nuaf: OtnKi7^ CfruaurtindBifrogrBm, S-E-O Aniga Base pfogRLTib: SUA** FtBKJv bji T(fn J30« FF&utfi2B0e Cy U'« SHtngsf OOSHfipv WiKlgnwlNtpiyttmlvai CQT'RIftJl.S-E-O PETrmi frtntfiMFCTASCIIflMb ASCII CSqutnd Gnphapn^amfiomSaBntrk Amflnc«n.SBpC66,&€0 (tH flcUs or lemows carnagi rehmt Irarr Hist, S-E-D wi ctipy poKsan, E^ i^jo^WB tthKYHorNa>iuTt4i4Br rvVnfipBl vc yipCalietypt n yMi tf mt rwrriMnKiffof. E-0 rijtfvr gMljAE-O Ong, Sfrotn^ yBBofig. Zoing uo Epns-Oasad BoingI i:^ MvtH, 5-E-D CtCtodi, aOiKk, *aad( 1J« mndow bordnr docki. S-E-D Tllrtl An midtcin long-pwanroa pfuiQor menori, tpi v\ nilurq b^JtMa elodd UMp»> Iff Uux* Pijri; in) wcDftimBnddoni gn can Lnkrtno* t-pm Ccmmgdorv-Anigi. Thi C p/oqttrAindviK ^ 1 f M l^vAng Ut^, i^Ci CV1 pnnS ll«i sn 79 badig'Q L/xi, ami wti tne rufnbtn Bid c!>n79i *A" ditpity»■d\J^of^•a!^d«■Joc^W onidik. 'Ajl^ qjMlw^tiriteieuM'lla, r•unl■^ •rrgr okJb b COiTS-gl tw vwcutwi' in "Satt wfltretdutftiflnsfAfTi^jiOQfi Vtita'cUfTimird. DcsgIw' ranioTi-dat disohv clsrodt^ili)ri FF pctra PopClC irw5i*nBwCU"indMrftfrBprflB9i l>it«iKUtiUi prognma Indudc ixplllilt WwlD mad fincton k«i)rs (ran Am^Bosc emiant rvw S wi iM gima hachaf' guOfl b ir^s:3'r^ 1 66010 ii yj An-->gi nndrtg es:a^ fBcwancai b ysLri pnntBr ipi on get£.ng 1^ your lanLO-eeq JVC* lb lincf Traiihmv progrtmi siit mrti HaMD<Sln lefiaQIO Pwrnirrip SartjpTip XtmrRBvivw PrintH Drlnn: Prnfer cTPw* lor tv Cwn PJ-1 DM A. tti C toh Prenntor, vi imarowd Epnn dnwf tf»t aliniLnaBi srtakln^ tw Epion L<>«a0.twaamlNSa/'1a.nt£C»2S^VwClua■ttlML■ fl£. *w Pmnonic KX-PlOw tmily. and trw ^fli-CwBra O30D, nirt i4«LirTwnt dssTibng the insUkcnn prooao. AMClflDlrtlO hltiuntmiduridtoniai ThtLi ai i»i>dft«rT(l«Tvo.crCLJlW R) mirr/iJwlflrt h tuu g.<il&r, t Mnk, i catlApe. i ar huA divM. new aift ■ v^m imnoT ttwi, pKiQ« tfur^ p^ t pp* Di^an, i RhadH piaio, i ucaptun*. i vtv, i am oum. t asul dniffl, baR>. ■ vibroptufa. »vb!n. ■ wing pi^tv. a h^n wHrny, tnd a whrts. CpTDgramt divt Inijilen-bued, CLIrapficamMit nvanagsT S-E epri ihowitnda^iskpwi^DtCLI fVACKH^S-E pt (homrrbanCUpraaBnai, S-f vOlBi d-ipCiyi:CQrTiDunr>«AL£p<t;.S€ A/ri9tBiKpn>7tfni panxM peinw tnd iprnB Bdur pra$F vn gpSmiz* qpCmuBtort « «rrpi« figm AC (TWb crtwioif iHii^ awrttiEBd aivniv, diff nj diBbookpfogrim tmortM lOMiaraortzaSofti lyunsace convBTi! ami] FF trv^w% to AmigaBfw BOeOflJECTS tm dra* urti plaif m^iiJarfBi M(«1 tJraMH^tMftajrwi nidili rrtfLaroryfWifier imlWk TKkng na 1^9 1 rt pi^an mhUmOO 3D s'apr^ts ^a^-m, (ram A C™ arWa nouHna rrwM 7«rtng vonpit in hunrrwM M BSl Piitf^ne jara iCWtu tfWCLTK IWUl pa:;i7ni(o4iie9sm4 iwrd rrakH nrano* Hunds Ettojtibia pnytm q> unii^iiwcopycommrTl.E di •cr»fficlMr,&E (fl u^^ifca e^M.^ tcibf vm Wiff CHJiput to ix f 9« rm chM rccordv ptffvmtnoH hdcesf AiMAItlv flt^sni di ■own ciar md CLI rgirwrtnumpii U«Ul-2 nil mcr/i-^-wttffl ^«yKidatia cnoconwi fo* 6(Whah(uicrd* Jiigpnthn funpl* fcuVB 12snp[mafjrtiasprawHhHf Anilyn T7»»«s1au pngftif\M h« thttraad Cflmm«Jis»64 Swp Bid Now Room graphesto FF tarrriL GMngtfw On fr«n yftj Ch&A u your Amiga II » han) pan. AMCiraaiKii EaKUBMpfV^vni tM •iknCcafr^fMti* kritf. butfatw. EC dw ^nitnadiktii d*dMn*n.EO •ptdnivt ttndaFpKJn WDng* to PAn ^m irmi E-C tfBM>f Mw ^-»! F*™'" t"'WW*JJ*'**"W. ^-0 •IMU. «l ihB Ime, EC URMM unW»M a lie, E-D cwipMhm h»gh tes pKTl/es t FF, E-D Miud manu ed^f pf aducaa C ad» fw m*nAE-D ?«* <}lhA d^-tKlitt nbCM oapiv. E-D qutHM pratartwvE-D MOU owns «J arictfu torn Uoawninf^ Cpivgrimi ■pro popdi cmanewCLIitOvprenoli bunan.lika&dskicK&E-D trq^rrto VSpnVeui^ptecKtotrDni Commodiye. S-E-D An«gaBa& Anifi Base bdlaGn board prog^S-D AHfrnb<*> prpgrvna nvJD ni«kwitartok!ili1«StvTr« intti,S-E-0 Ptotnt UairtiMmdaferot SOvwuofUnMlntiit RstHt Talk irobotm ^ribtii'ig »cy(n*r Amiga wfi^ort, ritmn, aSdrnws canfto ItzaibMrtrCirdcomernvy board* dnduM crH»r«lBrftnc«sCijxlud«Mi mindwiliv durttapitaj^ngMganawal Kii(f«N]iN fnikayajroNvnBtdaifioMfrwnthv KMwlDacopaaik Al*CUSDhkl3 AnN^ Bific crogrant HvArm itm Card^ Sehepprw ct C&U Toch Support b naaandaipiayFFpic^'«lTvr Amig»B«>c. W^idocv- martaian. AaA rduopd is • pr:^tm u do iassn prriHin Amqa B»c md ^e n»wi: BMAP Hm, wn t en r«ciH Con- vanFD progrinv. WUh axampta pidu>aa, and tn SawLfiU HMmi la load ani pify FiAioGound nl IT aomd ^lea from Amiai BaK by Jphn Fflwfl f* fviiM Vttitmt Wti ftm' prirnardrw b aHact print ityia* OtkCaf WsaoUiAfim T'Sourd* SunHiJS hdjSrai^UmpM EDund editor* wmrdof ■tafiTiAflr- mil(M CO PB b r m Ht proy am 1 ffidrit- d>tMSQ«ai^ac±aitBaEapaBnl mcuntah icapai. 'aOBraaJowf 30 B'aiiai, «» br*«wi n a ntw drwtun ■AmfliHflntti' dtfJtrtLncFfopariefaa, fnamoryu*. :nu, dwK» and porti nuH. 'Cpa:ioroid(' varpon jt '■(torgd^ bi t» Am^a. ^12Dm- rvQ'h rauiLTlsn {r*IP^ci oamo wfitoi m Modular Ttilz: 'ansttrf nrpiains ffKfpQ nquancn tw CON: ttavca raspond s ID. TKe/ irduMaiaffiplaBfermikn(fpfl|iarto v^ in iht t ly n tw top «( ht An q I kaytoird. •Spwm' pr»granmar"»doeijmaT{*8fnC5mmjdor» AfTh^a, daacnta nari to ua> tw AfTS iga^ m uttlutar^ (^Mb HM in jfld Mn pra^ant. ApilpiBadc prpgrana: TSrkb' d-awULndwBvaformt.avJhaar^wrti^ayad lighf a M(»n of iha Tran ligrrtcyda vctM Qano: UgaSol' ■ ganw ol tOEittrv. 'SatU:' prDgrpm tDHiciLtafe' bating rvmet Vontf '^ b grab all tfia btgi 9f rnonay tiatyou can.' AM KXIS 1 5 alio I nd idM tHO baajliU FF (MCtj m^ «f na ananry waKari ^pm fraqfrfatalin Star Wgi.a^ipctJ'agfa iJ *■ ! # ! , AMaJBDIitll VjQffar* dan«eyEncGntha.'n.anbo!)L>egl«r bouncftg ^^a^ mnorad ba^i*. wt rum isfiacs Twan!y-toM Vamw of HAM vunaton Brefipptfqii'd^YtaprDdLifa titmiQfl. Yau tcmS'si na ipaad d 4« yjOSi-"^ Tha kjfnor^ doojnaiiiurL tinfe tw.tii pogr am might DfneAyba araitt'fl Bi praduc:. FFpletjraa pandwa ol Iha cowra iil Jivn^WtirUanJ Amazrng Compulng magaznac. Cpfograma: Vi(H/!handar' anvrifMalmAJnganlriputhandtof. T^taZupa" liraryfikaaditng prolan SnowfWif diffayf FF pictrra; and pnro fl. "Gan' profternindBjetitYJrcrwiaaC ttircm anfi raittlat tiedarad in Tb AnT-iga hdudB f4e cyrDm. ExacutaUa Prog ram a: TixHunltZ pap«riana«a'ttb>aprogranlha^acpandKl Yra2Mt/if canvartaMmacS&jdiafltiu FFstandani ^MUS'fwmit. Ihavefwvci?i«p'07amriigm havfl ilsH bugi^ aspecaiy in ivgtrdi b vary I'Qingaanp.^Q'HOiluinmDrtCaBaa. AniqtvarunirilhB''MBii»Cvnfnan(f vidadgflffla. ThadiAtlaa nnkini ittwalflaa of aeanarioahr Auriga Flif^t SfnJturlL Bypu9ngw)ao1VttHaawnF.lamcnablar«dlK and iraanng ilin,tTa*rva edof perfii"::^rgfl spaoal ojflinanil n tvig&Tifl, BrMnba'0tir<b«Eng3Dca=i]rxavprofi*iJfna M BghtSii-jSt^prog-aT.. Hiuir\pe.'X*aammopwtmt.y3ur pfan«onA«cietl.i*iii«ii*oipytjyaj r Cant*! Parit Tategnniirdalant dnh wtur ccmiins hl bminal pro^ama 'Cemm' V1.S3 »m pr^ m>i4i Xmaetarn. WXmodain. 'Alarm* V7S torn prog, indudaa Supw JCeffTHI 'VT-iCM'V^.e Da^WKiWaVT-IH emjIHorMlh XrHxJtfn.Kflfmit, and scr.pang 'An^lga Kafmr V4D(au1 pari of 4« Urix C-Kvmit VrtK' Viai TaWranp grapfiaiBrminaf amditor bavd an tia VT^IOQ pn^ V2J »d can^&ni latoat Wc^ flia canprsmcn '^i9aH»ar' VO,t tir Corrpuiarw. hdudti RLE ^iphcs tblMa & Ct&6 V* mnatir prMoco. "B^^Hu^h' aipanaion manorynBa n; ^ Tt:^' vT.g wi garbagt dvrasbf* ^hti madam raoMwd flat Txf Dtva toiT tm tqm vthm sysfeni to ba read by ttH Aniga EC 'al&fivfi' feiaeuiaa&tovdrefonfaruaiwttimari axpannn arMein ACvZ_1 '■c' fJadtKxrnffrAbonardabaaetjitarial tf>iin 'arcing fi Mm 'argV brinBlciang'arc'1tteE.C. *i«annatii Logo Am^i wrawi <a\ tM popdaumpulir la^aQa, ttti bar^pto program^ E-D TwTart Dang waraaiMthalVTart divacbr garefibr PaeeSaaar FraaiydKnau^aM'WrsonsDftvufidaM PagePnnt and PageFF progra-ii lor tha P*(»Se':iaf dashtijp pubiiriif^ pDckajja. FulfWrifow Raasi wf KJ windo* utrig only a.leornniMida.E-D UWd W)¥Wionp* Conway^ LFE profgram, E-D DaUiiJt CLI Jih^ b fa-aswjn a naw WvUMndidiii(,&f-D Criandv.MG LoL»<arr;p£biaiaortitfwt?«: ma^tBi ctiffxtan SeiKay Dar^oatkayUardkeyra- pioljTapimflr, Hrfh FF picLre ti maKa Fjnclon kay la&dt^ E-D VPQ ^^^dvopaltomgineratcrfpr ritgning rnonrtD'n, E-D W^IOC Hawtab^aiKArdHiieciki/laur. E-D SatPAll OaigB tia Pfslanncaa aatingi ontwfly, rC, S€-0 StarFVoba F^agran tLidastialt;r«valutor^ C mtsab mckided br AriJga arc W&OO&S^-D RCfT C Karswi of Cofifl Fianch*! AmxjaBaac ROT progrmin brirr Amaer^Cflmpuflng. FCTadflll and dtf^jiyt poiygo'v to craab tiratd-rrwtBonaiobjaai. U|ptt 24fiamH0(ahftiat4ncan ba >craalKI»nd4FF)liy«d. E-0 Scat Lika ^, MKtoivs on smtn nn BM|f troffl l^a mause, E-D DK Cacaya'tvaiwincbwtodua!: m MMkit ^ S-E-D Ckop9w1o«i2 AddilayatadtnadONtb WmEwidiwndraa^ E-0 A*aCl«DbfcA < ^ a d A cam* iiaiw it pr !»i/ am t t^Tfi An azT^ Cor- puTtng . Tha FF piarm on tia d W md lxJ« T0 A.T 19a Wt Kt pan T-irin I ego, aaaban-ealornkaiLTiagaofAncrf GriffrDi, a.-vJ'SivAm'gaL'vvl pdunt fiom t» Amairg Sbref Bpaod« that **b«J the Amiga. Sotva LnearaqLtilonsofwinasaffmbly la^aga. S-e-D Gadgats ^Tan CaSay^ Am gaQautakfirnri, HouBhokl &y«n C«^> An<gaBaf« tVuaahM mvartsry pcogrim, S-Q Wantomi J-m G^•aeE' Wtyt^vr-. WtArtpEtauc. &0 QALtP JBtinKai^'^'iA-fi^jBaMdtk lb man prpgrant, S-O Sjbacnptt HtfanSmiSn'tAnngBBdCBjtiKfipt aienifja, &0 Strrng, Bbotaan C[7ogrami atfaxacubUamfgr HwTvt I4fyb<ck Tsliyli hbAbn libr>alt, S-E-0 ShnnyC EkbFbarfwaria'aaiam^ter miM^ anifl Cpra^ami, S-E-0 OCUALh IW[tCi«okiikaCt]U«LrMBarf^kt EmaeaKiy MafmEmacafineonkay drlnlom by Grsg Oauglaa. &-0 AJybnl.1 &i«opDriByvb<TirsBDLn>uGa,E-0 BTE Bafd^ Tim ena'acbr edar, E-D Sjb (XIpr^grans^mntwBZBQia gvn wK trf Wm, E-D Wn&» <Xlmri0ovrut;>rrf rvBlsicirrarTt wndmv. S-E-D AMcuaDc*ai CoDpactor, DKsdar&tovaMchd AmigtBascboii^ S-D fiobEd see bvl apraaadbi iwiaanin C,S-E-0 SpnbUaikdl Spnb odi^ and inimfiir by Brad IIm^. E-0 BjtLato B^tto^chpaip'oriCon C prog'sii OyTarntaRoiuiAj^&E-D FPic hi«^prgca«ngpr»7ari byBcbBut^lcadi aid tvm FF imagas, d^igas twn iwith lava-a litfvnquei, E-D Ban4i ComitoD hoTii barling prggran, balans your diatiibo ok! E -D cara CantdMMmadan^aprogrtmwihbjfiportifg fnacro 'Krlr»t. fmntp CreabatkiiualdagranialtFaonaniory rputdav aajTipla npulhandsi. Irapa ha]rar mouH ewflfTB paraiMI pnntor print Support pnK*(i regior umpls'oni crgbRiy^Vd ShpHahmrbaatifiriagimapartdBvic* t» ajoyaU*. dani on ui BBi dracicsmiTKfbca- lona w&^ ra kayCnaid. Shma UBf trf r» liyvn iSyiry FF linoat»otp^a-i nook! Lfi rsuat to rgtitpyite* port CD nao^ wkIow d»T OwnanCfiai BcoBntoffwparanaipoi iipam ng ml u a n*f; in» pmbr, doat a acrasn dWTipinotwortjfigi Prrtor ■jppartroutjneii.ngt wr*ll-ng. nmpla procancraaHoncodo, rot nvarlung damn splt^taMing ragio^s ta^^p^* for: wti r*o on Festng y«jp owl Damwinawnalport CwBi 320 ■ 200 piayf«d labMMraan at aibifnecti do^g pntpt^ WMn of tpaadnsy, tUti D tet.d>ma daplayf araiaUa lonii anw 4amaa1rw.dwicauBS tiBdidiA damu Titedi^ drivaf AHCU3D<ak21 Targat UikaseadimDUiadidtsoundikaa {^ihg;&E-D Swvi &mpi*gapi«<rfBiraJ tiiiblliMtlhf mogs poffW, EO PrnpOad^al Haf>«tUc]rtBdi Tgty^ proporton^ 5aogaiair-;^S^ Ehfi Oadii^aaaiiyob^hivtetrt-liair-bi^t 7aphci, S-E-D F>iarD Stmpt ptino tound pro^'a-n CafSoipta Uacaa oaf anmaion Bcr?pB for IM91 Arunalar, n AmiQaBasc ThJididchataiaetranecaUdgtfDr AUICUSdi^i to 20 andFi^d#ciibfiO. T>>ay arawMd wth 1^a D«kC« onytm. inducM hfrfa. AHCgaPHkH Qfdaa LTiIcydagama . E-0 Show_Pmtl V«w ax) p^nH FF ftawn. rnfluoang b^ !ra/i Bow>n PrO\<jenZ3 Ltkriwraonotifr.-rbrtfivergenerrDF A.-irTTBton; \Ada4$capa anfmaana trf plaws and baogbHl Garden Uawa tadai girdafvcapes Bat^eSorb EurrFMiof bnarytoofchand rmig-i ■on in AmigaBatf AHCUSm^fcM An AMCUS d4)( conpiebV dedcabd b n^usc on tia Amiga, liudakeodtaifiaiiigrnuac ti^fyn. aongi, dmsumant^ aid pli)i*ri b brng Bia trf of paying ^ Sd'JKf on yotr Amga hw w nan a aeotiacl0Acrf2Sinmm«ni|itaFpltyln^ ari oaafing iTUjfic Thacflibctonrv^t Iwm Cannon b Maimba LJit NSm program u littvw tmtrjrnvna PMC$ wil roi loacf ai nat aa Ixtfiaorij^nB^any rirtvTwn. tkjvc a cDtkKticni jt U Qasacal piacaa laiSOwnun Tna 1S tntiM dataca tostura mm^iiafe Mti Canranl Thn* Amiga IiIubc Pbyafc SIAJSPay IMioCratSSMUS UwcautfoZSMUS AMCUgPiakM SaccrarriB Ad* HCUiadStf bfanjiAnigaODSfa- ttructjiad dwsoa, racgwar tea tnsm a taa^ad hard da*. By Oaind Jtxrw q1 hkroHiAona bontZB FbducaatWKizaotFFfnaQac, companion progiam. Recalw.JWi ipl the pai0tto ntortgif ona pidmb uaatha pflfaiBcotortof inoVw. litingthaaa prog/a/^tirti a tool b carvail FF b'uihoitoWa'Vtja'ncftjcbni, makaioara to«<t lu m>j^iu>H atria p>»j«a. CodaOama Uodiia-? program cQnw*i anambtar vtjfieS flt> t> irfira CODS cxafnana CoT^aawrn a Kmt/\ laa^inj aiB.*r.^ AmiB^s WariibarvtiruAmakaitiaEamalywalic acrcB tva aaaan al 'irtjom imsrvilii CVwwaa, mnnpieWyhim'iats. BNToda T>vt«tKam|][aaoiaaaafnbf]rlanguags Coda froYi Brya NaabiS: I, Sa(ljca.prog b aN%«^inbfJacaonAcr1 Z Why. rapbca ArmgdXJS ai Wry 3. Loadit p^ u ioad a fid inS: mamo'^ tmi a latwt p^ty fw mec esobrc hadwtwii Ind Uaditu«iil.| Uonolas CUprs^ar 'aaauPrei'rancBstmvarg CPtQrigtirgrpchrorne&inbf^SCB cnvix. C iome H r^ikxbd. mhu wVi Dip^yPraf, a CL\ prolan wfkh dipfayi tw cuTBTTt P'aW^rrac Wtlnga. BotngUpdiha A rar-tracad anmotion of ■ parpvlual moion E^ng-nibXing (nachijw, incbdai tw tam wftion oftha KtoMpngran. wtvcfii hai Tv abhty to piajr uundf tigng •rfl tit ifrnuon. By Kan Oftef Dasy Exanpta of unng na n.'daar and narrabrbavcaatomawthaAnigabril^ I aiwiQen r C, OLKkAi S(r>pt^yh«rtnmatonar>dsiida«wi p-ogijn ftp! Ctou^ FF imagat. BUon Syrtammgntgi AnqaSatcprogram; parlorrT] iri;Mir.in(pulBlan9o1man^ofy. IfcOaa Random badtgrobnjpiogran, a amill wndM opans witi a moosa reeen^blang BiJtHinHHMBirmg MQy ptvsses uaef dafriiUa. 106 Amazing Computing V3.4 © 1988 For PDS orders. Please use form on page 112 KaySrd VMifm KMpl.l KB.tetfi Docs MuiadrxvyCenfrkictviStMLnipia hiHan-buat] fmg ia ■nsmbing uid prrrSng t qf^evy lis. lul txpiBniSan cl 9m ytrjt codt ti mcora prsgrLTt erem Isr tw vrjt r m«R4ry. itfKh eouU fitaei 4tw dikL *»CV9Dlifc?3 l>tan*at Orapf.a darns pvu Utou^ ■pocs lowtJOtTB rnythctf (ivXtwn ffftv tun ptt:fw>taV«ICGKibuidt< Fiy *rt^>gi lOOO hK^fsn M^o laal comfartnUai pirtchng ■ dote h hflaadsdmBl, Xidiniy oUv'i tpg ch«nc4 to aulwnitictiv 4o »n ADOMEM tof Qis axpviflcin nwmorY, as wdl uihatiNtr/tachang«inopajn«( B^'kiRBftWshibench'hand. Aprogrsm li itta lid^^dea !» resurlrrg Tfit^rrecl BASC p^ag Ma k0)rnt9a, iduct irw WorUSentfi itay-MfM or 7BBfe]nLC swn UO()**#trw Wa-hnarwi n traa lift»n»t ■n LAod, ctTii cm lMwv«^'^€9iori, knttta ol bi/, e^KBty para «.■« ndjdKl Pjbicaomui progn.- 'a^cdn* ftfT)rjihScorb"«m»f3*77:t-Ml3' f¥ itrjifut to CDHs, 3 UB Ca jJBfi Psnt b rniM itami fat rs ^«w WvitsencrL Csrwri trjtn« t3 cars [iuLT (toes). Qn^niig pioQ ittet [i,^ viutt ittn i Mi arri d (p ijri 3vn on tv Krnn. ■Ritiv Id n HTWivTiiBd U'u prolan. Uvitegs-rrift^i^T^ pftt^i.'? b: iMeam- mLJ^uto'Q, ^adfoj nifl maaiagnfrqnl 'unMrn.ndi n nesAafe farr;;!! of ta riKEtr: d nnmu &rt) uvadl Typu ef Wl»ln twttl Bifwara, Uawttrgyflh tw &PMCI 14) tf "KUrgr ■aaK.fKTHMi earr^nieiiintnTt,i±an iteul t« INi, w>l Qi-wsMy. byCLI^nt^ajtwi 1>* iKiWB pegtin ehirg« mbmhti nwiK* ird rm- mr* (wc«3 ta rtbOK itier cnangjig Pirtrancesa m tTBrtiatf scraon. TNi praf rain l^pi bn'iMBen the nomil n) *x»no«d tcrMP he^ta. A «iirtw» uli^r igr PFcWrrto lovi^ chi-'^n fna^gmenngtindtant^n^H. A CU pro-am, pt^ntt out probatM dviH br Qjru rwiiti'arri; C uuice indudad, LitaittrDnl SobwrtDA!^, Ffim^wt t]m tgm diFQcferiQi oftfsKdrwt, mutfi MBiinel:tida:at»» Msrmn Dftxf! tinrtCS^Mn PMMJt Snort UMj^a-Zsa^afni r^wwVi* WoriCMnai KWi irQi,in4 afMr i ptnod Cl In*. pfTwia Twvtoi (x/n-gi AWCUSmtkM Teov Fay't SAL'dSapa rfWJteaaiVan ha Arr.acrg CoTjputnj alDB*. ThtKurwtaEira. Cti>ti,TX. and VU s n6LX9M. T>» Leso w Man C Buret raM rt rwt, Dong l«ri 7» bje^'^AJa rr-odubt. C, loaSt & W4I C csdB mwicy. Updaaot pr»9 b earrwA^ FF iTigai 19 PflttScnplfta»hrpnn)ng gnlusr pt^nlKI Hard diBc I>ic4j|] prog nm Larrtpd-Ziv afiiprKS:an.to taduea iha f«cMxr|r nu^'oafdldttiu. PmtEirrfama&on at»btta,S;i arc prccm»t in Sv lyiwn; ascmUar aa^rotitiYJuoad. Lan a Lncton k«y Kt bh* a nipd lartH d W! ri9i,aa Iwtlor *i*nla, AhaMypo^-mhv paoptewhai^f»«ji An^ IQSOS iMinchdflwasn AniigaDOS lappy. A V/orkJiwncnpAQram fiat wnds I DakChA.n^ n^rvJ b r« 'a*kicriang6tf(3:'g»r aifl o»r again.^ dot on tne car. C bducb nduMd SytttmmiT^ FHtfflaUiie««^aOcobnn»M^D'lnl mSTfScrW^'iws'O proonsv. Z pogrcri 1} nivt i^t Scf tKii*i apafiing aiasr\irttn!xi tart Iha RAM {!*(, ATtJjwn fcrt ft« rtd j>w friB Giiming> Fog. Fkfltfi, and K»nad incksi moi mMlui* naadatht^. Modbfa-2 preQun u dtipt^ rrtaneiy iKawu Hi hexadBQjtisL Arr^iBiK; E^mgn Tartan piatdc DOt atik>9 ptQ^tnt pifjn 8SVX affipM meruit n tw rm^^Tti wtvt nmaihr^ «» n Npptnng <n t« Amga, aa yatf Amgi t) CU p'oscapi tfwiQK your poiTBr ti I PW_U|I:V Ouru OMW^ Smw Safasaittitt [}«ft kfr.ig»UiMr CJU2 £0eK)U9 TCB Fun Bui DC DckiRin Lvol HkC^P Tanan Snovft F(W fhH Piihtk Do/nain Software Fr»JTT«hait1; cMrtui arp^anrrn me- b#l Br>«U'BS<inD''t«'>)na«chnf|Hr'i*ttbih efilr«W9'Vt»*tf dn*. A rnifl 'pftir' ijipa prugrvn wti Im, gKl Jonn[>ipar^Qid^Utciiit pregrafM gtvTWfn Orip'iicil nvmary UBogiidg^iityTOf. h«flDr« dafrgnARlii iBitll-Wt-friW' maMt tfyouhantt hdio vmplf Mndwdflmo latftp aaoaatng lh« MobroliFBtl Roatrg Pgrliibra^VomC paMtka Eitm|Mprag.lad«Gfnca'vpalaaaB. tradili*; Dvrennabi uh gf the TcMiK t^nv. nH^Mnrt John Dnpf^ nq^KMr Ltonar anJ •larriplaprJiym. ipMCti Sfln^r^ apMCfi dvne pregrn. ip >a eh» y Antfw apaaefl Oano progiw?. aU) O^KtTT^riuOitnrma ee Uu4kc Iremnd lor Ucsca C 4bug AAUCUSnatohBtteo^baanaimauaspOrin C Macro buvd C Oahf^^ prtLagt. U«efww indiiotndvt. rnaM Sy6*fto!l>ti rr.ik»conT(nft mriwZ Afio4«f maka LbivicDTrnand. mcTMinaei Sfi^arvw«ona4*rtflctaerW,wCi portar Porat/i* * « ari^n«r. uf DECUSCcfMarttawwiuHly. Fj^dFhhM.H: fiOflic (5offiic(grnt>annirpnntor. rol A 'roT tfpt todlofTTMlv. ft Art^!attliilh}iwaav LrUiTi A ru^^ pori^Cw faffi rr ^iar^ vr^ite r\ lofto'gaod'Vi^ it'ip XljaplArvtwertngasncffy. fndnihOIU4: banrw Phnta honaRU banw bgr*p A BofW-Uoort Qn^*ia Mtf batHi CHUUrun^acvTwnyaod.fWt bm Arer7«rBa]v-l4MWfrap-fteuBNY gip DECUSgivp Itvmrt ■pnpttpeftaUtKarrnrtwrinaconnac! maM UyCU nafyKananldltgrVwArtiga. V.1.0 mprdai A MkanM'tfot itf pro^nam, tjy Robart Fw«i VKl RJ Mai FmnahDum cana Conrolvftpnoaclvro program vati iU)po<1"0 '"Kro routrtec. Irwrtp CrH*a av!ajaf dagram ef Ha mamory rfiputiMr wT^mputhandv, trapaliiyermeuB vwro layittt ShOMNnitaaatupthBgam^art dvwvaaajojrfia. ktyDoarC darrwiffiM-itnclcsfflnncaion lairwi aicMauw9( twinjmibwy n«i««r9{ Ff UanMbral pq/a-T Dna.MnotM onrMwiVowdana paraM DamonenRacorabtiapmMpDt pmiv Dpvirg LIS wangnterrw.dHaa ■snan aunA notwortong pmiiLWOrt PnririupportfBiAn«.not»irtiny. procftft avn>a prttoau ovaHn cada, not Hffiu'ig jv^en ffmgc ipii Gkavjig rtgiora Mm;l9tant ftnniM tont Hti rfoonmav^yigurMr MTiaf DaniH t^ tani fun ariglaflayUd Oaaka 32Di 200 piayiteid tpaachtojr ltMtw»na1cuBipHChd»fflo ■paiBcinJamfl ■mpd'lad wnon o1 waacflioji. *« D dadc fflcrotniaci mult toildamo dipi#rian4tiMh!fiti BTwr dn«nH imtfiWnea uh tradiliM aamMTa>ed'*kdnwr FftdFUhnatfr am praas i h* lUruii ffi/fprnt, i tkg X|i,MW aniilog d»A Lfflpamnasx L^acM «non of IT icrowmact ^rvn wnovH muA^ ocQjnng ttm m itn damw ucing toun^ «id kdo hjnclom Anew* dian^ng pwiT-ai pert paramaian AJlBW* trtf^i-^ Mnai pcrtpanma^t. ^lekaijtl basd igr^pragri/ri, n C Swpi commarti tni nrtra ■tfYiHpioa h)^ C Ktirc* FfadFlahPakT: Thi d Ilk CDRtiiini n tMCiAAiaa of t* gan« Hac^i V 1J1.1. FrtdFkhOlrtt; Thid ft coram pwCiotfca toHachoftdWiT. Frarf Flih Pak t! ifi >rt Owx m4^ pacm m Uadt ard ii^tV Uourafi ^^(H Pratt fern, wpon VOO.BU A tfvjww ^non B^ POniH from FarrfcBB SyiBmi. a MMB pnwU «ct 'lerfunrig pragrvn Rofl Hiiggla ivartacvmpdv on anf oA aorc iripe u^p«mH M«tl arutx^ortivrrpadamg ririRtiinMa 1 tavu ^Mwg at Aa ^apTKH cWrw AfnpgaToAan conwn Amga ot^ c«j* b AiaA fenn FrtdFlthDM _li; DakSA pasfim » racow lloi from a naiad conqjeu j^ irtoiiwar aas«nn* wtulCMngaena ArrlgiCOSdtt. datw mrvar^ ■ Fvx !to b hrmrf Him ■cMDf^ of ?a AA^aDCG «* ha«wg MtaD Pttr rwgram *;* ary ^fp» of It* inSjn tiab, Srp fana^a d9 Xmodan ranAnMbM. Ho HBlflu<rpt.1l>aiton-i>jw Lan^aga ragau^ aj)^l S6 fl noutn>*V>rMdindwT«rff tMl«t*». Htnwanti UAioaAat c^r-w. wnnart U vrptadrKtorvpragran VUfTatfmg Tuair^ Lnd a3a.^pMa ID^ Eiae ta«4 h rrjtflatng MMordng. n C Paa ^pf wv9^eca iron c iou«ca ■liJ*! iha a^jata and unaq-jaau Pertia^dai aaTpia Pon-Hapdw pfogf an tial rak73 Sir TrW 9arr« ya** Ooagar*. RB*m RriRahBakH: or Coraaaantto, dpa^Kle didv row pTD^trr tor dj^jilng ff EalMoiMZ ■A tia noma pan to right or lad imioaa wti mtaotf irwua actum SpaacfiTarm Itrmnri BnlJa3^^ wBl apaadi FrtdFtahOik!!: " catxblMo. moOan amtgaSd ShEM* a lotrtng Sdma^feonM a»lid 'Afnigi(iQn'. T>E<I Dwno adibf jrarn Uoaanlti^ Chariia Haiti frfOTami afermrttl amulator program, t^nttn rrrtnuiaim inttaamtMH Iha la a copy olThomaaWtort MaodolBiil SitEiplofar vmvdd &icniaiotB!ing 3(imaiadnirviin di^ *^fy goDdl ttfti» tffam. p»iHa(inaa kH kwExac LniKS >«lon3.e»fDaiiMUannoB. For taa pra^ tar Luvfmg pngaHnWtfk bvncn prwan?y ony MEck* ur««( CU Uii V7. BSD 4.2, Amigi, U&DDS^ VMS, UaaaAr-salnCrmiapi SitAilWTUB IMm ■! C91 tf'M a Ma>nd L^naga caut Ira. Dacuv, t1sl>p li«a, nan. itfwidcMd orva Pwtaea BfAnJtPoM'O, Ma« *alraa ndrt SteTam krrtrv: anjau. »« ASCII KrMaffl. dajtr. rnav. <^T> ivya u Usta nayv mauaa ajoocr-. «s-arpr5rt|r.bacimpfi« PadFlahPiailS: wordanA fiiKSoniw^ A BurCM otSaic prografR^ ACuingt Frt<nniB*a 1 jpm teyooi ««Mk nwiWjo' Dakefioum <v Itao&Ttaca. anval mriem br mail imsdtffl asisitft adebsM «gMra peoiitf eparali^^rtBfflionewoianJmafAamaa. Fef ror arr^wqi wmg^vpf Mni) paoMittspantlD|wlUcroEnmiot«rlwonla tuxo tint tnckout eamaa michna. mat orda ubrerdaa Caw fitjRWianmr 1 S*H1 a/|pMt dakdogOv Cwa. <ng»i oaH' i7)fT4nicsnaj^<a C*i bpJsB IS thtfl on Dik 1 1, wti tiill n Bzi iacU !-»)• gamoku dart n*ku want ha!i*y hunta«J muan HKUa-2 A tTv^i^eaic wrson of tia pngia pan jjin lu miPdaJ iiwig UMila-2 oanpitv or^naiy ditwpHi b UadittO at nuuaa OMI* paUi UVZ, ThicQdainxIramrE^dtaViaWIQAaodla pani pnatiad gbomitafflordM ■iaeu1odenr«JM4lOAi;«ngai9aeall4aAr. Eknary tactn* Fje igtM noxi any. HCNiVt* ■Uraft •wla •iipaa F^IHatin^g 1 Itl^^ GrapncHaA MUipU ^Mtavt ^mi»fltmi\ «WlMUr nM mat Hen p»ra Of John Toatw. Oiff T* •<»l ■ifX usafpO rf^dv Bucidtihix^nwit kA knnral Fiari Rah B^ g | knM Bff vpo^np^ frngt Urrta* F^ooamtTvArnga lunh' loadflai ■tMll Miwi mDi^pw C<llac1ai)a.dn.indlw)iirkiegrtw, «Mt |nM: urrA^DfFtmtira Abnk; ma*t in frrigAiW. irV jnAwfuaJ ipaafcalo olcad^ data, axftm angina, anj >E3rn*pr9gFrnfwprf«anMinbo9ilmguiOM] garwaka bnary f b Mtri IwrniTranl rrnenloiUni *aOuf FridFWiOlikU: nigiM L^to 01 11 1 inckjdH C «wn* to t aquraB pfugraT to FfoA«Hoto<#a 'frwoffla' aujubta iill hi««i M^«» p^mevK «io 30 O'VlKt l»p Sows tor 1 tjnction ffntgvwiM t C-lu™i fTDQrwn tni htiw . OB oi^Kti kH tgm wtwi C nun* ilii Pa Ditpltf »rtl svtpocBD privitoi dnwvoni ao^ttirTrHKdJrwaontf {faciei Ms teup kv<m ii dikie, • Ik pun uwr toflflai Fi^ -niinQ pr pBiftng twn gfBTtn^ «di» a< dik 1 , 7I01C nwi wy u HQt aaaangiataunrt. MCSOr Fml Hah an IT | » egnwti rr tnji^ tW« 10 k*.4g« chxx n Aajamoa Amqa Buc darst; Ca-o^ Scfvppw. CMt HmCvrm^D matoa.O^acatontoflaa | WWm ■Iip»«NSI¥riM »m/« BHUiBr. maOiSKivon lu adereaaai of vYf w-hi ta Ei9vw of fi» KTwi't utr.aa. VMfi rr^^ Una 131 ■ ei*e Wad Ma/arapi A L-tar a or (Teat3T ifx] ub of Dmapa. »ncw ToityL^ji cofflpetM ^ffna^ LoadUM taacs Ktj tf:s^Tt FF 1^ t>cK iffl$M''*Morv lead«£au ioa0si.-4dG>iaTtACQMt>CL FT^rWEAU; Samit^m OMK a «f*fl K7aan and ftrspa ?l » a SM rvna Ocno. Ua IMi y«>r gttptt** pnr-W. Oidi •npw dgM d«ii progrrn lim m tw Daaaan &rTiM6^n(»uuafpO»r. Rvadi DhM FMIypfotfl atatferrbeefwcadtpactO'^ Da« Hn douM Ojlkwt nquwn CIA trirroonofito iKSonaBreauTpadJnJiBL TbaaduaJ dsaBsn bof FouVM ar« M up u b« Uonopoty ArMJynjcsfflonafMlYgHTioitftHnin UuC. caiiBfifrom toBfpnjgioiPslnKtioni aWmCunp aun MUZ ftrw imf Wofnemi dynamiotly. By BN Rogari. ■owl dufnp progriffl. A [I'Mng pngnm wibfl r Afa<v& [\crik kaytcartf It^t l>iK*(Iliut IH*rtKU(i A frKtil pny un wntot n >kMiC rduoad bacajsa immttf turpi«a ar* fTHWCmi; taw and fir tvtwn Qf Robart Burni AcDFnfMB copy 0f t» llOni dnstapw FT 4li( Hypoepioi* Spffl5rapti.twnF«.e4ByiiL FrK|fT,hp.,l1T; bnarilKii Eumpla of prapertaul gadgan to T>« NawTa« Og^Vvw Mdw d^sw HAM danw di* ioala&^wftllux FradFVahOli^ JL Ua«*j(wnOT Severn B&cs «id clrac»iia fei &i«king *nfga.at&^ Don* (rnuna progrn wtl HO. BiocVMbna j^Lf (hVi rofTWrfftw 1 Ug rrvrvy npa-ipaa. by Uo^it' FaHtf^ar. Atfi nortiMM C Sf^i !■•■ ifiol vv^Bfi. SM<«K Poflin B oao^ "rraJtaeO" ai,t fmj7. lOfiK "t SoinoaOnnoa CemtrtJubant) tsfaj ind t4t4il frgwr Mnl« a «!• m, diploro Hh. 11 MBinmouH lm«.THirperbar«rdrKlAl wboijiapomcaicuiijonaand Qabaan ucsaoio doa on MnrcJng rcur Arr^t 10 UH I ■a»ua pbtw. By Dwd Eada. uctaoH FiailRahnika IU«im rotntiji N dniwiBjyiii cbteMmiJoinBdi ABaacgiriaaby David Adcfeaor; aai^lqammon , Cnbbagt. RgLB&n SAY a.T^tre rill uki n P^ L«»n Uhemand Oltvili Soinpv ill 10"^ n^4 pr^Ttof C» DECUS tpp' C pwfXDcawr. I a mfldr«#(j »ipi.fi ■eve*, ftn. an} ■Man tof a bap ««fprA te- ff* tnoii* aspyt Pa ^^ fw Mwu a Fr*dR»hDih1l: Bnaf Lht'CompattM tfit« anhnw. fv BadUiSi packjng ^Iti tv nvtf. Ja>UnarS*B 9A« Of Jay Unar, Affl^ grapha tfiip oat.9W, sowing aoacfvi of ra Ifn^ B4«aU(i Ear^pia gt ucng a Soetljfm. cyncng dLr*nyftaa**ar» Karn'-pT^ he pfOTnt o H tv U)r 01 appmg n(Ar«« FlMRltLflMJI LsMUon Hno Uldoias Sa kickt lir prggrvra Aa(4&p« Cri □e.TVi po^n MttOLl an» vid rtg doA tiit«rtaa»ii«. ArviacDaria PltT« faf Ta Jb^I Mmato' fta For PDS orders. Please use form on page 112 Amazing Computing V3.4 © 1988 107 Ce Uni'Vkln>i;«tlfeiUiniC SardPttM Bn Dwno copy of BES-T Suaraaa Frarf Flrii P^ C enough Tan bi uttovB of fyviem SpoMIHur BCiLil UmigmantSyilBri. AW of Vi^ Bulaln B«id Systarrri Aaai^ RapiMfrwrtlwAri^tCIOS^iB^n' rarrrrard cTi C Rutik AnmiWftjBk^eubef«7«Ti 0= C com piaf fronend 1 For Uani ei4 iaSa C Fridil UAkte randam fracW Hrrunt SSmgLb VlIM VT'lie BnnM rruMar niti Kuntind Tifldw Cfirwartt tny ditk tn^j te^ br ■ftrtonc Inniniisofi. r^nsfVQs Coppar hEFF A hardanre co;^v l«t ditsssan bar ComrartiiiBtumanladafflOKOfldlla FF Poly, HAkf^ly Worttonrt-^pedomoalormrtinj Dofvaons n loraa xj^ HAU TriaopiJI •r^FV f |« ituccjrt. Snmmn by BfidWIion PopColoon SpniaOotk arvjiaisnnSt SmptodacM il Ifilf^ayed on a iprw Ml Sad! TtMOtO TflKmnxiOlO torminii wnultur (tont&on It yug rnd ffwir pngr*^ uhU, ta VMy un writo comm*rciil,wwpubfk:dwniia From VOrw VvKint V IS and 1.10 d 1 DtfbK* msm HhMri OHOCKd njDiU'Bon. STEmutUor Hin-Hf out Atari STamiJabr Pin^itBdtwnngprDgrHn Aag-s ArtrnAr Oeabf ronVTW oCTpU fw tku wlTi long n«m*^ BQ twf an b> H«^ VcW md UTi'an^fld, BBS ■n Vi gi Bsic BBS ly Ewi Omtiun A/niQiin •dIfdntl,brTmnatiniDn Unklaf ■utdracOnn menu Md Late WorhhancJt programi ba njn trpm Two Lha BtpII ayta *td aid m otftng reuwaa Uictf aneeus ieena FiadFlriiOd Annaloi* UaniEdau byCltvilFWnon vaitt ^ff-iDUer'alcsriwBpro/im. FtufFWiDa AflCre Shk ?ir« o?wf d«tu tnrn tw otata.i) Haquiias a Uni lyatai. ffidnKilHit;! HkFF taw FFmsfcnU torn caMta WflpWiraiCB md mu»e hm AfP PntrntrtTf Mi<9iOOS n|pJicBmert:»far fttj Firt null ai *q> Uifi-ifcBtfi'oapyfyojnn RayTrnPIca T» Yimous rif-aicr^ pc%nc m*ad/ tA Llign>,umUiSwCllolB,S CIPGt UptinavWkcnfffciKkgndfti IS. frpm FFf 39. row cwTwnid t9 FF HAU C*r<.lar Hot Uly porvd b^ Ainigi. fji ■( 1 saoeo C tanjuags «;put. but nwdi t let of woric UcdM witn BftjrtB af t» W ^«Kl*M»ton(Jsl(36 Port of p-ogrun Id spfil Unij tfc'ar^ivM Utitiw to sncoda and dflcod* bfi*y S^ for P<inW»st V»B&n JO fl( RotwriFwndit pregrm. IArtJ*lflBSuwn BaJgeTBMjrplt. Irkiua rMn» RAM ipeeO. tKp inJ (sa. Cah Echo MiTR >3h'->ii« at hstory, wiiMc. m Impf ovBd tero" command wft coloc. ^rmat VonLBM Frod Flail [I| aapieftfltmtimdHJM IBM 1l« QuSbOKJQHW S« R«plK>nM »» gw Mim ■|«' orwr Ktd/Mtiq) Mata ,Ana(hBr*n()t*', wtfi mora tuuiw TvSpiit Im cwnJH Kxl tor vr^ronnant Ha^«tM.wti Jmpiawmatm iDnMV R ivcu'Vi* tw, groan Mfy type, RlHuik Fm FKt|>f5fcgrimjtoiBi twm run'm vlvnal rrwTiDry. PiOraa Updrta MBcel'ivwoLA pcljm Upditos ui cidw dw wfinmw A^ tFEm inoffwditfi UUonco* Ffid nah Dd nottilei. naBorch DCKS, fxagin to msU a ung^tftH Wmli Soanfw t Eiih for fttt el aw n vnt Hmi» SiyvRTawariDfHv^aPrciblMiinrft im p»i wr^j Lko B KckiTin aru Wwkbeneh. Frad Flab dak U fciwor. Ti6tl. Lax Conip^rtH Fog^ Fitttti, tra Knew) A»v tSpdl Vftiw FiiMaol/od prtMng pregwn ty TumalVsof Cliv4JW>BnAe«ic3Dmnfl OKkUodam taKiTB" fits prog rafn dsMCB ip(i?ng tfwifff. (Eipankon RAU ifiT^rfd) byPuBHJIsun Frill Flah D* 3] WTtOO (W^Hcwgarne. froy«n. Vvtv-i 2.2 01 Daw* VMctof^ «« m Egad in KSlMBtd bs [rf bo;«ino liOt mrHfm by L*o Bo'i EMtwi-SehMb D^ttays rumbar at tami in vi gu«M^ Bwagacaw 1acTl.$.r<3 l5mijiL« tedna EiWdoa idenn teoic. A.Tkgi5ASIC OoiPliat Frf.vaLiTt et aiowTM H^spv »dt riBprg profj'im It/*- A ttfUty trfj rapy a! Ui ft alvntW IvtHrmltrwrf. AwfforHtt ftfion HOrTMli pmodi. by Vrtiam RuM>dB« Progfvuto piayAwifl) tipougit* Ut}\Vf. byFwdCcMW Progiim n malw r>a Wwx B«i(n ScHHn iu^ t*n nerffld. by N«[ Ktfjn and OsrfruC MKVn 2nd vi^un>*DtCLIo'«<wdaBv«4opart]dt r \rawa UkJ>ui| p«* n Vi>6« lew or hign opilkQDliBpndalBA Tha dak if ■ pan otTirnpSiy Budd^ Utta SiaifltdX tytlar^. ProdUBpa VilSpai* Sub««t B»fM««T >Tvt- rxf iTvm' itiktm bt Tp»iffom)i a«ta tarn En^iin ta Viflay *r» by Bll RirarHay itWi*ing»n Sn UiivaraiV- SoartL Ron) S'JWitHAM S*iiJfl50fi of puir*wiji mow"^ iquftj«s. V»r.HAH(KUi»i(rma.l. FrWFIltlPlltai CSquvad Sap (« Sc Anwicap, OrM Sqund FtidFlaMllalUT' 3D-Arri ^ula1ipnotarobolcami,v«Ygood Tit Proiirwnti malwyoyF Ariiga look lika it Mn'^ pan v^bralon Mting. bv Lao ' B<yi Fi«tve' SchiMA Soliaii AfiaxiC Bomai o( CanWd in] ■fgantim gr^jihKM, feai^ngtool, in:fudng C injm. KlorOiW. troni David Wdiiorv RiOlj Stipi gvbaea tfl Jfrnfctom Tirv^fid Aj«1a< EMC&lhin^fUnningHAM inimMonoT* S|>n3 (Vtphct dtti^o d ipiming aiwa. cb^llb. foboijug^r C*i VZ.05 ot Uit Otlonn e#i i<h« tfi«l |Mad««d torHinxq.byMatiDiian. UKltwSDySbw&M douUv^s/f^od tumpiB. HaiOkr AnigiDOS hirxSw (dmov^idLTipIs VT-IW Vrsion Z4 ot Daw Wactw*! urmml Smd Sword o1 Frtlifi Argal te I a*antjra frofnC-A ■nuliMf, Mtl XTiftdtrt and Kwmij f l« Qama mirmr. ji Am^t BoK. f^p-tOt Umid ■ W>-I0C citiitlof. WTtai in t'MWkrpfqtncflit NMSiaup* te»CSartjpniodti«: Tnlt Laami ral PalinO noun, ii UodJi-Z UkMi-Z Frail Flah gam J^iartjp.uni wti 1.2 fBiv<b«nvquDB handing. FrU Fltfi 0* n FFEncoda SdmrwKnan umFFtlA Ehi Mpht WBOfi d H hvd diih «(t «tin*i TWStvlLp.Kni QpanccnJioiMi-dcw, uinjruw ipact by CemFnHsrff. anEui 3d Wfaon of !ha 'ttar^ pm^tm ban*. roump Duffi^ ir^ iteut SI FF fifl Comm Bgm^ Low-law' grasi^^ aian^ Breflf Jlh HDSC^fc»aiifwl «rfhpt)tt«drec±3rieB po«d B BK by Carayi Sffwppw tynppwjiSoo^vPfrt Na«sat STATUS-i^iw p^agim. riM C*t Wriion £.&* s^M<2 [>liQni Unz WViiiB PiMt Ovnga irtjhr p(og*irfl'« acraan cdIwi. auf.g«> 03uU»buf*orad 4nm»SBn anrnpit pnomir. PDMWK CU r«Ma*fr«f:t, ^r^LiJ r^ By Car^fin Scrttppaf to BOta in) VSpon Ham Ovnt 9i FWrtm, w^pon 6.1 LJ3M rx) Ul-u C BurtB PpiOvm Ai^owi tv cwuard oijtp<jTe< an* pracauu □ihUviw [>if^iyoiaawiiIxaBenoftepordtki. UUMcoda Trintiili tmiry fliM u an Unii- Qikpad MvnUw Vaw mamory m rari Irw. rawa aiW Iteprsgriffii Oi CompuvtOrAsivigflottfihtar dwrbry bYMnUlon joyflck Wm ttonWiBi ftagrtra to »«W fuf pft^ani Jml fratfi bw $w« a nsmar oi HM* rroffla aovan u Or^ Bouncngbnildarna Viofilir DXHDIcynirmiwiftMBfibr trAmOry. hBtbrrp^bfepartwdamagi. an FF iia. b^» Ca?oi)n Sowppw Sfsng Orrg, Mth nirMJ aiada. progrim jTd puttup BrnqueE* to irt'om you otir» Siw^^ttDsmo OemooftfiaAciMbangtnifl ShangTi*. Scr»n[X;rip Durps^ghait nafrn or witiow ti tw Mndoa ExmFMolcrvringtDOSwnclnvQni dtmipt R^DrnthflSB^nraDFlilary. SwnlEfvnp^ A OOUblft buffrTAd tojnd eurrplt b' pnrrBi. njitefnKiwn Protkif A rttftrntflsajflion pniflai hy Manx UaniCdyJmGoodnow Sffll Srnpfa datatuaa program Hrt. a FrMFlihll lUl CpfHTinit. hidudtt C BiK>. Vqxte A worbng HtpiAo aumpla. by Eric Cotun DECUSlape. AnaBHio Wio", Vuch'. lirf. V*'»rtton in uHnblar. FfldFlhlHim 1 vniu VZ.6 ot Dwa'i V11DS ferminil wnulitH tiVt Stn Sli;»*ldamo. IkaSlMTrak. Qiplay QlptfitiAM iniiQBt Ffam i Fty- Cpd«J. UodiiB vf eiQclrarac tpirggripn (rofn dnh ZT' iiaimftftfi] xmodarr. by DmVhdm TrmPlul Tarmirw] progfar^ laftcapojra. ffmng projfim.w^pump* pctU-M. DrUtI EnhtnncT WRin o1 DfUGI Irom diA % FrtdRthPliia 1 litrarY, hjncQan kaya, Xmodarr. Dnwr bmpM dnrcBd^Mv nircn. ack lUtH Sont t tot d ob^medLrlH Ltd IbwM CipBovd Gpteard MvttintarbcB raiAnaiL toprcvidt CS-e proftcdL ].h>RM4:dik a Harden] intotaca bf Andy Fm^t ttlCI Voraon 11 ol Dl«¥*<lirt VT-lOB »>(> Mj^17.«ilqutabBDrty UyUpdak D*i^idlibutlrtirwiT^936flr«loi ConPpcMti Dam oa Uw iM 1 iKiS Pabwa, ar^iiabr. m^ Krtpta & kjmrtari EuifiMLffi ftUfl ■fipprg cxntjimts from C h>id« fta, ind CorrUnr, «. t^ Comyi Stfiappaf FndRihtlihK Aliost T«m fill Bm J rof trti X-nodflm , Ksmrt nd CSe pmteii. ftnocrlwfi, •CTifK^ PM GwDi#£ ^fl^Tt b Ind al uaitabla d» dvwpr narf«( and tvirn tvn at anaaac Ihl by «« Si«(>inllai<orainpaninf tintnclvdw RLE ^tpfiics ifid (B=iW»rc# -nods. tncSwiinhfW PTitpUndcf^ B>* PO 'amh' uapaUa InllH.mMtV. AnfiUsntD Wygtn Uofi tjps p43SF!) Q4vwitiif M^ casi £yaig 0«VoLr» ftagtam » gai wlurrta nam* of tm BsiMef UpdBid » ff lHjnmxr', h luOi « opn five, Ktw 1U(( rwDu^cn, CMlllH Ojarwi whBtw ■ noun but&rh n pfwwd. VQijima ti II • f^vqn 1V« FViUaa on . Manx, irti icfoll Pari big imv Mvca niBt, uwmjp^ LbiBn**, pom, mcl Tia on 9n t nil m cMt ti B ca.'i byOudiUdttana em b-*B» pett Ityrtira aijiT;»ai Arc Pgpjir tif Mm{XM»5n urBBm. Pa aisa>rruB A larLp-nqusrcB busd on lw2C na*da an ««n fi i* and witaa aul I BcesZ Anorw varasn Pl bna' rtrdvdlar ttrwUngfte iajmanl of C coda mTMi* lojn d«ta {lilanlli Af4>»rtm*rtealartd*fi«iaJonTi. AiaaCMa ft^gi'im «MldK0dM VHOdH Toudi Ics F*e iffliiior, saan^iig. posfton by irm AA ind liKsitr, unng t BchniquB from CcmmwlorfrAmigt Msf^eWm Prognnti fiw^twMenLrst antwoF perfWTt irw nmbar. ar* '■tn>('np(a«m«fitlriiflr,vflra«i6.5 Traai Morfl flrtwuiw wrwn of the tw» seqjKTttfiyconigLrtd EWWbcunto. HniFanI S« of 26 iwi Am>g* bna frorp Cosno XiltiUriod^daw. piDDm on Dill 3t bj CvoTin Schapp* BtlRldior SgZ10 DiU GonofBi MlO Tswind flmulitiir FridFllhJillKB 1 mC» An ot^ofiMWd drawing program, Pt Bto^nLnd pontutllt^, il>to Diua WrtJMQd DOGmtoftKP pogrwr. V 1.4 AtP Vrvon 1.1 vf sfhaivwwv 68000 niMnr VUbyTfflMoonty opborva, wklcarda. DOSMatw MnCwMd Am>g«CO$ ai Mp pmym\ ■iJ8fflt*f. compnb* wfti tw WBBcomcaj FndFlRf! DlikJ7 ntitmv Oaiiaa P«rit-|fptia raquactof, fiagaPiM FVina ftid lin vifi tmw)v% pig* utmbtor. Tin hdix)»*«nttiiriptai»rtyp RvpiHid by FF97 Dot b Copyn^l prob^mi wftlsanpit bf»i*(i.[Mntfrb« mobJ* fndfna™ Moterbia m-waiionci. FrwIRtfl Plfca FndFlXnilllS Poiai BaaKXit OttZip AtRk brHlu>utgdm«.u«n>DgiiHK VetKon 1.1 d ■ pngrvn V •mditd ASOG^ Eji»m«y uialjl N^aranrara JKBWraae r r-n d *, By Parry KtvqIwHtr ASsndPK)«t C ajump* pl mikrrg ajyndwjfToua ro caJ 1 to a COS hand*, wrfllon by CJ-A andbinvy^iK &gVi» Dspityt any FF pKlira, ifidapartJwt SptiEfl Spr» E*tw «;» iw ^r*i ■: 1 It* Fanaippn A VTf n CU nplKB<TKrt witi U Bl9Wft*ylkai droMty u», uwtg poirw a cat: or FUW:*M», tr X-Spd SpUkpg ctwdsf tlowedti to ««s ■Mftg ind MKtfl oif prwiortoofflfflifdj hartlwawBOTtl. byJafinHodgaon UbyCA ft^intll: ftUl UiBla A Unt^ CaTminJ-type g«r4. win Ef>«3h HB*dtpaJrt«lii mvifvitjit'^mtliU DrUU Wai!! t« Oivda^ raa, dp CIJ *i»tlVanll V CraA your (mn kiri wMntrt Bim, m c5WRibi»f d lUea rd drsHc a tor^ EWl (frapri opanuna tarn nwua prtyimtrnAfiyifiiPC. (VLfc*w»Tuflw DiU«2 AnJf»»lI*tolOru«l Cah VivsET £03 af Dtkin*! C tfHlw tM. Sznri O^phOdiTdt HypvBtw FiaRaqMW Laisca C ^l« laq-jaifer moduu, nrli etmajatimartf UmAic Vr oJ'wc'brUnixSyrtmVniKrtrrt.inC llHTtClHr W«i«a ti-au^n »**•• m*mory Irt.MTOPj damo drnnr, from Oiafld Haapl Obug Uho tMMd C drtLiggng w*''^^ FF 12 Wombat ^torsor^.01otDMWvtl«^ *0B mmwry along *» My. UkVm Vflvri MacPipt|x±irai m Am^l bw DuilRayFd d aiimftofr!mCBM,n)(IifciihU»n wtrtnal wnulifBf by iohn HodQaoi^ orhqhraa.wti iampi«picajrBa,by mmjH fildFiilinitJl HflwiZAP Scott EvorKJen Oafi* HBdh^^ft w^LfsW.with nurm Boon GNU br Un LX V«^, wodgng jpUto ID Ff £ secar edifng unJffy. VIO by John HodgoMn nop Sittpla FF laKJor pc^rom LlIlM Crtil*ralMirceo1LMtkB3.10 hMdtrlita ' Cornpraat OpdfS b tw fito comfrftKbl H«in6ow A MaJFivdtr-Sryb rainbow ganarAtr. PspCU S<**ic*-f1^n program irwolrM a fis« Ln« Lm dfiMno dftno pfo^mi pogrrr onDcKf byJofmHodgsOFi CLLwifrainjmaK taaanUn*irg. Srforrt Oimgaatmi uBd in ■ CU aiilow Co. ■W** rf Fflfuna'-^ 9*™ In AiTtigiBiitM: SUUSHfey*! Twe SMUS f^ayi, to r^tySMUS FF OMtom OvHnportdtho3|Ma PuiMcavcopr- vttoo Varaon 13 ol r« vr-100 larmrif pregrim. □Siad mureformatWflaiby prpkcMdol^i tUBltS HUl MnHvi^fV] ScronPI [>jil ptayfMU atMipie, toTi GA "DmOiJiod Ttart an Amga waon of UcnOMJEmaca Vvw At^y IBMvMMrbyJatnHodgton ■KmiiUiWilUpm fimUJ! UUl ii9, vntt»\m\ot dj'flwftncii. V«dum?t JJt-M optmcEKl wortitwch pnn»f pUyMd on a 3ai»0i iKindaep Hitftftl'i^ AffligiBaarc fTo^BP flomoa paga fl^png of SnUiq P&rtiCia wraofv o^tv CPAJ ^a doaa not ifi* DwTvpflPgrHy plarUld. a30BjbB tpuMHAjidunqjaoa JahnHodssen W8 Amazing Computing V3. 4 © 1988 For PDS orders. Please use form on page 112 F«IFIlhl»H9 &>n< UptiKfcbtia— II pragiMTl »n)i*j ia rxtH${ &>nB'2 CIXJl OKAp'O^rtniintwTXcabl. E I>v □ 3Ki fejri edrb/ Vt 22 faf fft^ftniff*n,B> OgpOnn &gpSia]M F\|1X tfiBjgwt on WtflUWT^ MixfOM,E-0 Fuwe Smivu OniOati, botdoMntmik)*! SO nUO CCjoc^ansrild dravng pngFM, v*Ml^ l.Ii Uudi mprj-ij ««<t* 5t flttotji Dmg g< iniTMl) paiTWi tn WnkMna-. &E-D BtpsmTort Geiwil conipoui*ifl/»ii<rt2«on bm cjklil«9r. EO Ffmn^DllIlK V*;iaji Iha-wrta** md twNn progrtmB Ba MtmoryivMvntflfMHMiv. V^yfact E-D B^aFo™ llaJ9flsl9ulpulkiw. E-0 H>Rl9Mjia T«™«:«iaijlMMfi VISiVTIlK VTuaM>(»il £-0 Had Mou«»tfr*n«itfldsorwion^1. E-D M>vGw wtfa&etofT ii,?ior. ED B-oar 9Asn»^kiFF»wv.V2.1, E-D UM1 CciaininBflteilBflttivro E-0 UfLrtK Exan^UviitHtjpmKici. S^-D FrwinihDIikBI ATPUdi LPun Ttrui VSfrn Piltfwi Jttr^omv tt work unte AmpgiCOS VZ &£■€> V/nlH iwMl to 1r«9 blockl on I dsklDTsnurtir. S-^-D PflCh br pfo^ ami that iMrt Tl*nn loiinsuniif ikrigiOOS 1-2: S-EO WdU2t S^-D ^h< Topaz, bu^ rourOmi vlgvi. Gtrviwticti nnry. &£-0 Mum £S Vscnvt. fra^MMHuok. FrriB^hPhtaa Fmrfn#imrtii Ihs A 1 poi!ot !ra Una. Qtmt Ijm', by tw Sobw« upM1it9I»ClllEL FndBihPttkgf vnnt, but KH.fn li nduMd. S€-0. Ei«rpl#otw9iJtrgWortiMnchiV[ndM apM ulii tt anothM ojEUn KTasa VeriitKil.fl^S-e^J Ex«T]pf« {or doing i cufUin WoiVbftncli KTWn. S-E-D Gsrvrntofl ono-lna tsrluwcocikj* BbiU-ypi/-Mn mguH p>l\ dodl. OtiM C icnns liec tor mmui, buadDnttr.MsffipGviL &E<D. (SU L tan tf sn now pK3ia>S And ituclrnm Ar.<gaD« t.S: PtB^ Ml C rmriiaf, iv:u {tml 5-E-D >iAy'-^ I « FORTRAN pipracmw. Sr£-0 wtiow :d diH. E-D TNi program bAneu^atU m mwrThpn, Vflrjen I.D.E-0 hnVB CIomWB JTifTW N*<rf>KX*S HtansZ F^etDLnry pa.is tai i SCSI AM UK73Ufvrt:^.w*eni.iM. E-0 Eicnr^'for wHlingOOS raan- dihraqutnr, Sy ictni^fightbti Pr«»r<itg»B:M«YitCU wfflJw. S€0 RF|>ti«d(*JtnBnM»ji»iw. SrEO pQojql ciVK'Csmpiar gficmnrnt VU ueanibiyaMk. SC-O Rnrg unai/i! of ftw tf)K> m vii drrm. S-E-D mtf QC'^ rrmmiri Ml iroigrim. ^■O RwvJiVffvntv Krtan.S-E-O &lp^ tyng rt^r^ dKTia S-E-t) Eaiy My tt M pmlw cfatbuM Smplfffayticrx] lyojidm. E^J UptMKJ CEU lUT^EHi ol p*dc*t rout^wt on c!;#L 35. S-E-0 UQTToryreKJsntKTBCmdLimp. E-0 SiauHUU BBS fjrnvn, Mtaoh 1.ES. riidHtfinskBT 4rCl! Sh»*M««i]irfic«kJog^fCK9gm. AfrtQtSfttl &v9Hir«kilJiBn^idlTne c^wAv.V^O E^ 3-0 bouncing tni\ wlWn in UiItiFgrfi, SO) TctmintI pro-am wnign I. A, £ AntffwwTienBl&rUf]. S£C HVX, DCtBf, i OKSTOJ ukUiUr. E-D Vi.'eus bg tnj Bikrafe m^fticDrm. ltendi£i5'a^ia«ndBjncl E HvubroMK*«ft:3n1.1 E-0 aipftaiJflnariaOeiJtM. E-D Wirt W^ sf Fflruit'-ffl)* 9iff»>ffi*aAS*C IttqrivvfiQnUGlDeltwUoiiONU&iia Soun rri ayrptjarx b«4*f fv AniQA. Airr6BX a. Feegd lUlMTast Nut ft/llf RiyTnctr SnipShK Bamxv OuiS HftiCate VHnMu FVllUtal RSLOMi ATCutm Arr.&h Uktd wnbW. v1 JIA E-D G!:1>0 Brtbr*;^erKigpr9gfim. nC^-E-O Corrnri PvpK*"v-t(»rn<cDWiD*ha4rtfA •Oitng md tiNry D inr Kf^ilcilsn twt uMt CON, vO a. E-0 F^acvTwnl ctrnw rxtnw, m C. ^-D DKayt t>t Kr«*n bt ^jr M. vp0a to dK&6.rU«]Ji-2.5€-D D npf t)n rr «rci Y frkfrrwml bf h»ng ffwlia jt ^wn-wYttjbiockt, In C, S-E-0 0«ngMtMT]fpBo!'>;icDr\ r C. SrE-0 -naJa'niHftniC S-E-0 Mntort prMnaM ^ pi0«l actvujf. in UaiMm poinw mu t dfpqai dt)d(,ki C,aH) BroMAt Kflikn tTuOLrtl, ttm TiBnucfernigBiTW. v1 0. nC&E-D C*T»rrta 'NcSonri En(|jrw''t|ip» h»id:r^« Vo^n m^h (!■■. h C,&£-D Hint proffi-fitu oams^ntnii muntHMng vx) ipwlng m ■ pnnkr Bpoiitar. kiC,v1.:^&{-D Vie CoynaM4)ditkiUnnW^.bu!fanr,«t C.&H3 Fridnrf.Dt»k70 Th« if I d« gl ^ivwmJV programt frnigiMonrty EiplofiMttvtooflhtvirnin.vl.l) Are Sandvd fiit ooiiprtitai md tbttitn. v0 23, iporafM&OOSvSS. E-D BiCkBHk Prwitbdokfto^t/fi. DoTil kTthOon-d-Pwvn nv naifujlBbf progrsm,vM). Qtmffl^ftmt QimcDtpranv^rLpttrdttKihheiaivl.D:). Jebt JVBrrtsi UKf urodKB Q CU n) WEL vZ-^.^ Li^Sd 30MKfewsin«sit*cciiCU«- Frtgi bonTjrpa UauHO«& Sptid iJ^ LOQO '■'■^Bt iftvprvbr StXtf D»ffi*W|mw«fB',ii1.0 vw ^A Fi>«n#ipi,t 21 Al-fol Mii)« u^it uif^ T^ JaAmn !rt.-3f3rf:'««i\ in Ci S-E-0 Ar-^ibK prp^vn. lUtdavca^ C-Algg» ttawmg pre^m fli* o»mp*7Bn Jik^ iting Hvcti pfOflfiffi.S-eO Hodu Av^iBSon of tnm*. butwri wiMc&ktrbiiXM E-D Comm &wtltmiinit pr«grarr.y1.34, EO DUiX Ubi*^ taiBipiijrfifl li«iyrtm,E-0 Fpc Simpitf imaQ9 pnKSSiig progwn thai opffiHton rFfxarta. wifi imwii Itaft, mw^lnfl fn^^. E-0 tgiMi MiMiartabiAtM.vt.2K, E-D tin Hntkam Nmfoiffl Two naw hyitt; 'ihiJtlB'. ir a*«mnKonj« •Itnwthiffl. and \vtiS, a PC-iiU farrt ncu An AnfliaASiC ai P»fl pmgrm- PtOtmt DBnootfWCD'rntimlproaxi P!rt#W*W^Yt,2, BuMirMlMlof cjrtj^n wnOflBfj, mrji, vxi QIK)^^ SpniSjCoraiBamEiyButot, E-D Rol Crtn> ra wr..rT^K^ 1-0 Dt^wlx. vO.5. £.0 Tn>S« SA ST'i *fln WBr«3intf\, E-0 fnoniinnn Th«rtlOwo FFOCUML flKfilM)l.>7] Omtfut DlBrn ExpoH Add Cij»&r-izH*i,iii5(Tjgi'r^r*ifiai(rti A|pngi-k«y ■ho'^,11. Aju uV^OM \/*r. ShntMTB. n C &E-0- ALrbbonOpan FgcitM^ctD ttntgnginouBt hu aiLjDi»<ld*d<ar«. hC. S-E-D Do GtfWicEaKd«n>tfTbrb:acod>lQF oparing JUintL gtttFig FnjDCtaro ctMnntt:^ir|n^raneui«p*tier«.M:, h C&f-D Oobb't progftm. h C&E-D F^nbta. FafrognmniaU* lirmnri fFOflr«nv1,10, E-0 Re-VTcngHnrKJamaaliftcE laatlfin* fixd of rrwHj bar gad^ an «fBBd. h C&E-O. Scvii 1 mi at, conwn to c«jrii pnntaba i»ingi.C.vii!, S-€-0 ■Long Uffrti', fji^in *mt» mrm el FF pea i^<fiidi aueoaa&Mj0» 1ti^ gi n faiwi.E-D UagM pa Fir dc^tptrt tt«r «niaund« of rgn-uHi h C, S^-O EKimpiatDfnnVctbngpvlWpan wti nvvm iRiMd dH tw PAfl : Mk*. I1 Qi<ld-4)uhm AjnaacMOround SfTiJtrtoft^BKi(sn<liikG6,run* program ^o^1 ^« CLIiiMirg rw 0.1 wndwCdots kiC,S-E-0 Scr»ndyY.p uJttf^pdi* Ff 66.E-0 Eiirrpia Ln**i':ii td«va ^wnjtoi biter* hlLrton. anfipMluaadikarBtit n pmaad. bCrxIuMrrbiar. S-C-O RirtB rrt] Aovl *)nrn ho, n nnmbiv.&f-D 0«) GMnrmmarconiimjasVl.S.E'O Camt hMrcapfe^airfKprvwdji^pciaairtf lExaattoeiv map. aifti^xmin PWdulwi CS^E-O On* SnptawrsrWYQvRMftMtar Ut Lrw UoumM PlCU ftnPKForil Snip^ot TypaAndTdl Xptar VA»Qpih«}(»w.¥£O.Upd«ifFH. E-0 Firidt An<gi6A&tC v^ stca nAti v lUdd-D Lan TaC vrmr^ pta^'m.'r.. \** Utvi Vncya'.vl.l.LFpdda&diM&i SrE-D IMwnaAe ScrraCB0ufC«iinr4«nfr,£t>i wtOa "ttM^W tn f«curFWtl]»Ktar|i. S-E-D nCAO Otaacl-oranM(lraMf^prag.«1.U. i^b b FF M SfwMw*. E O RmJorn SnnpiarvilorrLrvuTibfDWiter mC S^-0 TIMk^ ManrVNt davioaa byinbropcirq Ejvc S*^DQ artdOaDQ waan,>nC^v10, S^-D Un^ Conm^naaauwrtwiardrtknnturM^ [Tdy^n *ti^Mf opeoi. n C; &E-D dnarifjptwflito', UHil>iiiMt!csrd>. E-0 FfadnahPihTa Basv P^nthBabarojrfMpeirtaand graputart)!. &E-0 BSpinM RffwfiOffJini^ aiibav*, S-E-D Camm CnxcatorCcmmiafiTpnalpogiaenvVSl &-E-0 Copy BtftKtrwA'wvfamrivii irVO, pftanvt* <M», In C, S-E-D Off SijnpltUifrinC.&E-0 J)M2 AroMT DrUll n UsdJa-Z. vl.S^S-C'D Ban Fajti^progFammCS-e-O Fd Futir¥m-inCL&£-0 HvdCopy SvrilB i mnacrt^t cf 1 CU Mavon to t Iti, in a&E-D UouaaOtl Updtb t¥7X. fc/m critfiieuitpainw, S-E-O Sofern Char>gnffvfgntnt^n[b*n;/i»7«*n. >ZO,&€-D SpMODF Araow tut idy". m aBHri^btaf. S-E-0 Tlva vt c^ixs 1 ■nd 2 fff Otvi {^b/i [>K3 dst^^b/lon lor twAmigt. &acartacgr:^o'«d.t>LieLrMlar>ojagf nmniKBr! 5( bo^ C anfl PMCJi AMirT»riacattA.rjOa006 ■1) ^i/^gr .a BJ|X1«1 B«K,ratogvttHiri4:|iH4rtf 77. FfriFMiPakTl CyciM pfCMgftna luTwi'.vVO. E<0 EOfcIS Ei;*fljO^Uan»r«.7a™j*bfgBma.E^t> HanovlVrHPi WsxMtirot gwclor w?i vtfrad piMlto csWM, l^d^OQ p0i^ pwn, v!JO,nlikmC.&E-0 AaniTo«ia CLIlooia n •namMi:«tfw. tMtfl nwiM. «aio,tMny;S£0 QwdawmrriiilplanBrTW'^ r C. S-E-D Eiarnfjia ol « d« h.«v^ Ihtt uiowi uaa d 1 CU i^a n HflB) ptfl. InehjdHUuK*. Ai^tiv: SlnvDnH Badimca pnnw output Id & f la, *; C, S-E-0 Am^aDDS 'irrfp' rtfdacwTwrf!. in C ind auoflibix, &EO Ramwaf I tsM vid Itt rvnufcvi^ m C&E-O OapiajFitfFVi tfwn TDt ModJa-Z cnmptH, &E-0 UpOik fe proean pslwl profgran iom d.iM 69,iF^C&E-D Prag^amttf *efigtfadrtv*iap(aMni n k acrp! Inc. S-E-0 AnAw "ro^^Tiu mci hrmear. r^ C. $-E-0 Find* p«»il a*, m C. S-E-0 Fef acnpc^ MU aqutsen. iffiap* YiH 0[««a Fvtuncada h Harrow. S^-0 hftt pr«« avtlngtV ICTWP Bts, «i C,SQ} Eiarpia. viand l&, ^ C 1 juamtHtr, S-E-0 Taak 5t«« Cr«ibTa*J}aunElaRC.S-E'0 [)m l>«Wndaintfwnvl.J,lnC.S^-0 Wb brt WuanFvadrtndmnoAjat, tf'C.St-D FfwlF>ahDmcld {aa* Fmd Ftfi »&] Fnd Ftfi aa has M«ri wdhdrwrn du* te opifn^ pnGfMTti. FfadFhhMiktl haHtrtW Cmd USError UanFVDc UouRBd PirTiali AjvyAny Vi.ra of arrvKTo aiainMr Shinlti fv F ACC wntow aid maw« rt to twbM* SJojttxr FFbnjtnaiOfMcrDTicifnboit Crvdu cVix^F* 9t an FF Iki CiMV 1 4 updM FF74 el 1. ttm^a CU RifiKai csnnii handct ta add adhinQ and h jOiry b rrany p^amt btacalJanMuslartt V6.& e4 Tm ton progrvnming lanjjuaga FrwjKf«ivytxwd nrmouMuiilpau M'd artowL hacA cnatod iron 'hg' SmuffM an FF lh» Eacn mouB dihc bacomaa 1 ^ratvl FradFhhmhB A^wtn F^elTadaaatfCmMharandVyoMh garrw ^^-50 o'l a ktKsrmurxjfioni program^ wtf Bcrtpt. p«d«. bMpi. annancad Cia raquailr Dams WBono! OahJ-D* tflpn Caf*^ CoaftSothvara Von fti* pfcign.-n tv Yamaha QX aviaa (r?wuari. i^k ta {f (H » VIJ) (rf arontr DrUBi frograFn Umfl«>a»La rmi icDna l>wwari un pttft jwiri. V 1 .} Arittvw Worfc&andi hach, pia)F» luw LnM Grna gf lanM toloMflg iiQir pati^, Ffrifhha.ira3 niaifdiCBrABniidaniotBrvDno'TtXt'Om NSqufJKl InhmMtoinianht, arxj n pr*r*aar Mr Qftf)rcii3»y br pigaa a^m.tnionif aamar rurn^ar^tbFTtianprwtdKf. FfadFtthBafcH AtAuTDOBAogrcratwr aobP*Oi%J^lkj^tl^it^ Wind a^da BHJB OwiipvinaRVMn program, V1,2. ipchtonFEl A«n6ah Aue^Faa: ftuatwa Cenun Fbnta kan KayLMk SeaiGEiptfy Tarvat AmJcTim DED-Ovno DX-Synffi Svxf Ed ^(laadbr. btJv ta lim W. Bakdl on M tf-b! in SgtaHn TO0IL Grafftffhn Ganao^^Lnev.i.'iHardbiaAheiat, vIMuMantMifilLTQ. Hml^ad AdOibE^piCdi^btoaaiaMafBr Xmodam tv^anaaorc F^)#lrictor AnVnigarospipadwiQaMtKhBjpporli rwntdpfMtvd tapi. V1.2 PapCU VlOota wHi«ytoimmJ«tCLlMindew, wltaaMn Manhaf.updavudiktQ. RaqwAr UpdAFF^UaraqueabramteiD DPBrtL Scomavioa V33.1 Ei4i>novTfaUabkii>FQFgaSCSJ Vmoam tntar StfMnb haA, malM TV-liM i3>ac on KTiaa Parody FradRthOifcg CA VlQi ji Dflsr^ 'cs^^-ilu nd Ftoflaq Seurat to aWofiI «• rwvanar Kda HdataipanaififtirwTwyfeBTipro^ani ImagaToBli Sharanin took b rrwpuialon 1^ rragai LoMilani SarwdtvadlbFxrytiadifilawflwrtiqr arluaion; plots A i:r ptoting progrm wifi iwica, R«*IO EunnptBotaarbrtgitwmiodaonitandafll npji HeeM L«^iryLand*rtofWoFli&a!nen.iHrvaeutBa. VUora V;iora'-l.ka kxt vmdfli^ jWy, vVfl SE Vnawi Simpia Um nam nadar, EalfiitLiU_U AjiePoiniAjtt- aata c m MrKfe« uridr nt fihmb poJnto. Mtt ft3«ntav«r. CtciiT^rertt Doutit^icimniandQNbnngicttol'ir; Cffld ViapfBtoattatadrtapnnWAfpmtoa fin. FialBQ-OvT^o Chm&s'SsbiKQdFMI^, idaaiiua rrar^agar am ttKJvitni'^tfUtM. FradftaHaifctT tMSf% DA Otw Dreffihadm Eib hbmWik^ Advwmniynm Vgn Byto Uay ^H7. yl.ZE^ FootiWorhEand^ b o«indcii fiora.V1.2 Conw^ FF *iti 3 PiiSCTipt VtH. SED faiUaovaz^ Cer^rfld^Ma Ecfw^giL an vaciitri.Yb rana^ rpulhB.'xIa'.vfl 4 UpitUt -s diife 75 o^UnHiiia vr. S-E O V1.27 a1 Dion's »xiad-T>F,4>da«FF74.E-0 V£D ol pfogranv tifl pAi ahadcraa on Worttientfi. SmE-D Sharad tiErajyaiamp^in UaruiC. An AmigaDCS dwtos >i«>dtr 9flrw«a urkfue Jdantf^eri. V1.0. S-E-D Anornab AmigaDOS 'ntlair prt>(Fami,S£[> Wiititof iQ* maFnory tfatHng. V2.0,SEO Utftn p^htor to ^Mn iDccEGin, S-E'D iHbM Mt^H b gjvan IscaiDF^. S-E-D I^Ktiing Squarac haO, S€-0 Exampft *WH Bit u aaa If tvii I a 1 F AL natfina. S-E-0 GsnerBBi FmdOJTt eww^, &€-0 T«iU£Kpriniardmw Eirnpto of duii-^^rtod kiwx ifdtto FF41.&E-0 Faatfednnbmg rwArvit S-E-D €JE»n0a FFttioar, SE-0 A *(• BfiSnar Ha 'arc', n *iA. £ O F-EriRafanit M laaaFfadFtViaai FF Dtt K hai QMni«re«M dL* tt COpynTit prctiarrB FfWFlahaia M trBfleoaa Fcad R« nj Drliaikf OMooogjtfn^VTi. V1.O1, E-0 Fi«K«if ^awma.'ff txoart wy aoiw, Vl.ffI.EO UFF-Dkteo Cbnoaf Uo'oFiSiQFivr'tJaaeaaapog AdluU KTVon poB:on « Piy) Brane n .SEO Sownengtq'jgglyiraadaffd. &C-0 aa*an cDrtrtpton i*q,Mtb> mptrttnmi S€0 QapkyHKk S-E-0 FF«d nah ai^jHI^ (>*piaatFr«dFiihn) AmiQazar HfTitiky vww of 1S73 atart, aatdda. fna,tfar. E-0 C«Fia AnugseuK«TJflianidy*d E-0 Conman CDn»tthan)iarnf!iacaminifrMt£r« edtVig arti hiAry to ngit p>eg^ rf.lOf UtnMVrDOTi S^i^otittodaknUanWerol ETOgiT, E^ Hepiacarrwna f&r Inai vtf bona dantoB ^e*k*laHCnJ1rrM.E-0 OamaoJOMflo.EO OqMiyitoilfftofliinr^gaf»0ixipMaK. FF d;apky.v1.2.E-D Automate prtn*fdw.parwabF^v22ttED OfiiateitOfiijiWa batMrop or tact EO Uatceavngi«-iVirtf»FbJ3tarari bring twnmonly tpad OJ oDmrtBrtf'a.kuitgrrv mtenk E-D Diplayi and prtnV tt man of FFpkbnri &«nftlipnniar{iu^!(tf<««. viA £-0 Gr*)*;icB*raM.v1.7.0.EO SnM WoFtOnncn tnw wirti tnta and %l miruto, EO hsvtswB* bo's: 1 nafno^ aditof, FTwnoiry dtasvnbtor^ ASCII cMj; iM cakunr. E gradHahP^fcH AdwTLn Dainrton Lnguaga (AJ3J t K^araM Bf an ote Itrvaga oM ca bgr U»« l>t>n. Ow Kortano, iMttmt Str^.. Brjca Jbtor, and Win*n Usi. AOL ACLcorp^,rB'pr«ar, ircaeQu>gg«r Braraa C0fflanHbyA)aB«tiU%al33. CUvv^vNr^.tttf^ [teunMBton ra w^attt twn «w utVBt. UovaWndEW Uund^hgSq FVTH Sc TMi£9& V«OuaPF Y«t; Zoo SownShrft Snaka AunEngjFW DvnoLnion HawOwnQB OM(o F¥nT«l PnDrvOn Rairtianch ShonAim rmar Twia For PDS orders^ Please use form on page 112 Amazing Computing V3.4 © 1988 W9 Frrin.h[>f»kfl3 Asfises Bet*. HunhPtf Un parWM £{02 UMm^Mr, C BLn», by J. Vtfl OrruT, AiTiQtptirTCiy JmI SmitiK TejctpTKBiasr y^aa tan FF&5 hEpirad by UNH iwiK. SAL-ciBi f ^ tor pittemc pertomi pctomtxwdDnpatwnt. ByBobBrodt; An g a port by J 9fi vi VV<}«i updavsf FFB4vw»on.byJ. HtArihb)i,f}idtvi objioctfiihat&ArTitjht^Df t28byittfDrbMar madtfntrlrii^, SE |jk4 Unix 'mort', bats»r, wawi 12 updKta ol FF74. Saolli &cM arW I tfwvd. S E by M«k NuOOli^an, Ani^fMn byBobLaiurt. Lian.-y Piat inpt-nffna Bt* iBSD uru dl" BOBS roulrvs by UduMsyw. S RtCtj^liw dnarT«ip>»B;Dn pLizv. nmpubl, pnd prnt» npmcacnt, mdudac twandonU \inctvi support c Scuca tnducM. ^JOlun Tw4 pre^vni u Hdi and LJipaa My^l tntinw !ni:jan C lourn. by f«IXl<in 0. 0/n fl }Fn«t rnci-er Vi9t.lb itftioaTvt, b«^iry flWy. b^BfycBtaBCffl EncMoJOKStt &twy IM tW a m*1 or toxt-onty fc*rqL*. com pedbiff With tiHv vemv-5, jSuj ?antptrvitt)(iibar wian>Qpaont.ayMirk Homn, ffiodrM by AJin Aowml ind Bryca NattktL mi S\H SmtlCb UUencDM Dme ViHilon 1.2TW¥SHYGpo(jrmfner*3i5Br. Hot iwardprecDSuV. hdud4k«ymiippfn{|,{Ht pcroJIing.tlHina OtltCI, mJt|M WfXJows, abiitytQ<cinii^wnifowi. UpdtiBolFBT, indLd«ujrcac«d4. OyMaaDilori hleraEmact Vsttien la, l^u t> f%i tn^vcn Rurn. Oiig by Dtm Cwoy mullptt mod ^fftans by DvHlLMWVi FwJFIiha^kM A;^9Tw^i Dtfflc p^ogrrrtf ofn ^b Peck'i Ji/y/Augjn liSu* Dl Arr.^Wond on locioung t* tud s «wa. V^updmafFFBl S.OyRo&PKii (SdilbFrwrl Siniitf in Krtaon ta CdcToFronl: grpg (FF9fi<. ertngMinCQMrf tT^entbyd'ciqng ini/iypiJlot f»m.V1.a byDwMOrwrHEi: HsCbtUauH Autamidcailf idivkfeawndgwvmp^by mflwng twiToui* pointed into tn* wndow. V ID. hdkKlniAjfCB. By DoviM Carww FFZPs Convtfttny FFfilsti poitiaiptlpr pnmng or tHwng an i pcwtgcrpt aimp«U«d«V9a. Vvft&nVZ; by VfiUvn kbwn ind &•.•» Pioi^MaE H(xfLiiTD(^i VidouB Moduli 2 progiiimniing lojines. byJa^Hidi Tsi7ar3d PfOMto-rvrJonddrtiiplacwy SfBfWBW, up(J*» d ■k', FFB7. by &ifttOr*y.Wt¥H<5mrdHtfl octpul U 1 1^ i& Ciftijra pnni J ob«, d«bug 0^ *crfftr«"tr"^-"Q^^ By C Scj>«p(r*« SE mulep^ftt. nultpM totuwad'ur.indud«b«na ae of Mr^FXP. by CygnysSott So!Nw« e Gonl 'GffOubMyFKa'makHtw&.ru^ bwiyu iJlowclMrKjp&ahiiitoMnnarsCleany V 1.0.byOirsba.-i Ji^hmon E Joumti rocor<}9 Kquvm of mwH & 1vyQ>oa<d ViVik. tioivd in tfita lor luture playback. Goodfor ddrrtotu{toajffMtrtotAt;gLE.^D. CfKVono Uergditom tttampttrrwi^ngoif MorrUnentrMol svquflntBJIycorThguradram bovdi.V/h<n fucnn^l. tlowi tltocat!^ i tsoian of fflvrory **iim spam bot boards. V t updito of FBI by Cft-o*yn Sowpprwr SE PH/lt/Satia AjE^nUtD'Cnid', tRoMdw-aoncf vjpiJl (toUinM ftf pnrwf ta a Ml Brttry sn^, Soira wa.tsnB4ion.t7irA. Lmhr:i8>J4JfiiFgMt RDCO>^-P«^i!y vtuiti la 'J&L/rwV re«nl> and ptiyt baA .fReuHindlurybairc!«wn3. BcnFy. toi/ta FfjdnahPtakW ArdTPiyor AnimiEen foador and dcfSayvr by ths cornbinH] rforti oi VOwKipB. ScUpIJO. Shw. Fwm*- h-Bi^L ard AnimatDFApp«3CBby MHBtfvai:. ChKi ItssnetpgrHAmigiprtnorvArniga tnAftBoa. High piayitii:^. V 1.0, S. by J. SanbBCK. A^iga panby Bl \Mrm HKMercfi prcwioi ioun fv WQ-Lliaprog.igr empprni vitaoan & vAidailtfi of naw intBHiKB idoaa.KmaWB'epi(OTn»rtt byBJ!«no«i*y Label Print labdi Mtf^ ait^ny tttt V 1 .3. ^ount Bva^atM fiqrn A.'lnr. U.Ha.nHn lineO VMT Ptaducss Ifwdnwngi based on dTS»r<3 arr.T.lLlC)lltor«dinae<lEla. hdudflsMni tnaldrnn a-i ouhrv ncpoftinaUSAand Etxto hortKi. Vl.a, Se. bTJohnOwfi ?Df:IJt>Umr Exmfi«cad«Efrpi4mflrtng pop-up mcrus. rHtanablr coffificGbta Mfi htuBen fn*nuL£E by 0Br«3<. ZaJv^ TaWMS Tokton^ iWSfJfiK pi^fl* tkmt. SE. by P Sfc* Tjmea*n FaE ertf Chip fam Iml p*ogJ ty BTa^tahasi WarpTflsd Fasl fext iwviBn^ rouinfls, to be luiMd wti jppfeanitn pfoai^Tflfl duf^sy 'a toiof lasfcr tian^itl-.V2.0ipd*»JfFFB7.S Sy&IKsiy F,;yiF]ahDllkt7 Replaces F57 for Cof^wiB j:rD*l«Tii Ct/lAvPasta ImpwTAitaontotliniifcul ardpastp wmmaffli, t»f John^**iJ GrapiR FVogfin U plat imp^t Kn^ona ltitv3 Juggv V1.2ofraboijugg*winMaa^- Uie«H*H mM»in)ny?a£i^ byEncGnhim UtMSsReadA' ^mwBpn>grcnbi«id«jctfi«&nwl7 Bk utny teif tw moiaft by Witiwn Betz Spfin« arvr Pn^ Id danuHiaVtK euns Wng A. ran- danng MTtnquH. &y H > i fc^a|lj^T«j»n SinpMfrt^etdafflo. voaiinifitolY 'bmJaltl^w moSon (r( >vg i r r tef a cPHg ponduiuni. lndud«aSoj'i»byOi>ia Eda FftdBtfin*« fcoau l&c^wnvninaJprD/inbaBdaiOomrT] VV,3i4.lrdudaaUKrawncfow,av1orr gad^Xcsbrtad rrvAVti V. BotaO.ia by t^ti ¥our>fl .oofrn by D.i.JafF»i E BsbctJp Wrjka M>(jiaOoi tSitlfS u l^« b«biup EJasatv oiofL recover ft« from ^etndusd A. RoqjiBsm KiuiJ c6flC*oni on (Jsk BtrudureL by Win Ksrtt SE OCDwTio DitfiC<t£3^a{}i*ua]agpF9gnm.ct»ro imiied tQ cOiogng 109 Ktea at a f ma. by Ed Moid.HcfoAnSiifEwui HdOrwr WD-IOOZOS hard dahantraTiflrchiw. Card eapafei«ofrRim«:nr^^hirddciandi ^Kpn. r>ad^iw«c&cattaol4ftyone hrd avL by Ala.'t Ktfn SH) QBkh Qu(^-BaM. a "MafSna Ua,-vgwTwn ut'i!]^. M^iv nd ir.arrMn t maxmiin of 2tH raoiF^i p«r I^L By Kn%n Karri» E Thai TlwJ lang-j»ga qu^ pr^Qrun. Spnft « ^pa <Hi^rBhn'>iai HTiwicaa tarn aupptod ila. by AtanKwnSE ftadHahditH A-HandBi Vsruun .JaHay- tfacrgConitrucloTiSinfonha Amiga Ctunfufm by Brian Road ED Ffarfntf>ndk1« aaraark Mun w* BralTa1»^ by Uo Sctwib Conmm CooKla nafidwrft^Bcanant proMdatlirw edii3ng trv! ccmffland li?w Nsbr«a irantp»*iTtDa;p'c«lonprog uwkCON; imtona. Sha.'««A'« V!.a bfWKnwL E. WBUndw Workbardi ditplBy hachgna. upgrpdf 9^ •FfcxJiat* on FFftS, nawMfi toui0aft»ctL ByFWWdaS'vL E CrRana C4CiJarF'am>o«wibf ^ VIdaoGcapaSD. GarWrtlBiaclOdiiMiaa^lvpplyganwVi tv ipaq&H rtjTnbar of wia«& Vl.Oby Thaa Roryan SE IcsnAaamMr Chftn^WaUandikomMti FF-bvih llietby@fefviljndwil£ hhn^Mlt Standalona ipollng dwdiar BcanBlBit^l«a a/d ftpant vnn. 1000 common word list. i3.0Q0 word nam dclona^ wiih miitiM ui»rd<lionarYiuf)f»ft h«ftK«iw4!h UtaoEiAKS ii fiti an ecnKsniKJO to Ap 1^^ough the i3i/»fia, tioppng at siKpea wordi anl ^Iwng 1^■ Lrsef u epten. WO byDanpeCUxrarvz.S^ Itldi m4i library antf ua'-ty tet hci«« Ud> momur, njj:ng \,ii'qf. nu uStiy, and moral byBil Barton SEO Piktrp pDiftcrpt k'lVp'viBriadiiFQpwwwii niaa an aeraan. t>f Grag Laa S(auy|E StarAjpt TiTfl»Citart^li4r«pJannan«iir tandani AcviFexaO) and L5vup.et^. Optoniirduja (1} BrtiS^Brtupob. iorVw Woritanrcn pijya.Tii or CLI progrmawfi or urinoct command Ina p«amBari. (2) WBSarbi^.otj,fdrWcirkBerci projrar^saf CUpog:rarr»tb>1fa9k'i^rvC9'TinandJ:nB paramftoTf . (3) CLIStBitjp.Qb| toF CU prqf^ami that roquie command lina pirafftawi but da mtnaad t^ ba WsrKBtncnornabtt. by &>« Hafbtt SE FftdPih^^lBZ Oxj^ MachnandapeiYMntmacnDaisdCdit' bugigiT^ paiJtaQA UpdUB FFii.byFFih praflirtg suppen by Sf^ayaX Sa.'wiH SE Mltfl-rt/ff Ha«vydurf»t!M»nnFtJingCyfl, i'duHa mmpi« rnxc^ tatrv^eBnent ca&abltr. Bf Piia Gmosw SKtorana R«cw«r ks>t v damaged data from loppy or harddcktor r*pa^advnap4vdvi^ia. I>r Davxl JofwE SibCdn Smin rpuilina nHrprt virti HuvJaw for h#«dnng. Upgnda FF5QbyPGaad«v«,.£ Uean U» icom Id carl up acnpti containing 0.1 commmda, vao upgrade of FF31. by FtlB GiwOaveE CprdHtf^ aril 103 AvItfBBa Uerarypri^UHjprog, implwwm/CKJinesTor cncGng and utir^ taaahfkl in moTiory.S. Ca)c AprogrvnmaUaRF^eiiCulfW. Cwf ACcrour«<.pr9g. S- [>]ri<i«k Apairef progLWii(Aiiovi(]nutoi*v«llH is ona or r^ora nap$Mi iic qiidi iMdngi Doaml ti^ov Doi forrRi:. htuDoi ApfCQ. TDimprQwcortfrdan^hancflrigaf TvmakfiaJsfiafldfkiin CU-r«'. UFF4JpdB» Alwt n-porl yBL Iw K*ffDFic*w F^UW-O onFFBB) m^ vpiem'D worm m ilk btiarydaitbaMi Pidt't T*at tf HM fw !^htt and &j%. on a d' A & pacMi twn mb a vngta &la. fa^ mMam. Sol A.T^ varum ef ightarv. Andytcalc ItalaAQaandpoMrfU ipraadahaM png. FfBdPahPritlOS AsmPfO^i Wise BS»frib*y tjijli. kidudas wm« S. ^scPiog? le«£Sqiiara Bok«si«ail tQinra frttt & giaphi rtrJii. S. ann AraplaDimintfer uni ■yKC'commrt. E. Chiouaa Aruhar prugm V« fK^on of dwfimf hacka'.S. PamKaf AiowikffyboirdandmauaarpLnitiba bcMd urel a patawrd ii aniowd <SiVf!fHm Gamv of j^anas^iTipa md bMA ho^n, v£t updcBDFFV. Pa2C Av4. b aria i C^angosfbiilonfe mnic Vw ^nvign poRtsrS Pera-ff-fii El o'aMtrg£ucngreenan'pn>caaaaa. 5. BscorflF*a0By S*flliaft»'JoLfti»l"^0updaiBiaFF9i Ff*dPihD(*1« Furenay Shwww OrvMn key aattor, vUusdati »FF8S. Souroa iinl. fom ujtvltvitan Uahj. MoivArl Aarnil loiaciJDJiotnma Amiga artaiTk. 0ui6tF1iii An FF iliMtiww a;id ad mmtsan p'og.vO.lS. RsiKolla A Fimdn gima. Alio colled Oo-Uoku. vl.O Fr.dFlriinifctn^ Ct^ VZ.C7 of Mffii Dlton'B c^ like ihaf.SL on Aui]l.,Bmi^iarba?weomrni>t "SifTpiagirBrTttS. ProSuts Ekita pr^Moet ex. code of ibalrfn nch aa FitIO RaquoAr. XText DoReqjesL &ijwl« on howb pro^tn tv Arnxga. Bdok 1.Q1.S SVToa't Sara uh(J 1ooli_ S>. FradHihaatHl ALS Dr i«y>Q p<^ buad on UM ptg S QrUiear CM ctMOfiar. vlOb. vpd« ts FFBl. i Ddia-P»'%cl Prn»f O-war *jr an ^fl MXH p^rw M«l i;pgw)a^ inEflli«d. S. UdnVXUP Lffayoumortiurtrw lR!uMnaag«a^ctp>■ mriiufh m DCMPvrndcML FVi^:31^H menagv dat^mauaa coordrik^^rir^ vatMa. Ova! tv dabgjjng S. PrinlPop A 1/01. b larti coTirrson co^ol aatlngs a ff\a PflT Eaaorama UiJiwabFacovariiixtordarraoaddatafram floQPWi & hard dic^. vl.1, an ijpdala bFFl02. Tak VtlOO amulstor tv a Taknonbt 4aiO/4C14. jV2-G| updawuF^SZ S. Zfio Fda tfdi^«r. I^'rc' vl g<&updavtoFFB7 FftrfPri^gyi^Qi MaArv A r^ew anmBtwi. amCPU ACPAism.titij8et&0e0atongiirfihl8 enuatoi a tAlpc HKk'JDyi}^ Ar^igau a idanK roda. S. Frad n#i nit IIP A&ac A eaCOO aiaamUar *mtbn n C, & AdC AnopOrriivngCcsmpbarfortwESCIinprocasaBr. t pd av t» FF51 but not tUBd an tw ead* ai( nt ditt. Frad FlaJi Hih 111 AftyLoad Agrapricaiimonttrofcpu, bKBr, S rwnorytrtB. hdud«f Wro CO rrponoos ; lo a3 .davKB. m VEibrt tynerri par«?eiait, £ smyloKJ. wfici ■ t\* uir (nSffara & diEpJpy program, by Jefl K*l«y SE AtvgnOvi' Atpgrii muhF^ nam« bi a ghwi OwfcerfflodAad WMn «! dv ori^nal nuatadd on di* nimbar 79, ByPhii'pLirtJtay.modtvO^'SatHSlSE flaijga Conl-rueuBJy c^sOsjri mfrnD^y usag« bi a iwbc^ bar gripn Bnary attf. Byf^br ira Sha HeliaiUauH Araha''BJiim3uae'pn>g- AtftanAcally BcUvftot I wndow bymoioe porlBf V 1.1, LpdEB tDdi^ K ByCrfACwofw SE Lacali Ato^tbeic & rvnttnC or^jarad ciDa Fa^ona lirS ofw'nodtyitmwfwans, Fl«trvr.end«i br datiug^ngpurposfti tt^Y ua*?ttrpDo!evak^«a in pn»pt' ByOliif Sabart UanMi Anotw murMbi'Ot^wfficy pro^im, wm bu & p4oaaafcQdatramC.Hoa3i&RJ. U«aJ. ByOa! Sol bans PopLr^ APep<Xl!ypsS^tp!sy>b^illQV«fysur>D»an. Loti of bB i pi«asfrcm Tomai Rokkju'attitrit & jDhnToabM'PopaLByOafSa^wt S FradFlahnitllJ BaachBirdt Bitf^ loana portrayad by iprrlaa S wurKi 51 X ria^na,6yj»ir5idTunr>aii flofVy. Buly Puvhai rt opon wjvoni around (^UI tTw nama "hjuy). ShmrrrtfaSianorvMmoKiatAia By4AkaMayvr S OopShadDwr (>opc}w3owV?.0, usewntiBrycBNastiti:^ Waiiabendi{Mmi. B dry BfJtfi UtiAfa HagafOarnot TIGS' & Tseua'. FlGdrHur»onarT^ Borty. BfJoalHagan ViacBrn takalw^vonolviBcivTi'br uaflheo'^ijeianmtll WawBtnchdarng. Borty.ByiMScNiAi BryoiHefM! Wav*6afvii Aneartxr«anhid^Arj^son5i3<mBtfviat.Fer ff^ora lA>ght. ry tn car^^ixaon Mlh '^acom o' Da (Orop^udon), bndudat S. Byfiryea Haibii ffrtntfinnina AriiCrtrt S*nptaUni« 'aon' lypa prog'aiTt.B bactqfOijr>d tB¥k uasf ■ diA-r»derit ia&4a u utornaKally rirt oartan ^tki on a legUr bua. at spaafit Wnw. V 2.3, iixijdoa S. ByS*w Sarrpior, *m»g« port by RckS<naBffef Chit V1.2BfofMfltfa*]tladibf, A(wnp*aWlfSJWVQ •dttrdtftgnAdfuprof^rirnnHfi Hianola WVSfl^Q word pn>caua' F«e3jini mdiid* arbrajy t«y rr^appng. fas'. ktcIit^. trMi4fw luaBci mUtipM wndOKHS, & abb ^ b inrvty OTidDMi. UpdiB ta FFB3, indLxtea S. ByUaQ Dfifln Dori}wEarnpi>DOSdeww>!vwinUanzC Varaanl.lB, mdu0aiS.arJ4ai:Dflon M2Amiga Darr^dtvflnalpndtxiUZ'^^Atevn^ pa»UoOvla-2canpiafirV^odV, Inkar, at?nd ■■lof ifiwfacB S nandrd it/a.-iat Co^rpiJaa any ifflal a»nt progra-TiKby limili^ coWvza $ impors FjinafdartfoprMnjaitnaETHi comp^tfil>3k£d, Bonty- []amosititi Sclkb 6y:A Dagan, C. Kiadar, U. Sc^i^. J. Snuba lAMSofI) Notetr^os cisvipositoninfoQlanyaxi^aiiowi WorkBendi to pid( a nnv piaoa fgr ?« icon. UaaU fof 4fii S dranar karvithare Snap!hal rwrrM SWKon&TwvrindcMrtnfDrTTiaton. Uodula-^ tnotw damo tin HZApigi Bjr Martut. Sdiaub FradfltftDlafcll4 COad Er^iihto C [v^veawial iranriibr b> C oaaaraDOM.ititffits' rTpnaa«capTpoiaWytrB moflharocortC guu By:Grafi»n ffaaa. S W99 y2.7Ei4vt1Kbininaf»mUabFi*inbarmiil imcdarr £le n.'Bte. tvijdaaa^&ug fwspOIK! t» UtarM tfior?y t^Br 7a paring Of vi7. Lpdan to FF$5. hiudw S. ByDa^qWecfv nSUncfer ttpsaalwsojiGfttwWBLanda'pro^'Bm fromFFICa Endng iiunquB. Efh^^iA* af aound, Hdudw S. Byi^Mar da Sitra & K^ LatWibauar FraJPahPliklia Hilar iAiOutjWxSvi ammvaii d ht Ani^M. BaattatmuK; w;Ljratona mag of mvnory U run. Bn A^ Oriy. By Aob»<1 Wit UrkAFOid Ano!har*M9u»sprjwo«ntBdcfame iMtn Istsofi.i'jokfls. S?3(nquji«d.lncLdarS. Bfi*oSti^rrltt RadRihPlihlli Uowac ArBnarimaBonaytiamMnihrBf^ltlinrrt •xa/rpla arvratom; KtfinajikBi, Rodv, & F-1 i K»hnar^i &H9dw nji en a 512K Amiga ft show of o*«tcan HAU moda. hdixJaaaanr'iflanpfiyarpragrjrTi |mot#ifJ, anrr^aton cuidv pitygrari jdi^bm, pibrn). ft avjc^aphddscfayprogran^ jvi^bra). By:Eric&ihara*KertO*f FradnahPtriiTI? AUjC"l>na Aratiy non hor.zontflt aciollr^dama Viatii a 2400 K 200 p»^ 32cQiar FF pxAn compaoad d (^vlowc^apt^DVofman)bart of ta AM^ LHwt af Calgary, mparhmponcf on a vary wda pctFft at th« Catg wy Skytna. a orJy. By:StB(^ Varmaulv> ft sipfwi Jee.-m EiPDanq OBma Vflraion otE^qwM Paini 1 .!., uad to eeaa 0-« icfding damo plcuia n tm AMUC_DfrrnadrB)Won?t[isk. Bdf^h ByiSBplwn Vff maulan ffrin#iffl^1U £npi« Thi It a cftnfMto matt*, ^om t» ^ouni up. r I>acg. d ftafr Langiton'k Enfui* gam*. Amtitpfysr game altipTttason. aconomio, mw, ac, can laaimonTiLPlfyvd «:hflr by loieai kayooard or irTOL,qh ftiodaft.V1.a> iramvaL ft maxwi S cod* ByrOirs Gny, vt^nM gam* by ftw Langston HAUnmm OtplayalinatwhoBand pontivabcurcing around tlia icrnn. t&ufi « a douUa bu^od HAM KraefL T>B YposDoniofffwpeinu an Qo^meviiyMfMd into m audio wBWform thatuptftyed on al tourchaiTui^ ft tv prfch of ajuHirrtoneid diord ii d4riii*d from tie avwaga X pcvson of twaa poimb. JF&rtfv Soirt* Byf^l Burti San BasadarTar^nricxlebyL«DScrmb,hai csK^longartians-Ki actual d«T^3. F%jnaon 512K Arrvigi B sr[y. ByJHao* Qfnt WnOoffio DtfnanaraBt M ArT^iga't ktwU'vn^ lpa«d.n(;n»gnaSl2KAm^ IndudMS- ByjytcDnon FfdPahMaklll UooEUACS VBTmar i^ of Dui^ Innnot'i vananlet DatwOinroy'tna-Mnaca. Thrt)ia.i updaB b ine vafson rafeited onfMih G. Ajte irc£ud«d, tsr M f f E tma, it axwui w docunarriBlon in madif^a raadaUalom. hdu^ioLuiB. lUjIhar: DnaConroy, UAHY enhirwamartj by Danial Uw*noe FradntfiDiricia AmMtM ThitctOFW of Space IrvacMriiienaattf^a baaltreaV rvdil^^lBbtagamai fai Vm ArnigatOdtto, Unikvrr^anycenmvciaJ garner i.Bwr^iW'hu.cffrKly r a muttuskfi^ a^ftrironmani (by ntA m^irtng yeutor9biHtjiitit3piayagim»]. \i^ ncarnnwM) Bnory vtf. I^utw: LattN^n; DavfrooTWia Ba^Ovnmon AgraphcaSBaD^annon game dona Ban 1 0. snctydaa ao-jca. Aytigr: ffabBflPts*- Barkn A«ffnsi«wch»Oi!book lyslam ofirtdbylfka tuiTu' as sna'nMV. Waon 9.3^ Unary onry. Ak/tnor Haf Cans' Egyp*flin C^fi^ W» Voad ™ca + haiardi" ypa gamo. Vafiisn 1.1, brary ar<y. shamnm, tourn rraiabta Irom airihor. ALfition ChrisHam«E Innhiaga FYo^jram to raptaca an old con mage Mm a nwp image, wtiouttflacSTi contypa. dranw dala,ac hciidtiEiXJi». Author Dan'i (^aan Frail nriitMritia BaacSvtp fciArmgafiASIC program tut halpab corrwriproyams urilBfl in etv bmu at Bas£t> AmigaBASKX Author: Gao^ya Tnpal DrfePct A(^«T<w*p3tir^ ^ogramwraanln MvigaBASC. A)an±.ilasalaitiaqLAm cjwftfTogrffn. Ai^or: DaJaHort Plot AtiwwMJvi^grapnffig program iMitlan in MiigifiASIC. w:n aara tampa oupi;1 f^oi. SotfcafirB<at>afram Euiwr. KiVcr. a*t>rf«Trap« Sti'i THa Ari^iQaBASC prograjn damorvtiba a muscsi iiuvon ba»d upon, peicapual cfoJanty of wdefy spwvd tonas whota vdi^as a** dofnad as a anuioidBi rqiBlanch:[>to3Af)reqLjency. AuihDr: Gaiy Cuba Uadt Voni'sn ZSofliarioaiMwawiraBdilor. Hit laainmoda, acommarKl ivv^agv. ma -u cyffimriBUon. and atw l*ar COfiSi^rablity and cutSm^uailty iaawat, Bnaryony, ihanvwe, updtb tovnrixin Dndn,EO. tuvnr: FtotSoH 110 Amazing Computing V3.4 © 1988 For PDS orders. Please use form on page 112 Aip WBColtfa Aimp(*liiS<»pngwnuehtng«v« wi. Kt p-ogimi rcupK; b cw booW crlT t*r d tfttuian ifisSt but ndaie tra rm fram brtiihl UnquB bCLiiv ■ tiK tf t« imiign ind IOintmnpiaorabwt;y?««nJuHr. Sa wi^ kJTor. nco Uann tflSfti AnirmfaclvepLUzS&pn^vnttJMvlvtvy rt 14> irCo Huam b rpjM t piJZM vitf^ T« kav ctJi ?vn (Hci btdc Dgfftw igiin. ^^■vanl.S. rdudBKUuns Aufior Al Oar Nimw A tfiKOMn prsgnn B ovati irtd mintei malmg itti. Bnarf ek^. Ajttnr; Etti* NMon Pi Alftbe uGlilir to prvt Itlngi n dfbrvtt tonrtBH. Similar laihftUttt'pr'progriffl. hdudHisuice. kiWt: SatiuiJ Pioiuaa PuiK>«r Ar«til-tMbs«t]tm«gYgvnt.<rt Uard uftti you gitfrM ii i nw m vf dfadaa hdujBiBira. Ajtiv: n,«> YbK PutMPa Cthv i[&i22«frar!iinFFpcBJ«,irtwri ti« LI Hf can nan ^«a back vgMw igui Wmn r AmigaBASKX Vtnwi i.O, t^mrf only, rtivflnroB, uira ivalibttfrwn it^toi. Au9iv: S]rd Botttn frwlFHhPiM73 AAP undi tor 'AriigtDOS Repiictmait Ptoflif, Aipt*«na<VlM^Ch«lwH*tfi o4 |iilO'DrTvir« he. to nplK> t\» turmt DOSi^tcorrpoitHttshsn, uffincurflnt progriri'MlnRtiuetQweriL frpWo iTUHH vtf^tHvflr jrpnfrwi:! irt p«ublt. ID rcl£ ajTBTT! tni tjixB prog run) «<[ «oA Car TTwvtirt^iiEMn sffMOf AlUn'itrttwtts?* rnHM jotw nalitng to ■ wBil hmwn Amigir^ ttiptnarvi mtAi 1 «trt*rt hif^Wrtd ^<if«ct h«dMnr«fntrutodJi«r. ^lij>V»r tooni SofTM twnpls mirroM cam. You rnlgM tnd fuc! TM Ka n lar MiraAiQM CU pTAgrim ]foiA» twwi maaninfl ft m«k« rur»6»f »iiri r>«Wi>rk£*ivhBr»rinfrTWrti ^tunar: L Ptofl Tvol An AmtgiBASIC pogm witwi by tht bnw it rtiMfOM tor ivimi^g BASIC Co ntan t nma rta g^rop^ic r«id^gn ■ pf Miottvd&Ai/Ehar LPtoct FrriFtthPrtiaa baAgrsLine rnusie ■.TVi^rTwr^ li« wqirm Soni ta UH. A:jhor: K«#iSul«vint C«Mh/ Apa^m tofnintpiiitor«co'ener>pHic urrw] a y 99r - x t*mg tw» o/rint raiv tn u <uu tei, b:wi'j\ /ww oab' uu tram dim 11*1, ariii»K9y«ycMngng medan, Dwioa These lnw prograrnG, 'dsrcr^ potv^m^s', va JohnianEry to tw Badge Kllar Darr.o Contoct IbeyBTVvira&onigifQnviinofv, tut dVTvofwna Sw ringa of colen aviJaUt onrvAri^L hdximrauicii, A^/fW: jDhnOMi HBHIl Th« iruT-eao • en« oif K»wi^ vr«a D ha Bad^K^CteT;flCank£. RaTMlrrl: Jkit^i*! ^m Htft Bna' puda Autw: KawiSiiliw A bb-o'Jina riK auiat kri icon on m Am>gi >?»n thctnr Ew KAMqu-riy (tiOg»din)ijnc],BnddtK>bl«<kksi^Dn. You Ct/t ijm ri* to haw your j^iD^rami 'wany fiamMhffi to tom|xiraFil]i gal out ot tha uiar*»vny. hdudaiKUfcvandtlamo progivn. AJthw: LMScfnwb Ot^ATiga IhaimmiBana tibaJ^antyUfjaBwlgfl Kiltor Dana CcrrtofL Rcansn bi m bt« ba^ jugged by pgfsnidii/auing arvmr lipi. Au?tar: k^.asf Sryt hKi« Th«iupportlb)U'yree4«a bwbuiU wout prsgirnivf Man's ten }» Boum, induing DUE.OIHEfUtBic hdudviaaLnA Autw: ^Mr«m 1.2afinaiArutM«nanpr>7L'n ftam Ccrnnsfltta Am<gt Tflem<eaj Sufpail Thawvonwl tostloTtiapi'nancaiaJa wui hJTWTtfy, flrentpacffe^tthi Brvy only, hffiv: 6d Xofftpr. iZZ Jtm prggrpm if Stow pxl Tarn't sTiry tar tia Bad;^ K^ Damn Cemeft KcmiHinia ^•t till balnea arau<id and muhpfy. hduAi BautoL Author: &k«« Hvh' and TomHira»I Th4 dama it Uirk't array to t» Btdgt Hilar DHnoContoft. RitqAvTviltQrw^liil do«i, and M«i IflTi plua in tta contoti. Etrwryonly. Auntf: UarkAiay 549i4i AppliB TNtanJTvitoniteneaiAJianHiffrngf' ertvwi a iha Qtoga KAm Oon'.o Contoct Lblka rr.-aU otT* tnirtiKOnl^ E ITiawta tAd Dtifvcttroni a niTimg p0ir4 al vwvt, ntv twi a m>avtng otfaci Irorn 1 fii«d pM et iww, Aj^or: AjSvnHaflrff FridR*Dhfcia Di A6SOCOd<auaamHar.«i'ilfeiifi£ao« OnipGEoti WBKhU^ m irou pinoa ■ paten, a Z bipin FF Jmaga or a ecn ttnabvi at t ptttom ml ^aQa. tfito ire VnjruMKn baovop. Wtbot ?-<l tfivwm. bnvy Br«y. h/ton SOeaddJ|> K9i% Ajtw: Al'Ozar A hard dak badiup uGMy. rai aaaa a tia by St copy t» Ftv4iid AnuQaOOS to;^ drU, Indidti in inuton ntortioa and Ito umi^Men. Varden lAinekxtHaouKa. Agtiv: M«rH A DTipla aoaan pcrAng (vagivn. Mrtnanin MVb. negUrcc web prvprKmnQ pr97am ts rabu)d ^rn BLfi«. hduoaa tauraa ri mvO. AuTiar: GragLaa Apn-hrCnw taf ?«Tortiiba'3in ara* prwTiar >n [^ Qurvta (b»E] /rod* hdudat ■hret n C and UHTT ctv Aiitwina hknan A^Hrddifcbaouputa^- ainhrtovm^. Qoaa ^ ea wpB M on. Vrasnl.l.bnry er'iy. lUTitt: StovaDnw Adone affieUniKHd iSmm EDtor] prograrr. hduidHHunL Author: Ere Rtymiirdw A Svi-kvyt' prog'an Twt bind>iW|itMa^ fifYr^on li«ys to nfdOom minpuaan ^A:9ar1t iMndMr actvatOri, HiV to badi, rrovng Kr««TK.afc). hdudvuourea. Avihor: D*na«C«rw« To as Cofsrued In Conctuslon To ttie bes! of our knowledge, (he materials in this library are freely (Jistribulable. This means they were either publicly posted and placed in the Putdic Domain by their Author, or they have restrictions published in Iheir files to which we have adhered. If you become aware of any violation of the author's wishes, please contact us by mail. IMPORTA^^^ NOTICE! This list is compiled and published as a service to the Commodore Amiga community for informational purposes only. Its use is restricted to non- commercial groups only! Any duplication for commercial purposes is strictly forbidden. As a part of Amazing Computing™, this list is inherently copyrighted. Any infringement on this propfietery copyright without expressed written permission of the pu Wishers will incur the full force of legal actions. Any non-commercial Amiga user group wishing to duplicate (his list should contact PiM PublicaCons. P.O.Boic 869, Fall River. MA 02722. PiM Publica- tions is extremely interested in helping any non-commerctal support for the Amiga. .^q. To Order Public Domain Software. please use the form on page 112. Back Issues {continued from page 57) Volume 3 Numberi 1988 Volume 3 Number 2 1988 Affllf iHitM by Rchwd FUi [>g4M rrtuac gwalon en t^ A^niga . CArtmilloiPwillV by HctMTSwpgef Xs tf)tr yon roup's t mi uh d go badi n tia C*aBru. Forth sy JiV. a^ari Sarv^ B(.1 CHF ano FAST "amsry en tm Api^a. Tha Big Hcturi 9/ Ww) F4^ Otthrf ttaar-.Um lanQ-jaga ^agnnvnng; CU lydtrn call ttd nirfojlttng dtfl taa. Bugi^inn by MmEWnH RoornBra ^ TbtBtndkM AmgaCotLlTSOME-band artdgaewd toriha AZns? Mem AalSaatlby EddaOiurdi^t Opn orii, Kiinvi>)Ona, S tii brih of 1 rw* KitMre' gnwiwt 6IOnA3taanblyLlngkMagaPra$nininlnB byChrttUann "Oaile imvlt-CDtaF wnanwirwJlypf^hirtionrwSnMl' HhIuIiJ ftogrmmlng Dy Skvw Fir**L9wita APtmcaeimnov Ou'cs anta » raoja-Zicanai Tha Amlcua HaCworic by Ja*?! Fo-^ai I^Uc Oir*n u»ato. Oyrr^vlsm pe'dci, and daw^apar rit. MJCM Natworti 9padtl lUport Fal COiaCX by I Fauat Coa-kKf* a: COiCEX and nan crao-jett T>ifiril3mjdiaVk]aoAeeaMOf¥:Pa1R by Li/ryWito Ufi:Pa/tl sy GwMHii] 'AdBftiM \csK ■! vncwIuM oti}« V)<ga bfittor; FomiBtUiitv: Prslaaaianal DriiFcrinilting Ejigha by CerlMk^n FVil Biitti langLiagt to KQrii on Via drudDiry 9* dak tomiitlng . tSpraad Qy Biin Catty A Ui tocb'ad AfflqtBASiD ipnidirAKyau can program! JbnlpaFarumTrxnaaipt ri by Acfiard Raa 2acn m ^ CarnaOaria/ Ar-gi'i DaW Hayne. Htlcite Rnlaw by CJ-uOt F{«u«a:t> 'A stm^rhfymM, etsy to urn, ^irtitrM onHtb^vet.' VPPr»t*aaJ«wJna«lB« by SLzanre Uehtil EuyiiacKpcr^-ariraganantinSv IWr.igft ItonayllmterflwLpii by 5tolT«r Kanjg A parv^ A'vnce lyTVn D«yarx9 yo^ O^addMak. Inwaatar'i Advantoga Aarim ty Riiiard Khappar fttjt "Pov Uan'i Out3* to ma StocA Mar^L' Uaar Light 9hArt hI» fta Anlfia by Pa9idi U^phy Cjb'i vx] !h> Am^L A Da^rtg Tindarrv ThiUtarTtataVWaoADcaaHry: Pirti by LrryWtrto Ttha toa fnal rapawnrd d«if nng your own vidaoL Our Rrat Daaldep Wda« Dy Larry WiH A Ftop^ -to^i ^dt to P^aixng and craaantng your frit Ampivtoaa. hiMkadonihaAnlgawttfiFrtdnih by £dB»riuwa Inada veae t'«n tw na.1 balvd alvwaa Tah* dam. PhA (kj^ HaFaducfian alti Via Aialga mi Upl-VlBai by £lBp^v1 Ljt&nt St^rrmQ Oq-Vw* imagaa IwK {r*it n ha^copy, tool ath.tdr^ ysur ChadchMtiiritli WatdParfaci Uaaaa by StovaHuR HinO your qhacSdwoli aomaa (war b tif Aniiflll. MonBulcTtit by BryinCcOay D tfi^eying tofi en tnt Kraan can be evan euerl 1j(i;Pvtliby Qraidai!! Tha Hvtwrxttupwr tvtamadnrwWcil^atanand ■o-yTca to LFER Mutlena to Utaar Wgibn tvaugh Matlt ConpuMsna oy PapMtBka Smp j*y Ri ttx Jt^tfra wrh baac agattiare ft raulraa. ThtArnieuaiUfoit by MnHim. A t(7BtHw lew aiti* fioPNibvtrd ra JiTtigt. Roflinart by Trwundto An^ (a 3009, \A'ut fWrt. and Yffi avraal LuefTaanr Baai ■Sard up?* Bug Bytoi by iahn Sfrnar Uodjla-3J>Tognnmlng by SvnFanMUPHiM CAtlrtg up mfi Caic-t lOLrm fcf^awr-up. etOCOAaaambtarLangubgan'ogrtflinilng by QviaUrti Gripr*t»- F*rl lIctAMangnm. Afazok'i Tofflb by Kervwti E. Sdiaa^ 'A Vrlyig tSnrAl* ulto t* wMi d tw MCJt* AJRT by Sfev* FatiMuawaci iln roQvtnw csr>-MHaapn}^irTtrr,;ng iir^uaga. FamalnHI/tl by 3tfrv4P«j»ncz n»r<«r and Ar:.-mk otncA m 3{>< ■llcsn Draarna irtd Iha Jtw« af DartTvaa by K 1 Stfwtoi Hang on awry Mid n r*» cUim Ui: acMrnraa. Idajra nit Larry by Kenr«»iE Sd^ntor Tht ji5TiiiB Harci «p»nd» i>na racy rigriMi tm lir.iira. TtoQ Hn Enrlia FrtMn Mooblodci by John F{iu« kfiOl Expar.aa-i & S^d^uird IJ UudRjxtinbaard, MndlkgMTHiti PaoplalWar by Jchnftut Ma«VrO Aii^i prDdLOL RivitoBi* by Kannsffi E Schaator Up Yaut chancaa dn ton VKnttof rudi*ia(ti tw Antttv fftmtatit CtaraAr Edtor. *AC- To order Back l^ues. Please use the order lorm on paga 112 Amazing Computing V3.4 ©1988 111 Amaze Me Please use this order form when subscribing to Amazing Computing™, ordering Back issues, or ordering Amiga™ Public Domain Software Name_ Street_ Cxty_ St. Zip. Amount Enclosed . Please circle the appropriate item: New Subscription Renewal Please start my subscription to Amazing Computing''^ with the next available issue or renew my current sub- scription. I have enclosed S24.00 for 12 issues in the U.S. (S30.00 Canada and Mexico, S35.O0 overseas). All funds must be in U.S. Currency on a U.S. Bank Back Issues: $4.00 each (foreign orders add $1.00 each for Postage and Handling) Please circle your Back issue choices below: Voll.l Von.2 Voll.3 Voll.4 Voll.5 Voll.6 Voll.7 Voll.8 Voll.9 V0I2.5 V0I2.6 V0I2.7 V0I2.8 V0I2.9 V0I2.IO Vol2,ll V0I2.I2 V0I3.I Public Domain Software: $6.00 each for subscribers (yes, even the new ones!) $7.00 each for non subscribers Please circle your Public Domain Software choices below: Amicus: V0I2.I V0I3.2 VolZ2 V0I3.3 V0I2.3 V0I2.4 Al A2 A3 A4 A5 A6 A7 A8 A9 AID All All A12 A13 A14 A15 A16 A17 A18 A19 A20 A21 A22 A23 A24 A25 A26 Frad Fish.: FFl FF2 FF3 FF4 FF5 FF6 FF7 FF8 FF9 FFIO FFll FF12 FF13 FF14 FF15 FF16 FF17 FF18 FF19 FF20 FF21 FF22 FF23 FF24 FF25 FF26 FF27 FF28 FF29 FF30 FF31 FF32 FF33 FF34 FF35 FF36 FF37 FF38 FF39 FF40 FF41 FF42 FF43 FF44 FF45 FF46 FF47 FF48 FF49 FF50 FF51 FF52 FF53 FF54 FF55 FF56 FFRIA FF58 FF59 FF60 FF61 FF62 FP63 FF64 FF65 FF66 FF67 FF68 FF69 FF70 FF71 FF72 FF73 FF74 FF75 FF76 FF77 FF78 FF^g FF&* FF81 FF82 FF83 FF84 FF85 FF86 FF87 FBtsa. FF89 FF90 FF91 FF92 FF93 FF94 FF95 FF96 FF97 FF98 FF99 FFIOO FFlOl FF102 FF103 FF104 FF105 FFlOe FF107 FF108 FF109 FFllO FFlll FF112 FF113 FF114 FF115 FF116 FF117 FF118 FF119 FF120 FF121 FF122 FF123 FF124 FF125 FF126 (NA denotes dis]cs removed from the collection) Please complete this form and mail with check or money order to: PiM Publications, Inc. P.O.Box 869 Fall River, MA 02722 Please allow 4 to 6 weeks for delivery 112 Amazing Computing V3. 4 ©1988 ONLY ■J ■ L CAN DO ALL THIS ! I ! I Get the maximum graphics power from your Amiga. Create stunning, lifelike computer artwork with Digi-Paint, the first full-featured 4096 color (Hold and Modify) paint program. Break the "32 color barrier" and finally realize the potential of your Amiga with Digi-Paint's advanced features; 4096 colors on screen simultaneously NewTek's exclusive enhanced HAM mode Dithered HAM gradient fill •Full screen effects including double, half size, mirror reverse and more 'Full IFF and Digi-View compatibil ty •Use 320x200 or HAM hi-res 320x400 resolutions "■Fat bits Magnify mode Rectangle, oval, line and other drawing tools , 12 different paint modes including blending, tinting and smooth shading 'Full lasso cut and paste with automatic edgeblending Programmed completely in assembly language for fast, smooth response Find out why Byte Magazine calleq Digi-Paint "Remarkable". Available now at your local Amiga dealer or call: 1-800-843-8934. %; ONLY $59.95