< 0 f z /AMIGA A Volume 5 No. 1 January 1990 JL.COMPUTING I J US $3.95 Canada $4.95 Your Original AMIGA* Monthly Resource

AMIGA ANIMATION

Sculpt-Animate 4D AMIGA ANIMATION AMIGA ANIMATION Animation in BASIC AMIGA ANIMATION AMIGA ANIMATION Anim-Aids AMIGA ANIMATION The 1989 BADGE Killer Contest WinnersAMIGA ANIMATION Hi Quality Version Available on AMIGALAND.COMAMIGA ANIMATION AMIGA ANIMATION AMIGA Programming: [MIGA ANIMATION Scanning The Screen, Fractals Part Four I MIGA ANIMATION

IJ//6 .I ANIMATION

Calculating the Wind Chill Temperature 1.11/6.1 AM U Ml()\

Menu Builder 11//6..I , I N/.I/..I'/'//> \ 11//6 I IMUAIl(>\

\n 1 1u o \ Plus: "•I n n /w /m Thinker

Hardware Home Control

07447074710901

0 iu y COMPUTING Y o u r OrigfanaH AM I&A MamSbfy &Gs

ifMATION ON THK AMIGA

Dear Animators 4 l A nim ation by Bany Solomon With Sculpt-Animate -tD Introducing AC's Animation 51 section. by Lonnie Watson Create some stunning Ladies And Gentlemen, we aitw ork. give you... THE WINNER! 4 2 by B radley U". Schenck • ■ * Animation? The making of" the 19S9 BADGF BASK ally! 5 8 Killer Demo Contest winner. h r Mike Morrison The Sentinel, Using Cell animation in Amiga BASIC. A nim ation For Everyone 47 PIC-MAGIC: A Product Profile 54 by Barry Solomon An i m-Aids 64 Animation Can by Orlando T'tirioso Sidebar by Bany Solomon Be a Moving W onderfu 1 Iv sketched. Brushing-Up Where to find the help .-lienee. ready-lo-cok >r images! Hi Quality Version Available on AMIGALAND.COMOn Animation 5 4 you need. by Barry Solomon Cut, paste, and animate vour way to fame. RR( )G RAMMING R1AIIAY Dual Demo 66 | | | f h r Thomas Esbehnan T hinker 9 0 Menu Builder 23 Programming an arcade game can he by Robert Klimaszeirski Ri h r Tony Preston easy. "An Idea Processor". Building menus w ith Intuition. Scanning The Screen 82 by Paul Castonguay Part Four in the I facials DRRARTMRMN series.

It's Colder ( Than You Think 87 Feedback Foru m 4 I ■ i f h i ’ R<>be> 1 h i i i i h i s z e i i v k i || A simple program to calculate the wind chill temperature.

Users Groups 21

Facing the CI.I 39 All program listings Index of Advertisers 96 by Mi he Morrison are available on Disk structures and startup- A C Dishs.1 set [lienees. Public Domain Software 109 • CONTENTS •

COH WINS No Fishing! 27 G nest Commentary by Graham Kinsey New Products A preview of W orkbench 1.4. Plus a More Advice and Other Neat Stuff 8 fantastic gambling game. For A1000 Upgrades 6 by Elizabeth G. Fedorzyn Richard Taylor, President of Pro Tennis Tour. Keel'The Thief, and Expansion Technologies speaks out. Bug Bytes 33 Distant Suns top the list. by John Steiner More bugs and upgrades for the Snapshot 15 Amiga user. HAPPY by R. Bradley Andrews NEW YEAR Three arcade favorites, and a space role-playing game. R oom ers 3 5 £ by The Bandito to The Bandito’s fearless predictions for 1990 are here.

PD Serendipity 56 by Mike Morrison Hi Quality Version Available on AMIGALAND.COMAnimations from the RoboCop - An arcade game \S9 BADGE Killer based in the future. Demo contest.

LaserBoing - Mike ran der Sommen's entry to the 1989 BADGE Killer Demo Contest. "This Amiga B oing' ball is just loaded with Super Hang-On - O nly yo u r energy." skill and reflexes will allow you to win the ultimate race.

Amiga Circuits 98 by John lovine Controlling large amounts of electrical energy. Coivr " Illustration by Brian Box Video Schmideo 18 C Notes Graphic Design by by Barry Solomon From The C Group 104 Iirnest P. 1 ieeiros Sr. There’s no business like the Video by Stephen Kemp Business. Recursive functions in C. VIRUS ALERT! “AM IGA Amazing Computing For The Commodore v L MIGAT AC's Technical Editor Explains How To Handle A New Virus. ADMINISTRATION Publisher: Joyce Hicks by Michael Morrison Assistant Publisher: Robert J. Hicks Circulation Manager: Doris Gamble This is the type of article I hate to write. There is yet another virus going around. Asst. Circulation: Traci Desmarats Asst. Circulation: Donna Viveiros The virus is called Xeno and is not a bootblock virus but a file virus. This means that Corporate Trainer: Virginia Terry Hicks it attaches itself to executable files such as commands or even programs. When you Traffic Manager: Robert Gamble use the command, the virus puts itself in memory and attaches itself to any other International Coordinator: Marie A. Raymond executable file that is used. Marketing Manager: Ernest P. Viveiros Sr.

There are several ways to recognize whether or not your computer is infected with EDITORIAL the Xeno virus: Managing Editor: Don Hicks Associate Editor: Elizabeth Fedorzyn Hardware Editor: Ernest P. Viveiros Sr. -The commands in the C directory are 1124 bytes longer. Technical Editor: J. Michael Morrison Music & Sound Editor: Richard Rae -The date on an executable file has been changed to a recent date. Video Editor: Barry Solomon Copy Editor: Aimee B. Abren -Your computer crashes when you try to print to the parallel port. Copy Editor: Derek J. Perry Copy Editor: Troy J. Thomas - You get the 'file not an object module' error when you try to use common C Art Director: William Fries commands (dir, cd, assign, etc.). Photographer: Paul Michael Illustrator: Brian Fox Research & Unfortunately, there has been no way to detect this vims until recently. We picked Editorial Support: Karen Donrelly-Solomon it up, here at AC, about a month ago, but none of our virus checkers could detect Production Manager: Donna M. Garant it. If you have ordered AC *5 or AC *6, they are infected with die vims. Please use one of the mediods described here to disable die infected files, or return die disks ADVERTISING SALES to us, and we will send you clean disks. Advertising Manager: Jannine Irizarry Marketing Assistant: Melissa J. Bernier There are a few programs available that will help rid your system of the Xeno vims. SteveHi Quality Version Available on AMIGALAND.COM Tibbet has just finished VirusX 4.0 which is available on BBS’s or on our 1-508-678-4200 inNOCKulation disk (see ad page S6). VirusX 4.0 will detect the Xeno vims in FAX 1-508-675-6002 memory, but it can not help any files diat may be infected. Steve has also included a program called KV, This program wall disable any files infected with the Xeno vims, SPECIAL THANKS TO: but it does not remove the vims from die files. The vims intertwines itself with a file, Buddy Terrell & Byrd Press Bob at Rivarside Art, Ltd. making it difficult to remove. Steve is wrorking on a version of KV that will actually Swansea One Hour Photo remove the vims from fire infected files. Pride Offset, Warwick, Rl Mach 1 Photo Another program also available on BBS's or on our inNOCKulation disk is called XenoZap, by Kevin Kelm. Kevin wrote XenoZap after both of our computers were infected, and I asked him for help. XenoZap is similar to KV, except that it will search Amazing Computing™ (ISSN 0B36-9480) is published monthly by PiM Publications, inc., Currant Road, P.O. Box 869, Fall River, MA an entire device for the vims, in all directories and disable it in all infected files. This 02722-0869. means you can type; Subscriptions in the U.S., 12 issues lor $28.00; in Canada & Mexico dfO:XenoZap dhO : dfO: d fl: d f2 : XenoZap surface, $36,00; foreign surface for $44,00, from the CLI (if XenoZap is on the disk in dfO:). XenoZap will first check memory Second-Class Postage paid at Fall River, MA 02722 and additional for the vims and disable it (if present), and then check every file, in every directory, mailing offices. on dhO:, dfO:, dfl:, df2: and disable the virus in all infected files. POSTMASTER: Send address changes lo PiM Publications Inc., P.O. Box 669, Fall River, MA 02722-0869, Printed in the U.S.A. Once XenoZap is used to check the system and its files, it has become infected writh Copyright©Dec. 1989 by PiM Publications, Inc. All rights reserved. die vims. This means that if the program does not check for and disable the vims on itself, the next time the program is run, it will infect every- file that it is currendy First Class or Air Mail rates available upon request. PiM Publica­ checking. Therefore, it is important to include XenoZap at the end of die list of items tions, Inc. maintains the right to refuse any advertising. diat XenoZap will be checking. This should eliminate tiie virus from XenoZap and eliminate die vims from your system. Remember to check a]] of your floppies! Pirn Publications Inc. is not obligated to return unsolicited materials. All requested returns must be received with a Self Addressed These people who have nodiing better to do but create damaging viruses really Stamped Mailer.

baffle me. It is unfortunate and sad. I am only diankful that talented people like Steve Send article submissions in both manuscript and disk format with Tibbet, Kevin Kelm, and others are willing and able to spend their time and resources your name, address, telephone, and Social Security Number on to combat these viruses. My hat is off to all of them. Both VimsX and XenoZap are each to the Associate Editor. Requests for Author’s Guides should public domain. This means they are free to everyone. Even though the authors don’t be directed to the address listed above. request any gratuities for their work, please send them something if you use either of these programs. This will encourage them to continue their efforts in this batde. 1 hope this article will help save some of you from some headaches. AMIGA™ is a registered trademark of •AC* Commodore-Amiga, Inc. is called V1T. Is your mainframe or mini at -Your enthusiasm is contagious. Lets hope work linked with Textronix terminals? If so, that more people catch it. We agree with DEAR AC: you can generate on screen graphics with your comment on PD software. 'Ihepeople Since Commodore is putting a large your .Amiga (4105 emulation). who write PD soft ware are doing the Amiga effort into advertising the world’s best In business software (non-graphics Community a great seruice and we thank home computer let us all help make 1990 word processors) the Amiga has them. -Ed tlie “ Year of the Amiga”. Are you tired of Excellence. Excellence is much more die MS-DOS talk at work? While your sophisticated than Word Perfect , but we Amiga sits at home with its superior need tlie latter so Lhat MS-DOS users can that multitasks and even make die transition to the Amiga. There are Dear AC: comes with a graphics co-processor. You some excellent spreadsheets available for Thank you for Publishing my article can also add an MS-DOS clone inside your the Amiga which don't even compare to “Multitasking in Fortran." I think that the Amiga box if you own an A2000 or A2500. an\thing MS-DOS has so I won’t mention article will provide the means for a If each Amiga owner can convince an any by name. Data bases are another story. substantial number of people to deal with employer or a friend to purchase this great Superbase Professional is an excellent a significant Problem on the Amiga in the machine. We could protect our investment product, although it is missing oracle since Fortran environment. and double its ownership to two million. it has become a universal standard. Unfortunately, an error into the Have a video slide show at work Have you noticed the new status article during the editorial process that using your Amiga. I did it and now symbol in the office? The 510,000 laptop must be addressed. In the copy that 1 everyone in my office knows what an with 386 processor. Lets hope that submitted to you, my last sentence of text Amiga is. They are even asking where they Commodore does indeed come out with stated; “Frankly, I consider Fortran to be can get software for their MS-DOS the A3000 this year! Power impresses the easier to program in than C, for those things machines (chuckle). The software 1 used business world. Lets also hope that when that Fortran is good at." It was edited to say; was TV’TEXT, TVSHOW, and the these two are compared that Commodore Frankly, for die features that it has, 1 find Director. I had some shareware music in can promote some unique benchmark tests Fortran easier to program in than C." theHi Quality Version Available on AMIGALAND.COM background, for narration 1 used a lhatxxdll show off the graphics co-processor The latter statement is incorrect, in mixer and microphone I had purchased. in the Amiga. I hope that the 386 dial ii implies diat 1 consider Fortran to Give it a try— your office needs an Amiga bridgeboard is available before the 486 have more or better features than C. linked to a good VCR for developing becomes the fad. Implicidy, it states that I consider Fortran to presentations! We have heard that Commodore's be superior to C. I do not consider Fortran If your office only has PC implementation of is very' good. If to be a better language and I would not start Compatibles, bridgeboard is for them it is a they offer an A3000 UNIX it may be a way a new project in Fortran, unless there was 100% compatible PC Clone on a card, there of getting a foot in the door of the business a compelling reason to do so. Relative to is also an emulator (the Transformer) that's world. It is my gut feeling that UNIX will he most of the later generation languages, a useful tool for some MS-DOS programs. tlie next major operating system for die Fortran has some significant limitations. The Transformer will run an MS-DOS DUO office. However, it is easier than C to program, for emulator for the Data General Mini Since we have sold an Amiga to the those diings that it can do. Computer at full speed Amiga. office, what about the 13 year old next door 1 consider Fortran to be valuable Be sure to let them know that wotj A- who is getting bored widi his Nintendo? mainly because of the huge body of Max the Amiga can run many Mac Get at least one outstanding game for your software that already exists, especially in programs. This is a combination of Amiga (even if you hate games) and show the scientific arena, that is written in software and hardware and is not the same the kicl what a real computer can do. Some Fortran. Accessing that weakb of proven (or as good) as the bridgeboard clone people have bought MS-DOS machines to software, while taking advantage of the inside your Amiga box. Tell them that the play games—isn’t that disgusting. Amiga environment, was tlie purpose and Amiga is a very powerful computer with Commodore can do it with our motivation for the article. the same CPU as a Mac plus it has graphics help—make the Amiga known to and sound co-processors. If MS-DOS America—it's a great machine, so lets help Sincerely, compatibility is a must, then the Amiga is out. One of die most exciting diings about Jim Locker the best choice neither the Mac nor IBM can owning an Amiga is die loyalty of die users. Fairborn, OH emulate the Amiga (not powerful enough). Have you ever checked out the public Terminal emulation is very important domain programs available for the -We appologizefor the mistake and hope in an office that has to talk to Mini Amiga—it's great! That's because creative that it didn't cause any problems. Thanks Computers or Mainframes. There are folks know a great machine when they see fo r the corrections Jim. -Ed several excellent Amiga terminal emulation one and want odiers to know too. So. let us programs available. One of the best Amiga all make 1990, "The Year of the Amiga"! -AC* terminal programs currendy available is in die Public Domain on Fred Fish "226 and Dan Greene Boulder, CO ROBLEM Your boss wants you to produce an The Amiga is the right machine for animated video presentation to help the job, but how can you easily sell that new project to top manage­ import the images and data you need ment. You know that a full-color, for your presentation from other animated presentation, developed on divisions of the company, data and the Amiga, using its powerful images which come from desktop video software, will make a Macintoshes and IBM PCs? convincing impact. soum oN File transfer programs MAC-2-DOS conversion utilities for PICT files and and DOS-2-DOS from Central Coast Mac fonts • Creates icons, as Software! Using these simple and necessary • Formats 400K/800K Mac easy-to-use Amiga programs, you disks. Hi Quality Version Available on AMIGALAND.COMcan now quickly and easily transfer D0S-2-D0S uses your Amiga’s the Mac/IBM/Atari data and images floppy drives to read/write IBM/Atari you need to and from the Amiga. 3.5-inch disks • Reads/writes 5.25- MAC-2-DOS connects a Mac inch IBM disks (using an external floppy drive directly to the Amiga • 5.25-inch Amiga drive) • Converts Reads and writes 400K/800K Mac ASCII text files both ways * Supports disks • Converts MacPaint images to/ international character sets • fro m IFF • Im p o rts Mac clip art fo r Formats IBM/Atari disks • Use with use on the Amiga • Converts ASCII IBM program HIJAAK (from Inset text files both ways • Converts Systems, not included) to capture/ PostScript files both ways * Supports convert IBM graphic images to/from MacBinary form at* Includes IFF.

MAC-2-DOS — when it And to preserve your entire absolutely, positively has to get to presentation, all supporting data and or from a Mac disk, immediately. graphic files, as well as the programs: DOS-2-DOS — when it QUARTERBACK — the fastest absolutely, positively has to get to and most reliable Amiga hard - disk or from an IBM PC (or Atari) disk, backup program! immediately. Central Coast Software.

424 Vista Avenue Golden, Colorado 80401

Circle 145 on Reader Service card (303) 526-1030 • (303) 526-0520 (fax) Dealer inquiries Welcome (Fnest Commentary^ M o r e A d v i c e F o r A 1 0 0 0

Richard Taylor, President of Expansion Technologies Speaks Out. U p g r a d e s

I w ant to thank .Amazing Computing for the opportunity A500/1000 bus was not an engineering requirement. The to respond to some of the points made by Mr. Saunders in his chances are a card cage like the Tool Box did not exist when November article "Learning the Hard Way, The frustrations of they were defining the performance parameters of their product. upgrading your A1000” (Volume 4 Issue 11). 2. GROUND AND UPGRADE THE PALS. The A1000 bus It's unfortunate that one persons experience is presented will reliability accept two devices if you ground and upgrade ( if as an article and the corrections or explanations are delegated required) die PAL chips on the inside of the machine. An to the editors page. The article left a very negative feeling for expansion product plugged into the 68000 socket, like the A1000 owner wishing to expand their computer. In a market­ Insider memory7 board, is also considered a device on the bus. place that has largely abandoned the A1000 we have another Many articles have been written on diis problem including some unnecessary and largely undeserved nail in the coffin. in diis magazine so I will not go into detail. The problem and solution are covered As one of the original Amiga hardware manufac­ - fully in the Too! Box turers w e have been answering our customers A1000 manual. The PAL chips questions for a long time. We are still learning the As one of the original Amiga can be purchased from variables of die A10G0 and yes it has at times been very hardware manufacturers we several sources includ­ frustrating. Some of the rules are learned as we go ing Expansion Tech­ along. The newer rules apply to the use of A200G cards have been answering our cus­ nologies. A reprint of on the A500 and A1000 bus. tomers A1000 questions for a the instructions is also long time. We are still learning available widiout charge We all know that the A1000 expansion bus was the variables of the A1000 and by calling our office. not created perfectly. It has specific limits and will not Armed with this infor­ do everything for everyone. However, it does do some yes it has at times been very mation any service things very well if certain rules are followed. If the frustrating center and/or most A1000 user wishes to expand beyond those safe customers can make the parameters it is suggested they evaluate moving tip to an modificadons. A2000 now and not later. 3. KEEP YOUR AMIGA AS STANDARD AS POSSIBLE. I The Tool Box for tire A1000 was created for those who totally agree widi Phil that trouble shooting a system with mayHi Quality Version Available on AMIGALAND.COM upgrade to an A2000 and want an economical and reliable nonstandard expansion products is nearly impossible. If you way to add memory and a hard drive. If these Are A2000 experience any trouble remove all products and try7 and isolate upward compatible products then they do not have to repur­ die problem by using dien one at a time. If they work individu­ chase this capability. But the limits must be observed. ally7 and not togedier it generally means the PAL/GROUND problem. Also let die sales or service person know the combina- In the case of Mr. Saunders there are many people in the don of produces you have or wish to purchase. This is so they field working with his specific combination of products. There can evaluate die total system. are definite reasons why he was not as successful as others and they are covered later. The troubles he experienced were very Let’s address Phi! Saunders problems direcdy7. real and the lessons he imparted should not be overlooked. The point being made is many have successfully expanded their 1. His first problem was in using a GVP interface. This is A1000 with out it being a nightmare. With either a Tool Box or a very7 excellent product but is one that will not work reliably another manufacturers expansion product you should not be on the A1000. It was recommended that he use a FlashCard hesitant to try. But you must be careful and take the recom­ widi his Quantum. mended precautions. 2. The FLASHCARD/QUANTUM worked fine as long as In a non technical manner I would like to point out some he didn't try7 and use KickBench 1.3. This is because both the of the precautions to be taken when expanding your A1000 Flash Card and die KickBench were trying to load WorkBench. with A2000 cards. Then we will cover some of the troubles An "nonstandard" situation. mentioned in the article. 3. He experienced the PAL/GROUND problems and 1. SOME A2000 CARDS WORK BETTER THAN OTHERSunfortunately received bad replacement PALS causing a great ON AN A1000. It has to do with the differences in the timing of deal of frustration. After replacing the PALS the article did not the A1000 bus as opposed to the A2000, The A500 bus is closer indicate that they were ever grounded. This would explain why to the timing of the A2000 bus. Your chances of success are he would only work with erne device on the bus. much higher almost to the point of it not being an issue. Whether a card works or not varies and sometimes depends on There are a lot of us who still own, and love our A1000 the tolerances of die machine. Because of this it is best to go Amigas. If cauuon is taken they can be reliably expanded to with what works for most people in the field. Use only recom­ increase their life and usefulness. The problems that Phil mended cards that have proven themselves to work. Call us Saunders experienced are the exception and not die rule. direcdy (415656-2890) or ask your dealer to for the latest information before you purchase your card. Richard Taylor, President -Expansion Technologies

In defense of die manufacturers whose cards do not -Amazing Computing believes that there is always more than one work on the A1000 it must be remembered that working on the side to any story and AC will always be available to both sides of an issue. We thank Mr, Tavhr for his advice and comments. -Ed THE BEST FOR YOUR AMIGA® 2000

TM

, S u p r a R a m ™ SupraMoetem 2400zi 2000

■ 2, 4, 6, & SMB configurations Autobooting Hard Card available with WordSync™ Interface “ Installs easily into any Amiga ■ Half card modem fits in ■ WordSync Interface Kit internal expansion slot any Amiga bus slot also available separately ■ Easy to expand from your ■ Up to 5 modems per computer ■ Interface transfers 16 bits initial configuration — at once, giving DMA Speed * Works with all popular Amiga Start with 2MB & add Without DMA Problems telecommunications software RAM at your convenience ■ Eliminates the sound, video, ■ 100% compatible with the * 6MB configuration allows Hi Quality Version Available on AMIGALAND.COMand serial I/O interruptions industry-standard “AT” for maximum benefit found with DMA iinterfaces command set with the Amiga Bridgeboard * 1 -slot design & SCSI-out port ■ Asynchronous 2400/1200/300 baud operation ■ Lets you run larger and ■ Easy On/Off Autoboot Jumper ■ Compatible with Bell 103/212A more sophisticated ■ Compatible with Amiga and CCITT V.21/V.22/V.22bis programs Bridgeboard, RAM, ■ Allows creation of large digitizers, and other boards ■ Autoanswer/Autodial and extremely fast (tone or pulse) ■ Includes SupraBoot & RAM disks SupraTools — two full disks ■ Adjustable-volume speaker ■ Test mode & test software of utility software ■ Nonvolatile memory stores make troubleshooting easy u Up to 30 Partitions custom modem configuration and one telephone number ■ Made in the U.S.A. ■ All available file systems supported: FFS, MS-DOS, ■ Includes free subscriptions Unix, Macintosh, etc. to popular on-line services 8MB RAM Board 0MB $199 with 2MB Installed $449 ■ Access to low-level parameters ■ Made in the U.S.A. with 4MB Installed $649 without maintaining MountList with 6MB Installed $849 * Excellent Technical Support 2400zi $179.95 with 8MB Installed $1049 « Made in the U.S.A.

AVAILABLE AT YOUR LOCAL DEALER. OR CALL: 30MB (40 ms.) $649 40MB (11 ms. Quantum) $799 80MB (11 ms. Quantum) $1099 40MB SyQuest Removable$1199 Supra corporation WordSync Interface Kit $19965 1133 Commercial Way Albany, OR 97321 Voice: 503-967-9075 Fax: 503-926-9370

SupraDrive, WordSync, SupraModem 2400zi, and ORDERS: 1-800-727-8772 SupraRAM 2000 are trademarks of Supra Corporation. Amiga is a registered trademark of Commodore-Amiga, Inc. Circle 168 on Reader Service card. New Products and Other Neat Stuff by Elizabeth G. Fedorzyn

CREATING QUITE A RACK FT best. Of course, if you did get a bit of ranking, you must participate against play­ Ever wish you could go forehand to practice in, maybe a few matches — you ers of varying ranks in such major tourna­ forehand against Ivan Lendl at the U.S. know, sort of work up to that day of con­ ments as the Australian Open, the French Open, or wiz a passing shot by Martina at frontation — who knows? Pro Tennis Tour Open, The U.S. Open, and Wimbledon. Wimbledon? Well, it might be time for you might be a good place to start. Although you don't get to become to wake up and smell the Gatorade, as the Produced by UBI Soft and distributed involved in lengthy bellicose exchanges chances of your encountering such tennis by Electronic Arts, Pro T ennis T our is a with the judges or sign major endorsement greats on tire court are un! ikelv. Even if you tennis simulation that places you in the role contracts, you do get to watch your most did, your chances of surviving, say, a full- of a professional tennis player seeded 64th impressive shots in 3*0 instant replay, as force Lendl serve are probably dismal at in the world. In order to improve your well as practice your forehand, backhand and serves with six practice programs containing three levels of difficulty. And each tournament is played on the same A real surface as the real games (e.g., grass courts racket: Pro at Wimbledon). Tennis Tour by Pro Tennis Tour allows one player to Electronic compete against the computer or two play­ Hi Quality Version Available on AMIGALAND.COMArts. ers to compete against each other. The game sports sound effects as well as im­ pressive graphics thatinclucle an on-screen scoring display, line judges who watch every move you make, and opponents who leap when you place a shot to their upper body area — just like in real life!

Pro Tennis Tour Electronic Arts 1820 Gateway Drive San Mateo, CA 94404 (415)571-7171 Price: S39.95 Inquiry -227 fo u n d in space: BILLIONS AND BILLIONS... Distant Suns How many heavenly bodies are there by Virtual in the solor system? Well, as Steve Martin R eality facetiously pointed out in Roxanne, we Laboratories. know it’s more than fifty. Distant Suns might be able to give you a better idea. Designed by astrophysicist Mike Smithwick and originally released as Gali­ leo, this .Amiga astronomy program has un­ dergone some improvements and is now being produced and distributed as Distant Suns by Virtual Reality Laboratory.

(continued) THE 1990 AMIGA ART CALENDAR

I >

O «Ti I So-owBin?. I

A Complete 1990 Calendar • 13 Pieces of Original Amiga Art Produced Exclusively On The Amiga Hi Quality Version Available on AMIGALAND.COMEach work 9" x 13 " • Suitable for Framing ORDER NOWAND SAVE $5.00 The 1990 Amiga Art Calendar is only $14.95 Coupon Worth $5 Savings On Any AmiEXPO To place an order for your 1990 Amiga Art Calendar, either complete the included form and return to our offices or call us at 1-800-32-AMIGA. To place a telephone order, you must have a valid Visa or MasterCard. Please allow 6-8 weeks for delivery

Order by Mail or Call HUUAl-AMIGANationmdr (nr 2 12-867~M63)« For Your All Amiga Art Calendar!

I want my 1990 Amiga Art Calendar NAME COMPANY ADDRESS Calendars @ $14.95 Shipping &Handling CITY STATE Please add $2 per calendar F or MasterCard or _V1SA Payment TOTAL Expiration Dale______Account Number____ Make Check or Money Order Payable to: Name a.s it appears on card: AmiEXPO 211 E. 43rd St., Suite 301 Signature______New York, NY 10017

AmiEXPO1 M is a registered trademark of AmiEXPO, Inc. © 1989 AmiEXPO, Inc.

Circle 115 on Reader Service card. Distant Suns features realistic color Distant Suns slithering creatures and not many good with full-screen sky viewing option, 2,200 Virtual Reality Laboratories, Inc. restaurants. As Keef, it is your goal to stars, expandable to 9100, and 450 deep 2341 Ganador Couri become absolute ruler of everything and sky objects — all in an astronomically San Luis Obispo, CA 93401 everyone. This is no small task, considering correct sky representation. The program (805)545-8515 the nasty' conditions under which you must lets you view the sky from any place on Price: $69.95 now survive and die fact that an evil Earth at any time from 8,000 B.C. to 12,000 Inquiry *228 magician is hard at work trying to create the A.D. Why, if Carl Sagan had had access to magic necessary to control the continent. Distant Suns, he probably could have CHIME THAT PAYS But you are not without your own dragged out his celebrity status a few more MeetKeef. Keef steals. Keef sells sto­ advantages. As Keef, you have no problem light years, len goods. Keef is never without his lock- with the idea of breaking and entering, or Distant Suns will just make it on 512K pick. OK, so maybe he's not Ward and stealing supplies, of trying to sell stolen memory'. Expanded memory is strongly June’s Dream Child, but he may just be tire goods — in effect, no morals to hinder you suggested. The package includes a 100- next Teenage God-King. from realizing your goal. (Look out Maury page Users Manual to help you steer Designed by Naughty' Dog, Inc. and Povich!) through space. Users of the original Galileo released be Electronic Arts, Keef the Thief Tire game features over 200 species program may upgrade to Distant Suns by is a role-playing game that puts you in the of nasty monsters, more than 50 color contacting Mr. Smithwick at 25215 La Loma mindset of Keef, a juvenile delinquant who screen illustrations, 25 complete levels of Drive, Los Altos Hills, CA 94022. has been banished from his hometown to dungeon, and three complete cities to loot the Tri-City Area, a vile jungle teeming widi to your delinquant heart’s content— not to mention a quite humorous, refreshing ap­ proach to text-adventure authoring. Keef the Thief requires a minimum 512K memory, and can be controlled using A boy either the keyboard or the mouse. Keef in­ and bis corporates an icon-based interface, and al­ lockpick: lows a Save Game option to allow' you to K e e f the maintain your current level of debauchery. TJrief fro m Hi Quality Version Available on AMIGALAND.COMKeef The Thief Electronic Electronic Aits Arts. 1820 Gateway Drive San Mateo, CA 94404 (415)571-7171 Price: $49.95 Inquiry *229

GOING TO GREAT LENGTHS Psst! Disco Dancer in die fifth! That’s the only up I’m gonna give you. For any more, you'll have to head down to die track, or in this case tracks. From the folks A d a y at who brought you expandable basketball the track: comes a new expandable horse-racing pro­ OMNI­ PLAY gram. H orse New' from SportTrme Computer Soft­ Racing ware, OMNI-PLAY Horse Racing lets up fro m to four players bet against each other and SportTime up to 19 computer opponents on 128 Softivare. different horses, if you’re the more re­ served type, bet 011 the projected favorites to Win, Place, or Show'. But if you 're from the Oscar Madison school of pony picking, you might wnnt to be a bit more adventure­ some and go for die long shots.

(continued) Pictures Speak Louder Than Words...

• |«#Y Jur'i FiniCocnpai»r hie. PIC-MAGIC TM Professional Clip Art Series Package One j

J w f'i FintCvicrlpBif $99.95 US DOLLARS (INCLUDING SHIPPING VIA UPS!)

Hi Quality Version Available on AMIGALAND.COMr PACKAGE ONE: General 1ttiages '""N TEN DISK SET * COMPLIMENTARY FAN-FILE™ * 220 Page Manual (Full Printouts of every image) * IFF FILE FORMAT. (Over Screen Sized Bit-Maps) Over 250 Images from Food to Sports to Cars! CALL ABOUT AND LOOK FOR: *** PACKAGE TWO (Release: JAN 1990) ***** POSTSCRIPT™ (Vector Graphic) VERSIONS ******* PACKAGE ONE SINGLE DISK SAMPLERS

To ORDER or for INFO (In USA) Call:

1 - 800- 387-8967 P.O. Box 579, Station Z Toronto, Ontario M5N 2Z6 Canada Tel (416) 322-6119 Fax (416)489-1620 This Ad was creatsd in PageStream™, on an AMIGA 2500 (512k Chip, 2.5 Meg. Fast Ram). It was printed on an HP DESKJET In 300 DPI mode using PageStroam” elWi Joe't Frtt Cacrtpmy Inc. Fonts Disks and only Pic-Magic™ Clip Art. JOE’S FIRST COMPANY INC.

Circle 178 on Reader Service card. OTEER RRODUGTE RECEIVED

Adventures Through Time— Mail-O-Dex Vol. 1: The Scavenger Hunt KarmaSoft Aurum Software Daily Double Horse Racing P.O. Box 1034 P.O. Box 5392 Artworx Software Company, inc. Golden, CO 80402 Ventura, C A 93003 1844 Penfield Road (303) 277-1241 (805) 659-3570 Penfield, NY 14526 Price: $49.95 Price: $49,95 (716)385-6120 Inquiry #239 ; Inquiry #233 Price: $29,95 Inquiry #236 Quarterback Bride of the Robot Central Coast Software Free Spirit Software Dr. Doom’s Revenge 424 Vista Avenue P.O. Box 128,58 Noble Street MicroProse Golden, CO 80401 > Kutztown, PA 19530 180 Lakefront Drive (303)526-1030 j (215) 683-5609 Hunt Valley, MD 21030 Price: $69.95 1 Price: S39.95 (301)771-1151 Inquiry #240 ; Inquiry #234 Price: $39.95 Inquiry #237 Tank Attack Colossus Chess X Artworx Software Com pany, Inc. Arfworx Software Company, Inc. Joan of Arc: Siege and the Sword 1844 Penfield Road 1 1844 Penfieid Road Broderbund Software, Inc, Penfield. NY 14526 Penfield, NY 14526 17 Paul Drive (716)385-6120 (716)385-6120 San Raphael, CA 94903-2101 Price: $29.95 i Price: $34,95 (800)521-6263 Inquiry #241 Inquiry #235 Price: $44,95 Inquiry #238 Hi Quality Version Available on AMIGALAND.COM

Whatever approach you choose, you minimum 512K memory and consists of a The half-hour program supports a will have the opportunity to be well-pre­ two-disk set (Track 1 and the Handicappers magazine format and is devoted solely to pared. Statistics available include the past Module 1.0). Future option modules in­ the Amiga and its hardware, software, and ten race results on till 128 horses at each clude Jockey Competition, Fantasy Betting, their applications. track, the Morning-line Odds, payoff dis­ and Prediction Analysis. The Amiga Video Magazine concen­ plays, and postposition histories. You also trates on what the Amiga is achieving in the have access to complete jockey profiles. OMN1-PLA YHorse Racing real world (aarrgh! not that:), traveling to .Mid leave Randy Newman behind, be­ SportTime Computer Software places like production houses and record­ cause jockeys have their own personalities Distributed by Broderbund Software, Inc. ing studios where the Amiga is being and mood swings. There are also a variety 17Paul Drive employed in professional capacities. Each of U'ack conditions including dirt, grass, San Raphael, CA 94903-2101 week, the show features different segments and mud. (800)521-6263 ranging from beginners pieces to advanced Of course, should you tire of playing Price: $49-95 users segments. The program also devotes the same ponies or playing the role of the Inquiry * 230 time to users groups. hapless gambler, you can pick up one of Viewers in the New York City area SportTime's expansion modules like Track BIG TIME can tune into The Amiga Video Magazine 2 (a new park with 128 new horses, each Well, if your Amiga has appeared a Mondays at 6:30 p.m. on Channel 23/1 with their own individual skills), or Stable little aloof as of late, be patient. You know­ cable. The program will soon become Owners (own and operate your own how- celebrities can be. First the commer­ available nationwide on the Arts and Enter­ stable, selecting your horses and jockeys). cials, then the six-page spreads in major tainment network. OMNI-PLAY Horse Racing features publications, and now this. Yes, the Amiga digitized sounds, and high-resolution is now the star of its own show. Tire Amiga For additional information, contact: graphics that include dual scrolling back­ Video Magazittebegan airing in November Ma rk ,1 Ion tellese, Prodi icer ground and track. The package requires a in the New York City area. (212) 724-0288 (continued) Hand Scanner and TbudHJp ^

I'w-rfuJ Uwls Sr PMfetcfafialpuhiWiiiie. Hi Quality Version Available on AMIGALAND.COM

With the Migraph Hand Scanner and You can buiid your own library of images favorite Amiga publishing programs like Touch-Up’1-' you can now produce profes- from logos, photographs, books, and Professional Page7'-' and Page Stream"'-'. sional-quality high-resolution scanned illustrations, And that's just for starters. A variety of load/save formats also lets you graphics from start to tinish—without Finish with software that won't quit. use images on the PC, Mac, and ST. changing programs. Last but not least: The Migraph Hand This unbeatable hardware-software team With Touch-Up, Migraph's complete Scanner and Touch-Up are easy to learn lets you scan, edit, and enhance images design tool for high-resolution mono­ and easy to use, until they're exactly right for all your chrome images, you can put the finishing See you dealer today for more details or desktop publishing projects. touches on every image you scan. Its call Migraph toll-free. powerful editing functions include standard Start with quality hardware. commands plus extras like rotate by The Migraph Hand Scanner and The Hand Scanner has all the degree, slant, stretch, outline, and Touch-Up. Powerful tools for profes­ features you need: A scanning bolding. A complete paint program. sional publishing. window over 4" wide. Four A full array of drawing tools. For Am ga 500 1000 and 2000 systems win 1 MB mem cry A harc d'sk s scanning resolutions— Not to mention special recommended 100.200, true 300, effects and scalable and true 400 dots outline fonts. When per inch. Adjustable your images are contrast. Three dither Y j1'-,. pixel-perfect, you settings for scanning photo- •% can import them graphs. Plus a special setting for line art. into your A% M l G R 4 P H

Migraph. Inc. 200 S. 333rd. Suite 220 Federal Way. WA 98003 223-3729 (10 to 5 FST) (206)838-4677 ■ iJKMigiapn he Theltoapaio^srvilouJvUpareiraJeflWlsofMamr. Ire A one'proceco .rel-aderr^Vi & o>o-r repecn e ce-Tpe-res

Circle 133 on Reader Service card. being produced by Amiga developers.” Suggested retail price for die A2500/ The Krueger Company w m FROM AN0THER DR. CHIP TIP 30 is $4,699. Owners of die 2000-line can provide a wide Amigas can upgrade by purchasing the variety of MEMORY, A2630, a newly available 68030-based MICROPROCESSOR, accelerator board. The suggested retail and SUPPORT CHIPS. price for the A2630 is $2,195- ln addition Lo the A2630, Commo­

a l l KRUEGER p a r t s dore announced the availability of several carry an unconditional 30 day other new Amiga peripherals, including the guarantee. The minimum A2091, an autobooting hard disk controller purchase is $50.00. and memory expansion board, and the Call Myron Lieberman at 2091-40, an autobooting 40MB SCSI hard (800)2*45-2235 or FAX disk and controller. Also new is die A2232, (602)820-1707. M en tio n AMAZING COMPUTING. a multi-serial port card which provides 2. users with seven additional RS232 ports, 8 MHZ 68010 s 1.00 each capable of operadng independently 12 MHZ 68020 $30.00 or simultaneously, providing speeds of up 16 MHZ 68030 $40.00 to 19.2 KBaud. The A2091 and A2091-40 5 MHZ 8088 s 1.00 retail for $399 and $899, respectively. The 8 MHZ 8086 S 1.50 A2232 carries a retail price tag ot 5399- 8 MHZ 80286 $10.00 Bur before you starL rolling your DP8464BV3 PLCC s 1.00 pennies for that A2500/30 or A2630, you should be aware dial Commodore also ASK ABOUT Z80s AT GREAT PRICES announced price breaks on some of their 2000-line products, The A2000, which for­ The Krueger Company (800)245-2235. merly retailed for $2,195, will now retail for Circle 118 on Reader Service card. $1,899- The retail price of the A2000HD lias dropped from $2,999 to $2,699- The A2500/ STEELHi Quality Version Available on AMIGALAND.COM PAWS The Pregnant Badger program runs 20 is down to $3,999 from $4,699 retail. And Well, if you've noticed any long lines on any Amiga and requires 1 M memory, the A2620 card, which formerly retailed for streaming out of your local Ticketron AmigaDOS 1.2 or higher, and a MIDI Inter­ $1,995, will now go for $1,494. dealer, it's probably folks lining up to face. The Performance package includes In other Commodore news. Commo­ witness the Performance of the year. No, one program disk and a 95-page manual. dore has formed a multimedia marketing it’s not some monumental rock band kick­ group to be headed by former Disney ing into gear for a North American tour. Performance producer Ken Christie. With ten years of This Performance comes from Pregnant Pregnant Badger Music marketing and creative experience in the Badger Music. 10010 Biscanewoods Way video production and interactive video Performance is a new database pro­ Sacramento, CA 95827 industries, this fellow is — pardon the ex­ gram that allows MIDI musicians to incor­ (916)361-8217 pression— no Mickey Mouse. As part of an porate existing patch files and sequences Price: $165.00 effort to enhance Commodore’s position 111 into live situations. Performance is de­ Inquiry *231 the multimedia industry, Christie will re­ signed to allow the performing musician to portedly be responsible for die manage­ keep track of MIDI infonnation including THE NEW AND IMPROVED ment and integration of Amiga marketing Synth Presets, Patch Banks, and Se­ From West Chester comes news of programs in desktop and professional quences. Performance also works by send­ new products, prices, and PR. Commodore video, interactive video, and professional ing MIDI information to your instruments, has introduced the Amiga 2500/30 into die music. dius automating your MIDI setup. Amiga computer family. The latest Amiga Performance features a built-in set features a 68030 processor and a 68882 Commodore Business Machines, Inc. editor, as well as a built-in sequence player math coprocessor, as well as two bridge- 1200 Wilson Drive that plays Standard MIDI Files. The pro­ boards diat allow A2500/30 users to run West Chester, PA 19380 gram includes a user-configurable data­ both MS-DOS hardware and software. (215)431-9100 base, the complexity of which is limited According to Commodore Director of Inquire' =232 only by the amount of available memory. Business Markets David Archambault, Performance supports interlace and non­ Commodore developed the A2500/30 to interlace screen modes, and a large font "meet the demands of [their] customers and legible from up to 30 feet away. the increasingly sophisticated applications •AC* •Star Command •Super Hang-On •RoboCop •Bad Dudes

by R. Bradley A ndreivs

STAR COMMAND You control the First on the list this month is Star assignment GjtSEti Command, a game recently ported to the choices for each Amiga for Strategic Simulations by An­ of these years. S u per dromeda Software. The game takes place Assignments will Hang-On in the far future in a remote corner of the increase skill lev­ p u ts yo u galaxy. The earth was destroyed long ago els in the appro­ in con trol by a hostile alien race, but humanity' is still priate area, in­ o f one o f a force to be reckoned with. Humans are crease a charac­ the concentrated in a section of space known ter’s own statis­ fa s te s t as the triangle, an area of space inside the tics (e.g., make cycles in protective border of the three main defen­ him quicker), or the sive starports. The immediate area around advance him on w orld. the triangle is divided into roughly two to tile next rank. camps. The Alpha Frontier was an exten­ Ranks are impor­ sive mining area but has become infested tant, since they withHi Quality Version Available on AMIGALAND.COM pirates. The Beta Frontier is occupied determine the by a race of hostile intelligent insects. amount of pay a character receives for per­ After die squad is created, it must Beyond these are many other races, but forming duties. While there is a random carry out the missions assigned to it by only a robotic race is known to have the chance of gaining a rank during any assign­ headquarters. While missions do vary same level of technology. Fortunately, they ment, only Officer School guarantees one somewhat from game to game, a general never venture into the triangle itself. rank of advancement (though it does noth­ pattern is follow'ed and each must be You must handpick the eight team ing else). The chosen category is not al­ completed before the next is assigned. members you will direct on missions ways available and sometimes a character Missions begin simple but grow' increas­ throughout the galaxy. Characters are is assigned to a category other than the one ingly difficult until the final climactic mis­ rolled randomly and can specialize in one chosen. Generally it is not too bad, but if sion which — you guessed it — involves saving humanity. of four different fields: Marine, Soldier, the alternate assignment is a desk job, that Pilot, or Esper. The first two are variances year has just been wasted. The game en­ Combat is the main focus of die of grunt soldiers and will do most of the courages you to spread this training out a game. Both space and ground battles will occupy most of your time. Each involves a combat. Pilots fly the spacecraft and jump- bit since no skill level can be increased partially simultaneous move-and-fire se­ ships that take your squad from planet to more than three times. quence. Depending on the speed of die planet. The final men and the ships fighting, each side will category, Esper, get up to six phases to move, which will be is only open to followed by a combat segment. Immedi­ those who are Star ately prior to combat, you must select the highly skilled in Command opponents for each of your squad mem­ mental force pro­ role bers . Then die computer will play out each jection. p la yin g in of the actions in order, once again based Each raw' a rem ote on the speed of the combatants. It is pos­ recruit must first c o m e r o f sible to disengage from most combats by complete eight the eidier moving out of range of all oppo­ years of basic galaxy. nents in the case of ship-to-ship combat, training before or leaving via an exit during a man-to-man becoming eli­ encounter. Some actions, such as board­ gible for squad ing enemy ships, do not allow for leaving, membership. so it is a fight to the death. , ° (continued) If the game sounds interesting so far, out, and it is apparent drat graphical rich­ asked whether the game was really worth don’t get your hopes up too high. SSI has ness was not even considered during de­ it. I decided I had played enough to write yet to learn how to do a truly good Amiga velopment. Sound is adequate and on die about the game and put it away perma- port. The graphics, sound, and user inter­ same level as the graphics, and that isn’t nendy, 1 just wish someone would come face are far below par. The graphics look saying much. out with a good game with a similar theme. almost like a straight copy from IBM EGA In case you haven't realized, I am It would be wonderful if SSI would rewrite graphics and come nowhere near the rich­ extremely annoyed with many aspects of the game to make it more playable and ness possible on the Amiga. the game. Why not just dump it and write enjoyable, but 1 will not hold my breadi waiting. Perhaps i will have die opportu­ nity to work on a space game of my own shortly,... In closing, let me say that 1 can only ARREST 1.S4 recommend Star Command for those w-ho jUfiTTT. ~ RoboCop: MgM nfli are literally starved for a space role-playing j*,*- -» — ■ serving and Ml' *--*■ — 1W game. If you have the ability to ignore the Bl - Hi m protectin g s Ba poor graphics and die patience to work ■H - - - the citizens i f f dirough the painful interface, you may ac­ -gf o f the tually enjoy die game. But otherwise, I Lv. W ^ ‘A 3 fu tu re. would steer clear.

Next tills month are three new arcade game translations from Data East. Each is S —i f h i Q p 1 ! an adaptation of an arcade favorite.

SUPER HANG-ON Super Hang-On is a motorcycle rac­ The interface is very character-ori­ about something else? Believe me, I almost ing game that puts you in control o! one of ented; I never had the need, or ability, to did. I became extremely frustrated at the the fastest cycles in the world. Only your use the mouse in the program. Though it start and almost quit. But I persevered and skill and reflexes will allow- you to win die remains visible die entire time, I often had after many hours of play, I witnessed ultimate race. The race is split into four to “hide" die cursor in the bottom left gleanings of a reasonable game system racing segments of differing difficulty lev­ comerHi Quality Version Available on AMIGALAND.COM so it would not obstruct my view of underneath. els. Airica is the easiest, widi only six the screen. The game incorporates exten­ It is fun to build up a squad from checkpoints required for the entire race. sive use of menus, but not die kind Ami- lowly Privates to Grand Admirals during The European race is the most difficult and gans are familar with. They are common on the game (though I never got diat far). The has eighteen checkpoints to pass through. IBM programs for users widiout a mouse or missions, wfflile often somewhat silly, do tie As with most games of this genre, you other pointing device. Typing the appro­ die game togedier. There just isn’t that begin with a fixed amount of time at die priate letter for an option either performs much out there for those who like "role- start and gain additional time bonuses Un­ that action or takes you to a submenu with playing" games and don't want to play successfully crossing each checkpoint. If further options, another D&D. So 1 kept coining back to the time runs out before you cross die finish I guess this would not have been so game until I finally finished the first main line, die game is over. bad if the menus had been consistent, but mission, finding and defeating the pirate Many other racers crowd the track diev are not. In one place, selecting “G” Blackbeard. I w-as tempted to waste even and must be carefully avoided. Even may change die time delay formessage dis­ more of my weekend, until I sat back and slightly bumping them will drastically slow play; in another, selecting “T” may do this; (continued on page 22) still in a third instance, “C" may be die proper key to press. The system was not well drought out. My odier main gripe about die inter­ face is its slowness when changing from B ad Dudes: mode to mode, such as initiating combat or Eigbtingyour entering a starport, and the difficulty of n ay through getting even simple information, such as Ninja-infested detailed squad statistics. It can be very sew ers in difficult Lo be sure everyone is armed search o f properly, or to find exactly who lias the high-ranking flamethrower. officials. The graphics have a bland look about them. While appropriate for much of the information, boring text is used through- Enjoy Your Favorite Magazine Even More.

Order AC's Disks and save yourself hours of typing.

AC'sHi Quality Version Available on AMIGALAND.COM Disks include source code, executable, and IFF pictures, when available, for all articles that are printed in Amazing Computing.

AC Disk #7 This disk contains the source and executable code relating to articles in AC V4.ll & AC V4.12

Arexx Part II: Inofrmation on how to set up your own ARexx programs with examples. AuthonSteve Gilmor.

Leggo My LOGO: A Logo program that generates a Christmas tree with decorations. Author: Mike Morrison.

Trees and Recursion: An introduction to binary trees and how to use recursion. Written in C. Author: Forest Arnold.

C Notes V4.12: A look at two data compressing techniques in C. Author: Stephen Kemp.

Animation? BASICally: Using cell animation with AmigaBASIC. Author: Mike Morrison

Menu Builder: A utility to help build menus in your own programs. Written in C. Author: Tony Preston.

Dual Demo: How to use dual play-fields to make your own arcade games. Written in C. Author: Thomas Eshelman.

Scanning the Screen: Part four in the fractals series. This article covers drawing to tire screen. In AmigaBASIC and TrueBasic. Author: Paul Castonguav.

C Notes V5.1-. Recursive functions in C. Author: Stephen Kemp.

For a complete listing o f AC disks, see page 106. Only $6.00per disk ($7.00for Non-Scubscribers). WORK, WORK, WORK! or: There's No Business Like The Video Business by Burty Solomon Video Editor

I know a lot of you Amigans out there If your knowledge of business is 1. What services will you offe r? have a secret yearning. Some of you have rusty or nonexistent, I refer you to your Exactly what is it you are proposing had your Amigas a few days; some a few local library' or bookstore. There are any to do? Will you be doing graphics for other weeks; some a few months or years. Some number of excellent books on the market video companies, or will you be producing of you haven't even bought your Amigas dealing with starting and running your own y'our own complete videos? Will you be yet. But you all have one tiling in common: business. Also most local community' or doing weddings or industrial videos or you want to be in the video business! junior colleges have courses on this topic. commercials for broadcast TV? If this is your secret yearning, I have someHi Quality Version Available on AMIGALAND.COM tips for you. Whether you are a 2. To whom will you offer your complete novice or an accomplished ' r V services? Amiga artist or animator, if you want this to Every yea r Who exactly will be your clients? be more than a hobby, if you really want to Friends? Neighbors? Corporations? School make it big in the video biz: THINK OF IT thousands of systems? Ad agencies? AS A BUSINESS! hobbyists try to This may sound a little too simplistic, 3. Is there a real market for these serv­ but it isn’t as dumb as it sounds. Every year turn their ices in your area? thousands of hobbyists try' to turn their hobbies into Once you've decided what you want hobbies into businesses. The majority' of businesses. The to do and for whom you want to do it, you them fail miserably. The statistics on new must ask yourself if there is anyone 1 ike this business failures are scant Usually these majority o f in your area who really wants and needs entrepreneurs fail not so much because them fa il this service. And will they' be willing to pay they are bad businesspeople, but because for it? they just can’t think of their hobby as a miserably. The business. statistics on new 4. How will you sell/advertise/market Businesses usually require a great these services? deal of thought, planning, and patience. business failures How will you make these people Not to mention money, a little daring, and are scary. aware that you are in this business? How some luck. The Desktop Video business is will you make them chi :ose you over the no exception. You may know everything V Ji competition? there is to to know about producing incred­ ible videos, and you may have equipment To begin with, you need a business 5. Do you have any competition? that would make any TV station salivate, plan. A good business plan will not only Are there already people (competi­ but can you run a business? Have you ever contain lots of numbers (expenses, invest­ tors) in y'our area offering these sendees? If been in business? What do you know about ments, projected income, etc.), but also there are it doesn't mean that you can't also running your own business? answers to the following questions: be successful, but you now have to exam­ ine a number of other questions. Who are those incredible computer graphics you're you have a lot to learn. Answering those these competitors? What exactly do they doing for someone wdio’s already questions in your business plan completely do? How well-known are they? How good established and successful in the video and honestly wdll help you determine are they? What do they charge? Can you business?! exactiy what equipment you’ll need. Re­ compete in terms of quality? In terms of Look up video sendees in your local search that equipment thoroughly before price? Is ihere enough potential business Yellow Pages. Check with your local cable you spend a penny, Take your time. Noth­ for all of you? station. Call your Uncle Fred’s neighbor ing is more frustrating (or more expensive) wdio videotapes weddings. If you can hook than buying the w'rong equipment. Espe­ Anyway, you probably get die pic­ up wdth one or more people already in the cially w'hen you discover die fact three or ture. You can find lots of informadon on video biz, you may find yourself a steady four months dowrn the road in the middle developing a business plan at your local stream of work! of a project! library. Better yet, check with your local The advantages to this approach are Be prepared to put some serious time Chamber of Commerce, Businessperson’s immense. You may need to do little or no and effort into learning about video. Many Association, SCORE (Service Core of Re­ marketing of your sendees beyond your local community colleges now' offer video tired Executives), or even the Small Busi­ initial contacts. You may also have saved classes. Or check wdth your local cable ness Administration office. They can often yourself hundreds or thousands of dollars company. Many of them offer basic video give you the information you need along investment in equipment! Most of these instruction as part of their public access with key advice. people will eidier have or have access to programs. Just having taped your friends Don’t be surprised, however, if you and/or relatives at a party' does not qualify find that none of diese people have ever you as a videographer (yes, that's the term). heard of Desktop Video! It will probably be Watch a lot ofTV. (Finally, the excuse up to you to explain this to them and to dig you've been waiting for!) Make notes about out the generic business information from or tape the professional graphics that you what they give you. Also, do not be too Whether you are a admire. Study them to see what die pros are surprised if they do everydiing they can to complete novice or doing. Get ahold of the videotape or vide­ talk you out of it: if this is a business they an accomplished odisc called "The Dream Machine" to see have never heard of, they will almost cer- die current state of the art in computer takily be afraid of it. Amiga artist or graphics. If you haven’t seen this before, Don't forget, also, that your area will animator; if you and you’re really into computer graphics, greadyHi Quality Version Available on AMIGALAND.COM affect your business plans. If you be prepared to do some serious drooling. live in New York City or Los Angeles you want this to be more Even if fancy 3D ray-traced graphics are not already have lots of competition! Don’t than a hobby; if you w'hat you're planning on doing, it’s still expect to make it big there unless you have really want to make important to know what can be done. You oodles of money, considerable talent, or should never be ignorant of what the some otiier factor which wall make you it big in the video current state-of-the-art is in your owm field, stand out in die crowd.You may have to biz: THINK OF IT even if your owm work will be at a much market your sendees outside of your less complicated level. immediate area in order to compete at all. ASA BUSINESS! Finally, you must understand going If you live in a very small town, you may in that if you’re very proficient at what you find that there is just no market in your area do, have a lot ofluck and work very hard, for what you’d like to do. Here again you you may be able to do OK. However, you'll may have to pitch your sendees outside never make it big in the video biz wdthout your region to survive. editing equipment w'hich can be used to a lot of talent and imagination! If you’re already in the video busi­ combine your graphics witii their video. This month in my Video Schmideo ness and just want to begin adding com­ Often tiiey will come to you with portable mailbag I received a letter from Kenya puter graphics, tiding or animation, life will equipment to record your output. Once Pittman of Philadelphia. Kenya wrote be a litde easier. If you’re starting from they have your Amiga output on tape they regarding my first article (AC V4.9). Appar- scratch and you do not know' computers or can use it as they wish. You are finished, endy, my obsession with desktop video video, life will be a lot tougher. paid (hopefully), and on to die next project! sounded familiar and Kenya, having a For those of you who are doing neat All you really need for diis. besides your similar drive, wants to know' what equip­ tilings with your Amigas but have not yet Amiga and software, is a genlock or en­ ment to purchase. Specific questions in­ tried to get into video, I have a BIG dp for coder! This w'ay you have spent minimal cluded: "Should I buy a 500 or a 2000?’1, you (no tiianks necessary, just send cash). time wdth a minimal investment. The re- "What type of genlock?", "How' much Before you start buying cameras, wrards can be very nice. memory'?”, etc., etc. Well Kenya, I'll do what I can. First of VCR’s etc., and try to learn how to use them, If you really want to do the video part all, even without knowing exacdy w'hat think about this: How about providing yourself and you are starting from scratch. Orders Only 1-300-733-AlVIIGA\ h P.O. Box 2104, La Mesa, CA 92044 |C r * O l^ V 1 1 0 3 Customer Service 1-619-670-3161 24 Hour FAX 1-619-670-9732

Discount Hardware &. Software BBS 1-619-670-1095

HO CHAKCe FOK VISA & ft)A5TSKCARP Hardware Software ASDG ScanLab S815 DataStomi S26 Toll Free Ordering A max Mac Emulator SI 28 Deluxe Paint Hi SI 05 Boing Mouse S99 Digi-Paint 3 S65 California Access 880 SI 33 F-T6 Falcon S32 Free Catalog Digi-View Gold SI 35 HiSoft Basic SI 07 Dual Serial Port Board S211 Lattice C 5.02 SI 90 Same Day Shipping Expansion Tech Toolbox (500/1000) S2I5 Lords..Rising Sun S3 3 GVP A3001 w/68030/68882/4mb RAM 52,500 Music X SI 75 Hurd Disk Controller S211 PageStream SI 29 FAX Ordering Magni 4004 Genlock w/Comroller S I.685 Pen Pal S88 MicroBotics Hardframe DMA S250 Populous S3 5 Credit Cards Not Charged Panasonic W V-1410 Camera w/Lens S234 Professional Page ! .3 SI 75 Scanlock Genlock S872 Sculpi/Animaie 4D S386 Until We Ship SupraDrive 500 30meg Hard Disk S614 Superback S5S SupraRam 500 (512k. Clock/Cal) S99 Superbase Professional S225 We Carry Over 1300 Titles SupraModem 2400 External SI 19 The Works! Platinum SI 75 SupraModem 2400zi Internal SI 26 World Atlas S39 Circle 182 on Reader Service card. y

At M icroM iga our customer and iheir Amiga are Number O nt. We carry over 1300 Amiga products. WAV too many to list here, dtvcounied up to 35^ oft rci.nl! Delectise items repaired or replaced within HI dav; of delivers Non detects subject to 20Cc restocking lee. Shipping charges are S4.50 first item and 51,00 lor each additional Hem Hardware shipping rules by quote only Hi Quality Version Available on AMIGALAND.COM you would like to do, I would have a very 2500 (widi a built-in 68020 processor and myself at length and appear pompous. Just tough time recommending an Amiga 500 68881 math coprocessor), or go to the remember (I’ll paraphrase) that no matter for professional use. Don’t get me wrong, brand new 2500/30 which includes a 68030 how good your work is, it will be worthless it's the same great maciiine that die 2000 is, board running at 25 MHz as well as a 25 unless you can gel it out of vour Amiga and basically, and it is expandable, but a 2000 MHz 68882 coprocessor. onto video with the quality you need (and (series) will probably save you a lot of As far as memory goes, I honestly your clients expect), headaches down the road. Besides which, don’t think there is such a thing as .'Vs far as other hard ware “necessities" the 2XXX machines also have die video "enough’ . I have a 2000 with a total of 3 are concerned, again, you must decide slot which is necessary for some genlocks meg (at this point) and, frankly, I run out of what you want lo do. 1 have found a and other forthcoming video devices (the memory fairly often. The amount of digitizer to be indispensable. 1 am also Video Toaster and odters come to mind). memory diat you absolutely must have will currently using a scanner (to digitize logos At this point, it may also be important depend very' specifically on exactly what and such), which I am beginning to feel 1 to think of speed. If you would like to do you intend to do. cannot live without. 3D ray-traced animations and you w'ould My best blanket recommendation, Once again, that’s about it from this like to do many of them before you get old, especially if you want to do anything in end. Please don’t hesitate to write me if you you might want to get a faster machine. animation, would be 3 meg. .Also please do have any video problems or questions that You can add faster processors from Com­ make sure that, whichever machine you require common-sense answers. modore or third-party suppliers to your purchase, you do get die new 1 meg Fat 2000 or, it you don’t feel dial you need die Agnus chip. All current models have been Barry Solomon speed as yet, just start widi a 2000 to make shipping this way for a couple of months, Video Editor the upgrade option easier at a later date. but there are probably a few without them c/o Amazing Computing The 500 can be similarly upgraded, ieit on the dealers’ shelves. P.O. Box 869 but it is more difficult and, in some cases, As far as a genlock goes, please Fall River, MA 02722 more expensive. Alternately, you can go check out my column in AC’s November straight to the top and start with the Amiga issue (AC V4.ll) so 1 won’t have to quote •AO F.A.C.E. PhilAmiga BBS; Phone: (215) 533-3191. We are a very active group and our meet­ Fayetteville Amiga Community Exchange ings are very well attendeci. We have activ c 1014 Streamwav Drive Newsletter: The Blitter, monthly. subgroups with varied special interest Spring Lake, NC 28390 (video, graphics, music, programming, John Berger, Secretary business, etc.).

Meeting: 3rd Wednesday of each month at R.G.V.A.U.G. Meeting: 3rd Thursday of the month at 6:30 7 p.m. Rio Grande Valley Amiga Users Group p.m. c/o Marilyn Martin Location: Software Exchange, Sycamore Computer Graphics Lab, NMSU Location: The Computer Cellar, Westgate Square Shopping Center, Fayetteville, NC. P.O. Box 30001, Dept 3AT Shopping Plaza, Albany, NY. Las Cruces, NM 88003 BBS: We use the BKAGG BBS; Phone: (419) (505) 646-1840 BBS: Atredes BBS, 1 line, 80-meg HD. 432-2013 Amiga 500, 1 meg RAM. Phone: (518) 370- Description: Our group is small but in­ 5207. Sysop: Lou Matrazzo tensely involved with animation.

H.A.U.G. Meeting: 1st Thursday of each month at 7 Hartford Amiga Users Group p.m. V.C.C. P.O. Box 504 Valley Computer Club South Glastonbury, CT 06073 Location: Room 129Jacobs Hall, NMSU, Las P.O. Box 310 Bob Morrison, Treasurer Cruces, NM. Denair, CA 95316 Hi Quality Version Available on AMIGALAND.COMRubv Larson, Secretary Description: Organized 12/86, with 70+ (209) 529-8473 active members, monthly meetings with and presentations, a club newslet­ BYU Amiga Users Group Description: Supporting Amiga computers ter, free monthly dub disk, complete pub­ 432 ELWC in Turlock, Modesto, and the surrounding lic domain library, and SIG's. Brigham Young University California area. Provo, Utah 84604 Meeting: 3rd Thursday of each month at Brian Koetting, President Meetings: 3rd Wednesday of the month at 7p.m. (801) 377-2269 7 p.m. to 9 p.m.

Location: Aetna Institute, Farmington Ave­ Description; Group members are princi­ Locations: Doctors Medical Center Confer­ nue at Sigourney Street, Hartford, CT. pally students of Brigham Young Univer­ ence Room, Florida and Orangeburg Ave­ sity', but meetings are open to all. PD nue, Modesto, CA. BBS: Under development. sharing, projects, and workshops on the many applications of tire Amiga is the Newsletter: Valley Computer Club group's focus.

P.A.U.G. Meeting: Every 2nd and 4th Saturday at Philadelphia Amiga Users Group 10:00 a.m. T.C.U.G. P.O. Box 21186 Textile Computer Users Group Philadelphia, PA 19154 Location: 258 ELWC on the Brigham Young P.O. Box 1065 Tony Antonuccio, Editor University campus. Lafayette, CA 94549 Margaret Copeland, President Description: The largest Amiga users group (415) 284-1635 in the metropolitan Philadelphia area. We are eager to help new Amiga users get the C.D.A.U.G. Newsletter Announcement: The Textile information they need. Capital District Amiga Users Group Computer Users Group announces the P.O. Box 14353 publication of Computer Textile Exchange. Meeting: 2nd Saturday of the month at Albany, NY 12212 GTE is dedicated to providing tlie profes­ 12:30 p.m. Carmen Artino, Secretary sional and amateur textile designer with the (518) 783-1784 latest information for using personal com­ Location: Drexel University, MacCallister puters in textile design. Quarterly, S24/yr. Hall, Room 4014. Description: We are loaded in Albany, NY but serve Amiga computer users in the BBS: We have a working relationship with entire Capital District of New York State. •AC* (Snapshot, continuedfrom page 16) BAD DUDES HIGHS AND LOWS your speed down, hindering your progress. The diird game is Bad Dudes. It The most recent release from Inner- For some reason, they are not affected at all seems Ninja criminals are everywhere. prise software, Batde Squadron, is bound by a crash with you; this can be somewhat Even the White House is not safe. The to set new-standards for Amiga games. Pro­ annoying. President has been kidnapped by die evil grammed by die same programmers who Obstacles also appear at frequent Dragon Ninja, and only you can help. brought us Hybris, die sound and fast- intervals along the sides of the road and Beginning in the city, you must fight paced action are very' nice. The game does hitting these can not only throw you for a your way through the sewer, forest, freight have a few flaw's, such as the inability to loop, but also cost valuable time while you train, and cave on your way to the factory continue in some parts of the game, and die remount and restart your cycle. wliere the President is being held. At die usual failure to save die high score to disk. Super Hang-On features a subjective end of each segment, you must defeat that But this is a game every serious arcade view of the area in front of your cycle. level’s super bad guy to advance to the next player should have. Objects zoom past based on your current challenge. Finally this month, 1 want to steer you speed. One glaring deficiency is the lack of Should you somehow' manage to away from buying Dr. Doom’s Revenge, by any kind of rear-view mirror. While you are make it through all seven levels and defeat Paragon Software. While the premise is usually focusing on passing other cycles, the Dragon Ninja at the end, your quest will interesting (controlling both Spidennan opposing cycles will pass you if you are be completed, and you will be a hero to the and Captain America in their quest to going slow enough. This may be realistic, free w'orld. remove a stolen nuclear weapon from Dr. but without a wray to tell where they are Once again, the joystick is the pri­ Doom’s evil control), the game mechanics passing you from, it is very easy to be hit by mary control device, but diis time it does a are downright lousy. It takes an extremely several cycles in a row when regaining few more things. Not only is the joystick long time to even start up die game, and speed lost in a collision, slowing you to a used for simple left and right movement, then the controls are so difficult to master virtual halt after each collision. but pushing it in die odier directions with that you will quickly die when facing your Either a mouse, a joystick, or the and without the button will cause one of first robotic foe, let alone any real super keyboard can be used to control the cycle, the many possible karate attacks to be villain. but I found the joystick to be die preferable carried out. This can be a bit difficult to Most bad games at least let you live method. The game has a few options that learn and will require some time to master. through the first few minutes of gamepluy. can be adjusted for play, such as die Avoid Dr. Doom's Revenge at all costs and sensitivity of the control device and die The graphics in all tliree games are spend your money on something else. See music to play during the trip. Each race has reasonably close to the arcade original, you all next month. its own backdrop based on the prevalent with Bad Dudes being the best, RoboCop •AC* terrain type. coming in second, and Super Hang-On a Hi Quality Version Available on AMIGALAND.COMdistant third. Racing games have been done Star Com m and ROBOCOP better, but Bad Dudes has some pretty Strategic Simulations RoboCop is an arcade game based on sharp graphics for all the action that can 550 South Winchester Boulevard, the policeman of the future. RoboCop has occur on die screen at one time. Suite 200 three missions: 1) Serve die public trust, 2) The sounds are also faithful to the San Jose, CA 95128 Uphold [he law, and 3) Protect the inno­ originals. Again, the ranking is the same, Price: SI9.95 cent. To do diis, he is authorized to use with Bad Dudes' effects being the most inquiry #209 whatever force necessary to free the streets realistic, but any limitation with the odier . Super Hang-On of Old Detroit and clean up the Scum who two games is more a limitation of the ■ C/O Data East USA, Inc. have tried to take over. Armed with a arcade original. The background music can 1850 Little Orchard Street variety' of weapons, including a Special become annoying in Super Hang-On, but Son Jose, CA 95125 Issue Auto-9, you must accomplish all diis since the music can be turned off, this is not (408)286-7074 without letting RoboCop’s power level be too much of a problem. The first two bodi Price: $44.95 drained too low. feature digitized start-up sounds, one of a Inquiry #210 Nine levels in all await to challenge motorcycle rewing up and the other of the RoboCop you, with a few' intermission “bonus” recitation, in true movie style, of C/O Data East USA, Inc. rounds throwm in for fun. Each will require RoboCop’s missions. 1850 Little Orchard Street a slightly different strategy to complete All three lack a demo play mode. This San Jose, CA 95125 while keeping yourself intact. The play is disappointing as it is usually fun to watch (408)286-7074 segments use a standard horizontal scroll­ the computer play through at least the first Price: $44.95 ing routine and most of your movement is fewT levels to get an idea of exactly what is Inquiry #211 from left to right; howrever, some levels going on. Bad Dudes modify' this a bit and may even require you Also, none of these games save the C/O Data East USA, Inc. to go down a few levels to finish die high score to disk. Such a waste, Who cares 1850 Little Orchard Street segment. The joystick is the primary con­ what the high score wras during my most San Jose, CA 95125 trol device and is used to move RoboCop recent fifteen-minute playing session? (408)286-7074 around tire screen, with dre fire button While the price seems a bit steep, these Price: $44.95 Inquiry #212 firing die gun, or punching in die current games might be worthwhile if it were not direction. for some new competition. MENU BUILDER! by Tony Preston

This article is about menus. It is also about making the job of - ClearMenuStrip creating them much easier. I am not only going to describe how to build them, but I will also describe how to automate the process! - Clos©Window The Intuition manual describes menus by telling you how to It is important to remember that you have to remove die menu set up the needed structures. I may be a little slow, but i gave up BEFORE you dose the window. The system usually calls up the on menus alter rereading that chapter about three times! It was not Guru to tell you that you forgot to remove the menu! that tilings were hard to understand, but the documentation just SetMenuStrip takes a window pointer and a menu structure doesn't have many examples. It would have been nice if the pointer as arguments. Here is a simple example of code diat opens window example shown in the ROM Kernel manual had been a window and attaches a menu to it: repeated with an example menu! To understand and use menus,

you have to be familiar with several other things in Intuition. When extern struct Menu *MyMervu; I first looked at menus, I was just learning the Amiga and i didn't realize that menus axe not as hard as they appear! struct Window ’'Window; /* per to window*/ When I finally got back to menus about a year later, I found Window = (struct Window *)OpenWindowUNewWinaow); that things were not as complicated as they initially seemed! It seemed that Menu, Menultem, and IntuiText structures could be SetMenuStrip(Window, MyMenu)? setup with default values making tilings simpler. ClearMenuStrip(Window)? /* Remove Menu */ Since I am a lazy person, (a fact my wife will verify!) I decided to write a program that would automate the job. Looking at the CloseWindow(Window); /* close window */ examples and instructions in Chapter 6 of the Intuition Manual, I realizedHi Quality Version Available on AMIGALAND.COM that much ol the menu building process could be calcu­ The structure pointed lated very simply. For example, menus could be placed on a out by the external pointer window based on the width of the title. The width is in pixels which MyMenu is the one built by is easily calculated. The width of the menu items couid also be the MenuBuilder! This calculated using the longest item as die base width for the whole means that code similar to menu. Many other options and parameters could be preset to the above just has to be constants in most cases. I wanted a simple text menu (no graphics) linked again to use updated with support for key stroke equivalents. After I thought about the menus, at least, if the problem, I came up with the Menu Builder. A program that takes a changes are only posi­ simple text description and creates all the needed structures. As you tional. know, I’m a lazy person, and I like to set up the menu with as little The way you act on a work, as possible. Then take output from die menubuilder and use menu event is to wait ontiie it with as little work as possible. The program has to generate all window's port, get the the needed structures and make the resulting source file independ­ message sent to it and dis­ ent of other files, so I can compile it by itself. That way, if 1 want cover that it is a MENUPICK to change the menus, I only have to rerun the menubuilder, item. Messages are an inter­ compile, and relink. Before we get to the menubuilder, let me esting tiling on the Amiga. describe how a menu is structured. The example here will be similar You can get all kinds of dif­ to the Workbench menu. Menus are always associated with a ferent messages and each window. A program always attaches a menu to a window with a call one requires that you reply. to the system routine “SetMenuStrip”. If a program has multiple Waiting on a Port is the menus to use. it must first clear the old menu before adding the new proper way for an Amiga one. A menu is cleared by using a call to the system routine program to wait for user “ClearMenuStrip". This all seems rather simple, right? The basic input. You should never sequence you should always use is: code a loop that checks a device directly, using a CPU

- OpenWindow delay. A device should generate an interrupt that -...paired sets of makes your task ready by

- SetMenuStrip sending it a message to your port! This is what happens when you click the mouse buttons! example that imitates the Workbench. The Menu also includes an The code for a simple loop that waits for a MENUPICK item and extra menu thrown in to show sub-items. MenuBuilder decodes the properly replies to all messages sent to your task looks something commands MENU, ITEM, and SUBI to create the needed data to like: produce the menu structures you need to compile (Listing Three). There are many options to menus and IntuiText structures. Most of for (;;) /’ loop until a close gadget */ diem we will not need in this article. The menu example here is a ( simple text menu. With menus, you can do much more than just text menus, but I will leave those areas as an exercise to die reader (I VialtPort (window->UserPort); always wanted to say that!). message = GetMsg{Window->UserPort]t The menu description consists of the three command types. The syntax of the commands are: if((message->Class) c= MENUPICK [ ( MENU,Name MO = KENCNUM(message->Code)I ITEM,Name,[Select!,[Command! 10 3 lTS»JUM(Eiessage->Code); SUBI,Name,[Select],[Command] SO = SUBNUK(message->Code); 1 Where:

else break; Name is die name of the Menu, item, or Sub item. ReplyKsgt(struct Message *)nessage); If Select is an optional item which will display when the item

ReplyMsgt (struct Message Mnessage); is in position to be selected. Intuition will overlay the text in Select field on top of the text in the Name field. The MENUNUM, ITEMNUM, and SUBNUM code above are Command is the Character to use for selection of die menu macros that do the magic shifting and masking to the Code item to item with die Right-Amiga key. No check will be made to see diat decode die menu, item, and sub-item number from the message characters are not used more dian once. sent by Intuition (in The MENU command defines a menu. The name will be the Intuition.b). The above heading on the bar. The MENU command is die first command T~ assumes your window only describing your menu. It becomes the heading! Simple right! That’s ------has CLOSEWINDOW and die whole idea. You might be wondering where the heading will MENUPICK flags set. Be­ be positioned. The MenuBuilder will take care ol where it will be Hi Quality Version Available on AMIGALAND.COMcause of that assumption, positioned. You just tell it what headings you want! Intuition will only send you After each MENU comes die actual items in the menu. To die Menu selection and specif}' the items you use an ITEM command. Say, this is gening Close Gadget message. pretty easy isn’t it! The ITEM command has a Name, an optional That is why the code above selected name, and an optional Command character. The Name will ASSUMES that if it isn't a display on die menu when it is dropped. The Selected name will menu message, it must be replace the Name when the mouse passes over die item. The die Close Gadget! It be­ Command character will be the character you use with the Right- comes a simple coding Amiga key to select the menu item. exercise to act on each Each Item may have sub-menus. This is one of die trickiest menu item as it is selected. pans of creating menus. You have to overlap the Sub-Menu with This is all fine, except that the item it belongs too. If they do not overlap, you cannot select the die menu structure for even sub-item with the mouse. The MenuBuilder overlaps the Item by a simple menu must have about 25% (die bottom right hand comer). It will calculate all die three different structures, positions and make sure intuition is happy! posidoning information for To use the MenuBuilder, you just create a file like the one each item, and the external shown in Listing Two. 1 called the file “Listing2.menu” for this pointer, MyMenu, must be example. Each menu, item, and sub-item is described and then you defined for this ail to work. invoke the menubuilder with the command: Listing One is the full source code for this simple MENUBUILDER >List:ing3.c Listing2*menu program. It will open a screen and a window, at­ The resulting menu code will be in the file ,'Listing3.C' for this tach die menu, and receive example. The output from the menubuilder is collected using die die menu events until you standard redirection to die file. This makes the menubuilder code click on the close gadget. simple. The MenuBuilder along The bottom line is that you cannot use “its too complex or with this program will create a test driver where you can create a confusing’’ as an excuse anymore! With the MenuBuilder, you can menu and test it to see how itlooks! Now lets look at a sample menu create complex menus with lots of items and sub-items! file (Listing Two). This menu description contains the menu Once you start using menus, you might take a look at tire ends with a zero byte). Scan stops when it sees the zero byte or a intuition included files supplied with your C compiler. There are newline character. Scan Ls a useful routine. I use it frequently when many of options not mentioned here. One of these options is searching strings. Mutual Exclusion. Mutual Exclusion is a way to force one menu item The second function is “strncmp”. This routine is a “compare to exclude others. The normal usage would be to allow a user to two strings of fixed length" function. It is a library function supplied select only one printer drive out of many. Each printer driver by Lattice. 1 use it to decode the commands (MENU, ITEM, and mutually excludes all others. The MenuBuiider sets die Mutual SUB1). When “strncmp” finds a match, the string is sent to Scan to Exclusion field to zero, allowing any or all items to be selected. You move to the comma following tire command. When the command have to experiment to learn! The MenuBuiider will support only is MENU, ProcessMenu is called to take care of the rest of the string. part of the options used in a program. By editing the result from the If the command wras ITEM or SUBI, Processltem is called to build MenuBuiider, you can add your own options and still save alot of tire Item information. time creating menus. When I designed this The MenuBuiider is not perfect. It does not check for limits program, I decided to use like do your menus fit on the screen. Do you have too many items, the actual Intuition Menu or sub-items? You will find that a menu description will compile and and Menu Item structures to link properly only to see that it is messed up when you try to use store the data needed to it. That is the reason for the driver program (Listing One). With the create the resulting code. In Driver, you can create tire “look” you want. You do not have to ProcessMenu, a Menu worry about testing everything at once. You can actually build up structure is built for each a program based on the driver! With these programs, you can MENU command. This is actually create a menu, compile and link it with tire driver, and have done by dynamically allo­ a prototype of your application running in just a few minutes. cating a Menu structure. The Second half of this article will describe in detail tire actual There are two tvays to code in the Menubuilder. Tire first tiring to understand about the implement a program of MenuBuiider is my coding style. I have seen many of articles about this type. The first is to “Amiga-tizing" your programs. Well, I prefer tire “if it works, don't create an array large mess with it” style of programming (remember from the first article, enough to hold what you I’m the lazy one!). I like to use the print function for most of the tlrink will be dre maximum output, even if it is just one character! In addition, I make all my amount of data. This wall defined parameters all capitals (it makes them easy to spot). work most of the time, but Another characteristic of my programs is that since I use tire CLI it has a couple of draw­ mostHi Quality Version Available on AMIGALAND.COM of the time, I don’t usually add the logic to support running backs: Large arrays take up them from the workbench. memory. Itwouldn’tmatter Also important to note is that I use the Lattice compiler for all how' much data you have. If my work. 1 did not intentionally use any features that would stop you are tight for memory, this code from working wdth other compilers. If you have a problem you might not be able to or a question send me a note, and I will try to help to resolve it. run the program! Another Let’s start with tire main program. It will use tire command line reason is drat while you arguments as filenames of tlte menu descriptions. Normally, one “think” you know what is text file will be more than enough to describe your menus. 3 allowed needed to process dre for multiple input files just to make it easy to combine two or more maximum amount of data, menus into one program! If you combine menus, be aware that you may be wrong! I work for a company that has redelivered pro­ while duplicate menus and items names are allowed; it can cause grams many dines just to increase dre sizes of some tables that could confusion for the user. not be dynamically allocated. By using dynamically allocated The Main program has the job ofi memory for the structures, both of dre problems go away! The program is smaller and we only use the amount of memory we 1) Initializing tire process really need. Everything in this program is made into linked lists allocated dynamically. The Menu structure is used to store the menu 2) Opening each file name, a pointer to dre Items on the menu, and the length of the menu name. There are other fields in the structure, but I don’t use 3) Processing the commands them. Menus are linked together much like the actual menus. By- studying how this program processes and stores dre data, you will 4) Closing each file learn much about link list handling, not just menus. DoOutPut wrill travel these structures and create the code. Normally, when you are 5) Generating tire resulting code done, all allocated stuctures are released so that other programs can reuse the memory-. Since I am a lazy programmer, I let tlte Lattice There are two functions that do most of tire work lor the main functions clean up after themselves! With the standard library process. The first is Scan. Scan is a useful function that, given a routines malloc and calloc, Lattice keeps track of all allocated pointer to a string, will either search for a character or the first oc­ memory. When your program exits, a clean up routine will return currence of something that is not that character. This is a case where the memory you used. For a simple low- memory usage program the code is shorter than tire description! Scan will always point to like the MenuBuiider, this technique is fine. It saves a little work on a character in the string or at the end of the string (normally a string my part. I normally try to deallocate each block of memory after it is used. If you do not take care of this (or know that the compiler name if you have one. Some times it is easier to see what happens does lor you), you will find memory disappearing from the system than to explain what is happening! When a menu is dropped, the each time you run a program. Eventually, you will have to reboot “Name" is displayed for each Item. When the mouse passes over the the system to get the memory back. Item's position. Intuition will switch to die Selected name. This When the ITEM command is processed, several error211 gives the menu a dynamic appearance. The last part of an Item or checks are made in the function Processltem. The first is that you sub-item is the command character. The command character is the must have a MENU command before an ITEM command! The character you use with the right-Amiga key as a menu equivalent second check is for tlie for die keyboard. The maximum width of the menu item is kept in SUBI command. I use tlie the first item’s MutualExclude field, This will be used to size tlie Processltem function for menu. both the ITEM and SUBI When all the files are processed, a check is made to see if any Project commands. There is a very errors occurred. If diere are errors, the output routine is skipped. good reason for this dual The output routine creates all the menu code. The code is generated purpose! Both a Menu Item in die order it is used. The IntuiText structures are created first just and a Menu sub-item are because every Item and subitem will reference them. The sub-items New defined by the same are created next because all die Items will reference diem. The structure.The Menultem menus are created last because they reference all the Items. Load stmcture. The way this Creating the IntuiText structures is fairly simple, most of the works is that a Menu struc- entries are constants. You might try usingJAMl instead ofJAM2 in Save aire always points to a die structures used with the Selected names included. Once you Menultem structure using have a menu structure, you can experiment by substitution. (You Save As the Firstltem pointer. The can look at the Intuition Manual and the included file Intuition.h) Items that have sub-items for more information on the options available. have a pointer to tlie same The sub-items are created by traveling the menu list, and then kind of structure (Menu­ a nested trip tiiru die Item list. When a sub-item is found the ltem structure) with the DoOutSub function is called to generate the text. Subitem pointer. Both The Items are done much like die sub-items. The menu list kinds use the Nextltem is traversed, and each Item is generated. If the Item has a sub-item, pointer to create a linked the proper pointer is created to the previously generated sub-item list of either STEMs or SUBIs structure. (items or sub-items) from The Menus are similar with the only difference being the your input. Each block rep­ Menu structure does not use the IntuiText structure for the heading Hi Quality Version Available on AMIGALAND.COMresents either a Menu or text. The text is included in the actual menu structure itself. Menultem structure. The Finally, the last code created is the pointer to the menu itself. NULL is the indication of This is die one that die test driver will reference as external. This die end of die list. Your is our connection to die driver. Your program will reference this program reference the external item when attaching die menu to your window, menu using the pointer When you look at the actual text generated in Listing Three, MyMenu. just after the IntuiText structures, diere are a couple of pre­ Menus have several complexities that can confuse even those processor macros. A preprocessor macro is an aid to typing and familiar with them! One of the complexities here is the Menu readability'. The “FLAGS" macro defines die Item and sub-item header. You include the header text in die Menu structure direcdy. characteristics. I selected the options that would: For Items and sub-items, you can't just include the text. You must build another structure called an IntuiText structure and include a 1) CHECKIT - Mark a selected item with the standard check mark. pointer to the Menultem structure. The reason for this is to tell Intuition not only where to put pixel positions, but you also need 2) 1TEMTEXT - Tell Intuition that we are using text not graphics. information on die font (die default is used here) and what pens to use. Since 1 am creating simple text fonts. I chose some reasonable 3) MENUTOGGLE - Let you toggle an item and its check mark. defaults. The text ends up being a foreground color on die regular background. I also use the default font, This turns most of the In­ 4) ITEMEXABLED - Makes all items enabled initially. tuiText structure into a bunch of constants. The IntuiText stmcture will be the first tiling the output routine creates. The text for die The odier define is just a short cut to select the right IntuiText Items and sub-items will be saved in these structures by die structure and to keep the resulting text a little more readable. It function ProcessText. This function has die same type of “Create die allows the text for an Item to fit in less than 80 columns! List if new, or just acid to the end” logic as the other functions. The All the numbers in the Menu and Menultem structures are one difference is that a search is done to eliminate duplicate Item calculated using die character width of eight pixels. This is OK for names. It you use the name "DELETE" ten times in your Items, it will our default font and the normal menu, but if you wish to use larger only have one structure and all ten Items will point to it! This is the fonts you will need to adjust the pixel positions. As mentioned one time that I freed up the memory. This guy returns the pointer previously, the positions of the menus and the Items are calculated. to the IntuiText structure it either found or created. The pointer is Each Menu is given a width of die heading length plus 2 characters saved in the Menultem currently being built. The MenuBuilder wide. This gives a readable heading display. The position of any repeats tlie process for the Item (or sub-item) name and die Select ftcontinued on page 74) No Fishing! Tfje Ones That Got Away. A Closer Look at PD Software Not Currently in the Fred Fish Collection. by Graham K insey

This month’s highlights include a ATOMCLOCK creating icons. IconMaster’s paint screen stunning preview of what Workbench 1.4 AtomClock version 1.2: by Art Stein- includes such features as undo, dithered will be like, plus a fantastic gambling metz (AmigaZone file *17741). This new colors, a magnification window, AutoCen- simulation. For each program, the author’s version of AtomClock has one very' impor­ ter, swapping of pen colors, and more. The name is given when it is known, and in tant addition in die form of ARexx support. main control screen of IconMaster is where most cases, the AmigaZone download file This now makes it possible for those who you can edit die file protection bits of an number will be listed as well (this doesn't own both ARexx and WSHell (Bill Hawes' icon, alter an icon’s ToolTypes, diange die mean that if a file number isn’t given that it commercial shell) to have AtomClock auto­ stack size, and more. Hare Laser (Senior is not on PeopleLink at the moment, simply matically grab the time from the U.S. Naval Chairperson of PeopleLink’s .AmigaZone) that I obtained it from somewhere else) so Observatory' in Washington once a month. summed it up best when he referred to those of you who do have access to Peo- IconMaster as “DeluxePaint for Icons”. pleLink and its AmigaZone can quickly CARDCOMM download diis file. When a public domain CardComm: by John Hoffman (Ami­ program has been classified as shareware, gaZone file *18263). Yet another derivative CHARPIC this is also mentioned with the suggested of DJ James’ Communicator. Like the now CbarPic: by Kelly Day (AmigaZone amount if one is given. Due to tire large size defunct (since it is no longer supported on file *18097). A unique program that con­ of animations that are coming out for the PeopleLink) Graphical Teleconferencing verts a monochrome 640x200 IFF picture Amiga, I have decided to assume that the program ACO, CardComm also can only be into a set of ASCII characters. Not only does normalHi Quality Version Available on AMIGALAND.COM size of an Amiga animation is one fully used on PeopleLink. CardComm’s this make it easier to transport graphics via megabyte. This means unless I specify forte is in allowing users on PeopleLink to modem, it stands alone as an effect-genera- otherwise, ALL animations reviewed here play all sorts of card games using a graphi­ tor (an IFF-format animation using CharPic- require one megabyte in order to run. If cal interface within CardComm. Not only generated frames shows die effect off very you are an Amiga owner with only 512K in does it support card games with differing nicely). your machine you should keep this in mind amounts of cards dealt (all the way up to until you can add some more memory to 13), a sophisticated scoring system is also NOCLICK your Amiga. included in CardComm. CardComm also NoClick: by David Bolt (AmigaZone fully supports MoreRows display's, which file *19166). Finally, someone has elimi­ TOOMUCH3D Communicator 1.34 does not IF you have nated a minor (at least in the eyes of Com­ TOOMuch3D: by Jim Robinson the 1.3 Kickstart ROMs installed in your modore) but still very annoying problem (AmigaZone file *19837). For those who Amiga (since CardComm looks exactly like with the Amiga; die clicking of empty have been watching Jim's other Vide- Communicator 1.34 does except for tile floppy drives! NoClick will indeed stop the oScape 3-D masterpieces a little too much added card game features, some users of clicking of floppy drives on ANY Amiga, lately, this one’s for you. While this is not Communicator 1.34 may want to switch including 500’s and 2000’s. NoClick has nearly as long as his other animations, it is over to this variant of Comm 1.34). already been through a few revisions, and still quite good (especially the 3-D effect the current version, 3.6, will work 011 any with the chair). Like MarsFlight this anima­ HERMIT Amiga even if it is not running with a 68000 tion also begs for an accelerated Amiga to Hermit: by A.G. Kartsatos (Ami­ (earlier versions of NoClick crashed on my run. gaZone file *17905; Shareware: $15). An­ 68010-based Amiga). NoClick will not stop other screen saver utility whose unique the clicking on all floppy drives however AMIMODEM ability is to be able to save the font used on (while my internal floppies on my 2000 are AmiModem: by Mike Thomas (Ami­ any screen. This now allows you to grab a now silent, my ancient A1010 doesn’t re­ gaZone file *17223). For those who are custom font that is buried inside an execut­ spond to NoClick), and it is possible for trying to wade through the dozens of able program from the program and save it damage to occur on non-responding flop­ settings for tire Courier HST 9600/14.4K to disk for your own use. pies in the long-term (always keeping a baud modem, AmiModem can help. This floppy disk in the problem drive should program (written by the author of AmiEx- ICON MASTER help to reduce the chance of damage press, a commercial BBS program designed IconMaster: by John Scheib (Ami­ occurring). Needless to say this is one especially for this popular modem) will set gaZone file*17622; Shareware: $10). With­ utility all Amiga owners will want to get the NRAM settings for you. out a doubt the most complete program for their hands on. DOCfORA DoctorA: by Marvin Landis (Ami­ gaZone file #17598). The third animation NOW FOR THE featuring dial ultimate computer athlete, AMIGA! AmiGuy. A sequel to the BoingThrows animation, DoctorA features AmiGuy showing off some serious hang-time on the court. While the animation segment isn’t as Don't let those finger aerobics get long as in Gymnast nor BoingThrows, yon down! There's an easier way to DoctorA is still as stunning as the other two. change between your mouse and joystick or DoctorA was also created with Sculpt- ^ joystick and dongle without all that cable Animate 4D, and really needs one mega­ swapping. Mouse Master lets you instantly switch byte in order to run (Marvin does explain with just a touch of a button. It's housed in a how you can run a crippled version of compact case for stylish good looks and includes its own DoctorA with just 512K). custom cable. It's the handiest switchbox around! JAZZBEXCH JazzBench; by David Navas (Ami­ gaZone file #18012). If you just can't wait for Commodore to release Workbench 1.4, MOUSE MASTER and you don't have developer status (and therefore can’t get your hands on pre­ Orders/Inquiries ^(602) 322-6100 release versions of 1.4). now you finally can get a feel for what Workbench 1.4 will he ONLY $39.95 like in many ways, thanks to JazzBench! plus shipping & handling t Practicall JazzBench is a TOTAL replacement for the MC. Vist), COD's luelcome ISolution/® Workbench environment, and as you might guess, it is wildly different! First of all, ©1989 fax (602) 322-9271 • 1135 N. Jones Blvd. • Tucson, AZ 85716 you can display AmigaDOS Dir-style text Circle 137 on Reader Service card. listings in a JazzBench window. JazzBench windows open in a Macintosh-type fashion PATENTHi Quality Version Available on AMIGALAND.COMFRANKLIN FLY (i.e. they explode), and any window on the Patent: by Jay Miner (AmigaZone file Franklin Fly: by Avril Harrison. You JazzBench screen can be iconized (which #17781). If you like to collect Amiga don't have to purchase high powered and means any program that lives on the Work­ memorabilia this is worth getting. This text high priced animation software like Tur­ bench disk can be iconized!). JazzBench is file and accompanying IFF pictures are a boSilver and Sculpt-Animate 4D (nor learn also asynchronous just like Workbench 1.4 copy of lire actual documents filed by how to program The Director) in order to will be (you won’t be seeing much of the Amiga Inc. in July 1985 to obtain a U.S. produce great animations on the Amiga. busy pointer in Jazzbench). The menus for patent on the Amiga computer. While most Avril Harrison’s "A Day in the Life of JazzBench are much larger, including of the text maybe greek to those who know Franklin Fly" showcases the capabilities of menu items for many AmigaDOS com­ little about computer hardware, it is still fas­ one of die Amiga’s low priced (and easy to mands. plus you can install menu items for cinating to view. use) animation packages, Fantavision. This your own applications. Icons can not only long animation is comprised of several be sorted in different ways, but you can KNIGHTERRANT scenes from the typical life of a fly. In diis even have a default icon appear for pro­ KnightErrant: by Eric Fleischer (Ami­ animation Franklin Fly overcomes such grams that don't have their own icons. I’ve gaZone file #18266). Another fine anima­ obstacles as a spider’s web, a window, and only scratched die surface here, JazzBench tion by Dr. Gandaif. This one depicts a a big bowl of soup. In another scene the holds much more for those who use it. knight in VERY shiny armor, who after Queen of England makes a guest appear­ JazzBench is not designed for a 512K walking in the desert for a long time, ance that she would rather forget quickly! System, but die author does explain how suddenly does his best "Amiga impres­ This animation isn't a showcase of die you can run a limited version ofJazzBench sion". There are actually two animations Amiga’s graphics capabilities (though an on a 512K Amiga. While the current version included in the WARPed files, the other one MS-DOS machine would still he hard ofJazzBench is not stable enough for long­ is a close-up shot of the “impression” called pressed to match it!), but it does include term use as tile default environment (nei­ Knight-Closeup. KnightErrant was created many great sound effects, is very funny at ther is Workbench 1.4 at this point), it is still with TurboSilver V3.0 (with the assistance times, and overall is a pleasure to watch, a must-see for those who can’t get their ol Diamond, and the sounds were created Franklin Fly also requires just 512K in order hands on Workbench 1.4. via PerfectSound). The KnightErrant will to run. Despite being a low-budget produc­ just barely run on a 512K Amiga (Knight- tion, Siskel & Ebeit would still give Franklin PROTECT-1 Closeup will not). Fly two big thumbs up. PROTeCTA; by A.G. Kartsatos (.Ami­ gaZone file #17785). A simple and nicely- done gadget-laden program for changing Great Prices! Shipping based on weight and zone. die protection bits of a file. This program For Information & Catalog Call: will not, unfortunately, work from die Voice 41-4-544-2066 Workbench (since the author would natu­ Pursuitable BBS 414-544-6567 rally prefer Workbench users to check out his full-featured DirUtil program S p h e rica l...... 25 99 DISKoLAB). Tracker s Q u e s t...... 24 50 TVTexI Professional ...... 99.00 Where/USA Is C Sandiego 30 00 SUBLIMINAL Spotlight on SoMware Dais St Pipes ...... 174 99 Spolllgh! on Hardware Subliminal: by Steve Tibbett (Ami­ Bnifle Squadion ...... 27 73 501 Clones. 5I2K ...... f 1000 Bieacli II ...... 27.73 gaZone file -17971). Another unique pro­ 502 Board, C Ltd.. OK ...... 115 00 C onD o ...... 03.99 gram, diis will indeed allow you to create A.M.A.S...... 120 00 Cross D O S ...... 24.99 Arnigen ...... 135 00 and display subliminal messages on your Dr Plummet's House o f flux . 24 65 Color Splitter, SunRize ...... 116.00 Amiga. Subliminal will display up to 20 Extend (BASIC Com m ands) , 26 00 Floppy Drive. IMdrlve ...... 140 00 Ffendisli Pieddy's Big Top ...... 32.99 messages once every 5 minutes. Subliminal Han D Scan, C Lid...... , 295 00 I lawarf Scenery Disk ...... 20.00 does Lhis on the Workbench screen Memory Mod 500 2 megs ...,26900 Invlslon Plus...... 195.00 MouseSlick, Adv. Gravis ...... 0800 (making it ideal to use on unsuspecting II C am e From The Desert .... 35 99 Mouse, Cordless! ...... ,...90 00 Karo Tonis. ANIM I or 2 ...... 33 89 subjects who tend to work long hours in the Panasonic 1410 Camera ....21500 Leisure Suit Larry II ...... 33.00 CLI or in window-based wordprocessors Perfecl Sound 3.0 ...... 74.50 (osf Dutchman Mine 31,50 SCSI Controller, Byte/Sync .. 170.00 like WordPerfect and Scribble). Magic Johnson's Baskelbali. 29.00 SCSI Controller. Word/Sync 17000 N everm ind ...... 27 73 SCSI Conlroller, Kronos ...... 220 00 Omni Play l-loisetaclng .. ., 34.50 TITLEGEN Spirit Boards OK...... 234 99 Plc-Moglc (Clip Ail)...... 60.00 TitleGen: by Kevin Kelm (Ami­ SlarBoard2. 500/1000 OK ...... 245 00 Pro Tennis Tour 29.99 SupraRAM 2000 OK...... 160 00 gaZone file -18192; Shareware: $10), A Quasar Sound ...... 39.99 Trackball, AmtRAC ...... 78 50 very simple but useful video tiding pro­ Romance of Ihree Kingdoms 43 99 gram. This program can only scroll text Shadow of Ihe Beast 33 8? Orders Only Please: from bottom to top and doesn't support any SldeShow...... 30 99 Space Quest III...... 41.00 800-544-6599 wipes (except for just popping in a screen VisaMC/CODs of text). All text and effects are created in an 2414 Pendleton Place ■ Waukesha, Wl 53188 ■ 9 AM to 5 PM M-F external text file, so it is possible to type Circle 134 on Reader Service card. somethingHi Quality Version Available on AMIGALAND.COM up widi a word processor, save ESHFIX drawer icons types, including a couple of 3- it as ASCII and then have TitleGen display EshFix: by Tom Eshelman (Ami- D drawer icons (which can be selected it. TitleGen supports ten scrolling speeds, gaZone file # 18152). AmigaDOS’s Eel editor either via ARP’s Set command or via the and supports a few baste options including can now.' load in many more text files than included set utility in Mkddir). A very changing the colors (only three can be used it used to be able to thanks to EshFix. Eshfix handy program for those who create PD at one time), time delays, halting the dis­ will strip any and all binary characters from disk collections or other types of Work- play until the LMB is pressed, and a loop a text file so that it will load in to Ed. EshFix bench-su pport ing softwa re. option. Of course TideGen will accept any doesn't alter the original file, it only creates font, and centers all text. This is the only an altered version (be aware of that if your PPLANE decent video tiding program I've seen in storage device is almost full). PPlanes: by Michael Fahrion (Ami­ the public domain (unless you would label gaZone file “ 18196). The old pastime of Startle as a video titling program) so send in HPGL2PS A ND XDRA W making paper airplanes has now been those shareware checks if you want to see HPGL2PS and XDraw: by Rudolf greatly enhanced by the Amiga! PPlanes something better. The author did state that W erner (AmigaZone file #’s 19144 and includes IFF pictures to help you create he is considering improving tiris program if 19143)- Two essential utilities for users of your own multi-color paper airplanes with enough people care. XCad. HPGL2PS wall convert the HPGL any paint program that supports 640x400 plotter output from XCad into PostScript resolution (course you could just resize the BMP format. XDraw allows you to import pictures if you want your own HAM air BMP version 2.0: byJ.L. White ((Ami­ spreadsheet data from MaxiPlan III/PlanIt/ force instead). In addition to the mono­ gaZone file -18396; Shareware: $10). Ver­ MaxiPlan (pick your name) or other chrome template and folding directions, sion 2.0 of this great IFF sound player. BMP spreadsheet programs into XCad. This there is also a finished design and some no longer is limited to using CPIIP RAM makes it possible to import coordinate data very nicely rendered paper airplane clip-art when playing sound samples, so you can into XCad without having to typing it into to quickly jazz up your own designs (US now play multi-megabyte sample with it XCad directly. markings only in this set). (including using it to play samples created witii AudioMaster II). BMP also now in­ MKDDIR QUICPREF cludes an ARP-style file requester (and as a Mkddir version 1.2: by Ron Shaw QuicPref: by David Junod (Ami­ result you now must have die arp.library in (AmigaZone file -18393). Version 1.2 of the gaZone file -18195). If you print graphics your LIBS: directory to use BMP). ONLY CLI-based directory creation com­ often this utility may find a home in your mand diat really supports Workbench. system. QuicPref duplicates the Graphics 2 Mkddir’s newest release supports multiple screen in Preferences (in about one tenth Now In Wisconsin! Since 1982 * • Now In Wisconsin! < 2 1 0 Order Toll Free TLomputrftbilltg Order Toll Free (3*E-558-0003 I B -558-0003 A M IG A SOFTWARE ■ H I 083 Attack s u b ______.31.05 Cortra______...24.95 Hrteton____ 21.05 Karafonts S ubhead______44.05 Nimbus______97.05 Pub Games ...... 25 05 Superbm Pro 3.0 „.,.180fl5 A-Tadc 3 ______. 64.05 Crfcbege King Gin King ..3 7.95 Rash Dragon ______21.06 K e e fth e T h H ______31.95 Nuclear W a r______30.95 Puzri* Storybook __ 25 95 Superptan______87.05 A ttr g h ------.2 4.0 5 Cross D O S ______.,1 8.95 Right Simulator t l ______30.05 K lln g Game S h o w ______21.95 O m ega ______30.95 Quicksilver...- — 41,95 Superman...... 24.05 Actbn Fighter . 24.06 Curse of the Am re Bonds . 28.95 European Scenery D s k . 10.05 Kind Words V2.0 ______57.95 Omrtptiy Basebal: 5 on 5 30.95 O h ______...... 22.95 Superstar Ice Hockey - 30.95 Artvinlag*. The — .. CALI Dark Caste ______,2 8 95 Focus V ide o „ 107.05 Ktog's Quest 1,2.3 or 4 ___ 30.05 Omnlpity Horse Racing ,... 30,05 Quarter Back______42.95 Stunt C ar ____ — _____ 25.95 Aflac B u m * ------. 30.05 Dark Century______...28.95 Forgotten W orlds______24.05 Kingdoms of England — 29.95 On L h e P U tk iia n ,-...5 8 .0 5 Quasar S o u n d 34 05 Sword of S odan______28.95 AWn S yndrom e____ 24.05 Data S to rm ------,.2 5.95 Future Sound 500 ------89.05 Knlgft Force______28.05 Operation W o ! 22.05 Questran I I ______31 05 Swords of Twfllght______31.95 AmiQaDOS T o o B o x _____..30.95 Deathbrbger______..25.05 GauniJK I I ...... 30.65 Knights of Legend...... 30.95 O ptics______117.95 R a m b o lll______22.05 T a rg h in ______....24.95 Anlmagte ._____ 50.95 Defender Of The Crown „ ,. 31.05 GFA Basb 3.0 ™ 87.05 Krtslal, Tha.______„ 31.95 Oswald______23.05 R am page______24.95 Teenags Ninja T u rtle s------28.95 Arttn A-0 J f______..87-06 Do|a Vu; 1 0f 2 ------.30.05 Gold of the Raakn ...... 24.95 L an c eb l...... 3 1 .9 5 Out n i l ...... ____30.95 R a s im — ------22 95 Temple ot Doom 31.95 Atjji Blast------..2 3.05 D eltra Musk: C on*tr2.0 ..8 1.95 Gold R ush______24.95 Lasf Duef ...... - ...2 4 95 Over R in ------...... 32.95 Raw C o p y ______34.95 T e lris ______20.95 A quin attt______.25.05 Oehn Petal III ______..9 7.95 G oes______24.05 U»t Jnca.Th#------,.2 4.95 Page Renterer 3-D ____ 94.95 Red Ughtning ___ 37.95 Ted Ed Plus______48 95 Archipelago*. . . ------...23.05 M uw FM oLib ______.07.95 Grabbft______18.05 L i a b e C ______199.95 PageSeOer ______50.O5 Renegade ______22 95 Test DrMs 2 - The D u e l 27.95 A m x _ .23.05 DehraPrtrtll______- 51.95 Grand Prta C tr c J t______27.05 LainreSuft Larry ______..2 5 .9 5 Page S tre am ______. . 127.95 Rhyming N otebook______25.95 CaHonte Chat. _____ 14 05 A ir t Art Ic A d w n .------.2 4.0 5 Dolma Product b r a .. 128.95 Gunship .....34.95 Labure Slit Larry II - — ..30.05 Dot Matrix Foni 1-5... 24.95 Rick D angerous______2 1 .95 European C hal 14.95 A rtun ...... 25.05 Dehj» Vkbo III ______..04.95 Halb of Monta/unw . ..,.23 .0 5 L e b trt S tit Larry 111...... 3 7.0 5 Page Thinker...... 59.95 R b k Davis Soccer 1 Meg .. 30.05 Muscle C an ...... 14,05 Awesome A ra d s Pack .. ..3 0.05 Deluxe Video V I 2 _____ ...84.95 Hardball 11______— . 2S.95 U w n s t to K I I ------2 1 .0 5 Pagefllpper Ptus/FX ___ S7.95 R b k Davfs Soccer 5 1 2K „.. 2 4 ,95 Supercars------14,95 B A D ______.20.05 Denar* ______..24.95 Harrier Combat S tm u la b r. 30.05 Lite and D eath____ — -31.05 Pamer Strike ______29.95 R b g S k le ______24.95 Their Rnesl rtv u r______37.95 Balance of F o rm 5 W 0 .. ... 30.95 Design 3 0 ______-5 0 .9 5 H natW av© ------— — 28.05 Logbwwks------184.95 Paperboy______30.95 R is k ...... -24.95 Thinker______57.95 BaH styx _ ...21.05 Desigrusaurus ..3 0,95 Heavy Barrel ____ —_ ___24.95 Lords of the Rising S i / i .... 31.95 Pen Pal ...------___ 84.95 Road Challenge______24.95 Third C w x ie r______23.95 Bar Gam es______..2 8 95 Dig bra id ______59.95 H«avy M«4al ______28.95 Lum r ...... - .. 10.05 P hasar______54.95 ftobocop ______28.95 ThudRBge ...... 29 95 Ban and Ftp**...... 170.05 DlglpatntS.O______-8 4 .0 5 Heros cf the La n o t ___...... 25.95 Magellan 1.1 118.05 Photon Paint 2.0 ___ 87.95 Rocket Ranger - ______31.95 Thuxter B la d e______2 9 05 Battle Chess ...... 20.05 DigM » w G old______124.05 H w w Ouaet .....37.05 Magb Johnson 512 ...... 24.95 Pte M agic______...... 57.95 Roger R a b b i______28,95 TKO ...... 24,95 B it*# Hawks 1 0 4 2 _____ ...31.05 Dlghwrk3D ______..8 2.95 H lls ft r ______...... 31.95 M agb Johnson 1 Mog ...... 31.95 Pipe D rea m s______25.95 Romance/Three Kingdoms 49.95 Trackers Quest. ______2 1 9 5 Bart# 8 quartern ,__ ...24.05 Disk 2 Disk______.2 8 .9 5 Hole In 0 n « ______— .2 1.9 5 M anhurttr ■ New York ,..30.05 Pb®l S c rip t______92.95 RVF H o n d a ______25.95 Turbo Stiver 3.0 1 Meg 112 0 5 Battles of Napoleon____ 31.95 Dak Master______- 28.95 Home B uUet'e Friend — .88,95 Manhunt ar-SanFn ndsco ..30.05 Pbnet of Luat______24.95 Savage______21.95 TV S h o w ______64 95 BaHetachrThB C rH kln c . .,3 0.05 Diek M echanic - ____ .5 4 .9 5 H ostage_____— ____ ..... 29.05 Maniac M ansion______.2 8 .9 5 Pol be Quest 1 o r 2 .„.____30.95 Sebufflepuck Cafe ______24 .95 TV T a b ______5 4 9 5 Baud B a n d !______30.95 Distant 8 i n ______.3 0 .9 5 Hound of S hadow ____ .....25.95 Matrix M irs u d e rs ...... 21.95 Poolol Radiance...... ____31.95 S c ra b b b ______24.95 TV Tert Profess b m l ...... 99.95 BerrerkS______22.95 Dos 2 D o s ______..30.95 Hoyles Book of Games .....21.95 Mavis Beacon T yping____ 31.95 Popubus ------____32.95 Scribble Plathium ______87.95 Twilight’s R ansom ______19.95 Black Cauldron______.. 24.05 Double Dragon _____ ,...2 4.95 Hunt For Red October...... 31.05 Menace ..1 9.95 Postscript Fonts A.B.C ea. 24.95 Sax Vbtera-Ouler Space ...2 2 .9 5 Typhoon of Steel ...... 31,95 B tesla ra id s ______* ..CALL Double Dragon I I ______..2 4.95 Heart Warrior* ...... ____ — 24.95 Miami V ice...... 2 4.95 Power Windows 2J> . .54.95 Shadow of the Beast 30.95 LM ma 4 ______33.95 Block O u t______..24.05 Doog'aMath Aquarium.. .4 0 .9 5 Indiana Jonet-AcBon...... 25.05 Mterton HR D l s k n ____ .3 0 .9 5 Power dro m e ______25.95 Shark A lta c k ______24.95 U tlm a l i t ______24 95 Blood M o n e y ------25.05 Dr. Doom's Revenge_____.28.95 Indiana Jones-Graphl:. ....30 .0 5 Micro Ffche R b r P lu s ..._ 114 95 Precisely______48.95 S N b h ______25.95 Universe 3 ______3 1 9 5 Bbe Angeto______.2 8 05 Dragon F orce , ,___ 31.95 t r t a u f o n ------___24.05 Midi Rac Studb V I , 1 , 39 95 Prkit M aslff P lus___ 24,95 S hlnobl______30.95 V e teran______19.95 Boardmasier 57 95 Dragon's Lair ------.1 3.0 5 Interchange .. ...2 8 .0 5 Might and Magb I I ...... 37.95 Pro S c rip t ______28.95 Shufllepuek C a ta ______24.95 Video Effects 3 - D ______113.95 Boonw aJd ______.. 24.95 Dragon s Lair It ^ .. CALL IrkroCad ...4 8 .0 5 Modeler I D - ____„™-..56 05 Pro Soccer 21.05 8 b M h o w ______27.95 Video Fchb ______23.95 Breech I I ______30.05 Dragons of R im e ,, .25.95 IrM s lo n , .. 134.95 M onopoty______24.95 Pro Sound Design ...... 99.95 81m C ity ______28.95 VldeoScape 3D 2 0 „„ - . 1 1 5 05 Bride of the Robot „...... 24.96 O.U.D.E. ______.20.95 ( m v f a b n * ... .. 174.95 Movie S e tte r______59.95 Pro Video B o ld 174.95 Skate W a r e ______31.95 Vbdkalws ______....CALL Broadcast T i l e r ______184.05 Dungeon Master______.2 4,9 5 tl Came From The Desert „ 3 1 .05 Must studk 2.0 ______49,95 Pro W r tte 2 .5 ------89.95 Sky Shark ______22.95 VIP Prolessbnal 59.95 Can D o ------..8 4.95 Dungeon Master Asst 2 .2 9.9 5 JackNJcWaus G o lf 30.95 M u s t X ______189.95 Pro-Draw - ______112.95 SkyJkw 1 2 ______Sfl.95 V b t j 3 -D ______37,95 Carman SanCtego/ USA _ .30.05 Djngeon Ouest______,.31.95 JN Courses of I0 8 0 ....1 4 .8 5 Netterwcrid______22.05 Professional P a g e 187.95 Sottalre R oyaJi ______10.95 Vhi-Arrigi______12 29 5 Carmen SanCiego/W orld .2 8 .0 5 Dunlap U tlltte s ______.4 7.0 5 JN Course Disc I I. . 14.95 Neuroma rK*f ...23 95 Structured CtbArt 36.95 S o ro trtan ...... 30.95 VTX Online ______51 95 Carthage ----- . ------— .2 4 .9 5 Earl Weaver BasebaJ «... .3 1,9 5 Joan or A ro ______2 8 05 N ew r M in d ______21.95 Tem plates______36.95 Sorceror Lord ______22.95 W S h d ______28 95 C haoi______. 24.05 San Performer______.15 05 Joieney ...... 31,96 New York Warriors-1 Meg 30 95 Prafonls 1 & 2 ______21.95 Space Quest 1 or 2 ______30 95 W ar Game Construction ...1 9 95 Che** mast ir 2 0 0 0 ------28.05 Eioeibnoe 1 M eg ______1 5 9 9 5 Kampfgruppe .. ...3 7 05 Night D aw n 18.05 Project D t Backup ...... 30.05 Space Quest 3 ______37.95 W ar of the L a n c e 25.95 Chew master 2100 ..31.05 Exokm ______.22.95 Karafonts Headings 1 or 2 44.95 Night Force — ...... 2 8.95 Prospector M ire s of Zor .. 24,95 Space R a c e r______10 95 Wayne Gretrky H oek ay...... 30,95 Chronoquaat.------. 30 05 Extond 1 . 3 ______.2 3 95 S p e ed b al ______25.95 Wild Streets______28.95 C ty Desk 2 . 0 ------112.05 9>eof Hsras ______.2 4.0 5 MISCELLANEOUS HARDWARE Star Command ______3 1 ,95 W llb w ______- ..-.2 5 .9 5 Clue Waster Detective...... 24.05 M S Combat Plot _____ .3 1.0 5 S h rT re k ; The Flrul Front 34.95 Wind W a t e r ______,.2 5.95 A M I G E N ...... S99 C H IN O N FB 3 6 4 [NT. DR...... $51 Cede name; Iceman ...... 37.95 F-40 Pursul 61m...... 2 8,0 5 Star Wars - ...... 24 .95 Wings Of F u iy...... 25.95 SUPER G E N ...... $669 C O L O R SPUTTER...... $ 1 1 ? Cokwiar• Bequest .3 7 .0 5 FA/18 Interceptor______.3 1.0 5 S b la r Crusade - ______38,95 Wtnrd’s Crown 25.95 C olony ,______.30.05 Falcon______.31.05 SUPER G E N I00O S I NT G EN $ 144? GOLD DISK SCANNER ...... ,$ 6 9 ? Strip Poker I I _____ 23,95 Works Platbim, The CALL Hi Quality Version Available on AMIGALAND.COMCombat C o in * ______25.05 Operation Counterslrtke . 18.05 MAGNI 4004 GEN LOCK.... $ 136? IM G S C A N ...... ,$ 1 0 5 S try x ______21.05 World AH**______35.95 C o n *; S etter ___ . 59.05 Finttvtsiort______.37.05 FUCKER FIXER ...... ,.$455 SCAN LOCK ...... $6 1? Super B a c k ___ —— ____43 95 X-8pecs______- _____84.95 Comic Art Dteks (e a c n j.... .2 0 .0 5 Fast T ra c k ______.25.05 PERFECT S O U N D ...... $ « G V P 4S03O A C C . B D ...... CALL Superbtsa Personal 48 96 Zak McKrackan ______28.95 tonouestcfCamtioi___ . 37 OS Fhntish Frwlrtv______-3QJ5 3 ra rfc u g P C T 5f l U l 2 £7.95 ZorkZtro ...... 38.95 IVS Trumpcard Hard Drive I Trumpcard 500 Hard Drive XETEC Fast Card Packages for A2000 Series | Packages for Amiga 500 Hard Drtvm Pockapms lot A m iga 2000 VIDEO PACKAGE PANASONIC U10 CAMERA S e a g a te S e a g a te S e a g a te 16MM LENS WITH VARIABLE IRIS ST-157N-1 49 MM.-2wne- -.510 DEL ST-157N-I 49 M »g-26m t ...... 5 1 9 Dal ST-177N SO MEG MEW1 ...... «79 D & COPYSTAND WITH UGHTS ST*157N-1 49 M «g -28ms.,579 Delivered S T - 1 7 7 N - M M * g NEWI ____ 6 7 9 Del 8T-277N-1 80 MEG...... 810 D a OIG1V1EW G O LD Quanlum Pro Drive 8T-296N 3 0 M ED ...... 820 DEL JT-177N-60 M eg NEW ....729 Delivered I $419 DELIVERED! Quantum Pro Drive 4 0 M&gSCSI ProDrtvo ...... 6 I 9 D E I eo M©g SC3 Pro Drtve 869 Da 4 0 M E C SCSI P ro D r t /o 6 1 9 D a Quantum Pro Drive 100 Meg SCSI Pro Drtve 049 D a BO M E G SCSI P ro D rM e ___ 8 6 9 D a C o rJ fw h jrw X ttic 't DMA* h o d , tx teix jo f ROM.oufo- 40 M eg SCSI Pro Drive - 100 MEG SCSI Pro Drtv©..„., 949 D a 6790BJVEPED corho ckeulky.. 25 pr> SCSJcorrx. i * k . MASTER 3A Disk Drive 80 M eg SCSI Pro Drtve - Rw m Wts Include IVS Trumpcard SCSI hard drtv* rtrt, 929DBJVERED FREE D E U V B tY IN THE C Q N TK9A IQ U 8 4 8 STATES 1010 Compatible ^ 1 2 5 oaWe, software and FREE d eth ery In the enrtiguous 100 M eg SCSI Pro Drive - 999DEUVBTED USA This Is not anawemWy k* I IIH a oackaoe. xmc Fast Card System Thmt PoclagM kxkxl* Trvrpctrt 6GD IVJ Hard Drive Pockogej lor Amiga GOO *Ft m D *H vw y la th * CcnHguoiu 31c4«. X S har (ft. 1M0 Rihiaw (n *y [ ______219 ma>*»r,FatfIk**** wttSutlftwft ir*rkl«i9CSeabW these cards In c b d i IVS Trumpcard cfrlr. mounting ST-138N 3 0M «o - SCSI...... 299 ( 0 - ! 4 x — ...... W* h paww *upny and fan am ...... 275 brkL cbf, ecXtwars, and FREE d s lln ry In the cork* ST-157N 69Mag-SCSI...... 329 nut Dtuvay in thi cownauous ctbtt' Iguous USA. ST"-t5?N-1 49 M l) ■ 28 m t ...... 349 43 Modems ST-177N 60 Meg ■ SCSI 469 A v a la x 24QU HC ...... 1 2 9 1 MEMORY ST-225N 20 Meg - SCSI...... '255 Avals* 2400E ...... 1 0 9 I H U M ilC A N E ST-25TN 40 Meg ■ SCSf...... 375 Avatsx9600 ExIsmalNEWI...... 8 3 9 I Hurctcans2900/4Sa20.. ST-Z77M-1 60 Mag - S C S I 429 Supra 24M H Inttm al (A2000) ...... 1 3 9 1 Huirtcciw 500/64020... _____ C c J ST-296N 80M.g-SCSI...... 4 59 P i o R a m t.fl/51?k______1 ip Osl 3U4RA Supra 2400 Ext. S u p ro B o rn 5 0 0 ------.... ______9 3 D o l Quantum Supio Bom 2000 ■ 2 MB ...... 3 0 9 D b ( Pro Drives Modem & Cable a j p r o B o m 2 0 0 0 • d M S ...... 6 6 9 D m S u p ra R o m 2 0 0 0 - 6 M B ______6 2 9 0 » l 40 Meg SCSI Pro Drive...... 449 Sopfo Bum 2000 - 5 MB ... 739 O b* 80 M eg SCSI Pro Drive...... 699 • $ 1 1 9 . JncludjiFrM del [vary In lha ConHmntal USA 100 M eg SCSI Pro Drive 779 f r e e d e l i v e r y II NO CREDIT CARD ORDER INFORMATION MIA 414-357-8181 FAX 414-357-7814 wumflAu SURCHARGE______P.O. BOX 17182 Milwaukee, Wi 53217 » 0-0*1 fix k* x iW . P tT H n ilin ti tttn M rw eAeeej • b w 14 ii-«.■ -w.. - . . MB nmmL"_J* end • ' '1* MW ------ehl^ftns, miVbnurri * 1s ia " ju o n ion tihtopi/mJti *■ 6 0 ,1 a,,B V f ftei,TB. W reiH eo ll f m i* Rielude SX m '* i tl c k “ U-6. m*fl. If ftnlan tniafrlrvg « die size) and lets you change any of these settings. QuicPref can even pop in front of any screen for convenience, IF you are using version IV of PopCLI.

CHIPS System shown Craps: by Art Tedeschi (Shareware; FastTape available $20). If you care at all about die game of includes a in capacities of Craps you’ll love this simulation. Las Vegas FastTape backup 60 and 150 Meg. Craps supports the Amiga’s graphics, ani­ streamer Standard FastTrak mation, and sound capabilities about as plus a capacities include well as you can expect for a shareware FastTrak hard drive 20/40/80/150 Meg. program (including die HUGE icon for the main program). Of course this simulation allows even’ bet that you would be able to make in a Las Vegas casino, plus you can set the minimum bet and the odds multiple. If you know nothing about Craps, don’t worry since this program makes learning easy and fun. in addition to a very nice E-IELP system which can explain more about the game than you would ever want to know, there is also a “Craps Assistant” which will tell you which bets are wise to make. Even more impressive is the Strategy FmiTmk™ Hard Drive Systems editor/simulator where you can create for the Amiga® 500/1000/2000 betting profiles of a person by recording _ CaU Xetec or your dealer for pricing and delivery. everything they do (or just input a betting 2804 Arnold Rd. Salma, Ks. 67401 (913) 827-0685 profile on your own) and then test the Amiga is a registered trademark of Commodore Business Machines, Inc. soundness of it by simulating an actual Circle 123 on Reader Service card, Craps game environment with up to four simulatedHi Quality Version Available on AMIGALAND.COM betters. There are other nice SETMEM Next month, I will be talking about some features like a percentage breakdown of all SetMem: by Mike Berro (AmigaZone great animations, including many from the rolls that have been made (including file -18610). For programmers and others often ignored commercial animation pro­ comparing the number of times a dice who must find out how much memory you gram AnimalonApprentice. As always, I number has come up with the number of need to run a piece of software, SetMem can be reached on the AmigaZone on times it should have appeared), animated allows you to specify (to as close as eight PeopleLink (ID: G KIN,SET'), or on the dice and stick and true random numbers bytes) how much FAST and CHIP memory IDCMP BBS (617-769-3172, 3/12/2400 (based on the number of microseconds the you want to be available in the system. baud. 105 Megabytes online, running 24 Amiga has been on). Serious competition hours a day, addressed to SYSOP). If you for Microlllusions' commercial craps simu­ SHOWFONT have written a public domain/shareware/ lation Craps Academy. ShowFont version 4.0: by Arthur freely distributable program, or have ob­ Johnson (AmigaZone file -18319). Version tained one that you tliink is worth mention­ HOCKEY 4.0 of die font-viewing program ShowFont. ing to all Amiga owners, then please at­ Hockey version 1.2: by John Samuels The big addition here is that you can tempt to contact me via die above contacts, (AmigaZone file -18712). An update to the reassign tire FONTS: directory7 from within or through Amazing Computing. almost forgotten abusive card game the program (NOTE: ShowFont will NOT Hockey. New features include a new statis­ reassign the FONTS: directory when you tic called “The Human Stupidity Factor”, exit die program). You can change the which shows how many times your imper­ number of bitplanes used in ShowFont, not For information on obtaining some the fect logic has caused you to play the wrong only to speed up scrolling display, but also programs that aren’t listed as being on card. You can also record a play-by-play as “preparation” for support for color fonts PeopleLink (or for diose who don’t have a log of a game, and the Amiga’s card playing (according to die author). modem), please write (and/or send 52 for ability is now even better (not that it an Amiga PD catalog disk) to: needed any help, but you know that your SPEED Amiga hates to lose, right?). Finally, you can Speed: by Jez San (AmigaZone file SMAUG 1015 S. Artery *112 edit the insults, file the Amiga uses, and -18464). Competition for the Cramden Quincy, MA 02169 input your own just in case you want the Utilities’ SI program has finally arrvied from •AC- Amiga to humiliate and anger its human assembly master Jez San (author of the opponent even more. StarGlider). Speed wall benchmark your Amiga’s CPU/memory speed compared to a stock A2000/A2500 (in terms of ratios). CHOICE!

C p N ji I 'tX t t f h r f I'

P u r r i N t e i t

Programming: /•—v ) /V

|,1Uli,L's in /m M y And True P ■ f vpWircd: Multi-Forth | M !V0.idg,.Is liy W n ih d

I : iN j > j v;i|u.n^r T \

.1 l-i >rth _P Hi Quality Version Available on AMIGALAND.COM(TRNViiV

H itrc H v

'U m nu-t Mi.., ]>i, AC #6 *•'“** Sh»n,«e a Public Dcnuin S o f t w a i f l

A HVSIt. Tv p V ; Tutorial Pn

Amazing Computing believes its readers should have a choice! AC provides a superior magazine, as well as a special disk with programs and background information, each month. Whenever possible, AC combines two issues on one disk and maintains the low cost of $6.00 to its subscribers. Why? Because AC believes the Amiga public deserves a publication which, not only provides indepth coverage of Amiga advancements, but also places its readers’ interests first. Amazing Computing for the Commodore Amiga—the choice of serious Amiga users. Bug Bytes The Bugs and Upgrades Column by John Steiner

There are lots of upgrade notices this Upon investigation, I found that the install page, click on Save Changes to Drive. Then month, but first here are a few bugs and program does not work properly when turn your system off, and boot from the workarounds to fix some of them. used with tire ARP command set. If you are hard disk. That should fix die problem. The using ARP to temporarily assign a C: latest version can be found on the 1.3.2 directory that not contain official Workbench distribution. Commodore-issued C: commands, dien Gold Disk’s latest release. the problem is your own and not Gold Professional Page, Version 1.3 provides Disk’s fault. I received a letter from S. L. Simons, excellent dot-matrix output, and dre Jr. of Houston, TX regarding a hardware Compugraphic fonts display on screen problem. Mr. Simons installed a Xetec beautifully. As widi any major release, we FastTrak SCSI hard-disk system and found have found a couple of problems and In EMail this month, I received a letter that it wouldn't work properly with his workarounds. Several users found that the from Mike Montona. He recendy bought a Minimegs memory expansion. The location of an object during page layout Commodore A590 hard drive. He has an technical support representative at Xetec and die location on the page after printing Amiga 500 with 1 Meg RAM and 1.3 explained that there was a good reason to dot matrix are not the same. Objects are Kickstart. When using Excellence! from why the two products could not share the placedHi Quality Version Available on AMIGALAND.COM 1/4 inch down and 1/4 inch to the Micro-Systems Software, the computer expansion bus, and pointed out that Xetec right of where they were placed on die on­ would Guru every time he clicked on 'would soon have a memory expansion unit screen page. Postscript output is unaffected “Save" or “Save as”. It made no difference for sale that would w'ork. The M.A.S.T. by the problem. whether he was mnning it from the A590 or representative was much more helpful. It Gold Disk is aware of the bug and is the floppy disks. He was having problems seems that the two devices would try to working on it. In the meantime, there are with several other programs as well. He configure at the same time, and the two possible workarounds. If your printer was able to get in touch with .Andy Finkel problem was easily solved by installing a has a repositionable paper feed at Commodore, who had been looking into diode in the Minimegs according to their mechanism, you can misadjust the top and this problem. According to Mr. Finkel, the instructions. Mr, Simons goes on to left margin by 1/4 inch. If you have an HP programs that were having problems were comment that the modification is In place LaserJet or compatible, an HI3 DeskJet or those that use memory location 0 as a on all units currently being shipped. another sheet-fed printer that will not let pointer. Excellence! was looking at you position die paper, the easiest location 0 and expecting to get a 0 back; workaround for the problem is to set the any other value at this location would cause page's left and top margins to 1/4 inch less a crash. The problem is twofold. First, older Also in this month’s mail bag was a dian their proper position. This will versions of the fast file system were setting letter from George Bailey who commented essentially offset die output by the correct location 0 as a pointer to GDOS. Second, on problems w'ith the Anlm format amount, and allow the printout to be Mr. Finkel commented that any programs DeluxePaint III uses. VideoScape 3D anims positioned properly. which reference memory location 0 were return a “Not a valid Anim file” requester There have been a few complaints always in danger of crashing. when DeluxePaint III tries to load them. 1 about the hard-disk install utility' in The solution to the problem is to have also heard of this problem via Professional Page 1.3. Some machines had update the fast file system to the latest messages being transmitted -over the no problems with the installation, vet on version. Boot from your A590 Install floppy electronic networks, and I have run into the others the installation software refused to and run HDToolbox. Go to the partition problem when loading anims generated by recognize the ProPage program disk. Users drive page, select Advanced options and programs other than VideoScape and who ran into the problem ended up select Add/Update Fite Systems, On the DPaint III. Mr. Bailey compared the installing the program manually by new' page, select Update File System and headers ol both kinds of Anim files, and copying all the associated files to their give it a new' version number; otherwise noticed that they have different data correct locations on the hard disk. While I leave it alone. Next, click OK on the chunks. If you have found any workarounds to this problem, let me know was assisting one person with his upgrade, requester, then OK on the page, and click the reason for the problem came to light. OK on the partition page. Back on the main and I will pass the word around. Trevor Briggs ofTampa, FL answered enhancements and bug fixes have been Products Mentioned the request posed in the September, 1989 made. Two new databases are also “Bug Bytes” regarding Activision. The available. Deep-sky objects has over 200 Professional Page 1.3 company was taken over by Mediagenic. images of galaxies, nebulae, and star G old Disk He wrote them about upgrades for Music clusters. The Skymap database will display- P.O. Box 789. Streetsville Studio, and after several months has not 20,000 stars. Upgrades are available to Mississauga, Ontario, received a reply. He has also heard rumors original Galileo owners only through the C anada L5M 2C2 of a public domain program that lets you author. Send your original Galileo master (416)828-0913 use digitized instruments within Music disk and S15.00 (CA residents must include inquiry # 200 Studio, If you know of such a program, let sales tax). me know. I’ll pass the information along. Minimegs Mr. Briggs also asks if there might be M.A.S.T. an upgrade to Pagesetter. A quick call to Memory and Storage Gold Disk provided tlie good news. Digi-View Gold 4.0 is now shipping Technology, Inc. Pagesetter, currently shipping in Version from NewTek, Inc. The software upgrade 3881 BenatarW ay 1.1 e, is being upgraded. The spokesperson to the most popular Amiga digitizer C hico, CA 95928 could not provide any information as to the contains an impressive new' video mode, (916)342-6278 new' features being added or the expected 4096-color, high resolution. The new' Inquiry # 201 shipping date other than to say, “First graphics mode is called Dynamic HiRes, quarter. 1990-’’ She commented that details and uses a technique w'hereby die high FastTrak SCSI Hard Disk on upgrade policies would be made resolution l6-color palette is changed widi Xetec, Inc. available when tlie program is ready to each new line. The program also supports 2804 Arnold Rd ship. image noise reduction, and "fringe-free” Saiina, K$ 67401 HAM modes, ARexx support, super bitmap (913)827-0685 digitizing, 24-bit color support, and several Inquiry # 202 other new features. The upgrade is $24.95, Gerry Hull of Creative Focus has plus $6.00 shipping and handling. To Super_DJ released a new version of BetterJDJ upgrade, send your name and address and Creative Focus Version 1.1. The Better_D| is an enhanced $30.95. P.O. Box 580 printer driver for HP DeskJet printers. The Chenango Bridge, new- release takes care of a problem that NY 13745-0580 causesHi Quality Version Available on AMIGALAND.COM extra pagefeeds when printing with Inquiry # 203 ProWrite. This version also corrects a TV'Text Professional is a high-end problem that could arise with Pen Pal. video titling program from the Zuma Media Processor BetterJDJ is freely redistributable, and is Group. The program supports all screen Interactive Microsystems, Inc. found on several information services and resolutions except HAM, Amiga color 80 Merrim ack Street, Ste, 20 bulletin boards around the country. fonts, and color animation effects such as P.O. Box 1446 Creative Focus has also incorporated these glints, glow's, and sheens. The product is Haverhill, MAO 1831 changes and provides a more fully featured available to owners of the original TV'Text (508) 372-0400 DeskJet driver called Super_DJ. as an upgrade in conjunction with Zuma Inquiry #204 Fonts. If you order your upgrade with Volume 1,2, or 3 Zuma Fonts, the upgrade Galileo Upgrade cost is $50. The Volume 4 font set and Mike Smithwick Jim Rickman of Interactive upgrade is $55.00, and an upgrade with 25215 La Loma Dr. Microsystems sent a notification stating Volume 5 fonts is $65.00. Los Altos Hills, CA 94022 that owners of Media Processor, a video inquiry # 205 m production software package, can upgrade to Version 1.3, Rev 4 at no charge by Digi-View Gold 4.0 (Upgrade) mailing in their old disks with a stamped, That’s all for this month. If you have NewTek, Inc. self-addressed envelope. any workarounds or bugs to report, or if 115 West Crane St. you know of any upgrades to commercial Topeka, KS 66603 software, you may notify me by writing to: (800) 843-8934 Inquiry # 206 Mike Smithwick, author of Galileo, John .Steiner die Amiga astronomy program, wrote to c/o Amazing Computing TV'Text Professional tell us that die software is now being P.O. Box 869 Zuma Group published by Virtual Reality Laboratories. Fall River, MA 02722 6733 N. Black Canyon Highway l l The program has been upgraded to Version Phoenix, AZ 85015 3, and has been renamed “Distant Suns”. ...or leave EMail to Publisher on People (602) 246-4238 Improvements to calculation speed, Link or 73075,1735 on CompuServe Inquiry #245 requester design, and general •AC* Roomers by The Bandito

[The statements and projections uses celebrities such as Tommy Lasorda, ago, Commodore has gathered a surprising presented in "Roomers" are rumors in Little Richard, Tip O ’Neill, as well as amount of ink in major media outlets the purest sense. The bits of astronauts Buzz Aldrin, Scott Carpenter, recently. Mentions in Time, as well as a information are gathered by a third- and Gordon Cooper. Of course, Forbes article stating drat the Amiga is tops party sourcefrom whispers inside the Copperman must improve Commodore’s in multimedia, and a cover story in industry. At press time, they remain substance as well. This means better Marketing Computers about the Amiga and unconfirmed and are printed for distribution, as well as presenting new Copperman’s revamping of Commodore, entertainment value only. Accordingly, reasons for people to buy Amigas, and have expanded the range of Amiga the staff and associates of Amazing selling more Amigas. publicity. Computing™ cannot be held Copperman plans to increase In an unusual appearance, responsible for the reports made in support for software developers in an effort Commodore Chairman Irving Gould was th is cloum n.] to get more and better software for the tire keynote speaker at the Software Publisher’s Association meeting in REFORM Montreal, Canada. Of course, he hyped the While public attention has been Amiga. The Bandito thought it was focused on the incredible changes taking interesting that he used “multimedia" as his "Copperman plans to place in tire Communist Bloc, some equally hook — you know, the same buzzword amazingHi Quality Version Available on AMIGALAND.COM transformations are happening at increase support for that Apple’s been using in their advertising Commodore. There are similarities to the software developers in an lately. It’s no coincidence that a recent current changes in the Soviet Union and at effort to get more and better Business Week article called Commodore Commodore. After many years of denying software for the Amiga. As “The Leader in die Multimedia Field'1. that anything is wrong with the economy, part of the incentive plan to Seems like Apple's advertising is helping die old leaders have been replaced. Many get better software, Commodore quite a bit by making years passed while new leaders were found Commodore will step up the multimedia a hot topic; Apple can’t provide to pursue the failing policies of the past. a solution, so people turn to Commodore. pace of product Finally, a young, energetic leader with For any of you living in a cave vision has replaced die last of the old hard­ development and improve somewhere, the Bandito will now present liners. the speed, resolution, and some information about how Commodore With this new leader has come a number of colors offered on is actually advertising the Amiga. The basis series of breathtaking changes in policy. the Amiga. ” of the strategy is Commodore's attempt to The new leader has moved rapidly to re-position the Amiga as “The Computer for consolidate his power base, tossing out the the Creative Mind”. Commodore, aging bureaucrats who had proved unable dissatisfied with previous advertising to do the job. With a cadre of new staff, the Amiga. As part of the incentive plan to get efforts, retained a new ad agency in May: Leader has embarked on a new policy of better software, Commodore will step up Messner Vetere Berger Carey Schmetterer Glasnost (openness) and has proved his the pace of product development and (say diat diree times fast) to develop die mastery of public relations. At the same improve the speed, resolution, and number television and print campaign. time, he has begun Perestroika of colors offered on the Amiga. Marketing- The print ads display photographs of (restructuring) to move his enterprise into wise, Commodore will focus on interactive Amiga users, ranging from a kid making a the forefront of the world economy. training and desktop video as key markets birthday card all the way to a neurologist. Gorbachev and Copperman have much in for the Amiga. Hey, sounds like they’ve The ads have run in a seven-page clump in Time, Newsweek, and Life magazines, and common, don’t they? finally noticed where the Amiga really will appear separately in other magazines. Copperman’s stated goal is to bring stands out. For the most part, reaction among dealers Commodore into the same league as IBM and developers is positive but guarded. and Apple. To do this, he must enhance ATTENTION, PLEASE Everybody is hoping the ad campaign sells Commodore's image, which is one of the Meanwhile, the PR blitz continues. more Amigas, but after many years of main goals of the new ad campaign which From being totally unseen a few months publishers and sell to retailers) have always been rare, and they're getting scarcer. Southern Technologies, for years the BRIDGEBOARD USERS! biggest distributor of Amiga hardware and Don’t waste money, slots, or desk space buying extra software, is reportedly deep in debt and has IBM-compatible or Amiga floppy drives! The Bridge Drive sold out to avoid complete bankruptcy. Com m ander + gives you direct access to all your internal Several publishers are owed large amounts and external Amiga drives from the Bridgeboard. and direct of money by Southern Tech. and the access to IBM type 360K and 720K drives from AmigaDOS. sudden uncollectability of that money Bridge Drive Commander + is totally transparent and could put them in a precarious position. automatic. Put an IBM type disk in any drive and use it just like on any IBM compatible! Put in an Amiga disk and return The new owners promise some partial to Amiga use! Just that simple, just that fast! One drive can repayment, but not more than a fraction of use Amiga disks at the same time another is using IBM- what is owed. This all makes it tougher for compatible disks. Disks are completely usable by other a publisher, who now must either deal with Amiga and IBM-compatible computers. All hardware, no individual retailers (a time-consuming task software drivers to load, no precious memory or expansion considering their numbers) or become an slots used up. Plugs onto motherboard at internal drive con­ affiliated label of a large publisher to gain nector. {No soldering or wiring changes.) Compatible with all Bridgeboards (8088, 80286), SideCar, all accelerator access to their distribution ability. On the boards {any 680x0), hard disks and other hardware and other hand, more of the main-line software software. distributors like Micro-D are starting to carry Amiga products, but only a few are Bridge Drive Commander + S 97.50 hot sellers. Distribution will likely continue MJ SYSTEMS to lag behind Amiga sales for quite a while, even though the market for Amiga Dept 10A. 1222 Brookwood Road, Madison, Wl 53711 products continues to grow. 1-800-448-4564 (24 hours MasterCard/VISA) WHILE WE'RE O.V THE SUBJECT... Product names a re trademarks ot their respective companies. Does Commodore really intend to go through with die so-called C65? The

Circle 149 on Reader Service card. C128 has already been dropped, and the Hi Quality Version Available on AMIGALAND.COMC64’s sales are slowing down so fast it promises, no one's willing to get very the quaiter a year ago. The press release could be down at the level of the Atari ST excited. Yet. claimed that this stunning decline in sales by Christmas 1990. The Bandito still hears By the way, all the partners at was due to waning sales of the Commodore whispers that Commodore intends to Messner, et al. have Amigas — and they 64. Commodore claimed that sales of both replace the aging C64 with the ;C65" actually use them, This has gotta help them the Amiga and PC clone lines were up. The sporting 256-color graphics and a 4-MHz create better advertising for die Amiga, stock is now floating around 7 1/2. The 6502. The Bandito pleads with anyone at since they have some idea of what the Bandito remembers when it was closing in Commodore to shoot this one in the head machine can do. on 20 just a few months before it leaves the Commodore is to continue its ago. Looks like the big door, Doesn't advertising blitz into the first quarter, investors are betting anybody remember concentrating on A2000 hardware and against the Amiga, but “Commodore is going to the Plus/4 fiasco? applications. The objective is to attract the the Bandito predicts that continue its advertising blitz Look, don’t take the high-end buyer in specialized markets like the Amiga faithful will be into the first quarter, Bandito’s word for it. graphics and video. Developers are the ones who have the concentrating on A2000 Tryr this simple test: stunned by the idea of continuing last laugh. However, iL barclware and applications. Approach any advertising for the Amiga, since it's looks as though the C64 software developer The objective is to attract the something diey have not seen before. Now is finally on its way out, currendy making good high-end buyer in the developers have to figure out how to taking its rightful place in money in the specialized markets like take advantage of the fact that Commodore computer history. Now if marketplace, have is actually trying to sell Amigas, graphics and video." Commodore can just sell them sign the half as many Amigas in customary non­ FA CTS A ND FIGURES the next year... disclosure agreement While Commodore is doing all the While things are going well for so they won't blab your ultra-secret right things for 1990, current sales are still Commodore in lining up new distribution, technology', then show them the machine. in a slump. Commodore announced a first times are tough for publishers of Atuiga Now ask them if drey will develop software quarter loss of $6.5 million on sales of $165 software. Why? Full-line Amiga distributors for it. The more polite developers will million. These are down from the $9.6 (that is, distributors who carry products manage to stifle their laughter before they million earned on $200 million in sales in from all Amiga hardware and software say NO; but be prepared for most Copperman has conducted a complete Designs showed off Invision Plus, a new MICHIGAN SOFTWARE purge of revisionist elements and version of their software for the Live! board 43345 Grand River reoriented the Party towards more that creates some amazing effects in real­ Novi, MI 48050 capitalistic goals like selling more units. time. And NewTek displayed Digi-View There is even hope for the poor dealers out 4.0, which offers “dynamic hi-res” with all on the collectives; they’re seeing some 4096 colors in hi-res interlace! You could AUTHORIZED AMIGA support from the Central Committee. For hear the onlookers muttering to themselves DEALER once, the Bandito supports what about cramming the copper list and similar Commodore is doing, because they’re esoterics. The new software also has an doing all the right things. More staffing, ARexx port for multitasking with Digi-Paint (313) 348-4477 heavy advertising, more dealer support — 3 or other software. Call for current prices. it's all happening. Congratulations, In die latest installment of the stone Commodore, You’re Doing The Right Death of a Publisher, Epyx has filed for For The A -1000: Thing. Now, keep up the good work and Chapter 11. The company is expected to •The NEW INSIDER II don’t let the pessimists and cynics steer you reorganize, pay off debts, and become an •KWIKSTART 1.3 ROM BOARD off ccnirse. It will take time, but the Amiga AL of some publisher (any bets on can take its rightful place as a tine Electronic Arts?). Employees are still owed For Dealer inquiries, call competitor in the computer market. some wages, but unfortunately drey come (313) 685-2383 last on die list of creditors. Don't worry for Circle 116 on Reader Service card. them — all the good ones have already been absorbed by other publishers who are developers to just laugh hysterically. Get always hungry for talent. the message. Commodore? Nobody wants New7 hot game: ReadySoft’s Space to do 8-bit software anymore! Besides, Ace follows in die footsteps of Dragon's none of tire companies are willing to take Lair. Better compression techniques allow' Exciting New Game any risks on a new software format. Look of even more scenes. It’s still a simple-minded how hard it is to convince developers to Legal Affairs game, but there’s nothing better for write for the Amiga, a machine with over a knocking die footwear off of your friends. million sales and four years longevity Courtroom There is a new program called behind it. Save yourself a bundle of money ProVector that is posing a challenge to > Act as Prosecutor or Defense Attorney andHi Quality Version Available on AMIGALAND.COM burn all your notes, designs, and > Play against the Computer or Another Person ProDraw. ProVector has object-oriented prototypes of the C65. Then, put that 1 Choose from Libera! or Conservative Judges drawing tools, is ARexx-compadble and > Select Criminal Cases from the Court Docket engineering talent to work on new Amiga > Question Witnesses, Raise Objections has PostScript output. It’s about time for projects. Better yet, why not “accidently” 5 Convince the Jury and Win the Case some hot competition over structured leave the C65 plans lying around outside graphics — things have been a little slow from... Atari headquarters? lately in that field. The Bandito loves a good only FalrBrother & SoeparMann $ 4 S .S 6 5054 S. 22nd Street features war, and it looks like the shoodng CHANGING THEIR TUNE Arlington, Virginia 22206 has died down for a while in die HAM Paint In the past, the Bandito has taken a |703t 820-1954 Wars. (continued) Circle 179 on Reader Service card. somewhat adversarial Lone in talking about Commodore and its actions. This is only Now that the Bandito has thoroughly natural — Commodore has spent the last 5 flogged that horse, let's find out what else Memory years in turmoil, and certainly every Amiga has been happening. Hmm, it says here that owner, except those who work in West Infinity Software died a quiet death in April, Management Chester or those who are certifiably but for the most part, no one cared enough deranged (the two sets are not mutually to notice. Gee, at least make a loud noise Amiga Service exclusive), has felt that the Amiga has next time you head out a window, OK?The succeeded in spite of, rather than because Bandito hates being behind the times with Specialists of, Commodore’s efforts. We have seen a tire news. procession of presidents parading past us, Over three years experience! each promising: Things Will Be Different AMIEXPO REPORT Commodore authorized full service This Time, and The Amiga Will Really Sell. According to the Bandito's informers, center. Low flat rate plus parts. the big earthquake in San Fransico not only Yeah, sure. They made some pretty Proudly affiliated with . . . speeches, but the fundamentals didn’t leveled some buildings, it also leveled The Memory Location change and Commodore went right on attendance at the Expo that took place just being inept. a few days later. Only a few thousand souls 396 Washington Street Well, the Bandito feels that things ventured forth to attend the show — some Wellesley, MA 02181 have really and truly changed. Perestroika of the exhibitors didn’t even show up. But (617) 237-6846 is taking place in West Chester. Harry there were a few bright spots. Notably, Elan Circle 186 on Reader Service card. regularly $49.95 Free Software! now only Be one of the first 100 people to purchase $29.95 KeyCraft or ProPOD from this ad and we'll Become a power user with KeyCraft, the keyboard and mouse macro-maker for the Amiga. include “PD-Power", our exclusive collection Customize applications to work the way you want them to... Double your productivity... of power utilities for the Amiga, FREE! Triple your typing speed... Create reallime animations with any paint program! Act now to receive KeyCraft at this low introductory price (don't forget to ask for your free “PD-Power”) Win $2000 in Fish! Stop searching through those RKMs! We’re giving away the entire Fred Fish Programmer’s ProPOD provides instant access to all Collection (estimated S2000 value) toone lucky h k version 1.3 system structures and function-coll member of the Amiga community. To enter, tem plates at the touch of a key! You'll send a self-addressed, stamped envelope to: save valuable programming time when SSI Free Fish Contest you let ProPOD “look it up” for you! PO Box 59800 Online Database. Proregularly $39.95 POD Guaranteed to increase your coding Chicago, IL 60659 now only $29.95 C and assembler productivity, or your money back! One entry per person. No purchase necessary. Void where prohibited. Winner's name will be StraightLine & Software Inc. To order, caul -8 0 0 -4 5 8 -2 9 9 5 published in the June, 1990 Amazing Computing. inoStvnott Dalanco ’ tlotwoon 1 wo Potvh IL & overseas call 1-312-539-5506 Contest ends 4/15/90, and entries must be 3318 North Kimball Avenuo • Chicago. IL 30610 Visa, MasterCard, and CODs accepted. Mail orders to: SSI • Box 59300 - Chicago. IL 60659 received by then. Rules will be sent to ail Be sure to ask for your free "PD-Power" disk. When ordering by mail, include $2 s & h. Illinois residents, contestants (that's why the S ASE). Good Luck! ______please add 7% sales tax.______Introductory pnces valid until 2/15/90. Circle 166 on Reader Service card.

The Bandito was checking out the enhancer, because there’s plenty of time to • Commodore will finally announce a CD- Sears catalog and found that not only do organize your files and make telephone ROM drive for die Amiga. they carry' the Amiga, but Sears also sells a calls while you’re waiting for the software few pieces of software — Interceptor, to update the screen. •The A5Q0 will come with 1 megabyte of BattleChess, Test Drive II, Nicklaus Golf, memory standard by the end of the year. Batman, and Double Dragon. Why not DRUM ROLE PLEASE! WordPerfect, Professional Page, The Bandito’s fearless predictions for • Amiga sales in the U.S. will surpass DeluxePaint III, Planlt!, and SuperBase? Or 1990 are here. Yes. of course, you Amiga sales in Europe. Digi-View, Performer, TVTEXT, and remember how incredibly accurate last Director?Hi Quality Version Available on AMIGALAND.COM What do they think it is, a game year’s predictions were, don't you? Expect •The A3000 will ship in the Spring, machine? Sheesh, At the same level of though people will complain that the least offer people precision this time. price is loo high. Commodore will let slip some choices. Without further ado, drat they are working on a 68040-based The Bandito here’s what the Bandito version. has heard of yet “Elvis will be fo u n d believes will happen in another attempt to living in West Chester, 1990: •Commodore will strike a deal to bring a save the ancient 8-bit PA. He will be working standard font-description language to die technology of the as a technician at a • By die end of the year, Amiga. Apple II from local computer die A500 will be selling extinction. This time, for S399- A complete •The new 640 x 480 non-interlaced manufacturer. ” — the idea is being number fo u r on The system (1 meg, 2 drives, resolution mode will create more interest floated to “Clarisize” Bandito's list o f and monitor) will cost in the Amiga for word processing. New the II — spin it off less dian $800. versions of major word processors will predictions for 1990. into its own take advantage of this, becoming company, free to •The Video Toaster will competitive with the best programs on swim (or more likely, finally ship. other machines. float like a rock). The problem is that they would be competing • Commodore will be the target of a hostile with Apple in tire under $1000 market, as takeover attempt. The Bandito leaves a review of last year's Apple brings out its low cost Mac next year. predictions as an exercise for the reader. A fast I1GS could be sold for only about •Elvis will be found living in West Chester, Before you laugh too hard at the Bandito’s twice as much — still not competition for PA. He will be working as a technician at a accuracy, check out what psychics were an Amiga, but an interesting choice local computer manufacturer. predicting for the year. Makes the Bandito nonetheless. So we may yet see the IIGS look pretty smart, eh? Plus. And other sources swear that Apple •A major software publisherwill announce has a version of HyperCard ready for the that they are porting their bestselling IIGS. Supposedly, it’s a real productivity business software product to the Amiga. •AC* Facing the CLI. Disk Structures and Startup-Sequences

by M ike M orrison

ne of the problems people who As you can see, when using the CLI (programs, letters from your wford proces­ use the Workbench (WB) have while trying you must talk to the computer in words. sor, data from your spreadsheet, etc). This to learn die CLI is die confusing difference First, you have to tell the Amiga what you is the equivalent of storing papers loosely in terminology'. If you are a WB user, you want do — in this case copy a disk in the filing cabinet instead of in one of its might say somediing like ‘'DPaint is in the (diskcopy), and you must tell it exacdy neat little file folders. Also, on a disk, you Graphics draw er”, while a CLIer would say what to copy (dfO: to dfl:). This is exactly can have drawers inside of drawers, inside “DPaint is in the Graphics directory". These die same diing we did when we dragged of drawers, etc. In fact, you can open a two statements mean die same thing. This one icon over the other on the Workbench. drawer and the only thing inside of it might example may be somewhat subtle, but this If you aren't used to the CIL, the Work­ be five other drawers! is just the type of thing that causes confu­ bench will seem much easier. It is impor­ sion. tant to note, however, that there are certain This analog)' also works wdien using things you just cannot do from the Work­ the CLI, only there are a few names that WORKING WITH PICTURES bench, and there are other times when you have been changed (to protect the inno­ W hen using WB, everything is icon- mav have die option but cent, 1 suppose). Instead of draw'ers, the based. This means that you are working using die CLI may actually CLI lists directories. withHi Quality Version Available on AMIGALAND.COM each entity by manipulating its associ­ be faster, easier, or both. In Take a look at Figure ated picture. any case, if you are ever One. This really is going to use die CLI, under­ how the disks and Example; You have a diskette that you standing die disk file struc­ just like a filing their directories and want to copy. ture will make using it much cabinet, a disk has files are laid out. This easier, drawers within is really how all 1. Put die disk you want to copy into drive it... In fa ct, you ca n Amiga disks are struc­ open a drawer and tured. Workbench 0. CLI & WE BLUEPRINTS the only thing 2. A disk icon with the name of die disk will The WB uses icons to sometimes makes it inside of it might be easier to get around appear on die WB. represent disks, drawers, five other drawers! 3. Put the blank disk into drive 1. files, etc. These are related because it has visual 4. A disk icon with the name of the disk will to one another in a certain aids (icons). This appear on the WB (it may be DF1:BAD’ if manner. A disk w'ould be makes understanding y'ou are using a new' non-initialized disk), the topmost level, whether the underlying struc­ 5. Drag the icon of the disk you want to it is a floppy disk, hard disk, ture less important. copy onto the icon of the disk in the other or optical drive. Let’s use the a filing cabinet When using the CLI, understanding this filing structure is vital, but once you get the drive. as an analogy. The disk would be the tiling hang of it, it will be a piece of cake! 6. The system then copies the disk in drive cabinet that holds all die data. Just like a 0 to the disk in drive 1. filing cabinet, a disk has drawers within it. Inside a filing cabinet drawer, there are file HIDE ‘N ’ SEEK When you boot up your Amiga, the W hen using the CLI, you must tell the folders. Inside a drawer on a disk diere are disk that you booted it with becomes the computer what to do by using commands. also files. System disk. This is where Ami will look lor To accomplish the same thing above using commands, fonts, libraries, devices, and the CLI you would use the command; The analogy between a disk and a filing cabinet is not perfect. When you more. In the last article we talked about open a disk (by double-clicking the disk how to get around the disk-swapping 1> diskcopy dfO: to dfl; icon), you may see both drawers and files problem when using commands from the CLI. We pul certain commands into a RAM Get into the CLI by double-clicking in its mand from die last article. The “>NIL:" part disk and told the system how to find them. icon (in die Utilities drawer on your WB of Lhe ‘endcli’ command is a little difficult As promised, I’ll tell you how to add these disk). Once you have the CLI prompt, type: to explain, Basically, it says “send any gar­ commands to your startup file. bage floating around into the bit bucket”. ed s/startup-sequence The “>” causes all output to be redirected. STARTUP-SEQUENCE Here die output is redirected to the NIL; The startup-sequence is one of die This starts die editor called 'ed'. The device. NIL: is a device similar to DEO:, files that is searched for when your Amiga computer finds ed because it is in your C except that if you say 'copy stuff to DFO:’ boots up. it is located on your WB disk in directory. The ‘s/startup-sequence’ tells ed the file named “stuff’ will be copied to the a directory called S. The S directory is to open the file called startup-sequence disk in DFO:, and if you say ‘copy stuff to where startup scripts are kept. A startup diat can be found in the directory s. Note: NIL:’ the file named “stuff would be script is a file which contains a list of if ed comes up blank widi a message dial copied to nodiing, the bit bucket, file commands that are executed when a par­ says ‘‘opening new file”, you probably heaven, etc.. ticular program is started. Usually this list made a typo while typing ‘‘startup-se- (when executed) will set diings up in a quence”. Ed is smart because if it can't find To add commands to your startup- certain manner. The startup-sequence is die file you told it to find, it assumes you sequence, add diem before die endcli die startup script the Amiga executes upon want to create one. We don’t want to cre­ command. Remember to use a copy of ate a new file, so your boot disk in case we mangle the if ed answered startup-sequence (chances are if you make ROOT “opening new a mistake, Ami won't boot up to Work­ file”, hit the ‘esc’ bench). Use die listing from iast mondi to key (upper left) create a RAM disk with commands on it. . and then the ‘q’ When you are done typing in the changes, FILE DIRECTORY FILE DIRECTORY key. Ed will go press die 'esc' key and then the ‘x’ and away and you . This saves die newly modified I I I 1 will be back at startup-sequence to disk. Wait until the DIRECTORY FILE DIRECTORY FILE the CLI. Try the disk light goes out and then reboot your original com­ .Amiga to see if the new startup-sequence r r mand again. works. Hi Quality Version Available on AMIGALAND.COMDIRECTORY FILE DIRECTORY DIRECTORY The startup- To customize your startup-sequence sequence is now' for die w'orld to see, use the ‘echo’ com­ FILE FILE FILE FILE FILE in ed. Ed has a mand. Add something like this: w hole list of c o in m a n d s echo “This is Mike’s Amiga booting.” which you can echo “ ” Figure One: A sample disk structure showing a find in die man­ possible relationship Petween directories and files. echo “Have a great day!” ual that came with your com­ To have even more fun, you could boot-up to arrange diings die way you puter. Use die arrow keys to move around change the echo command to the say want. Most people don’t even know that it in the text. This is the script that the Amiga command and each time you boot up, exists and use the default script (die one executes during boot-up. Many things these lines w'ould be spoken. Usually after Commodore included with your Amiga). happen here. Many of these are AmigaDOS hearing a sentence 5 or 6 times you find This script is O.K., but why not customize commands; some are actual programs. The it? yourself changing die startup-sequence startup-sequence executes in order from back to echos. Both echos and say will beginning to end (there are commands for slow,- down your startup-sequence, so use CUSTOMIZING YOUR skipping lines). Scroll all the way to the diem wisely. STARTUP-SEQUENCE bottom widi the arrow' keys (using the Ctrl The usual rules apply: Work with a key and the U or D keys wil! scroll the back-up of your already backed-up WB Olten, using the CLI can be a trying display up or down one screen at a time). disk. Never work with the anginal. Playing experience, but with patience and persis­ tence you will soon be getting around widi widi the startup-sequence can cause your Notice this last command: Amiga to not want to boot up to Work­ iitde difficulty. Sometimes looking at other people s startup-sequences or script files bench. If you use a copy and make a endcli > NIL; mistake, you can always revert back to your can help. Enjoy. original copy of WB. You should recognize the ’endcli’ com­ •AC- D ^ ar A n im a tor'S

January 1, 1990

Dear Animators,

For all of us animators (professional Silver series, PageRender 3D from Camera, Action!, Microlllusions has an and otherwise) and aspiring animators, Mindware, Forms in Flight from entire Line of PhotonVideo products to 1989 was a very good year. It was the high MicroMagic, 3D Professional from complement its PhotonPaint 2.0. We even point (so far) in the history of Amiga Progressive Peripherals and the Caligari have animated fonts from Anivision as w7ell animation. Even as we are trying to get this series from Octree. Two of the most as Build ‘em-dip-avt designed to be issue to press things are still hopping. We popular paint programs, DeluxePaint HI animated from the PictureBox. have just received beta copies of Deluxe and PhotonPaint 2.0 include animation. In the last few7 years even hardware Video III (which should be officially Zoetrope from Antic is also a combination has joined the parade. There are now7 a available soon after you read this), as well number of frame buffers available (and as upgrade 2.09 of Sculpt-Animate 4D and several more coming out early in the we also received word on a brand new year) which offer 24-bit output animation package to be available in (professional video quality) to February (keep reading)! videotape for tlie many programs Animation was recognized very7 that now support this. There are early on as one of the Amiga’s also frame controllers which strongestHi Quality Version Available on AMIGALAND.COM features and greatest interface with professional film potentials. Remember, even high- ancl video recorders for single- end 3D graphics machines like frame animation. the CubiComp (around The really good $50,000) can't do real-time thing about this is that as animation! From the more excellent animation originals like Aegis’ programs become Animator and die early available for the Amiga animation products of the interest in Amiga Martin Hash to this animation will grow, year's rash of and as the interest Animation upgrades grow s it will continue to spur and introductions: t h e DeluxePaint III, development PhotonPaint of new and 2.0, Sculpt4D, b e t t e r TurboSii ver wait to see 3.0. MovieSetter and more. The market for animation/paint program. We even have products! Personally, I can’t what 1990 will bring. (In case you can't animation products is continuously MovieSetter from Gold Disk which can wait either I’ll give you a hint ot the future growing and the products it has have an amateur producing cartoon-like to come. Watch out for the February7 release encouraged are many and varied, just animations, from the included of THE ANIMATION STUDIO from Walt about everyone has finally gotten into the backgrounds and animated clip-art, in a Disney Software!) animation act. The shocking truth of the matter of minutes! Happy Animating! matter is that, for the most part, they all A number of programs allow combination of individual frames into have something useful to oifer. Martin Hash now7 has an entire line of animation: Elan's Performer, Video Effects excellent animation programs and utilities. 3D by InnoVision, Animation Station by Progressive Peripherals, Pagellipper Plus Most of the popular 3D programs include Barry Solomon animation facilities: Aegis' Videoscape. F/X by Mindware, The Director irom The Video Editor Byte by Byte’s Sculpt series, Impulse's Rieht Answers Group and Aegis’ Lights, Ladies And (jmtdwcn, ovc cpou.,,.

T H E M l t M E k 7

by Bradley W. Scbenck

would allow these demonstrations to be which basically would make the previous Bradley W. Scbenck non the 1988 run on practically any system. When I year's entries look pale by comparison. I BADGE Killer Demo Contest and has created Charon, many tough decisions started to get this itch to enter after all. just iron the 1989 Contest with bis new were presented by the environment I had As soon as i had received my .Amiga animation, The Sentinel The Sentinel is to develop die demo for; there are limits to 2000 system, I had given it another two available on Fred Fish D isks #263 and the amount of data that can be megabytes of memory and a hard drive. #.264 (yes, it ta k es m ost ofl>otb_disks). squeezed onto one floppy One of the things I had wanted to do for a The file is so large that it takes at least disk (especially in long time was to work in ray tracing, which three megs to run (and this version t h e higher takes large amounts of RAM, time, and has to pause in the middle to reload). Storage. With die introduction of Turbo There is also a 3-5 meg version wbicb Silver 3.0 I had found a rendering and willplay without interruption. You can animation program with much ot the see a few still shots of The Sentinel in Hi Quality Version Available on AMIGALAND.COMpower 1 had been looking for. our PD Serendipity column on pages My two dimensional work in 56-57. — Ed. traditional media and, later, with computers, has always depended on textures and surfaces with many No one was more surprised dian qualities. Silver allows me to create a me, when I found myself entering the wide variety of surface types, 1989 BADGE Killer Demo Contest. I * to map IE F images onto had w on first place in 1988 with objects, and to use prefigured Charon, and had decided ="!*' textures that lend certain afterwards that it would be best characteristics and patterns to my to leave the contest to oilier artists the next year. The contest, which is ; objects, i needed that type of well publicized in die Amiga press, v capability to create the 3D world I traditionally offers an Amiga 2000 as : wanted to make. the first place prize. I had badly Early in the spring, T started wanted to upgrade my 500 system designing a hallway with an when I entered the contest the arched door and columns. This first time, and w hen! won, it was '■ was one of the first scenes I a break for me. I figured diat the next year created with Silver. For many should to be someone else's shot, just as resolutions, which I months, 1 worked on it when I had 1988 had been mine. prefer) and it gave me a structure to work time. Soon I had borrowed a TSie rules for die 1988 contest were within. Compromises had to be made. Midget Racer from a friend to speed up my pretty' specific. Entries were required to run When die rules for the 1989 contest rendering times. Using the floating point on a one-megabyte system and could were released, I was amazed to find how version of Silver, I set to work on an occupy only one disk; this was because die easygoing they were. There were no limits animation I hoped to enter in the BADGE demos are meant to be used by dealers and on the size of the animations or the memory contest. The early versions of the opening users groups to show off die capability' of that would be needed to run them. I had a scene were coming along very well, and the Amiga, and it was felt that having them sinking feeling that we would see a whole finally I decided to test the ANTM files on a am on normal systems with a stock slew of demos along the lines of die Walker stock Amiga system. 1 trotted into my wife’s Workbench disk in the other floppy drive and Walker II demos by Brian Williams, studio to run the animations on my old 500 system and got a nasty shock. The AN1M compromises were killing the image, and I had about four weeks — not much files had played baclc beautifully on my as it turned out, I went back to time at all. The story for The Sentinel came system, but were slow and jerky on a stock concentrating on commercial work and just to me pretty much immediately; it was built Amiga. let the idea sit. It looked as though I on some of the objects I had been working Although tire Midget Racer isn’t the wouldn't be entering the contest after all. on, and the setting for the first scene was fastest accelerator 011 the market, there are The contest deadline wras set for the same hallway I had started with months a few things it can do swiftly even though September. I waited with some anticipation before. There would be about five scenes it doesn’t use 32 bit RAM. Obviously it used to see what the other artists had come up akogether, with certain elements being a 68881 for floating point math, which was with. In the meantime, I had finished a set used more than once. As I saw it I had just the reason I was using it, hut it also has a of tutorials for using the Textures in Turbo enough time, if nothing serious went dramatic effect on the speed of tire Silver, which Impulse had agreed to wrong. compression and decompression of data. publish, and I was spending most of my 3D Here's how the animation goes. I’m ANIM files rely on compressed data. time working up a library of objects to hoping that you've already seen it, since I They are a type of storage called delta make my world with. I wanted a large hate to hear the plot of a movie before I get compression, in which only the first frame number of building blocks for my a chance to see the film, but I want to of an animation is stored completely. animations, many little objects to use when explain how the scenes go together. Subsequent frames are stored only as the time came. I brought differences from the preceding frame. m v 2000 up Frames which contain very small changes t o 1. It opens with a view of the from one to another will compress very corridor. An arched doorway is in the well, while frames that have large changes middle, with a crystal pyramid and will not compress as well. While the triskelion medallion at right. After a pause, ANIM file is being played, the tile door swings open with a creaking program that displays it is sound. constantly decompressing the 2. Cut to a view past the door and frame changes and constructing straight down the hallway beyond. A the next frame. That's where double row of columns and urns my own system excelled and leads into tire darkness. After a where the stock system just [t moment, something becomes couldn't keep up. The awful visible at the end of the hall: a truth is, you can get away columned brick wall behind a withHi Quality Version Available on AMIGALAND.COM bloody murder in your pedestal. A shield hangs on the ANIM files if you have an wall; a helmet is on the accelerated system. But if pedestal. The atmosphere your animation needs to be ; throughout has the feeling of played on stock systems, you > tile Bronze or early Iron Ages. can’t take advantage of that. 3. Cut to a closeup of the wall, shield and helmet. So there I was. There After an establishing pause, tire are a few tilings you can do to 1 helmet rises from the pedestal optimise the playback speed of this type of and turns to face the shield. animation file (this applies to Byte-by- five megabytes. I was busy. There is a flash of lightning and Byte's Movie file format as well). The basic 1 kepL finding myself showing Turbo the roar of thunder; when tire inrage clears, idea is to change fewer pixels in each Silver to odrer users. It’s a difficult program the helmet is facing us and the shield has frame. You can do this by lowering the to master and, although I hadn't done a moved in front and to tire side. resolution of your screens (that will huge amount of work with it, many people 4, The wall is gone, replaced by automatically halve the the amount of data) I knew felt that I had gone far enough with blackness. It’s as though a ghostly figure or by tailoring the animation to make it that I might save Lhem from some of the has risen to face us. At the other side, a smaller changes from one frame to another. mistakes 1 had made. As far as experts go, sword appears. The helmet swivels to face The first alternative is always a last resort my money's on Louis Markoya; but he’s on it, and the sword is snatched up. The for me. I want my work to use the higher the other side of a pretty large continent, so helmet turns back to look at us, and the resolutions whenever possible, for the they had to make do with me. I began to get sword sweeps high overhead. smoothest obtainable appearance. The itchy again. 1 finished one late night session 5. Cut back to die hall where we second alternative seemed more sensible. 1 with Leo Schwab and Rick Unland of began. There is a crash; tire door slams was animating a large moving object over Commodore, and the next day I heard that shut, its knocker banging ominously with a reflective floor with dramatic lighting that the BADGE contest had been postponed the impact. cast huge shadows. This made for large until late October, and that there were at changes from frame to frame. that time fewer entries than prizes. Altogether there are about sixty Over tire next week or two, 1 Although there are always a batch of last- frames of animation involved, and the experimented with the scene in low minute entries, this sounded awful, and I entire project was finished within three and resolution, with a non-reflective floor, and had just been feeling like getting back to a half weeks. How did I do it? I cheated like with different lighting. I found that the work.... mad. I always do. Ma/linff the, Most o^a C ittic 7 ~ iik c

I was able to take advantage of some at least one frame of your animation, it may screen as a brush or as a small screen, and features of my software to speed up the not be possible to foresee what die then load it in at another precise screen rendering process. Turbo Silver allows die shadows and reflections will be doing. location. This is especially useful in user to Set a Zone to be rendered: instead When setting the Zone for a series of animations. of creating a full screen image, one can frames, you must be sure that you include I was able to Save from my rendered render only a little 'window' on the screen. all the area that will be affected. In the zones, and to use Load At to load them This can save many hours of ray tracing. software's current version, you can’t set die automatically into position on the lull You have to be careful to take zone beyond the non-overscan area of the screen frame I used fora background. This shadows and reflections into account. screen (if using overscan), so in some cases was much more accurate and simple than During an animation perhaps only a small you’ll just have to render the entire picture. picking up die zones as brushes, clicking object will be moving, but its shadow will When it came time to put the pieces each in place by hand. In this way I saved also move, and its reflections (if any) in together I was able to use a couple of very days of rendering time at the cost of a few nearby objects will change as well. Turbo handy features in Deluxe Photolab's Paint minutes’ work. Silver's Solid Model mode provides module. The Save From and Load At B.W.S. excellent shading, but widiout ray tracing commands let you save a rectangle of the

Although the rules hadn't specified a it wouldn’t require the fatter Agnus chip. Silver’s Brick texture. Parts of the helmet rigid structure for animations, I imposed And it had to be finished in four weeks, or had been created with Access some restrictions myself. The demo ought I would miss the contest. Technology’s Dlgiworks 3D. which Lo be contained on two floppy disks, and 1 already had die first scene set up, I translates IFF images into extruded 3D should run in three megabytes of memory. only had to create and render the cell files cutouts. I mapped an IFF image onto die Three megs is a fairly common for the animation. I was working in 352 by pedestal and placed rings on the wall configuration for 2000 and 440 pixel resolution and overscan, and which w'ere near duplicates of the door 2500 systems and isn’t each frame took a number of hours to knocker from the first scene. After adjusting tooHi Quality Version Available on AMIGALAND.COM unlikely on Amiga render. The first scene took about five the lighting for awhile, the stage was set. 500’s. The 2QOO’s straight days to generate; I wasn’t able to I rendered the first frame, where the often use the old use any shortcuts for that one. helmet is sitting on the pedestal, saved it Commodore 2 Next, I had to create the view and copied it to a floppy. Next I started meg board, or down the hallway. I A another marathon of the newer 8 repositioned my camera j ' \ m eg b o ard in Turbo Silver, and p o p u l a t e d ^ added the columns and with 2 megs, ums down the hall. The and there are columns were taken several third- from Steve Schram’s party boards Archltec with similar Objects disk configurations. I Impulse; I had made had b een the urns some time working with before with 3Demon several large (Mimetics), which lets ANIM files-and possibly some you paint the faces of sLilfs, and I wanted all of the data to be in an object individually memory at die same Lime, so there wouldn’t - it’s nice to be able to be any delays due to disk access. The see what you're animation would be played with The doing! The scene at Director. The Director allows me to use die end of die hall practically every trick that’s available on the came next. I had Amiga, and I have yet to find another made the wall and program that allows me anything like the shield for a still control it does over every aspect of a image, several already had the view down the hall presentation. I have even written a couple months before; the helmetwas the object 1 and die wall scene done, I was able to take of utilities with it. There would be some had been working on when I started the them over to the my wife's 500 system and sound effects, and the animation would not animation. There is an IFF image mapped create the second hallway frame. I used need more than 512K of chip RAM. That is, onto the shield, and the brick wall uses Deluxe Photolah to match the Shield picture to the palette of the hallway picture screens. One shows the helmet and shield just die area widi the knocker and its and then shrunk the shield picture down to in their new positions against die wall; shadow for the frames of the knocker fit at the end of die hallway. I pasted it into another shows them positioned in the same banging against the door. There were only place and finished the graphics for the way, widi a black background; and the last diree of diose frames, and diey were ready second scene while the third one was being one is a pure white screen that creates the in a few hours. I still had over a week to go. rendered, flash. I only needed to render the first two All of die animation files correctly I was able to start cheating now. — the flash screen was easily made later, went together pretty much the first time. I Turbo Silver lets you Set a Zone of die with DPaint. had a couple of minor problems, but a complete screen, and it will render only That done, I designed the animation silent version was running by die time I that zone if you tell it to. I was able to use for the sword sequence in wireframe crawled into bed that night (or was it this feature to render only the area of mode. This was a critical step, and I was morning?). each frame that was , changing, beginning to feel the deadline pressure I had had to plan the animation saving some rendering j | time. One already. I adjusted it and reviewed it several ahead of time (and I had time on my hands, problem was the / Ij shadow times, until I felt it would do. The animation while it was rendering), and 1 made some that the moving / } helmet could have used many more hours of decisions while making it work. Here’s a cast on the wall; it was I ■ large, design time, but I didn’t have them to spare. short description of how The Sentinel which made me use a J 1 large 1 started the last long rendering marathon. works: zone. In addition, J l t h e While my system was ray The tide screen is a single IFF image, large zone would tracing around die clock, I worked in 32 colors (the rest of the animation is in end up making the 1 > on the title (/) screen on die 500 HAM, which Silver does beautifully). It isn’t final ANIM file and tried to predict and loaded and displayed at first, because I had larger, and it solve to do something else before I loaded it. would also make irst, I load the sound files and then the file play back die ANIM file of die opening door. You more slowly, can’t see it happening, but I play the ANIM since it now through once and copy every other frame made greater to a screen in fast RAM; this is because an changes from ANIM file of the slamming door fram e to wouldn’t play back quickly frame. I could enough. By saving out every live with that j other frame this way, into becauseHi Quality Version Available on AMIGALAND.COM I 1 memory, I was able to flip already knew j the pages much more what I was rapidly than I could going to do about it play the ANIM file, so later. the door would really Once the frames look as though it of the rising helmet were slamming shut. were completed, I look This approach used those partial screens much more memory (remember, I was than an ANIM file, rendering only a “zone” but it was die only of each) and again used way 3 could get the Photolab to paste them like V.; brushes upcoming door to slam at speed. onto die first frame (like a problems in Next, I load in a smaller background). With a little touching up I my h ead ANIM of the three frames had the third scene done. It had only taken b efo re that I use to bang die door a few days. stumbled across knocker at the end. This was a I had to get rid of die wall: I already them. 1 was very single-buffered ANIM. Almost all knew that. I mentioned diat the objects’ conscious of the fact ANIMs are double-buffered, which shadows were causing me a couple of that I wouldn’t be able to see means that two screens are used to play different problems that would affect both the animation on a stock system at home them: one is displayed while the other is storage space and speed. I had decided on (the 500 system has only one megabyte), updated to make the next frame. Single using a thunderclap and lightning flash to and the animation’s playback speed on a buffered ANIMs can only be created widi make a dramatic transition from die third stock system could still be a problem. I had die commercial version of MakeANIM, scene to the fourth, and it gave me a chance to know just what I was going to do with my available on the Director optimize disk. to lose the background in a way that made data once it was all ready. They are meant to store data that you won't some kind of sense. A dead black With the fourth scene rendered, I was be pi ay ing normally, but which you want to background would show no shadows and nearly done. I had already decided to reuse compress to save space. I then decompress make my playing speed faster. Also, it some of the frames of the door opening diis ANIM just as I did with the first, so that would enable me to use the Set a Zone when the time came to slam it shut; and I those three frames are also available in fast feature more effectively. RAM. The lightning flash uses three was able to set the rendering zone to create Now the title screen is loaded and screens used for slamming the door, not as displayed, fading in from black. I waited an ANIM file but as separate images in until a fieri was done with the ANIM files to memory. Pro ducts m en tion ed: avoid fragmenting memory into small There were several ways around it, chunks, The title screen remains displayed but none that were attractive. What I finally until all the rest of the data has been loaded. did was to watch die demo and read die Turbo Silver 3.0 The ANIM files for the hallway scene, script over and over until I had pinpointed Impulse, Inc. rising helmet, and the sword swing are now a lew important points where I might be loaded, with some still frames for the able to use a loud from disk. These had to 6870 Shingle Creek Parkway lightning flash. Once everything is in be moments where there could be a slight Minneapolis, Minnesota 55430 memory, the animation starts. pause, but they also had to fall at points (612)566-0221 The first frame of the door animation where I could drop some data from Price: S199.95 is displayed, showing the door closed. memory (not needing it until the demo Inquiry #222 There’s a pause so the viewer can have a repeated) and load in something else dial look at the scene. Then the door animation I would only need temporarily. This is played through, with a sound effect for proved to lie the best solution. Deluxe PhotoLab the creaking door. There is another slight The final result was two different DeluxePaint III pause, and we cut to frame one of the Director films, one for three megabyte Electronic Arts hallway ANIM. After another brief pause, I systems and one for systems with more 1820 G atew ay Drive dissolve in the scene at Lhe end of the than three megabytes. The latter was my San Mateo, California 94404-2497 hallway. We then cut to frame one of die original version, in which all ofthe data was (800)245-4525, rising helmet ANIM and hold there for a loaded in at the beginning. The three meg in CA (415) 571-7171 moment. Then that ANIM is played version worked almost the same way, as Price (Deluxe PhotoLab): $ 149.95 long as die demo was being tun from through. Price (DeluxePaint III): S 149.95 floppy disks; running it from a hard disk The thunderclap is made by playing Inquiry # (PhotoLab) 223 the same 20K sound sample at different means that some pauses will be shorter, Inquiry # (DPaintlli) 224 speeds, through all four channels, and unfortunately. To get around diat I would fading it out as a distant rumble. During the have had to either provide another version thunderclap, 1 flip between the diree flash based on an average hard drive speed, or The Director pictures, finally settling on the shield and ask the user at the start if the demo were helmet against a black background. This running from a hard drive. However, work Director Toolkit was easily the “cheapest” effect to create, was picking up, and I needed to give it my The Right Answers Group butHi Quality Version Available on AMIGALAND.COM possibly the most effective. Especially full attention. So I decided to call it finished, P.O. Box3699 if the volume is turned up. and got it off in die mail before the Torrance, California 90510 This places us at the beginning of die deadline. (213)325-1311 next ANIM file.... almost. First, I use another In retrospect I wish that I had had Price (The Director): $69.95 dissolve effect to bring the sword in. The more time, especially when it came to Price (Toolkit: $39.95 first frames of the ANIM play, as the helmet plotting out some ofthe animation. To tell Inquiry # (Director) 225 turns to face the sword, and we pause the truth, I was amazed and pleased that I’d inquiry # (Toolkit) 226 again; then the next frames, in which the gotten it finished on schedule, and I’m shield moves out as the sword is picked up. pretty happy7 with the way it turned out. Pause again, then die helmet rotates back So what next? I figure I ought to retire CYBER Graphics to face us; pause again, and die sword from die BADGE circuit. I see it as someone Architectural Design Disk swings up. Ail of that is done widi one else's turn now, another artist - especially Antic Software ANIM. The timing is created in the Director a young one, who has more ability than 544 Second St. script in my playback routines. cash flow, and who might be able to San Francisco, CA 94107 Now we cut to the opening scene. I surprise us ail with something wonderful, (4 15) 957-0886 rapidly move each frame into chip RAM, getting a new system in the bargain. Does Price: $34.95 display it, copy the next to another screen that sound like you? 1 hope so. Inquiry #244 in chip RAVI and so on. The three frames of For me, I have another itch now to do the banging knocker are played in several work that doesn’t depend on available sequences to make die knocker hit die RAM, storage, or playback speed. Going to door three times, synchronized to another video looks pretty attractive. Going single DigiWorks 3D sampled sound. After a moment, we return frame to video looks better. Aid with a Access Technologies, Inc. to die tide screen and start again. couple of frame buffers on the market that P.O. Box202197 I was stilt about a week early, and had will let me use two million colors on a Austin, TX 78720 the animadon done. Sort of. I found, that it screen, itlooks better yet. In fact, it all looks (512)343-9564 didn't fit in three megabytes after all. Even pretty7 good. Price: $129.95 without loading the Workbench, there just Inquiry #243 wasn’t enough memory to handle it. The biggest single problem was all of those •AC* Animation for Everyone or: Animation Can Be A 2Moving Experience! Tutorial by Barry Solomon

Well, tlie Holidays are over and I, for Overscan (which will set die screen size to Just remember that colors are numbered one, am so full of turkey and ham that I can 704 X 480) and four colors as neither are from zero on, so if you have four colors, barely move. Luckily, however, my finger default settings (16 colors and no overscan they will be number zero through number movements are not impaired so I can share is the Hi-Res default setting). three. Also remember that no matter how these bits of information with you. .Vs you Once your screen opens, hit ‘p’ to many colors you are using in any DPaint knowr, if you read last month's Video bring up die palette requester. The colors resolution, they are numbered from left Schmideo (and who didn’t?!), DeluxePaint we are going to set can be changed even (top to bottom) to right on your palette. III was my pick for best overall Video/ after the animation is completed, but for Thus in a Lo-Res, 32-color screen, ..there Graphics product of the year. DeluxePaint now, set them as I did so you know to will be four rows of eight colors. The first III has some features that can only be which colors I am referring. Set die first color (color 0) will be the top color on the described as absolutely unique. The color (top left—color 0) to red(Recl—15, left column and die last color (color 31) will brilliantHi Quality Version Available on AMIGALAND.COM Move requester is one of them. It Green—0, Blue—0). Set the second color be the bottom color on the far right column. has finally brought animation to the (bottom left-color 1) to white (Red—15, Pull clown the Anim menu and go to masses. So, for those of you who got DPaint Green—15, Blue—15). Set color two (top the Set Frame Count requester. Set the III from Santa or have just purchased right) to a blue®—0, G—5, B—15)and die frame count to 30. Click OK. Now go to rhe DPaint III with some of that holiday cash®, last color (bottom left-color 3) to a green last frame. You can do this by either by let's lake a little walk through the heart of color, R—6, G— 15, B—3. hitting the number three (which brings up DeluxePaint Ill’s animation feature. Please If you are absolutely brand new to die Go To Frame = requester), entering 30 remember, this is not the advanced class, so the Amiga this may be a little confusing. and clicking OK; or take the shortcut. Just if I bore you please feel free hit "shifi-2". This to go straight to die next automatically rakes you to class. the last frame in any Ready? Okay. Boot animation. (“‘Shift-1" always up your machines w'ith takes you to uie first frame. DeluxePaint III. If you do Learning these keyboard not already have an extra shortcuts can save you a lot formatted disk to capture of time and effort.) Use the the incredible animation right mouse button on die you are about to produce, Font Tool Box to bring up the please format one now. font requester. Pick the Before we get started, turn Diamond font, size 20 and on the Coordinates Feature then pick bold. (We will (more about this later). assume from this point on When presented with the that you know to close a Choose Screen Format requester by clicking OIv requester pick Hi-Res (640 when you are done.) Make X 400), Overscan, and four sure that red is your colors (two bitplanes). background color, pick die Make sure your click on white tis your foreground

I’ll animate this, you anim ate your name! white as your foreground color and then type your name anywhere on the screen, but do it all in caps (capital letters) and put a space between each letter. Pick the 2-pixel square brush (second row from the top-far right) from the brush shapes menu and the unfilled rectangle tool and draw a rectangle about twice as high as your name and an inch or so longer on either side. Go to the palette requester again (“p”) and make colors two and three (the top and bottom on the right) a "Range” by first clicking the top color, then Range (the word "to” will appear on the pointer), then the bottom color. Close the requester and bring up the Fill Type requester by clicking the Fill Tool with the right mouse button. Click the up-and-down gradient box then close. Now pick the blue as your foreground color, the Fill as your tool, and fill the box you just made. Sec how the two colors shade from top to bottom and are dithered in the center? Now pick the Brush Selector, and using the right button on the mouse pick up your name as a brush. Make sure that your background color is red so that you will pick up only the letters. Move your name so that it is positioned over the rectangle but do not stamp it down just yet. Pick red as your foreground color and hit ‘o’ on the keyboard. This will outline your name in the current foreground color (red) approximately one pixel thick. Hit ‘o' two more times. Now you have a nice contrasting outline around your name. Center your name over the rectangle and stamp it down. Centering items on a page can be made very simple with the Coordinates feature which I mentioned earlier. I always turn this on before I begin any project. When you pick up something as a brush ttyr to draw the Brush Selector lines evenly around the object. In this case, if the letters of your name are centered within the brush you cut out then you can stamp them down (reading the coordinates on Hi Quality Version Available on AMIGALAND.COMthe Title Bar) in the center of the page. In this example, the screen is 704 pixels wide so we know that tlte center is around 351 (pixels read 0-703) pixels! This is horizontal centering, If I am centering a single object or line of text vertically on a page, I like to keep it just a little above die actual center. Tills seems to be more pleasing to the eye. Try picking up the entire rectangle with your name inside as a brush (Brush Selector-right mouse button). Leave about one quarter of an inch around all four sides of the rectangle (for centering) when you cut the brush. Now stamp diis centered brush at 351 X 260 (slightly higher than the middle-240). Before you do anything else, click 011 Undo. All of your hard work will disappear. We do this because we don’t want to draw this brush yet. we just want to tell the Move requester where we want the brush to end up. Even though we c an't see the image anymore, die Move requester remembers the brush and where we want it. Now open the Move requester (Move under the Anim menu or “shift-m”. Click "Brush” and “Cycle” to de-select them. Next do the following diings: 1. Click “Move To”. This is because we have given DPaint III the position we want the brush to move to (.as opposed to where we want the move to begin). 2. Change the Count to 29. Since we are working backwards (Moving To frame 30) diis will leave a blank frame at the beginning. The default setting on Count will always be the actual = of frames you have set so always subtract one frame if you want to start from black. 3. Set “Ease In” to five. This will make sure that there is very little change in position in the last five frames, so that the brush will "ease" into position. The movement will thus appear smoother. We want the brush to appear to come from behind the viewer so set the “Z" figure to 500. Now click “Preview". This will show you tlie moving outline ofyourbrush without actually drawing the frames. This is DPaint Ill’s version of an animator’s “pencil test”. The frames will flash by fairly fast, but it will be obvious that you have not seen 29 frames. This is because we have set the “Z" too high. The animation now starts so far behind die viewer that the first ten or so frames can't even be seen. These are wasted frames. Reset “Z” to 300 and try Preview again. This begins the move just out of our line of sight. Looks good. Now set “Y” to 200 so die brush will appear to come from below the viewer. Try Preview. Again we seem to have several wasted frames. Try “Y" at 105. This time the preview looks alright. Just remember: these numbers are set by trial and error. Anytime that you want to have a brush move in from off-screen watch the preview carefully. If more than a couple of seconds go by between the time you dick Preview and the time you see your bmsh moving then you are wasting frames. This doesn't hurt anything, but why have your Amiga waste time trying to draw frames that no one will ever see? Now we are going to try one more adjustment to make this a really cool move. Set the “X" angle to 90. This will begin your move with die brush at a 90 degree angle to the screen. Remember, by setting “Move To” at the beginning, we have told the program diat all these other coordinates are where we want the brush to move from. Now try Preview. “Kinda like Star Wars, huh?” Except that our brush straightens out at the end of its move so that it will be more legible. This will not be terribly impressive in Preview modeHi Quality Version Available on AMIGALAND.COM as it is a little hard to see, but now diat we are through you can click “Draw". You can also go get a cup of coffee (or the refreshment of your choice) as this will take 5-10 minutes. When you come back from your break, check to see if your animation isstill "cooking". Ifyour pointer isn’t snoozing you’re all done. Now hit F10 to remove the Toolbox and Tide Bar and put the screen in overscan mode. Next, hit five to play your animation and voila! There you are. Amazing what you’ve learned isn't it? How about one more little adjustment5 Let's make your name remain on die screen a little longer at die end. Go to the last frame (“shift-2”). NowgototheSet Frame Count Requester (under Anim), Set the frame count to 100. This will add another 70 frames to your animation. It's important to note that frames are added at the point you are in the animation and that they will be identical to die frame you were on when you added diem. That is why we went to the last frame. We have now added 70 frames at the end of your animation with your name in the same place for all to admire! Just one final touch now. Make sure you're on the last frame (shift-2, remember?) and hit clear. The Clear requester will pop up asking if you want to clear all frames, a range of frames or just the current frame. Click Current Frame. Now your animation begins and ends with a blank screen. Hit five to play it. Classy, huh? You can save this incredible first animation on that formatted disk to show your friends and family later (at lengdi, no doubt) by going to Save under the Anim menu, naming it and clicking OK. Now, I will take a couple of questions from the class. You there, in the back. Why did we use overscan even though the background was black? Good question. We used overscan because our brush was moved in from outside die you set Anti-aliasing to High and repeat the is easy to understand. The second factor is edge of die screen. If we hadn't used this tutorial you will find that that first thirty how much of a change there is in each feature, ourbrush wouldn’t have appeared frames will take hours to draw instead of pixel. This can get a little confusing. until it was about one half of an inch above five orten minutes. While die Anti-aliasing You must remember that computers the bottom of the screen. Always is still not perfect, even on High, the deal with information in binary form. This remember, even when your background is difference is remarkable. For professionals means ones and zeros. If you set your black, you will need to use overscan (for and perfectionists the best solution is to use screen for, say, eight colors, that is three bit the best effect and always if your outputting None (the default), generate your planes, That is like having three rows of to video) ;f anything on the screen will be animation, and, if the movement is correct ones and zeros. Four colors is two moving off of or onto the screen in any and to your liking, redo the entire thing bitplanes-two rows and two colors is one direction. with the Anti-aliasing set to High while you bitplane-one row. OK, you, in front. Why do die letters go out to dinner! Naturally, it will be very Look at the one bitplane list (Table on the name seem to have slightly jagged simple to repeat the project because we One). There are only two possible edges as the brush moves on screen? saved all of our brushes to disk and made combinations and, therefore, only two Another good question. You see, what we copious notes of everything thing we did: possible colors, To change a pixel from one did with the move requester was really an what we did on what frame, all the figures of these colors to another (no matter what automatically generated extension of we gave the move requester, where we colors they are) requires only one bit to be DeluxePaint Hi's Perspective feature. stamped the brushes, etc. Right, class? changed, In the two bitplane example, DPaint III did the calculations and there are four possible combinations adjustments to make the image of one and zero, so there are four appeal' as if it was moving away from colors. The biggest change possible is us and turning in perspective as it between color zero (the first) and moved. Life being what it is (and Bitplanes/Colors Table color three (the fourth, or last). This DPaint ill being what it is), nothing is 1 bitplane 2 bitplanes 3 bitplanes would require changing both bits. As perfect. There is always some you can see in the three bitplane distortion when computing 0 00 000 mode the largest change you can perspective moves. This results in the 1 01 001 have is all three bits. This is more jaggies. There are however, a couple difficult and time-consuming for the 10 010 of saving graces to this situation. computer than changing one or two First of all, we started with a 11 Oil bits. Granted, we are not talking large smallHi Quality Version Available on AMIGALAND.COM brush and had the computer 100 amounts of time here but when you calculate a larger one. I did this for 101 multiply them by a possible 300,000+ the sake of clarity in this tutorial, 110 it does make a real difference. Whenever possible, images will be 111 Try repenting tire tutorial (use no clearer if you start with a large image As you can see, 1 bitplane allows fo r two anti-aliasing) in eight color mode and have it shrink instead of vice possible colors; 2 bitplanes allow fo r four (three bitplanes). Use color zero as versa. Secondly, you have now seen possible colors; 3 bitplanes allow fo r eight background, color one for the letters this move several times. That’s why colois, etc. and tire outline of the box and use you are so aware of this. It is J colors six and seven (the last two for important to realize that the entire the fill. You will find that the Table One move only takes three or four seconds and animation stows down considerably. You by the time the eye focuses on the letters, can certainly imagine what this would be the jaggies are almost gone. Check this out I think we have time for one more like using colors zero, one, fourteen, and yourself at home. Watch the commercials question. Why did we start with only a four fifteen in the full sixteen color (four very carefully on TV tonight. If you look color screen? This is a bit complicated but bitplane) mode! closely, you will see lots of jaggies in the I will make it as non-technical as 1 can. The trick, therefore, is to always plan computer generated titles and such, but There are certain hardware limitations to your animations thoroughly in advance. they generally go by so quickly that no one animation speed even on the Amiga. Use as few bitplanes as you can get away notices. Lastly, the DPaint III folks have Remember, for every frame of your with and use your colors wisely. If you are given us partial relief with an anti-aliasing animation your Amiga has to redraw every moving several colors against a solid feature. Anti-aliasing is the technical term single pixel that changes. Now, on the background (color zero) make tire largest for smoothing out the jaggies. Pull down average, there are not that many pixels that object or the one that moves rlre most color the Settings requester under the change from frame to frame, but the 1. Always arrange your palette so that Perspective menu and you will see three potential is incredible. The screen size of colors that change will be as close together Anti-aliasing settings. None (the default- Lhe tutorial we just did was 704 X 480. If my as possible. which we just used). Low, and High. The calculator is correct that’s 337.920 pixels. If Well class, it’s been another reason that None is the default and that you the entire picture changed from one frame interesting session. 1 hope it’s been as much are given choices at all is that there is a trade to tile next that would mean over 300,000 fun for you as it has for me. Until the next off in time for the Anti-aliasing feature. If pbcels would have to be redrawn. That part time... •AC* Animation Ever since the Amiga was introduced, people have been trying to animate with it. In the beginning, we thought the animations being produced were great because we finally had a machine that could do real-time animations. But just by looking at them, one could tell that the Amiga was capable of doing so much more. Part of the reason for this shortcoming was the fact that, in the beginning, there was very little software available to help with the budding animator in his or her quest for the "Most Awesome Spectacle". In late 1985 and early 1986, die only works of animated art being produced came from programmers. These people possessed the knowledge, cunning, foresight, and perhaps stubbornness that allowed them to program the Amiga. Now, of course, the situation is different. There are many programs out there that allow animation of various sorts. These animation programs fall roughly into two categories. The page- flipping type is perhaps die most well-known. An example of Hi Quality Version Available on AMIGALAND.COMthis type of program are the animation capabilities of Sculpt- DeluxePaint III, Anybody who has seen a master of Amiga art like Jim Sachs perform their magic can attest to the fact that DPaint III is a very powerful program. But there are other animation programs out there in the vast expanse of Amiga software. Programs like Videoscape 3D (and its associated software), PageFlipper, Animagic, and a whole host of others. Animate But perhaps the most powerful of die more affordable software pieces is Sculpt 4D. Sculpt-Animate iD (from now on we’ll call it Sculpt), is a very powerful program, it is unique in many of its abilities and has a lot to offer. This article will not try to be a Sculpt tutor. To give a detailed tutorial on the effective use of Sculpt would create a tome larger than most phone books! That is not to say that Sculpt is a very difficult program to use, just that its extreme versatility makes for a very' complex program. Sculpt’s animation abilities fall into two different modes. The Sculpt manual separates them into Global and Frame 4 t > methods. Global animation is a little difficult to grasp at first. It helped me to think of Global animation as a movie set, with myself as die director. To work in die Global animation mode, Hozo To Get Moving In 4D! you have to create an action for each piece of the picture. Each element's action must be completely thought-out in advance. You then instruct each element as to what to do and yell “ACTION!” With a fair degree of forethought, you can create by Lonnie Watson some very stunning effects this way. In fact, some of the “plane- flying-in-a-circle" animations can only be done effectively widi Global animation. Setting up a Global animation is not really that hard. An animation project in Sculpt is known as a points is named, you can treat them, in a way, as one Take. The first step in creating an animation in Sculpt unit, (In this example we are going to animate a box. using Global .Mode requires that you specify the We do want to make sure that all die points in the box name of a Take by executing the PROJECT/LOAD/ move togedier, don’t eve? If we group the points TAKE pull-down menu. You will then be instructed together by naming diem, then all the points to enter the name of the Take that you want to work associated widi dial name will move together.) In on. Selection of an existing Take will open diatTake diis instance, we want to name the Path. Clicking in up and allow you to edit its characteristics. If, as in the Add Name box, you can type in die name diat diis case, you are starting a new Take, enter its name you want. Pressing Return will place that name in the manually in the file box and select OK widi the list of names maintained by Sculpt. Cl ick OK to leave mouse. There will be no apparent change in Lhe diis requester. program’s operation, but you will now be able to use Now we go back to the object we created. all of Sculpt’s features to create your imagery. The Select one point on the object and select the EDIT/ difference is that Sculpt has now unghosted the SELECT/CONNECTED pull-down. This will select all EDIT/MODIFY/TAKE menu item. Selection of this die vertices in die object. Then selecting die EDIT/ menu item will bring up the powerful Modify 'Jake NAME/SELECTED VERTICES again will bring up the requester. Name Vertices requester once more. You should see Creating an actual animation in Global Mode is diat it already has die name of your Path in the list rather easy in Sculpt. First you need an object to of names. Clicking on the offspring box will move animate. Using the standard tools provided by Sculpt die entered name of the Path to the Parentage box makes this task a breeze. For this excercise, make a and clear the list. Now enter the name for the object very simple object — say, a box. The next step is not in die add name box and press Return. This will place quite as easy: you have to create a padi for your the new name in the list of names, object to travel on. The need for this should be quite We have really done two diings at once here. apparent. In order to direct something to move, you First, we have named the object (as we previously have to tell it how and where to move. The path that named the Path). Second, we set the Path up as a you want die object to take must be created. Sculpt Parent and Box as an Offspring. This is what Sculpt gives you the tools necessary to make an object path. calls Hierarchy. This is a veiy valuable tool in Sculpt You simply create the shape of your as it allows you to set up conditions wherein, if one padr with die curve tool or some of object in a list moves, all the offspring of that object die odier automatic tools. You must move with it. This is called Hierarchical Motion. For Global take care not to create a shape diat instance, suppose you had a model of a plane, and Hi Quality Version Available on AMIGALAND.COMhas any forks in it. Examples of on this model of the plane you had a propeller and animation is a suitable shapes would be zig-zag landing gear. Now, a real plane takes its propeller little difficult to lines, circles, and ovals, etc. In diis and landing gear with it when it moves (at least, diat case, try a large circle The next step is the theory). Sculpt allows you to do die same thing grasp at first. It requires diat you determine die by creating a hierarchy. Then, if you move die body helped me to direction of travel along the path (will of the plane, the associated propeller and landing the box move clockwise or counter­ gear move with It. think of Global clockwise?) This is done by The next step is to tie the object to the Padi. animation as a highlighting the first point on die path First you need to higlilight the entire object by (your start point), then placing the selecting a point on the object and then selecting the movie set, with crosshair cursor on the next adjacent EDIT/SELECT/CONNECTED pull-down menu. This myself as the point in the desired direction. This will highlight each of the object’s vertices. Then, direction is now specified as die place die cursor on the object’s center of gravity. This director. direction of travel. Now diat you have may seem confusing but the center of g rav ity will not specified die shape of your path and necessarily be inside the object. For instance, a door the direction of travel, you have to will have its center of gravity along one edge.This actually name it as a path. This step step can be the key to creating realistic-looking tells Sculpt diat diis shape you have created is going animadon. After selecting the center of gravity, you to be a path, and it is done by selecting the EDIT/ need to select the EDIT/MODIFY/LOCAL ORIGIN DO/MAKE/PATH pull-down menu. Now Sculpt pull-down. Selecting the Set button will tie the object knows that this shape is a Path. to die padi at the center of gravity. Once you have The next step is to name the Path. By selecting done this, you can place any light sources that you a point on the Path and then selecting the EDIT/ want, as well as place the observer and target. SELECT/CONNECTED pull-down menu, you will Selecting the EDIT/MODIFY/TAKE pull-down higlilight all the verdces on the path. Then, if you once again wall present you with the Modify Take select the EDIT/NAME/SELECTED VERTICES pull­ Requester once again. Clicking on the Number of down, you will get the NAME VERTICES requester. Frames Box will delete die number already in the Sculpt allows you to group points together and give Box. Entering Lhe number of points on the padi diat them a name (for convenience). Once the group of you have created will create an animation with as many frames as there are points in your path. You can The Global Mode of the Modify Take then click on tire Save Global Scene button to save the Requester has certain effects on the Frame Mode on animation to your disk as a take. Remember, this is dre same requester. For instance, the number of the raw data of tire Take — not the finished, rendered frames in the Global Mode of the Modify Take Take. Once it is saved to disk, you can then load it Requester sets the lengdr of the back at any time and edit it. Selecting the Preview filmstrip in both inodes. You also button will allow you to view the animation in need to go back to Globa! Mode to wireframe. Tlris will give you a good feel for the Preview the animation or to Render iL animation and help you see problems with your work in its entirety. You may well wonder Key Fra me before you wait five days for the whole ray-traced why this is the case. At first I mode works on animation to finish. wondered why could they not have As we have seen here, the Global animation just made tire two requesters separate a simpler feature of Sculpt is quite impressive. It allows you to and allowed each to have completely principle than create a path for an object and make that object move different settings? Well after playing along Lhat pre-defined path. It is important to for a while, I drink I know why. the Global remember one thing about this type of movement. Global and Frame Modes are really mode, creating Each point along dre padr that the object is tied to the same thing. Global mode simply represents its position from frame to frame. If you allows some different ways of animation by a have an object moving in a straight line and tire only defining motion. You can have process called points on that line path are at the paths ends, then the Global and Frame animation object will zip from one end of the path to the other occurring in the same take. This ‘t weening7. in two frames. If that path is long, dren dre animated could be useful — for example, if you effect will not be that good. If, on the other hand you had straight linear motion on some had many points on that straight path, then the effect items and more complex motion on would be slower and smoother, and overall quite other items. good. It is also important to make the distances There are a few things to keep in mind when between tire points on your path equal. Otherwise tire doing Frame animation. The first is the effect of dre object will appear to speed up and slow down as it lineal’ interpolation that Sculpt performs when doing travels on its padr. This effect can be quite good (and frame animation. For example, suppose you had a even necessary), but only when desired. rectangle sitting on dre ground, and you made dre Sculpt has another mode of animation called second key frame with tire rectangle rotated 90 Hi Quality Version Available on AMIGALAND.COMKey Frame mode. Key Frame mode works on a degrees or so. The animation would create some simpler principle than the Global mode. Key Frame frames with a rectangle tlrat is very difl'erent-looking mode creates animation by a process called dran dre beginning and ending rectangles. (It would "tweening”. Basically, you create aninrations by most likely be much much smaller). This is air selecting two frames as a reference. In each of these inherent problem with linear interpolation, not frames, you have some objects that have moved. Let's Sculpt specifically. The solution here is to split the say a ball is in dre air on the first frame, and on tire single tween up into many smaller tweens, or to tie ground in die second. These frames are called key die rectangle to a padr (Global Animation) rather frames. Sculpt is then able to create dre "in between” dian using Frame Mode. Secondly, Frame Animation frames so that the overall motion of the ball is smooth is not really suitable for complex movements of during its fall to the ground. All you have to do is tell objects. This is because the time required to create Sculpt how many frames to render between the key each key position in a Frame Mode anim is fargreater frames. dian simply tying tire same objects to a padr and Key Frame animation is accomplished via die using Global animation. EDIT/MODIFY/TAKE requester once again. When it Keeping in mind the differences of drese two appears, you select die Global gadget on the top and powerful modes of animation in Sculpt, one can it changes to the word Frame. From here, you will be create some truly stunning artwork. Sculpt is a very able to edit and create keyframes for your animation. complex and powerful program. I have really not In the middle of the requester, you will see an object even scratched the surface here. Perhaps after that looks like a piece of film. There will be an arrow reading this, you will have the desire to explore pointing to the current frame in that filmstrip. Clicking Sculpt a little more. I am sure you w on’t be on the Key Frame button will toggle the frame status disappointed. 'AC* from Key Frame to non-Key Frame. Selection of the Save Key Frame button will save the current image in Sculpt-Animate 4D the Tri-View to that Take's Key Frame data. You can Byte by Byte then exit dris requester and move the wanted objects Arboretum Plaza II9442 around a bit, re-enter the Edit Take Requester, select Capitol o f Texas Hwy. N.. Suite 150 Austin, TX 78759 another frame, make it a Key Frame, and finally save (512)343-4357 it to dre Take’s file by selecting the Save Key Frame Price: S499,00 scene button again. Inquiry # 208 £P IC -M A g iC :

by Orlando Furioso A Product Profile

It looked like it was going to be a tion of tlie raison d'etre of this particular smaller rather than large. The manual gives fairly busy weekend, b u t! wanted to check package. This is followed by several pages clear and concise instructions on re-sizing out this new clip art set. I was sure I could of technical explanations and instructions, these pictures for printing and video work. spare and hour or two first tiling Saturday. which are necessary because of tlie unique It even explains how to figure out propor­ Next time I'll open the package before I format of the set. tions for shrinking an image to a particular make any plans. Joey’s set, which is only the first of size. The large size of the pictures makes It was a rather unassuming envelope, many planned, was apparently designed to them perfect for printing big posters, ban­ although it did seem a bit bulky for just clip accommodate not only DeskTop Videogra- ners and other related applications. art. Once open I discovered a beautiful phers but DeskTop Publishers as well. I found resizing to go relatively little fan-file disc case inside which holds Knowing that structured clip art is useless smoothly when I tried bringing some of the tlie ten (TEN?) discs that make up the set. to video and graphics users and that the pictures down to more typical sizes for You may have seen this case before: the usual screen-sized bitmapped graphics are video work. Joey’s instructions for DPaint hard plastic kind that Rips open and sells frequently not suitable for die publishing III suggest loading the picture then going to for around SlO at your local dealer. Very users, he has done something very differ­ the screen format requester and changing nice. I also Found the manual — all 220 ent. He has compiled a package of over­ the picture size to screen (instead of keep­ pages worth. sized bitmapped clip art. They are what ing it the same). In some cases, this requires some call superbitmaps you to resize tlie resulting image (via the THF. MANUAL stretch device) to restore the correct pro­ The manual begins with tlie usual THE SIZE portions. In many crises 1 found it easier to “thank you’s” and credits, followed by a The 250 plus images in this package just cut the picture into smaller brushes, nice letter from Joey Rubenstein. President are all over-sized pictures, many as large as shrinking them individually (h* in DPaint) of Joe's Firsl Company, Inc. It is an intro­ four overscanned screens. They are this and then putting them back together ductionHi Quality Version Available on AMIGALAND.COM and hello from an apparently very size because, as wre all know, it is much (usually on the spare page) In any case, down-to-earth guy along with an explana­ easier (i.e., cleaner) to re-.size graphics neither mediod was terribly difficult.

Brushing-Up On...

draw a beautiful jet airplane to move across having the driver's scarf blowing in the the screen in your animation but if you're breeze! Perhaps a combination of one or by Barry Solomon not ail artist or, if you gan draw a bit but more of these techniques will yield just the planes aren’t your thing why not use dip effect you're looking for. but the basic There are a lot of people doing an? point is that we can find ways to animate animation widi their Amigas these days. In many animation situations tlie a car without necessarily being either an Some are animating at home and some at object we animate only need to move on artist or a mechanical draftspvrson, work. Some are professional animators and screen. They don’t need to change in any There are any number of dip art some are not. Many of these people are not way. Obviously it does depend on the packages available for the Amiga and, with even artists. With the ever-increasing situation and ones of the easiest ways to a little practice even a non-artist can learn popularity of Amiga animation (Amiga- keep your from looking right is not to have little tricks to animate objects or even mation?) many people have become and some objects change. Take, for example, a people. are becoming animators who would never car. If you move a car straight across a Frankly, one of the best ways to have thought of themselves as artists. screen over several frames it will look very leam economical (i.e. easy) animation is to In the Amiga world of cel animation wooden. Of course, if you also move it up watch the Saturday morning cartoons. (drawing one frame at a time) one of die and down a tiny bit, or maybe use some Light-years away from the old Disney-lvpe fastest and easiest ways of producing streaks to show speed it will look much (or even Warner Bros, type) of animation, animated objects, backgrounds, people more natural. Maybe even some very the current crop of week-end animations etc. is to use clip-art. It’s great to lie able to simple color cyding on the wheels or just uses every possible trick to economize. when doing an article of dais type, but 1 thought that went into choosing diem is ob­ thought it was a great idea. Talk about re­ must say I fel! in love with diis package. The vious. Going dirough each image in the sponsive. images on the ten disks are broken down manual (yes, all 250+ are in diere) die as­ According to Joey, PIC-MAGIC -2 is according to these catagories: sortment is amazing; certainly one of the almost done, and soon they will be starting best chosen assortments of clip art I have on other packages. It will cost them a little 1. Food ever seen. A pic­ extra, but with any luck they will make all 2. Sports ture can be found of die packages available in two sizes: one 3. Cars & Other Wonders for just about ev­ for video and one for print. It’s tough to 4. Christmas en' purpose; from really complain about this package, be­ 5. People illustrating an ar­ cause at a retail price of S99-95 for the set, 6. Plants ticle to decorating each image costs about 40 cents, and at diat 7. Animals a menu to making price, if I have to shrink a picture down a 8. Miscellaneous Objects posters to support litde it’s no big deal. 9■ Bordersets your local teams. If you’re looking for photographic 10. Eyegrabbers Particularly in quality clip art, this would be a good terms of advertis­ package to avoid. However, if you prefer a The assortment of individual ing uses such as huge selection of excellently sketched, clips on each disk is delightful, but it posters, flyers etc., read)' to color, images, this is tiie package is the style that really caught my eye. I found very little you’ve been waiting for! Much of die clip art on the Amiga lacking in this set. market tries so hard to take advan­ •AC* tage of the Amiga’s incredible graph­ About the only ics capabilities diat it ignores the complaint I could talents of the artists who wish to use this an. find with diis entire package (and it's a Photographic realism has its place, but small one) is that in terms of video uses, often the palettes of such dips are so vital diey could have made life a litde easier for to die picture that it is almost impossible to the extremely lazy. The pictures are so nice fit them into your work. This is not the case it would be great if die sizing step could be widi PIC-MAGIC. This package is strictly eliminated. What 1 would really like to see black and white line an obviously sketched is a Package One A which has all 250+ with a very relaxed and casual style. The images on just a couple of disks already images are very realistic, but they have that brought down to a more average size for ’alive’ quality diat separates a good draw­ video work. The funny thing is, when I ing Hi Quality Version Available on AMIGALAND.COMfrom a photo. mentioned this to AC's Video Editor, he had Even widi the enormous quantity of just gotten through saying die same tiling to pictures in this set, the amount of serious Joey Rubenstein on the phone and Joey Class Doors*

Just a quick P.S. 1 u m speaking to Joey Rubenstein Just Animation! before this issue went to press an d be informed me that he has now made this a twelve-disk set The extra two disks will contain approximately 98% of the 250 pictures scaled down to a more usable size Rarely do you see a character well as a serious case of the jaggies. But, fo r video. Registered owners will receive the running into a wall. What you usually see even rotation can be done if you keep it to upgrade automatically. Should you now is that character running off die a minimum and you’re willing to do some purchase the ten-disk set from a dealer's screen, followed by a bang or odier noise cleanup. current stock, you will receive the upgrade while die screen shakes followed by a cut One note about animating clip art. when you send in the registration. O.E to die injured character. These are exacdy there is one package of clip art on the •Images have been colored for enhancement. the kind of shortcuts that you can learn to market called Build ‘Em from The use in your animations. If you use them Picturebox. Build ‘Em is a figure wisely (and as long as you are not trying to construction set containing 25 screens with PIC-MAGIC compete with Disney) you can make your over 500 body parts (sounds like a Wes Professional Qualify Clip Art animating easier and give it a more Craven film) which are anti-aliased and Package One professional look. designed to be cut and rotated. J o e 's First C om pany Inc. Even clip art animals and people can There are a lot of Amiga clip art P.O. Box 579, Station Z be animated by careful cut-&-paste packages available and with the success of Toronto, Ontario, methods. Rotation of brushes can be the mega-set of clip art from Joe's First C a n a d a M5N2Z6 difficult as there is no such thing as perfect Company the future of Amiga dip art looks (416)322-6119 rotation (unless you're working in the bright. So with a little practice you might Price, $99.95 structured art/postscript area) and your just be able to cut, paste and animate your Inquiry #207 brush will likely suffer serious distortion as wav to fame! - ■ - ■, _ Insight into the World o f Freely Redistributable Sojltvare

by Michael Morrison

The Fred Fish collection has made it to Number 282! Mr. Fish must be very' busy. As a lw a y s , there are many useful programs in this latest release, but many of the BADGli Killer Demo Contest entries were also included. And since we do have an animation theme going this month, I decided to give these people some credit for their work and present parts of their Above and Left: The animations for the world to see. This year s Sentinel, by B radley winner requires at least 3 meg to inn and even Schenck, won first has a 3.5 meg version! place in this year’s BKDC THE SENTINEL This animation was created using Turbo Silver. Deluxe Photolab, DeluxePaint 111. and The Director. The animation consists of about 70 frames of ray-traced pictures. It took approxi­ mately three and a half weeks to render me animation. The Sentinel was entered by Bradley Hi Quality Version Available on AMIGALAND.COMSchenck (see related article, "The Sentinel", on Michael J. Fox page 42). Because of its size, the animation had to be put on two disks, Fred Fish disks -264 and =265. Bradley won first place with this anima­ Left and Below Left: tion. NGLil 5HCMN5 Roger Curren's VAUX-Killer en tiy in VAUX-KILLER the BKDC won him This animation was entered by Roger second place. Curren, It is available on Fred Fish disks =265 and =266. The animation uses a clever ap­ proach—son of a contest entry within a contest entry, as it tells of anxieties encountered while partaking in the VAUX-Killer contest. It is quite long and has some veiy funny parts. Roger won second place with this animation.

Right: The Atari box is about to be sm ash ed in the VAUX- Killer animation. The 1989 B A D G E K ille r Demo Contest s p i g o t This animation was entered by Eric J. Fleischer (Dr. Gandalf). The animation consists of many ray-traced HAM overscan pictures with sound effects. Eric won sixth place with this entry. It appears on Fred Fish disk *272.

TOO MUCH 3D This animation was entered by Jim Above Right: Eric Fleischer's (Dr, Robinson. There isn't any information on how Gandalf) entry in Jim made the animation. 7oo Mitch 3D shows the BKDC n on him what happens if you spend too much time doing sixth place. Right: 3D work on your Amiga. Jim received tenth Too Much 3D by Jim place for this entry, which is on Fred Fish disk Robinson won tenth *270. place in the BKDC. CPU STANDOFF This animation is a visual representation of the computer wars. It has some interesting scenes with nice art. There are many visual jokes aimedHi Quality Version Available on AMIGALAND.COM at other computers throughout the ani­ mation, CPU Standoff was entered by Bob Right: Bob Janousek and is on Fred Fish disk *271. Janousek's CPU BALLOON Standoff sh ow s the This animation was entered by Dave ongoing battle fo r Schreiber. It appears to have been ray traced com puter and includes sound effects. Balloon is on Fred suprem acy. Fish disk *272 Below Right: Dave S ch reib ers Balloon LASER BOING animation shows a This animation shows a ray-traced Boing balloon filling up ball spinning around with laser light bouncing and then flying off it. Has a nice effect and also includes sound. through the air. This animation was entered by Mike van der Sommen and is on Fred Fish disk *271. *AC*

eouMOo&at Left: Laser Boing try Mike van der Sommen sh ow ed a Boing ball energized by laser light. A n i m a t i o n ? B a s ic a ll y ! Cell Animation in AmigaBASIC by Mike Morrison

There are many different ways to USING TOOLS a lo-res screen with four colors. Draw a box produce animation on the Amiga. The Because 1 am inherently lazy, I’ve with the box tool that is 45 pixels square. operating system has many fancy struc­ learned to use the tools that are available to Then cut and stamp six of these in a row tures, functions, and commands to help me. We are going to use many tools diat die (see Picture One). Draw your animation make animation on the Amiga easy. This average Amiga user has. Two of these tools r>ne frame at a time. Change each frame array of tools probably does make anima­ you definitely have: AmigaBASIC, and a slightly from left to right. The leftmost tion easier if you are programming in a program called 'LoadlLBM-SaveACBM'. frame will be the first frame in the anima­ compiled language. But what about Ami­ AmigaBASIC is on your Extras disk that tion and die right frame will be die final gaBASIC? came with your Amiga. So is die frame in the animation (see photo two). ‘LoadlLBM-SaveACBM’ program. It is lo­ Save the picture as CellAnim.IFF. Then exit AN IMA TION IN AMIGA BASIC? cated in the “BasicDemos” drawer. The your drawing program. You could take advantage of every diird tool is your favorite drawing program. one of these structures, functions, and I will be using DeluxePaint III. Start AmigaBASIC by double-clicking commands by using the AmigaBASIC LI­ the icon on the Extras disk, Click the mouse BRARY and DECLARE FUNCTION com­ GETTING STARTED in the left of the two windows that appear. mands.Hi Quality Version Available on AMIGALAND.COM Toss in a few hours of skimming The first step in our project is to The right window is die listing window and through the ROM Kernel Manuals, old decide what you want to animate. Initially [ he left is the command or immediate mode Amazing Computings, and the Enquirer you should keep it simple. Then when you window. Type: (just to relieve stress) and you can end up feel comfortable with the procedure, yon with a nice animation. But why do all that can let your imagination go wild (within the load "dfl:BasicDemos/LoadlLBM-SaveACBM" -when you can use standard AmigaBASIC constraints of the law, of course). I decided commands and a technique called “cel! ani­ it would be fun to start with a deflated Change the drive in diese examples if the mation". Boing Ball and then have it blow up. file is on a disk in a different drive. After a Fire up your drawing program. Select few seconds the prompt will return. Type: CELL ANIMA­ TION run T he b est example to ex­ There will be plain the theory some text that behind cell anima­ appears and then tion is to turn back you will be the clock to when asked: we where in grade school. Everybody 1 IFF IL3M has taking a stack filespec ?' of that gray re­ cycled math paper Type: and drawn a stick figure slightly dfO:CellAnim.iff changed on each sheet. Then when You will then be you flip through asked: tlie stack of paper, wa-Ial, animation. This picture in DeluxePaint shows how the ACBM filespec ? Eat your heart out animation looks cell-by-celL Walt Disney! Type: delete this line and replace it with the following line: 'dfO:CellAnim.scam'

ACBMnarae5»"dfO:CellAnim.ACBM" The piccure will be loaded in (very slowly) and then the picture will be saved in ACBM format. The ACB.M format can be That is all die required modifications. If you want you can loaded into AmigaBASIC quickly using a program called ‘Load- delete all die lines that have REMs and PRINTS. These are not really ACBM’. While the program is loading the IFF picture and saving it needed anymore and just cause clutter (leave all copyrights of in ACBM format do not touch the mouse button as this will mess coarse). It is now time to run the program by selecting the ‘start’ up the picture. option from the ‘run’ menu. The picture should be displayed on the screen. Follow the instructions for clicking the coordinates of each MODIFYING LOA DA CRM cell into die computer. The program uses these to calculate the When the picture Is location of each cell so it can GET them and then later animate diem done being saved as an with the PUT command. This can be inaccurate, so the animation ACBM, click in the left might be off slighdy. This could be improved by replacing this window and type in the section of code with the actual x and y coordinates of die cells. The program in Listing One paint program that you used can probably help by displaying the Save it just in case we ac­ coordinates as you draw each cell.This would produce an exact cidently lose it in this next placement of each cell in die animation. part. Highlight h e entire listing by clicking the THE CODE mouse at the top of the Lisdng One is plain AmigaBASIC. The first part of the code listing and dragging it to gets the coordinates of each cell. This information is used in the end of the listing. The conjunction with the GET command to capture each of tire s l x cells whole listing should be orange. Use the pull down ‘edit’ menu and into an array called p°/o. This is a two dimensional array. The first select the ‘cut’ option I know you’re thinking this sounds crazy, but index of the array is the area where the data of each cell is stored. trust me If things seem confusing, refer to Listing Two. which is the The second index is the actual number of the cell. Explanation; entire modified listing. The list window should be empty, with Listing One hidden The data for a single cell Which cell away in the cut and paste buffer. Type the following in the left window: Hi Quality Version Available on AMIGALAND.COMp%(850, OK------1st cell load "LoadACBM" p%(850, 1)< 2nd cell p%(850, 2)<------3rd cell When the cursor returns select ‘show list' from the ‘Windows’ p%(850, 3)<------ith cell menu. Click the mouse inside the list window and press the ‘/Vlt’ key p%(850, 4)<------5 th cell and the ‘down arrow’ key at the same time. This should put the p%(850, 5)<------6th cell cursor at the end of the listing. Select the ‘Paste’ option from the ‘Edit’ menu. There ;s listing One! We are going to use the When the data has been copied off of die screen into the array LoadACBM program to display our AnimPic.ACBM picture so we we can then clear die screen with die CLS command. The FOR/ can do some work on it. There are still a few changes we have to NEXT loop then plays make to LoadACBM first. Press die ‘Alt’ key and the ‘up arrow key through the cells one at a time at the same time. This gels you to the top of the listing. Type in the in the same location using the following command: PUT command. Then for fun I play the loop backwards. clear ,19000 This happens five times and This increases the amount of memory that .AmigaBASIC has then die program ends. for its variables When we use the GET command it requires a good size chunk of memory to store each cell of the animation, This This might seem to be a lot of number was not derived by any known formula—I kept increasing work for a little animation, this number untill I stopped getting but after you have gone ‘Out of memory' errors. through the steps a few- times you will see that it really is not that hard. The next tiling you should Press the ‘shift’ key and the ‘down add to this program is a routine that saves the array to disk. This arrow’ key four times. At the bot­ way, once you have the data saved to disk, you could get rid of the tom of the screen you should see whole LoadACBM program and just load the animation data from the line: disk into an array and play the animation without all that overhead. The odier area that could use some work is the routine that finds

in?Jt " ACBM the coordinates for each cell. This could be made a stand-alone ACBMnameS utility. Have fun.

Listings begin on following page. FOR d=I TO 750:NEXT d

The Bit Bechet FOR x=5 TO 0 STEP -1 PUT (100, 100) ,p%<0,x) ,PSET COMPUTER STORE FOR d=l TO 500: NEXT NEXT One of the Oldest and Largest NEXT

AMIGA dealers in New England WINDOW CLOSE 2 SCREEN CLOSE 2 Call us for competitive quotes on the

Latest AMIGA Desktop Video ■ LISTING TWO ------products CLEAR ,500004

REM This code is based on the LoadACBH program that ccrr.es c n REM the Extras disk and was written by Carolyn Scheppp.er-CBM We of!er Desktop Desk Video Training for the latest Main: Amiga Hardware & Software c a M M U () U 1 1 AMIGA: DIM bPlanei (5), cTabKork%(32), cTabSave5(32) ' ■ -V. Authorized Commodore Amiga Dealer and REM - Functions from .library Authorized Dealer Service Center DECLARE FUNCTION xOpenS LIBRARY DECLARE FUNCTION XReadi LIBRARY Genlocks Framegrabbers Digitizers DECLARE FUNCTION xWritefi LIBRARY RE M - xClose ratirrns no value 2 Locations to Serve You

1294 Washington St 621 Boston Post Road REM - Functions from exec.library West Newton, MA 02165 Sudbury, MA 01776 DECLARE FUNCTION A1locMemS() LIBRARY 617-964-3060 508-443-9731 REM - FreeMem returns no value

Circle 139 on Reader Service card. LIBRARY "dos.library" Hi Quality Version Available on AMIGALAND.COM------LISTING ONE ------l i b r a r y "exec.library" blowingup: LIBRARY "graphics.library" PALETTE 1, 1,1,1 PALETTE 3,1, 0, 0 G e t N a m e s : 'INPUT " ACBM fiiespec";ACBMnameS

DIM p % (850,5) acbmnaineS="df 0 : bl o w incup. a cbrn"

REM - Load the ACBM pic PRINT "Click or. upcer-left of Cell 1" loads rrorS = "" WHILE MOUSE (0)«Q GCS'.’E LoadACBM VTEND 'Clear the mouse buffer IF ItadErrorS <> *“ THEN GOTO Mcleanup WHILE MOUSE(01=0 xl=MOUSE(ll:yl=MQUSE(2) REM - Demo Graphicrafr color cycling WEND IF foundCCRT AND ccrtDir% THEN

PRINT "c: rck on lower-right of Ceil 1" REM - Save colors WHILE MOUSE<0><>0 FOR kk - 0 TO nColorsI -1 cTabSave%(kk) = PEEKW(colorTabs+(kk*21) WEND cTabWorkl(kk) = cTabSave% (kk) WHILE MOUSE(0)=0 x2=MOUSE(l) :y2=KOUSE[2) NEXT WEND cellwidth-x2-xl REM - Cycle colors FOR kk = D TO 00 IF ccrtD:.r% = 1 THEN f o r x=xi TO xl+(cellwidth'5) STEP cellwidrh-1 G03U3 Fcycle GET Ix+I,yl)- [x+cellwidth-2,y2-l),p% (0, cl ELSE c=c+l GOSUB Bcycle NEXT END IF

CLS CALL loadRGB'U (sVlevf?orc»,VARFTR(cTaiWork! (0)) ,r.Cclors%) FOR 1=1 T O 5

FOR x=G TO 5 REM - Delays approximated PUT (100,100) ,p % 10,x ) ,PSET FOR del = 0 TO ccrtSecsi * 3000 FOR d=l TO 500:NEXT FOR de2 = 0 TO ccrtMicsi / 500 NEXT NEXT NEXT NEXT

REM - Res care colors ' DPAINT III ' CALL LoadRGS4» (sViewport&.VARPTR (cTabSave% (0) ) , rtColors^ J END IF ( PLUS MOVIESETTER USERS )

M c l e a n u p ; ANIMATED FONTS Bring your screens to life with H c l e a n u p 2 : LIBRARY- CLOSE 3D_FQNI--A full rotation 3D font IF loadErrorS <> THEN PRINT loadError? For effects that will knock their socks off II GOTO blowingup END Dissolve oh or off screen - Rotate, Shrink, etc. POUR FONT-Pour in place WOW Bcycle: ’Backward color cycle Animated paint can pours the font on screen I cTeir.p% = cTabWorki (ccrtEnd%| FOR jj = ccrtEndl-l TO ccrtStarti STEP -1 COMIC FQNT-See to believe I cTabWorki (j j+1) = cTabWork% (j'j) Animated characters that bring your title to life NEXT cTabWork%(ccrtStart%) = cTenp% RETURN Thousands of screens that bring out your best ONLY $ 39.95 Delivered to your door J Fcycle: ’Forward color cycle cTemp% » cTabWork% CheckslRSLkLL FOR jj = ccrtStart%+l TO ccrtEnd% cTabWork%(j j~l> = cTabWorkSfjj) Two Disk P.O. Box 801 NEXT SET PROSSER, WA 99350 cTabWorH |ccrtEnd%) = cTemp% WA RES ADD $3.12 TX RETURN COMING SOON PREHISTORIC AND SCI - FI ^products named are trademarks of there respective co.

LoadA C B M : Circle 150 on Reader Service card. REMHi Quality Version Available on AMIGALAND.COM - Requires the following variables GOTO Lcleanup REM - to have been initialized: END IF REM “ ACBMnameS {AC3M rilespec)

inbuffi = mybuffi REM - init variables cbuffi = mybuffi + 120 fS = acbnnaffie$ ctab& = mybuffi + 240 fHandleE = 0 m ybufi = 0 foundBMHD = 0 REM - Should read FORMnnnnACBM foundCMAP = 0 rLenfi = xReadfi(fHandles,inbuffi,12) foundCaiag = 0 tt$ = "" foundCCRT = 0 F OR kk = 8 TO 11 foundABIT =■ 0 tt% = PEEK(inbuffi + kk) tt$ » tt$ + CHR$(tt%) REM - From include/1ibraries/dos, h NEXT REM - MODE_NEWFILE ** 1005

REM - MODE_OLDFILE » 1005 IF ttS <> "AC3M" THEN loadErrorS = "Not an AC3M pic file" filenames - £S + CHRS(O) GOTO Lcleanup fHandlefi = xOpenS(SADD(filename?),1005) END IF IF fHandles = 0 THEN

loadErrorS = "Can't open/find pic file REM - Read AC3M chunks GOTO Lcleanup

END IF C h u n k L o o p : REM - Gel Chunk name/length rLenfi = xReadfi(fHandlefi,inbuffi,8 ) REM - Alloc ram for work buffers icLenfi = PEEKL(inbuffi + 4) ClearPublicS - 65537s tt$ - "" mybufsizes = 360 FOR kk = 0 TO 3 mybufs = AllocMemS(mybufsizes,ClearPublicS) tt% = P E E K (inbuffi + kk) IF mybufS = 0 THEN tt$ « tt$ + CHRS(tt%) loadErrorS = "Can't alloc buffer" NEXT SCREEN 2,scrWidth%,scrHeight%,iDeptht,kk L E T AC DA open your real Id ■ induui! WINDOW 2,"LoadACBH",,7,2

I HE FIBST FULLY FEATURED AMIGA DATA-ACQUI5I1lOM AW PROCESS- CQBTKM. SCARE Proto-40k REM - Get addresses of structures 1ASE.0DI 12-bit ADC chsmeLs ■i ';“Y i , y tOiHf ■■ throughput GOSUB GetScrAddrs 2 ProgroawHblr Gum (PG) Options P - . 2 12-bit Pultiplying OAC outputs t i i l i j r ‘ S 16 bit progri— ih'lr timers U—■ 132 IK coapat ible Digital 10 bits REM - Black out screen *-■' ■ ■— — ■- ^ g ijli x. i :?•; Data Acquisition-System Softwr f ■; i * «ii i „ C d m (or alt (rations CALL LoadRGB45 (sViewPortS, ctabs, r.Colors%) V Digital Dynamics' SKIP co^jatible V.^f ' i , ' V-. *

AmigaGPIB (IEEE-488) AmigaView 2.0 ELSEIF ttS = "CMAP" THEN 'ColcrMao AaigaGPIB is a General finally, a standard!ted Purpose interface 8«s OBJECI MIEHIED UnUtllOM C foundCMAP » 1 (IEEE 4R&) card tor the interface that includes all A2000 that features all GADGET types (with automatic of the lalker / Listener ■utual exclusion}, WINDOWS, rLens = xReadS(fHandles,cbufS,icLenS) / Controller (rations of MEWS, 8E0LESTEIS, Complex the IEEE- multiple window EVENTS, One taiga can SCREENS, LAYERS, BITMAPS, ALL . U i IMAGE TTPE5, LOU LEVEL REM - Build Color Table i instri GRAPHICS, and IFF. Manx and Lattice ctnpatibLe libraries. FOR kk = G TO nColcrs% - 1 100 routines i Ex1e< la red% = PEEKIcbufSt(kk*3))

aigaUorld's gre% = PEEK(cbufit(kk*3)+1) I proto 5k is o single channel 5.8 •B7, p2B). blu% = PEEK(ebufS+(U*3)+2) • Khi A/D ' data acquisition system with *1, regTemp% = (red%*16)+ (gre%)+ (biu%/15) and xlOO input POKEW(ctabS+ (2*kk)) , regTa.-?% real-time LED signal leve ilogran, and DigiScope test-caIibrat ion switch, ; parallel-port NEWT device fits all Anigas art DigiScope is a digital storage daisy-chain parallei port. Cones with C oscilloscope emulator that works with source driver and many sample application all of our dalaacquisition products •grams, works with DigiScope. and all parallei-port digitizers. It operates 16 independent user defined buffers, has eitensive DSP and graphic* capabilities and a complete spectral ELSEIF ttS = "CAMG" THEN 'Amiga Viewport Modes analysis package. DigiScope is AmigaFFT completely Anigatized and will keep the foundCarr.g = 1 cofipetition at a distance for some A complete package of Fast Fourier time. rLens = x R e a d S (fHan d l e s ,inbufs,i c L e n s ) Transform Soutines and windowing $139.95 Introductory Price functions. Includes C source. $152 camgModess - PEEKL(inbuf&) ■ ACOA Corpo'at i on Uc also Carry Mitsubishi and Shinto Color Printers 1 Drivers I 220 Belle Meade At,ve| Jsclaukel, Nt 11733 I(516)...... 689-7722 -3 j ACDA HARDUABE ANO SOftUAIt DfHO DISK $25 I ELSEIF vtS = "CCRT" THEN 'Graphicraft color cycle info iProtO’iiOk, Proto-5k, AmtgaCPIB, AmigaView, DigiScope, and AmtgafFT are registered foundcCRT = 1 trademarks of ACOA Corporation. ACOA is fretyuently i^xlating us prod reserves to right to change specifications and prices at any lime without i rLens = xReads (fHandles, inbufi,. :ler.s) [CCJEOpynght 1939 ACOA Corp. ccrtDirl = PEEKW(inbufs) Circle 1D4 on Reader Service card. Hi Quality Version Available on AMIGALAND.COMscrtStart% = PEEK(inbufs + 2) CCrtEnd% = PEEK(inbufs - 3) IF tts "BMHD" THEN 'BiCMap header ccrtSecsS = P E E K L (inbufs + 4) foundBMHD = 1 ccrtMicc a - PEEKL (ir.btf; - 8) rLens = xReadt (fHandleS, inbufs, icLens) iWidthls = P E EKW (ir.buis) iHeight% - PEEKW(inbufs + 2) ELSEIF tt$ = "ABIT" 'Contiguous BitMap iDepth% = PEEK(inbuf& + 8) foundABIT = 1 iCorapr% = PEEK(inbufs + 10) scrwidth% = PEEKW (inbufs - 16) REM - This only handles full size EitMaps. not brushes scrHeight% - PESKW(inbufs - 18) REM - Very fast - reads in entire BitElanes pisizes = (scrWidtn%/8) ’ sorKeight% iRov?Rytes& = iWidth% /8 FOR pp = 0 TO iDepth% -1 scrRowBytes% = scrwidth% / 8 rLens = xReadi(fHandleS,bPlaneS(pp),plSizeSi nColors% = 2"(iDepth%) NEXT

REM " Enough free ram to display ? A v a i lRa-s = FRE(-l) ELSE NeeriedRami ■■ ((scrWidth%/8) *scrHeight%* (iDepth%-rl)) +5000

IF AvailRatnS < NeededRamS THEN REM - Reading unknown chunk loadErrorS = "Not enough free ram.” FOR kk - 1 TO icLur.6 GOTO Lcleanup rLeni = xReadi(fHandiefi, inbufs, 1) END IF NEXT REM - If odd length, read 1 more bytr

hiress = SH3000 IF (icLens OR 1) = icLens THEN lanes = SH4 rLens = xReadt(fHandleS, inbufs, 1) kk = 1 END IF IF foundcamg THEN IF (camgModesfi AND hiress) THEN kk = kk+1 IF (camgModesS AND laceS) THEN kk = kk+2 ELSE IF scrWidtht >= 640 THEN kk = kk + 1 REM - Done i f got all chunks IF scrHeigbtt >= 400 THEN kk = kk + 2 IF foundBMHD AND foundCMAP AND foundABIT THEN END IF GOTO GoodLoad END IF REM - Good read, get. next chunk IF rienS > 0 THEN GOTO Ch.unkLoop OOPS! Corrections! In "Fast PixO", AC V 4 .ll, page 19. w e made several errors in IF rLenS < 0 THEN 'Read error tile article and listing. The corrections are: XoadError? = "Read error" -Figure 1 and Figure 2 are reversed. GOTO Lcleanup -In Figure 2, under the 'Coloc*5’ should be '1010'. END IF -Paragraph 2, Column 3, page 21; "Next, isolate the individual bit" should be "individual pixel". REM - rLeni - 0 means EOF -Paragraph 1, Column 3, page 20; The 'AE's should be '->’s. IF {foundBMHD=0) OR (foundA3IT»0) OR (fcur.dCMAP=Q 1 THEN -Figure 2: All the ’8's should be '0's. loadErrorS = "Needed IIBM chunks not found" -Paragraph 1, Column 2, page 21: The sentence "row y now has GOTO Lcleanup to be stored in register A2" should read, "row y now is stored in END IF register A2." Sentence 3 should read, "It is then extended to a long integer, as done above." -Paragraph 3, column 2, page 22: The sentence, "In the second, GoodLoad: die byte is bset to 0" should read, "the bit is bclred to 0." loadErrcrS ="" -The authors o f the Amiga Hardware Reference Manual are Peck R., Deyl S., and Raymond C.

REM Load proper Colors IF foundCMA? THEN In "New Products and Other Neat Stuff1’. AC V 4.ll. pp. 63-64, an incorrect phone number for MichTron was printed. The CALL LoadRGB4sIsViewPortS,ctabs,nColars%) correct number is (313) 334-5700. The correct price o f VIVA is END IF 5199.95. Also, as no CD-ROM capability is currently available for the Amiga, VIVA is not CD-ROM supportive. Finally, the Lcleanup; animation capabilities mentioned will be available in a IF fHandlei <> 0 THEN CALL xCloseS (fHandlei) forthcoming Professional version of VIVA. IF inybuf& <> 0 THEN CALL FreeMemS (mybuf£,mybufsize£) In "View From The Inside", AC V4.12, page 16, an incorrect RETURN phone number for Blue Ribbon Bakery was printed. The correct number is (404) 377-1514.

GetScrAddrs: We apologize for die.se errors and any difficulties or REM - Get addresses of screen structures inconveniences that may have been caused as a result. sWindows = WINDOW(7> Hi Quality Version Available on AMIGALAND.COMsScreens « f e e k l (sWindows - 46) sViewPortS = sScreenS + 44 sRastPorts “ sScreenS + 64 WHILE MOUSE(C)<>0 sColorMapi = PEEKL(sViewPortS + 4) WEND colorTabS = PEEKL(sColorMapS + 4) WHILE MOUSE (0)=0 SBitMapS = PEEKL(sRastFcrt4 + 4) x2»MOUSE(1):y2=MOUSE(2) WEND REM - Get screen parameters scrWidth% = PEEKW(sScreens - 121 cellwidth=x2-;;l scrHeight% = P E E K W (sScreer.s + 14) scrDepth% = PEEK(SBitMapS + 5) FCR x-xl TO xl+ (ce!iwidth*5) STEF cellwidth-l nColors% = 2AscrDepth% GET ( x + l , y l ) - (x+cellwidth-2,y2-l),p%(0,c) e=c +1 REM - Get addresses of Bit Planes NEXT FOR kk = 0 TO scrDepth% - 1 bPlar.eS (kk) - PEEKL (SBitMapS+8+ (kk*4)) CLS NEXT RETURN FOR 1=1 TO 5 FOR x=0 TO 5 PUT 1100, 100) ,p%(0,x) ,PSET b l o w i n g u p : FOR d=l TO 500;NEXT PALETTE 1,1, 1,1 NEXT PALETTE 3,1,0,0 FOR d=l TO 750:NEX7 d D I M pis !850, S) FOR y.-5 TO 0 STEP -1 PRINT "Click or. upper-left of Cell 1" PUT (100, 10 0 ) ,p% 10,x ) ,PSST WHILE MOUSE(0)<>0 FOR d=l TO 500:NEXT WEND 'Clear the mouse buffer NEXT WHILE MOUSE< 0)=0 xl=MOUSE(l);yl=M0USE(2 > WEND WINDOW CLOSE 2 SCREEN CLOSE 2 PRINT "Click on lower-right of Cell 1" •AC- If/boro to Find tbo tfoa /lead

by B arry Solomon Video E ditor

Sometimes in the crush to find the cycling. Once again, the valuable there who are still very confused and/or ‘‘perfect" animation program or programs, information contained in this tape is simple intimidated by The Director. This you know, the one that really suits our own and well explained enough for beginners incredibly powerful program is run with a personal animating character, we can but will remind experienced animators basic-like programming language. For forget about the "little" things. There are a that, sometimes, tire effects they wish to those of you who, like me, aren't number of items available today that can achieve are easier to do than they drink. programmers, there is an answer! The help you leam new techniques, polish your Actually, i was a little chagrined by this Director Tutorial is a VHS videotape style, or just make doing what you do faster tape. I now realize that I have become a available to answer just about any question or easier. little jaded by all the "fablulous” animation you may have. This 260-minute tape (that's There are a number of tutorials techniques available to me. I really had right-four hours and twenty minutes) can available that can be very helpful for forgotten a lot of the really nice things you answer just about any questions you have. current or would-be animators. Available can do, very easily and quickly, with color There are also a number of animation on videotape, Professional Techniques for cycling. tutorials available on disk. RGB Computer Deluxe Paint ill can be very useful, even for Inst (in the video tutorials), but not & Video Creations, the "DeluxeHelp'’ experienced DPaint users. Developed by least, drere are a number of people out people, have a set entitled DeluxeHelp for JeffHi Quality Version Available on AMIGALAND.COM Bruette's Prism Computer Graphics DeluxePaint III. The second disk of this this 60-minute videotape features Jell (of two-disk set is devoted entirely to Max Headroom and Amazing Stories fame) animation and provides information on a giving away many of his best secrets. number of animation techniques. The folks Almost half of the tape is devoted to such at For Art’s Sake also have a two-disk set animation topics as “Animpainting", using that provides information on animation "Animated Brushes” and use of DPaint Ill's along with basic Amiga graphic Move Requester. techniques. The very down- In the book to-earth tutorials department, are sprinkled we have the throughout with 2nd Edition of thoughts from Using it hit'i i D an Silva, DeluxePaint. author of the Written by DPaint series. Steve Anzovin This tape really and published d o es have by Compute! something for Books, I found everyone, this otherwise excellent book inexperienced to the very experienced just a bit of a animator. pain because it .Also in the videotape department is a discusses series of graphics tutorials from Cape Fear DPaint for all Teleproductions. Micro Digital Graphics is computers (did the name of the series and Volume Two: y o u know that there Color Cycling Animation provides about 45 Just some of the many are other computers besides the Amiga?) minutes of instruction on the art (and it is "A him-A ids "a i ’a Hub le. However, the last section is strictly about an art) of animating by means of color DeluxePaint III (which, of course, is available only for die Amiga) and discusses colorfonts which can be very useful. In Also out from The Piccurebox is Build its animation methods at length. There is particular Video Visions sets 2,3, and 6 are ‘Em. This is a figure construction set even a book entitled Timing for Animation particularly targeted towards animators containing over 500 anti-aliased body parts published by Focal Press, Written by two and are available packaged together as the designed to be cut, rotated, and pasted professional animators, the book deals Animator Set. together to produce the people of your mainly with timing techniques for film, but On the humorous side, we have a choice. These parts are contained on 25 much of the advice, information, aird hints two-disk set of “animated fonts" from screens and were drawn by a professional can be applied to Amiga animation. If you Anivisions. While these technically are not figure artist. are a programmer, there are any number of fonts as we usually think of them, these are These are only a few' of the many, books available which discuss graphics very interesting. Actually these are “Anim many ways to get more out of your and animation programming in various Brushes” for use in DFaint III. There are adventures in animation. If I’ve missed one languages. several animated fonts on these disks of your favorites don’t be angry. There are As for actual animation helpers, there which are actually sets of animated brushes way too many “ANIM-AIDS" to cover all at are also a number of items available, which must be stamped out, or once. If you have a hint on a program, Charles Voner of CV Designs produces the “AnimPainted” in DPaint HI. My favorite is book, tutorial, or other piece which you Video Visions series of disks. These multi­ the Pourfont, which produces letters, have found to be helpful in you animating disk sets are designed primarily as aids for words, or entire title pages with each letter please write to me and let me know. video production, but they are also helpful being “poured” out of a little rainbow- to anyone doing animation. The various colored (much like the original DPaint sets and “Mini-Volumes” contain "paint can"). -Also included are a 3D (-like) backgrounds, animated characters, font, Comic Font, and Dissolve Font. I animated intros, borders, logos and found all of these very interesting. •AO

Products Mentioned Hi Quality Version Available on AMIGALAND.COM DeluxeHelp for DeluxePaint III Professional Techniques for RGB Video Creations Video Visions: Various Disks DeluxePaint III 2574 PGA Blvd., Suite 104 C V Designs Prism Graphics Palm Beach Gardens, FL 33410 61 Clewly Rd. Distributed by Electronic Arts (305)622-0138 Medford. MA 02155 1829 G ate w a y Drive Price: $49.95 (617)396-8354 San Mateo, CA 94404 Inquiry # 216 Prices Vary With Sets (800) 245-4525 in CA (415) 571-7171 Inquiry # 2 1 9 Price: 524.95 Using DeluxePaint 2nd Edition Inquiry # 2 1 3 COMPUTE! Books A nim ated Fonts 324 West WendoverAve., Anivision Micro Digital Graphics Volume Two: Suite 200 P.O. Box 801 Color Cycling Animation Greensboro, NC 27408 Prosser, WA 99350 C a p e Fear Teieproductions, Inc. (919)275-9808 (509)973-2717 605 Dick St., Wilmington, NC 28401 Price: 519.95 Price: 539.95 (919)762-8028 Inquiry # 2 1 7 Inquiry # 2 2 0 Price: $39.95 Inquiry #214 Timing For Animation Build 'Em Focal Press, Inc. The Picture Box The Director Tutorial 80 Montvale Ave. 8824 David Ave. The Right Answers Group Stoneham, MA 02180 St. John, M O 63114 P.O. Box3699 (800)544-1013 (314)427-1869 Torrance, CA 90510 Price: 537.95 Price: S23.50 (213)325-1311 Inquiry # 218 Inquiry # 2 2 1 Price: 539.95 Inquiry # 2 1 5

...... DUAL DEMO Programming an Arcade Game Can Be Easy by ffjotnas J. Eshelman If you type in and study the code diar accompanies this article, If you have a college or university in your area, I wrould you will immediately see how it provides the foundation for neat, suggest at least auditing an assembler course, i took a formal course professional looking games limited in scope only by your own in VAX assembler last spring, and found it invaluable. VAX and imagination. The secret lies in using the Amiga’s dual playfields. Amiga assembler are extremely similar. I alternate time between One contains and scrolls objects drawn with your favorite paint assembly and C, just to retain a Familiarity with both. I unequivo­ program, while the other can either be similarly scrolled or remain cally recommend assembly as your firsL programming language. stationary. Scrolling a few objects gives the appearance of many individually “animated” objects (or bobs), making die program DUAL T '5. SINGLE PLA YFIELDS appear far more complex than it is. Dual playfields require die employment of two bitmaps, two “DualDemo” appears as follows: You look at a yellow rasinfos, and two rastports. It is also advisable to create and swap background through a window outlined in red. White text— “Copper list” pointers, not only to create truly exotic dual playfields, including “score,” which changes as the program progresses— but also to serve as an introduction to double-buffering. appears on the top and bottom borders of the red window. “Animated” colored squares appear against die yellow background, IN GENERAL rising majestically from bottom to top. With the joystick, you Displays and objects are drawn into Bitmaps, which are control an electric-green sprite “spaceship.” Whenever the space­ composed of planes. The corresponding bits of die planes being ship hits a red square, the score increments by a value of five, set—or not set—indirectly determine die color for that bit (pixel) whereupon the program exits. A black band remains on either side location within die overall Bitmap. This is because these bits reveal, of the scrolling playfield(pf) to prevent the optical illusion of in binary, the color register number which will be displayed there. looking through a window—die illusion you usually desire when The user-defined color table reveals die actual colors themselves, writingHi Quality Version Available on AMIGALAND.COM games. Once you see how this is done, you need only vary die sizes, colors and shapes ofthe objects, adding any audio/visual col­ lision routines you desire. By adding ap­ propriate scorekeeping routines, you can design your own game-of-die-week. The code is relatively simple. The only difficulties lie in interpreting the in­ structions given in the ROM Kernel Manual, and in a shortage of published source codes after which you can model your own. Due to die space limitations of diis article, I will discuss only diose tecliniques not other­ wise available to the average reader. I would first like to give you some good advice based on my own experience: learn assembly! The only connection I have with computers is my Amiga hobby. I fooled with BASIC and C for nearly two years, and by memorizing many procedure calls, I wras able to create decent programs. But, whenever something went wrong... aargh! Only via assembly can you fully comprehend what’s happen­ beginning widi register 0 and running as high as register 31. The ing when high-level languages execute, and only then can you cake Bitmap may be much larger than the displav seen by the user. corrective measures based on your own logic. Header files wall The skeleton of any display is called the View. It can be become comprehensible! The beauty of it all is that assembly is by fleshed with more than one ViewPort, but usually ir is not. In far the easiest of die languages for a rank beginner to learn. There graphics, the ViewPort is die CustomScreen in Intuition. The Layers are many good and inexpensive assemblers. The ugly part is a lack of graphics are the Windows of Intuition. For our purposes, the of good tutorial texts. display is die ViewPort, since we only have one. A RastPort is a skeleton whose bones consist of all Table One the drawing parameters, so all drawing routines look to the RastPort to interpret the arguments you give them. No. of Bit Planes Allocated pfl value pf2 value Each Viewport or Layer must have its own RastPort if you expect to do any drawing. Tire flesh of the RastPoit 0 0 0 is tire Bitmap into which graphics are rendered. 1 3 0 Tire purpose of this article is to make clear certain 2 1 1 unorthodox, but immutable, rules that govern all the 3 2 1 above procedures related to dual playfields and colli­ 4 2 2 sion detection. They are really quite simple, although 5 3 2 difficult to explain. LeLs summarize some of them. 6 3 3

SPECIAL RULES FOR DUAL PLA YFIELDS Table Two RULE 1: The first Bitmap initialized becomes play- field 1 (pfl). pfl automatically gets priority over Depth, pf 1 System Registers Depth, pf 2 System Registers (appears in front of) pf2, unless the PPBA bit is set in V iewPort. M odes. 1 0-3 1 8-9 RULE 2: pfl cannot have fewer planes in its 2 0-3 1 8-9 Bitmap dran pf2 has in its Bitmap. If you allocate five 2 0-3 2 8-11 out of the permitted six bitplanes for our program, three 3 0-7 2 8-11 will go to pfl and two will go to pf2. Therefore, you 3 0-7 3 8-15 would have eight colors available in pfl and four in pf2. To see more colors in the background than in die fore­ Table Tliree A: The clxdat register (read only) ground, change dieir relative priority widi the PFBA bit :: Bit No. What it reports as illustrated in Table One. R U L E 3 : The planes of pfl are system-assigned to 0 Even bitplanes to dd bitplanes. odd numbers (1, 3 and 5). The evens (2 and 4) go to 1 Odd bitplanes to sprite 0. pf2. In the language of Commodore, the bitplanes are 2 Odd bitplanes to sprite 2. numbered from 1 to 6 inclusive. The bits, however, are 3 Odd bitplanes to sprite 4. numbered from 0 to 15. Watch out, die first color of 4 Odd bitplanes to sprite 6. each pf is not a color at all; it is “transparent.” These facts 5 Even bitplanes to sprite 0. are inherent in die Amiga, so don't try7 to fudge it. Hi Quality Version Available on AMIGALAND.COM6 Even bitplanes to sprite 2. RULE4: The color registers used for display in the 7 Even bitplanes to sprite 4. dual-pf mode are fixed (see Table Two). In this 8 Even bitplanes to sprite 6. example, registers 0 through 7 are used for pfl, while 9 Sprite 0 to sprite 2. 8 through 11 are used for pf2. Confusion may result 10 Sprite 0 to sprite 4. when setting pens and the like in pf2 (i.e., the eighth 11 Sprite 0 to sprite 6. register holds color 0 for pf2). 12 Sprite 2 to Sprite 4. Kindly look at the dimensions of the playfields in 13 Sprite 2 to sprite 6. the code, pfl is a multiple of 320 + 1. My 960 + 1 is 14 Sprite 4 to sprite 6. something of a waste, but I put it there to encourage ex­ 15 Unused. perimentation. When the program starts, 320 lines appear in die backfield. As these scroll upward, 320 Table Tliree 11: The clxcon register (write only) more lines must be available to replace them. When Bit No. What it does these are all fully displayed, you immediately redraw from the beginning by resetting your RasInfo.RyOffset 0 Enable bitplanel collisions. to 0. Therefore, pfl (which has more colors) really 1 Enable bitplane 2 collisions, works just as well at 640 + 1. pf2 is set at die Lypical 320 2 Enable bitplane 3 collisions. x 200, since it remains centered in the ViewPort. You 3 Bitplane 4 collisions. w on’t crash the machine if you fail to add diat one extra ;j 4 Enable bitplane 5 collisions. line to the Bitmap, but you won't like die display ap­ 1 5 Enable bitplane 6 collisions. pearance as much. 6 Validate or bias bitplane 1. While we are on die subject of colors, let us i 7 Validate or bias bitplane 2. prepare for the collision-detection scheme. Observe 8 Validate or bias bitplane 3. that Lhe red square in pfl appears in color register 4 9 Validate or bias bitplane 4. (OxdOOO). Remember what I said earlier: 4 in binary Validate or bias bitplane 5. (0100) would seem, to mean that wherever you have a -i 10 11 Validate or bias bitplane 6. bit set in plane 3, and in no other, a red pLxel will appear 12 Enable sprite 1 (detects if sprite 0 collides). on your display. Well, you're right—only it’s not the 13 Enable sprite 3 (delects if sprite 2 collides). third plane, but the fifth. Gotcha! Remember, pfl can 14 Enable sprite 5 (detects if sprite 4 collides). only have the odd planes, 1, 3 and 5. Hence, the third 15 Enable sprite 7 (detects if sprite 6 collides). is really the fifth. the tables, bit 3 of the clxdat register will be set by the system in the event that sprite No. 2 collides with anything in an odd-valued Come see whats Hot bitplane. Accordingly, our mask must also set the third bit. 0100 binary (or 0x004), so that the result of a logical AND is TRUE. for the AMIGA at The clxcon register is the one to which you WRITE. It is used to narrow the field. You don't want a reaction to all odd planes that The Memory Location are contacted by sprite No. 2; you want a reaction only to plane 5. To do this, you need to validate or "bias" any and all bits that could

a la la la bm la la la la (a be involved in the scheme, w hether you want them set or not. It's Im GSSS E s a a s u u a u j like tenpins: You must set 'em up in order to knock 'em down. That means you must bias all odd planes. You want planes 1 and 3 to be “hot” so they recognize that you are notifying them not to set, |m r T h e ' V just as you want 5 to be “hot" so you can tell it you do want it set. Set the “bias" bits, which—as you can see from the table—will

! ■ Memory H§ - be numbers 6,8 and 10. Now' they will all look to their correspond­ ' JBlfC j ing signal or command bits, which are 0, 2 and 4. Thus, you will IjS jflH Location |g set bits 0 and 2 to 0, which will specifically disable collision detection in planes 1 and 3. You will set bit 4 to 1, enabling 396 W ashington Street W ellesley, MA 021H1 detection in plane 5. (617)237-6846 In binary, the appearance of clxcon will thus be: 0000 0101 0101 0000. In other words, the fourth, sixth, eighth and tenth bits AMIGA Experts! Nothing but the best. (or hex 0x0550) are being set. This is the reason the code contains Satisfaction guaranteed. the expression: Come in and try-out all the latest software,

hardware, and accessories. cstm -> clxcon - 0x0550;

Your full service AMIGA dealer. RELEASING THE GAME PORT Store hours: Mon.-Thur. 10-6 Friday 10-8 Saturday 9-5. Now' that I have your undivided attention, I will reveal a little Full Commodore authorized repair service onsite. known (or at least little published) secret about how you can divest Low flat rate plus parts. the joystick of control over the computer after a program ends and the CLI prompt is returned. You often come across programs that seem to respond miraculously to stick or fire-button activity after Circle 107 on Reader Service card. Hi Quality Version Available on AMIGALAND.COMhaving terminated. (I’ve written a few like that myself.) The secret You must understand this in order to perform the seemingly lies in resetting the controller type to GPCT_NOCONTROLLER simple task of setting and interpreting the two registers. They will prior to exiting the code. To facilitate your doing this, DualDemo.c cause collision detections between a given sprite and a playfield features a short routine, set_controller_typeO. Put it into your Library of C routines. object of a given color, or between two playfield objects of different colors. To talk in colors, yon must talk in planes while looking at DOUBLE-BUFFERING THE COPPER LISTS your color table. Finally, let’s take a moment to examine and study “Copper COLLISION DETECTIONS Lists.” The Copper may be looked upon as tire Amiga's special- hardware-chips-register-loader. When you call the routine, Take a look at Tables 3a and 3b. They contain the results of MrgCopO, the system scans through all tire data structures you have setting each of the possible 16 bits in the write-only register known set up and creates "lists" of assembly-like instructions for the as ‘'clxcon,” and of reading each of the possible bits in the one-shot, read-only register known as "clxdat.” Each of these are offsets Copper to execute. This code gives the Copper the user-input (members) of the base of the structure known as “Custom." values to load in all the various hardware registers (tire ones re­ To read the clxdat register, you perform a logical AND on it ferred to in the struct Custom), and tells it when to do it. Read on with a mask of your own making. If the result of the AND is TRUE, carefully... To do this, the system dynamically allocates memory for a you get a collision. Each move requires a separate read, because “long-frame” Copper list (LOFCprList) and for a “short-frame" tire act of reading resets die bits of clxdat. You have only one chance, unless you copy the results first. Copper list (SHFCprList). The latter is used only if you ask for an interlaced display. For the purpose of linking these lists into the What do you need to see in clxdat in order to register a collision of the sprite with a red block? Observe that the sprite se­ overall “skeleton," the system sets pointers to these lists, in the lected in our code is No. 2. As you can see from the color table, memory set aside for them in struct View. Examine include/graph­ ics/'view.h. the red rectangle in pfl (OxdOOO) appears in register No. 4 (counting The lists refer to the underlying Bitmap. With dual pfs or with the first as No. 0). Binary 4 is 0100. Even though the bit is in position double-buffering, you have provided two Bitmaps. Now what? 2, it lies in plane 3, because the Amiga counts bitplanes from the You fool the system into creating and storing two sets of CprLists. right, beginning with a value of 1. In the language of dual playfields, you will recall from what Remember that these lists are telling the Copper things like which has been discussed above that the third bitplane of pfl is really colors will be jammed into place for tire display to which it refers. Therefore, you must acquire the habit of providing one such CprList bitplane No. 5 of the Amiga (grin). Therefore, you want to collide sprite No. 2 with an odd-valued bitplane (No. 5). As you see from for each Bitmap. The basics. Space and time. From an ice-age antler minutely Let me spell it out a little more dearly: etched with lunar phases to the inconceivably detailed information patterns transmitted by the Hubble Space Telescope, man has sought answers to basic questions about 1. The first of the “CprLists," prepared by the system in all events, the universe in astronomy. will refer to the first of the two Bitmaps in dual pf s or double-buffs.

2. Therefore, after you call MrgCopO for the first time: a. Copy View.SHFCprList and View.LOFCprList to a pair of extra pointer variables you named and allocated ahead of mainO b. Assign the pointer to your second Bitmap to the Bitmap member of your only Kaslnfo (in the case of double-buffs) or to that of your alternate Raslnfo (in tire case of dual-pfs). c. Set the values of both ''CprList” members of struct View to zero. d. Call MrgCopO again. The system now thinks that it forgot to prepare an area for copper lists, and will generate a second pair oflists plus a second pair of pointers thereto, e. Save tire second set of pointers as you did the first. Voiia! You have two sets of instructions somewhere in memory and two sets of pointers to them, one for each of your two Bitmaps.

3. Thereafter, you swap pointers as you swap Bitmaps. Assign the proper pointer values to their proper positions in struct View prior The best. Turn off the lights. Distant Suns, home grown on to displaying that Bitmap, but alter having copied tlie pair of the Amiga™, presents the subtle colors of the night sky. No pointers that were already in there for temporary safekeeping. other astronomy program 011 ANY platform can do that. Thus, each of the Bitmaps will have its proper attributes displayed along with it. Get it. A real lime machine. A toy universe for your Amiga™ - Distant Suns, Virtual Reality Laboratories, Inc 4. When you free memory at tlie end of your program, call (805) 545-8515. FreeCprListO twice, since you called MrgCopO twice.

Circle 121 on Reader Service card. Hi Quality Version Available on AMIGALAND.COMThat’s pretty much the story. Assuming you stud)7 and understand the readily available material on how to produce and fdefine WIDTH1 230L /*a/k/a Bitmap 1*/ draw into simple displays on the Amiga, DualDemo should make Idefine HEIGHT1 961L clear those parts of tlie RKM which, although somewhat turgid, are /* Note: Since Che squares pattern burns 320 lines. Seamless scrolling requires 640 lines. As one pattern gees o.c.s. up, the next pattern necessary to producing quality arcade games. It really is not all that comes into view. When 320 lines have scrolled, reset RyOffset to Q.The difficult. Analyze the source code carefully, and by all means 960 * 640 setup is not required, but is utilized for illustration only.*/ experiment with all the constant values, one or two at a time. You'll be writing—and hopefully uploading—some nice material for all of fdefine DEPTH2 2L /* p£2 a/k/a BitKap 2. */ fdefine WIDTK2 320L /* Same size as display. "/ us to enjoy in no time at all. fdefine HEIGHTS 200L

fdefine VPWIDTH 320L /* Viewport dimensions. */ Note: The system is never able to determine which member fdefine VPHEIGHT 200L /* Same as overall display. */ of a sprite pair was involved in a collision. You may enable tlie odd fdefine MAX5CR0LL_X 0L sprites, but apliprog must be capable of determining which of the #define XAXSCROLL_Y 640L/’ HEIGHT!-HEIGKT2 * the maximum */ /' ‘legal' scroll distance. "/ pak was involved when a collision is reported. 1 examine sprite co­ fdefine s a u c e r _w i d ?h 16 ordinates to make this determination.-N.B. fdefine SAUC2R_HE3GHT 13 struct View v; struct Viewport vp; struct ColorMap "cm; /* GetColorNap() sets this up. *f

■ Listing One ------struct BitMap bl, b2; /*DualDemo-by Thomas J. Eshelman - Reading, Pa.- 9/13/B6 struct RastPort rpl, rp2; This program demonstrates dual playfield and collision detection code struct Raslnfo ril, ri2; for the Amiga. A yellow field appears behind a red foreground containing text. This backfield contains an array of variously colored LONG i, x, y, loop; squares which scroll upward. A 'spaceship' sprite is given the user UWORD colmask; which can be controlled horizontally with the joystick. Whenever the sprite collides with a red square, the score is incremented on the char score[] = { ‘O', ‘l'r '2', '3', '4', '5' }; front playfield. When the score becomes ‘5r, the program quits."/ struct Custom *cstm = (struct Custom") OxdffOOO; /* Hardware rastr base */ #include struct GfxBase "GfxBase; #include struct View *oldview? /" Save old view for restoration */ ftinclurie #include struct InputEvent joyreport; #include struct IGStdReq "gameiob­ #include struct MsgPort "gameport; linclude

fdefine DEPTH1 3L /*pfl = taller than display*/ struct GamePortTrigger got = /"Reportable inputconditions, */ GPTF_UPKEYS I GPTF DOWNKEYS, 0, w = 0L; 1. - LOF[1] - NULL; /* Bet SHF[13 - NULL; /* fir — -

ITWORD colortable[] ■ Ser.dIO (c^rroio; | I* First color ■ display background */ 0x000, Oxf70, 0x070,0x007, /* transparent, yellow, green, hit_ck “ 0; blue ■/ j » It OxdCO, Oxfff, 0x704, 0x077,/- red. white, violet, aqua */ /* Below are for pf2.*/ while (1) 0x000, OxfQO, Oxfff, OxOOf /" transparent, red, white, I blue */ Saucer.>: +- jcyreport. ic_X;

if ( Saucer.x < 4-1 ) . * uprtoe c:,:it ton is Saucur.x - 44; / relative to Viewport -/ UWORD -colorpalette; if ( Saucer.x > 209 ) Saucwr.x - 259; Pairs of Copper List pointers. */ See article. */ MoveSprite ( 4vp, sSauce r, (long) Saucer.x, I03L ); struct cprlist *LQF[2]; struct cprlist -SHF 123; long w; if ( coimuuk L csf.u-> clxddt ) /-Check for - collision. [ /* The hit_ok algorithm to alia if ( nit_ok ) /* only or., .cor,' p_r red hit USHORT Saucer_data(]= { /" Sprite shape definition data, */ /- (Slue woulc k__p ’scoring' til */ hit_ok - 0; /• sprite breaks into the clear. '/ 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, show_score(j>; 0x0000,0x0000,0x03c0,0x0000,0xQ7e0,0x0000,Oxlff8,0x0000, j+ f} Oxffff, 0x0000, 0xea57,OxlSaB,Oxffff, 0x0000, Oxlff8, 0x0000, i 0xO7eO,0x0000,0x03c0,0x0000,0x0000,0x0000

struct SimpieSprite Saucer J aSaueer_data[0], SAUCER_HEIGHT, 160, 100, 0 else i hit^ofc - 1; 1

void mainO if ( j *-*- 6 ) { [ /A Cl— r your r_rly port.’/ openscuff C >; GetMug ;gu.-.upcrt); /* Th-.n di. gey. tick */

make_p lay fields (); (void) sec_ccntrcller_tipa ( (cn .r, 3t- C7_NCCCL/ROLLER ) ;

init_joystick(J;Hi Quality Version Available on AMIGALAND.COM Delay (otL); '■ ly... .j li it /* rater,,,. :: CL. etc fast */ paint_scene(); i

go_to_it(); /* Acticn! swaprcihCvr, .) ;

Close AIK) ; ril.RyOf/iwjTT; /* 'uy

remakeVit«();

w 1L; /-50R cihv. pointers tc •/ ir,it_joystick 0 /-swap u-.tL ] and [1]*/ ( if ( ril.RyOffset >- MAXSCAOLL_Y ) (void) 5et_controlier_type ( (char) GPC?_ABSJCYSTICK ril. Ry I f f set * C; ■■ SC.-.’..ELL. iac k to the top: gameio -> io_Ccmir.and = G?D_SE7TRIGGER; gameio -> io_Length = (long) sizeof (got); gameio -> io_Co.t. and - G?L_RB ALEVE:, V; gameio -> io_Data » (APTR) £gpt; gat.-ic -> io_L..-.y(long) cit^cf (gcyreport); gaiteic -> io_Duoa - (APTR)&joyrepcrc; if (DoIO (gameio)) GetMsg (g_ -port); .axe met--i- cut port die ("Error in setting trigger values.\nw); SenalC i o ); /- for. _r loop ■/ gameio **> io_Command = GPD_READEVENT; /* cht g o t o it */ gameio -> io_Length = (long) sizeof (joyreport); gameio -> io_Data *■ (APTR) s joyreport; gameio -> io_Flags ■ 0; swapPointers() /■Double buffer t.-.- copper iaios.*/ ( LOF[w] - v.LOcCprList;/' Alternately - a oo iQ] or [1j */ SHF [w j - v.Snr'CprList; gc_to_it () /* And repine. with EORo version.’/ I v.LOFCprList - LOF [(w"l)i; short hit_ck; w, ■/ short j; v.SHFCprLlst - She

cstm->color[17] = OxfOO; /• Hide Intuition pointer.-/ cstm->color[101 = OxfOO; cstm->ccicr[19! = OxfOO; remakeview(j cstm->cslor[21] = OxCfO; Render the saucer green.’/ { KakeVPirt(tv, Svp); /* Use that alternate cprlist MrgCop(4v); cstm->clxcon = 0x0550; /• See article for details.*/ LcadView(iv); /* shew new display. colmask ■ 0x0004; /• Enable odd planes to spr 2, */ WaitTO?(); /* Slow it down. }

die 1str) A little Schwabism.*/ char *str; I Wc take oa* Pr‘cc puts (scr); Close_All (); exit (100);

openstuf f {) i if (((gameport ** CreatePort {OL, OLD)

die ("Can't make gameport.\n") ;

if (!(gar.eio = CreateStdIO (gameport)))

die ("Can't make game lOReq block.\n") ;

if ( (OpenDevice ("gameport.device"/ 1L, gamcio, OL) ) !- HULL ) O N E B Y T E P.O. Box 455 die ("Can't open the game device.\n"); Q u a k e r Hill. CT 0 6 3 7 5 (800) 441-BYTE, in CT (203) 443-4623 GfxBase = (struct GfxBase *)OpenLibrary("graphics.library",CL);

if (GfxBase == NULL) die ("Can't open graphics,library.\n"I; Authorized dealer for /■ Save the View of whatever you ran this program from. •/ Commodore-flmiga Computers, oldview = GfxBase->ActiView; Great Valley Products (GVP),

return; Memory & Storage Technology (M.A.S.T.). Authorized Commodore-Amiga Service and Repair. Authorized Amiga Graphics Deaier. paint_scene () ( short spr;

SetAPen(&rp2,1L); /*Cover pf2 with a red rectangle.*/ RectFill (Sr?2, OL, OL, 320L, 200L) ; AMIGA IS A REGISTERED TRADEMARK OF COMMODORE-AMIGA. ESC SetAPen (&rp2, OL) ; /* OPEN 2-50 HOLE to see backfield.*/ Hi Quality Version Available on AMIGALAND.COMCircle 135 on Reodor Service card. RectFill(6rp2,40L,40L,20OL, 160L); /* -50 wide margins all around,*/

SetAPen(&rpl,1L); /'Draw yellow rect all over pfl.*/ spr * GetSpnte ( iSaucer, 2L );/• Demand sprite no. RectFill(firpl,0L,OL, 23CL,960L); /* Offsets from Dx/Dy,*/ if ( spr != 2 > y = 0L; /* Draw colored squares all over.*/ Close_All {); SetAPen ( irpl, 6L); ChangeSprite ( 4vp, sSaucer, 4Saucer_data[0] ); for ( loop « 0; loop <* 2; loop**- ) /* 3 draws */ { Delay <"5L); /■ Pause for the draw. '/ for ( i = 0, x = 25; i <« 4; i 4C( y « 40 ) return; /* 5 right */

Rectcili ( 4rpl, x, y, x * 20L, y + 20L ); make_playfields () SetAPen <&rpl, i * 2L ); 1 ) InitView(iv); v.Viewport *= £vp; for ( i = 0, x = 145; i <■* 2; if-, x -- 40, y 40 ) /* 3 left */ initV Port(fivp); ( /"First register of pf2 is Ho. 9. It is xparer.t. RectFill ( 4rpl, x, y, x + 20L, y * 20L ); It is useful to experiment with this.*/

SetAPen ( Srpl, i + 3L ) ; /'Each 0 takes 320 lines*/ cm = (struct ColorMap'l GetColorMap (120 ; colorpalette 11 (UWORD *) cm->Color7able; ) for(i ” 0; 1 < 12; i ) SetDrKd ( &rp2, JAM2 ); /*?ext is measured from top.*/ *colorpalette++ * colortable[i]; SetAPen ( 4rp2, 2L ); /* Chars are 8 pixels wide.*/ /•Copy colors to data structure.*/ SetBPen ( 4rp2, 1L ]; vp.ColorMap = cm; /* Link same. */

Move ( Srp2, SOL, 14L ); vp.DWidth = VPWIDTH; f* Vihat user actually sees */ Text ( &rp2, "Dual Playfields Demo", 20L ); vp.DHeight = VPHEIGHT;/* i.e: the Display’ */ vp.RasInfo = firil; Move ( Srp2, 100L, 30L ); Text ( 5rp2, "by Tom Eshelnan", 15L ); vp.Modes ■ D'JALPF i ?FBA;/*5wap priorities so you can * / /■ have more colors in backfield */ Move ( £rp2, 10SL, 183L ); Text ( &rp2, "Hits On Red:", 12L ); LoadRG34 { svp, acclortable [0], 12L ) ,* /* Load color registers. */ Move ( &rp2, 209L, 183L ); Text ( Srp2, £.score[0], 3L ); InitBitMap(4bl,DEPTH1,WIDTH1, HEIGHT!) ; InitBitMap(4b2, DEPTH2, MIDTH2, HEIGHT2); MrgCopl 4v ); /• Merge prelim, lists into a final "/ MOVING? /’ copper list in the view structure. '/

InitRastPort(4rpl]; /• freed a pfl rastpart to draw. •/ rpl.SitMap = Shi; /■ Link it to its bitmap. */

SUBSCRIPTION PROBLEMS? InitRastPort (&rp2); rp2.BirMap = f.fc2;

SetRast(irpl,OL);/■ Raster bitmaps transparent. “/ Please don't forget to let us know. SetRast(Srp2,OL); If you are having a problem with your Loadview(& v); 1 subscription or if you are planning to Close_All() move, please write to: I ford ■> 0; i < DEPTH 1; i++) { if (bl.Planes[i]) FreeRaster ((char’) bl.Planes [ij, WIDTHl, HEIGHT1); Amazing Computing Subscription Questions > PiM Publications, Inc. for(i - 0; i < DEPTH.?; i> + ) { P.O. Box 869 if (b2.Planes{i]) FreeRaster ((char*) b2.PIar.es[id w i d t h 2, Fall River, M A 02722 } * Free structures 'dynamically' */ * created by the system fcr you. '/ if (cm)

Please remember, we cannot mail your magazine FreeColcrMap(cm); to you if we do not know where you are. FreeVPcrtCopLiSts (5vp);

FreeCprList 1LOF[0]); FreeCprList (LOF[1]);

Please allow four to six weeks for processing. if (Saucer.num.)

FroeSprite ( 2L );

if (gameio) Hi Quality Version Available on AMIGALAND.COMif (gameio -> io_Device) CLoseDevice (gameio);

DeleteStdlQ (gameio); f?r(i = 0 ; i < DEPTH1; i ++) { if (gameport) bl.Planes[ij =- (PLANEPTR) AllocRaster (WIDTH!, HEIGHT1); DeletePort (gameport); if (bl.Planes[ij =- MULL) LoadView(oldview); /• Replace cld view •/ die ("Can't open oil bitplanes.\n"); Delay(50L); /" Be sure it's in place */ BlnClear (bl.Planes[i], RASSI2E ( WIDTH!, HEIGHT1 >, QL) ; CioseLifcrary((long)GfxBase); f o r d = 0; i < DEPTH2; r* + )

fc2.Plar.esFi] = (PLANEPTR) AllocRaster ( WIDTHS. KEIGH72} ; showscore(k] short k; if (b2.Planes[i] == MULL) j SetDrKd ( 4rp2, JAM2 ); die ("Can't open pf2 bitplanes.\n”) ; SetAPen ( 6rp2, 2L ) ,* SetBPen ( 4rp2, 1L ); BlcClear (b2.Planes[L], RASSI2E ( WIDTH2, HEIGHT2 I, OL); 1 Move ( 4rp2, 2091, 183L ); Text ( 4rp2, iscorefk), 1L ); I* How to init Raslnfo structures!'/ j ril.BitMap = &bl; /" Viewport to be positioned way to the left */ /* This long-unsung technique prevents the joystick from affecting the ril.RxOffset = -45; computer in any way after the program is done and you get your prompt /■ 40 for border - 5 as study aid. It is the */ back. Fcr this reason, I have prepared a special routine for it, so ril.RyOffset = 0; that its importance is not lost on the reader.*/ /* BITMAP you draw to. NOT the ViewPort!*/ set_controller_type (type) ril.Next = Sri2; char type; rl2.Bit.Map = S b 2 ; { gameio -> io_Command = 3?D_SE7C7Y?E; gameio -> ic_ler.gtn - 11; r12.RxOffset - 0; gameio -> io_Data = (A?7R) &ty»e; ri2.RyOffset * 0; if (DoIO (gameio)} riZ.Next = NULL; die ("Error in sotting controller type A n " ) ; MakeVPort( 4v, avp >; /* Construct copper instr (prelim) list •/ ) ■ AC- 0 T . A . C . / , 1 The Tlu. Adventure A^.ranti.w Construction Language Ton Bring Your Adventures Written by Alternate Realities. Produced by Micro Momentum, Inc. To Life T.A.C.L. allows you to unleash the creativity of your mind and bring it to reality. T.A.C.L. is a full-featured text/graphics adventure language. * .■ Anything your mind can imagine can be brought to reality using T.A.C.L. Into the future, back in time, into the 5th dimen­ § •> - ■ sion—you are in control. T.A.C.L. has the -■ A - ,." . following features: .h-.iSi! -Supports IFF graphics (including HAM), sound, different text styles, vector graphics, INI and more. -Includes PADV, the adventure player that is freely-redistributable so you can distribute it with your favorite public domain adventures. Hi Quality Version Available on AMIGALAND.COM- Includes VGED, a complete vector graphics editor that allows you to have many drawings with each ad­ venture without taking up large amounts of disk space.

- T.A.C.L. source code can be ported and compiled with no modifications on other computers that T.A.C.L. is available for (IBM and Mac versions in development).

I g M n - T.A.C.L. will allow you to create commer- cial-quality adventure games. Send us a copy and we will consider distributing it for you!

- Runs on all Amigas with 512K RAM and 1 ! Amiga DOS VI. 2 or above. -Available at Amiga dealers or direct.

Micro Momentum, Inc. P.O. Box 372 Suggested Retail $99.95 Washington Depot, CT 06794 H Order Phone: 800-448-7421

We want to make you a success by producing your software. We deal fair and square so give us a call. Make the first move.

Circle 125 on Reader Service card. (continuedfrom page 26) void Do^Argumer.ts (int, char **); one menu is the combined lengths of the previous ones! For die void ?rocess_Item.(int, int, int); /* Items, the position is lined up with the menu they belong to. sub- “ Main Program items are a positioned a little differently. The Intuition manual states */ "The sub-item box must overlap its item's select box somewhere”. void maintargc, argv)

This seems clear enough except that while a 10% overlap looks kind int argc; char **argv; of neat when the sub-item pops out of the item; it is hard to hit widi < the mouse pointer! The problem is diat an item may deselect while unsigned char str[30); /* wrndow message structure */ you are moving the mouse to select the sub-item! If die overlap is unsigned int i; /* loop counter */ unsigned K0, 10, SO; /* Menu control index */ small, a slight jiggle in the mouse may select the next menu item struct Screen ‘Screen; /* ptr to screen*/ and make your software very touchy. To solve this problem, struct Window ‘Window; /* per to window'/ overlap die sub-item half way across Item and drop it down just struct IntuiMessage ‘message; /‘message pointer */ /- under half of the height of an item. This gives plenty of overlap and “ ignore arguments, open libraries and startup doesn’t totally hide the items. */ That completes the MenuBuilder, It is possible to carry this IntuitionBase « (struct IntuitionBase program a little farther by actually completing die many structures *)QpenLibrary("intuition.library",0); if( IntuitionBase “= NULL ) and creating a real menu that can be attached to die current { window. This would eliminate the need to compile and link a menu print f ("Unable to Open, intuition.library"); to test it. This would require additional work, and since lam die lazy e x i t (10);

one, I’ll leave diat up to you! ; ; GfxBase = (struct Gfx3ase * 1CpenLibrary("graphics.library", 0); LISTING ONE if( GfxBase == NULL ) /* menu test driver program V2.0 i This program will open a screen and a window just so we printf("Unable to Cper. graphics.library"); can test the menu. Ke could find out the current window e x i t (10); and use it for the menu, but this is a more common usage! */ ^include if( (Screens (struct Screen *}OpenScreen(SNewScreen))==NULL) 4include [ #inelude printf("Unable to open Screen"); iinclude e x i t (10); iinclude iinclude ); iinclude NewWindow.Screen ** Screen; iincludeHi Quality Version Available on AMIGALAND.COM if ( (Window = (struct Window *)OoenWindow(SKewWindow))==NULL) iinclude ■: iinclude CloseScreen(Screen); iinclude printf ("Unable to open window"); struct IntuitionBase ‘IntuitionBase; e x i t (10); struct GfxBase ‘GfxBase; extern struct Menu ‘MyMenu; } struct NewScreen NewScreen = /* ( “ Here we tell the system about our menu! 0,0,640,200, /* Left, Top, Width, Height */ */ 2, 0,1, /* Depth, detail Pen, Bloch Pen1'/ SetMenuStrip(window, MyMenu); HIRES, /* Hi resolution screen */ /* CUSTOMSCREEN, /* type */ ” Display something in our window NULL, /* Font */ V "Custom Services" /* Screen Title */ Move(Window->RPort,20,20); /' Move text pointer in window */ ); Text(Window->RPort,"Hello Sir",9); /* set hello in the window struct Newwindow Newwindow */ 1 /* 0, 0, 640, 200, /" Left edge. Top edge, width, height Loop until the user hits the close gadget! */ */ 0, 1, 1 * Width, Height */ for (;;) CLOSEWINDOW | MENUPICK, /* IDCMP message flags ‘/ < WINDOWCLOSE I WINDOWSIZING I WINDOWDRAG ! WINDOWDEPTH I WaitPort(Window->UserPart); /* wait for a message */ SMART_REERESK ! ACTIVATE I NOCAREREFRESH, message = (struct IntuiMessage *)GetMsg(Kir.dow->UserPort) NULL, /* First Gadget */ iff (nessage->CIass| = m e n u p i C K ) /* is it h menu NULL, /* default to checkmark */ m e s s age?*/ "Menu Test Window", 4* Title of window */ ( NULL, /* Standard Screen */ for (i=0; i < 30;i++) str[ij = 1 >; NULL, /* Bit Map */ if[ Code) != MENUNULL) 100, 25, /* Mi n Width, Min height*/ ! 640, 200, /* Max width, Height */ MO = MENUNUM(message-PCode); CUSTONSCREEN /* Screen type */ 10 - ITEMNUM(message->Code); SO = SUENUM(message->Code); }! sprintf(str,"Menu %x, Item %x, Sitem Ix ", M0, 10, int Figs 126]: /* one flag for each letter */ SO) ; /* Move(Window->RFort, 5, 20); ** compiler prototypes Text(Nindow->RPort, str, 24); */ else break,- /» Not Menu selection, assume close gadget*/ ?rocess__Item (MO, 10, S0)r / * Process Here */ ef'fi-ca-cy, n. ReplyMsgl(struct Message *)message ); /- Reply to messacre */ power to produce effects ); /* or intended results. ” Cleanup when we get the close gadget hit ” release everything in the reverse cf how Not everyone needs the ability to typeset complex mathematical *' we allocated it. equations or complicated tables. Many can do without the accents */ and special characters required for foreign languages. People even ReplyMsg((struct Message ■[message); /* Reply to exist who don't want a powerful macro facility in their document m essage */ production system. Ligatures and kerns are overkill for some docu­ ClearMenuStrip (Window) ,- /'Remove Menu*/ ments. But your documents are more than simple letters to Mom. CloseWindovr (Window); /’close window ■/ Some folks shun included IFF/1LBM images or ARex.x compatibility. CloseScreen (Screen) ,- /’remove the A few are willing to hyphenate by hand, or accept pooriy spaced

screen */ lines. And some folks will accept the jaggies—output at less than exit(TRUE); /’Good Bye */ the full resolution of their printer. i But the quality of your documents is important to you, and your /* stub for acutal Menu processing code ’/ void Process Item(MO,10,SO) typesetting needs are more than the average fellow’s. You need ir.t MO; /’ Menu Number ’/ int 10; /’ Item Number ’/ int 30; /’ Sub Item Number ’/ I A m iga I switch (MO) i If you are serious abotn putting words on paper, write for your free case -1 ; /* Close up the shop,this is Che close gadget demo disk. Move up to the power of AmigaTjrX. */ print f ("Stub Close up Shop\ri"); break; P Radical Eye default : /* easy way out */ printf("Stub for %tl:%d:%d\n",MO,10,SO ); V ^ Software break; Box 2081 • Stanford, CA 94309 • BIX: radical.eye

}; circle 152 on Reader Service card, >Hi Quality Version Available on AMIGALAND.COM

FROM HB:c.o+"listing_I.o" + "Ll3ting 3,o" ------LISTING 2.MENU - TO "liscing_l" LIB LIBtlc.lib LIS:amiga.lib BATCH /■ Custom Services Menu Builder cl9BS '/ . MENU,Workbench #incluae < e x e c / t y p e s .h> ITEM,Open,, ((include i t e m ,C l o s e , , ITEM,Duplicate, , struct IntuiText iTextij = ITEM,Rename,, ITEM,Info,, 1 o. 1, JAM2, CHECKWIDTH, 0, NULL, "Oper i ITEM,Discard,, < 0, JAM2, CHECKWIDTH, 0, NULL, "C l o s e " ) , MENU, Disk ( 0, JAM2, CHECKWIDTH, 0, NULL, "Dupl icar e ITEM,Empty Trash,, I 0, 1, JAM2, CHECKWIDTH, 0, NULL, "R e n a m e " ) , ITEM,Initiate,, ( 0, I JAK2, CHECKWIDTH, 0, NULL, "Info MENU,Special •; o, 1, JAM2, CHECKWIDTH, 0, NULL, "Discard") , ITEM,Clean Up,, 1 o. i, JAM2, CHECKWIDTH, 0, NULL, "Empty Trash" ITEM,Last Error,, ( o, l, JAM2, CHECKWIDTH, 0, NULL, " I n i t i-S26w ), ITEM,Redraw,, ! o. 1/ JAM2, CHECKWIDTH, 0, NULL, "Ciea n u p " 1 ITEM,Snapshot,, 1 o, JAK2, CHECKWIDTH, 0, N U L L , "Last Erroir") ITEM,Version,, ( o, l, JAM2, CHECKWIDTH, 0, NULL, "Redraw"], MENU,My_WorkBenchi I 0, 1, JAM2, CHECKWIDTH, o, NULL, "Snapshot" ), ITEM,Not Selected,Selectee ,S 1 0, i, JAM2, CHECKWIDTH, 0, NULL, "Version"), ITEM,T E S T , ,T •; o, l, JAM2, CHECKWIDTH, 0, NULL, "Not Selected' 1 o, JAM2, CHECKWIDTH, 0, NULL, "Selected ITEM,SUB Menu i, , i/ SUBI,Sub item i. , 1 1 o, i, JAM2, CHECKWIDTH, 0, NULL,"TEST l, JAM2, CHECKWIDTH, 0, NULL,"SUB SUBI,Sub Item 2, ,2 1 o, Menu 1") ■3 1 o, l, JAM2, CHECKWIDTH, 0, NULL, "Sub Item SUBI,Sub Item *4 r , 3 1") 1 o, i. JAM2, CHECKWIDTH, 0, NULL, "Sub Item SUBI,Sub Item 4, i 4 2") ITEM,SUB Menu 2, 1 o, l, JAM2, CHECKWIDTH, 0, NULL, "sub Item 3") JAM2, CHECKWIDTH, NULL, "Sub Item SUBI,Sub Item A, , A 1 o, i, 0, 4") ( o, JAK2, CHECKWIDTH, 0, NULL, "SUB Menu "! SUBI,Sub Item B, 2 i JAM2, CHECKWIDTH, Item SUBI,Sub Item C, ,C l o. 0, NULL, "Sub A" i JAK2, CHECKWIDTH, NULL, "Sub 1 err. SUBI,Sub Item D, 1 0, i, o, 1 3"! 1 o, i, JAM2, CHECKWIDTH, 0, NULL, "Sub Item C") ( 0, i. JAM2, CHECKWIDTH, 0, NULL, "Sub Item D") k . J t {•define FLAGS CHECKIT I ITEKTEX I MENUTOGGLE I ITEMEHABLED (4TheMenu[ 3], 152, 0, 72, 1 0 ,M E N U E N A B L E D ," Special Idefine TEXTlx> (APTR)SIText[x] *,iM2tO] ), ( NULL ,232, 0,120, 10,MENUENABLED,'' My_xorkEench! struct Menultem M3I2[) - I ",SM3[C'!) U M 3 I 2 ; 1) , 52, 3,104, 10,F LA G S ,0 ,T E X T (17 } ,NULL If 1 ’ ,N U L L ) , struct Menu *MyMenu = STheMenu[Oj; (SM3I21 2[ , 52, 13,104, 10,FLAGS,0,TEXT(13),NULL 2',N U L L ) , (SM3I2 [ 3], 52, 23,104, 10,FLAGS,0,TEXT(19),NULL ■3', NULL), LISTING 3 .C ------(NULL 52, 33,104, 10, FLAGS, 0,TEXT(20> , NULL /* ■I' ,N U L L ) Menu Builder V2.0 This program takes a simple sequential file and If generates the Menu structures rcr a program* struct Menultem M 3 131) = 1 I n p u t : (S M 3 I 3 [ 1] , 52, 3,104, 10,FLAGS,0,TEXT(22),NULL 'A',NULL I, MENU,Name ( 6 M 3 I 3 [ 2 ], 52, 13,104, 10,FLAGS,0,TEXT(23),NULL ITEM,Name,[Select], [Command] -3'.NULL), SUBI,Name,[Select!,[Command) U M 3 I 3 [ 3], 52, 23,104, 10,FLAGS,0,TEXT(24),NULL -C' .NULL), Position and Flags will be set to a reasonable default. Your program will need to include the statement: (NULL f 52, 33,104, 10,FLAGS,0,TEXT(25),NULL 'D',NULL! )f extern struct Menu ’ My Mem:; ana struct Menultem M O [] = SetMenuStrip (window pt r , MyMer.u) ; ! (4M0[ 1],. 0, 0, 72, 10,FLAGS,0,TEXT( 0),NULL Also, before you close your window you must call: NULL, NULL), 1 ) ,NULL [5M0[ 2],, o. 12, 72, 10,FLAGS,0,TEXT( ClearMenuStrip(window ptr) ; NULL,NULL], (& M 0 [ 3] i, 0, 24, 72, 10,FLAGS,0,TEXT( 2 ) ,NULL or risk a GURU visit! NULL,NULL), '/ ( S M 0 [ 4[ , o, 36, 72, 10,FLAGS,0,TEXT( 3),NULL •include ,NULL, NULL), •include (SMQ[ 5] , 0,. 48, 72, 10,FLAGS,0,TEXT! 4 ) ,NULL • include ,NULL,NULL), •include [NULL , 0,, 60, 72, 10,FLAGS,0,TEXT( 5 ) .NULL jincluds .NULL, NULL) • include i; linclude Hi Quality Version Available on AMIGALAND.COMiinclude struct Menul tern, Mil! = •define CHAR_WIDTK 8 /* used to calculate pixels •/ ( idefine NO ERROR 0 /* used to indicate error ■/ (SM1[ 1] , 0 , o, S3, 10,FLAGS,0,TEXT I 6) , NULL fdefine £RROR_NO_COKMA 1 ,NULL,NULL), Idefine ERSOR_BAD_TEXT 2 INULL , 0,, 12, 38, 10,FLAGS,0,TEXT( 7 ) .NULL Idefine e r r o r _ n o _ m e n u 3 ,NULL,NULL) Idefine ERROR_NO_ITEM 4 In­ •define ERROR_NO_DATA 5 Idefine ERROR_BAD_NUMSER d struct Menultem. M2 [ ] - Idefine ERROR_BAD_COMMMTO 7 Idefine ERROR_TOO_LONG 8 (SM2[ 1), 0 , 0, 60, 10,FLAGS,0,TEXT( 8),NULL Idefine MAXJLINE 132 /* input line length max */ NULL,NULL), char cline[MAX_LINE]; /* input line "I (4M2[ 2], 0,, 12, 80, 10,FLAGS,0,TEXT( 9),NULL char •name1: /* File name painter NULL,NULL), int culdtfc; /' width of menu item U M 2 [ 3], 0 , 24, B0, 10,FLAGS,O.TEXTdO) , NULL int lent; !' total input iine count NULL,NULL), int sent; /* current line count U M 2 [ 41, 0 , 36, 80, 10, FLAGS, 0,TEXTU1| , NULL struct IntuiText "CText; /* Current Text Item pointer */ NULL, NULL) , struct IntuiText *AllText; /’ All text items [NULL 0,, 48, 30, 10,FLAGS,0,7EXT[12],NULL struct Menultem 'Cltem; /* Current Menu Item , NULL,NULL] struct Menultem ’CSItem; /’ Current Sub Menu Iter, }.* struct Menu *CMer.u, * Till Menu; /• M e n u pointers * / !' struct Menult en M 3 (I --- ** prototypes { * i i s m 3 [ 1 ] , 0 , o, 5 6 , 10, FLAGS, 0, TEXT (13) , TEXT void Do_Arguments(int, char 'S'.NULL) , char * Scan(char *, char, inti; {S M 3 [ 2 ) , 0 , 12, 86, 10 , FLAGS , 0 , T E X T (15) , NULL int GetLins(3PTR, char * I; lT' .NULL) , int ?rocess_Menu(char *); [S M 3 [ 3], 0, 24, 96, 10, FLAGS, 0, TEXT (16) , NULL int Process Item(char *, int) ; , N U L L , & M 3 I 2 [0]), struct IntuiText *Process_Text(char -); (NULL 0,, 36, 86, 10, FLAGS, 0, TEXT (21) , NULL void Do_Output(void); ,NULL,SM3I3[t;) ir.t Indexjstruct IntuiText *),- In­ void Do__Out_Sub(int, int); /* struct Menu TheMenu[] = * * Main routine < V !s.Th e M e n u [ 1], 0, 0, SB, 1 0,M E N U E N A B L E D ," Workbench void main(argc, arcv; ", AMO[0]!, int argc; /•nu.Titar or arguments !STheMer.u[ 2), 96, 0, 4B, 1 0 ,M E N U E N A B L E D ," Disk ~,&M1[0]), Lons Fonts Vol. 1 */ A collection of seven 3D font sets in the Interchange char *argv(]; /'array of ptrs to arg strings format. Each set has complete upper/lower case letters, punctuation, and numbers! If you're into video or do FILE 'filel; /* input rile ucinter '/ animations, you need these fonts! $29.95 int i; Momentum Check int result,error; char *cptr; A full featured checkbook management package that makes /* get the file names and open the files "/ checkbook management easy. Class codes allow you to /* initialize input buffers and variables"/ AilText = NULL; track any expense you wish. Use standard reports or create CText =» NULL; your own custom reports. Reconciliation is so easy! $29.95 CMenu - NULL; CIcem = NULL; Momentum Mail CSIten = NULL; AllMenu » NULL; An easy-to-use mailing list management program. Why error = 0; fiddle with 300-page manuals and spend hundreds of lcnt ■= 0; /* dollars when it can be as easy and affordable as this! $29.95 * * Do all files V TdcTutor for (na.tel = NULL, i=l; i

Available at fine dealers, or order direct Make check or money order payable to. ** Do All Lines in the file '' Micro Momentum, Inc. P.O. Box 372 f Dealer Inquiries) */ Washington Depot, CT 06794 V- iBjjBd -S while i ( cptr = fgets (c.ine, MAX_LINE, filel) ) != NULL) (800) 448 7421 { D"Plea.sc add______S 1.50 for S&H. C.O.D.s add additional 52 50. All products 90 day warranty. s c n t + + : / 11 win .r cfit ri pi, nl m:. ..'u’re ilVi'l r.ti'il. Civt. ns a call. Am:,u h ;; rt-ir;,1rrrii . r;.il.-in;irr. . i f ('.DM lcnt++; Circle 100 on Reader Service card. Hi Quality Version Available on AMIGALAND.COMcptr = Scan (cptr," FALSE); /'skip leading blanks*/ if{ 'cptr == )continue; /'skip comments in file'/ if( strncmp("MENU",cptr,4) == 0 ) ( iff error »» 0 I E>o_0ucput [); fprintf(stderr," %d lines input, %d errors\n",lent,error); cptr = Scan( c p t r , TRUE]; result = Process_Ksnu(cptr); ! char 'Scar, (ptr, c, control ( : char *ptr; else if ( strncmp("ITEM",cptr,4) == 0 ) char c; { int control; cptr = Scan( c p t r , TRUE); ( result = ?rocess_Item(cptr,0); /* do an Item ■/ while ( ’ptr != NUL L 46 "ptr 1= '\n' 64 ( { central 44 *ptr c ) II (I control 45 ’ptr =- c) ) ) I else if ( strncmp("SU3I",cptr,4) =» 0 ) ptr++; ( if{ *ptr == '\n')*ptr « ’NO'; cptr = Scantcptr,,TRUE); return! ptr ); /* return the new pointer */ result = Process_Item(cptr,1); /■ do a Sub Item ’/ ! int ?rocess_Mer.u (ptr) else /* error, bad command '/ char *ptr; ( ( error'*; char *tptr; result - ERAOR___BAD C O M M A N D ; int len; struct Menu ’last; ); if! AllMenu == NULL ) if( result 1= NO_ERROR ) ! t /’ first itenu item '/ e r r o r - * ; AllMenu * { struct Menu *)caiioc(1,sizeof(struct Menu)); fprintf(stderr," Line %d(%s) has syntax error(id): CMenu =• AllMenu; /* Set current pointer ’/ %s\n",sent,namel,result,cptr); ! 1 : else ( ) ; /* add new one to list */ fclose (filel); last " CMenu; CMenu - (struct Menu *)calloc(1,sizeof(struct Menu)); 1 ; last-MCeKtMenu = CMenu; /* ” ali files are read, so output the source if no errors ): */ /* Build Menu structure *V ptr = Scan (ptr,', , TRUE); /* find next comma */ if( -ptr != return(ERROR_NO_COMMA>,■ if ( "ptr ! = return (ERRORJiO_COM!«A) ; ptr++; p tr—; tptr = Scan (ptr, ' '.TRUE); /* find end of string */ /* Command ? */ len = tptr-ptr; ThisItem->NextItem - NULL; if ( len > 23 ) return(ERROR_TOO_LONG); ThisItem->SubItem - NULL; CMenu->MenuNarae = (BYTE *) calloc (1, (unsigned) len+1); Thisltem->Command = "ptr; (void)strncpy(CMenu->MenuName,ptr,len); ThisItem->MutualExclude = OL; ptr +=len; if( type == 0 I ’ptr = '\C; /* make sure it is a proper string!*/ ■: CMenu->NextMenu = NULL) CMenu->FirstTtem->MutualExclude = cwidth; /* save Item CMenu->FirstItem= NULL; width */ CItem » NULL; ) CMenu->Kidth = len; else return ; •: CItem->SubItem->MutualExclude = cwidth; /* save Sub Item ) widtn */ int Process_Item(ptr,type) 1 ; char *ptr; return(HO_ERROR); int type; /* 0 = ITEM, 1 = SUB ITEM */ { : struct IntuiText ’ProcessJText 1) ,- struct intuiText ’Procsss_Text(ptr) struct Menultem *?hisltem; char ’ptr; struct Menultem ’lastl; I S t r u c t Menultem ’lastSI; struct IntuiText ’dptr, * lasText; iff CMenu =- NULL ) return (ERROR_NO_MENU I ,- char ’tptr; if( type == 1 && CItem == NULL ) return(ERROR_NO_ITEM); if( ’ptr == return(NULL); if( *ptr != ) return!ERROR_NO_COMMA); lasText » AliText; cwidth - -1; while ( lasText != NULL) if( type == 0 ) { { CText - lasText; /* do an item building a Menultem */ lasText = lasText->NextText; lastl = CItem; CSItem= NULL; /* clear current Sub Item Flag */ ; ; CItem " (struct Menultem *)calloc(1,sizeof(struct Menu­ lasText = CText; ltem) ) ; CText = (struct IntuiText *)calloc(1,sizeof(struct Intu­ if( lastl == NULL ) iText) ) ;

i CText->NextText = NULL; /* First Item for Menu */ iff AllText == NULL ) CMenu->FirstItem = CItem; /* link it to the menu */ { CItem->MutualExclude = -1; AilText = CText; Hi Quality Version Available on AMIGALAND.COM) else } { else lastI->Next!tem = CItem; /’link it to the item list*/ ( lasText-kNaxtText. = CText; ); Thisltem = CItem; /* build it */ }; cwidth = CMenu->FirstItem->MutuaiExclude; tptr = Scan(ptr,TRUE); ) CText->IText = (U3YTE *)calloc (1, (unsigned) (tptr-ptr+1)); else (void)strncpy(CText->IText,ptr,tptr-ptr); { CText->IText{tptr-ptrj - '\0'; /* Do a Sub Item */ if( cwidth < tptr-ptr )cwidth = tptr-ptr; lastSI = CSItem; /* check for duplicate, eliminate this sr.e if duplicate »/ CSItem = {struct Menultem *)calloc(1,sizeof(struct dptr = AliText; Menultem)); while ( dptr != CText )

if ( lastSI == NULL ) t f if ( strcmp (aptr->IText, CText-MText) == 0 ) /* First Sub Item for Menu Item */ ■: CItem->SubItem = CSItem; /’ link in the sub items */ free( (char * ) (CText->IText) ) ; CSItem->MutualExclude = -It free( (char *) CText ); CText = dptr; ) iasTeXt->NextText = NULL; else { 3 lastSI->NextItem = CSItem; e l s e { I; dptr = dptr->NextText; Thisltem = CSItem; cwidth = CItem->SubItem->MutualExclude; !;

) ; >; /* Process name select and command ’/ return iCText); ctr++; ThisItem->ItemFill = ( APTR )Process Text(ptr); ! iff ThisItem->ItemFill == NULL I return(ERROR_BAD_TEXT); void Do_Output(( ptr = Scan(ptr,', ',TRUE); /* find next comma */ t iff *ptr != return(ERROR_NO_COMMA); char nxt,quote; ptr++; char Mptr[14; ,- int Menu, Item, left, top, width, height; /’ Select name? */ int stop; ThisItem->SelectFill = ( APTR )Process Text (ptr); char rest [30]; /* Output the IntuiText structure first */ quote = v; Are you intimidated by Databases? printf (*/********** ******* printf("/* Custom Services Menu 3uilder cl989 */\nw) p^Lnt f ^ " j # ********* * * * * / Too busy to read a huge manual? printf("finclude cexec/types.h>\n"); prlntf("#include \n"); CText = AllText; if 1 AllText ’= NULL) That’s why you need Mail-O-Dex. t printf("Instruct IntuiText IText[] =\n"l ? print f(" [\n"); Mail-O-Dex is a full featured, easy to use ); mail merge manager. But it doesn’t stop whilst CText 1= NUL L > /' for all text to output */ I there! It also combines the features of a iff CText->NextText == NULL) RoloDex, a Phone Dialer, a Label Printer, { nxt = 1 '; AND directly supports most popular Word Processors, With easy to use VCR style else f controls, you probably won’t even need the nxt = ; easy to understand manual. You can search }; any or ALL fields, and define field titles. prlntf(“ { 0, 1, JAM2, CHECKWIDTH, 0, NULL, %c%s%c}%c\n", Label sizes and spacing are adjustable. quote,CText->IText, quote, nxt) ; CText = CText->NextText; Best of all, it’s only $49.95!! I; if( AllText 1= NULL ) ( KarmaSoft p r i n t f p }; \n") ; Available al a dealer n y-v n i m a near you or order P .O . BOX 1034 ); direct. Send check or Qolden, Co. 8 0 4 0 1 printf("idefine FLAGS CHECKIT I ITEMTEXT I MENUTOGGLE I money order payable to ’ ITEMENABLED\n"); (303) 277-1241 print f I "((define TEXTlx) (APTR) (. IText [x] \n \ n " ) ,* Dealer inquiries welcome CMenu = AllMenu; Menu - 0; left -■ 0; height = 10; Circle 121 an Reader Service card. while ( CMer.u !“ NULL ) Hi Quality Version Available on AMIGALAND.COMt Item = 0; CItem = CMenu->FirstItem; if ( CItem->SelectFill -- NULL) while ( CItem 1= NULL) ( *: sprintf(rest,"NULL , "); CSItem = CItem->SubItem; cwidth = CSItem->MutualExcIude; ) if ( CSItem != NULL ) Do_Cut_Sub(Menu,item); else Item++; [ CItem - CItem->NextItem; sprintf(rest,"TEXT(% 2d),", Index((struct IntuiText *)CItem->Selectrill)); !; Menu++; ); CMer.u = CMenu->NextMenu? if( lisaipha (CItem->Coirmand} 51 lisdigit (CItem->Command)) 1 ) sprir.tf (Srest [9] , "NULL, ") ; CMenu = AllKenu; Me n u => 0; ! while ( CMenu != NULL ) else < 1 Item = 0; sprintf (4rest[91," '%e' ,",CItem->Conm.ar.d) ; CItem - CMenu->FirstItem; cwidth = CItem->HutualExciude; ); CSItem = CItem->SubItea; if( CSItem — NULL ) printf("struct Menultem M%d[] = \n",Menu>; I printf(" !\n"|; sprintf(Srest[14],"NULL"); top = 0; width = cwidth * CHARJfllDTH; ) while ( CItem != NULL ) else ( { Item++; sprintf(Srest[14],"SM%dI%d[0]",Menu, (Item-1) ); CSItem = CItem->SubItem; if( CItem->NextItem == NULL ) ]; ( p r i n t f (" (4 s, 43d, %3 d , % 3d,%3d,F L A G S , 0,", sprintf(Mptr,"NULL “) ; Mptr,left,top,width,height); nxt = ' printf("TEXT(%2d),%s]%c\n",Index((struct IntuiText *)CItem->ItemFill),rest,nxt); 1 CItem = CItem->NejttItem; else top = top + height + 2; ( sprintf(Mptr,"4M%d[%2d J",Menu,Item); 1; nxt = ',’ ; printf (" ];Yn\n"); CMenu = CMenu->NextKenu; }; Menu--; fcr(stop=0; stop < 20; s t o p + + )r e s t [stop] = '10'; ) int I n d e x (ptr) /* Find the position index */ Struct IntuiTeut *ptr; { int lax; idw = 0; CTeut = AllText; while ( CTeut != NULL is ptr 1= CText) ( idx+-; CTeut - CTeut->NextTeut;

! ; return(idu);

) void Do Out^Sub (Menu, Item) in- Menu, Item; { int SItem; ir.t stop, width, sieft; ir.t top, height; char Mptr[14]; Since we at Amazing Compuiing™ cannot determine char r e s t [30]; char r.xt; the dependability of our advertisers from their ads top = 0; alone, we want your feedback. If you have had a height = 10; problem with an advertiser in AC™, let us know! Send printf ("struct Menultem M^dl'ed [) = \n",Menu,Item); printf!" (\n") ; a complete description of your exchangees) with the width = CMenu->widt h *CHAB_WIDTH; advertiser—along with the names of the individuals SItem = 0; Involved—and we'll do our best to get to the bottom while ( CSItem != NULL > t of things. for(stop=0;stop<30 ; s t o p e + ) r e s t [stop] - '-.O’; Ad Complaints SItem++; if! CSItem->NeutItem == NULL ) PiM Publications, Inc. ( Amazing Computing sprintf[Mptr,"NULL "J; P.O. Box 869 nut = ' '; Fall River, MA 02722 ) else Hi Quality Version Available on AMIGALAND.COMi sprintf(Mptr,"&M%dI%d[%2d]".Menu,Item,SItem); ); r.xt = CMenu = AllMenu; printf("struct Menu TheMenuI) ~ \ n "); ) : print£(" (\n"}; if! CSItem->SelectFill == NULL ) left = 0; ■: top = 0; sprintf(rest,"NULL Menu = 0; while ( CMenu != NULL ) ) I else Menu++f ( width = (CMenu->Width - 2) * CEAR_WIDTH; sprintf (rest, "TEXT (%2d) , ", Index ( (struct Ir.ru:. Text if( CMenu->NextMenu == NULL ) *)CSItem->SelectFill)); ( sprintf(Mptr,"NULL ") ; ) ; nut = ' ' ; if( !isalpha(CSItem->Command) Si lisdigit (CSItem->Commar.d) ) ■: ) sprintf(Sres:[8j,"NULL,"); else ! i sprintf(Mptr,"STheMenu[%2a]",M=nu); e 1 s e nut = ; ( sprintf{srest13)," 'ic', CSItem->Command); 1: (void)strncpv(Srest[1],CMenu->MenuName,CMenu->width); ) ; rest[C] = 1 sprintf (srest; 13], "NULL") ,- restECKenu->Width+l] = ' '; sieft - (width * 5J/1B; r e s t [CMenu->Width+2] = '\0'; stop = fop + 3; quote = printf (" { , 13d, % 3d, 13d, 13d, FLAGS, 0, " height = 10; ,Mptr,sieft,stop,width,height); p r i n t f (" printf("TEXT i \ Z d ) ,%s)% c\n",Index((struct IntuiTeut (%12s,%3d,%3d,%3d,% 3d",Mptr,left,top,width,height); *)CSItem->ItemFill),rest, nut); printf (",MENUENABLED,%c%s%c, 4M%d[C) ) £c\n",quote, rest,quote CSItem = CSItem->NextItein; (Menu-1),nut); top " top + height; left = left + width + CHAR_WIDTH; CMenu = CMenu->NextKenu; ) ; printf<" );\n\n"); ); printf (" ),-\n\n"); ! printf ("struct Menu *MyKer.u = STheMer.n [0);\n") ; •AC* Hi Quality Version Available on AMIGALAND.COM

Over 2200 product listings Over 500 Amiga Vendors Over 300 Freely Distributable Programs listed

AC’s Guide To The Commodore Amiga Winter ’90 Coming soon to your local Amazing Dealer or order today! The Guide to a successful Amiga Winter Mathematicians explain a graphical representation of an Before I start let me say that diere are many methods of equation as a map of its solutions, and that it is used to help diem graphically displaying madiematical equations and these ar­ gain a better understanding of die mathematics. However, I am ticles are not intended to be a systematic treatment of all of more interested in the picture itself as an artform. That’s not to them. Instead, I develop the one method that is particularly say Uiat an understanding of die equations is not valuable. It valuable for displaying the Mandelbrot set. Note also that this certainly helps, especially in die never ending search for new article deals only with the method, the series of steps that must equations and for new mediods of displaying them. However, be programed in order to draw a fractal. It is still too early to talk it doesn’t take a mathematician to have a lot of fun drawing about the underlying mathematical theory behind the Mandel­ fractals. All that is needed are a few practical skills and some brot set, although eventually this will be discussed. patience. In this article one such sldll, called scanning die screen, will be developed. SCANNING THE SCREEN In previous articles the development of each fractal was Figure One: observed pixel by pixel, from left to right, and row by row, from Hi Quality Version Available on AMIGALAND.COMOutput produced by this month’s listing bottom to top. That's what is called scanning the screen. It s the (640 x 400 Pixel Mode) systematic plotting (illuminating) of all of tlie pixels on tlie drawing surface. It should come as no surprise drat diere is a standard way of doing this, and once it has been learned, it can be applied over and over again to different programs drat draw different fractals.

ONE HUNDRED TWENTY-EIGHT THOUSAND POINTS OF LIGHT Suppose the screen is scaled as follows:

xmin = -10 xmax = 10 ymin = -10 ymin = 10

Scanning the screen can be started by plotting a point at the bottom left hand comer.

PSET (FNx (xKiir., FNy (ynr.in) 1

Tlie variables xmin and ymin each store die value -10, the Cartesian coordinates of the bottom left hand corner of the drawing surface, as specified by the above scaling. Those values get passed to the coordinate conversion functions FNxO and FNyOi which calculate their corresponding pixel numbers (Amiga coordinates) and then pass them to the PSET command. Refer to Article II in this series if more explanation is needed. Continuing with die systematic scanning of the screen, the very next pixel needs to be plotted along the bottom row. To accomplish this, the pixel’s horizontal coordinate must value of T in steps o f‘dx’, until finally T exceeds xmax. At that be calculated (the vertical coordinate remains the same because point the loop ends and the computer goes on to execute it is in tire same row). whatever program lines follow' die TOR-NEXT construction in die program. THE NEXT PIXEL Here is a complete program which does die above task and noth­ In every example so far, usually on the third line, the ing more. variable dx, which represents the width of one pixel, is calculated using xmin, xmax, and the number of pixels across the screen. Remember that all the pixels are arranged side by DEF FNx(x} = INT(((x-xmin)+dx/2)/dx) side, thus forming a long rowc So, to get to tire next pixel, simply DEF FNy (y) = 195 - INT ( ( (y-ymin) +dy/2) /dy) move to tire right by an amount equal to the width of one pixel, xmir. = - 1 0 dx. Plot the point: xmax - 10 ymi- = -10 ymax = 10 Hi Quality Version Available on AMIGALAND.COMPSET (FNx(xmin+dx),FNy(ymin)) dx = (xmax-xminl/631 dy = (ymax-ymi.nl /1 95 Well, that was simple enough, but what about the next pixel after that? How about: SCREEN 1, 64 0, 200, 4, 2 WINDOW 2, , (0,0)-(531,1861, 0, 1

PSET (FNx(xmin+dx+dx),FNy(ymin)t FOR i=xmin TO xmax STEF dx PSET(FNx(iI,FNy(ymin)) NEXT i

OK then, what about tire next 629 pixels along the entire row'? WINDOW CLOSE 2 FNx(xmin+dx+dx+dx+dx+dx+dx...etc) will not do, it requires SCREEN CLOSE 1 too much typing. AmigaBASIC’s “FOR NEXT” loop construction should be used. Note that in previous examples in the earlier articles an extra dx/

FOR i=xmin to xmax STEP dx 2 was added, as follows: PSET(FNx(i),FNy(ymin)) NEXT i FOR to xmax+dx/2 STEP d>:

In the above loop PSET gets executed 632 times, once for every pixel along the bottom row. The first time through, the The reason for this is to guarantee diat the last pixel along the variable *i' has die value xmin, -10. Each time through die loop row doesn't get accidentally left out. All computers store T gets increased by the value of dx. That’s what the ‘STEP dx’ numbers wridi a limited accuracy. For example, the number 2/ means. In this example the value ofdx is 0.0316957211, buL it 3 gets stored as 0.6666667 which is a little larger than it should is not necessary to know diat. dx is always referred to symboli­ be (die last digit is rounded up to a seven). The temi dx is cal­ cally, by its name. The Amiga will handle the actual value. That's culated from (xmax-xmin)/631, and depending on the values of what computers are for! The value of dx will be different xmax and xmin its accuracy' could also be questionable. It could whenever you scale die screen to different Cartesian coordi­ also be a little larger tiian it should be. As die loop executes, dx nates. Continuing, each time through the loop the value of T is gets added to T 631 times until it’s supposed to equal xmax. passed first to the coordinate conversion functions, and then to Well, suppose on the 631’th time the value of T actually over­ the PSET command, tiius plotting every pixel along the rowc The shoots xmax by a little bit, say by 0.000001. That wrould be loop executes over and over again, continually increasing the enough to cause the loop to stop without H O W ABOUT AN EQUA TION? 2- Scale the screen. plotting tlte very last pixel in the row. The Since this article is about the method, 3- Scan rite screen extra dx/2 term guarantees that this doesn't and not the mathematics, let's choose an 4- Calculate the equation using the happen. equation that will be easy to understand. cartesian coordinates eachPixel The program has been carefully writ­ 5- Test the result for true or false. ten to be consistent with examples in this x - ■/ = 25 6- Color pixels according to result. series of articles. That way previously learned skills can be built on. Easy to understand means, understanding Below is a program which uses the the calculations that are specified; it is not screen scanning method to graphically MORE ROWS necessary to know the graph the calcula­ represent the above equation. So much for one row of pixels. Now, tion will produce, If Lhe actual values for x what about the whole screen? Well, that's and y were given, x = 3 and y = 4, it should D EF FN-vOO - INTI ( (>:->:T.in)+dx/2)/dxl k t not too much harder. Replace the loop in be easy to perform the calculations and DEF FtJyty) - 135 - : (( (v-yir.ir.) + dy / 2 ) /' dy) the above program with the following: determine if the values satisfy the equation.

FOR j=ymin TO ymax+dy/2 STEP dy 3+ = 25 FO R i=xmin TO xmax+dx/2 STEP dx PS £ T ( F N x ( i ) ,F N y [j)) So x and y values satify the equation and y.-nax = 10 N E X T l are a solution. NEXT j

dy » (jCTdK-ymir.)/195 This is called a nested loop, one loop inside But if x = 2 and y = 3 were given, then the other. The inside loop draws the nor­ SCREEN 1, 64 0, 200, 4, 2 2" * 3J 25 mal horizontal line. But now there is an WINDOW 2, , (C,C)-{e21, 1=6), C, 0 outside loop in which 'j' represents the So the x and y values do not satisfy the FOR j-ymin TO yrr.ax+dy/2 STEP dy vertical position of that line. The value o! ‘j’ equation and are not a solution. FOR i=Jtnin 70 STEP d>: starts at ymin and increases by the amount G0SU3 Calculate of ‘dy1 until it finally exceeds ymax+dy/2. GOSU3 Selec-.Color INEQUALITIES For each value of ’j' a complete horizontal PSET(FNx(i) , FN y Ij)) Often knowing if the result of a NEXT i line gets drawn at a new vertical position. calculation is greater than or less than the NEXT j Thus every pixel on the screen gets illumi­ value specified in the equation can be nated. Run the previous program using this WINDOW CLOSE 2 important. The algebraic notation for such SCREEN CLOSE 1 nested loop in place of the single loop ran an equation could be something like this: beforeHi Quality Version Available on AMIGALAND.COM and confirm that the entire screen gets plotted, pixel by pixel. :i a- y ? < 2 5 Calculate: Result + j * j DR. I WING FR.1 CI A LS Such equations are known as inequalities. RETURN Since starting these articles two skills If the values x = 2 and y = 3 are given, the It ave been developed which can be ap­ Select.Color: result of the left side of the equation will IF Result < 25 THEN plied to drawing fractals, scaling the screen equal 13, and since 13 is less than 25. these COLOR 5 (from Article II), and now, scanning the values cause the equation to be true. screen. But more is needed to produce a COLOR 10 fractal, the magic of an equation is re­ RETURN quired. It's the equation that tells the pro­ MASTER PLAN gram what color to plot each pixel, thus Suppose the value of x in the above producing something more pleasing than a inequal ity represents the horizontal coordi­ Take a look at the ‘Calculate’ subrou­ blank white screen. Looking at the screen nate of any pixel on the screen, and y the tine. The 'x' and V of the original mathe­ scanning loops in the previous articles, two vertical (Cartesian coordinates). The equa­ matical equation have been replaced by T very important lines inserted before the tion could be calculated using those coor­ and 'j'. The i’s and j’s come from the screen i’SET command can he seen. dinates, tested to determine if that pixel scanning part of the program, and they caused the inequality to be true or false, represent the horizontal and vertical posi­ GCS'JB Calculate and finally, the pixel could he colored tions of pixels on the screen (in Cartesian GOS'JB Select.Color PSETtFNx(i) , FNy ( j) ) accordingly (one colorfortrue and another coordinates). Those are the numbers that for false). If this were done for every pixel will be used to evaluate the equation every Every time through the scanning loop, for on the screen, a picture representing the lime the ‘Calculate’ subroutine is executed. every pixel on the entire screen, a calcula­ trueness or falseness of the inequality for The calculation is stored in the variable tion is performed, presumably based some­ every pixel on the entire screen would be 'Result'. The RETURN statement sends the how on die Cartesian coordinates of that obtained, it would son ofbea picture of the computer back up to the screen scanning pixel. Then, depending on the results of equation. Here’s what we will do: loop to continue with the next statement. that calculation, a color is selected- Finally, The next statement in the screen die pixel is plotted in the chosen color. 1- Decide the range of Cartesian scanning loop Is the 'Select.Color subrou­ coordinates. tine. Here the value o f 'Result' is compared width have been scaled to have equal di­ mensions, xmin = -10, xmax = 10, ymin = -10, and ymax = 10. As a result, the pattern THINKER is wider dian it is tall, it looks squashed. Hypertext Change the scaling to: fo r AMIGA xmin = -10 "..stunning capabilities..simple to xmax = 10

operate.." "..superbly crafted.." - ymax = 1 Gary Gehman, Amiga Sentry, 6/89 Version 2.0 with ARexx Now run the program again. With die ratio Chicago land’s Hypertext extended to corrections the program produces a circle. Picture files, ARexx Amiga software, ports, and applications. Now, change the single line in ’Calculate' hardware, and Version 2 adds more to: Result = keyboard controls, repair stores database functions, and the first line of 'Select.Color’ to: $ $ 4; 4; $ $ $ $ 4; $ 4; display fonts, and ARexx.' Thinker acts as a database IF Result <625 THEN for ARexx programs, sends messages 4* Staffed by Amiga users ® and run it again. It is a different pattern. to ARexx ports, and more. Write, This is a graph of the equation: design, think, plan. HYPERTEXT! Pull selection of books, Upgrade $20 No Credit Cards x‘ v- y* < 625 magazines & peripherals, r h n A Add S5 CA res. add tax including imported software cp O 1 / f°r COD 30 day guarantee The above method is a complete plan or algorithm for producing graphic images Poor Person Software Wheeling 708-520-1717 3721 Starr King Circle, Dept 5 of mathematical equations. It is tire same Chicago 312-338-6100 Palo Alto, CA 94306 method diat has been used in the previous Hanover Pk 708-837-6900 (415)-493-7234 articles to draw fractals. The above ex- Hi Quality Version Available on AMIGALAND.COMCircle 127 on Reader Service card. Circle 143 on Reader Service card. ( against the number 25. The IF-THEN-ELSE Templicity ample uses a simple equation so as to not construction is used to separate die pixels distract from learning tire method, Natu­ into two groups, those that represent solu­ 100 Ready-made rally the mathematics behind the Mandel­ tions to the equation (true) and those that Templates for Your brot set is a little more involved and the don't (false). When ‘Result’ is less than 25 lines in the ‘Calculate’ and ‘Select,Color’ (true), the computer executes the line fol­ Amiga Spreadsheet! subroutines are correspondingly more lowing die word 'THEN'. When 'Result' is Available for Analyze!, MaxiPlan, complex. But the rest is the same. not Jess than 25 (false), the computer Superplan, and VIP Professional Personal Financial Planning INTERLACE MODE (640x 400PIXELS) executes die line following the word Save Home Office and Small Business The second article of this series ‘ELSE’. The command 'END IF' marks the Time New! 1989 Federal Income Taxes mentioned that there were actually four end of the construction. Thus each pixel is Real Estate and Loan Analysis and assigned a color register depending on die coordinate systems available on the Amiga, Home and Business Budgets Money result of the previously executed ‘Calcu­ Accounting and Bookkeeping Thus far the 640 x 200 pixel mode lias been late’ subroutine. Many other unique worksheets included! used, because it is die best compromise Full User Support between graphic detail, memory require­ 30 day. no risk, money-back guarantee! Run the above program and see what ment, and the time required to produce a Complete pkg. of 100 templates happens. The equation should graph as a fractal. However, for the fun of giving the circle, but why does the graph appear in an $34.95 Amiga a tough job, this month's example is To order, send check or money order to: oval? done in both 640 x 200 and 640 x 400 pixel The Sterling Connection resolutions. It is possible to do either by ASPECT RATIO Box 4850 modifying only one line of the program. The computer screen is not a perfect For 640 x 200 pixel mode: square; it is a rectangle. The aspect ratio is Berkeley, CA 94704 Specify which spreadsheet you have. the technical term which describes the To order by phone, Vertical.Pixels = 200 relative difference between its height and call (415) 655-2355 width. Get a ruler and confirm that the For 640 X 400 pixel mode (also called Mastercard and Visa accepted. interlace mode): height is about seven inches ancl the width CA res. add 6% (52.10) sales tax, is ten. hi the above program the height and (Free shipping)

(continued on page 100) The Amazing Computing Freely Redistributable Software Library announces the addition of...

New Orleans Commodore Klub's inNOCKulation Disk V e r s i o n 1 , 5 b To help inform Amiga users of the newer Amiga viruses and provide them with the means to detect and eradicate those pesky little critters!

Files and directories on the Watches memory for viruses; will alert Boot-BlockJStuff inNOCKulation Disk include: the user and allow their removal if found. Can check & INSTALL disks, etc. SnfeBoot2.2 .SafeBoot will allow the user to save custom boot sectors of all your Virus_Texts (dir) commercial disks and save them for such Various text files from various places CLI_Vh'iisCheckers (dir) an emergency. If a virus somehow (Amicus #24, PeopleLink, and manages to trash the boot sectors of a elsewhere!) describing the Virus(es) and XenoZap commercial disk, just run SafeBoot and it people’s experiences and their Disables the Xeno virus in infected files. will restore die boot sectors, dierefore recommendations; TVSB “The Virus Checks every file in all directories of the saving your disk!! Strikes Back”: satirical text describing specified devices allowing die fast future efforts to rid the universe of the removal of the Xeno virus. Virus_Atert V2.0.1 dreaded (silicon) viruses! Interview with Yet anodier anti-virus program widi a the alleged SCA virus author! Hi Quality Version Available on AMIGALAND.COMAVirusII twist. Onee installed on your boot disk a From The Software Brewery (W. message is displayed just after a warm or German). Disables a virus in memory. cold boot notifying the the user that the disk and memory are virus-free, and WB_ViriisCbeckers (dir) Clk_Doctor3 forcing a mouse-button press before Corrects problems with the clock (caused continuing. VirusX4.0 by malignant programs, perhaps not Runs in the background and checks disks really a "virus”) (A500 & A2000) BootBackl for viruses or non-standard boot blocks Saves and restores boot-blocks. Runs whenever they are inserted. (Recognizes Guardianl.l from CLI only. several viruses and non-standard boot Checks for attempts at viral infection at blocks. Removes virus in memory.) Finds boot! Allows you to continue with a A ntivirus akaAVBB die new Xeno file virus. normal boot (if desired). Includes a small Includes SEKA assembler source. utility program to permanently place the Sentry program on a copy of your Kickstart XBoot Revision ofVirusXl.01 in Lattice C. disk. Converts a boot-block into an executable file, so you may use your favorite ViewBoot KiUVirus debugger (Wack, D is,,..) to study it. Highly active mouse-driven disk and Removes (any?) virus from memory. memory virus-checker which allows you to look at the pertinent areas (useful in VirusKiUer The inNOCKulation disk also includes case you suspect a NEW virus!) A graphically appealing and user friendly icons and arc files. VRTest3-2 program by TRISTAR.

To order the inNOCKulation Amazing computing - , inNOCKulation disk orders disk>send: $ O Of) ? £ 2 T p-°-Box 869 • \~ S \ - S FFall a ll V\\T(*r River, MMA A ft?.’02722 ($7.00for non-subscribers) IT'S COLDER THRN YOU THINK! b y Robert Klimaszetvski

As you listen to the weather reports on the radio or evening news this winter, you may hear the an­ nouncer say something like, ‘ the temperature outside is five degrees; but the wind chill temperature is a frigid twenty-four below." Have you ever wondered where that second number comes from? (Especially when you actually step outside and realize how intensely cold iL is when the icy wind hits youHi Quality Version Available on AMIGALAND.COM in the face!) This article will describe a simple pro­ gram which calculates the wind chill temperature based on a choice of inputs, Hill’s Comfort Factor is a measure of tire amount of energy removed from a person's skin because of convection currents caused by winds. Since the number of “calories of energy lost per square centimeter of skin surface per second" is not a very convenient (or ■ useful) measure for most people, something much more familiar will be used. Weather an­ nouncers quote an effective temperature which is based on the W = TO - (TO - T)(a + bv12 + cv) present air temperature and the wind speed. This quantity is called tire “wind chill temperature,” where T is the temperature of still air (as measured by a thermome­ The wind chill temperature (or wind chill factor, as it is ter) and v is the wind speed. The reference temperature TO is frequently — and incorrectly — called) is determined from a non­ approximately that of human skin. (Skin temperature is actually a linear correction to the air temperature. The correction depends on little warmer than the value used for TO because the latter has been wind speed and on the temperature of still air. Some more modified to partially account for humidity of the air and skin sophisticated equations also include the effects of relative humidity, moisture.) The remaining three numbers (a, b, and c) are semi- but since weather announcers rarely provide the humidity during empirical constants, and depend only on the units chosen for the the colder months ofthe year, the program given here is based only variables v, T, and W. on the first two factors. For convenience, the AmigaBASIC program was written to The AmigaBASIC program, "Wind_Chill.BAS," calculates the calculate the wind chill temperature based on tire user’s choice of wind chill temperature, W, using the simple formula; units lor the input values. Therefore, it is necessary for the user to Bnr... Two screen shots showing bow the wind makes it feel colder than it really is. indicate whether the entered temperature is in degrees Celsius (C) only 10°F. A simple use of the program will tell you that it’s better ordegrees Fahrenheit (F), and/or whether the input speed is given to stay inside, or else at least prepare yourself for temperatures in kilometers per hour (K) or miles per hour (M). (To obviate the considerably more severe than 10°F! need for the user to remember unnecessary details, the program was designed to be independent of the use of upper or lower case letters,) LISTING ONE For programming simplicity, the routine uses only one set of Program wind_Chill constants (TO, a, b, and c). The temperature used for evaluation of Wind Chill Temperature Computation the equation is given in Celsius, and die speed is in meters per second. Consequently, the inputs are converted to the necessary Program copyright 198 8, R A Klimaszewski units by the program prior to any computations. released to the public domain for non-commercial use There are three selectable options for program execution: 1) no fee may be charged for the distribution of this ogram output a table of wind dtill temperatures for varied wind speeds This notice must be included with any distributed copy andHi Quality Version Available on AMIGALAND.COM constant air temperature; 2) output a table of wind chill of the program temperatures for varied air temperature and constant wind speed; DEF FNchill[vel,temp) = tempo - (tempO - temp)F (a + bFSQR(vel) and 3) output a single wind chill temperature fora specified air tem­ + c*vel) perature and wind speed. The third option also allows for the DEF FNcelsius(fahren) = five,ninths#*(fahren - 32?) selection of additional pairs of input values, if desired, before DEF FNfahren (celsius) = nine . fift’ns? *celsius + 32? \ quitting, The program output is provided in both metric and English 1 For above equation: temp in 'C, vel in m/s units- the speed, when outputted, is also given in knots. -35*0 <= I <= +15*C,- 2 . 5m/s <= vei ■.'= 25m/s [9km/hr, 9 0 W As presently written, Wind-Chill sends the results of its hr] computations only to the monitor. This can easily be changed by tempO = 33! : a = .4517 : b = .4322 : e = -.04322 substituting LPRINT commands for the appropriate PRINT com­ five.ninths# = 5#/9# : nine.fifths# = 1.8# mands in the software code. (Be careful not to change all PRINT vl = 3.6 : v2 = 2.237 ; v3 = 1.943 commands because this will also send the input requests to the true ** -1 : false “ 0 enter.data = true : done = false printer instead of the screen! Clearly, this would make the program temp.lo = -35] : temp.hi = 415] 1 *C somewhat inconvenient to use.) vel.lo = 2.5 : vel.hi = 25! v m/sec There are two small limitations to the program Wind-Chill. \ The value for the temperature must be in rite range -31°F to +59°F; PRINT " Determination of Wind Chill Temperatures" PRINT and tire value for the wind speed is restricted to the range of 5.6 mph PRINT " Input/Output temperatures are *F and *C" to 55.9 mph, If a mistake is made, and a value is entered outside PRINT " Input/Output velocities are km/hr and mi/hr" these ranges, Wind-Chill will politely inform die user of die error, PRINT determine.wind,chill = true reminding the user of the limitations, and it will ask for a new value Cycle,start: to be inputted. WHILE (determine.wind.chill) It is important to keep in mind that the output of diis program PRINT PRINT " Possible Wind Chill Temperature Calculations:" may not coincide exacdy with the predictions of a weather PRINT forecaster. A forecaster has access io more detailed information PRINT 11 A. Table of wind Chill Temperatures vs. Velocity from the National Weather Service, and may use more complex for Fixed Temperature" equadons to determine the wind chill temperature. In any case, PRINT " 3 . Table of Wind Chili Temperatures vs. Temperature for Fixed Velocity" Wind-ChiH will provide a reasonable estimate of the effective PRINT " C. Wind Chill Temperature for Specific Input outdoor temperature when the radio D.j. casually mentions diat the Temperature and Velocity" wind is gusting up to 50 mph, and the home thermometer reads PRINT " Q. Quit" PRINT END IF INPUT "SELECT INPUT FORMAT (A/B/C/2): ", format? IF (UCASES(format?) = "C") THEN PRINT calculate - enter.data IF (UCASES(formats) = "A") THEN WHILE (calculate) calculate » enter.data need.speed = true : need.temp = true WHILE (calculate) WHILE (need.temp) INPUT "ENTER TEMPERATURE and TEMP SCALE (T,[CjelsiUS/ INPUT "ENTER TEMPERATURE and TEK? SCALE (?,[C]elsius/ [F]ahrenheit): ", temp, t.types [F]ahrer.heit) : ", temp, t .type-5 IF (UCASE$(t.typeS) = "F") THEN IF (UCASES(t.typeS) = "F") THEN terr.p.f = temp temp.f = temp temp.c = F N c e l s i u s (temp) temp.c - F N c e l s i u s (temp) ELSE ELSE temp.c = temp temp.c = temp terr.p.f * FNfahren(temp) temp.f = F N f a h r e n (temp) END IF END IF IF {(temp.c < temp.lo) OR (temp.c > temp.hi)) THEN IF ((temp.c < temp.lo) OR (temp.c > temp.hi)) THEN PRINT "The valid temperature range is -35*C <= T <= PRINT "The valid temperature range is -35*C T <= +15*C" +15*C" PRINT " or -31*F <= T <= 59*F. Try again!" PRINT " or -31*F <= T <= 59*F. Try again!" PRINT PRINT calculate a enter.data need.temp = true ELSE ELSE PRINT need.temp = false PRINT END IF PRINT WEND PRINT " Wind Chill Factor Table for temp.c; WHILE (need.speed) "*C ("; temp.f; "*F )" INPUT "ENTER WIND SPEED and SPEED SCALE (V,[K]m per PRINT hr/(M]i per hr); ", speed, s.typeS PRINT " WIND SPEED WIND CHILL IF (UCASES(s.typeS) = "K"> THEN TEMPERATURE" vel.km = speed PRINT " (km/hr) (mi/hr) (knots) *C vel.m - speed/vl *p« vel.mi = vel.m*v2 FOR vel.m = vel.io TO vel.hi STEP i-38B638369# ELSE chill, c =* FNchill (vel .m, te m p . c) vel.mi = speed PRINT USING "If####*.?##"; vl*vei,m, v2"vel.m, vel.m = speed/v2 v3*vel.m, chill.c, FNfahren(chill.c) vel.km = vel.m*vl NEXT vel.m END IF calculate a done IF {(vel.m < vel.io) OR (vel.m > vel.hi)) THEN END IF PRINT "The valid wind speed range is 9km/hr <= V <» WEND 9Qkm/hr" END IF PRINT " or 5.6mi/hr <= V <= 55.9mi/hr. Try again!" Hi Quality Version Available on AMIGALAND.COMIF (UCASES(format?) - "B") THEN PRINT calculate = enter.cata need.speed = true WHILE (calculate) ELSE INPUT "ENTER WIND SPEED and SPEED SCALE (V, [K}m per hr/ need.speed = false [M]i per hr): ", speed, s.typeS END IF IF (UCASES(s.type?) = "K") THEN WEND vel.km = speed chill.c = FNchill(vel.m,temp.c) vel.m = speed/vl PRINT vel.mi = vel.m*v2 PRINT ELSE PRINT vel.mi = speed PRINT " Wind Chill Factor for temp.c; "*C ( vel.m « speed/v2 temp.f; "*F )" vel.km s vel.m'vl PRINT " and vel.km;"km/hr ("; vel.mi; "mi/hr END IF r IF {(vel.m < vel.io) OR (vel.m > vel.hi)) THEN PRINT PRINT "The valid wind speed range is 9krr./hr o V <= PRINT " KIND CHILL TEMPERATURE ; 90km/hr" PRINT USING "#?##.?#"; chill.c; PRINT " or 5.6mi/hr <= V <= 55,9mi/hr. Try again!" PRINT " *C ("; PRINT PRINT USING FNfahren(chill.e); calculate 65 enter.data PRINT "*F )" ELSE INPUT "Do you wish to enter a new temperature and wind PRINT speed"; testS PRINT IF (UCASES(testS) - "Y") THEN calculate = enter.data PRINT ELSE calculate = done PRINT " Wind Chill Factor Table for vel.km; "km/hr WEND ( "; vel.mi; "mi/hr )" END IF PRINT IF (UCASES(format?) = "Q") THEN PRINT " ACTUAL TEMPERATURE WIND CHILL determine.wind.chill = false TEMPERATURE" ELSE PRINT " *C *F 'C PRINT "Strike any key to continue." FOR temp = temp.lo TO temp.hi STEP 5! WHILE (INKEYS - "") chill.c = FNchill(vel.m,temp) WEND PRINT USING "I#?######.##"; terr.p, FNfahren (temp) , END IF chill.c, FNfahren(chill.c) WEND NEXT temp E x i t ■p t ; calculate = done END END IF WEND •AC* ‘T fiin fcg r

by Robert Klintaszewski

jAdchough Thinker can be described in simplest terms as an outline processor (OP), it is far more sophis­ ticated than that. In fact, the program, which is the first Amiga program based on “hypertext," is much more Figure 1: flexible than any other OP, including some word proc­ Thinker lets essors (WP). The author of Thinker refers to die pro­ you open gram as an Idea Processor, and that is a very apt descrip­ multiple tion. windows on The manual, tutorial “example," and other the same or samples on the program disk display only a hint of the different documents. potential ofThinker. The program is remarkably useful; it can be used to create outlines, textual descriptions, in­ struction manuals, dictionaries, phone directories, proj­ ect schedules, computer programs, etc. In addition, it is ideally suited for creation of on-line presentations since it is possible to incorporate both sound and graphics into the body of the text via “links' to oilier files. Con­ sequently, Thinker can he used to create multi-media presentations and “documents," Hi Quality Version Available on AMIGALAND.COMTwo additional features ofThinker are capabili­ ties that are normally associated with a VP, rather than Figure 2: The Workbench an OP, but serve to enhance the value <>l this unique Calculator program. To supplement its basic outlining capabilities, u>iruiow teas Thinker includes a spelling lexicon ant 1 an indexer. And opened using another highly unusual feature is its ability to execute the bracketed external programs. link in lhe Thinker document. HYPERTEXT Hypertext has received great publicity lately due to a highly successful implementation on the Apple Macintosh, called HyperCard. Consequently, prior to reviewing the actual program, a brief discussion of the hypertext system and its early history seems to be in order. The basic concepts of hypertext are derived from the ideas of Vannevar Bush, President Franklin Roosev­ Figu re J- By elt's science advisor, for an on-line data reference sys­ ttis titwiil illtttote m* if ftt mtt tutors «f setting the tem using microfit lie and photocells. His dreams were (tiff) M ttt tv U * p fet *i fe i* 4 t At «ato mi fta "clipping level” never real ized, but they served as the foundation for tire to 2. several *■ * o ll itH ft&TBttorto research of Douglas Engelbart and Ted Nelson, some sublevels o f the twenty years later. (feriiik) Hr k » Mt tmf*i t» ltoli nftit 4is iimwit ai document are Engelbart developed the system called Augment IV M in in actins M itt, mw, cm) fed rift concealedfrom direct view, which is an on-line work environment used for memos, * (iust) I»s*tjlt kK StjtMMiS. enabling yo u to notes, communication, anti project design. Augment KVlrWfclrtiV mtiniu, £ scan quickly was designed to be a hierarchai system which permits through a ♦ (Mt) Nwi« SUtWWiS nonhierarchal branching. And to make the svstem fast project. and easy to use, Engelbart invented a clever new Hem) Cmin stotomfe. computer input device called the mouse. (Thanks, V w w m»4j to vift ftiskw rift am ersfitot*. E Doug.) Nelson, on the other hand, created Xanadu which is to points witiiin the same project or to some other external an ever-expand ing system for publis h ing, text storage and file or executable program. text retrieval. The term “hypertext” was coined by Nelson A “statement", as defined Ln Thinker, is die equivalent to describe the nonhierarchal text generated by Xanadu. of a level in an oudine. However, a statement, which starts But his program was intended to serve as an electronic link with a label, may consist of numerous sentences, thus being to many other forms of media as well (e.g., artwork and more like a paragraph in a document. Therefore, a consid­ movies). In essence, Xanadu was designed to be a highly erable amount of information can be presented tit each sophisticated database management system (DBMS), but level of the document. Many statements will also include one drat differs significandy from die DBMS's that are sublevels tiiat define the hierarchal ordering of ideas and popular today. provide a greater degree of detail. A statement and all state­ As a DBMS, hypertext connects various pieces of ments that are subordinate to it form a complete branch. data by the use of “links." Consequently, die structure of The statement label (located at die beginning of a hypertext as a DBMS is unique. The organization of data statement and enclosed in parentheses, “( )’’) is a textual is basically hierarchal, like an oudine, rather dian repeti­ string, consisting of alphanumeric and special characters. tious as in a conventional DBMS. Hopefully, the string label will be logically selected to In a normal outline there are primary topics, and provide a general indication of the contents of the particu­ there are subtopics that are subordinate to those primary lar level. These labels are die anchors to which Thinker topics, The connection between the levels is established links as movement occurs through the Thinker project, by the use of alphabetic and numeric labels for each topic. “jumping" from one level to anotiier. Skimming through only the primary topics gives a brief Any word (or group of words enclosed in angle overview of the document subject. For more detail a brackets, “<>’’) in a statement is a potential link to another person would read to lower levels; die most specific statement. If that xvord (or group ofwords) is also die label information would be provided at the lowest level of the to a statement, then the word is a real link. In fact, the link oudine. There are occasions, however, when a single can be text into another file, sound, grapliics, to executable sublevel might reasonably belong to several higher levels; programs (including “Workbench” utilities, such as in such situations, a nonhierarchal connection method, Notepad) in the same or a different drawer, or even on a such as a tree structure, might be more efficient than an separate disk. "oudine structure.’’ Thinker also allows die use of several labels, sepa­ Widi hypertext, die connecdons between levels and rated by commas on one line, to mark a starenient. This in­ sublevels can be quite nonlinear. (Levels and sublevels are creases system flexibility and provides a project author with sometimes refered to as “nodes” in discussions of hy­ some added freedom when creating the links to various pertext.) The advantages of such a system can be consid­ sublevels. Defining the name of die link for a target erable,Hi Quality Version Available on AMIGALAND.COM as one piece of information can be accessed by audience is made much easier. Conse- many different subjects. By use of the hypertext links, a quendy, die users of a particular project user can easily circumvent the obvious external ordering can move about the document more of a document to satisfy his own needs. (This nonlinear easily because variants on a phrase may access to a sublevel is sometiiing that is required often as yield the same link (e.g., graphic, graph­ Clearly, the use of many different kinds of texts or manuals are read. How ics, picture). Thinker as a many times have you read a document that said something The ability to move between differ­ like, “See section X below?”) The capability of hypertext to ent projects via die link system is also very “hypermedia ” use links yields a very efficient data storage structure in useful and powerful. It is a convenient database system is which the links become the fundamental building blocks. means of joining different types of proj­ where this program The situation can be considered as analogous to a program ects together. built up from several orders of subroutines. (A forth The most obvious type of interfile has its greatest program is probably the closest program structure). link is to anotiier text file. Thinker even potential. In this In hypertext, different sections of a document are provides a clever browsing mechanism regard. Thinker is seperated using “labels". The form of a label depends on called “See-Thru’’ which allows one to the particular hypertext implementation, but usually it is a direcdy view the contents of another proj­ fa r superior to a textual string, rather than an alphabetic or numeric char­ ect as part of die current database. conventional acter as in a typical outline. The level can then be accessed Changes can be made to affect one or database manager from anywhere in the hypertext document where the label both files simultaneously. appears embedded in die text, not merely from the imme­ As pointed out in the introduction, program... diately preceeding higher level. With Hypertext, the con­ projects created for on-line use with nection to die stated reference is immediate by linking di- Thinker can make use of various media. rectiy to die label. After the appropriate material has been This feature is also handled via interfile read, a simple “return" brings the reader back to die links; and it is certainly the most powerful original topic, either direcdy or by back-tracking. aspect of the system. Clearly, the use of Thinker as a “hypermedia” database system is where this program has PROGRAM USAGE its greatest potential. In this regard, Thinker is far superior Thinker creates a “project” which consists of numer­ to a conventional database manager program, even though ous “statements" arranged in a hierarchy, with links to its lack of a built-in programming language (such as SQL or move around. As pointed out earlier, those links mav be those used by other relational database managers) makes it less powerful for some applications than menu items are also accessible via text examining the side reference. If it is neces­ a program like Superbase Professional. But gadgets, which are displayed in the upper sary to view another document briefly, this then it wasn't really designed to compete left corner of the screen. However, not all too, can be done using another window with programs like that! of the Command submenu items can be without affecting the main project. Up to Graphics are linked as easily as text. accessed via the gadgets; only the most eight windows can be opened at a time, so The bracketed link provides die picture important ones are provided. A conven­ (in principal) eight different Thinker proj­ location (disk and drawer) and file name. ient, special gadget appears direcdy under ects can be modified simultaneously Clicking on die link then displays the the cursor when die mouse menu button is (GOOD LUCK!). picture in its own window. A click or any double-clicked, no matter where the The program was also designed for keystroke returns die calling window. This mouse is positioned on the screen. This multitasking, but because I have a plain is a feature diat could be very valuable for provides the user widi a good extra that vanilla 512K A1000,1 was only able to open the creation of an interactive, on-line reduces the motion of die mouse all over tools that did not require much memory. To manual or document. Both IFF and HAM the desktop, and reminds me of a similar die limited extent that 1 utilized the feature modes are supported. feature on very expensive engineering there were no problems in this area. Sound files can be executed with the workstations. In addition, Thinker provides a ease of pulling up a picture. The files can The program also makes extensive mechanism to internally link to an execut­ be stored using any of several jlmiga for­ use of Requesters for input of data. Tire able program, instead of through the multi­ mats. This feature could be useful for Requesters are used for verification of sev­ tasking features of Intuition. The same designing a story-board presentation, es­ eral different actions, such as when a method drat allows linkage to an external pecially in conjunction with graphics. branch is to be moved or deleted. The only picture file also gives a user the ability to annoying requester is the Requester dial execute an external application program, such as the Workbench calculator or even a spreadsheet program. Of course, in order to accomplish this feat, diere must be an adequate amount of memory on the Amiga that is running Thinker. Thinker simply Table 1 won't allow another application to open, if Evaluation of Thinker there is not enough memory. The Amiga Clipboard is also fully supported. The Clipboard is used for all Criteria Score " Weight system editing. This can be particularly Docum entation 4.5 80 handy when moving information from one Hi Quality Version Available on AMIGALAND.COMInstallation 5,5 60 Thinker project to another. Simply open C opy Protection 5.0 50 both files in separate windows and use die Ease of Learning 4.5 80 Edit functions described below- to move a Use of Am iga Features 5.5 80 sentence, a statement, or even a complete Ease of Use 5.5 90 branch from one file to the other via die Clipboard. Performance 5.5 100 Versatility 5.5 90 OPENING A PROJECT Error Handling 5.0 80 A document is opened in one of C om pany Support 5.5 80 several ways: (1) by using die Create New menu item to start a brand new project, (2) Overall 5.2 by selecting the Open Project menu item, which brings up a Deluxe Paint-style file requester. (3) bv linking to an existing proj­ ect, or (4) by importing an ASCII document *Notes: min: 0 = Extremely poor, max: 6 = Exceptional prepared by some other application, such as a text editor or spreadsheet. (Linking to an existing project is an unusual way to open a file, but it is consistent widi the normal program operation). New text is * USING THE PROGRAM’ pops up whenever jumping to a new link entered simply by typing at the line cursor. in the file, but it can be turned off option­ USE OF THE INTUITION INTERFACE ally. MOVING THROUGH A PROJECT Thinker was designed as a mouse- One of die nicest features ofThinker Traversing a Thinker project is not oriented program. As such, it utilizes all is the ability to open multiple windows on quite as simple as moving through a word features of the mouse interface effectively. a project being created or examined. Since processing document. That is, of course, All program functions are accessable via it is verc common to jump nonsequentially die consequence of creating a hierarchal mouse selection from the menu; and the through a document when using hypertext, text with nonhierarchal jumping. To sim­ menu tides and items are generally obvious it is quite convenient to open a new win­ plify matters, the author of Thinker lias in purpose. In addition, the Command dow, keeping the primary text visible while provided several mechanisms to move through a file. The first technique is the example, would show only the highest most obvious and old-fashioned: use the levels (the major headings) in the docu­ cursor keys. The page will scroll forward ment; all sublevels would lie hidden from and backward one line at a time as the edge immediate viewing. For a clipping level of is passed, so this method Is the most pre­ two, the next level down is also visible, and cise, but it is also the slowest method for so on. The clipping level can be set either moving through large portions of the file at via the “Clip" item of die Options menu or ALF 2 a time. by use of die and gadgets at the top Amiga Loads Faster The technique of scrolling is familiar of tile window. to anyone who has used even the least ex­ When a level contains hidden sublev­ Increased speed, safety, & pensive Amiga WP. However, Thinker is a els because of the clip setting, a “+" is efficiency on the Amiga. little bit different, because the “up" arrow displayed before die label. Cl icking on the gadget on the right edge of the display is “+” opens up die next sublevel down for Amiga 500. 1000 and 2000 autolx>ot hard disk conlrollui system with soflw.ue, designed for more rapid motion through a that particular topic. The plus gadget is ■ M rM . RLL 01 SCSI coding. Uses any IBM project: one statement back at a time. The then replaced with a minus gadget in front c o m p a tib le h a r d d isk w i t h ST 1306 Bus. “down" arrow gadget moves the text more of the label. Selecting the results in the ■ Needs veiy little RAM (JO K) ■ Faster with FastFileSystem, conventionally: one line forward at a time. opposite action; the lower sublevel(s) are ■ Safer with ChockDrive. FrameBaekup And there is no vertical scroll bar for rapid filtered from view. ■ Easy to install, even MS DOS Partition motion through the file. Another convenient feature for out­ a New: FilcRtinner the A1.F2 based The most flexible means of moving line processing is the ability to set the line complete hard disk system is formatted through a project is by use of the Jump count. This filter allows the user to selec­ and comes with the WB 13 installed. II command. Moving hierarchally from state­ tively display 1, 2, 5 or all of the lines (not also has a capacity up to 180 meg . ment to statement or between levels is sentences) within a statement or level. This & Special now aulohnol with Ihe A 20W 1,1 easy. Predefined moves from the Jump is a great advantage when skimming submenu are used (e.g., Jump Preceding), quickly through a document to determine PRE'SPECT Technics Inc. or a large-scale nonhierarchal jump using its basic contents. However, reading half a P.O Box 670 tire “Jump Link' command, (in a conven­ sentence (or less) can sometimes be a little S ta tio n H M ontreal. Quebec. 1I3G 2M6 tional outline program, it may be quite a bit cryptic! I found that selecting two Phone: <5!4» V54 Fax. «514> b/6 2B69 chore to locate the appropriate sublevel, statement lines is usually the best way to even if a search routine is available to sim­ get a quick overview of a document. Of Circle 165 on Reader Service card. plify the process.) There is only one useful course, different writing style might be option that 1 feel is missing: Jump End. more terse than mine, and one line could (...theHi Quality Version Available on AMIGALAND.COM opposite of Jump Origin). So as a be perfectly adequaLe! with a pencil, whenever I paused to answer simple trick, simply create the Label the phone.) “", and place it at the end of the EDITING A PROJECT No corrections are actually .applied to file. There are two ways to edit a Thinker the project until the item “Apply Modifica­ Unfortunately, the ability to jump so project. The first is conventional: normal tions’’ in the “Project" menu is selected. freely around a project can be a source of editing functions (cut, paste, etc.) are avail­ Fortunately, this is one I unction that can be problems if the user is not careful. It is easy able for modifying or correcting the text selected from the keyboard, using the to get far afield from the original topic by within a statement as required. Text drat is obvious key combination: Amiga-U (Up­ hopping around to follow a drread of to be cut or copied is placed into die date]. There is also a nice reminder that data thought; without caution, it is possible to Clipboard and can dien be pasted into a exists in the computer memory. An asterisk lose track of die initial origin. This problem different part of the statement, or it can be in the program title bar serves as an annun­ is not unique to Thinker; it is die most pasted into any other project statement. In ciator to indicate that data should be saved. serious plague of all hypertext systems. addition, Insert, Delete, Copy, and Move If the project is closed by selecting the Fortunately, Thinker provides a jump table editing functions are provided to manipu­ Close gadget in the upper left corner, to assist the user in returning either step­ late entire levels and sublevels. Statements, everything is lost. On the other hand, if wise or via shortcuts to his point of origin. groups (several statements at the same Close Project menu item is selected, the 1 also found that judicious use of new win­ level), and branches can be created, shifted program politely wants that modifications dows for the temporary Jump made return­ around, duplicated, and deleted with con­ have been made but not saved. And then a ing to the origin very simple — just close siderable ease. When trying to organize choice is given to save the modifications. the new window when done. thoughts, this feature is invaluable. For The spelling checker is a useful aid to When used for die creation of out­ example, while writing this review, I de- editing. A small dictionary (33,000 words) lines, Thinker lias two specialized features cidedupon a major revision of die ordering is provided with Thinker. It can be enlarged dial are relered to as “filters" in general hy­ for several subtopics. It was decidely to include a specialized vocabulary. Or if pertext jargon. These filters control what is simple to move the complete branches to preferable, the supplied dictionary can be visible on die screen at any given time. The their new locations — this included a replaced entirely, two filters are for the clipping level and for change in level. The program handled die die line count. changes easily. (The only thing that I lost PROJECT UPDA TES The clipping level is used to control while writing this review was my sanity, One of the great problems in updat­ the number of sublevels that are visible at because my baby daughter repeatedly tried ing a program or a document is maintaining any given time. A clipping level of one, for to remove a microfloppy from the diskdrive records of the changes or the dates when those changes were made. This very critical viewing, features such as the clipping level not a required feature, but it would cer­ problem, known as "configuration man­ or read cache setting are automatically re­ tainly be a desirable convenience. agement,” can be quire difficult when sev­ instated in place of the program defaults. In the same vein, the “TAB” key eral versions of the same program have And since that data is saved as part of die doesn't work. If for any reason a tab or been distributed. Thinker provides a very icon, it can also be altered in the Info indention was needed, then the spacebar neat solution to this problem for projects screen, if desired, at some other time. must be used to accomplish die task. In an developed using the program. Ail changes The indexing feature is also a very' outline processor this is not a serious to the project are time-stamped, and if useful capability. A list of all die labels used problem, but I happen to use the TAB key desired, the time-stamp for each statement in die document can be generated quite often, even when creating an outiine. can be viewed by selecting the proper item simply. This is handy for creating an index I also found die lack of control over from the Options menu. to browse through the document or for the typeface to be annoying. Even in an creating a glossary--. outline there are reasons to use Boldface, ERROR MONITORING Italic and Underlined typefaces. Thinker has a clever alternative to the THE MANUAL [Note: the program does not support usual Amiga requester concerning an error The Thinker manual is a brief docu­ die use of multiple Amiga fonts. However, condition in the program. Instead of using ment. It is small (5-1/2" x 8-1/2", 58 pages, I don’t consider that to be a disadvantage, a requester which must be acknowledged comb-bound), but adequately describes if you need to get that fancy, then you by tire user, a window to tire right ofthe text the operation of the system and the pro­ should be using soniediing designed for gadgets displays an error message. The gram functions, Every menu item is de­ creating a flashy output; dearly not what window provided adequate information scribed individually'. However, it would Thinker was created for. You can, of for nearly all tire problems encountered have been helpful to have either a table of course, use this program to write the while using the program (and there weren't the Amiga key shortcuts (for die functions "rough" draft, and then “Export" the docu­ very many, at that) to prepare tlris review. diat have one), or an indication of the key­ ment to an ASCII text file, which in turn Normally the window is blank, but when board shortcuts widi die individual func­ could be modified using some WP or print an error condition occurs, such as a link tions. formatter.] tlrat cannot be completed, tire window And the Table of Contents does not changes to a different combination of col­ provide sufficient information to locate a FUNCTION CONTROL ors while displaying the message. My only specific function. An index should have A new user of the program might be objection to the scheme was tlrat some of been included in the manual to provide surprised by how few of die menu items are tire messages were displayed only briefly, such data. Fortunately, because the manual selectable from die keyboard. While there and then vanished before they could be ac­ is so brief, it is not very difficult to locate the are a few places that I would prefer to have knowledged by a keystroke or mouse click. information within a few minutes of search­ complete keyboard control, using either Hi Quality Version Available on AMIGALAND.COMing, although it is annoying. function keys or an key combina­ EXTRA FEAJURES tion, most of the functions require follow There are some extra features of up with a mouse action of some kind, so Thinker that exemplify the author's con­ GENERAL COMMENTS little would be gained by use of a keyboard cern for the user While I discovered several problems shortcut. interface. One of in die program which will be discussed 1 have one small complaint about die The po wer of the screen gadg­ below, only one of them is related to a de­ use of the Delete gadget. The "Confirm” ets, for example, ficiency in the performance ofthe program. requester would be much better if the Thinker, as well as is a system clock. The odier comments concern minor “de­ branch or group to be deleted was high­ its versatility, make Having the time fects" that affect the ease of use of the pro­ lighted by reverse type. it a very valuable always visible is a gram, and reflect a personal bias which There is one final problem that was nice conven­ may not be shared by other users. None of encountered in the function control area. and useful ience. In addition, those odier problems had any significant When I first tried the spell checker, it program...And one menu, called bearing on my final rating of Thinker. worked much like expected for such a never once did the Memory, shows small lexicon; the consequences of using Gu ru intrude the available RAM DISPLAY CONTROL die spell checker, however, were not at all left at any instant. As I began to experiment widi what I expected from a program that had upon my serenity Since Thinker can Thinker, I discovered diat typing beyond otherwise proven itself to be a truly supe­ with his anti- utilize a consider­ the end of a screen didn't cause a scroll rior product. It became the Case of the Van­ kharmic, crimson able amount of forward, even tiiough 1 was still typing the ishing Menus! memory for a same “statement'’. Anything that had been After using die checker, the Free meditation large project, it is typed beyond die end of the screen was menu item was selected to release die extra messages. a great advantage banished to the Twilight Zone. It was memory chat was used by the function. to know how necessary to implement a “Jump” down to Subsequently, I discovered a couple of much RAM is still complete the statement. problems, it became impossible to open available for updates or edits to a file. .And Another disadvantage was the inabil­ any' new windows even though that option last, the Update Icon menu item allows ity to move the cursor to the right or left by was still provided in the "Jump" requester. selection of die Options saved as part ofthe a full word at a time. Many WPs use the shift And second, several of die menu and project icon. Consequently, when the proj­ key' in conjunction with the right and left submenu lists vanished. The latter problem ect is loaded again, whether for editing or arrows to accomplish this. It is obviously seemed especially weird since it was still possible to select the invisible menu items! quently, or there won't be a means of When I contacted the program author to correcting minor mistakes. (It can be a hard Create your own consult with him on the problem, he was habit to develop. I’ve been typing for the fractal worlds with quite surprised but decided that the prob­ last ninety minutes widiout saving any lem was caused by the limited memory of changes, so I guess this a good time for me my 512K system. Consequently, the only to take my own advice. Fortunately, 1 never S c e n e real problem dial I found in the program make any big mistakes... Oops!! Was that a reflects a serious limitation in use of the power glitch?) spell checker. Use ofthe spell checker on Generator an Amiga with only 512K memory will PRINTING A THINKER DOCUMENT result in peculiar behavior by the system. The discussion ol the Print menu * Fractal landscape program item in die manual points out that it is * Fast, fun, easy to use DATA ENTRY possible to print out the entire project or * Full Intuition interface I have a habit of trying out any new only a branch. However, there is little infor­ • Preview a scene in seconds program on my Amiga before I read the mation concerning print lormatting meth­ • Photographically real results instructions. I consider that to be a partial ods. Thinker uses the printer port directly, • Optionally generate clouds test of die success I’ul implementation of a rather than the Preference printer drivers • Complete color control good user interface. Widi Thinker, this because die program author felt that most * Great backgrounds for turned out to be a serious mistake on my people would use a project created with painting or animation pan. Thinker as die input to a conventional WP After I followed the directions in the or as an interactive, on-line document. tutorial example for awhile, I decided to Although all keyboard keys can be directly Natural Graphics experiment on my own. The first tiling I entered into die text (including the P.O. Box 1963 tried was a simple entry of a new level into and key codes, as well as all the Rocklin, Ca. 95677 the existing file. It didn’t take long to -character sequences used for spe­ discover that the program performed un­ cial and foreign characters), the Amiga (916) 624-1436 buffered writes to the disk after each LINE PRT: port filters out many, if not all, of the or CHARACTER! I had finished a ten-line escape sequences sent to it. This may S39.95 ppd US, CA add tax “Statement” before the program had fin­ negate attemprs by the user to obtain Demonstration disk $6 ished typing the first line! It was at thar point printer control. My printer, for example, that I decided to put away the program, won't receive most of the printer control Circle 160 on Reader Service card. until i had a chance to read the entire commands sent to it directly through the manual.Hi Quality Version Available on AMIGALAND.COMPRT: port. I can't even control page breaks! After reading die manual, 1 learned its versatility, make it a very valuable and that the reason the problem occurs is be­ FILE BACKED useful program. This is one program that I cause Thinker is a disk-oriented program. For a program as sophisticated as this will use often. For $80.00, it is a real steal! This implies that all data is kept on disk one is, it seems strange that there is no And remarkably, the Guru NEVER intmded until needed. Since Thinker was designed provision for automatic generation of a upon my serenity with his anti-kharmic, to work on huge data files, keeping the data backup file. The documentation advises crimson meditation messages. 011 disk is necessary to conserve computer the user of Thinker to make a copy of his A numerical summary of my evalu­ memory. Only a small pordon of die project project prior to modifying it with Thinker, ation of this program is given in Table 1. is brought into the computer’s memory' at a Other application programs handle this •AC- time. feature automatically, and the audior indi­ in the “Options" menu there is an cates dial this feature may be included in a item called "Read Cache On.” This must he future version in the Options menu, so the selected to avoid die serious typing lag. The user could decide if a backup should be Thinker, version 103 computer’s memory is used to buffer all automatically generated or not. Giving the Poor Person Software keystrokes instead of writing each one di­ choice to the user might be the best ap­ 3721 Starr King Circle rectly to disk; disk accesses are thus re­ proach, since some Thinker applications Paio Alto, CA 94306 quired only infrequently. (The manual might be extremely large, and routine 415-493-7234 recommends die use of a disk accelerator backup generation might result in a filled program such as FACC-1I, if possible, but disk. Price: S80.00 die Read Cache option is available to diose (Demo Disk: $5.00) who don't own such a program). CONCLUSION Requirements There is an unusual way to undo errors Thinker is a solid program. It's flexi­ System: any Amiga (A500, A 1000, in Thinker, but it is one which must be bility far exceeds any other program diat A2000, A2500) exercised widi care. The “Discard Modifi­ I’ve used on any computer. It has been Memory: 512K (more preferred) cations” menu item is the only method for designed to accommodate many of the OpSys: Workbench 1,2 or higher undoing a serious blunder. Unfortunately, possible needs of a user. .After using the Copy Protection: None it discards ALL modifications made since program for many hours, I have few com­ the last "Apply Modifications,” So get in the plaints about the implementation of any habit of saving the project changes fre­ function. The power of Thinker, as well as Did You See This Issue?

Decem ber 1989 Features: "Dear TIME" An open letter to TIME Magazine by Don Hicks ARexx Part II by Steve Girimor Index of Advertisers "Now that l’ve ARexx, what do I do with it?" ; The MIDI Must Go Thru by Bit Seraphim Winslow Expanding the Amiga into a full-blown MIDI saidio. Need more information? Amiga Circuits Hardware Project by John Iovine Input informnation via the parallel port. View From The Inside: by Melissa Jordan Grey Please use the Reader Service Card to contact those A tour of Bars & Pipes’ by its musical designer. advertisers who have sparked your interest. Advertisers The Great Amiga Holiday Games Tip by B. “Santa" Solomon want to hear from you. This is the best way they have of Santa gives us two hot tips for the Holiday Season. Commercial Rollout by Jean & Ben Means determining the Amiga community's inrerests and needs. “The Computer for the Creative Mind” advertising blitz. Take a moment and contact the companies with products Behind The Scenes by Geoffrey Williams you want to know more about. .And. if you wish to A look behind Ccmmodores’s new S15-miliion campaign. contact an Advertiser directly, please tell them you saw AmiEXPO Santa Clara by Rosie O’Grady their advertisement in Amazing Computing For The Reviews: Commodore Amiga | Support Your Local Library- reviewed by Marion Deland WordPerfect’s desktop utility, WordPerfect Library. Delphi Noetic’s F-BASIC 2.0 by Robert J. Tiess Advertiser Page Reader Service "F-BASIC is a complete language and development system." Number . Gunship reviewed by Derek Perry MicroProse’s aircraft combat. ACDA Corporation 89 104 Paperboy reviewed by R. J, Hicks Being a paperboy is easy? A rchipelagos reviewed by Miguel Muiet Anivision 70 150 Can you save the world?? ACDA Corporation 62 104 Blood Money reviewed by joe DiCara AmiEXPO 9 115 A challenging action game from Psygnosis, Ltd. Anivision 61 150 Central Coast Software 5 145 Programming:Hi Quality Version Available on AMIGALAND.COMComputability 30 117 Leggo My LOGO by Mike Morrison Fairbrother & SoeparMann 37 179 Logo's turtle teaches kids computer programming. joe's First Company, Inc. 11 178 A CLI Beginner’s Questions Answered by Mike Morrison KarmaSoft 79 124 Those first questions new .Amiga owners ask about CLI. Michigan Software 37 116 The Command Line by Rich Falconburg Exploring commands in AmigaDOS. Micro Momentum, Inc. 77 188 Trees and Recursion by Forest W. Arnold Micro Momentum, Inc. 73 125 What are trees and recursion. MicroMiga 20 182 C Notes by Stephen Kemp MiGraph 13 138 Two compressing data techniques. MJ Systems 36 149 Public Domain: Natural Graphics 95 160 No Fishing! by Graham Kinsey NewTek CIV- 140 Great PD programs including slideshow program, ShoWiz. One Byte Computers 71 135 PD Serendipity- by Mike Morrison Poor Person Software 85 127 A review of Escaoe From Jovi 111 and Mach 2 utility’. Practical Solutions,Inc. 28 137 Columns: Pre’spect Technics, Inc. 93 165 i New Products and Other Neat Stuff! by Elizabeth G. Fedorzyn Radical Eye Software 75 152 T.A.C.L., Celebrity Cookbook, Swords of Twilight, more Safe Harbor Software & Peripherals 29 134 Video Schmideo by Barry Solomon Software Plus 85 143 The 1989 Video & Graphics round-up. StraightLine Software, Inc. 38 166 Snapshot by Brad Andrews ] Bug Bytes by John Steiner Bug fixes in WordPerfect’s update. Supra Corporation " 168 Also some problems with DeluxePaint III, The Bit Bucket Computer Store 60 139 Roomers by The Bandito A sneak peek at Apple's LCM, and The Grapevine Group 105 147 the Amiga 3000 may be closer than you think. The Krueger Company 14 118 Plus much more! The Memory Location 68 107 AC provides more Amiga information to its readers The Memory Location 37 186 than any other resource. Your best Amiga value! The Sterling Connection 85 15“ Virtual Reality Laboratories. Inc, 69 121 Subscribe Today! Xetec 31 123 BECOME WORLD FAMOUS! BE SEEN IN ALL THE BEST PLACES!

Hi Quality Version Available on AMIGALAND.COM Write For AC Share your expertise with others and get paid for it! Artists, Programmers, Hardware Hackers, Animators People all over the world are waiting to read your tips, tricks and techniques. Contact our Editorial Department today for details! PiM Publications Editorial Department P.O. Box 869 Fall River, MA 02722-0869 (508) 678-4200 Amiga Circuits Hardware Access To Your Amiga

by John lovitie

In die last few installments we no coils or windings (as in incandescent base of an PNP transistor is at 0 volts learned to control die output and read the lights, coffee makers, toasters, heaters). (ground), current will flow tlirough it. input of die Amiga parallel port. One The distinction between loads is When we apply a binary “1” to die base limitation has been the minute amounts of important because, when electric power is (+5V), no current will flow. (The electrical current available to us from the port, just cut off to an inductive device, an electric polarity for the NPN (negative, barely enough current to drive some of the pulse ( called a transient) is generated. This positive.negative) transistor is opposite!) In miniature LED’s. This month we will use electric pulse should be absorbed by a our demo circuits this means that those signal voltages at the port to control simple capacitor-diode combination in the outputting a binary “0” turns the circuit on larger amounts of electrical power. circuit. Failure to do so may damage our while a binary ‘‘1" shuts it off. circuit or computer. Fortunately, adding a REAL WORLD ENVIRONMENT capacitor-diode combination is very easy PNP VS. NPN TRANSISTORS The real world environment is where to do. W e are using PNP transistors in all the we live. Most computers do not impact in demo circuits. You may think that a NPN the real world. By impact, I mean they don't DC LOADS transistor W'-ould be a better choice since control anything beyond their own Look at Figure One. This is a basic DC the transistor would turn on when you circuitry. The simple interfaces we will control circuit that uses a bi-polar transistor output a binary “1" on its PB line. The construct in this article will allow die as a switch. This circuit is very useful. It can reason I didn’t do this is that the current off computer to control various electrical be used almost anywhere in a circuit that a any of die PB lines on die parallel port devicesHi Quality Version Available on AMIGALAND.COM in the real world. switch can be used. As an example, using sources is a minute amount of current, just By using the +5 volt TTL (Transistor- four of these transistor switches connected barely enough to turn a NPN transistor on. Transistor Logic) from any PB line on the to four consecutive PB lines would allow And we w'antthe transistor to turnon or off parallel port, die computer will be able to you to control a stepper motor. Stepper completely. This makes the PNP transistor control power flow (turning electrical motors are useful in robotics, positioning a better choice. power on or off ) to various circuits or devices, printers, and disk drives. In addition, we have another appliances. The circuits described can Our drawing shows an PNP (positive, advantage in using PNP transistors. When control either standard 115V AC negative, positive) transistor. The base of you power up your Amiga , even diough (alternating current) electricity from your h e uansistor is connected to the PB line. the parallel port is configured as an input home or DC (direct current) electricity. The base is also the “N” in PNP. When tlie on powder up, the PB lines are drawn up to Naturally, by controlling the electric +5 volts bv pull up resistors, this effectively current to a device, you are controlling the keeps any circuit you have connected in an device. off condition. This allows you time to load in AmigaBASIC and reconfigure the port. INDUCTIVE AND RESISTIVE LOADS Any device we are powering or AC OR DC LOADS controlling is called a load. Whatever the Examine Figure Two. This circuit can electrical device is it will fall into one of two control AC or DC loads up to 120 volts at 2 main electrical categories, inductive or amps. In this particular circuit we are not resistive loads. concerned as to whether die main load is It is pretty easy to distinguish an resistive or inductive, it could be either. But inductive load from a resistive load. An notice the diode and capacitor connected inductive derice has coils or electrical wire across die relay. This is because the relay windings in it as do motors, transformers, itself is an inductive load. The diode and relays and solenoids. A resistive device has capacitor are necessary to prevent damage to the transistor or computer. You can, if you wish, substitute an LED in place of the Please Note: diode (make sure the polarity of LED is This project may void your wairanty and is offered for the enjoyment of the technically inclined. PiM correct) and watch die I.ED flash every time Publications, Inc. is not responsible for any the computer shuts off the circuit. This flash damages incurred while attempting this hardware represents the voltage pulse being project. : ______■ ■ : ; Parts List Description Radio-Shack Part No. 180 Ohm resistor 271-014 1.2 K resistor 271-024 2.2 K resistor 2" 1-027 Triac 6 Amp 200V 271-1001 ,1 uF Capacitor 272-135 .22 uF Capacitor 272-1070 Opto-Coupler MOC3010 276-134 NPN Transistors 276-1617 Subminialure LED 276-026B Relay 275-243

power available from your household electrical oudet is more than enough to absorbed. The reason you can replace die modules that can rum appliances on, olT, or reduce your computer to a cinder or give to dim lights etc. Radier dian diese simple diode widi an LED is diaL an LED is a diode. yourself a nasty (possibly fatal) shock, (LED is an acronym for Light Enduing circuits that require their own wiring from I advise constructing the inductive Diode.) the wall socket to the computer interface to load (fig. 4) circuit for any and all the appliance itself. I have scheduled an X- applications, as this circuit can be used widi AC LOADS 10 home control system interface project in either types of loads. This will alleviate any a few months, so if Uiis is your application, The circuits shown in Figures Tliree potential problems in the future. 1 am, and Four are exclusively for AC loads: hold off until then. however, including the schematics for die resistive and inductive respectively. The s l x resistive loads for comparison or as CIRCUIT CONSTRUCTION pin MOC 3010 chip is an opto-coupled dedicated resisdve load controllers. triac available from Radio-Shack. This We can build our transistor switch on You must not use die proto-typing device senses when the PR line connected A OR THE proto-typing bread board. This board widi die line voltage circuits because to it is outputting a binary “1" (+5V) widi an is a relatively simple matter, however, the the board is not designed to handle the amount of power available from pin 14 internal LED. The internal LED triggers a voltages and current. The components photosensitive internal triac that in turn (+5V) on die parallel port is a mere 10 ma should be soldered to a PC board for safety. triggers the external triac, that powers our (milliamps). This forces us to supplement load.Hi Quality Version Available on AMIGALAND.COMany circuit we interface to die port with its TROUBLESHOOTING own power supply. For the demo circuit With the MOC 3010 chip, the internal APPLIANCE CONTROL we are working widi we can supplement diode that connects to the PNP transistor Although the circuits presented here die power using a 6v or 9V battery. You can line is quite sensitive. The diode will burn are capable of controlling household connect any device (load) you’d like in the out if you inadvertendy reverse the appliances, this is NOT the way to control circuit, an LED or a small DC motor. If you polarity, even if it is just momentarily. appliances in the home. There is a much use a motor remember to add the diode and Therefore, I added an additional diode to more elegant way, using X-10 home power capacitor. You should be able to control prevent that from happening. If you use an control modules. These modules are die devices using the basic commands we LED in place of the diode in this circuit it available from a number of retail oudets worked with in the last two installments. will act as a on indicator. across die country. The X-lO powrer system Widi the line voltage AC circuits you ■AC* uses your home electrical wiring system to must be much more careful. If you build transmit control codes to appliance these circuits please remember that die (Scanning, continued from page 85) the line. That’s the Amiga alerting the user to the need for storing diese numbers in double precision variables. Great machine, that Vertical.Pixels = 4C0 Amiga! So what about TRUE BASIC? Well, it's numerical accuracy is The program has been written to automatically take care of all other already 14 digits, only two digits less than Amiga BASIC'S double details. However, be warned! The program will take twice as long precision. It doesn’t need to use double precision arithmetic to to complete the fractal! generate this month’s example. Enter the short program:

prin t using "f. = ="=== = f = i" = " : 22/7 THIS MONTH’S EXAMPLE ■. r.; Looking through this month’s listing and identifying the sections which scale and scan die screen, a line which has not The result: 3.1/28571428571 appeared in previous examples should become noticeable: DEFDBL xmin, xir.ax, ymin, ymax, dx, ay, v, :■:!<, i, j, Note that the TRUE BASIC print statement displays numbers to 7 digit accuracy unless specifically asked to display more, as done above. However, numbers are always stored and calculations are The need for diis is simple. Remembering back to the second always performed to an accuracy of 14 digits. article, it was suggested to see if there was any limit to how much The time advantages achieved by other compiled BASIC's is the Mandelbrot set could be magnified (by scaling xnrin, xmax, achieved mostly by cutting back on die accuracy oi the calculations yrnin, and ymax for smaller and smaller ranges). You will discover performed. This accuracy becomes more important when greater diat beyond a certain point the program does not operate anymore. magnification of the Mandelbrot set is wanted. It just seems to hang up, not generating anything. That limit is The next obvious question is what about TRUE BASIC's related to the mathematical accuracy of die computer. Try the double precision arithmetic? Sorry, for now it is limited to i 4 digits. following interactive example. Fire up AmigaBASIC, and enter into TRUE BASIC handles the double precision question by providing the OUTPUT window: a Mathematician’s Toolkit for each machine. Unfortunately, the Math Toolkit for the Amiga has not been released yet. It has been p: ir.t 22/7 released for the IBM, MAC, and ATARI-ST. and provides those users with the ability to perform extremely high precision calculations, to Answer: 100,000 digits! It also capable of handling complex number calculations. And the Mandelbrot set is actually based on the 3. 14.'857 repetitive squaring of complex numbers, but that is another lesson. The number was stored in die computer to an accuracy of This month's example represents a fractal that i designed sevenHi Quality Version Available on AMIGALAND.COM digits. The information beyond that was lost. Normally this myself. I scaled the screen using coordinates that were close (but does not present a problem be cause those lost digits are a very small not exactly equal) to some ofthe examples in the book "The Beauty fraction of the final answer. They contribute little to the normal of Fractals by PeitgenS Richter, Springer-'Verlag 1986''. 1 then made types of calculations that most people expect computers to do. But my own color decisions, thus producing my own artistic effects. sometimes more accuracy is really required. More about this in a future article, I have written this month's example using the same method of saving the picture that was developed in my last article in this Enter the following: series. Referring to that article, MERGE the ‘SavelLBM’ program from the Extras disk to the end of this month's listing. If GRABBIT print 22*/7# is being used, or if a better method of saving fractals to disk is available, simply delete the related lines as directed by comments Answer: in the listing. The 'Calculate’ and ‘Select.Color’ subroutines are the only 3.142857142857143 parts of the fractal generating program that have not yet been discussed. Next months lesson will begin explaining why these Sixteen digit accuracy. That's called double precision arithmetic. routines produce such complex pictures. The Amiga offers it for those rare occasions when extra accuracy is needed. In diis month’s example the screen has been scaled using numbers which are beyond die normal seven digit accuracy of die Listing One, AmigaBASIC Version------Amiga, and as a result double precision arithmetic is required. That is done in AmigaBASIC by either using the ‘5=’ symbol as the last character in the variable name, or by using the DEFDBl. command (define double). It’s much easier to use the DEFDBL command than REM 11 Sixteen Color Fractal REM * it is to add a to every occurrence of every variable in the program. REM * by Paul Castor.guay If, at a later time, the screen needed to be scaled for less REM * magnification, conversion back to single precision arithmetic can be done by modifying only one line in the program. Double DEFDBL xmin, xmax, ynir., vre.ax, dx, civ, x, v, v «c, ; - *- precision arithmetic is used only when it is needed because it slows the computer down a bit. DEF FKXISC) = I N T (< (st-xmin) +d a /2)/dxI As the numerical values forxmin, xmax, ymin, and ymax are DEF FNy(y) = (Vertical.Pixels - 5) - IN?(((y-yminI dy/2], dy) entered die Amiga automatically adds a character to the end of xmin = -.74543T01* RETURN xmax = — .7C542009# ymin = .li;00268# Select.Color: ynax = .::301492# IF k = Crunch THEN COLOR 0 Vertical.Pixels = 200 ELSEIF k>=600 THEN C OLOR 15 dx = (xmax-xmin)/631 ELSEIF k>=500 THEM COLOR 14 IF Vertical.Pixels « 203 THEN ELSEIF k>=400 THEN dy = (ynax-ymi.i) /195 COLOR 13 SCREEN 1, 640, 200, 4, 2 ELSEIF k>=300 THEN W INDOW 2, , (0, 0)- (631, 186 ) , 0, 1 COLOR 12 Crunch = 800 ELSEIF k=i 69 OR k=l67 OR k=165 THEN ELSEIF Vertical.Pixels = 400 THEN COLOR 11 dy » (ymax-ymin)/395 ELSEIF k=loS OR k«166 OR k=l64 OR k=162 OR k=160 THEN S CREEN 1, 640, 400, 4, 4 COLOR 10 WINDOW 2, , (0,0)- (631,336) , 0, 1 ELSEIF k=I £3 OR k=161 OR k=I59 OR k=157 THEN Crunch = 1600 COLOR 9 ELSE ELSEIF k=158 OR k=156 CR k=154 OR k-152 OR k = 150 THEN PRINT "Set Vertical.Pixels to 200 or 400" COLOR 8 g o t o Done ELSEIF k=I55 OR k=153 OR k=151 OR k=149 OR k=147 THEN END IF COLOR 7 ELSEIF k=148 OR k=14o OR k=144 OR k=142 OR k=140 THEN GOSU5 Choose.Color.Numbers COLOR 6 GOSUB Lise.New.Colors ELSEIF k=145 OR k=143 OR k=141 OR k=139 OR k=137 THEN C OLOR 5 M ■ 4 ELSEIF k=138 OR k=13€ OR k=134 CR k=132 CR k*130 THEN CLS COLOR 4 ELSEIF k=!35 OR k=133 OR k=131 OR k=129 THEN 1 **■****.********* ********** ************** *******„*„ ******* COLOR 3 ELSEIF k=128 OR k=126 OR k=124 OR k=l22 OR k=12Q THEN Delete next two lines if you're using GRABBIT COLOR 2 ELSEIF k=127 OR k=125 OR k=123 OR k=121 THEN COLOR 1 LOCATE 23, 20 ELSE INPUT "Enter name to save fractal ILBMnameS COLOR 0 END IF LOCATE 10, 23 RETURN PRINT "... Fractal is being generated ..." Hi Quality Version Available on AMIGALAND.COMChoose . Color .Nuribers: FOR j-ymin TO ymax+dy/2 STEP dy LOCATE 10,20 FOR i = xmin TO xmax+dx/2 STEP dx PRINT ”... Please wait while I adjust colors . G0SU3 Calculate Reg.0.Red = 2 GOSUB Select,Color Reg*0*Green = 0 PSET (FNx(i),FNy(j)) Reg.0.Blue = 2 IF INKEYS = C H R S (138) THE N GOTO Done R e g *1.Red - II NEXT i Re g . 1,Green = 13 NEXT j Re g . 1.Blue = 15 Reg.2.Red = 0 REM Wait for operator to press function key >F-10] Reg.2.Green — 0 WHILE INKEYS <> C H R S (138) Reg.2.Blue = 0 WEND Re g . 3.Red — 9 R e g . 3.Green = 12 Done: R e g . 3.Blue = 14 Reg.4.Red = 1 Reg.4.Green = 1 Delete next line if you're using GRABBIT Reg.4.Blue = 1 Reg.5.Red = 3 Reg.5.Green = 11 GOSUB Save.Tc.Disk R e g . 5.Blue = 13 Reg.6.Red = 2 WINDOW CLOSE 2 R e g .6.Green = 2 SCREEN CLOSE 1 Reg.6.Blue = 2 Reg.7.Red = 7 END Reg.7.Green - 10 R e g . 7.Blue - 13 Reg.8.Red = 3 Calculate: Reg.6.Green = 3 x = 0 Reg.8.Blue = 3 y = 0 R e g . 9.Red = 6 k = 0 Reg.9.Green = 9 r = 0 R e g .9 .3lue = 12 WHILE r<=M AND k: - y*y + i R e g . 10.Green = 4 y = 2 5,x*y + j Reg.10.Blue = 4 x = xk Reg.11.Red = 6 k = k+1 R e g . 11.Green = 8 r = x*x + y * y Reg.II.Blue =11 WEND R e g . 12.Red = 0 Reg.12.Green = 6 R e g , 12.Slue = 10 let xmin = -.74543701 R e g . 13.Red = 12 let xmax - -.74542009 Reg. 13. Greer. = 4 let ymin = .11300266 Reg.13.Blue = 0 let ymax = .11301492 Reg.14.Red -14 let dx = (xmax-xmin)/639 Reg.14.Green = 9 R eg . 14.Blue “ 0 if Vertical Pixels = 2C3 then Reg.15.Red - 12 set mode "HIGH16" R eg . 15.Greer. = 12 let dy - (ymax-yrr.in)/199 Reg.15.Blue = 0 let Crunch = 800 RETURN else if Vertical_Pixels = 400 then Use.New.Colors: set mode "LACEHIGHI6" PALETTE 0, Keg.0.Red/16, Reg.0.Green/16, Reg - 0.Blue/16 let dy = (ymax-ymin)/399 PALETTS 1, Keg.1,Red/16. Reg.1.Green/16, Reg.1.Blue/16 let Crunch * 1600 PALETTE 2, Reg.2.R«d/16, Reg.2.Green/16, Reg.2,31ue/lS else orint "Set Vertical Pixels to 200 or 400" PALETTE 3, Reg.3.Red/16, Reg.3.Green/16, Reg.3.31ue/16 PALETTE 4, Reg.‘1.Red/16, Reg.4.Green/1 6, Reg.4 .Blue/16 stop PALETTE 5, Reg.5.Red/16, Reg.5.Green/16, Reg.5,Blue/16 end if PALETTS 6, Reg.6.Red/16, Reg.6,Green/16, Reg.6.BIue/16 end if PALETTE 3, Reg.7.Red/16, Reg.7.Green/16, Reg.7.Eiue/16 PALETTE 8, Reg.8,Rea/16, Reg.8.Green/16, Reg.8.Blue/16 call Choose_Color_Numbers PALETTE S, Reg. 9,Reid/16, R e g .9 .Greer./16, Reg. 9.Blue/16 call Use Mew Colors PALETTE 10, Reg.10.Red/16, Reg.10.Green/16, Reg.10.Blue/16 PALETTE 11, Reg.11.Red/16, Reg.11.Green/16, Reg.11.3lue/16 set window xmin, xmax, ymin, ymax PALETTS 12, Reg.12.Rea/16, Reg.12.Green/16, Reg.12.Blue/16 PALETTE 13, Reg.13.Red/la, Reg.13.Green/16, Reg.13.Blue/16 let M = 4 PALETTE 14, Reg.14,Red/16, Reg.14.Green/16, Reg.14.Blue/16 PALETTE 15, Reg.15.Red/16, Reg.15.Green/16, Reg.15.Blue/16 set cursor 1 0 ,23 print "... Fractal is being generated ..." RETURN

for j=ymin to ymax-rdy/2 step dy REM delete from here to end if you are using GRA3BII for i=xmin to xmax+dx/2 step dx REM* ******** ************ ************************************* call Calculate call Select_Color Save.To.Disk: pict points: i,j call Test_F10 ccrtDir% = 0 next i ccrr3tart% = 0 next j Hi Quality Version Available on AMIGALAND.COMccrrEr.d* = 0 ccrtSecsi = 0 ccrtMicss = 0 I Wait for operator to press function key [F-10] call Wait_Response D I M bPlar.eS (5), cTabSave% (32) sub Calculate DECLARE FUNCTION KOper.i LIBRARY let x=0 DECLARE FUNCTION xReadfi LIBRARY let y=Q DECLARE FUNCTION xWritei LIBRARY let k=0 DECLARE FUNCTION AllocMernSO LIBRARY let xk=Q let r=0 LIBRARY "dos.library" do while (r

" Listing iw o, irue lsaoio VGrsion sub Select_Color if k - Crunch then set color 0 REM* *********************************************************** else REM select case k REM Add Extras:Demos/SavelLBM to end of listing case is > 6CG REM set color 15 REM using MERGE command from AmigaBASIC case 500 to 599 REM set color 14 REM OUTPUT window (see text, Article #3) case 400 to 499 REM set color 13 PEM* X**X**X**TX*»Xw***'***x#xir**Xilr*x****x********x**X*xX****XXX case 300 to 393 IXxXxxxxXxXxxxxxxrxxXxxxxXxxxwxxxxxwxxxixxxxxxXxXXXXXXxXxxxxxx* set color 12 ! Sixteen Color Fractal case 169, 167, 165 1 set color 11 I by Paul Castonguay case 168, 166, 164, 162, 160 set color 10 case 163, 161, 159, 157 set color 9 let Vertical_?ixels = 200 case 158, 156, 154, 152, 150 sec color 8 Rea_3_Blue/16 case 155, 153, 151, 149, 147 set color mix (4) Reg_4_3ed/16, Reg_4_Greer./15, sec color 7 Reg_4_31ue/16 case 143 , 14 6, 144, 142, 140 set color mix <5) Reg_5_Red/16, Reg_5_Green/16, Rec_5_Blue/ sec color 6 1 6 case 145 , 143, 141, 139, 137 set color mix (6) Reg_6_Red/16, Reg_c_Green/l6, Reg_6_Biue/ sec Color 5 16 case 133 , 136, 134, 132, 130 set colcr mix (7) Reg_7_Red/l6, Reg_7_Greer./lc, Reg_7_3lue/ sec color 4 16 case 135 , 133, 131, 129 set color mix (8) Reg_8_Rea/l 6, Reg_8_Green/l6, Rea_8_Elue/ sec color 3 16 case 128,, 126, 124, 122, 120 set color mix (9) Reg_S_Rea/16, Reg_9_Green/16, Reg_9_31ue/ sec color 1 16 case 127 , 125, 123, 121 set color mix (10) Reg_10_Red/l6, Reg_10_Green/16, sec color 1 Reg_lQ_Blue/l6 case else set color mix (11) Reg_ll_Red/l6, Reg_llMGreen/16, sec color 0 Reg_ll_Blue/16 end select set color mix (12) Reg_12_Red/l6, Reg_12_Green/16, end if Reg__l 2_3lue/16 end sub set color mix (13) Reg_l3_Red/16, Reg_l3_Green/l6, Reg_l3_Blue/16 sub Choose Color Numbers set color mix (14) Reg_14_Red/i6, Reg_14_Green/l6, let Reg__0_Red = 2 Reg_14_Blue/16 let Reg__0_Green = 0 set color mix (15) Reg_15_Red/l6, Reg_15_Green/l6, let Reg__0_3lue = 2 Reg_l5_Blue/16 let Reg _l_Fed = 11 end sub let Reg__l_Green = 13 let Reg__l_3lue = 15 sub Wait^Response let Reg__2_Red = 0 do let Reg _2_Green 0 if key input then 1st Reg"*2_Blue = 0 get key k act Reg _3_Red = 9 if k=324 then exit do 1st Reg__3_Green = 12 end if let Reg__3_31ue * 14 loop let Reg_ 4_Red = 1 clear let Reg 4 Green = 1 set cursor 10,17 let Reg_^4_31ue = 1 print "... Press left mouse button to clear screen. ..." let Reg__5_Red = 8 end sub let Reg__5_Green = 11 let Reg_ 5_3lue = 13 sub Test_F10 let Reg^ 6_Red * 2 if key input then Hi Quality Version Available on AMIGALAND.COMlet Reg_ 6 Green = 2 get key press_flQ let Reg__6_Blue = 2 if ?ress_fl0 = 124 then let Reg_ 7_Red - 7 clear let Reg__7_Green 10 set cursor 10,17 let Reg__7_31ue = 13 set color 1 let Reg__8_Red = 3 print "... Press left mouse button to clear screen let Reg__8__Green “ 3 let Reg_8_Blue ■ 3 stop let Reg__9_Rea = 6 end if let Reg_ 9 Green = 9 end if let Reg__9_Blue = 12 end sub let Reg_ 10_Red = 4 let Reg__10_Green 4 let Reg 13 Blue = 4 let Reg_ll_Red 6 •AC* let Reg_ 11 Green = 8 let Reg__ll_3lue “ 11 let Reg_"l2_Red = 0 let Reg_ 12 Green = AC GUIDE/miGA 6 let Reg_ 12 Blue 10 let Reg 13_Red 12 let Reg_ 13 Green = 4 What's that program called? let Reg_’l3_Blue “ 0 let Reg _14_Red = 14 Where can 1 get some more let Reg__14_Green = B let Reg 14 Blue = 0 information about that item? let Reg__15_Rea 12 let Reg__15_Green = 12 Doesn't anybody make something let Reg__15_Elue - 0 end sub that does that? sub Use_Neu_Colors These questions and more answered set color mix (0) Reg_0_Red/16, Rea_0_Sreen/16, 3eg_0_31ue/16 in AC's GUIDE set color mix (1) Reg_l_Red/l6, Reg_l_Green/16, Reg_l_Blue/16 set color nix (2) Reg_2_Red/16, Reg_2_Green/I6, Reg_2_Blue/ Over 2200 products listed. 16 set color mix (3) Reg_3_Red/lG, Reg_3_GreervlSf On sale at your Amazing Dealer! Notes IjM tK tl& C

Recii rsive Ft i net lot is

by Stephen Kemp

Recursion (a function calling Itself) is possible in the C should use prudence. This is due to die fact that each call to a language. It isn’t often that you will require a recursive function, but function uses stack space. The stack is an area of memory reserved occasionally such a function can solve the most difficult ot tasks. in your programs for remembering a calling function's address and Recursion simply means that a function calls itself— either directly local variables defined within functions. A certain amount of space or indirectly — by calling other functions that eventually call the is provided for die stack rvhen your program begins, and although first function. most versions of C will allow' you to control diat amount, you have As a demonstration of how recursion works, examine the to “live” within your choice. If your program uses up the allocated function in Listing One. This is a rather contrived and simple stack, then it will 1) fail with a stack overflow, or 2) start doing example, but it demonstrates how recursion -works. The function bizarre things and fail even worse. “backwards" accepts a string of characters as a parameter. It takes Generally, there are three questions you should answer the string and prints it in die reverse order. before deciding dial you need a recursive function. First, does the

------Listing O n e ------

/‘Function backwards accepts a string and calls itself Table One recursivelyHi Quality Version Available on AMIGALAND.COM to print the string in reverse'/ backwards{ string ) Received Recursive Call Print On Return char 'string; { if ('string == 'AO') /'if at the end of the string’/ “Sav what?’’ “av what?” “S” return; /*nothing to do here*/ “ay what?” “y what?” “a” backwards ( string+1 )/*recursive call with shorter “v what?” “ what?” y string*/ .. u print(u%c",'string); /'print the character*/ “ what?” “what?” “what?” “hat?” “w ” “hat?” “at?” “h” Examining the function, you can see that it first checks to see “ad” “t?” “a” if the end of the string has been reached. If the first character is a “t?” “t” null, then it simply returns to the caller. If it is not at the end of the up,, \0 “T string, this function shortens the string by the first character and \0 then calls itself with the smaller string. Upon returning from itself, the function knows that it is time to print the original character that was kept. function require a “loop” to perform its operation? Second, will the Playing computer, let’s look at how an example string would loop’s operation depend upon a variable, or variables, determined progress through this function. If you started with the string “How by an earlier pass through the loop? Finally, can diose intermediate are you?”, Table One represents the calls and output. values be determined without completing die function? Although die table was built sequentially from tire first call to Better examples of functions diat might use recursion effi­ die last, the characters actually print out in die reverse order ciently are parser and sorting functions. A parser is a function that because each function will only print a single character after the takes its input and reduces it down to smaller and smaller function returns. Incidentally, this function does not print its own components which can then be evaluated easier. Compilers use carriage return or line feed. If you include this function in a sample parsers to evaluate statements. Some statements in C, such as if, for. program, you may have to print a CR/LF before you can see the do, etc., can be composed of multiple statements. Evaluating one output. of these multi-line statements might require recursion to evaluate As explained, the example in Listing One is not a real practical the individual statements contained within it. Now, I don’t pretend example of how' to use recursion. In fact, this function could be that a compiler is as simple as that example, but I hope it helps you written much easier without it. Additionally, recursive functions understand a little about how a parser works. Now, not all sorting functions will have to be recursive. If you have been in programming very long, then you probably know that c * -JUST RELEASED' there are about as many different sorting algorithms as there are AMIGA™ UPGRADE#! New 1 MEGABYTE, "FATTER Agnus (#8372) Hi-Res chip allows different languages. Listing Two contains a program that uses a users more "chip” memory for use in GRAPHICS. MUSIC OR VIDEO, This "plug in" upgrade is an absolute must for present Am iga owners. Price is S 109.50 including simple recursive sorting function. This sort method is a version of "quick step by step* 10 minute installation instructons. sort’’. (Note: Quick sort is a relative term. The actual speed of any AMIGA™ UPGRADE#2 A50 J/S0L 512K/cIock RAM Board upgrade for Amiga 500. (Plugs sort depends upon die data being sorted and the relative order directly into trapdoor.) Super price of Si 14,95 including instructions.

before the sort begins.) a m ig a ™ u p g r a d e #.* N ew ,, V L3 K1CKSTART ROM upgradc*S27.95 including instructions.

------Listing Tw o ------E Z m S 0 M S 3 E 2 Z I Upgrade chips for all Amiga memories: 68020/33- 5139.50,68030- CALL. 68881/12-569.95,68881/16-576.95.6S8SI/20-SI04.95, 68SS2/16-5105.95. /* QSORT.C is a program that cakes an array of unsigned short Other Spcedi including Drams available at super prices. integers and quick sorts the elements using a function that WE STOCK ALL AMIGA (AND COMMODORE) CIIIFS AT SUPER COW PRICES - dees recursion. V ■ SEND FOR CATALOG OF EXCLUSIVE PRODUCTS V/JvL 1 1 . #define MAXARK 15 THE GRAPEVINE GROUP, INC. short arranged; 35 CHARLOTTE DRIVE (914) 354-4448 1-S00-292-7445 WESLEY HILLS. NY 10977 FAX (914) 354-6696 Prices subject to chanpc • Wc ship worldwide * ma i n () Dealer pricing available I Circle 147 on Reader Service cord. unsigned short ndx; /"index for array subscript*/ unsigned short array [MAXAP.RJ; /‘array of elements*/ unsigned short orig[MAXARR]; /"original for print*/

srand(99); /"random number seed"/ while( end > start is arraylstart] <= arraytendl) for (ndx = 0; ndx < MAXARR;ndx++) { /"initialise arrays*/ /* less*/ array[ndx] = rand(); /"random fill*/ start**; /‘increase start*/ orig[ndx] = array[ndx]; /"make a copy*/ 1 if (er.a != start) ( /"not at er.d*/ hold = array[start]; /"hold value*/ doqsort(array,Q,MAXARR-1); /‘sort array'/ array[start: = array[end]; /‘swap values*/ printf("Original Sorted\r\n"); /‘heading*/ array [end] => hold; /‘swap values*/ for (ndx = 0; ndx < MAXARR; ndx+-) /"loop through arrays'/ printf<* %6.6u %6.6u\r\n",origtndx],array[ndx]) } ) }vhile( start !- end); /‘continue until equal*/

return(start); /‘return final /‘thisHi Quality Version Available on AMIGALAND.COM function accepts the array of unsigned short integers start* / end a starting and ending index. It then sorts the values } through recursive calls tc itself*/ doqsort(array, start, end) The quick sort function splits the elements into two parts, if it finds unsigned short array!); something out of order. Next, each part is sorted by making the unsigned short start,end; recursive call to the sorting function. This continues until nothing [ short rval; remains out of order. The arrange function simply begins with the last element if (start < e n d ) ( /'if elements remain*/ passed and finds tlie element closesLto the end of the list that should rval = arrange(array,start,end); /‘arrange elements*/ if (rval) /"if not first swap with the first element. If it finds one, then it swaps tire eleme n t ' / elements. After that, it starts trying to find a new element from tlie doqsort(array, start, rval-I); /‘sort new end*/ beginning of tile list to exchange tlie new-ending position. If it finds doqsort(array, rval+1, end); /‘sort new one, then they are also swapped. This continues until the starting begenning*/ ) position equals tlie ending position. When it has been completed, the current starting position is returned and indicates a new sort position. If 0 is returned, then everything is in order. /* arrange from start to end */ With a few modifications, you can add this quick sorting short arrange(array, start, end) capability to an)- of your programs, (MANX has a quick sort function unsigned short array!]; in its library.) Primarily, you may have to alter the parameter that unsigned short start,end; is being sorted to some other type, and you may have to change tlie ( unsigned short hold; /‘holdinc value'/ comparison of elements to a function that returns a value less than, equal to, or greater than zero depending upon whether the sort do( should be ascending or descending. Finally, depending upon the while( end > start Si array[end! >= array[start]) /‘greater*/ variable type being sorted, it may be easier to use a function to swap end—; /‘reduce end"/ the elements rather than doing it in line twice. Now that you know recursion is permissable, you may if (end != start){ /‘if not on start*/ discover just where it can help you in your programs. Just hold *= array [start] ; /‘hold value*/ arraylstart] = array[end!; /‘swap values*/ remember to keep in mind that there is a danger of doing recursion array[end] ° hold; /‘swap values'/ unwisely. But with a little experimenting, you wall know exactly when and where to use your new knowledge. •AC* AC Disks Source code, executable, and IFF pictures (when available) included for all articles printed m Amazing Computing.

This disk contains the source This disk contains the source M em ory S q u ares: Test your memory with More Requestors: Using system calls in and executable code relating ? and executable code relating to this AmigaBASIC game. Author: Mike A m igaBASIC to build requestors. Author: to articles in A C V3.8 and A C I articles in A C V4.5 and A C Morrison John Wiederhirn V3.9. V4.6. High Octane Colors: Use dithering in Multi-Forth: Implementing the ARP Gels In MultiForth Parts 1 & II: Learn Digitized Sound: Using lhe Audio.device to AmigaBASIC to get the appearance of library from Forth. Author: Lonnie A. how to use Gels in MultiForth Author: play digitized sounds in Modula-2. Author: many more colors. Author: Robert D’Asto Watson John Bushakra Len A. W hite Cell Animation: Using cell animation in Search Utility: A file search utility written F F P & IEEE : An Exam ple of using F F P & ‘881 Math Part II: Part II of programming Modula-2. Author: Nicholas Ciraseila in C. Author: Steven Kem p IEEE math routines in Modula-2. Author; the 68881 math coprocessor chip using a Steve Faiwiszewski fractal sample. Author: Read Predmore Improving Graphics: improve the way Fast Pics: Re-writing the pixel drawing your program looks no matter what screen routine in assem bly language for speed: CAI: A com plete Com puter Aided At Your Request: Using the system- it opens on. In C. Authro: Richard Marlin AutnoriScolt Steinman Instruction program with edito' written in supplied requestors from AmigaBASIC. AmigaBASIC. Author: Paul Castonguay Author: John F. Weiderhirn G e ls in M u lti-Forth -P arl 3: The third and 64 Colors: Using exlra-half-brite mode in final part on using Gels in Forth. Author: AmigaBASIC. Author: Bryan Catley T u m b lm ’ T o ts: A complete gam e written Insla Sound: Tapping the Amiga's sound John Bushakra in Assem bly language. S a ve the falling from Am igaBASIC using the W ave Fast Fractals: A fast fractal program babies in this game. Author: Davd Ashley command. Author: Greg Stringfeilow C N ates V4.9: Look at a simple utility written in C with assem bly language program in C. Author: Steven Kemp subroutines. Author: Hugo M.H.Lyppens VGad: A gadget editor that allows you to MIDI Out: A MIDI program that you can easily create gadgets. The program then expand upon. Written in C. Author: Br. 1 D C eils: A program that sim ulates a one­ Multitasking in Fortran: Ail the hard generates C code that you car: use in Seraphim Winslow dimensional cellular automata. work is done here so you can multitask in your own programs. Author: Stephen AuthoriRusseil Wallace Fortran. Author: Jim Locker Vermeulen Diskless Compiler: Setting up a compiler environment that doesn't need floppies. C o lo u rsco p e : A shareware program that MenuEd: A menu editor that allows you Aulhor: Chuck Raudonis shows different graphic designs. Author: This disk contains the source to easily create menus. T he program Russell Wallace and executable code relating then generates C code.that you can use to articles in A C V4.11 S A C in yourHi Quality Version Available on AMIGALAND.COM own programs. A ulhor David This disk contains the source S h o w lL B M : A program that displays io-res, V4.12. Pehrson and executable code relating to hi-res, interlace and HAM IFF pictures. articles in A C V4.7 and A C Author: Russell W allace Arexx Part II: Inofrmation on how to set Bspread: A powerful spread up your own ARexx programs with sheebprogram written in AmigaBASIC. LabyrinthJI: Roll playing text adventure examples. Author:Stsve Gilmor. Author Brian Cately Fractals Part II: Part II on fractals and game. Author: Russell Wallace graphics on the Amiga in AmigaBASIC and Legg o M y LO G O : A Logo program that True BASIC. Aulhor: Paul Castonguay Most: Text file reader that will display one generates a Christm as tree with This disk contains lhe source or more tiles. The program will autom ati­ decorations. Author: Mike Morrison. and executable code relating Analog Joysticks: The code for using cally format the text for you. Author: to articles in A C V4.3 and A C analog joysticks on the Am iga. Written in C. Russell Wallace Trees and R e cu rsio n : An introduction to V4.4. Author: David Kinzer binary trees and how to use recursion. Terminator: A vims protection program. Written in C. Author: Forest Arnold. F ra cta ls Part I: An Introduction to the C N otes: A sm all program to search a file Author: Russell Wallace basics of fractals with exam ples in Am i­ lor a specific string in C . Author: Steven C N otes: A look al two data compressing Kemp gaBASIC, True BASIC, and C. Aulhor: techniques in C. Author: Stephen Kemp. PautCastonguay j This disk contains the source Better S trin g G adg ets: How to tap the and executable code relating Animation? BASICally: Using cell Shared Libraries: C source and execut­ power of string gadgets in C. Author: John to articles in A C V4.1Q & A C animation with AmigaBASIC. Author; Mike able code that show s the use of shared Bushakra Morrison libraries. Author: John Baez

On Your Alert: Using the system's alerts Typ in g Tutor: A program written in Menu B u ild er: A utility to help build MuJtiSort: Sorting and intertask from Am igaBASIC. Author: John F. Am igaBASIC that will help you improvr menus in your own programs. Written in communication in Modula-2. Author: Wiederhirn your typing. Author: Mike Morrison C. Author: Tony Preston. Steve Faiwiszewski Batch Fries: Executing batch tiles from G la t's G adg ets: Using gadgels in Dual Demo: Howto use dual playfields !< Double Playfield: Shows how to use AmigaBAS iC. Author: Mark Aydeflotte Assembly language. Author: GeffGlatt make your own arcade games. Written in dual playfields in Am igaBASIC. Author: C. Author: Thomas Eshelman. Robert D’Asto C N otes: The beginning of a utility program F u n c tio n Evaluator: A program that in C. Author: Steven Kem p accepts mathematical functions and S ca n n in g the S cre en : Part four in the ‘881 Math Part I: Programming the evaluates them. Written in C. Author: fractals series. This article covers drawinr 6B881 math coprocessor chip in C Randy Finch to the screen, in A m igaBASIC and Author: Read Predmore TrueBasic. Author: Paul Castonguay. This disk contains the source Fractals: Part III: AmigaBASIC code that Args: Passing arguments to an Ami­ and executable code relating to show s you how to save/load pictures to C Notes: Recursive functions in C. gaBASIC program from the CLI. Author: articles in A C V4.9. disk. Author: Paul Castonguay Author: Stephen Kemp. Brian Zupke The AMICUS Public Domain Software Library 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 need the C compiler to run these programs. An exception is granted for those programs only of use to people who own a C compiler.

Note: Each description lin e below may include something lik e 'S-O-E-D', which stands for'source, object file, executable and documentation’. Any combination ot these letters i n d i - cates what torms of the program are present. Basic programs are presented entirely in source code format.

AHlCySDisKl e riis k external disk specification inflections. inrtiDzation code. E ABasic programs: Graphics AM5,Pish3 C programs: gam epon game poi spec Brush? to n ccn-verts IFF brush to an to n , E 3QSo£ds 3d sofics modfeing prog, w'sampie data files xref a C bCSS-reference g en, S-E paraflfei pareifei port spec Dazzle graphics demo. Sacks to mouse. E Blocks draws blocks Sbitcofor extra-half-bright chip glx deno, S-E serial serial port spec DeriGEL assfemo'-er program f a stepping 68010 e r a s . S-E-D Cubes draws cubes Chop truncate (chop) files down to size, S-E v 1.1 update list ol new features in version t.t Klock menu-bar dock and d Durer draws pictures in the style ol Durer Cleanup removes strange characters from text files Yl.lh.txl 'dilf oFinJude file changes from verscn 1.0 to 1.1 life toe game of life, E F Scape draws fractal landscapes CR2LF converts carnage returns to fine feeds in Amg a ties, S-E Fifes for buWrig your own printer drivers, incfu«£ng dospeciaLc, TimeSet Intuton-based way to set tog tmg d a s. Hidden 3 D drawing program. w/ hidden kne remova Error adds conpfe enors to a C fife. S EMEmacs another Emacs. r a e oriented to JPad sm pie pamt program epsondaia.c. initasm, primer c, prriterjink. prniertagasm, renjor c. HeSo window ex. Irom the RKM. S and wa-Usm. Thsdisk doescontoinanum.bor cf filesdesabng the IFF w ad processing, S-E-D Optical draw several optical illusions Kermit generic Kermit implementation, flakey, speoficatksn. These arenoitoelaiesiandcreaiestfJes.outremain here MyCLl a CLi shell, w oks without me Wafcbench, S-E-D Pam Box simple paint program no terminal mode, S-E lor historical purposes. They include text files and C source examples. Texts: Shuttle draws the Shuttle in 3d wireframe Scales sound demo plays scales. S-E The latest IFF spec is elsewhere in tois library. FnctnKeys explains how to read function keys SpaceAn graphics demo SkewB Rubik cube demo in hi-res colors, S-E AMICUS Disk 6 IFF Pictures Irom Amiga Basic Speaker speech utirty AmigaB»stoProgs(dir) This disk induces toe DPStde program, witch can view a given series HackerStn explains how to w.n the game Tacker Sphere draws spheres Automata ddiufer automata sm ulaiion of IFF pictures, and the ‘snow pfe' program, which can view each file at toe !s^801C guide to tisa lin g a 68010 in your Amiga Spiral draws cd cr spirals Crazy Eights card game dick of an icon. The pictures include a screen Irom ArficFcx, a Degas FnnterTTp seating escape sequences to your pnnter ThreeDee 3d function plots Graph Function graphing programs dancer, the guys at Electronic Arts, a gorilla, horses, King Tel, a Startup up Bps on setting up your startup-sequeffee hie Topography artificial topography WitohingHour a game lighthouse, a screen from M a te Madness, the Bugs Bunny Martian, a XlrmrReview list Of Transformer programs that wok Wheels draws drcte w aphcs ABasiC programs: stft from an old movie, the Di re Strats moving company, a screen Irom Printer Drivers: Xenos draws fractal planet landscapes Casno games ol poker, blackjack, dee, and craps Pinball Comma on Set, a TV newcaser, jf» PaivCan. a wcrid map. a Pnnte' drivers f a toe Canon PJ-108GA, toe C Iron Prowriw, an A8a5ic programs: Tools Gomcfcu also known as'otoeGo' Porsche, a shuttle mission patch, a tyrannosaurus rex, a plane! vew. a improved Epsoi driver that eimtoates streak,rg. the Epson LO- AdcressBook simple database program for addresses Sabotage sort ol an adventure game ViSAoard.anda len-soeed. 800, toe Gemini StaM 0, toe NEC E025A, toe Owdata ML-92, toe Cardfile simple card f.lo database program Executable programs: AMiCUS Disk 7 DigiVtett HAM dem o picture disk Panason-c KX-Pi0xx tamify, and toe Smuh-Caona 0300, with a Demo muliiwirvdowdemo Disassem a 68000 disassembler. E-D This disk his ptofures from toe Dg.ViewhoW'and'modify video digiizer. document describing toe inflaflatfon process. KeyCodes shows keycodes tor a key you press DpS&de shows a given set of IFF pictures. E-0 It irokides me lades with pencils and ioCypops. toe young gal. toe AMICUS Disk iQ Instrument sound demos Menu run many ASasc programs bom a menu Arrange a text formafltog program, E-D bulldozer, tne horse and buggy, toe Byte cover, the dctbnary page, toe Th.s 4 an icon-orrren demo, oreutafed to many dealers, it induces MaeCokxs way to get more colors on toe screen Assembler programs: robot and Robert. T hs moudes a program to view each picture toe sounds cf an acousticgiitar. an alarm, a banjo, a bass guitar, at once, using aliasing Araoterm terminal program with speech and Xmodem, S-E separateiy. and ail together as separate, sldabfe screens. The'seeibm' a boirk, a calliope, a car bom, daves. wa;er drp. electhe guitar, a shapes simple color shape designer Speaklt AMICUS Disk 4 Files Irom the original Amiga program, to turn any screen into an IFF picture. flute, aharp arpCfgre, akekprum, a marimba, a o'ganm m achac. speech and narrator demo Technical BBS peopfe talking, pgs. a pp e agan, a Rhodes piano, a saxophone, ABasic programs: Games MifcU&jaiaU Note that some ct these f#es are oW. and refer s o'oer versions of the C programs; a srta-*. a snare drum, a s:ee! drum, ceils, a vbrophone. a vofin, a BnckOut classic computer bock wall game operatng system, These fles came from Fie Sun sys:em that served as Brcwse view text fifes on a risk, uyng menus S-E-D 3 gutar, a r a s e wtenny, anc a w h4:e Ofreffo also known as ‘go* Amiga technical support HQ lor mosi ol 1585. These files do not carry a Crunch removes eqmmenls and white space Irom C fifes, S-E aP iah .il Saucer simple $hooiem-up game warranty, and are lor educational purposes only. 01 course, dial's not to iconExoc EXECUTE a series of commands Irom Workbench S-6 C programs Sp rin g simple talking spelling game saylheydonl work. PDScreen Dump dumps flastport ol highest screen to printer tirutil Intuition-based, CLI replacement manager S-E ToyBox selectable graphics demo SetAltemate sets a second image for an icon, when ticked o x e S-E cpri shows and adjusts priority of CLI ABasic programs: Sounds Complete and nearly up-to-date C source to 'mage.ed', an early verson SetWndcw makes windows l a a CU aogram processes S t Entertainer plays that tune cf the icon E a ta . This is a fide flaky, but comptes and runs. tonxi under Workbench S-E PS snows info cn CLI processes. S-E HAL9000 pretends it's a real com peter SmaTCtock a sma3 r ig a l docfen a window menu bar VlStea cfisplays CompuServe RLE pcs. S- E P o k e simpiepoiice siren sound An Intuition demo, in lull C source, including files: demcmenu.c, Scrimper the saeen printer n the lourto AC S-E Amiga Basic programs SugarPlum plays 'The Oaice of the Sugarplum Fairies" dernomenu2.c. demoreq.c. getascii.c, idemo.c, idemo.gride. Amiga Basic Programs: pointered pointer ar.d sprite editor program C prog rams: idfemo.rnake, idemoaUh, nodose. and txwrite.c (Note: Many of these programs are present on AMICUS Disk 1. optimize optimization ex ample Irom AC art;cfe ATemt sample terminal program. S-E Hi Quality Version Available on AMIGALAND.COMaddmem.c add external memory 10 the system Several 01 these were converted 10 Amiga Basic. & included here.) calendar large, animated calendar, diary and cc a d to compftngwrtn Lattice C bobtestc example ol BQ3 use AddressBook a simple address book database date took program decvnt opposrte of CON VE RT tor cross developers ccnsoleJQ.c consde 10 example Bat draws a bat amortize loan amorezations Dotty source code to the 'dotty window demo creaponc create and delete ports Cload program to convert CompuServe hex files binary, S brusl-toBOB converts small IFF brushes to AmgaBasiC echox unix-style filename expansion, partial S.O-D to -0 creastdio create standard 10 requests Clue the game, intuition driven BOB OBJECTS faflerip ex plains use cl last-floating point math creataskx creatxw task examples ColorArt art crewing program grids draw and play wavelams FixDate fixes lutxe dates on afl f2es on a disk, S-E diskio.c example cf track; read and wrte Deluxe Draw toe draw.rig program in toe 3rd AC, S*D hilbel draws Hilbert curves freedraw smpteWokbenchdrawingprog..S-E deny.c source to the dotty window' demo Eliza conversational computer psychologist m a5b matf ib stay generator GhMem graphk: memory usage inaca'.a, S-E duafptay.c dual playfield example Otoefc the game, as known a s 'go' maitalk talking m aJng 5jt aogrem Grep searches for a given string in a file with docs, fiood.c flood 131 exampe RatMaze 30 ratrraze game meadowsSD 3D graphics program, from A C TV article ham shows off the hokf-and -modify freemap.c old version of freemap' ROR boggling graphics demo mousetrack mouse tracking example in hires mode slot slot machne game method of « w r generation gettootsc toPs tor VSpriJes and B03s Shuttle draws 3D p c t/e s of toe space shuttle i3M2Aniga last para’fel cable transfers between g'xmem c graphic mem ory usage indicalor SpxelLng sample spettng program ticiactoe too game an IBM and an Amiga neiio.c window example from RKM Y0Y0 wserd zero-gravity yo-yo demo, tracks swtch pacfwikoJikegame Mandel Mandetorct set program. S-E inputdev.c adding an input handler to toe input sveam yo-yo 10 too mouse we?d makes strange KwndS moire patterned graphic demo. S-£ joyst!k.c reading the icysbick Executable programs: Executable programs objfix makes Lattice C object t o symbols keybd.c direct keyboard rearing 3Dcube Modula-2 demo of a rotating cube cp unix-like copy command, E visible to Wask, S-E layenes.c layers examples African sets a second icon imago, displayed when tw icon is cScked cis screen dear. S-E quck quick sort strings routine m o u sp o u test mouse port AmlgaSpeil a slow but simple spfel checker, E-0 Iff irii-ltke stream ed;or uses rilf ou'ipjt to Sx files raw example sampie window 10 cwnib.0, are toe ARC file compression prog must for telecom. E-D pm chart recader pertomances fericator setlace turns on interace mode, S-E owntbAsm exam pe of making your own library with Lattice Bertrand graphics demo Assemder programs sparks qix-type graphic demo, S-E parateskc tests parallel port commands tfisksaivage prog, to rescue trashed disks, E-D d s screen dear and CU arguments example Other executable programs: sentest c tests serial port commands KwhCopy a quick but nasty disk copy program: ignores errors. E-D Modj!a-2 SpeochToy speech demonstration sensamp.c example ol serial port use LibDir fists hunks to an object lie t*D irals rrcrhng-wam graphics demo W tkhFort displays a'l available fonts prinlmr.c sample primer interlace code Save!LEM saves any screen as F F pic.E-0 T> ScreenCump cascrtonven converts k*odu!a-2kej'Aadsto uppercase Bresnehan orcfe agonttn exampe Texts: pnbasa.h printer device definitons shareware screen dump prog, E only Forth 68020 describes 68020 speedup board from CSA regintes.c region test program StarTerm version 20, term program, XmodenE-D Analyze. 1 2 templates f a tne spreadsheet Analyze There are lour programs here |hal read Commodore 64 picture ASases explains uses ol the ASSIGN command sa'Jace.c source to interlace onoll program Texts: ides They can translate Koala Pad, Dcodte. Pnrtl Shop and Bugs known bug list in Lattice C 3.02 setparcJlel.c set me ar.ntxr.es of toe parallel port LatteeMan iipsonfixing_main.cirvLattce News Room graph.es to FF lam a:. Getong toe fifes Irom your CUCanf reference card tor AnigaDOS CU SetSenai.c setn earn b u res(p an :y .d atab its)o fr« serai port GDskDrive make your own 5 14 drive CUGotmnands guide to u srg the CU pngiayo sn^epfayfieUexampfe GuruMed explains the Guru nur.bers C-&<» your Amiga is the raid pan. Commands shorter guide to AmigaDCS CU commands speechtcy.c source to narrator and phcneccs demo Lat3 C3bugs bug 5s: of Lart.ce C version 3.03 MilSDisk" M JL 2 Ed Commands guide to the ED editor tmedely.c simple timer demo MForaeRev user's view o' toe MicroFcrge HD ExKutabfe programs Ffenames Amiga DOS Rename wildcard conventions timef.c exec support timer functions PrintSoooler EXECJTE-based print sparf prog. blink 'aSnk' compatibe finker, but faster, E-D dean spins the risk lor disk cleaners, E-D HaBBright explains rare graphics chips that can do tsmrstuf.c more exec support fimer functions .BMAP files: sends Epson setttncs 10 PAR from menu E-D morectfcrs V/nchFont.c loads and risplays all avaiabe sytiem lorts These are :he necessaty Inks between Am^a Base and toe system epsonset view hi-res p cs n iow-res SupteMnap. =-D Modem Pars description of the senaJ oort pnout process 1 and prtsase.i assm etier include fifes: libraries. To take advantage of toe Am^a's c a o a b 'te s n Baste, ycu shows g speaWme tel toeim e. E-D RAMdsks lips on settng up your RAM: risk autorqstr.txt wamines ol deadlocks mtfi autorequesters need these files. BMAPs are included f a 'disr, 'console', diskfonf, undelete urxiefetesa he, E-D ROMWack lips on using ROMWack consolel0.txt copy 01 the RKM console 10 chapter 'exec', feoo', 'mturtton', layers', 'mathtfp', matoieeedocbas', ’mathieees- crivaplcJhm convert s Apple ][ low, medium and Sounds explanation ol Instrument demo sound diskfoni txt wamfivg ol di sk fan! loading bug incbas'. 'mathtrans', 'pctgo', 'timer' and Translator'. high res pictures to IFF, E-D file format ful lune.txt fist of d efines, m acres, functions menued menu eaior produces C code l a menus. E-D Speed refutation of Amiga's CPU and custom chip speed nputtev W preimfeary copy cl the npA device chapler Amiga Basic Prog rams: qutk quck risk-to-diSk nijble coper. E-0 WackOmds tp s on using Wack license irJamaicn on Workberch risytwlon license FSghtSito sum pie tight sim tia a program quckEA ccpfes Efectrohic Arts disks, removes AM»CUS BiSK 2 printer pre-release copy cf toe chapter on printer drivers. Irom RKM 1.1 Hue?alette explains Hue, Saioarion, & Intensrty protection. E-D C programs: vl 1 ld.txt 'diff of .fd lie changes from version 1,0 to 1.1 v2Bv1 .diff ’cflff' Requester ex. cf requesters from Amiga Basic txedl.3 demo of text edita from Micresm.iihs.t-D alib Amiga DOS object library m anager, S-E 0! include fife changes from version 28 to 1.0 ScreflDemo demonstrates saoifing capabilities C programs ss le d file arch vo program. S-8 AMICUS DiskS Files from the Amiga Link/ Synthfe^ier sound program spin3 rotating blocks graphtes demo, S-E-D futobj auto-chops executable files Amiga Information Network WorldMap draws a map of toe world popdi start a new CU at toe press cl a shed simple CU shea, S-E ExeoAaWe programs: Note that some of these files are old. and refer to older versions of the button. Ike Sdefeck, S-E-D sq, usq Me compression programs, S-E operating system These files are from Am>ga Lnk. For a time. Commo­ Bctpg! latest Bcxng'demo.withsfeectabiespeed.E vspnte VSpnte exam pi e code from YachtC a familiargamo, S-E dore supported Amiga Link, aka AIN, lor online developer technical Brusn2C ewiverts an I FF brush to C data Commodore, S-E-D Make a simpfe'mako' programming irtiMy, S-E^ supped. It was only up and running for several weeks. These files do nol instructions, initialization code, E ArrigaBBS Amiga Base buOelm board prog. S-D Emacs an early verson ol the Amiga te d editor. S E-D car^ a warranty, ard are for educational puposes only, Of course, thafs Brush2lccn converts IFF brush to an icon. E Aswmbler programs Assembler programs: Dazzle graphics demo, tracks to mouse, E not to say they d c rt work. starlO makes star I reds 5ke Star Trek rtoo.S-E-D bsearcfiasm binary search code A demo of Intuition m enus called 'menudemo', in C source DeoGEL assembler program f a stopfxng 630*0 errors, S-E-D Pictures q so tasm Unix compatible qsortQ function, source w heresx find a fife searching al subdirectories Kkxk meni-bar clock and date display. E Mount Mandelbrot 3D view ot Mandel ac t set and C test program life the game ol life.E bobtestc BOB programming example Star Destroyer h:-res Star Wars 5la rshlp setjmpasm setjmp<> code for Lattice 3.02 TimeSet tm non-based way to set the time & date sweep.c sound synthesis exam pie robot arm grabbing a Cylinder S VpnntJ Unix system V com patfoie pnntif} EMEmacs another Emacs, m a e onen:ed to Rcbo; Assembler fifes: Tests xees.o Unix compatible treeQ luncion, 0 -0 w ad procri&S'rtQ. S-E-D mydevasm sampfedevice driver vendors Amiga vendors, names, addresses (This disk formerly had IFF speofieaficn files and examples. Since VyCLI a CL shel. works witoout the Workbench. S-E-D m ytbasm sam pfe library example c a d c o fixes to earty Cardco memory boards ihcsspecis constantly updated, the IFF spec files have been moved Texts: myfibi cmciude cross-reference to C include fles to [heir own disk in the AMICUS collection.) FnctnKeys read function keys Irom Amiga Base mydevj mndwalker clues to playing too game wos John Draper Amiga Tutorials; Hacker Sin explains how to win toe game 'hacker' asmsuppj sideshow make your cwn slideshows from the Arimate describes arxmatfon algorithm s tstSS010 guide to in staling a 68010 in your Amiga macros.i assembler include fifes Kaleidoscope risk Gadgets tutorial on gadgets Texts: Bang! latest Borng! dem.o.wito sefectaCiecpeete, E Menus learn about Intuition m enus amigatrieks tp s on CU commands Bresh2C converts an IFF brush to C d a s PagcSetter Freefy dstnbutabfe versions of tie updated BMon System rrcniior Amiga Basic p /ccran : PagePnrr. and PageiFF prograns tor the perform simple r a n p-jtatOTS C‘ memory. Page Sede-cesktop pubiishng package Moose RaiCOT P3Ckgf0urri program, a smal Where can you find all the FuHWindcw Resizes any CLi window uSing cft'y CLI commands, E-D window coens wen a r x s e resem berg bie3d 3-D version cl Conway's L lrt program, E-D BuflwinWesayirig witty phrases user De'd-sk C l1 ufrSty to re-asson a new defnab's. Fred Fish Collection, as well as the Workbench disk. S-E-D DGCS Deluxe Grocery Cdnsnction Set smpte Calendar.WKS Ictus+cem pai^ worksheet that makes ca'endars IntuticTi-based prog for a ssem b rg and SetKey Demo of keyboard key re-progra*mer. with PF pcture printing a g-ocery list Amicus Disks and The AC Disks, tonake lurtcSon key labels, c-D The Virus Check d rectory holds several programs rckaimn VPG V.deo pattern generator Icr aligning monriws, E-D 10 the software virus that came to the US HP-10C HewteS-Packard-iikecatulatcr, E-D from pirates in Europe as delated in SetPiefs Change me Preferences sertngs on Lie fly. in C. S-E- Amaz.rxg Computing V2.12. B.l Koester'S cross referenced and fully listed? D W expiaration of me .ires code is rcud- StarPrope Program studies stellar evolution. C source induoea for ed. One program checks for the software Arrnga and MS-DOS, S-E-D virus on a Workbench dsk.m e second ROT C versionoi Colm French's AmcaBasic ROT program program checks for fie virus in memory, from Amazing Computing. ROT edits which could infect ether dsks. an: displays pdyoens tc creare three d+m.ensicnal AMICUS Disk 25 objects. Up to 24 frames ol anm aton car. be Nemesrs Graphcs demo p ars through space created and displayed. E-D towards the myl'hical dark twn ol the sun Scat like Ing. winrtows on screen run away Iran the mouse. with wonderful muse and soace graphics E-D The KibbkFlay directory rio'cs text that describes several AC' GU m E ^ M I G A DK Decays’ the CLI window fto d u st. in Modiia 2. S-E-0 patcnes to the Kickstan disk. For Amiga DropShadcw2 Adds layered shadows to Workbench wLndcws. E-D 1COO hackers who' feel comfcrta&e AMICUS Disk 19 patching a disk n hexadecimal. KrokPlay This disk carries several programs from Amazing Computing. The IFF oilers the chance to automatically do an pictures on this disk include the Amiga Wake cart T- ADDMEM tor eld expansion memory, as sbrt logo, a sixteen-cokx H-res image cf Andy Griffift. weii as the ability to cha-ge the pcu?e of and five Arnica Lire! p'ctij.res from the Amazing 3tot.es the ‘Lnser’iVovkberroh’ hand, A program AC's Guide lists the descriptions and eprode that featired tne Amiga. IS also induded for restoring the correct Solve Linear equation solver in assembly language, S-E-D checksum of the Kcksta rio sk Gadgets Bryan Cattey's Amiga Basic tutorial, S-D KoyBird BASIC prog edls keymaps. adjust [he contents of over 280 Household Bryan Catiey’s Amiga3as*c Workbench keymaps cr create your cwn. househcid inventory program, S O BColorWB Modifies fteW arW »Kh so three dtpianes Waveform Jm Shields' Waveform Wcrkshoo AmigaBasc, S-D are usee, dons can hare e gni cotors. Freely Distributable Software DiskLb Joni Kerman's AmigaBas;: dsk instead of four, eg-ht-color cons are librarian program, S-D included. Public domain program ^agcoi Subscripts Ivan Smith's Am'gaBasic Subscript exam pig, S-D cr 'b rjsh icaV converts e-gnt-ccdr IFJ String. Boolean C programs and executables tor brushes to io n s, to use De.uxe Paint t: disks as well as Haroet Maybeck To'ty's htmtian woriais. S-E-D m aie i x r s f a this new Wakbench. Boo Riemersna's example lorSkirnyC Brush Icon Converts brushes to icons (azarr docs-. making smaS C programs, S-E-D Egraph Graphing orog reads [x.y| values trcm a Sis COMALrt Mai© C look ike COMAL header Go, S-D anddisp'avs them co the screen, similar to EmacsKey Makes tm acs function key the same-named Unix program definitions by Greg Douglas, S-D Keep Vi Message-managng program f a !©ecpm- AMon t.1 Snoop or, system resource use. E-D mur.caiions. -ets you save messages from over 2200 Amiga products. BTE Bard's Tale character eltc r. E-D an online Kanscnpt to another He. Size CU program shows the size o£ a g ren setoff, es. E-D understands the message lormat cl the WinSizfl Cllwrxtow utility resizes current window, S-E-D national networks and several types cf AJitiCUSPis.k.£a bulletin board software. Moves through the Com.pasor, Decoder o:©.e JAchel A rigaEasd tocte. S-D transcript and save messages BobEd BOB arc sprite edtor witien in C,S-E-0 KTJ.fastir Speed ub directory aK ess. 1 creates a SpriteVasterll Spree ed ter and animator by Bred Kiefer, E-D small file in earn d rector/ on a (tsk wtsuh On Sale Now BlriUb Blitter cftip exploration C program contains the rnfor-maton about the files. by Tomas Ronicki, S-E-D wiS also remove aE the 'lastdir’ ftes from FPe Image processing pn^ram by Bed Eush leads each (fireclay, by CLtmate s authors a-nd saves iFF images, changes nem with The LaceWB program changes between inter;a^ anc rcn- at an your local Amazing Dealer several techniques. E-D ir.iehatreWor^Jwnch Previous’y. you Bankn Complete home bankjng prog., balance your checkbook1 E-D were laced to reboot after changing AMICUS Disk 21 Preferences to an interlaced screen. This Target Makes each mouse dick sound tike a gunshot. S-E-D program fires between the normal and AMICUS Disk 13 Texts: Sand Gmpte game of sand dial folows n e mouse porter, E- D extended screen heights. Am tjz Basic programs ,a'i& W explains escape sequences the CON: Pence responds to. PrcpGadget Harret Maybeck Tolly's proportional gadget PWJJtflty A shareware utAly Icr ProWnte users, Hcutmes from Carolyn Scbeppnerc! C3 M Tech Support, to read and f Key* Lndudes template for making paper to example, S-E changes margin settings and ton! types. display IFF pictures from Am'ga Basic. With dotum efitatiai- Also sit in the tray at me top cf the Amiga keyboard. EH3 Checks to see if you have extra-hall-bright Guru A CLI progrem. prints out probable causes included is a urogram to do screen prints in Amiga Basic, a n d the ■Spawn' programmer's document from Commodore graphics, S-E-D f a Guru medretiens: C souroe included. new est B MAP fries, with a corrected ConvertFD program . W in e x ­ Amiga, d e se rts ways to use the Am ga s multitasking capabilities in Pane &mp'e piano sound program DiskW pe Latest from Software Distillery, rerr.ares am ple p c tu re s. and the Save'LSM screen c a p tire program. your own programs CeSsi Makes cel aftrnatcn senpts lor Aegis Aremata1, in files from tfreetores a d.sk drives, rr.ucn Hi Quality Version Available on AMIGALAND.COMAnugaBaslc programs: AmcaBasic faster bian-delete.' R outines 10 load and play FlTu reS ound and IF- sound lie s from 'Grids1 draw sound waveforms, and hear them played. S.now AmigaBasi: makes snowflake des gns. Amiga Basic, by Jo h n Foust (or Applied Visions. With docum ents- 'Light4 a version ol the Tron Igfti-cycfe video game. This d.sk has electronic catalogs lor AMICUS disks t to 20 and Fish Mlist MaHingBs! database to n and C and assem bler source for Writing your own libraries, and ■MigaSof agameofsoEtaire, disks i to 80. They are viewed w di the GskCat Sofrballstats Maintain softball statistics' team records, interfacing C to assembler in Uxanes W in example sound ■Stats' progra m to calculate bating averages program, included here. Dodge Srion Modufa-2 program maxes the ■Money" "try to grab bH the b*cs cf money that you can.' AMICUS Disk 22 VVorkoe-ncf. screen a'txmd after a penod of Executable program s AMICUS 15 also ndudes two beautiful IFF pictures, of the enemy Cydes Light cyde game, E-D time, prevents monitor burn- in. gravity Sci Amer Jan 85 gravitation graphic walkers from the ice planet in Star Wars, and a pcture ol a cheetah. Sncw_Prin:ll views and prints IFF pictures, indcding larger than AMICUS Disk 26 sim ulation, S -E -0 MCUSflfcjQfi screen Todcr Pay's SoundScape maJu'e cade from his Amazing Texts ■juggler" demo by Eric Graham, a robot juggler bouncing PrtDrvGen23 Latest 'version ol a printer driver generator Ccmputng artd es The source to Echo. MIDI make your own MIDI instrum er; rtedace, them rrrrcred bans, with sound effects. Twemy-fcu? frames of HAM Animations VdecScape animations of c ares and King bail C had, TX. and YU is induded The documentation 5 a hi-res schematic. animation are lipped quickly to produce this image. You control the Garden Makes (ractal garoenscapes Lattice and Manx C source code is here, AMICUS Disk 14 speed ot the jugging. The author's documentation hints that this BasicSorts Exanpfes ol bnary search and insertion along with n o executable modules. Several program s from Amazing Computing issi.es: program might someday be available as a product sOflinAmgaBasiC Claz2 Update of prog to convert IFF images to Tools IFF pictures AMICUS Dis!l23 P cstS aqt lies for printing,co laser printers D anK arys C s l rx t u re index program . S-E-D oarodes of the covers c! Amiga World and Amazing Computing. An AMCUS disk compete?,' defeated so musx: on the Amiga. 7hs$ SDBackup Hard cf-sk backup prog wth Lempd-Zv A rea Bass programs; C programs; t s k contains two nu$i: players, songs, .nstro- compress-on to reduce the necessary BMAP R e a d s ' by Tim Jones mbuthandter' example cf making an input nandfer. meris. and players to bring the thrill ol playing “Big number cl csks, [FFBrush2 B0 3 by Mike Swinger ■FrieZapS' binary tile ©Sting program Sound' on your Amiga TCB Pnnts information about tasks and AulcRequester example ■ShowPrinr displays IFF pietae. and snnts it Instilments a collection of 25 instruments fcr playing processes in the system: assembler DOSHeiper Windowed help system for CU com mar.es. S-E-D 'Gen' program indexes amd retrieves C sfructures and and creating music. The ca'eccoi ranges source is induded PETrans trarstafes PET ASCti files to ASCII F e s , S-E-D variables declared in the Amiga include file system, from Cannon tioMarmba FitoBut le ts a furcton key a d tikre a rap d seres cf C Squared Graphics program from Sderlf c Executable Programs: List iflSTR program to 1st the instruments DMCS will net load left mouse button events. American, Sept S6, S-E-D ■FixHunW? repairs an executable program file for expanded as well as list Ihe origins Icr any instrument. DC A handy program lor pecpte wtxj use an erf adds or removes carnage returns from tiles, S-E-D memory Muse a collection of 14 Classical peces Amiga 1020 5 1/4 inch dnve as an dpdecode decrypts Deluxe Paint, remo ‘ms2smus' converts Music Stud-o files to IFF standard 1S12Qvertufre The 15 minute classcal feature complete with Can­ Am igaDGS loppy. A Workbench p-'oyan ves copy protecton. E-D 'SMUS1 termaL I have heard this program might non1 that sends a DiskChange sarai to the w a y W B a sk s Y es or No from the user returns exits code. S- have a lew bugs. espec-aJy in regards to very Three Amiga Music P-arers: operating system: c, stead of typing long songs, but it works in most cases. SMUSP.ay 'diskchange c(2over and over agari. just vc VisiCalv type spreadsheet, no m ouse control, £• 'Missile' Amiga version of the Missile Command' video game. Musi0Craft2SMUS dick cn the iccn. C source included. D Musc3tudio2SMUS System cor.Sg File makes screen 80 columns wide of text view vie’ws text fees with window and This cfcsk also contains several Sles ol scenarios lor Amiga FSght AMICUS Disk 2J in the Scribpe! w ad procss sa std e r g a d g e t E-D SimUatcr II. By putting one cf these seven Ges on a yank csk. arto Sedorara A osk ser.or t i tor tor any AmigaDOS He-structured Dtk2.Ran 2 programs to move the Scribble1 speEng O hg. Sproing. yaBoing. Zoinq are some-based inserting it in the drive after performing a speoa1 c o t maMintha game, 1 device, recover fries from a trashed hard disk. By actionary toand iron die RAM disk. Bring! style dem os, S-E-D a numtter o! interesting locations are preset into the Flight Simulator Da'nd Joiner of Mqrolllusions Lexical Analyzes a text life and gives the Gaining- CLICiock, sCkxtk, wCiock a re window herder clocks. S-E-D program. For example, one see nano places your plane on Alcatraz, Iconize Reduces the sz e ol IFF images, companion Fog, Resell, and Kincaid irc.ces which Texts white another puts you in Central Park program, Recdor. remaps the paiede cdcrs cf cne At arSc'e on long-persi stance phospor monitors, rps cn making measure readably, tmismiz pcture to use die palette cdcrs o! another. Using hex Dump Modula-2 program to ©sqiay memay brushes of odd shapes m Deluxe Paint, and recommendations cn i©communcaters Osk whuch contains sxterminal programs. locatons m hexadedm^, icon interlaces from Ccmmodore-Amiga. *Comm’ VI 33 term prog. with Xmodem, WXmodem, these programs and a tool to converi IFF brushes to Workbench icons, make icons look Ike miniatures of Tartar AmgaBasictdesignTarianp-'ads. AMICUS Disk 15 'ATerm- V7,2 term prog, includes Super Kermit tfw pictures. DrMaster Dish catalog program, The C program s include: 'VT-100’V26 Dave Wecker's VT-100 errufatorwiih CodeDerro Modufa-2 program converts assembler cbec; Lies to BMP plays SSVX sa rp e d sounds in the pri a Ite p o r in g utility, whtch c an p in t Mes in the Xmodem,K&mit. and scripting inine CODE statem ent. Comes wqh a saeert background •.hie someffwig ©se is b a c k g r o n j. and w in line r u m b a s a n d control ‘Amiga Kerrai* V4D(060) port cf the Unit C-Ksrm; scroll rg exampte happenjng m the Amga. a s y e a Amiga is character filtering. ’VTer.' V23.1 Tekfrcnij: graphics term x.ai emulator AmiBug Workbench hack makes the same fy wak across the bocting, for example. W displays a chart of th e b e c k s allocated on a disk. based on the VT-100 prog. V2.3 and contains screen at random intervals, Otherwse, completely SfiowPt CLI program changes your pointer to a 'Ask' questions an 'execute' file, returns an latest 'arc' file compression harmless. given pointer error code to control the execution in that bach Mo 'AmigaHost* V0.9 for Com pusprvo, Includes RLE BNTco's Three examples o! assembly arvguage code from AMsCUS 26 also rres a colectOT of -reuse p a w s i Slat1 an enhanced version of Amiga DOS graphics a f t ties CIS B Me iransfer protocol. i Bryce Nesixti: 'situs' command. 'FixKurk* expansion memory necessity Workbench program to display J'-em. Dissolve' random-do: <£sso'va demo dspia.ys IFF picture TitObj' removes garbage characters from 1. SetLa;eprog to switch interlace oniofl. slowly, dot by dot, m a random fashion, modem received files 2. Why, replace AmigaDOS CL! Why ■?03CLI 2' invoke new CL I window a : th e p ress of a key. ‘Txt* filters text f'es from other systems 3. Loacll. prog to load a life inro memory until a The executable programs include: reboot, (Only the most esoteric hackers wiii find to be re2d by She Amiga E.C. Laadqusefj.] ■Form’ fie fermaEing program through tte 'adjmam* executeabe vers-cn lor use with r.e n Monoiaoe CLI program resets Preferences to several colys of pnnter dnver’to select print sySei expansion article in AC v2..i DiskCar catalogs dsks,maintains, sorts.merges ’arc' fife documentation ar.d a basic tutorial mcvFXhrone & interface scrsens. C source is fists c l disk files on un'artfng files included, works with DisplayPref, a CLI program ‘PSound SunRize Industries' sampled sound editor 4 recorder 'arore* for mak©ng'a rc ' files E.C. which displays the current Pre'erences sett:res Tcanmateri makes icons fcr most programs AMICUSPisKia BomgMachine A ray-traced ammaton cl a perpetual motion Barg- m akmg machine, includes the late s: version c! the "Fractals' draws great fractal seascapes and m xm an scapes Logo An ga vers cn of She popular computer "3D B /eakour 3 D c lasses, create breakout m a new d m e rs o n language, witn example programs. E-D Vovioprogram, whch has the abt.ty to ptiay sounds ’AmgaM onitor' d w a y s l is ls of open files, Tv'Text Demo version ol the T V 'ieit character generator afong wth the an mation, By Ken Off© memory u se. tasks, devices and ports in us© Daisy Example of using the translate and narrator devices 'C osmoroids' v e -sio n o l'a ste ro id s 'lor the AmtgL to make the Amiga talk, ft is written n C , "Sliders' Ugh resotAon graphics demo wmreN m Mcdjta 2. O xkF iir Scnpt-driren animation and sideshow program flips through IFF images. The Fred Fish Public Domain Software Library The Fred Fish disks are collected by Mr, Fred Fish, a good and active friend of the Amiga.

FirtriilifflaZE UfTptWars Anew game teafctong sound, l i e muse, and two Lab& Pnnj A program that a you e e&s-7 pnm tabe.s D-s An Am-gaXS te a re a w Jbra-y wTxte 3alyl)l krcst pen cf toe t o arcaoe game named payer ro o e. Ycu fghj you' c c e o 'tft « a aser for your asivs Inis is version 2 3 . an update to rrpiimtrtU a symocwC ingtMtsfrucian O x*. T hs verson f res some mmor bugs and rays, but oewa'e cf ihe mirfon refectng your verier. 1 S from i s k 210. S ratew re. binary aniy dsassemteer to- me MC68DC0 lam ij and a is taster r a n r e sre/o u s versions Trvs is snots. Binary cnty. Aunor Oiver Wagner [source ava-abte from, author) By: Andreas Krebs program whch uses tee 1 ora.7 to disassemcJe-' verson III, an update to the version raeasefl or, frcafanSjfcffi NGC Ye; inctherwrus check pragra.!, Cnecks ff:e dump Am .gaXS c b itc f-es. r akjng ItiQ use of on of interactive d m sem ty er lor the Amtga T hil* Ls Verion 3 1 ol the p oplar iNiX sty e drecto^ EMLKlMia Bvemunninj or underryjfirtng a. touted m emo^. a compiete version excepl that the ■ » « ' LPc n d n d sn c y cooes Proc Example program of rcw to create a f J '.c c g e : Btuitbs V a-c-s loo's submitted r>jer.c< by t e aMhor. «n the backhand, ren ctoses tee re* Cli in s (CRCs) Ten mode CRCs calcuated by bnk DC 3 pxcew w crout reec.ig to cal uoaoSeg Stsl SdingPkg % stnrg p ack ^ e tor boft Forth stye is v e rie r 5. an update to the v en o n on ask i £2 are portable across systems Itx lies Daf are n Based on an idea presented a* BADGE mcijces a-d NLL term «; e d sir mgs Da: si 7»Te a’e (tee verson on i s k 2*4 apoears to be on a the usual led fcrr.at on each sysXm Binary souxe Author, Leo Schwab handy tools for getl-ng and pnrting formatted date OiBeren evoiuiionary pate) This verson cor pies mode CRCs are pw taPe lor ftes thal are XprZmodem An Amga sha’ed - tv 47 wh»cn provdes and bTfl. utits arc utilities used by me om^r fJes. under Lactoe wth many cpum cater s enabled, moved Irom system to system without any ZMocem La trinsJer w pab ity to any XPR- CursorControi is an example Cl movng tne text and can be made re ise r!. incJudes sou'ce. charge Brik car be used to v-er.ty and uodate »mpat.bie corr.mancatord progam Verson t .0. cursor Spa^O iEscape is a handy word lev Author: Rob Peck. D arei Barter*. Greg Searii, an emi&edced checksum header unLes it runs ix-udes source Author Rckriuebner pausing or stopping program output L-dudes D ogK eier irtJer MS DCS, UNIX system V. BSD USiX. Fred Flgh Disk 297 scurca cade Ajftor- Roy Brumes XprbB Extern^; l^e manster prctocoi itrary Document VAXrYMS, and Am.igaDOS This is version 20 CUPriRJ An example of printing tn r e CU txm. assembly EvOl'joti TNs program g’apacaiy sirr.usates r e aiOL-ucrt cf and race exam.oe Jcr imptementtog external Ue &"d refu tes source. Author. Rahul Ones race, tidudes Sdurse (ol crarsei by Jeff G a l a spebes 0! tsuss*. r e h s a a *iic. Bras, transfer p 'c o c o s using Amiga shared Itrares. CateeCato An accessory to SkrtCFL lor use w.to CType Another tert fse reader, but tra* x e is i t j J . represented by moving bote, eat bscena Ths is a>*. updare to tee version included w.n tee A2620 cams or 63030 systems 5 ro d t.e s the rsascraoy fast, and rctodes ta-0rectonaj represented by s n p e p x ^ s They ntrfate. v t p-og-am or. cksk 226. By: Wily U ngtveU MMU table set up by SetCPU to seiecmefy scroling. sexcn, go to a given p e rc e 'a jc , and c o r pete for tood. re produce and pass sneir Fred Fish Disk 241 control caching lor each expansion card Its p n rx g capab .ues V erier 1.0, ncljdes sou'ca mutet-cri to the* offspring Fascratng example ASDG-rrd E «'/er,eiy usetol iharewire rrac-verabte ram i s o n example of how an accessory program in assec,by. Auchor: Dal No son cl grapmcs and software sm ulafiaa Siamdalone disk. This A m gaX S devce dnver mplemerts a can track down and mod fy tee SetCPJ MMU StnpCR Ths iitse program juSI makes a tert i-e ready for image arte sc*/ce code. Author: Russel Yes: completely X S c c rp a tb 'a dak Oevce m table without having to read ail kinds o' MMU use w,7i Amiga DOS. w-Ft on'y UfteFaed FFT Highly opt mil ed Fast Fourier Transform tods lor memory that survives resets. Quru s, and registers and f»gi.re it out Jor yoursel Verson c ta .a re rs (Lr) to ra .tc tre e.nd of a j-e. II you digita signal procesing. The FFT can be used to crashes. An absolute must lor teose w.t. lots of 1.00. includes source. Author: Dave Hayire feed it a f-e witn ONLY Carnage Return characters compute tne (requency spectrum of a complex ram. This is an update to tee version reeased on Cfclists Complete CRC check lies ter disks 00 i-231 (CR). (from a Macintosh tor example) it will repace ig ral. It is useful in a variety of different Csk S3. .1 now works witn up to 6Mb ol mem cry. usmg the br.k program also on this disk These them with ihe LF character and, 1! the Me requires applications. Floating point and integer versions. It was rewritten to assembly and isnow faster were made directly from my master disks. I no changes, then it does not get charged, includes Mixture ol high leva! and assembly language code. and mura smaler. Binary only. Author Perry have switched lo brik. Irom the ere program scurce in assembly, by: B.ll No. son Includes source (requires JForth). Author: Jerry KivPowiL. ASDG toe. Hi Quality Version Available on AMIGALAND.COMused to make the lists cn disks 133.146. and PlusCR Companion program to StrisCR, it reverses the KaBaus CBBS The WwRU BBS srstem lor use m amaieur radio, 173. because n has more features and beca-w proceeure P'ilsCH products a Ue ready lor use Guru Handy ‘guru’ number interpreter (welt, handy alter Or.gna iy written lor IBM PC compatbfes it was source .$ avaoabe Author: Fred Fish on systems which re tir e bothr«e CR and IF reraci anyway1). Telis you what ‘31003009* pcrtefl to the A-.ga by Pete Haro* Tn 1 ts FredFisJiDiaK.234 chara^ers to mark the end ot a ire (such as these means larexam.pe Cli usage only. Sta.ndato.na vorior, Btcwite source code. Auteor; Han* KwikBackUp A hard^sk backup program mat wr.tes ruf.vvg US DOS for example, incudes source ut image w.tn readme te . Source code included Orecira, the C33S ytxp Pete Harde data tac* by rack onto mutt pie floppy d sks. assembly. Author. B<1 Meson Author WkeHaas Fi*66ut0 a p ognm when patches executeb es te n tu to Uses the archive b* saves and restores StripLF Go- pieies n e set of StnpCR arc RusCfl. S *•- H£J Ccr.erts C style '.h' -rcude fi-es tc *fdfth run or. machines equtopec v O m M68010. so com mens and ptcecran fags, ana skps over change an LF crty f..e .no a CR criy t e ;! used ei ') f es Useful when ce-.ecp-g ;'3 -'cces tc re * that h ey no ;crger use the promotes pr, .1 ecgert bad soots during restore. Verson 10. v e to e s c c rb ra tc n wth S'j^CR and F<;sCR S Am.ga bni-.es AR? etc. Sta-oa'crte i r s ;e irtfirjacm . &TA7 only. Author G 'eg y B-'irdl sou’ce n Modula-V Author Frey:! S^tert ccmpetes a text Me con-^ficr system, incudes and source code Arancr: Phi Burk Man A crogrem im ia r to the JN'X ‘man* program MucnMote Another program ike ‘more', ‘loss'. ‘pg‘, etc source m assem by Autncr BJ t*frscn HAM.m-T.m2 G 'jp x s hack that ospteys moting ire s in a D sp iy s m'c/ma'cn atxxt a tos sa removeaJ re iv e s, Printlt A program to print IFF pictures on Epson varies enra.-ce.me.nts. tooioes examples cl cevces Pi3; i a ser^s cf bee?^ woose > :c to 2 a; a u ne. by ,mstrung denical t>es Vereon compat b e 9 > h pn.Ters Prints in many using rxe o r a .7 irom C code, assem t>y race, or are based on a just intoned L rung system. 2.1, toCudes s a rc e m Models il Author Twtt resolutions. with many ways to convert color 3AS.C. a o ra wrfh sou'Ce ter ex * m p « and S’Ahdacne image wdh sour® race. By. Phi Burk LfiW4 p cs lo black and wtste. Verson 1.0, indudes iniertace raoa Author, jefl Gar: M inderro: A fast Mandelbrot rendering program r a : uses source in Moduta-U Author: Fr.ct/of Sieberl P a O x Shows hcM to a .ocate and com. ,mu rteate d r e d t some cf the mathematical properties o ' the Boo'.Bccks Detei ed documentation cn i»ha: a oootbiock rs WBP c Replaces Workbench's coor 0 with an iFr hires witft the p a ra port hardware Irom an assembly Mance trot set te greatly reduce tee drawn g time. n d now it works. ?tong wih some sample non-interlaced p c u re .m 2 o r 4 colors. Version language program. Incudes source. Author: Jeff Demorstratos graphics programming, assembly booTi>ocs and the install program. Author: XHair Replaces the mouse pointer with a screen wide Amiga processing speeds. Perlorms 10000 NeuralNel Example of Neural Net programming converted JocaLtean Poner crosshair, which is useful for positioning th.ngs iterations ot som e selected groups of 60000 10 JForth. Demonstrates a program ntmg technique Check4Mem A lews you to check for a specified amount of vertically or horjontaJy. Version 1.0, includes ins^uoioRS white using the DateStam p ;m e tnai many say is the wave of tee future lor memory, with certain arhbuies. from a batch Me. source in Mcduia-IL Author: Fricijof Sieben function to record how many licks il takes lo software. This is a im p e demo that shows neural ll the reqoraments are not met. a WARN EmLBs*iflisk.235 complete. This tim ed Curaton is f a n com pared pr0pa5at.Gr> Starcatone image witn source code retu mcode is gererated. Verson 2, incLdes Cate Key A basw: lour funcion, memory resident, pop up agcirst two known ptestored times. cr« lor a stock Author Robert E La Ouey, pcrsd by Jack Woehr sour® Author: Jonathan Potter catoutttor when uses Otfy about 24 K Cl memory A2C0 C Amiga a rc ore lor an A2623 enhanced T urin This easy-to-use ten eo tor stows m Jip e CustRaq A gionf ed ASK command tor vour sartup- and can au&nafcaHy type the answer to any A2C03 A reat.ve corpar.son 15ClfcUJted arc windows. ar>d p c .id e s a simpte morae dnver. sequence. ! gene'ates a requester wite the ca-cu'ason into the program you were Ling dismayed Venon 1 0 , r c t j » s s e v e e m mterfate These tam.ia; wite tee ‘Macrtosh stye' to eo 'u d i 3e. tu L poifr>e and regatve gadgets when it was peeped up V enon 1 0. btoa/y assamby langra^: Aicnor Jei San enters w'i be comtortabto with T e c a s Cut. Copy (ether cf when a n ce toe ofaJ!) m e in crsy. shareware Auteor. Crag, F,steer fttflriiTPMfiS and Paste commands. Sta.nc4 c r e image. cccon* trr.eculvara Venon2. ncludes Ct An Amga program a ttspiay mag«s lo r. a C l CVi’Demc Demo verion of 1 pop-up ut-,ry to comrc. r « ztix DocuTtercatteh .x ijd ed No scv rerad e scuxe Author. Jonatean Poner scanner, acng with several new rtetesing ragster assgnm ems cf rtjtcr- custom screens Autncr U keH aa Fiefleq Ttss .s Jonathan's seccrd ‘rtrso n ol a He sample images cf scans of rear people The Version 3.1. txna/y cmy. Autna. Kerbersoft Fred R shD .sk 2*0 requester, and s nucn mere pcwerfj n a n tee d sp ay software, tecug-i 4 has a primitive user DUouse A versoite sorter, i mouse t*ar*«r. auto w rccw CrossDCS A Tywire* vers on of a nourtabie U3-DCS fie e re iTcktoefi on osk 204 Shareware, rtdudes interface, is quite powerful, metering tunoons acbvaior, ro u se accee.atc. pcpt- pop w-.ndcw system for tne Amga Trts 1 s 3 scftwrere pracuc: source Autecr: J c ra rjte Poser 1*0 ccrYcnjior.5 averepng. Lsjwoar s. unsharp to front, push wi-ccw to lack, ct:. wdget mat Hlows you to read and write MS-DCS FC- FuiView A ietovew erteaiusesgacgessattoeboftonof mastery, edge detectcn. grad.era. etc Th.su Includes Dune Art, a screen Kanvver rep aram ert DOS ana Atan ST tormaned dson3 0 .0 . shareware, ■reatony verscn, whch to e s net atow any writes features. Ths is version 1.2, an update fo verscr m the screen, or convert the screen to black and bn a ry only. Author: Dorvad Toison to toeddk. A f’jftyr furic bonal versron is ava'abo tor on dak 204. Indudes source, by: Jona than Porter while (grayscale) Handles HA.V and EHB CU-CoforsA smpie LSe program 10 change the eotors 0! me a very reasonable price frcra CONSULTRON Ths PP-ets Preferable Preferences is a program designed to screens Ve»swn 12. rw-'ades source in border around a CU window. Includes source m rs vcrs>cn 3.05b, an upto'.e to verscn 3 0 2 on dsx replace the standard preferences, that s s-tener. assembfy code, A uJw: Roger Ftschln assembly coda Author: Michael S rn 240. Binary orjy. Autoor: CONSULTRON. Leonard more efficient and easier to use. Binary only. Fred Fish Disk 245 F5pper SmaS. fast O’.helo program. C o n net use any Poma Author. Jonathan Pcoer ATOr A small uttty that atows you to use the fonts of k »k-ahead m ethods. Binary only. By Michael S «4 TrexTrvia Very nice rrtousre-drivai j.v a type program for Star Maze An e ra m p e of a Mfy rerenfrOT m aze g e n e ra to r PateneReq An easy way to set the patetts of any screen from another tfck without using the CU. Version 1.0, Trek fans. Contains 100 questions with addbooal procram wrtaen n assem bly language using your prog*aro. includes scuce. by: JonathanPoSer binary onfiy. Author: Roger F scMli trivia dsks avatabe from toe autfor. Ths * verson Mara's assembler. Ltofudes source. AuTia: Popfnto A sm al unity whch *pops cpen‘ a grin you Bootktre This program creales a smaD nfro cn 2>o 2.0. an update to toe verscn on dsk ISO. ate Docttlocx of any disk, wh.cn will appear after you M chaO S n z infcrsriaccrt about the stab-es c! y a r derices a te includes se^ectabte swi! levels, a cheat mode, arc Lrsertuhetlsktarbootng. T h u * the “next Net Ha rd e r The Software CXsulery's network fie system memory. This is version 3.1. an update to version 25CKddgwedmussc. Boaryonty, shareware. generation' Boot Intro, a more cdcrful version nan hand'er (NET ), u s n g Matt Dilon s DNET to mount 3.0 a t dsk 223. Indudes source. Author: Autoor: George Broussard tho one cm dsk 244. but the tert must be shorter. e r e Amiga's d e n c e s c n another Am xja It also Jonathan Potter The first fne can be up to 24 characters. The serves a s art exam ple tie system written ertorefy in Zerj An LMma done toat ax e s y a r character through a ZeroYms A fully rtegrated v m Check" and ta&?. won uonal ceW ar automaton. Crodis a Tabe ofctem erts. Can display a large amount cf fragmented memory environment. This is verson assembly code. Author: Ware Ftschln automation based on a sun mdes role. Demon is a pecnem data abou: a selected elenem a’gng with a cycle space automation described m tr« Aug 89 2 0 . lean in g many bug fixes, afulinkidon VIt This «s a binary update lo the vfl program on disk good Oea1 of general a te misce-ianeous nfo Ths Scientific American, and L ie is one ol toe oldest interlace. configuration settings via the icon, and 226. and fixes a prob'trm w-*h external protocol is version 1 2a an update id toe verson on ask support You sbii need the rest of me fires from and best known ol a < ceftoiar autom ata includes more. Indudes source. By: Justin V. McCormck 175 ll tw es faster, takes uo less 0 sk space, fixes disk 226 Versan 4 065, binary only. Author: Wily source Author: Gary Teachou! Imagelab A program which performs m age processing on a rruna bug. a te adcs a coupJe of enhancemams. U ngevdd S k e r S ice r com putes and a sp ia y s im ages o 'tn o IFF p mures. fnctades standard re,age processing Indjdes source nModUa-ll.Autfto*: Fndtjof Seben d pboard, and other usefuf functors. Verson 11, support, and mere. Binary only. Author: War num ber c! w ays. V erson 1.0 , binary only. Author: MegaW3 A program that makes .1 possfcle so make yyj binary only. Author: Gary Mifiom Dflon GarrTeacnat WorkBench screren as large as you like Version LPE LaTeX Picture Editor is a graphical edicr for U boPr-rr A program e a t allows you 10 easily prim iabds lor T t/M ce A r w d m e n so n a l curing m achine sim ujior. 1.2. Source m Modda-fl. By. Fnm;ol Seocrt Hi Quality Version Available on AMIGALAND.COMprododng ‘pcures* ter Tie UTeX system, which Im a g re a small bug a a w tn g around on your your Osks Ths is verson 2.5b, an update to MuehMore Anothre* program ike •m ac', ness', "pg*. etc. Thu Computer dspfay m o v rg one p u tf at a time At may be imported by LaTeX. You can draw bores, version 2.5 from d*k 238 Shareware, binary crty one uses its own screen to stew the ted usfig a each step t uses its TtemaJ stete number and toe dashed boxes, fines, vectors, orates, b u e s with (spur^avalabte from author). Author Andreas slew scrol. Lteudes bofi-nherp. commands to Krebs c tfor cl toe pixel it's cm a s indexes into a se t cf centered t e n and plaintext. This is version 1.0, search for text, and commands to port toe text NCcmm A termoal progrim for the Amga based on comm tobi e s to d e c d e w hat csior to change tne p ie t to. binary crty Author: Joerg G&ssfef Works wto PAL or NTSC, m normal or overscan version 134 Has hotkeys tor most program w hat f r e c x n to m ere, and w hat its re«r inum al NoCkx A program which siencss r e ckriing cf empty modes. Supccrts 4 cocr :ert n ocfo. raic. fu x ten s (mciuJng daing up to 10 phone stole shoud be. Source. By: Ga-y Teachout drives on the B2000 under AmtgaD0513. ft numbers). PAL and NTSC suoocrt for normal a urderiirted, or m-rerse fores. V ersro n 2 5 .to isisn should also w r t on an A5C0. This is version 35 mertaced screens, xreer. 10 greater than 2400 ASdnpfei An im pem entaC cn cf the Sim piej algorithm ter update to version t S from K k 234 foctodes a fast m rcte update to FF2*t. irfu d e s assempfy baud, ANSVVT100 te m ra f em iation m ti fuJ 3 sofvng tinear program s it u se s to e stondarduec SOuTOO m Modula- H a te assembi-y code. Autoor source code By: N eman tecv e aio r text sufpcrt IBM graprtcs, cpocnal M F S X -fonat for r o u t data files. T h s s versron Frdtjol Sirebert Password A program which enhances your computer's trjnstation styles, spU screen node, full user 1.5. an update to rerscn 12 on ask 129. MutoSetedA smafl program toat makes e pcsstxe to select s e o rty by making it compfcaiedenoujfttoat ccr.ro/ cf color palette, furl support ty an European C hanges n o d e bug fixes, th e aUnty to n n from several toons cr toe w crvioxh wtoout having lo CU, fts cwn wirdcw lor LO, and some i«wand users without y ou password w i get d: oxraged languages, tuii senaf port ccntrof with baud rates press tne Shift key. Ths 15 verson 1 0, mciuces improved commands. Irdudes source Au'rtcr: frying to tx»t and use your system. Thij should up to 192C0, scrpt language, Phonebook, souce in UoGuia-;i. Author. Frictjol Sretren keyboard macros, and more. Version t j , binary Stefan Forster keep out most casual cr rortechrica; u sets. PtywerPacker A shareware commite a.te Cara cruncher, win crty fijtv x DJ jam.es. Dartef B'ocn.« . a!. Gravty-V/e* A celesta! mown sm iiator la ! s-muates toe Version 121 p, binary crty. Author. G eyge Kerter a U ria * c n user interface Executabre fie* whch NoCI ok A program whe n silences the cltdeng cf esr,p7 meben of up to y e n y tx c e s in a Newtonian Pccpy Aninfrjiicnbasedciskcop^siTiartoihe are crunto-ed are aufofiHbctfy deoorched upon dnves on the B2000 under AmgaDOS U . It i/Yrerse. The view ol tore simuacon may be resident 'DsskCopy'. This is verson 2.0. a hgrty sho^d also wort cn an A500. This o version 3.6. scaled, rotated m toroe dmrensiys cr reposdKjncd execution, thus saving pr&ccus ddk spare on upgraded rewrite of n e verson on tfek 151. It an update to version to verson 3.5 on disk 243. Includes source A u t e r Gary Teachout system,s witobut hardSiks Versfon 23b, binary features f>gh speed diskcopy with wnte venfy and inpudes assembly scuco code. Autftort Norman Paranods An asyljm escape game. Pare nods is a fradbona' orty. Autocr Nico Francos data recovery from damaged tracks. A lot of effort Istcve board game payed by drawng cards, re t ng dee. WBShadow A smal program P at creates a shadow for has gone into making this copier friend! y in its Screcn&ure A Ibrary and support piograms that enatfe arxdmov.-vjpte^s around the beard. Each player everytostyj that $ d spayed on your WcxVBench has six preces, four patients and two doctors. The usage, as well in its nulStasteng properties ap p ia to n s lo open up windows on ether (Witeo-ws, toons. Gadgets. Menus. Texts, etc). V object cl toe game is to get aS ol your patents out Binary orty. Author: Dirk Re--sig applications’ custom screens. For example, your 1.0. Source in M o d u li Author. Fndijol Sebert of toe asylum. This te verson 1.0. tffw y only. Sxr Gen This program will add a 2 cr 4 color picure to your editor n ay want 10 open a window on your terminal With CLI command that atows you to start any other CLI emulator's screen so you can compose a message Author; Rchard Andersen and Gary Teachout WorkBench screen. If Lhe piduta is digitized, i: wS command several trees a te g:re it aH toe files that white sDB being abte to see the contents of lhe RPSG A reverse pdish scientific catuto'cr RPSC »s a look much Ike a genlock, hence the name Sim Gen match a file partem as an argument, one at a t ree terminal s screen. Both applications must programmable RPN calculator in'he Hewlett- (Simulated Genlock) Binary only. By: Gregg V 1 0 Mteia-H Source. By; Fndijol S ew rt cooperate for the screen sharing to work Version Packard tradition, it supports operations with teal , Tavares Fred Fish Disk 254 1.2, includes source for interface pontons. Author: numbers, complex numbers, matrices, and 3-D SuperUnes A new imes demo with a reaftime con;pi panel Wily Langeveld vectors, as wen as storage and recall 0! labeled Etale Another 'm ore' or le s s ’ type file reader, which that you can use to charge various as; e-cts of too Ty A text display program based on Amiga less* variables. Data and programs may be saved, differs from too ethers m that it supports action. Has 10 bull n color palettes, support for version 1.0. Has both keyboard andmouso control loaded, or written as ASCII text, to AmgaDOS superscripts and subscripts at very taw memory tfvngs ike color 'sm udge*. color cyclnc. cotor of a 1 functions, an intuition interface, and uses the files. V M , binary only. By: Gary Teachout cost, ana supports a complete Greek alphabet. ‘bounce-, multiple resolutions, and can display Amga s p o o k keys (such as the Help key) E f£dfiS tl.D i5k 251 Includes source, Author: Wiliam Hammond Debug A symbdc debugger tar t e Amiga. Features either lines or boxes. T hs ts verscn 1.3. binary ccrrocCy. Version 1.3. includes source. Author: Macftll A ‘mouse accelerator' program that also includes include symbolic disassem bly, sm p ie expression only. Author; Chris BaSsy Mark Nudeiman, Bob Leman, Tony Write hotkeys, tne features of sun nouse. cftoktol'ont. pars-ng. n jf jp ie breakpoints, memory til, memory WarpL'jl Wa-p (verson 1.11), UnWarp (version * .0). and FadfititLflHmz pcpci. tide bar ciow with a bbs on me charge acsu- AnalogJoys&ck Software support for use of analog py a d s dum p, single step m trace m ode, step o /e r WarpSp'it (verson 1.1). Warn reads ra w mu-taw.ate more. TNsisvers'or on Lhe Aroga. Includes a dnwr. a header frte for subroutines, etc. V2 10. binary orly. AiChcr: J in filesysieres and antoves mem into a ec mpressed 2.6, an update :o verson 2 4c on disk 163 B-nary cede t e l calls lire bnvw. and an example p ro la n verson m a normal fie. UnWarp turns them back Thbodeauand Larry laPlume that uses T e dnrer, hdudes source. Author: oniy Author Brian Moats into filesystems. WarpSdrt spots them up into D skS aV A d$ k reccvtery program for a i A r.g a fie system Gavt) PabemLb Asharabie te a r/ when roplere.erts Am^aDOS K.nrcr derces mat use either toe Amiga Standard Fie smaJter pieces cn a track by track ba s r. Binary Assam Toois A colificton cf ftes whidi should be cf pattern r.ascSrvg, and a program r a t com pies *to* System cr toe A r.g a " a s F ie System . Oisksatv crty. Author: SDS Safrware great cterest to Amga asscr.tfy language fies nfo 1 teary headers a te ntertare stubs Frtd R 5hP) featumg rv^es scrotng. la-ge playfield. dsk lorranappficaions. Ths ts an enharKed and de­ BADGE Kiter D ero CoTfeSt- it wen 6th place. deserted in Tie August 33 ssue ol S cetefe based high score kst. stereo sound, mUbpie le.tfs. bugged verston ol a pubtc O xvin tfiray, tte de- Bina.7 only. By. Lie J. P e s c te r (Dr Gandil) American- V1A2, induces source in assembly a cheat node. rea,istc reroa and gravnaional vetopm.ent d whch was spemsaed by tte US Gov- Fred Fts?i D'sk 273 code. Author A. J. Brouwer effects, an an n ated sprte, and more. Use a e m n e a This kfarary is required tor part d r * Mat- EartteFcroe A ncfiy cone shareware game, submiped Make con This program v j make an ex. ( rio fife) usng pysuttcpori2tocortroirieship, Thssverscn lab package, also vroiuded cn th s ds*. indudes by tte setter, r a t sm ijates combat betneen two image data from a tier another icon, cr an IFF LI. an update n Tie verson on d sk 148. tottudes so u ro ef FORTRAN. AuJxx: Hal Brand, Crag a m a e grart. robct-ike machines- Trvs s v a s c r picture We. The imago data is drawn on the souroe m assom by code Aurpr: Clver Wagner W uea. James Locker 3.61, an update to version 3.01 on osk 205 screen so you can see exaeSy what your con w3 Frsd Fiifi Cisi.*50 Mattfe A versa:’* cLmacro-key r .t a r r based on Bmary orty. Autha: Ralph Reed tookUro You can also go me other way, and Accadton Derr,o version c! a so tir a type card game The POFCU w.th a uiique method of FemyWrse An easy to use. texibfe casnsock program make IFF files tram icons. wtteh can then be te je a ol n e game & to urtier.se al T e catls rto ■screenBarkng'. 1 went say more, rust try it1 Tru an Amiga rauaon rtertace. : can tfe us sd loaded into a standard IFF graphics ecsicr. ere pde. The carta a-e dealt ! a » up from te*t to is version 1.3, an update to vaso n 1.2 Irom dsk to keeo tack of tte financial transaction cl a Verson 1.1, binary ofy, source available Irom r,gh!. one at a une. Piles a fe bul: by moving a tS9. Now reiudes automate g ew ascn ol cheque, bank, bus ness, a simiar account Share­ author. Author. Rauf Brum card ap fe tro m th e tet ontoa card or pie to the afferent patterns and some bug fixes tocUdes ware, bra.'y cniy. AuSwt Pferre A du Parte MED A music editor ro.usn Ike SouteTracker, A song nght. V t .0.1. bmary on y Autha: Steve Francis source. Authci'; Tomas Rofccki Fred Fish Disk 274 consists of up io 50 Bocks of music, which can Calculation Demo version of a solitaire type card game. The Mafiab A FORTRAN package (MATrii LABaatoyj HP11 Emulates ar. HPt 1C ca'cu'ata .ndu&nj tte pro­ be played in any order. Editing features include object of the gamp is to stack the cards into lour oe/etoped by Argonna National Laborataies fa n gram mode Features anONGFF tuTcn F at turns cut pastefoopy tracks or blocks, changng the ordered stacks, one that counts by one, another house use. It provides canpronensrve vector and tte c aJaiaia into an icon tlrat will sit a te wait until vibrato, tempo, crescendo, and note volume. that counts by two, another that counts by three le n sa opera tons in a package which may bo you n ew it again. This is version 5.1, an update !& Other features incfedo switching cl the low-pass- and another that counts by lour. Version 1,0,2, programmed Dither tJvough a macro language or FF153, a te includes a tew bog (nos and minor filter on or off on a per song basis, and a cute binary only. Author: Stove Francis through execution ol script files. Supported Changes Binary only. By: David Gay litde animated pointer ol a guy doing ‘jumping CCUb An implementation ol the standard C library, that is functions include fiin, cos, tan, ardunctons, upper KeyBiz This little hack wJi make you think you have mice jacks' in time to the music' This is version 1.12, dcno as an Amiga shared library, containing over trianguia*. lower triangular, determinants, matnx scurrying around in the back ol your computer. In­ binary only. Source for a player program 140 functions. Version 1.3, bmary only. Author: mteipEcatkm, identity, hubert matrices. duces source. Autha: Mark Sch.rotfen induded. Author: Teijo Kinnunen Robert A'brecht oigen/abes, eigenvector s. matrix roots, itnatrix LookFa A general find that Me' utility which is handy fa R o ta te d 10 A program to transfer sound samp'-es SeaHaven Demo version of a solitaire type card game The products, inversion, a te m ae. Armga spe6 !>c Iw d drives, multiple drives, Ate muti'ayered pans. between the Amiga and a Roland [MiG. Version object ol toe game is to separate the deck mto its leaturos mc'udo workbench startup, polar plots, Includes source. Autha: MarkScnretfen 1.0. binary only. Aizhcr: Dieter Bruns tour suits, each in an ordered stack Irom ace to contour plots, enhanced pot buffer conrof, and SideM aster A sidestew program that can snow a*.> IFF RatandS220 A program to transfer sound samples ting, Version t .t. bmary only. A u ra r Steve afgochm icplotdisttaygenaaton. Includes ILBM pcture, mcfrjpfg HAM. e*ra haU tnghi, between the Am^a and a RBand S-220. Thesis Francis source ir, FORTRAN. Autha: Clove Motor. Jm hres. r.isrtace. a te o^erscart, using severe version 2.0, an upd3ie lo MID Isoh version 1.0 on Fred Fli&fliik 261 Latter dferent wipos. Also has an AReut port ate a disk 199. Indudes several enhancements. Cop&s A copper kst ttassem bief that can be nm Irom the Fred R sh Disk 268 farty smal. Vers.cn 0.1. brary a iy . By k c Cifey Binary cnty-A -ror Dster Bruns CU or feikod w fi and run d*ecty from an appxa- Docta_A This annation of Am^juyonTie baskettaJcoatis Snap A s b for ttppmg fert a graphcs from tte screen. SirM aze The 3d maze d e r e from 6 sk 171, rcw expanded ten program. This isversron 0.0a and m o jte s Warm's erorytotte 1989 BADGE Kxl& Demo u srg the dCPCA'd dence. Gnap finds out wdh shadows in ff* condors to give mere sensa source A una: Kad Letenbauer Contest. T te m m abon source (tor ScUpcAtena^* character cootthetes autcmatealy, t e te e s ol director in c ite s s c u te . Aufwr: Werner ShcwBiZ A tun aam atcn with mice, a dancng aligator, a 40) is avalabe t o n Tie au to r. AuTor: W arm dfferent biros, keyr.aas, a ro e re c characias, ate Gaither, Shabcvrs tv Dirk Res-c stefeponatrampolne.andrBae todudes scute Lands more. V sraoniG , teludes source Autten Fren Fisti D iik 2 » r ’ttrecortormar.Auttex: RoOfflComs K k» This fnea.rt demo u Jerry senary to tte 19B9 Mkaet Kartsson BitDemons T hs program implements the Demons XprZmoden An Amiga shared itrary wrachprtwJes BADGE Xalfer Demo Contest, where it won4th >dper Very ccmpretete.-rfe program to n c r t a a te eeftkar automaton as described in lie August, ZModcm fife transfer capabUy to any XPR-com- place. Wde uses tine node bffler code whch 5 canrol system aonty. Monca cpu. merrory 1969, issue of Soon tte American. Using patbfe comrurvcatcns program. Thsisver&on caaable sf rendernj shat vectors at a rate up to usage, ports, rtan u p u , cevices C ase wteows. extremely simple ale s it exhixts rather complex 20, an update to version 1 0 on bsk 236. It ados 15.000 ir e s second. Binary only. A utor: Jerry screens, stew leaded fonts a tost Guru code behavcur. Uses the blitter to perform over support tor XPR spec v«ston 2.0 capabkdes, r r Kalaus nanber. Clean up memory, flush unused ibranes. 350,000 cell* generators per second. Version cJudmg automate download adivabon, better user (WyAmigaThs demo is Rob’s entry to tte 1969 BADGE Killer devtes. forts, etc a te a whole bunch m aef 1,0, indudes source. Author: W ater Siricfdsr nterfaM fa setuig opbons. ro proved fransmission Demo Contest, where oa user group1 s c-d source Author Jerry Tramow FftdFisfi Disk 276 Used to adjust the c d a s of any screen. shoebox lull ol membership rutibers and names RadBooge Ths demo, which wx. 7th pace m the 1969 Bb; Ths an matron is Rcha/d-s entry to the 1989 Automatical adjusts to screen sue. number of and add some pizzaz to tte process of d ra in s lor BADGE kite' Demo Contest, uses almost a3 BADGE Kiifer Demo Contest. An interesting colors Has many features inctodng SPREAD. doapnzes al Uub meetmgs. tteudes sou-'ce features of Tie Amiga exfenswely, mdudmg tte feature of Jtos animation s that it uses the Copper COPY, UNDO. RGB. HSV, as wo3 as Aytha; MikeGroshan copper, Utter, sp r’e hardware. 660DD machne to stew the fewer right c o n s cl the screen in He customizable gadgets. Binary only Author JeS QMause A very trnal mouse acce erata (4K) wrden in la-guage. a te preempsve prortzed mtr.itasking- Res, wTiie leavmg the rest ol die sc*een in Lo-fles. Gian and J m Fore a sse rb y language, but wito most ol the lectures hdudes source. AuTar: Dave Quck, Mark Riley, Binary crilv. AuTcc Richard Adtfeon R e 10 An update to the fie requester l.bra.'y that olr.s larger coussfit. Not related to CMouse on Tomas Rofecki CkkDOS A 'droctoy i/JJy* type program whch is appeared on dsk *203 Ths one has tew disk 49 T bs is version t 6. shareware, b r a y ShowOisk A uscfJ program that graphcaly stew s the map of reasonably sn ar. uses a single window on tte features, octode fifes, bocs. and examples in C. only. Aufftor: Lyman Epp sectors used on floppy Onvos by cno a m a t fifes Workbench screen Iwhch Can a &o be room'icd), assembfy. and B ase Binary onfy Author: Jelf QVrCW A very sma'l life view program (only 3Kj wrflen m The mapping is cctor coded so y w can identify does not refy on otter programs l a most ol its Giatt and Jm Fore based on orgmat C by RJ. issombfy language, but with most ol the features what sectors are usod by tte vanous d ro cta es functions, a te is very mem ay efficient. Ths rs ik a i ol its larger cousns. Version 1.1, shareware. and lies Indudes source m assembiy tanguage. ver&cn 1.10. binary e n v Author Gary Scon Yates V* VLT is both a VTl 00 em ulata and a Tektxnur Dmary onfy. Author; Lyman Epp Author: Bermard Mesner DateRec?jester A modi/e r a t provides intuition tesed (ecu plus subset cl 4105) emdator, cuienty in WakJDataBank A project usng geographical data. SpmPoiroer While g a te through some musty archives I support for soliciting a dale value from the user, a use at SLAG (Stanford linear Accelerator declassified and made available by tte CIA under loute this M e gem that got overlooked before. 1 supports both poirt-and-cfick sefecton of date Center) ASough lie VT100 part was ongmafy t e Frecdon ol frrformaicn Act, lo draw a Mercator is a short s c o w modufe itel provtoes a "busy* values a te dLrec: entry of t e inc.vdjal based on Dave W etter et al.’s VT100, many a o ^ a o i d any area of tte Earth that you would indicata replacemen; l a tte standard mouse ccmpcnerts. “ also rxfodes a srateao re AR*xx enhancements were made The program recures Jce to inspect, m vanous degrees of magm5caMn. porter tetodes source Autha: MartRWrtt drrren date req^sier program whroft can be catod ARP and c fa s an AReti per. XMODEM \Kj Also nctodes a program m i tfspiays a ‘satea ae Fffiilfl5aDiik27C from ARen macro files. Inciudes source. Aulror: CRC and K em t protocol support also included. new’ of any r e jo i V asoo 2 0 , mctodes source, W umnSef A fext iJter p ro la n that takes as mput a life Mark Rrnfret Other tea ir e s rc t.d e supporl for add bora! Autha: Tte CIA, Mika Groshart. Bob Duftord with e re wad per Ire ard produces a fife with F f r t Fisfi Disk 2 7 7 senal pens external lie transfer protocols, and FrtdFitflDiJKZM these w ads lad out ti tte same ao er r, even ARTMARTM [Am ga Real Time Morota) d sp ay s and ‘ch ar mode. TheTektronaem Jadonitow s Sent nei A large ray traced anm aicn created win Turbo t e o c t e as many as wfl M across t e output ccnTcfs syssm activity such as tasks, window. savag IFF files. PostScript lies, and pnrcrg Silver SV. Deluxe Fhototeb. D dm e Paira III, a te screen cr page with a! least one space between tbrates.devces. resources, ports, residents. b tn ap s 0 the primer. This is version 4225. an tte Director, 4 comasts of aoaoxjmateiy 60 to 70 columns iteudes source m M teda-2 Autter: interrupts, a te vectors. Version0.3. binary crty. update to version 4.C65 on csk 245 and version frames ol ahniaawi. rendered during a perod ol Kent P ad Doan Autter Detmar Jansen a te F. J. Menens 4.Q3S ort dsk 226. ficcm esin rw v esto n s.cn e about rtreo and a half weeks This is Eradey URBackUp A hardd.sk backup irtfity that does a fife by Iccn A fagh-fe^ei programmirg language wifi extensive wth Toferom emuaticn, and one wdhoui Otter Sctenck’s enty to Tie 1989 BADGE fOBer Dem.o He copy to standard AmgaDOS floppy ttsks fecntes f a processing strings a te fists, toon has changes include fol XPR vers.cn 2.0 support. contest, a te won first place in tte contest. Indudes an rtmSon interlace and fife compression. several novel features, including c ia e s s c r s that and a soolbattTeview.Tistory buffer. Binary 3ecause ol ns W e. it has been split across two Ths is verson 3 3d. an update to verson 2 4 on may produce sequences ol results.goiHfinded only, Author: Wily LangeveW disks. Tte rest ol the files ara onttsk 264. disk 170, Binary only. Author: Mark Rmlret evaluation that automatically searches l a a ESd.asM M .2a Requires 3Mb a m a e ol memory to run. Author; TooVuchSD This anmaticn is Jm 's entry to tte 1989 sxcessfuf result, and sinng scanning mat allows Backup Backup and Restore allow you to b a y up any Bradley Schenck BADGE Killer Demo Comest, where it won 10th operations on strings to be formulatod at a high directory Tee with optional compression, and Fred Fish Dish 2&4 place. M is a warmng to those ol you who spend conceptual level, con resembles SN 060L4 in its later extract at or pan of she tree. The protection, Sentinel A targe ray-traced animation This is Bradey too much tune n front ol your computer monitors. emphasis on high-level stnng processing a te a date, and file comment are saved with each file. Sctenck's entry to tte 1939 BADGE kCDer Demo Binary only. Autha: Jim Robinson design philosophy that allow s ease of programming This is V2.04, an update to FF168. Bmary only. contest, a te won first place in tte contest. Fred Fish Disk 271 and short, concise programs. Tresis version 7 5 ol Author: Matt Diton Because ol its size, it has been split across two CPU5:andctf This cute ‘computer wars' animation is tte public domain tmplefnertaion o! to n Irom the D Mouse A versatile screen 4 mouse Banker, auto window disks. Tte rest ol tho files are on disk 263. Audw: Bob's entry to the 1989 BADGE Kilos Demo University ofAnzcna. U is an update to version 6.0 activator, mouse accelerator, popd;, pop window Bra dtoy Schenck Contest Lois of visuat jokes m this ote. Bmary Irom disk Bt. Binary onty. Author; Ralph Griswold, to front, push window to back. etc. w dgei Fred Fish Disk 265 orty.Autior: BobJanousok Clnton Jeffery, efial. Indudes DUneAn, a screen blanker replacement VAUX Kiier A very fumy animation wtich wen 2no Laser Borg This ray fracodamnation with sound o UbelPrirt A program that allows you to easily pnnt labels l a program fa use with DMouse. This is D Mo use place m tte 1939 BADGE Kite? Demo Ccrrtesl Mke'S enry to tte 1989 BADGE Kilter Demo ycur disks. Tfus is version 3.0, an update to verson 1,20, an update to the version on disk Because ol its size, the demo a sptt across Two Contest. Ths 'Amiga Bang* bat is just loaded with v e r s a 2.5 from d ik 23S. Shareware, bnary enfy 233 (also cafed version 1.20). hetodes source tfcsks. The other fies are o i ttsk 266. Two floppy energy' Bmary only. By: fiike van der SorTiXen (source ava.iabetcrti author)- By: Atereas Krebs Author: Mac Dtior drives, a a hard dsk. are sTangfy recommended. Fred Rsft Disk 272 LPE LaTeX P ose E dca is a crashes' edfor for STRepfey A shared ibrary whch a lows loading and playrg Erary only Author. Roger C aren AngaPuroA program d es^ted to predict the performance of produang fo tta e s ' for Tie LaTeX system which of Sound!ratter modiies, even Iran regb level FfW Flih Disk 266 h a s e s in a rK a The prom.se is that tte tartas nay be impaled by LaTeX Ycu can oraw ocias. languages ike B ase a C. wtncu! any speoal VAUX Kifer A very fumy arimaten which won 2nd affect ng a hqrw I performance, a te lAmafefy tte cashed boxes, tie s, vectors, crates, boxes win eflo i includes source. Autocr Otoor Wagner ptace m tte 1SB9 BADGE Kiler Demo Coroest resurtofttera».canbegwenava-us Bnary ceroered text a te plain feit- Tre$ n version i t . $j&£> The support Ibrary needed to retuid ra ous Because ol its size, tte demo a so t across two orty.Aufur. Pierre A du Pir.e an update to versfon end's* 243,a te nckfoes programs d Matts Irom the s c u ts , rctodng disks Tte ov er fies are c n a s* 265, Twofoppy Baioon T hs a n n a tc n »ito scute effects« Daves entry to some n m drawing toe's, erhanced user interface Dm*. DMaree, eto- Update to FF165. S o res. d n v es.a a hart disk, are sTcngy recomm,enoei me 1969 BADGE < ter Demo Cortes. Srary feaures. coro zed ccoe. a te s o re tug fixes. By: Mat: Diton 3 rtu y o n y Autna Roger Curen orty A jfor CaveScrtreter Binary orty. A u ra : Joerg G e'sser BIT MOVIE ‘90 COMPETITION FOR COMPUTER ANIMATION IN REAL TIME

The Adriatic Coast Amiga User Club and the Municipality of Riccione Italy have organized the Third Competition for Computer .Animation in Real Time.

1. All works rendered in real time on the Amiga will be accepted. 2. Works will be accepted which use any and all programs available, however, no works will be accepted which use public domain objects or backgrounds. 3. Each competitor may submit up to four works. 4. The animation must be submitted on floppy disk and there must be a description and script for each. 5. For each animation, there must also be a still picture on disk that can he used for a photograph. 6. All submissions must be sent to: Adriatic Coast Amiga liser Club—c/o Carlo Mainardi— Via Bologna n.13—47036 Riccione (FO) Italy. 7. A special commission will decide which works will he admitted to tlie competition. 8. Deadline for all materials is March 15, 1990. 9. The winning animations will he selected by the show’s attendees and a qualified panel All decisions are final.

Prizes: First Prize Lit.1,000,000 S e c o n d Prize Lit. 600,000 Third Prize Lit. 400,000

Contest information and rules were translated (to the best of our ability) from a letter which we Hi Quality Version Available on AMIGALAND.COMreceived from Carlo Mainardi. According to the letter, over 1500 people came to List year s competition. All entries last year were from Italy. Judging will take place April 14-16,1990. For more information, write to:

Adriatic Coast Amiga User Club c/o Carlo Mainardi Via Bologna n.13 47036 Riccione (FO) Italy

WBAwign A v r ^ l WorkBenri riel a e s ts s AT.igaDCS V oiseC 'ock A d o c k a n d free m e m o y d s p a y u tity that DrfOif C on pares rie contents of two orectones. generating a To Be Continues.__ assignments w ro u l having to open aC U . Ass.grvr.ems generates a vnaE c s p 'a y bed to your m ouse, using two 1st of dfferences to rie standard outpuL Detects f ’es a may be made try specifying a congfete pari (as hardware spr.ies as rie display area Verson 12 , directories present in e re hierarchy but no; the ctner, fie in Coaeluiion supported by the CU command), cr by sp e e c h * a pari nckxJes 50u t s A uthor O a i B a rte l attributes rial a*e different (datos. flags, comments, etc), To ite bes; ol oo: kno.vleSgo, t o ma:efc:s in ftis relative « the eurerc tfre a a y TTts a '2*$ a program MRBacMJp A hard risk backup uslty n a : o o e s a lie by fie and d iferexes r Sle sue. Version 1.1, an uodate to sw y » S««ly distributable. This means they we;e and its ass^n s r i be moved easJy h addton, copy to Handl'd AngaDOS loopy disks. Irdudesan FFiaa IncAdtt wace Ajtna Wart. Hnfret e:rier p ittcy posted and paced m the public doma n WBAjtign can cr&m assgns sp e c 'c d ci rie ccn fifes o s u io n interlace and he compressdo T te is v e rso n FarPrnt Detx^gng fjxtjge found on FF2S2. Iriijoes source. Byt th s dsriouion cf RCS can be louto on disk 2 8t). sheis. Very wei oocjreroed. Verson ■ .0. binary criy Haertef, Dawd Hayes, RchanJ Si^Sman i Leh A uritr Water Tchy. Amga p ot by Rafm.ond Brand- Aulhor Steve Keren T ower At. ga pot by Raymond Brand 4 Rck Sc^aef%r. fAMIGA & ACGUDE/^miga Two Great New Ways to SAVE on the Original Amiga Monthly Resource Complete Today , or Telephone 1-800-345-3360

Name A ddress. City____ State _Zip_ VISA Charge my [JVisa EMC #_ ■ ■ ■ ■ ■ ■ Expiration D a te ______Signature All Charges are subject 10 a S20.00 Please circle if this is a New Subscription or a R enew al minimum (charges under S20.00 P R O P E R A D D R E S S REQUIRED. In order to expedite and guarantee your order, all large Public Domain Software orders, as well as most Back w ill receive a S2.00 service charge). issue orders, are shipped by United Parcel Service. UPS requires that all packages be addressed to a street address for correct delivery.

One Year Our regular renewal now includes '12 monthly issues of □ $28.00 U.S Of Amazing Computing plus tire Spring edition of AC GLTDE^t.WGl Q $44.00 Foreign Surface Amazing! □ $36.00 Canada and Mexico Our 12 monthly issues ol Amazintr Computing PLUS AC Cl IDFj A mjca El $36.00 U.S New 3 Product Guides! Spring, Fall, and Winter! A savings of $32.25 off the $52.00 Foreign Surface SuperSub! newsstand price. The Product Guides alone retail for $6.95 each ._ $44.00 Canada and Mexico Please circle any additional choices below: !Domestic and Foreign air mail rates available on request) Back Issues: $5.00 each US, $6.00 each Canada and Mexico. $7.00 each Foreign Surface. V1.1 V I .2 V I .3 V I .4 V1.5 V1.S V 1.7 V I.8 V I.9 V2.1 V2.2 V2.3 V2.4 V2.5 V2.B V2.7 V2.8 Subscription: $_ V2.9 V2.10 V2.11 V2.12 V3.1 V3.2 V3.3 V3.4 V3.5 V3.6 V3.7 V3.8 V3.9 V3.10 V3.11 V3.12 V4.1 Hi Quality Version Available on AMIGALAND.COMV4.2 V4.3 V4.4 V4.5 V4.S V4.7 V4.3 V4.9 V4.1Q V4.11 V4.12 Public Domain Software: Back Issues: S $6.00 each for subscribers (yes, even the new ones!) $7.00 each for non subscribers (three disk minimum on all foreign orders) Please circle your Public Domain Software choices below: Amazing on Disk; A# ;.. .Source & Listings V3.8S. V3.9 M 2 . . .Source a Listings V4.4 A#3.. .Source S. Listings V4.5 & V4.6 A 4 4 .. .Source & Listings V4.7 S V4.8 Ati5., .Source & Listings V4.9 M 6 . . .Source a Listings V4 to & V4.11 I n N O C K u f a t i o n D is k : IN#1... Virus protection A# 7., .Source a Listings V4.128V 5.1

i 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 AMICUS 20 21 22 23 24 25 26 12345S78910 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 Fred 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 NA 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 Fish 77 78 79 NA 81 82 63 84 85 86 67 NA 89 90 91 32 93 94 95 PDS Disks: S6 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 Disks 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 130 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 213 219 220 221 222 223 22 a 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 255 257 258 259 260 261 262 263 264 255 266 267 268 259 270 271 272 273 274 275 276 277 273 279 280 281 282 Total: INA Penates disks removed from the colleciionl Please complete this form and mail with check, money order or credit card information to:

PiM Publications, Inc. P.O. Box 869 Fall River, MA 02722-0869

Please allow 4 to 6 weeks for delivery

ek T ew INCORPORATED N 9i 9i if you want the best graphics possible for your Amiga, 100,000 colors on screen simultaneously software IFF picture manipulation up to 768x480 (full-HiRes overscan) the highest quality images possible Digi-View Gold. controls on your television. then you need the best selling video digitizer Onlyof all time:Digi-View Gold: • Can digitize in 21 bits per pixel (2.1 million• Hascolors) advanced for dithering routines that give an apparent Digi-View and Digi-View Gold owners easy upgrade: Upgrade to the • Uses 2 to 4096 colors• Uses(including exclusive extra Dynamic•halfbrite) Is 100%modes IFF forcompatible 4096 colors and worksin HiRes with any graphics • Can digitize in all Amiga resolution modes from 320x200 Digi-View Gold is available • Has powerful image processing controls for complete incredible new Digi-View 4.0 software just by sending your name, address and S24.95 +S6.00 View for shipping4.0 upgrade,and Visahandling or 115 ($30.95WestMastercard Crane total)call St.,to our NewTekTopeka,loll free Digi- orderKS 66603.line at 1-800-843-8934 If you have a and Only $199; at your local AmigaOr dealer. call 1-800-843-8934. ““ well rush your upgrade to you immediately. and he can watch reruns, give h VC

4096Colors High Resolutionin

Digi-View Gold, the best video digitizer for the Amiga, It’s still just as easy to use as before. Simply focus

Digi-View Gold is designed specifically for the Amiga Hi Quality Version Available on AMIGALAND.COM Dynamic HiRes and you will have to see it on your own resolution! We call this revolutionary new graphics mode Dynamic HAM (fringe free HAM), Noise Reduction (for the Digi-View 4.0 a breakthrough. Other new features include: was impossible— digitize and display ail 4096 colors in high 4.0 software you can do the one thing most people thought Digi-View Gold turns it into Amiga graphics that glow with Digi-View Gold the hottest Amiga graphics product ever. ing (directly into Digi-Paint 3), 24 bit color support. 68020 sharpest images ever), ARexx support, super bitmap digitiz­ screen to believe it. But that's just the start of what makes ing graphics for desktop publishing, presentations, video, your video camera on any objecl or picture, and in seconds compatibility and dozens of other new features making just got one hell of a lot better. With the all new Digi-View Video Toaster are trademarks of NewTek, Inc Give a man a port. With complete software control of color saturation, 500. 2000, and 2500, and plugs directly into the parallel with amazing simplicity. or just for fun, Digi-View Gold gives you dazzling images vibrant color and stunning clarity. Whether you are creat­ him a Video Toaster and he can make his own1 advanced image processing is as easy as adjusting the brightness, sharpness, hue. resolution, and palette, This tmago was photographed directly from an Amiga 1080 Monitor and shows the new 4096 color Dynamic Hi Res Mode available with Digi-View 4.0. ‘ Requires standard gender changer for use with Amiga 1000 Digi-View Gold, Oigi'Paint 3 and