Max the Amiga can run many Mac programs. This is a combination of software and hardware and is not the same (or as good) as the bridgeboard clone inside your Amiga box. Tell them that the Amiga is a very powerful computer with the same CPU as a Mac plus it has graphics and sound co-processors. If MS-DOS compatibility is a must, then the Amiga is the best choice neither the Mac nor IBM can emulate the Amiga (not powerful enough), Terminal emulation is very important in an office that has to talk to Mini Computers or Mainframes. There are several excellent Amiga terminal emulation programs available. One of the best Amiga terminal programs currently available is in the Public Domain on Fred Fish .-.226 and is called VI. T. Is your mainframe or mini at work linked with Textronix terminals? If so, you can generate on screen graphics with your Amiga (4105 emulation). In business software (non-graphics word processors) the Amiga has Excellence. Excellence is much more sophisticated than Word Perfect , but we need the latter so that MS-DOS users can make the transition to the Amiga. There are some excellent spreadsheets available for the Amiga which don't even compare co anything MS-DOS has so I won't mention any by name.
Navigation texte du magazine
Click image to download PDF
Animators 4l by Bany Solomon Introducing AC's Animation section.
Ladies And Gentlemen, we give you... THE WINNER! 42 by Bradley U". Schenck The making of" the 19S9 BADGF Killer Demo Contest winner.
The Sentinel, Animation For Everyone 47 by Barry Solomon Animation Can Be a Moving .-lienee. PIC-MAGIC: A Product Profile 54 by Orlando T'tirioso Wonderfu 1 Iv sketched.
Ready-lo-cok r images!
Sidebar Brushing-Up On Animation 5 4 by Barry Solomon Cut, paste, and animate vour way to fame.
Animation With Sculpt-Animate -tD 51 by Lonnie Watson Create some stunning aitwork.
• ¦ * Animation?
BASK ally! 58 hr Mike Morrison Using Cell animation in Amiga BASIC.
An i m-Aids 64 by Bany Solomon Where to find the help you need.
RR( )G RAMMING Menu Builder 23 Ri hr Tony Preston Building menus w ith Intuition.
Dual Demo 66 || |f hr Thomas Esbehnan Programming an arcade game can he easy.
Scanning The Screen 82 by Paul Castonguay Part Four in the I facials series.
It's Colder ( Than You Think 87 I ¦ if h i ’ R be 1 h iii i hiszei i vki || A simple program to calculate the wind chill temperature.
R1AIIAY Thinker 90 by Robert Klimaszeirski "An Idea Processor".
DRRARTMRMN Feedback Foru m 4 Users Groups 21 Index of Advertisers 96 Facing the CI.I 39 by Mi he Morrison Disk structures and startup- set [lienees.
Public Domain Software 109
• CONTENTS • COH WINS New Products and Other Neat Stuff 8 by
Elizabeth G. Fedorzyn Pro Tennis Tour. Keel'The Thief, and
Distant Suns top the list.
Snapshot 15 by R. Bradley Andrews Three arcade favorites, and a space role-playing game.
RoboCop - An arcade game based in the future.
Super Hang-On - Only your skill and reflexes will allow you to win the ultimate race.
No Fishing! 27 by Graham Kinsey A preview of Workbench 1.4. Plus a fantastic gambling game.
Bug Bytes 33 by John Steiner More bugs and upgrades for the Amiga user.
Roomers 35 by The Bandito The Bandito’s fearless predictions for 1990 are here.
PD Serendipity 56 by Mike Morrison Animations from the S9 BADGE Killer Demo contest.
LaserBoing - Mike ran der Sommen's entry to the 1989 BADGE Killer Demo Contest.
"This Amiga Boing' ball is just loaded with energy."
G nest Commentary More Advice For A1000 Upgrades 6 Richard Taylor, President of Expansion Technologies speaks out.
HAPPY NEW YEAR £ to Video Schmideo 18 by Barry Solomon There’s no business like the Video Business.
Amiga Circuits 98 by John lovine Controlling large amounts of electrical energy.
C Notes From The C Group 104 by Stephen Kemp Recursive functions in C. Coivr " Illustration by Brian Box Graphic Design by Iirnest P. 1 ieeiros Sr.
AC's Technical Editor Explains How To Handle A New Virus.
By Michael Morrison This is the type of article I hate to write. There is yet another virus going around.
The virus is called Xeno and is not a bootblock virus but a file virus. This means that it attaches itself to executable files such as commands or even programs. When you use the command, the virus puts itself in memory and attaches itself to any other executable file that is used.
There are several ways to recognize whether or not your computer is infected with the Xeno virus:
- The commands in the C directory are 1124 bytes longer.
- The date on an executable file has been changed to a recent
- Your computer crashes when you try to print to the parallel
- You get the 'file not an object module' error when you try to
use common C commands (dir, cd, assign, etc.). Unfortunately,
there has been no way to detect this vims until recently. We
picked it up, here at AC, about a month ago, but none of our
virus checkers could detect 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 to us, and we will send you clean disks.
There are a few programs available that will help rid your system of the Xeno vims.
Steve Tibbet has just finished VirusX 4.0 which is available on BBS’s or on our inNOCKulation disk (see ad page S6). VirusX 4.0 will detect the Xeno vims in 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, but it does not remove the vims from die files. The vims intertwines itself with a file, making it difficult to remove. Steve is wrorking on a version of KV that will actually remove the vims from fire infected files.
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 an entire device for the vims, in all directories and disable it in all infected files. This means you can type; dfO:XenoZap dhO : dfO: dfl: df2 : XenoZap from the CLI (if XenoZap is on the disk in dfO:). XenoZap will first check memory for the vims and disable it (if present), and then check every file, in every directory, on dhO:, dfO:, dfl:, df2: and
disable the virus in all infected files.
Once XenoZap is used to check the system and its files, it has become infected writh 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 checking. Therefore, it is important to include XenoZap at the end of die list of items 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!
These people who have nodiing better to do but create damaging viruses really baffle me. It is unfortunate and sad. I am only diankful that talented people like Steve Tibbet, Kevin Kelm, and others are willing and able to spend their time and resources to combat these viruses. My hat is off to all of them. Both VimsX and XenoZap are public domain. This means they are free to everyone. Even though the authors don’t 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.
• AC* EDITORIAL Managing Editor: Don Hicks Associate Editor:
Elizabeth Fedorzyn Hardware Editor: Ernest P. Viveiros Sr.
Technical Editor: J. Michael Morrison Music & Sound Editor: Richard Rae Video Editor: Barry Solomon Copy Editor: Aimee B. Abren Copy Editor: Derek J. Perry Copy Editor: Troy J. Thomas Art Director: William Fries Photographer: Paul Michael Illustrator: Brian Fox Research & Editorial Support: Karen Donrelly-Solomon Production Manager: Donna M. Garant ADVERTISING SALES Advertising Manager: Jannine Irizarry Marketing Assistant: Melissa J. Bernier 1-508-678-4200 FAX 1-508-675-6002 SPECIAL THANKS TO: Buddy Terrell & Byrd Press Bob at Rivarside Art, Ltd.
Swansea One Hour Photo Pride Offset, Warwick, Rl Mach 1 Photo Amazing Computing™ (ISSN 0B36-9480) is published monthly by PiM Publications, inc., Currant Road, P.O. Box 869, Fall River, MA 02722-0869.
Subscriptions in the U.S., 12 issues lor $ 28.00; in Canada & Mexico surface, $ 36,00; foreign surface for $ 44,00, Second-Class Postage paid at Fall River, MA 02722 and additional mailing offices.
POSTMASTER: Send address changes lo PiM Publications Inc.,
P. O. Box 669, Fall River, MA 02722-0869, Printed in the U.S.A.
Copyright©Dec. 1989 by PiM Publications, Inc. All rights
First Class or Air Mail rates available upon request. PiM Publications, Inc. maintains the right to refuse any advertising.
Pirn Publications Inc. is not obligated to return unsolicited materials.
All requested returns must be received with a Self Addressed Stamped Mailer.
Send article submissions in both manuscript and disk format with your name, address, telephone, and Social Security Number on each to the Associate Editor. Requests for Author’s Guides should be directed to the address listed above.
AMIGA™ is a registered trademark of Commodore-Amiga, Inc. DEAR AC: Since Commodore is putting a large effort into advertising the world’s best home computer let us all help make 1990 tlie “ Year of the Amiga”. Are you tired of die MS-DOS talk at work? While your Amiga sits at home with its superior operating system that multitasks and even comes with a graphics co-processor. You can also add an MS-DOS clone inside your Amiga box if you own an A2000 or A2500.
If each Amiga owner can convince an employer or a friend to purchase this great machine. We could protect our investment and double its ownership to two million.
Have a video slide show at work using your Amiga. I did it and now everyone in my office knows what an Amiga is. They are even asking where they can get software for their MS-DOS machines (chuckle). The software 1 used was TV’TEXT, TVSHOW, and the Director. I had some shareware music in the background, for narration 1 used a mixer and microphone I had purchased.
Give it a try your office needs an Amiga linked to a good VCR for developing presentations!
If your office only has PC Compatibles, bridgeboard is for them it is a 100% compatible PC Clone on a card, there is also an emulator (the Transformer) that's a useful tool for some MS-DOS programs.
The Transformer will run an MS-DOS DUO emulator for the Data General Mini Computer at full speed Amiga.
Be sure to let them know that wotj A- Max the Amiga can run many Mac programs. This is a combination of software and hardware and is not the same (or as good) as the bridgeboard clone inside your Amiga box. Tell them that the Amiga is a very powerful computer with the same CPU as a Mac plus it has graphics and sound co-processors. If MS-DOS compatibility is a must, then the Amiga is the best choice neither the Mac nor IBM can emulate the Amiga (not powerful enough).
Terminal emulation is very important in an office that has to talk to Mini Computers or Mainframes. There are several excellent Amiga terminal emulation programs available. One of the best Amiga terminal programs currendy available is in die Public Domain on Fred Fish "226 and is called V1T. Is your mainframe or mini at work linked with Textronix terminals? If so, you can generate on screen graphics with your .Amiga (4105 emulation).
In business software (non-graphics word processors) the Amiga has Excellence. Excellence is much more sophisticated than Word Perfect , but we need tlie latter so Lhat MS-DOS users can make die transition to the Amiga. There are some excellent spreadsheets available for the Amiga which don't even compare to an thing MS-DOS has so I won’t mention any by name. Data bases are another story.
Superbase Professional is an excellent product, although it is missing oracle since it has become a universal standard.
Have you noticed the new status symbol in the office? The 510,000 laptop with 386 processor. Lets hope that Commodore does indeed come out with the A3000 this year! Power impresses the business world. Lets also hope that when these two are compared that Commodore can promote some unique benchmark tests lhatxxdll show off the graphics co-processor in the Amiga. I hope that the 386 bridgeboard is available before the 486 becomes the fad.
We have heard that Commodore's implementation of UNIX is very' good. If they offer an A3000 UNIX it may be a way of getting a foot in the door of the business world. It is my gut feeling that UNIX will he tlie next major operating system for die office.
Since we have sold an Amiga to the office, what about the 13 year old next door who is getting bored widi his Nintendo?
Get at least one outstanding game for your Amiga (even if you hate games) and show the kicl what a real computer can do. Some people have bought MS-DOS machines to play games isn’t that disgusting.
Commodore can do it with our help make the Amiga known to America it's a great machine, so lets help out. One of die most exciting diings about owning an Amiga is die loyalty of die users.
Have you ever checked out the public domain programs available for the Amiga it's great! That's because creative folks know a great machine when they see one and want odiers to know too. So. Let us all make 1990, "The Year of the Amiga"!
Dan Greene Boulder, CO
- Your enthusiasm is contagious. Lets hope that more people catch
it. We agree with your comment on PD software. 'Ihepeople who
write PD soft ware are doing the Amiga Community a great
seruice and we thank them. -Ed Dear AC: Thank you for
Publishing my article “Multitasking in Fortran." I think that
the article will provide the means for a substantial number of
people to deal with a significant Problem on the Amiga in the
Unfortunately, an error into the article during the editorial process that must be addressed. In the copy that 1 submitted to you, my last sentence of text stated; “Frankly, I consider Fortran to be easier to program in than C, for those things that Fortran is good at." It was edited to say; Frankly, for die features that it has, 1 find Fortran easier to program in than C." The latter statement is incorrect, in dial ii implies diat 1 consider Fortran to have more or better features than C. Implicidy, it states that I consider Fortran to be superior to C. I do not consider Fortran to be a
better language and I would not start a new project in Fortran, unless there was a compelling reason to do so. Relative to most of the later generation languages, Fortran has some significant limitations.
However, it is easier than C to program, for those diings that it can do.
1 consider Fortran to be valuable mainly because of the huge body of software that already exists, especially in the scientific arena, that is written in Fortran. Accessing that weakb of proven software, while taking advantage of the Amiga environment, was tlie purpose and motivation for the article.
Sincerely, Jim Locker Fairborn, OH
- We appologizefor the mistake and hope that it didn't cause any
problems. Thanks for the corrections Jim. -Ed
- AC* ROBLEM Your boss wants you to produce an animated video
presentation to help sell that new project to top management.
You know that a full-color, animated presentation, developed on
the Amiga, using its powerful desktop video software, will make
a convincing impact.
The Amiga is the right machine for the job, but how can you easily import the images and data you need for your presentation from other divisions of the company, data and images which come from Macintoshes and IBM Pcs?
File transfer programs MAC-2-DOS and DOS-2-DOS from Central Coast Software! Using these simple and easy-to-use Amiga programs, you can now quickly and easily transfer the Mac IBM Atari data and images you need to and from the Amiga.
MAC-2-DOS connects a Mac floppy drive directly to the Amiga • Reads and writes 400K 800K Mac disks • Converts MacPaint images to from IFF • Imports Mac clip art for use on the Amiga • Converts ASCII text files both ways • Converts PostScript files both ways * Supports MacBinary format* Includes conversion utilities for PICT files and Mac fonts • Creates icons, as necessary • Formats 400K 800K Mac disks.
SoumoN D0S-2-D0S uses your Amiga’s floppy drives to read write IBM Atari
3. 5-inch disks • Reads writes 5.25- inch IBM disks (using an
5. 25-inch Amiga drive) • Converts ASCII text files both ways *
Supports international character sets • Formats IBM Atari
disks • Use with IBM program HIJAAK (from Inset Systems, not
included) to capture convert IBM graphic images to from IFF.
MAC-2-DOS when it absolutely, positively has to get to or from a Mac disk, immediately.
DOS-2-DOS when it absolutely, positively has to get to or from an IBM PC (or Atari) disk, immediately.
Central Coast Software.
424 Vista Avenue Golden, Colorado 80401
(303) 526-1030 • (303) 526-0520 (fax) Dealer inquiries Welcome
And to preserve your entire presentation, all supporting
data and graphic files, as well as the programs:
QUARTERBACK the fastest and most reliable Amiga hard -
disk backup program!
(Fnest Commentary More Advice For A1000 Upgrades Richard Taylor, President of Expansion Technologies Speaks Out.
A500 1000 bus was not an engineering requirement. The chances are a card cage like the Tool Box did not exist when they were defining the performance parameters of their product.
I want to thank .Amazing Computing for the opportunity to respond to some of the points made by Mr. Saunders in his November article "Learning the Hard Way, The frustrations of upgrading your A1000” (Volume 4 Issue 11).
It's unfortunate that one persons experience is presented as an article and the corrections or explanations are delegated to the editors page. The article left a very negative feeling for A1000 owner wishing to expand their computer. In a marketplace that has largely abandoned the A1000 we have another unnecessary and largely undeserved nail in the coffin.
2. GROUND AND UPGRADE THE PALS. The A1000 bus will reliability
accept two devices if you ground and upgrade (if required) die
PAL chips on the inside of the machine. An expansion product
plugged into the 68000 socket, like the Insider memory7 board,
is also considered a device on the bus.
Many articles have been written on diis problem including some in diis magazine so I will not go into detail. The problem and solution are covered
- fully in the Too! Box As one of the original Amiga hardware
manufacturers we have been answering our customers A1000
questions for a long time. We are still learning the variables
of die A10G0 and yes it has at times been very frustrating.
Some of the rules are learned as we go along. The newer rules
apply to the use of A200G cards on the A500 and A1000 bus.
Manual. The PAL chips can be purchased from several sources including Expansion Technologies. A reprint of the instructions is also available widiout charge by calling our office.
Armed with this information any service center and or most customers can make the modificadons.
As one of the original Amiga hardware manufacturers we have been answering our customers A1000 questions for a long time. We are still learning the variables of the A1000 and yes it has at times been very frustrating We all know that the A1000 expansion bus was not created perfectly. It has specific limits and will not do everything for everyone. However, it does do some things very well if certain rules are followed. If the A1000 user wishes to expand beyond those safe parameters it is suggested they evaluate moving tip to an A2000 now and not later.
The Tool Box for tire A1000 was created for those who may upgrade to an A2000 and want an economical and reliable way to add memory and a hard drive. If these Are A2000 upward compatible products then they do not have to repurchase this capability. But the limits must be observed.
In the case of Mr. Saunders there are many people in the field working with his specific combination of products. There are definite reasons why he was not as successful as others and they are covered later. The troubles he experienced were very real and the lessons he imparted should not be overlooked. The point being made is many have successfully expanded their A1000 with out it being a nightmare. With either a Tool Box or another manufacturers expansion product you should not be hesitant to try. But you must be careful and take the recommended precautions.
In a non technical manner I would like to point out some of the precautions to be taken when expanding your A1000 with A2000 cards. Then we will cover some of the troubles mentioned in the article.
1. SOME A2000 CARDS WORK BETTER THAN OTHERS ON AN A1000. It has
to do with the differences in the timing of the A1000 bus as
opposed to the A2000, The A500 bus is closer to the timing of
the A2000 bus. Your chances of success are much higher almost
to the point of it not being an issue.
Whether a card works or not varies and sometimes depends on the tolerances of die machine. Because of this it is best to go with what works for most people in the field. Use only recommended cards that have proven themselves to work. Call us direcdy (415656-2890) or ask your dealer to for the latest information before you purchase your card.
In defense of die manufacturers whose cards do not work on the A1000 it must be remembered that working on the
3. KEEP YOUR AMIGA AS STANDARD AS POSSIBLE. I totally agree widi
Phil that trouble shooting a system with nonstandard expansion
products is nearly impossible. If you experience any trouble
remove all products and try7 and isolate die problem by using
dien one at a time. If they work individually7 and not
togedier it generally means the PAL GROUND problem. Also let
die sales or service person know the combina- don of produces
you have or wish to purchase. This is so they can evaluate die
Let’s address Phi! Saunders problems direcdy7.
1. His first problem was in using a GVP interface. This is a
very7 excellent product but is one that will not work reliably
on the A1000. It was recommended that he use a FlashCard widi
2. The FLASHCARD QUANTUM worked fine as long as he didn't try7
and use KickBench 1.3. This is because both the Flash Card and
die KickBench were trying to load WorkBench.
An "nonstandard" situation.
3. He experienced the PAL GROUND problems and unfortunately
received bad replacement PALS causing a great deal of
frustration. After replacing the PALS the article did not
indicate that they were ever grounded. This would explain why
he would only work with erne device on the bus.
There are a lot of us who still own, and love our A1000 Amigas. If cauuon is taken they can be reliably expanded to increase their life and usefulness. The problems that Phil Saunders experienced are the exception and not die rule.
Richard Taylor, President -Expansion Technologies
- Amazing Computing believes that there is always more than one
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 Autobooting Hard Card , Supra
Ram™ 2000 with WordSync™ Interface ¦ WordSync Interface Kit
also available separately ¦ Interface transfers 16 bits at
once, giving DMA Speed Without DMA Problems ¦ Eliminates the
sound, video, and serial I O interruptions found with DMA
* 1 -slot design & SCSI-out port ¦ Easy On Off Autoboot Jumper ¦
Compatible with Amiga Bridgeboard, RAM, digitizers, and other
boards ¦ Includes SupraBoot & SupraTools two full disks of
utility software u Up to 30 Partitions ¦ All available file
systems supported: FFS, MS-DOS, Unix, Macintosh, etc. ¦ Access
to low-level parameters without maintaining MountList
* Excellent Technical Support « Made in the U.S.A. SupraMoetem
2400zi ¦ Half card modem fits in any Amiga bus slot ¦ Up to 5
modems per computer
* Works with all popular Amiga telecommunications software ¦ 100%
compatible with the industry-standard “AT” command set ¦
Asynchronous 2400 1200 300 baud operation ¦ Compatible with
Bell 103 212A and CCITT V.21 V.22 V.22bis ¦ Autoanswer Autodial
(tone or pulse) ¦ Adjustable-volume speaker ¦ Nonvolatile
memory stores custom modem configuration and one telephone
number ¦ Includes free subscriptions to popular on-line
services ¦ Made in the U.S.A. 2400zi $ 179.95 ¦ 2, 4, 6, & SMB
configurations available “ Installs easily into any Amiga
internal expansion slot ¦ Easy to expand from your initial
configuration Start with 2MB & add RAM at your convenience
* 6MB configuration allows for maximum benefit with the Amiga
Bridgeboard ¦ Lets you run larger and more sophisticated
programs ¦ Allows creation of large and extremely fast RAM
disks ¦ Test mode & test software make troubleshooting easy ¦
Made in the U.S.A. 8MB RAM Board 0MB $ 199 with 2MB Installed
$ 449 with 4MB Installed $ 649 with 6MB Installed $ 849 with 8MB
Installed $ 1049 30MB (40 ms.) $ 649 AVAILABLE AT YOUR LOCAL
DEALER. OR CALL: 40MB (11 ms. Quantum) $ 799 80MB (11 ms.
Quantum) $ 1099 40MB SyQuest Removable$ 1199 WordSync Interface
Kit $ 19965 Supra corporation 1133 Commercial Way Albany, OR
97321 Voice: 503-967-9075 Fax: 503-926-9370 SupraDrive,
WordSync, SupraModem 2400zi, and SupraRAM 2000 are trademarks
of Supra Corporation.
Amiga is a registered trademark of Commodore-Amiga, Inc. ORDERS: 1-800-727-8772 Circle 168 on Reader Service card.
New Products and Other Neat Stuff CREATING QUITE A RACK FT Ever wish you could go forehand to forehand against Ivan Lendl at the U.S. Open, or wiz a passing shot by Martina at Wimbledon? Well, it might be time for you to wake up and smell the Gatorade, as the chances of your encountering such tennis greats on tire court are un! Ikelv. Even if you did, your chances of surviving, say, a full- force Lendl serve are probably dismal at found in space: Distant Suns by Virtual Reality Laboratories.
Best. Of course, if you did get a bit of practice in, maybe a few matches you know, sort of work up to that day of confrontation who knows? Pro Tennis Tour might be a good place to start.
Produced by UBI Soft and distributed by Electronic Arts, Pro Tennis Tour is a tennis simulation that places you in the role of a professional tennis player seeded 64th in the world. In order to improve your by Elizabeth G. Fedorzyn ranking, you must participate against players of varying ranks in such major tournaments as the Australian Open, the French Open, The U.S. Open, and Wimbledon.
Although you don't get to become involved in lengthy bellicose exchanges with the judges or sign major endorsement contracts, you do get to watch your most impressive shots in 3*0 instant replay, as 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 surface as the real games (e.g., grass courts at Wimbledon).
Pro Tennis Tour allows one player to compete against the computer or two players to compete against each other. The game sports sound effects as well as impressive 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 BILLIONS AND
BILLIONS... How many heavenly bodies are there in the solor
system? Well, as Steve Martin facetiously pointed out in
Roxanne, we 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 Galileo, this .Amiga astronomy program has undergone 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 Each 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 212-867~M63)« For Your All Amiga Art Calendar!
NAME I want my 1990 Amiga Art Calendar COMPANY ADDRESS CITY STATE For MasterCard or Expiration Dale_ Account Number_ _V1SA Payment Shipping &Handling Please add $ 2 per calendar TOTAL Calendars @ $ 14.95 Make Check or Money Order Payable to: Name a.s it appears on card: Signature_ AmiEXPO 211 E. 43rd St., Suite 301 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 with full-screen sky viewing option, 2,200 stars, expandable to 9100, and 450 deep sky objects all in an astronomically correct sky representation. The program lets you view the sky from any place on Earth at any time from 8,000 B.C. to 12,000
A. D. Why, if Carl Sagan had had access to Distant Suns, he
probably could have dragged out his celebrity status a few
more light years, Distant Suns will just make it on 512K
memory'. Expanded memory is strongly suggested. The package
includes a 100- page Users Manual to help you steer through
space. Users of the original Galileo program may upgrade to
Distant Suns by contacting Mr. Smithwick at 25215 La Loma
Drive, Los Altos Hills, CA 94022.
Distant Suns Virtual Reality Laboratories, Inc. 2341 Ganador Couri San Luis Obispo, CA 93401
(805) 545-8515 Price: $ 69.95 Inquiry *228 CHIME THAT PAYS
MeetKeef. Keef steals. Keef sells stolen goods. Keef is
never without his lock- pick. OK, so maybe he's not Ward
and June’s Dream Child, but he may just be tire next
Designed by Naughty' Dog, Inc. and released be Electronic Arts, Keef the Thief is a role-playing game that puts you in the mindset of Keef, a juvenile delinquant who has been banished from his hometown to the Tri-City Area, a vile jungle teeming widi A boy and bis lockpick: Keef the Tjrief from Electronic Arts.
A day at the track: OMNIPLAY Horse Racing from SportTime Softivare.
Slithering creatures and not many good restaurants. As Keef, it is your goal to become absolute ruler of everything and everyone. This is no small task, considering the nasty' conditions under which you must now survive and die fact that an evil magician is hard at work trying to create the magic necessary to control the continent.
But you are not without your own advantages. As Keef, you have no problem with the idea of breaking and entering, or stealing supplies, of trying to sell stolen goods in effect, no morals to hinder you from realizing your goal. (Look out Maury Povich!)
Tire game features over 200 species of nasty monsters, more than 50 color screen illustrations, 25 complete levels of dungeon, and three complete cities to loot to your delinquant heart’s content not to mention a quite humorous, refreshing approach to text-adventure authoring.
Keef the Thief requires a minimum 512K memory, and can be controlled using either the keyboard or the mouse. Keef incorporates an icon-based interface, and allows a Save Game option to allow' you to maintain your current level of debauchery.
Keef The Thief Electronic Aits 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 who
brought you expandable basketball comes a new expandable
New' from SportTrme Computer Software, OMNI-PLAY Horse Racing lets up to four players bet against each other and up to 19 computer opponents on 128 different horses, if you’re the more reserved 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 adventuresome and go for die long shots.
(continued) TM j $ 99.95 r PACKAGE ONE: General 1ttiages 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” Fonts Disks and only Pic-Magic™ Clip Art.
Pictures Speak Louder Than Words... PIC-MAGIC Professional Clip Art Series Package One 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
(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:
(301) 771-1151 Inquiry 240 ; Inquiry 234 Price: $ 39.95 Inquiry
237 Tank Attack Colossus Chess X Artworx Software Company,
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 San Raphael, CA 94903-2101 Price: $ 29.95 i Price:
(800) 521-6263 Inquiry 241 Inquiry 235 Price: $ 44,95 Inquiry
238 Whatever approach you choose, you will have the
opportunity to be well-prepared. Statistics available
include the past ten race results on till 128 horses at
each track, the Morning-line Odds, payoff displays, and
postposition histories. You also have access to complete
.Mid leave Randy Newman behind, because jockeys have their own personalities and mood swings. There are also a variety of U'ack conditions including dirt, grass, and mud.
Of course, should you tire of playing the same ponies or playing the role of the hapless gambler, you can pick up one of SportTime's expansion modules like Track 2 (a new park with 128 new horses, each with their own individual skills), or Stable Owners (own and operate your own stable, selecting your horses and jockeys).
OMNI-PLAY Horse Racing features digitized sounds, and high-resolution graphics that include dual scrolling background and track. The package requires a minimum 512K memory and consists of a two-disk set (Track 1 and the Handicappers Module 1.0). Future option modules include Jockey Competition, Fantasy Betting, and Prediction Analysis.
OMN1-PLA Yhorse Racing SportTime Computer Software Distributed by Broderbund Software, Inc. 17Paul Drive San Raphael, CA 94903-2101
(800) 521-6263 Price: $ 49-95 Inquiry * 230 BIG TIME Well, if your
Amiga has appeared a little aloof as of late, be patient.
You knowhow- celebrities can be. First the commercials,
then the six-page spreads in major publications, and now
this. Yes, the Amiga is now the star of its own show. Tire
Amiga Video Magazittebegan airing in November in the New
York City area.
The half-hour program supports a magazine format and is devoted solely to the Amiga and its hardware, software, and their applications.
The Amiga Video Magazine concentrates on what the Amiga is achieving in the real world (aarrgh! Not that:), traveling to places like production houses and recording studios where the Amiga is being employed in professional capacities. Each week, the show features different segments ranging from beginners pieces to advanced users segments. The program also devotes time to users groups.
Viewers in the New York City area can tune into The Amiga Video Magazine Mondays at 6:30 p.m. on Channel 23 1 cable. The program will soon become available nationwide on the Arts and Entertainment network.
For additional information, contact: Ma rk ,1 Ion tellese, Prodi icer
(212) 724-0288 (continued) With the Migraph Hand Scanner and
Touch-Up’1-' you can now produce profes- sional-quality
high-resolution scanned graphics from start to
tinish without changing programs.
Hand Scanner and TbudHJp I'w-rfuJ Uwls Sr PmfetcfafialpuhiWiiiie.
This unbeatable hardware-software team lets you scan, edit, and enhance images until they're exactly right for all your desktop publishing projects.
Start with quality hardware.
The Hand Scanner has all the features you need: A scanning window over 4" wide. Four scanning resolutions
100. 200, true 300, and true 400 dots per inch. Adjustable
contrast. Three dither Yj1'-,.
Settings for scanning photo- •% graphs. Plus a special setting for line art.
Migraph. Inc. 200 S. 333rd. Suite 220 Federal Way. WA 98003 You can buiid your own library of images from logos, photographs, books, and illustrations, And that's just for starters.
Finish with software that won't quit.
With Touch-Up, Migraph's complete design tool for high-resolution monochrome images, you can put the finishing touches on every image you scan. Its powerful editing functions include standard commands plus extras like rotate by degree, slant, stretch, outline, and bolding. A complete paint program.
A full array of drawing tools.
Not to mention special effects and scalable outline fonts. When your images are pixel-perfect, you can import them into your favorite Amiga publishing programs like Professional Page7'-' and Page Stream"'-'.
A variety of load save formats also lets you use images on the PC, Mac, and ST. Last but not least: The Migraph Hand Scanner and Touch-Up are easy to learn and easy to use, See you dealer today for more details or call Migraph toll-free.
The Migraph Hand Scanner and Touch-Up. Powerful tools for professional publishing.
For Am ga 500 1000 and 2000 systems win 1 MB mem cry A harc d'sk s recommended A%MlGR4PH The Krueger Company can provide a wide variety of MEMORY, MICROPROCESSOR, and SUPPORT CHIPS.
The Krueger Company all KRUEGER parts carry an unconditional 30 day guarantee. The minimum purchase is $ 50.00. Call Myron Lieberman at
(800) 2*45-2235 or FAX
(602) 820-1707. Mention AMAZING COMPUTING.
8 MHZ 68010 s 1.00 12 MHZ 68020 $ 30.00 16 MHZ 68030 $ 40.00 5 MHZ 8088 s 1.00 8 MHZ 8086 S 1.50 8 MHZ 80286 $ 10.00 DP8464BV3 PLCC s 1.00 ASK ABOUT Z80s AT GREAT PRICES STEEL PAWS Well, if you've noticed any long lines streaming out of your local Ticketron dealer, it's probably folks lining up to witness the Performance of the year. No, it’s not some monumental rock band kicking into gear for a North American tour.
This Performance comes from Pregnant Badger Music.
Performance is a new database program that allows MIDI musicians to incorporate existing patch files and sequences into live situations. Performance is designed to allow the performing musician to keep track of MIDI infonnation including Synth Presets, Patch Banks, and Sequences. Performance also works by sending MIDI information to your instruments, dius automating your MIDI setup.
Performance features a built-in set editor, as well as a built-in sequence player that plays Standard MIDI Files. The program includes a user-configurable database, the complexity of which is limited only by the amount of available memory.
Performance supports interlace and noninterlace screen modes, and a large font legible from up to 30 feet away.
Circle 118 on Reader Service card.
The Pregnant Badger program runs on any Amiga and requires 1 M memory, AmigaDOS 1.2 or higher, and a MIDI Interface. The Performance package includes one program disk and a 95-page manual.
Performance Pregnant Badger Music 10010 Biscanewoods Way Sacramento, CA 95827
(916) 361-8217 Price: $ 165.00 Inquiry *231 THE NEW AND IMPROVED
From West Chester comes news of new products, prices, and
PR. Commodore has introduced the Amiga 2500 30 into die
Amiga computer family. The latest Amiga features a 68030
processor and a 68882 math coprocessor, as well as two
bridge- boards diat allow A2500 30 users to run both MS-DOS
hardware and software.
According to Commodore Director of Business Markets David Archambault, Commodore developed the A2500 30 to "meet the demands of [their] customers and the increasingly sophisticated applications being produced by Amiga developers.” Suggested retail price for die A2500 30 is $ 4,699. Owners of die 2000-line Amigas can upgrade by purchasing the A2630, a newly available 68030-based accelerator board. The suggested retail price for the A2630 is $ 2,195- ln addition Lo the A2630, Commodore announced the availability of several other new Amiga peripherals, including the A2091, an autobooting hard
disk controller and memory expansion board, and the 2091-40, an autobooting 40MB SCSI hard disk and controller. Also new is die A2232, a multi-serial port card which provides users with seven additional RS232 ports, each capable of operadng independently or simultaneously, providing speeds of up to 19.2 Kbaud. The A2091 and A2091-40 retail for $ 399 and $ 899, respectively. The A2232 carries a retail price tag ot 5399- Bur before you starL rolling your pennies for that A2500 30 or A2630, you should be aware dial Commodore also announced price breaks on some of their 2000-line products, The
A2000, which formerly retailed for $ 2,195, will now retail for $ 1,899- The retail price of the A2000HD lias dropped from $ 2,999 to $ 2,699- The A2500 20 is down to $ 3,999 from $ 4,699 retail. And the A2620 card, which formerly retailed for $ 1,995, will now go for $ 1,494.
Wm AN0THER TIP FROM DR. CHIP In other Commodore news. Commodore has formed a multimedia marketing group to be headed by former Disney producer Ken Christie. With ten years of marketing and creative experience in the video production and interactive video industries, this fellow is pardon the expression no Mickey Mouse. As part of an effort to enhance Commodore’s position 111 the multimedia industry, Christie will reportedly be responsible for die management and integration of Amiga marketing programs in desktop and professional video, interactive video, and professional music.
Commodore Business Machines, Inc. 1200 Wilson Drive West Chester, PA 19380
(215) 431-9100 Inquire' =232
• AC* STAR COMMAND First on the list this month is Star Command,
a game recently ported to the Amiga for Strategic Simulations
by Andromeda Software. The game takes place in the far future
in a remote corner of the galaxy. The earth was destroyed long
ago by a hostile alien race, but humanity' is still a force to
be reckoned with. Humans are concentrated in a section of space
known as the triangle, an area of space inside the protective
border of the three main defensive starports. The immediate
area around the triangle is divided into roughly two camps. The
Alpha Frontier was an extensive mining area but has become
infested with pirates. The Beta Frontier is occupied by a race
of hostile intelligent insects.
Beyond these are many other races, but only a robotic race is known to have the same level of technology. Fortunately, they never venture into the triangle itself.
You must handpick the eight team members you will direct on missions throughout the galaxy. Characters are rolled randomly and can specialize in one of four different fields: Marine, Soldier, Pilot, or Esper. The first two are variances of grunt soldiers and will do most of the combat. Pilots fly the spacecraft and jump- ships that take your squad from planet to planet. The final category, Esper, is only open to those who are highly skilled in mental force projection.
Star Command role playing in a remote comer of the galaxy.
Each raw' recruit must first complete eight years of basic training before becoming eligible for squad membership.
You control the assignment choices for each of these years.
GjtSEti Super Hang-On puts you in control of one of the fastest cycles in the world.
• Star Command
• Super Hang-On
• Bad Dudes Assignments will increase skill levels in the
appropriate area, increase a character’s own statistics
(e.g., make him quicker), or advance him on to tile next rank.
Ranks are important, since they determine the amount of pay a character receives for performing duties. While there is a random chance of gaining a rank during any assignment, only Officer School guarantees one rank of advancement (though it does nothing else). The chosen category is not always available and sometimes a character is assigned to a category other than the one chosen. Generally it is not too bad, but if the alternate assignment is a desk job, that year has just been wasted. The game encourages you to spread this training out a bit since no skill level can be increased
more than three times.
After die squad is created, it must carry out the missions assigned to it by headquarters. While missions do vary somewhat from game to game, a general pattern is follow'ed and each must be completed before the next is assigned.
Missions begin simple but grow' increasingly difficult until the final climactic mission which you guessed it involves saving humanity.
Combat is the main focus of die game. Both space and ground battles will occupy most of your time. Each involves a partially simultaneous move-and-fire sequence. Depending on the speed of die men and the ships fighting, each side will get up to six phases to move, which will be followed by a combat segment. Immediately prior to combat, you must select the opponents for each of your squad members . Then die computer will play out each of the actions in order, once again based on the speed of the combatants. It is possible to disengage from most combats by eidier moving out of range of
all opponents in the case of ship-to-ship combat, or leaving via an exit during a man-to-man encounter. Some actions, such as boarding enemy ships, do not allow for leaving, so it is a fight to the death. , ° (continued) If the game sounds interesting so far, don’t get your hopes up too high. SSI has yet to learn how to do a truly good Amiga port. The graphics, sound, and user interface are far below par. The graphics look almost like a straight copy from IBM EGA graphics and come nowhere near the richness possible on the Amiga.
ARREST 1.S4 ~ MgM nfli j*,*- -» jUfiTTT.
¦ Ml' *--*¦ 1W Bl - Hi m sBa ¦H - - - iff
- gf Lv. W ‘A 3 hi out, and it is apparent drat graphical rich
ness was not even considered during development. Sound is
adequate and on die same level as the graphics, and that isn’t
In case you haven't realized, I am extremely annoyed with many aspects of the game. Why not just dump it and write RoboCop: serving and protecting the citizens of the future.
S if Qp 1 !
Asked whether the game was really worth it. I decided I had played enough to write about the game and put it away perma- nendy, 1 just wish someone would come out with a good game with a similar theme.
It would be wonderful if SSI would rewrite the game to make it more playable and enjoyable, but 1 will not hold my breadi waiting. Perhaps i will have die opportunity to work on a space game of my own shortly,... In closing, let me say that 1 can only recommend Star Command for those w-ho are literally starved for a space role-playing game. If you have the ability to ignore the poor graphics and die patience to work dirough the painful interface, you may actually enjoy die game. But otherwise, I would steer clear.
Next tills month are three new arcade game translations from Data East. Each is an adaptation of an arcade favorite.
The interface is very character-oriented; I never had the need, or ability, to use the mouse in the program. Though it remains visible die entire time, I often had to “hide" die cursor in the bottom left comer so it would not obstruct my view of the screen. The game incorporates extensive use of menus, but not die kind Ami- gans are familar with. They are common on IBM programs for users widiout a mouse or other pointing device. Typing the appropriate letter for an option either performs that action or takes you to a submenu with further options, I guess this would not have been so bad
if the menus had been consistent, but diev are not. In one place, selecting “G” may change die time delay formessage display; in another, selecting “T” may do this; 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 interface is its slowness when changing from mode to mode, such as initiating combat or entering a starport, and the difficulty of getting even simple information, such as detailed squad statistics. It can be very difficult Lo be sure everyone is armed properly, or to find exactly who lias the flamethrower.
The graphics have a bland look about them. While appropriate for much of the information, boring text is used through- about something else? Believe me, I almost did. I became extremely frustrated at the start and almost quit. But I persevered and after many hours of play, I witnessed gleanings of a reasonable game system underneath.
It is fun to build up a squad from lowly Privates to Grand Admirals during the game (though I never got diat far). The missions, wfflile often somewhat silly, do tie die game togedier. There just isn’t that much out there for those who like "role- playing" games and don't want to play another D&D. So 1 kept coining back to the game until I finally finished the first main mission, finding and defeating the pirate Blackbeard. I w-as tempted to waste even more of my weekend, until I sat back and SUPER HANG-ON Super Hang-On is a motorcycle racing game that puts you in control o! One of the
fastest cycles in the world. Only your skill and reflexes will allow- you to win die ultimate race. The race is split into four racing segments of differing difficulty levels. Airica is the easiest, widi only six checkpoints required for the entire race.
The European race is the most difficult and has eighteen checkpoints to pass through.
As with most games of this genre, you begin with a fixed amount of time at die start and gain additional time bonuses Unsuccessfully crossing each checkpoint. If time runs out before you cross die finish line, die game is over.
Many other racers crowd the track and must be carefully avoided. Even slightly bumping them will drastically slow (continued on page 22) Bad Dudes: Eigbtingyour n ay through Ninja-infested sewers in search of high-ranking officials.
Enjoy Your Favorite Magazine Even More.
Order AC's Disks and save yourself hours of typing.
AC's 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 of 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 have a secret yearning. Some of you have had your Amigas a few days; some a few weeks; some a few months or years. Some of you haven't even bought your Amigas yet. But you all have one tiling in common: you want to be in the video business!
If this is your secret yearning, I have some tips for you. Whether you are a complete novice or an accomplished Amiga artist or animator, if you want this to be more than a hobby, if you really want to make it big in the video biz: THINK OF IT AS A BUSINESS!
This may sound a little too simplistic, but it isn’t as dumb as it sounds. Every year thousands of hobbyists try' to turn their hobbies into businesses. The majority' of them fail miserably. The statistics on new business failures are scant Usually these entrepreneurs fail not so much because they are bad businesspeople, but because they just can’t think of their hobby as a business.
Businesses usually require a great deal of thought, planning, and patience.
Not to mention money, a little daring, and some luck. The Desktop Video business is no exception. You may know everything there is to to know about producing incredible videos, and you may have equipment that would make any TV station salivate, but can you run a business? Have you ever been in business? What do you know about running your own business?
If your knowledge of business is rusty or nonexistent, I refer you to your local library' or bookstore. There are any number of excellent books on the market dealing with starting and running your own business. Also most local community' or junior colleges have courses on this topic.
' r V Every yea r thousands of hobbyists try to turn their hobbies into businesses. The majority of them fail miserably. The statistics on new business failures are scary.
V Ji To begin with, you need a business plan. A good business plan will not only contain lots of numbers (expenses, investments, projected income, etc.), but also answers to the following questions:
1. What services will you offe r?
Exactly what is it you are proposing to do? Will you be doing graphics for other video companies, or will you be producing y'our own complete videos? Will you be doing weddings or industrial videos or commercials for broadcast TV?
2. To whom will you offer your services?
Who exactly will be your clients?
Friends? Neighbors? Corporations? School systems? Ad agencies?
3. Is there a real market for these services in your area?
Once you've decided what you want to do and for whom you want to do it, you must ask yourself if there is anyone 1 ike this in your area who really wants and needs this service. And will they' be willing to pay for it?
4. How will you sell advertise market these services?
How will you make these people aware that you are in this business? How will you make them chi :ose you over the competition?
5. Do you have any competition?
Are there already people (competitors) in y'our area offering these sendees? If there are it doesn't mean that you can't also be successful, but you now have to examine a number of other questions. Who are these competitors? What exactly do they do? How well-known are they? How good are they? What do they charge? Can you compete in terms of quality? In terms of price? Is ihere enough potential business for all of you?
Anyway, you probably get die picture. You can find lots of informadon on developing a business plan at your local library. Better yet, check with your local Chamber of Commerce, Businessperson’s Association, SCORE (Service Core of Retired Executives), or even the Small Business Administration office. They can often give you the information you need along with key advice.
Don’t be surprised, however, if you find that none of diese people have ever heard of Desktop Video! It will probably be up to you to explain this to them and to dig out the generic business information from what they give you. Also, do not be too surprised if they do everydiing they can to talk you out of it: if this is a business they have never heard of, they will almost cer- takily be afraid of it.
Don't forget, also, that your area will gready affect your business plans. If you live in New York City or Los Angeles you already have lots of competition! Don’t expect to make it big there unless you have oodles of money, considerable talent, or some otiier factor which wall make you stand out in die crowd.You may have to market your sendees outside of your immediate area in order to compete at all.
If you live in a very small town, you may find that there is just no market in your area for what you’d like to do. Here again you may have to pitch your sendees outside your region to survive.
If you’re already in the video business and just want to begin adding computer graphics, tiding or animation, life will be a litde easier. If you’re starting from scratch and you do not know' computers or video, life will be a lot tougher.
For those of you who are doing neat tilings with your Amigas but have not yet tried to get into video, I have a BIG dp for you (no tiianks necessary, just send cash).
Before you start buying cameras, VCR’s etc., and try to learn how to use them, think about this: How about providing those incredible computer graphics you're doing for someone wdio’s already established and successful in the video business?!
Look up video sendees in your local Yellow Pages. Check with your local cable station. Call your Uncle Fred’s neighbor wdio videotapes weddings. If you can hook up wdth one or more people already in the video biz, you may find yourself a steady stream of work!
The advantages to this approach are immense. You may need to do little or no marketing of your sendees beyond your initial contacts. You may also have saved yourself hundreds or thousands of dollars investment in equipment! Most of these people will eidier have or have access to Whether you are a complete novice or an accomplished Amiga artist or animator; if you want this to be more than a hobby; if you really want to make it big in the video biz: THINK OF IT ASA BUSINESS!
Editing equipment w'hich can be used to combine your graphics witii their video.
Often tiiey will come to you with portable equipment to record your output. Once they have your Amiga output on tape they can use it as they wish. You are finished, paid (hopefully), and on to die next project!
All you really need for diis. Besides your Amiga and software, is a genlock or encoder! This w'ay you have spent minimal time wdth a minimal investment. The re- wrards can be very nice.
If you really want to do the video part yourself and you are starting from scratch.
You have a lot to learn. Answering those questions in your business plan completely and honestly wdll help you determine exactiy what equipment you’ll need. Research that equipment thoroughly before you spend a penny, Take your time. Nothing is more frustrating (or more expensive) than buying the w'rong equipment. Especially w'hen you discover die fact three or four months dowrn the road in the middle of a project!
Be prepared to put some serious time and effort into learning about video. Many local community colleges now' offer video classes. Or check wdth your local cable company. Many of them offer basic video instruction as part of their public access programs. Just having taped your friends and or relatives at a party' does not qualify you as a videographer (yes, that's the term).
Watch a lot ofTV. (Finally, the excuse you've been waiting for!) Make notes about or tape the professional graphics that you admire. Study them to see what die pros are doing. Get ahold of the videotape or videodisc called "The Dream Machine" to see die current state of the art in computer graphics. If you haven’t seen this before, and you’re really into computer graphics, be prepared to do some serious drooling.
Even if fancy 3D ray-traced graphics are not w'hat you're planning on doing, it’s still important to know what can be done. You should never be ignorant of what the current state-of-the-art is in your owm field, even if your owm work will be at a much less complicated level.
Finally, you must understand going in that if you’re very proficient at what you do, have a lot ofluck and work very hard, you may be able to do OK. However, you'll never make it big in the video biz wdthout a lot of talent and imagination!
This month in my Video Schmideo mailbag I received a letter from Kenya Pittman of Philadelphia. Kenya wrote regarding my first article (AC V4.9). Appar- endy, my obsession with desktop video sounded familiar and Kenya, having a similar drive, wants to know' what equipment to purchase. Specific questions included: "Should I buy a 500 or a 2000?’1, "What type of genlock?", "How' much memory'?”, etc., etc. Well Kenya, I'll do what I can. First of all, even without knowing exacdy w'hat Orders Only 1-300-733-AlVIIGA h P.O. Box 2104, La Mesa, CA 92044 |Cr*Ol V1103 Customer Service
1-619-670-3161 24 Hour FAX 1-619-670-9732 BBS 1-619-670-1095 Discount Hardware &. Software HO CHAKCe FOK VISA & ft)A5TSKCARP Hardware Software ASDG ScanLab S815 DataStomi S26 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 Digi-View Gold SI 35 HiSoft Basic SI 07 Dual Serial Port Board S211 Lattice C 5.02 SI 90 Expansion Tech Toolbox (500 1000) S2I5 Lords..Rising Sun S3 3 GVP A3001 w 68030 68882 4mb RAM 52,500 Music X SI 75 Kronos Hurd Disk Controller S211 PageStream SI 29 Magni 4004 Genlock w Comroller SI.685 Pen Pal
S88 MicroBotics Hardframe DMA S250 Populous S3 5 Panasonic WV-1410 Camera w Lens S234 Professional Page ! .3 SI 75 Scanlock Genlock S872 Sculpi Animaie 4D S386 SupraDrive 500 30meg Hard Disk S614 Superback S5S SupraRam 500 (512k. Clock Cal) S99 Superbase Professional S225 SupraModem 2400 External SI 19 The Works! Platinum SI 75 SupraModem 2400zi Internal SI 26 World Atlas S39 Toll Free Ordering Free Catalog Same Day Shipping FAX Ordering Credit Cards Not Charged Until We Ship We Carry Over 1300 Titles Circle 182 on Reader Service card. Y At MicroMiga our customer and iheir Amiga are Number
Ont. 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 you would like to do, I would have a very tough time recommending an Amiga 500 for professional use. Don’t get me wrong, it's the same great maciiine that die 2000 is, basically, and it is expandable, but a 2000 (series) will probably save you a lot of headaches down the road.
Besides which, the 2XXX machines also have die video slot which is necessary for some genlocks and other forthcoming video devices (the Video Toaster and odters come to mind).
At this point, it may also be important to think of speed. If you would like to do 3D ray-traced animations and you w'ould like to do many of them before you get old, you might want to get a faster machine.
You can add faster processors from Commodore or third-party suppliers to your 2000 or, it you don’t feel dial you need die speed as yet, just start widi a 2000 to make the upgrade option easier at a later date.
The 500 can be similarly upgraded, but it is more difficult and, in some cases, more expensive. Alternately, you can go straight to the top and start with the Amiga 2500 (widi a built-in 68020 processor and 68881 math coprocessor), or go to the brand new 2500 30 which includes a 68030 board running at 25 Mhz as well as a 25 Mhz 68882 coprocessor.
As far as memory goes, I honestly don’t think there is such a thing as "enough’ . I have a 2000 with a total of 3 meg (at this point) and, frankly, I run out of memory fairly often. The amount of memory diat you absolutely must have will depend very' specifically on exactly what you intend to do.
My best blanket recommendation, especially if you want to do anything in animation, would be 3 meg. .Also please do make sure that, whichever machine you purchase, you do get die new 1 meg Fat Agnus chip. All current models have been shipping this way for a couple of months, but there are probably a few without them ieit on the dealers’ shelves.
As far as a genlock goes, please check out my column in AC’s November issue (AC V4.ll) so 1 won’t have to quote myself at length and appear pompous. Just remember (I’ll paraphrase) that no matter how good your work is, it will be worthless unless you can gel it out of vour Amiga and onto video with the quality you need (and your clients expect), .'Vs far as other hard ware “necessities" are concerned, again, you must decide what you want lo do. 1 have found a digitizer to be indispensable. 1 am also currently using a scanner (to digitize logos and such), which I am beginning to feel 1 cannot
Once again, that’s about it from this end. Please don’t hesitate to write me if you have any video problems or questions that require common-sense answers.
Barry Solomon Video Editor c o Amazing Computing
P. O. Box 869 Fall River, MA 02722
F. A.C.E. Fayetteville Amiga Community Exchange 1014 Streamwav
Drive Spring Lake, NC 28390 John Berger, Secretary Meeting:
3rd Wednesday of each month at 7 p.m. Location: Software
Exchange, Sycamore Square Shopping Center, Fayetteville, NC.
BBS: We use the BKAGG BBS; Phone: (419) 432-2013
H. A.U.G. Hartford Amiga Users Group
P. O. Box 504 South Glastonbury, CT 06073 Bob Morrison, Treasurer
Description: Organized 12 86, with 70+ active members, monthly
meetings with demos and presentations, a club newsletter,
free monthly dub disk, complete public domain library, and
Meeting: 3rd Thursday of each month at 7p.m. Location: Aetna Institute, Farmington Avenue at Sigourney Street, Hartford, CT. BBS: Under development.
P. A.U.G. Philadelphia Amiga Users Group
P. O. Box 21186 Philadelphia, PA 19154 Tony Antonuccio, Editor
Description: The largest Amiga users group in the metropolitan
Philadelphia area. We are eager to help new Amiga users get
the information they need.
Meeting: 2nd Saturday of the month at 12:30 p.m. Location: Drexel University, MacCallister Hall, Room 4014.
BBS: We have a working relationship with PhilAmiga BBS; Phone: (215) 533-3191.
Newsletter: The Blitter, monthly.
R. G.V.A.U.G. Rio Grande Valley Amiga Users Group c o Marilyn
Martin Computer Graphics Lab, NMSU
P. O. Box 30001, Dept 3AT Las Cruces, NM 88003
(505) 646-1840 Description: Our group is small but intensely
involved with animation.
Meeting: 1st Thursday of each month at 7
p. m. Location: Room 129Jacobs Hall, NMSU, Las Cruces, NM.
BYU Amiga Users Group 432 ELWC Brigham Young University Provo, Utah 84604 Brian Koetting, President
(801) 377-2269 Description; Group members are principally
students of Brigham Young University', but meetings are
open to all. PD sharing, projects, and workshops on the
many applications of tire Amiga is the group's focus.
Meeting: Every 2nd and 4th Saturday at 10:00 a.m. Location: 258 ELWC on the Brigham Young University campus.
C. D.A.U.G. Capital District Amiga Users Group
P. O. Box 14353 Albany, NY 12212 Carmen Artino, Secretary
(518) 783-1784 Description: We are loaded in Albany, NY but serve
Amiga computer users in the entire Capital District of New
We are a very active group and our meetings are very well attendeci. We have activ c subgroups with varied special interest (video, graphics, music, programming, business, etc.). Meeting: 3rd Thursday of the month at 6:30
p. m. Location: The Computer Cellar, Westgate Shopping Plaza,
BBS: Atredes BBS, 1 line, 80-meg HD.
Amiga 500, 1 meg RAM. Phone: (518) 370-
5207. Sysop: Lou Matrazzo
V. C.C. Valley Computer Club
P. O. Box 310 Denair, CA 95316 Rubv Larson, Secretary
(209) 529-8473 Description: Supporting Amiga computers in
Turlock, Modesto, and the surrounding California area.
Meetings: 3rd Wednesday of the month at 7 p.m. to 9 p.m. Locations: Doctors Medical Center Conference Room, Florida and Orangeburg Avenue, Modesto, CA.
Newsletter: Valley Computer Club
T. C.U.G. Textile Computer Users Group
P. O. Box 1065 Lafayette, CA 94549 Margaret Copeland, President
(415) 284-1635 Newsletter Announcement: The Textile Computer
Users Group announces the publication of Computer Textile
GTE is dedicated to providing tlie professional and amateur textile designer with the latest information for using personal computers in textile design. Quarterly, S24 yr.
• AC* (Snapshot, continuedfrom page 16) your speed down,
hindering your progress.
For some reason, they are not affected at all by a crash with you; this can be somewhat annoying.
Obstacles also appear at frequent intervals along the sides of the road and hitting these can not only throw you for a loop, but also cost valuable time while you remount and restart your cycle.
Super Hang-On features a subjective view of the area in front of your cycle.
Objects zoom past based on your current speed. One glaring deficiency is the lack of any kind of rear-view mirror. While you are usually focusing on passing other cycles, opposing cycles will pass you if you are going slow enough. This may be realistic, but without a wray to tell where they are passing you from, it is very easy to be hit by several cycles in a row when regaining speed lost in a collision, slowing you to a virtual halt after each collision.
Either a mouse, a joystick, or the keyboard can be used to control the cycle, but I found the joystick to be die preferable method. The game has a few options that can be adjusted for play, such as die sensitivity of the control device and die music to play during the trip. Each race has its own backdrop based on the prevalent terrain type.
ROBOCOP RoboCop is an arcade game based on the policeman of the future. RoboCop has three missions: 1) Serve die public trust, 2) Uphold [he law, and 3) Protect the innocent. To do diis, he is authorized to use whatever force necessary to free the streets of Old Detroit and clean up the Scum who have tried to take over. Armed with a variety' of weapons, including a Special Issue Auto-9, you must accomplish all diis without letting RoboCop’s power level be drained too low.
Nine levels in all await to challenge you, with a few' intermission “bonus” rounds throwm in for fun. Each will require a slightly different strategy to complete while keeping yourself intact. The play segments use a standard horizontal scrolling routine and most of your movement is from left to right; howrever, some levels modify' this a bit and may even require you to go down a few levels to finish die segment. The joystick is the primary control device and is used to move RoboCop around tire screen, with dre fire button firing die gun, or punching in die current direction.
BAD DUDES The diird game is Bad Dudes. It seems Ninja criminals are everywhere.
Even the White House is not safe. The President has been kidnapped by die evil Dragon Ninja, and only you can help.
Beginning in the city, you must fight your way through the sewer, forest, freight train, and cave on your way to the factory wliere the President is being held. At die end of each segment, you must defeat that level’s super bad guy to advance to the next challenge.
Should you somehow' manage to make it through all seven levels and defeat the Dragon Ninja at the end, your quest will be completed, and you will be a hero to the free w'orld.
Once again, the joystick is the primary control device, but diis time it does a few more things. Not only is the joystick used for simple left and right movement, but pushing it in die odier directions with and without the button will cause one of the many possible karate attacks to be carried out. This can be a bit difficult to learn and will require some time to master.
The graphics in all tliree games are reasonably close to the arcade original, with Bad Dudes being the best, RoboCop coming in second, and Super Hang-On a distant third. Racing games have been done better, but Bad Dudes has some pretty sharp graphics for all the action that can occur on die screen at one time.
The sounds are also faithful to the originals. Again, the ranking is the same, with Bad Dudes' effects being the most realistic, but any limitation with the odier two games is more a limitation of the arcade original. The background music can become annoying in Super Hang-On, but since the music can be turned off, this is not too much of a problem. The first two bodi feature digitized start-up sounds, one of a motorcycle rewing up and the other of the recitation, in true movie style, of RoboCop’s missions.
All three lack a demo play mode. This is disappointing as it is usually fun to watch the computer play through at least the first fewT levels to get an idea of exactly what is going on.
Also, none of these games save the high score to disk. Such a waste, Who cares what the high score wras during my most recent fifteen-minute playing session?
While the price seems a bit steep, these games might be worthwhile if it were not for some new competition.
HIGHS AND LOWS The most recent release from Inner- prise software, Batde Squadron, is bound to set new-standards for Amiga games. Programmed by die same programmers who brought us Hybris, die sound and fast- paced action are very' nice. The game does have a few flaw's, such as the inability to continue in some parts of the game, and die usual failure to save die high score to disk.
But this is a game every serious arcade player should have.
Finally this month, 1 want to steer you away from buying Dr. Doom’s Revenge, by Paragon Software. While the premise is interesting (controlling both Spidennan and Captain America in their quest to remove a stolen nuclear weapon from Dr. Doom’s evil control), the game mechanics are downright lousy. It takes an extremely long time to even start up die game, and then the controls are so difficult to master that you will quickly die when facing your first robotic foe, let alone any real super villain.
Most bad games at least let you live through the first few minutes of gamepluy.
Avoid Dr. Doom's Revenge at all costs and spend your money on something else. See you all next month.
• AC* Star Command Strategic Simulations 550 South Winchester
Boulevard, Suite 200 San Jose, CA 95128 Price: SI9.95 inquiry
209 . Super Hang-On ¦ C O Data East USA, Inc. 1850 Little
Orchard Street Son Jose, CA 95125
(408) 286-7074 Price: $ 44.95 Inquiry 210 RoboCop C O Data East
USA, Inc. 1850 Little Orchard Street San Jose, CA 95125
(408) 286-7074 Price: $ 44.95 Inquiry 211 Bad Dudes C O Data East
USA, Inc. 1850 Little Orchard Street San Jose, CA 95125
(408) 286-7074 Price: $ 44.95 Inquiry 212 MENU BUILDER!
By Tony Preston This article is about menus. It is also about making the job of 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!
The Intuition manual describes menus by telling you how to set up the needed structures. I may be a little slow, but i gave up on menus alter rereading that chapter about three times! It was not that tilings were hard to understand, but the documentation just doesn't have many examples. It would have been nice if the window example shown in the ROM Kernel manual had been repeated with an example menu! To understand and use menus, you have to be familiar with several other things in Intuition. When 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!
When I finally got back to menus about a year later, I found that things were not as complicated as they initially seemed! It seemed that Menu, Menultem, and IntuiText structures could be setup with default values making tilings simpler.
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 examples and instructions in Chapter 6 of the Intuition Manual, I realized that much ol the menu building process could be calculated very simply. For example, menus could be placed on a window based on the width of the title. The width is in pixels which is easily calculated. The width of the menu items couid also be calculated using the longest item as die base width for the whole menu. Many other options and parameters could be preset to constants in most cases.
I wanted a simple text menu (no graphics) with support for key stroke equivalents. After I thought about the problem, I came up with the Menu Builder. A program that takes a simple text description and creates all the needed structures. As you know, I’m a lazy person, and I like to set up the menu with as little work, as possible. Then take output from die menubuilder and use it with as little work as possible. The program has to generate all the needed structures and make the resulting source file independent of other files, so I can compile it by itself. That way, if 1 want to change the
menus, I only have to rerun the menubuilder, compile, and relink. Before we get to the menubuilder, let me describe how a menu is structured. The example here will be similar to the Workbench menu. Menus are always associated with a window. A program always attaches a menu to a window with a call to the system routine “SetMenuStrip”. If a program has multiple menus to use. It must first clear the old menu before adding the new one. A menu is cleared by using a call to the system routine “ClearMenuStrip". This all seems rather simple, right? The basic sequence you should always use is:
- ...paired sets of
- Clos©Window It is important to remember that you have to remove
die menu BEFORE you dose the window. The system usually calls
up the Guru to tell you that you forgot to remove the menu!
SetMenuStrip takes a window pointer and a menu structure pointer as arguments. Here is a simple example of code diat opens a window and attaches a menu to it: extern struct Menu *MyMervu; struct Window ’'Window; * per to window* Window = (struct Window *)OpenWindowUNewWinaow); SetMenuStrip(Window, MyMenu)?
ClearMenuStrip(Window)? * Remove Menu * CloseWindow(Window); * close window * The structure pointed out by the external pointer MyMenu is the one built by the MenuBuilder! This means that code similar to the above just has to be linked again to use updated menus, at least, if the changes are only positional.
The way you act on a menu event is to wait ontiie window's port, get the message sent to it and discover that it is a MENUPICK item. Messages are an interesting tiling on the Amiga.
You can get all kinds of different messages and each one requires that you reply.
Waiting on a Port is the proper way for an Amiga program to wait for user input. You should never code a loop that checks a device directly, using a CPU delay. A device should generate an interrupt that makes your task ready by sending it a message to your port! This is what happens when you click the mouse buttons!
The code for a simple loop that waits for a MENUPICK item and properly replies to all messages sent to your task looks something like: for (;;) ’ loop until a close gadget * ( VialtPort (window- UserPort); message = GetMsg Window- UserPort]t if((message- Class) c= MENUPICK [ ( MO = KENCNUM(message- Code)I 10 3 lTS»JUM(Eiessage- Code); SO = SUBNUK(message- Code); 1 else break; ReplyKsgt(struct Message *)nessage); If ReplyMsgt (struct Message Mnessage); The MENUNUM, ITEMNUM, and SUBNUM code above are macros that do the magic shifting and masking to the Code item to decode die menu, item, and
sub-item number from the message sent by Intuition (in Intuition.b). The above T~ assumes your window only
- has CLOSEWINDOW and MENUPICK flags set. Because of that
assumption, Intuition will only send you die Menu selection and
Close Gadget message.
That is why the code above ASSUMES that if it isn't a menu message, it must be die Close Gadget! It becomes a simple coding exercise to act on each menu item as it is selected.
This is all fine, except that die menu structure for even a simple menu must have three different structures, posidoning information for each item, and the external pointer, MyMenu, must be defined for this ail to work.
Listing One is the full source code for this simple program. It will open a screen and a window, attach die menu, and receive die menu events until you click on the close gadget.
The MenuBuilder along with this program will create a test driver where you can create a menu and test it to see how itlooks! Now lets look at a sample menu file (Listing Two). This menu description contains the menu example that imitates the Workbench. The Menu also includes an extra menu thrown in to show sub-items. MenuBuilder decodes the commands MENU, ITEM, and SUBI to create the needed data to produce the menu structures you need to compile (Listing Three).
There are many options to menus and IntuiText structures. Most of 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 always wanted to say that!).
The menu description consists of the three command types.
The syntax of the commands are: MENU,Name ITEM,Name,[Select!,[Command!
SUBI,Name,[Select],[Command] Where: Name is die name of the Menu, item, or Sub item.
Select is an optional item which will display when the item is in position to be selected. Intuition will overlay the text in Select field on top of the text in the Name field.
Command is the Character to use for selection of die menu item with die Right-Amiga key. No check will be made to see diat characters are not used more dian once.
The MENU command defines a menu. The name will be the heading on the bar. The MENU command is die first command describing your menu. It becomes the heading! Simple right! That’s die whole idea. You might be wondering where the heading will be positioned. The MenuBuilder will take care ol where it will be positioned. You just tell it what headings you want!
After each MENU comes die actual items in the menu. To specif}' the items you use an ITEM command. Say, this is gening pretty easy isn’t it! The ITEM command has a Name, an optional selected name, and an optional Command character. The Name will display on die menu when it is dropped. The Selected name will replace the Name when the mouse passes over die item. The Command character will be the character you use with the Right- Amiga key to select the menu item.
Each Item may have sub-menus. This is one of die trickiest pans of creating menus. You have to overlap the Sub-Menu with the item it belongs too. If they do not overlap, you cannot select the sub-item with the mouse. The MenuBuilder overlaps the Item by about 25% (die bottom right hand comer). It will calculate all die positions and make sure intuition is happy!
To use the MenuBuilder, you just create a file like the one shown in Listing Two. 1 called the file “Listing2.menu” for this example. Each menu, item, and sub-item is described and then you invoke the menubuilder with the command: MENUBUILDER List:ing3.c Listing2*menu The resulting menu code will be in the file ,'Listing3.C' for this example. The output from the menubuilder is collected using die standard redirection to die file. This makes the menubuilder code simple.
The bottom line is that you cannot use “its too complex or confusing’’ as an excuse anymore! With the MenuBuilder, you can create complex menus with lots of items and sub-items!
Once you start using menus, you might take a look at tire intuition included files supplied with your C compiler. There are many of options not mentioned here. One of these options is Mutual Exclusion. Mutual Exclusion is a way to force one menu item to exclude others. The normal usage would be to allow a user to select only one printer drive out of many. Each printer driver mutually excludes all others. The MenuBuiider sets die Mutual Exclusion field to zero, allowing any or all items to be selected. You have to experiment to learn! The MenuBuiider will support only part of the options used
in a program. By editing the result from the MenuBuiider, you can add your own options and still save alot of time creating menus.
The MenuBuiider is not perfect. It does not check for limits like do your menus fit on the screen. Do you have too many items, or sub-items? You will find that a menu description will compile and link properly only to see that it is messed up when you try to use it. That is the reason for the driver program (Listing One). With the Driver, you can create tire “look” you want. You do not have to worry about testing everything at once. You can actually build up a program based on the driver! With these programs, you can actually create a menu, compile and link it with tire driver, and have a
prototype of your application running in just a few minutes.
The Second half of this article will describe in detail tire actual code in the Menubuilder. Tire first tiring to understand about the MenuBuiider is my coding style. I have seen many of articles about “Amiga-tizing" your programs. Well, I prefer tire “if it works, don't mess with it” style of programming (remember from the first article, I’m the lazy one!). I like to use the print function for most of the output, even if it is just one character! In addition, I make all my defined parameters all capitals (it makes them easy to spot).
Another characteristic of my programs is that since I use tire CLI most of the time, I don’t usually add the logic to support running them from the workbench.
Also important to note is that I use the Lattice compiler for all my work. 1 did not intentionally use any features that would stop this code from working wdth other compilers. If you have a problem or a question send me a note, and I will try to help to resolve it.
Let’s start with tire main program. It will use tire command line arguments as filenames of tlte menu descriptions. Normally, one text file will be more than enough to describe your menus. 3 allowed for multiple input files just to make it easy to combine two or more menus into one program! If you combine menus, be aware that while duplicate menus and items names are allowed; it can cause confusion for the user.
The Main program has the job ofi
1) Initializing tire process
2) Opening each file
3) Processing the commands
4) Closing each file
5) Generating tire resulting code There are two functions that do
most of tire work lor the main process. The first is Scan.
Scan is a useful function that, given a pointer to a string,
will either search for a character or the first occurrence
of something that is not that character. This is a case where
the code is shorter than tire description! Scan will always
point to a character in the string or at the end of the string
(normally a string ends with a zero byte). Scan stops when it
sees the zero byte or a newline character. Scan Ls a useful
routine. I use it frequently when searching strings.
The second function is “strncmp”. This routine is a “compare two strings of fixed length" function. It is a library function supplied by Lattice. 1 use it to decode the commands (MENU, ITEM, and SUB1). When “strncmp” finds a match, the string is sent to Scan to move to the comma following tire command. When the command is MENU, ProcessMenu is called to take care of the rest of the string.
If the command wras ITEM or SUBI, Processltem is called to build tire Item information.
When I designed this program, I decided to use the actual Intuition Menu and Menu Item structures to store the data needed to create the resulting code. In ProcessMenu, a Menu structure is built for each MENU command. This is done by dynAMIGAlly allocating a Menu structure.
There are two tvays to implement a program of this type. The first is to create an array large enough to hold what you tlrink will be dre maximum amount of data. This wall work most of the time, but it has a couple of drawbacks: Large arrays take up memory. Itwouldn’tmatter how' much data you have. If you are tight for memory, you might not be able to run the program! Another reason is drat while you “think” you know what is needed to process dre maximum amount of data, you may be wrong! I work for a company that has redelivered programs many dines just to increase dre sizes of some tables
that could not be dynAMIGAlly allocated. By using dynAMIGAlly allocated memory for the structures, both of dre problems go away! The program is smaller and we only use the amount of memory we really need. Everything in this program is made into linked lists allocated dynAMIGAlly. The Menu structure is used to store the menu 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 them. Menus are linked together much like the actual menus. By- studying how this program processes and stores dre data, you will learn much
about link list handling, not just menus. DoOutPut wrill travel these structures and create the code. Normally, when you are done, all allocated stuctures are released so that other programs can reuse the memory-. Since I am a lazy programmer, I let tlte Lattice functions clean up after themselves! With the standard library routines malloc and calloc, Lattice keeps track of all allocated memory. When your program exits, a clean up routine will return the memory you used. For a simple low- memory usage program like the MenuBuiider, this technique is fine. It saves a little work on 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 does lor you), you will find memory disappearing from the system each time you run a program. Eventually, you will have to reboot the system to get the memory back.
When the ITEM command is processed, several error211 checks are made in the function Processltem. The first is that you must have a MENU command before an ITEM command! The second check is for tlie SUBI command. I use tlie Processltem function for both the ITEM and SUBI commands. There is a very good reason for this dual purpose! Both a Menu Item and a Menu sub-item are defined by the same structure.The Menultem stmcture. The way this works is that a Menu struc- aire always points to a Menultem structure using the Firstltem pointer. The Items that have sub-items have a pointer to tlie same
kind of structure (Menultem structure) with the Subitem pointer. Both kinds use the Nextltem pointer to create a linked list of either STEMs or SUBIs (items or sub-items) from your input. Each block represents either a Menu or Menultem structure. The NULL is the indication of die end of die list. Your program reference the menu using the pointer MyMenu.
Project New Load Save Save As Menus have several complexities that can confuse even those familiar with them! One of the complexities here is the Menu header. You include the header text in die Menu structure direcdy.
For Items and sub-items, you can't just include the text. You must build another structure called an IntuiText structure and include a pointer to the Menultem structure. The reason for this is to tell Intuition not only where to put pixel positions, but you also need 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 defaults. The text ends up being a foreground color on die regular background. I also use the default font, This turns most of the IntuiText structure into a bunch of constants. The IntuiText
stmcture will be the first tiling the output routine creates. The text for die Items and sub-items will be saved in these structures by die function ProcessText. This function has die same type of “Create die List if new, or just acid to the end” logic as the other functions. The one difference is that a search is done to eliminate duplicate Item names. It you use the name "DELETE" ten times in your Items, it will only have one structure and all ten Items will point to it! This is the one time that I freed up the memory. This guy returns the pointer to the IntuiText structure it either found
or created. The pointer is saved in the Menultem currently being built. The MenuBuilder repeats tlie process for the Item (or sub-item) name and die Select name if you have one. Some times it is easier to see what happens than to explain what is happening! When a menu is dropped, the “Name" is displayed for each Item. When the mouse passes over the Item's position. Intuition will switch to die Selected name. This gives the menu a dynamic appearance. The last part of an Item or sub-item is the command character. The command character is the character you use with the right-Amiga key as a menu
equivalent for die keyboard. The maximum width of the menu item is kept in the first item’s MutualExclude field, This will be used to size tlie menu.
When all the files are processed, a check is made to see if any errors occurred. If diere are errors, the output routine is skipped.
The output routine creates all the menu code. The code is generated in die order it is used. The IntuiText structures are created first just because every Item and subitem will reference them. The sub-items are created next because all die Items will reference diem. The menus are created last because they reference all the Items.
Creating the IntuiText structures is fairly simple, most of the entries are constants. You might try usingJAMl instead ofJAM2 in die structures used with the Selected names included. Once you have a menu structure, you can experiment by substitution. (You can look at the Intuition Manual and the included file Intuition.h) for more information on the options available.
The sub-items are created by traveling the menu list, and then a nested trip tiiru die Item list. When a sub-item is found the DoOutSub function is called to generate the text.
The Items are done much like die sub-items. The menu list is traversed, and each Item is generated. If the Item has a sub-item, the proper pointer is created to the previously generated sub-item structure.
The Menus are similar with the only difference being the Menu structure does not use the IntuiText structure for the heading text. The text is included in the actual menu structure itself.
Finally, the last code created is the pointer to the menu itself.
This is die one that die test driver will reference as external. This is our connection to die driver. Your program will reference this external item when attaching die menu to your window, When you look at the actual text generated in Listing Three, just after the IntuiText structures, diere are a couple of preprocessor macros. A preprocessor macro is an aid to typing and readability'. The “FLAGS" macro defines die Item and sub-item characteristics. I selected the options that would:
1) CHECKIT - Mark a selected item with the standard check mark.
2) 1TEMTEXT - Tell Intuition that we are using text not graphics.
3) MENUTOGGLE - Let you toggle an item and its check mark.
4) ITEMEXABLED - Makes all items enabled initially.
The odier define is just a short cut to select the right IntuiText structure and to keep the resulting text a little more readable. It allows the text for an Item to fit in less than 80 columns!
All the numbers in the Menu and Menultem structures are calculated using die character width of eight pixels. This is OK for our default font and the normal menu, but if you wish to use larger fonts you will need to adjust the pixel positions. As mentioned previously, the positions of the menus and the Items are calculated.
Each Menu is given a width of die heading length plus 2 characters wide. This gives a readable heading display. The position of any ftcontinued on page 74) Fishing!
A Closer Look at PD Software Not Currently in the Fred Fish Collection.
No Tfje Ones That Got Away.
By Graham Kinsey This month’s highlights include a stunning preview of what Workbench 1.4 will be like, plus a fantastic gambling simulation. For each program, the author’s name is given when it is known, and in most cases, the AmigaZone download file number will be listed as well (this doesn't mean that if a file number isn’t given that it is not on PeopleLink at the moment, simply that I obtained it from somewhere else) so those of you who do have access to Peo- pleLink and its AmigaZone can quickly download diis file. When a public domain program has been classified as shareware, this is
also mentioned with the suggested amount if one is given. Due to tire large size of animations that are coming out for the Amiga, I have decided to assume that the normal size of an Amiga animation is one megabyte. This means unless I specify otherwise, ALL animations reviewed here require one megabyte in order to run. If you are an Amiga owner with only 512K in your machine you should keep this in mind until you can add some more memory to your Amiga.
TOOMUCH3D TOOMuch3D: by Jim Robinson (AmigaZone file *19837). For those who have been watching Jim's other Vide- oScape 3-D masterpieces a little too much lately, this one’s for you. While this is not nearly as long as his other animations, it is still quite good (especially the 3-D effect with the chair). Like MarsFlight this animation also begs for an accelerated Amiga to run.
AMIMODEM AmiModem: by Mike Thomas (AmigaZone file *17223). For those who are trying to wade through the dozens of settings for tire Courier HST 9600 14.4K baud modem, AmiModem can help. This program (written by the author of AmiEx- press, a commercial BBS program designed especially for this popular modem) will set the NRAM settings for you.
ATOMCLOCK AtomClock version 1.2: by Art Stein- metz (AmigaZone file *17741). This new version of AtomClock has one very' important addition in die form of Arexx support.
This now makes it possible for those who own both Arexx and WSHell (Bill Hawes' commercial shell) to have AtomClock automatically grab the time from the U.S. Naval Observatory' in Washington once a month.
CARDCOMM CardComm: by John Hoffman (AmigaZone file *18263). Yet another derivative of DJ James’ Communicator. Like the now defunct (since it is no longer supported on PeopleLink) Graphical Teleconferencing program ACO, CardComm also can only be fully used on PeopleLink. CardComm’s forte is in allowing users on PeopleLink to play all sorts of card games using a graphical interface within CardComm. Not only does it support card games with differing amounts of cards dealt (all the way up to
13) , a sophisticated scoring system is also included in
CardComm. CardComm also fully supports MoreRows display's,
which Communicator 1.34 does not IF you have the 1.3
Kickstart ROMs installed in your Amiga (since CardComm looks
exactly like Communicator 1.34 does except for tile added
card game features, some users of Communicator 1.34 may want
to switch over to this variant of Comm 1.34). HERMIT Hermit:
by A.G. Kartsatos (AmigaZone file *17905; Shareware: $ 15).
Another screen saver utility whose unique ability is to be
able to save the font used on any screen. This now allows you
to grab a custom font that is buried inside an executable
program from the program and save it to disk for your own
ICON MASTER IconMaster: by John Scheib (AmigaZone file*17622; Shareware: $ 10). Without a doubt the most complete program for creating icons. IconMaster’s paint screen includes such features as undo, dithered colors, a magnification window, AutoCen- ter, swapping of pen colors, and more. The main control screen of IconMaster is where you can edit die file protection bits of an icon, alter an icon’s ToolTypes, diange die stack size, and more. Hare Laser (Senior Chairperson of PeopleLink’s .AmigaZone) summed it up best when he referred to IconMaster as “DeluxePaint for Icons”.
CHARPIC CbarPic: by Kelly Day (AmigaZone file *18097). A unique program that converts a monochrome 640x200 IFF picture into a set of ASCII characters. Not only does this make it easier to transport graphics via modem, it stands alone as an effect-genera- tor (an IFF-format animation using CharPic- generated frames shows die effect off very nicely).
NOCLICK NoClick: by David Bolt (AmigaZone file *19166). Finally, someone has eliminated a minor (at least in the eyes of Commodore) but still very annoying problem with the Amiga; die clicking of empty floppy drives! NoClick will indeed stop the clicking of floppy drives on ANY Amiga, including 500’s and 2000’s. NoClick has already been through a few revisions, and the current version, 3.6, will work 011 any Amiga even if it is not running with a 68000 (earlier versions of NoClick crashed on my 68010-based Amiga). NoClick will not stop the clicking on all floppy drives however (while my
internal floppies on my 2000 are now silent, my ancient A1010 doesn’t respond to NoClick), and it is possible for damage to occur on non-responding floppies in the long-term (always keeping a floppy disk in the problem drive should help to reduce the chance of damage occurring). Needless to say this is one utility all Amiga owners will want to get their hands on.
NOW FOR THE AMIGA!
Don't let those finger aerobics get yon down! There's an easier way to change between your mouse and joystick or joystick and dongle without all that cable swapping. Mouse Master lets you instantly switch with just a touch of a button. It's housed in a compact case for stylish good looks and includes its own custom cable. It's the handiest switchbox around!
MOUSE MASTER Orders Inquiries (602) 322-6100 ONLY $ 39.95 tl I Practical Solution ® ©1989 fax (602) 322-9271 • 1135 N. Jones Blvd. • Tucson, AZ 85716 plus shipping & handling
MC. Vist), COD's luelcome Circle 137 on Reader Service card.
PATENT Patent: by Jay Miner (AmigaZone file 17781). If you like to collect Amiga memorabilia this is worth getting. This text file and accompanying IFF pictures are a copy of lire actual documents filed by Amiga Inc. in July 1985 to obtain a U.S. patent on the Amiga computer. While most of the text maybe greek to those who know little about computer hardware, it is still fascinating to view.
KNIGHTERRANT KnightErrant: by Eric Fleischer (AmigaZone file 18266). Another fine animation by Dr. Gandaif. This one depicts a knight in VERY shiny armor, who after walking in the desert for a long time, suddenly does his best "Amiga impression". There are actually two animations included in the WARPed files, the other one is a close-up shot of the “impression” called Knight-Closeup. KnightErrant was created with TurboSilver V3.0 (with the assistance ol Diamond, and the sounds were created via PerfectSound). The KnightErrant will just barely run on a 512K Amiga (Knight- Closeup will
FRANKLIN FLY Franklin Fly: by Avril Harrison. You don't have to purchase high powered and high priced animation software like TurboSilver and Sculpt-Animate 4D (nor learn how to program The Director) in order to produce great animations on the Amiga.
Avril Harrison’s "A Day in the Life of Franklin Fly" showcases the capabilities of one of die Amiga’s low priced (and easy to use) animation packages, Fantavision. This long animation is comprised of several scenes from the typical life of a fly. In diis animation Franklin Fly overcomes such obstacles as a spider’s web, a window, and a big bowl of soup. In another scene the Queen of England makes a guest appearance that she would rather forget quickly!
This animation isn't a showcase of die Amiga’s graphics capabilities (though an MS-DOS machine would still he hard pressed to match it!), but it does include many great sound effects, is very funny at times, and overall is a pleasure to watch, Franklin Fly also requires just 512K in order to run. Despite being a low-budget production, Siskel & Ebeit would still give Franklin Fly two big thumbs up.
DOCfORA DoctorA: by Marvin Landis (AmigaZone file 17598). The third animation featuring dial ultimate computer athlete, 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 long as in Gymnast nor BoingThrows, DoctorA is still as stunning as the other two.
DoctorA was also created with Sculpt- Animate 4D, and really needs one megabyte in order to run (Marvin does explain how you can run a crippled version of DoctorA with just 512K).
JAZZBEXCH JazzBench; by David Navas (AmigaZone file 18012). If you just can't wait for Commodore to release Workbench 1.4, and you don't have developer status (and therefore can’t get your hands on prerelease versions of 1.4). now you finally can get a feel for what Workbench 1.4 will he like in many ways, thanks to JazzBench!
JazzBench is a TOTAL replacement for the Workbench environment, and as you might guess, it is wildly different! First of all, you can display AmigaDOS Dir-style text listings in a JazzBench window. JazzBench windows open in a Macintosh-type fashion
(i. e. they explode), and any window on the JazzBench screen can
be iconized (which means any program that lives on the Work
bench disk can be iconized!). JazzBench is also asynchronous
just like Workbench 1.4 will be (you won’t be seeing much of
the busy pointer in Jazzbench). The menus for JazzBench are
much larger, including menu items for many AmigaDOS com
mands. Plus you can install menu items for your own
applications. Icons can not only be sorted in different ways,
but you can even have a default icon appear for programs
that don't have their own icons. I’ve only scratched die
surface here, JazzBench holds much more for those who use it.
JazzBench is not designed for a 512K System, but die author does explain how you can run a limited version ofJazzBench on a 512K Amiga. While the current version ofJazzBench is not stable enough for longterm use as tile default environment (neither is Workbench 1.4 at this point), it is still a must-see for those who can’t get their hands on Workbench 1.4. PROTECT-1 PROTeCTA; by A.G. Kartsatos (.AmigaZone file 17785). A simple and nicely- done gadget-laden program for changing die protection bits of a file. This program will not, unfortunately, work from die Workbench (since the author
would naturally prefer Workbench users to check out his full-featured DirUtil program DISKoLAB).
SUBLIMINAL Subliminal: by Steve Tibbett (AmigaZone file -17971). Another unique program, diis will indeed allow you to create and display subliminal messages on your Amiga. Subliminal will display up to 20 messages once every 5 minutes. Subliminal does Lhis on the Workbench screen (making it ideal to use on unsuspecting subjects who tend to work long hours in the CLI or in window-based wordprocessors like WordPerfect and Scribble).
TITLEGEN TitleGen: by Kevin Kelm (AmigaZone file -18192; Shareware: $ 10), A very simple but useful video tiding program. This program can only scroll text from bottom to top and doesn't support any wipes (except for just popping in a screen of text). All text and effects are created in an external text file, so it is possible to type something up widi a word processor, save it as ASCII and then have TitleGen display it. TitleGen supports ten scrolling speeds, and supports a few baste options including changing the colors (only three can be used at one time), time delays, halting the dis
play until the LMB is pressed, and a loop option. Of course TideGen will accept any font, and centers all text. This is the only decent video tiding program I've seen in the public domain (unless you would label Startle as a video titling program) so send in those shareware checks if you want to see something better. The author did state that he is considering improving tiris program if enough people care.
2414 Pendleton Place ¦ Waukesha, Wl 53188 ¦ 9 AM to 5 PM M-F BMP BMP version 2.0: byJ.L. White ((AmigaZone file -18396; Shareware: $ 10). Version 2.0 of this great IFF sound player. BMP no longer is limited to using CPIIP RAM when playing sound samples, so you can now play multi-megabyte sample with it (including using it to play samples created witii AudioMaster II). BMP also now includes an ARP-style file requester (and as a result you now must have die arp.library in your LIBS: directory to use BMP).
Spotlight on SoMware Dais St Pipes . 174 99 Bnifle Squadion ...... 27 73 Bieacli II ..... 27.73 ConDo 03.99 Cross DOS ...... 24.99 Dr Plummet's House of flux . 24 65 Extend (BASIC Commands) , 26 00 Ffendisli Pieddy's Big Top ......32.99 I lawarf Scenery Disk 20.00 Invlslon Plus ...... 195.00 II Came From The Desert .... 35 99 Karo Tonis. ANIM I or 2 . 33 89 Leisure Suit Larry II 33.00 (osf Dutchman Mine 31,50 Magic Johnson's Baskelbali. 29.00
Nevermind .... 27 73 Omni Play l-loisetaclng .. ., 34.50 Plc-Moglc (Clip Ail).... ..60.00 Pro Tennis Tour .... 29.99 Quasar Sound ...39.99 Romance of Ihree Kingdoms 43 99 Shadow of Ihe Beast 33 8?
SldeShow ...30 99 Space Quest III . 41.00 Circle 134 on Reader Service card.
ESHFIX EshFix: by Tom Eshelman (Ami- gaZone file 18152). AmigaDOS’s Eel editor can now.' Load in many more text files than it used to be able to thanks to EshFix. Eshfix will strip any and all binary characters from a text file so that it will load in to Ed. EshFix doesn't alter the original file, it only creates an altered version (be aware of that if your storage device is almost full).
HPGL2PS A ND XDRA W HPGL2PS and Xdraw: by Rudolf Werner (AmigaZone file ’s 19144 and 19143)- Two essential utilities for users of Xcad. HPGL2PS wall convert the HPGL plotter output from Xcad into PostScript format. Xdraw allows you to import spreadsheet data from MaxiPlan III PlanIt MaxiPlan (pick your name) or other spreadsheet programs into Xcad. This makes it possible to import coordinate data into Xcad without having to typing it into Xcad directly.
MKDDIR Mkddir version 1.2: by Ron Shaw (AmigaZone file -18393). Version 1.2 of the ONLY CLI-based directory creation command diat really supports Workbench.
Mkddir’s newest release supports multiple Spherical ..25 99 Tracker s Quest ......24 50 TVTexI Professional ..99.00 Where USA Is C Sandiego 30 00 Spolllgh! On Hardware 501 Clones. 5I2K f 1000 502 Board, C Ltd.. OK .... 115 00
A. M.A.S. . ..120 00 Arnigen
135 00 Color Splitter, SunRize
...116.00 Floppy Drive. Imdrlve ...140 00 Han D
Scan, C Lid ...., 295 00 Memory Mod 500 2 megs ...,26900
MouseSlick, Adv. Gravis .0800 Mouse, Cordless!
..,...90 00 Panasonic 1410 Camera ....21500
Perfecl Sound 3.0 ..74.50 SCSI Controller,
Byte Sync .. 170.00 SCSI Controller. Word Sync 17000 SCSI
Conlroller, Kronos 220 00 Spirit Boards
OK ....234 99 SlarBoard2. 500 1000 OK
......245 00 SupraRAM 2000 OK .. 160 00
Trackball, AmtRAC .. 78 50 Orders Only Please:
800-544-6599 VisaMC CODs drawer icons types, including a
couple of 3- D drawer icons (which can be selected either via
ARP’s Set command or via the included set utility in Mkddir).
A very handy program for those who create PD disk collections
or other types of Work- bench-su pport ing softwa re.
PPLANE Pplanes: by Michael Fahrion (AmigaZone file “18196). The old pastime of making paper airplanes has now been greatly enhanced by the Amiga! Pplanes includes IFF pictures to help you create your own multi-color paper airplanes with any paint program that supports 640x400 resolution (course you could just resize the pictures if you want your own HAM air force instead). In addition to the monochrome template and folding directions, there is also a finished design and some very nicely rendered paper airplane clip-art to quickly jazz up your own designs (US markings only in this set).
QUICPREF QuicPref: by David Junod (AmigaZone file -18195). If you print graphics often this utility may find a home in your system. QuicPref duplicates the Graphics 2 screen in Preferences (in about one tenth Now In Wisconsin! Since 1982 * • Now In Wisconsin! 210 Order Toll Free Tlomputrftbilltg Order Toll Free (3*E IB
- 558-0003 AMIGA SOFTWARE ¦HI
21. 05 Karafonts Subhead__________44.05 Nimbus_____________97.05
KeeftheThH___________31.95 Nuclear War___________30.95 Kllng
Game Show_________21.95 Omega _______ 30.95 Kind Words V2.0
______57.95 Omrtptiy Basebal: 5 on 5 30.95 Ktog's Quest 1,2.3
or 4__ 30.05 Omnlpity Horse Racing ,... 30,05 Kingdoms of
England 29.95 On Lhe Putkiian ,-...58.05 Knlgft
Force_______28.05 Operation Wo! 22.05 Hrteton_______ Rash
Dragon ____21.06 Right Simulator tl___________30.05 European
Scenery Dsk. 10.05 Focus Video „ 107.05 Forgotten
Worlds______24.05 Future Sound 500 ----- 89.05 Pub Games
25 05 Superbm Pro 3.0 „.,.180fl5 Puzri* Storybook
___25 95 Superptan_________________87.05 Quicksilver...-
41,95 Superman .....24.05
Oh_____________ ...... 22.95 Superstar Ice Hockey -
30.95 Quarter Back________42.95 Stunt Car __ ____25.95 Quasar
Sound 34 05 Sword of Sodan________28.95 Questran
II___________31 05 Swords of Twfllght_________31.95
Rampage_____________24.95 Teenags Ninja Turtles-------28.95
Rasim -------22 95 Temple ot Doom 31.95 Raw
Copy______________34.95 Telris____________ 20.95 Red Ughtning
______37.95 Ted Ed Plus______________48 95 Renegade
_________22 95 Test DrMs 2 - The Duel 27.95 Rhyming
Notebook____25.95 CaHonte Chat. ___14 05 Rick
Dangerous______________21.95 European Chal 14.95 Rbk Davis
Soccer 1 Meg .. 30.05 Muscle Can ......14,05 Rbk Davfs
Soccer 512K„.. 24,95 Supercars------------------14,95
RbgSkle_______24.95 Their Rnesl rtvur_______37.95 Risk
.. -24.95 Thinker_____________57.95 Road
Challenge_____24.95 Third Cwxier___________23.95 ftobocop
_____28.95 ThudRBge ..29 95 Rocket Ranger
-_________31.95 Thuxter Blade_________29 05 Roger
Rabbi_______________28,95 TKO . 24,95 Romance Three
Kingdoms 49.95 Trackers Quest. ______________2195 RVF
Honda__________25.95 Turbo Stiver 3.0 1 Meg 11205
Savage___________________21.95 TV Show___________64 95
Sebufflepuck Cafe __________24 .95 TV Tab_______________ 5495
Scrabbb_____________24.95 TV Tert Profess b ml ..99.95
Scribble Plathium________87.95 Twilight’s
Ransom_________19.95 Sax Vbtera-Ouler Space ...22.95 Typhoon
of Steel 31,95 Shadow of the Beast 30.95 Lmma
4_______________________33.95 Shark Altack______24.95 Utlma
lit___________24 95 Snbh ___________ 25.95 Universe
Veteran_________ 19.95 Shufllepuek Cata___________24.95 Video
Effects 3-D_________113.95 8bMhow___________27.95 Video
Fchb_______ 23.95 81m City _______28.95 VldeoScape 3D 20
„„-.115 05 Skate Ware_________________31.95
Vbdkalws__________....CALL Sky Shark _______22.95 VIP
Prolessbnal 59.95 SkyJkw 12_______Sfl.95 Vbtj
3-D________37,95 Sottalre RoyaJi _______10.95 Vhi-Arrigi_____
____12295 Sorotrtan ... 30.95 VTX Online
______51 95 Sorceror Lord____________22.95 W
Shd________________28 95 Space Quest 1 or 2_________ 30 95
War Game Construction ...19 95 Space Quest 3_______ 37.95 War
of the Lance 25.95 Space Racer__________10 95 Wayne Gretrky
Hoekay.....30,95 Speedbal ___________25.95 Wild
Streets________28.95 Star Command ______31,95
Wllbw_______-..-.25.95 ShrTrek; The Flrul Front 34.95 Wind
Water _______,.25.95 Star Wars - .24 .95 Wings
Of Fuiy ...25.95 Sblar Crusade -_________38,95
Wtnrd’s Crown 25.95 Strip Poker II ______23,95 Works Platbim,
The CALL Stryx_______________21.05 World
AH**____________35.95 Super Back_____ ___43 95
X-8pecs______-_______84.95 Superbtsa Personal 48 96 Zak
McKrackan ______28.95 3rarfcugPCT5flUl2 £7.95
ZorkZtro ..38.95 .31.05
Cortra____________ . 64.05 Crfcbege King Gin King .24.05
Cross DOS______ . 24.06 Curse of the Am re Bonds .. CALI Dark
Caste ____ . 30.05 Dark Century________
24. 05 Data Storm ---- ..30.95 Deathbrbger__________
50. 95 Defender Of The Crown „ ..87-06 Do|a Vu; 10f 2-----
..23.05 Deltra Musk: Con*tr2.0 .25.05 Oehn Petal III_____
...23.05 MuwFMoLib___ .23.05 DehraPrtrtll____ .24.05 Dolma
Product bra .. .25.05 Dehj» Vkbo III__________ ..30.05 Deluxe
Video VI2___ .20.05 Denar*______ ... 30.95 Design 30_________
...21.05 Desigrusaurus ..28 95 Dig braid_______
170. 05 DlglpatntS.O________ ...20.05 DigM»w Gold_______________
...31.05 Dlghwrk3D___________ ...24.05 Disk 2 Disk________
31. 95 Dak Master_____ .,30.05 Diek Mechanic -__ _ 30.95 Distant
22. 95 Dos 2 Dos_________ ...24.95 ..37.95 .,18.95 . 28.95 ,28 95
...28.95 ,.25.95 ..25.05 ,. 31.05 .30.05 ..81.95 ..97.95
128. 95 ..04.95 ...84.95 ..24.95
- 50.95 ..30,95
124. 05 ..82.95 .28.95
- 28.95 .54.95 .30.95 ..30.95 ..24.95 ..24.95 .40.95 .28.95
31. 95 .13.05 .. CALL .25.95 .20.95 .24,95 .29.95 ,.31.95 .47.05
.31,95 .15 05 15995 .22.95 .23 95 .24.05 .31.05 .28,05 .31.05
.31.05 . 18.05 .37.05 .25.05
- 3QJ5 083 Attack sub_______ A-Tadc 3______ Attrgh-------- Actbn
Fighter Artvinlag*. The Aflac Bum*--- Awn Syndrome____
AmiQaDOS TooBox_______ Anlmagte ._____ Arttn A-0 Jf______ Atjji
Blast---------- Aquinattt________ Archipelago*...----- Amx__
Airt Art Ic Adwn.--------- Artun .. Awesome Arads
Pack .. BAD________ Balance of Form 5 W0 .. BaHstyx __ Bar
Games________ Ban and Ftp** Battle Chess
Bit* Hawks 1042____ Bart 8 quartern ,__ Battles of Napoleon__
Baud Band!______ BerrerkS______ Black Cauldron____________ B tesla raids__________* Block Out_____ Blood Money---- Bbe Angeto__________ Boardmasier BoonwaJd ______ Breech II___________ Bride of the Robot „ . Broadcast Tiler____ Can Do--- Carman SanCtego USA _ Carmen SanCiego World Carthage ---.----- Chaoi_____________ Che** mast ir 2000-------- Chew master 2100 Chronoquaat.------ Cty Desk 2.0--- Clue Waster Detective.... Cede name; Iceman ...... Cokwiar• Bequest Colony ,______ Combat Coin*_______ Con*; Setter __ Comic Art Dteks (eacnj.... tonouestcfCamtioi__ GauniJK II ..
30. 65 Knights of Legend .... .. 30.95 Optics______________
117. 95 GFA Basb 3.0 ™ 87.05 Krtslal, Tha._____ „ 31.95
Oswald_____________ ____23.05 Gold of the Raakn .
.....24.95 Lancebl . ..31.95 Out
nil ... ____30.95 Gold
Rush__________________24.95 Lasf Duef - ...24
95 Over Rin ---------------- ......32.95
Goes_______________24.05 U»t Jnca.Th ----- ,.24.95 Page
Renterer 3-D ______94.95 Grabbft______ ___18.05
199. 95 PageSeOer _________ ____50.O5 Grand Prta CtrcJt__ _27.05
LainreSuft Larry_____ ..25.95 Page Stream____ _.. 127.95
Gunship .....34.95 Labure Slit Larry II - ..30.05 Dot
Matrix Foni 1-5...
24. 95 Halb of Monta unw . ..,.23.05 Lebtrt Stit Larry 111
.37.05 Page Thinker . 59.95 Hardball 11______ .
2S.95 Uwnst to KII----
- 21.05 Pagefllpper Ptus FX ___S7.95 Harrier Combat Stmulabr.
30.05 Lite and Death__
- 31.05 Pamer Strike___ ___29.95 HnatWav©------- 28.05
184. 95 Paperboy________ ____30.95 Heavy Barrel ___ _ ____24.95
Lords of the Rising Si i.... 31.95 Pen Pal ...---- __84.95
H«avy M«4al __ _ 28.95 Lumr .. ......- .. 10.05
Phasar______ ___54.95 Heros cf the La not____ ......25.95
118. 05 Photon Paint 2.0 ___87.95 Hww Ouaet .....37.05 Magb
Johnson 512 .
24. 95 Pte Magic_______________ 57.95 Hllsftr_____________
......31.95 Magb Johnson 1 Mog .... ... 31.95 Pipe
Dreams_____ ______25.95 Hole In 0n«_____ .21.95 Manhurttr ¦
New York ,..30.05 Pb®l Script________ ___92.95 Home BuUet'e
Friend .88,95 Manhunt ar-SanFn ndsco ..30.05 Pbnet of
Luat_____ ____24.95 Hostage___ ____ ......29.05 Maniac
Mansion____________ .28.95 Pol be Quest 1 or2 .„. ____30.95
Hound of Shadow____ .....25.95 Matrix Mirsuders ....
..21.95 Poolol Radiance...... ___31.95 Hoyles Book of Games
.....21.95 Mavis Beacon Typing______31.95 Popubus---------
_____32.95 Hunt For Red October 31.05 Menace ..19.95
Postscript Fonts A.B.C ea. 24.95 Heart Warrior* ......____
24.95 Miami Vice .... ..24.95 Power Windows
.54.95 Indiana Jonet-AcBon... .....25.05 Mterton HR Dlskn___ .30.95 Power drome_______ ____25.95 Indiana Jones-Graphl:.
....30.05 Micro Ffche Rbr Plus..._ 114 95 Precisely________ ___48.95 trtaufon--------- __24.05 Midi Rac Studb VI,1 , 39 95 Prkit Maslff Plus___ 24,95 Interchange .. IrkroCad IrMslon , (mvfabn*... ...28.05 ...48.05 .. 134.95 .. 174.95 Might and Magb II .....37.95 Pro Script ____________28.95 Modeler ID -__„™-..56 05 Pro Soccer 21.05 .. 24.05 Double Dragon ________,.
..CALL Double Dragon II____ ..24.05 Doog'aMath Aquarium..
25. 05 Dr. Doom's Revenge____ .28 05 Dragon Force , ,___ 57 95
Dragon's Lair ---- .. 24.95 Dragon s Lair It
30. 05 Dragons of Rime ,, .24.96 O.U.D.E. _________
184. 05 Dungeon Master_____ ..84.95 Dungeon Master Asst 2 .30.05
Djngeon Ouest______ .28.05 Dunlap Utllttes__________ .24.95
Earl Weaver BasebaJ «... . 24.05 San Performer_____
28. 05 Eioeibnoe 1 Meg________ ..31.05 Exokm______________ . 30
05 Extond 1.3______
112. 05 9 eof Hsras_____ ..24.05 MS Combat Plot___ ..37.95 F-40
Pursul 61m ...... .37.05 FA 18 Interceptor___ .30.05
25. 05 Operation Counterslrtke . 59.05 Finttvtsiort___________
.20.05 Fast Track__________ . 37 OS Fhntish Frwlrtv_
Monopoty_____________24.95 Pro Sound Design 99.95
Movie Setter_________ 59.95 Pro Video Bold 174.95 Must studk
2.0________ 49,95 Pro Wrtte2.5-----------89.95 Must
X_________189.95 Pro-Draw -_________112.95
Netterwcrid__________22.05 Professional Page 187.95 tl Came
From The Desert „31.05 JackNJcWaus Golf 30.95 JN Courses of
I080....14.85 JN Course Disc II.. 14.95 Joan or
Aro_____________28 05 Joieney ...... 31,96 Kampfgruppe ......
...37 05 Karafonts Headings 1 or 2 44.95 Neuroma rK*f ...23
95 Newr Mind________________21.95 Structured CtbArt 36.95
Templates__________36.95 New York Warriors-1 Meg 30 95
Prafonls 1 & 2________ 21.95 Night Dawn 18.05 Project Dt
Backup ......30.05 Night Force .....28.95 Prospector
Mires of Zor .. 24,95 MISCELLANEOUS HARDWARE AMI
GEN .... ... S99 CHINON FB 364 [NT.
DR. .. .. .. $ 51 SUPER GEN . $ 669
COLOR SPUTTER .. ....$ 11?
SUPER GEN I00OS I NT GEN $ 144?
GOLD DISK SCANNER...... ...,$ 69?
MAGNI 4004 GEN LOCK.... $ 136?
IMG SCAN ...... ...,$ 105 FUCKER FIXER ... ,.$ 455 SCAN LOCK .... . ..$ 61?
PERFECT SOUND ... ....$ « GVP 4S03O ACC. BD . .. CALL IVS Trumpcard Hard Drive I Trumpcard 500 Hard Drive Packages for A2000 Series | Packages for Amiga 500 XETEC Fast Card Hard Drtvm Pockapms lot Amiga 2000 VIDEO PACKAGE PANASONIC U10 CAMERA 16MM LENS WITH VARIABLE IRIS COPYSTAND WITH UGHTS OIG1V1EW GOLD $ 419 DELIVERED!
Seagate ST-157N-I 49 M»g-26mt 519 Dal ST-177N-M M*g NEWI ______679 Del Quanlum Pro Drive 40M&gSCSI ProDrtvo 6I9DEI eo M©g SC3 Pro DRIVE _____869 Da 100 Meg SCSI Pro DRIVE ______049 Da CorJfwhjrw Xttic't DMA* hod, txteixjof ROM.oufo- corho ckeulky.. 25 pr SCSJcorrx. I*k.
FREE DEUVBtY IN THE CQNTK9AIQU8 48 STATES Seagate ST-157N-1 49 MM.-2wne- -.510 DEL ST-177N SO MEG MEW1 «79 D& 8T-277N-1 80 MEG . 810 Da 8T-296N 30 MED 820 DEL Quantum Pro Drive 40 MEC SCSI Pro Drt o 619 Da BO MEG SCSI Pro DrMe _____ 869 Da 100 MEG SCSI Pro Drtv©..„., 949 Da Rwm Wts Include IVS Trumpcard SCSI hard drtv* rtrt, oaWe, software and FREE dethery In the enrtiguous USA This Is not anawemWy k* IIIH a oackaoe.
Seagate 8T-I57N-I 49MEG-2Sms_____________539DEL SM77N 80MEG NEW!_____099DEL Seagate ST*157N-1 49 M«g -28ms.,579 Delivered JT-177N-60 Meg NEW ....729 Delivered I Quantum Pro Drive MASTER 3A Disk Drive 1010 Compatible 1 25
* Ftm D*Hvwy lath* CcnHguoiu 31c4«.
40 Meg SCSI Pro Drive - 80 Meg SCSI Pro DRIVE - 100 Meg SCSI Pro Drive - 6790BJVEPED 929DBJVERED 999DEUVBTED xmc Fast Card System Hard Drive Pockogej lor Amiga GOO Thmt PoclagM kxkxl* Trvrpctrt 6GD IVJ XS h J dV*CV. ScVtwor» ft i™*d*avwv Vs n«conlguaui USA PRINTERS PtlHMOklllJO ... IBS ¦ PinsHHlfc 1111 _____________________ ..235 Pinnont 1124________________1 ______2BE Pwmxifc 1674 NEW 429 am NX-1500_____________________ ______t5fl Sul 10-1600 Mutt Fail 2 NEW NEW KEW ar (ft. 1M0 Rihiaw (n*y[_______ ..... 1B9 219 am (0-!4x ..
.275 Modems Avalax 24QU HC ... 129 1 Avals* 2400E .. 109 I Avatsx9600 ExIsmalNEWI ..... Supra 24MH Inttmal (A2000) 839 I 139 1 Seagate ST-157N-1 49Mtg-28mi .699 Dal ST-177N-60 NEWI_________849 Daf Quantum Pro Drive 40 Meg SCSI Pro Drive .....799 DEL 80 Meg SCSI Pro DRIVE ______1049 DEL 100 Meg SCSI Pro DRIVE .....1129 DEL Syit*mkcVjd»Adc*j*or vJl-r ovtetxocT ROW,*r«:b®.rv. ma *»r,FatfIk****wttSutlftwft ir*rkl«i9CSeabW W* h paww *upny and fan nut Dtuvay in thi cownauous 43 ctbtt' Quantum Pro Drive 40 MEG SCSI Pro Drive
639 DEL SO MEG SCSI Pro DfM© 800 DEL 10OMEGSC3 Pro Drive._... 969 DEL these cards Incbdi IVS Trumpcard cfrlr. Mounting brkL cbf, ecXtwars, and FREE dsllnry In the cork* Iguous USA.
Seagate super sale ST-125N 20M«o-SCSI ....269 ST-138N 30M«o - SCSI . 299 ST-157N 69Mag-SCSI ......329 ST"-t5?N-1 49 Ml) ¦ 28 mt .349 ST-177N 60 Meg ¦ SCSI ....469 ST-225N 20 Meg - SCSI ....'255 ST-25TN 40 Meg ¦ SCSf ......375 ST-Z77M-1 60 Mag - SCSI ...429 ST-296N 80M.g-SCSI .. 459 MEMORY HUMilCANE Hurctcans2900 4Sa20.. Huirtcciw 500 64020..._____ CcJ PioRam t.fl 51?k____________________ 1 ip Osl 3U4RA Supro Born 500----------....__________93 Dol Supio Bom 2000 ¦ 2 MB .. 309
Db( ajpro Bom 2000 • d MS ..... 669 Dm Supra Rom 2000 - 6 MB_____________629 0»l Sopfo Bum 2000 - 5 MB ... 739 Ob* JncludjiFrM del [vary In lha ConHmntal USA Supra 2400 Ext.
Modem & Cable
• $ 119.
Free delivery Quantum Pro Drives 40 Meg SCSI Pro Drive .449 80 Meg SCSI Pro Drive .699 100 Meg SCSI Pro Drive 779 II MIA NO CREDIT CARD SURCHARGE_ xiW. PtTHnilinti tttnMrw eAeeej • b w 14 ii-«.¦ -w.. - . .
* ¦ 60,1 a,,B Vf ftei,TB. W reiHeoll f mi* Rielude SX m'*i tl ck“
U-6. M*fl. If ftnlan tniafrlrvg « ORDER INFORMATION
414-357-8181 FAX 414-357-7814
P. O. BOX 17182 Milwaukee, Wi 53217 wumflAu » 0-0*1 fix k* L"_J*
' '1* MW MB nmm end • ehl ftns, miVbnurri *1sia"ju onion
- -------------------- 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 Craps: by Art Tedeschi (Shareware; $ 20). If you care at all about die game of Craps you’ll love this simulation. Las Vegas Craps supports the Amiga’s graphics, animation, and sound capabilities about as well as you can expect for a shareware 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 editor simulator where you can create betting profiles of a person by recording everything they do (or just input a betting profile on your own) and then test the soundness of it by simulating an actual Craps game environment with up to four simulated betters. There are
other nice features like a percentage breakdown of all rolls that have been made (including comparing the number of times a dice number has come up with the number of times it should have appeared), animated dice and stick and true random numbers (based on the number of microseconds the Amiga has been on). Serious competition for Microlllusions' commercial craps simulation Craps Academy.
HOCKEY Hockey version 1.2: by John Samuels (AmigaZone file -18712). An update to the almost forgotten abusive card game Hockey. New features include a new statistic called “The Human Stupidity Factor”, which shows how many times your imperfect logic has caused you to play the wrong card. You can also record a play-by-play log of a game, and the Amiga’s card playing ability is now even better (not that it needed any help, but you know that your Amiga hates to lose, right?). Finally, you can edit the insults, file the Amiga uses, and input your own just in case you want the Amiga to
humiliate and anger its human opponent even more.
SETMEM SetMem: by Mike Berro (AmigaZone file -18610). For programmers and others who must find out how much memory you need to run a piece of software, SetMem allows you to specify (to as close as eight bytes) how much FAST and CHIP memory you want to be available in the system.
SHOWFONT ShowFont version 4.0: by Arthur Johnson (AmigaZone file -18319). Version
4. 0 of die font-viewing program ShowFont.
The big addition here is that you can reassign tire FONTS: directory7 from within the program (NOTE: ShowFont will NOT reassign the FONTS: directory when you exit die program). You can change the number of bitplanes used in ShowFont, not only to speed up scrolling display, but also as “preparation” for support for color fonts (according to die author).
SPEED Speed: by Jez San (AmigaZone file
- 18464). Competition for the Cramden Utilities’ SI program has
finally arrvied from assembly master Jez San (author of the
StarGlider). Speed wall benchmark your Amiga’s CPU memory speed
compared to a stock A2000 A2500 (in terms of ratios).
Next month, I will be talking about some great animations, including many from the often ignored commercial animation program AnimalonApprentice. As always, I can be reached on the AmigaZone on PeopleLink (ID: G KIN,SET'), or on the IDCMP BBS (617-769-3172, 3 12 2400 baud. 105 Megabytes online, running 24 hours a day, addressed to SYSOP). If you have written a public domain shareware freely distributable program, or have obtained one that you tliink is worth mentioning to all Amiga owners, then please attempt to contact me via die above contacts, or through Amazing Computing.
For information on obtaining some the programs that aren’t listed as being on PeopleLink (or for diose who don’t have a modem), please write (and or send 52 for an Amiga PD catalog disk) to: SMAUG 1015 S. Artery *112 Quincy, MA 02169
• AC- CHOICE!
CpNji I 'tX ttfhrf I' PurriNte it Programming: • v ) V |,1Uli,L's in mMy And True P ¦ f vpWircd: Multi-Forth | M!V0.idg,.Is liyWnihd I : iNj j v;i|u.n r T .1 l-i rth _P (TRNViiV HitrcHv AC 6 'Umnu-t Mi.., ] i,
* •'“** Sh»n,«e a Public Dcnuin Softwaifl A HVSIt. Tv pV;
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 month, but first here are a few bugs and workarounds to fix some of them.
Gold Disk’s latest release.
Professional Page, Version 1.3 provides excellent dot-matrix output, and dre Compugraphic fonts display on screen beautifully. As widi any major release, we have found a couple of problems and workarounds. Several users found that the location of an object during page layout and die location on the page after printing to dot matrix are not the same. Objects are placed 1 4 inch down and 1 4 inch to the right of where they were placed on die onscreen page. Postscript output is unaffected by the problem.
Gold Disk is aware of the bug and is working on it. In the meantime, there are two possible workarounds. If your printer has a repositionable paper feed mechanism, you can misadjust the top and left margin by 1 4 inch. If you have an HP LaserJet or compatible, an HI3 DeskJet or another sheet-fed printer that will not let you position die paper, the easiest workaround for the problem is to set the page's left and top margins to 1 4 inch less dian their proper position. This will essentially offset die output by the correct amount, and allow the printout to be positioned properly.
There have been a few complaints about the hard-disk install utility' in Professional Page 1.3. Some machines had no problems with the installation, vet on others the installation software refused to recognize the ProPage program disk. Users who ran into the problem ended up installing the program manually by copying all the associated files to their correct locations on the hard disk. While I was assisting one person with his upgrade, the reason for the problem came to light.
Upon investigation, I found that the install program does not work properly when used with tire ARP command set. If you are using ARP to temporarily assign a C: directory that not contain official Commodore-issued C: commands, dien the problem is your own and not Gold Disk’s fault.
In Email this month, I received a letter from Mike Montona. He recendy bought a Commodore A590 hard drive. He has an Amiga 500 with 1 Meg RAM and 1.3 Kickstart. When using Excellence! From Micro-Systems Software, the computer would Guru every time he clicked on “Save" or “Save as”. It made no difference whether he was mnning it from the A590 or the floppy disks. He was having problems with several other programs as well. He was able to get in touch with .Andy Finkel at Commodore, who had been looking into this problem. According to Mr. Finkel, the programs that were having problems were those
that use memory location 0 as a pointer. Excellence! Was looking at location 0 and expecting to get a 0 back; any other value at this location would cause a crash. The problem is twofold. First, older versions of the fast file system were setting location 0 as a pointer to GDOS. Second, Mr. Finkel commented that any programs which reference memory location 0 were always in danger of crashing.
The solution to the problem is to update the fast file system to the latest version. Boot from your A590 Install floppy and run HDToolbox. Go to the partition drive page, select Advanced options and select Add Update Fite Systems, On the new' page, select Update File System and give it a new' version number; otherwise leave it alone. Next, click OK on the requester, then OK on the page, and click OK on the partition page. Back on the main page, click on Save Changes to Drive. Then turn your system off, and boot from the hard disk. That should fix die problem. The latest version can be found on
the 1.3.2 Workbench distribution.
I received a letter from S. L. Simons, Jr. Of Houston, TX regarding a hardware problem. Mr. Simons installed a Xetec FastTrak SCSI hard-disk system and found that it wouldn't work properly with his Minimegs memory expansion. The technical support representative at Xetec explained that there was a good reason why the two products could not share the expansion bus, and pointed out that Xetec 'would soon have a memory expansion unit for sale that would w'ork. The M.A.S.T. representative was much more helpful. It seems that the two devices would try to configure at the same time, and the problem
was easily solved by installing a diode in the Minimegs according to their instructions. Mr, Simons goes on to comment that the modification is In place on all units currently being shipped.
Also in this month’s mail bag was a letter from George Bailey who commented on problems w'ith the Anlm format DeluxePaint III uses. VideoScape 3D anims return a “Not a valid Anim file” requester when DeluxePaint III tries to load them. 1 have also heard of this problem via messages being transmitted -over the electronic networks, and I have run into the problem when loading anims generated by programs other than VideoScape and Dpaint III. Mr. Bailey compared the headers ol both kinds of Anim files, and noticed that they have different data chunks. If you have found any workarounds to this
problem, let me know and I will pass the word around.
Trevor Briggs ofTampa, FL answered the request posed in the September, 1989 “Bug Bytes” regarding Activision. The company was taken over by Mediagenic.
He wrote them about upgrades for Music Studio, and after several months has not received a reply. He has also heard rumors of a public domain program that lets you use digitized instruments within Music Studio, If you know of such a program, let me know. I’ll pass the information along.
Mr. Briggs also asks if there might be an upgrade to Pagesetter. A quick call to Gold Disk provided tlie good news.
Pagesetter, currently shipping in Version
1. 1 e, is being upgraded. The spokesperson could not provide any
information as to the new' features being added or the
expected shipping date other than to say, “First quarter.
1990-’’ She commented that details on upgrade policies would
be made available when tlie program is ready to ship.
Gerry Hull of Creative Focus has released a new version of BetterJDJ Version 1.1. The Better_D| is an enhanced printer driver for HP DeskJet printers. The new- release takes care of a problem that causes extra pagefeeds when printing with ProWrite. This version also corrects a problem that could arise with Pen Pal.
BetterJDJ is freely redistributable, and is found on several information services and bulletin boards around the country.
Creative Focus has also incorporated these changes and provides a more fully featured DeskJet driver called Super_DJ.
Jim Rickman of Interactive Microsystems sent a notification stating that owners of Media Processor, a video production software package, can upgrade to Version 1.3, Rev 4 at no charge by mailing in their old disks with a stamped, self-addressed envelope.
Mike Smithwick, author of Galileo, die Amiga astronomy program, wrote to tell us that die software is now being published by Virtual Reality Laboratories.
The program has been upgraded to Version 3, and has been renamed “Distant Suns”.
Improvements to calculation speed, requester design, and general enhancements and bug fixes have been made. Two new databases are also available. Deep-sky objects has over 200 images of galaxies, nebulae, and star clusters. The Skymap database will display- 20,000 stars. Upgrades are available to original Galileo owners only through the author. Send your original Galileo master disk and S15.00 (CA residents must include sales tax).
Digi-View Gold 4.0 is now shipping from NewTek, Inc. The software upgrade to the most popular Amiga digitizer contains an impressive new' video mode, 4096-color, high resolution. The new' graphics mode is called Dynamic HiRes, and uses a technique w'hereby die high resolution l6-color palette is changed widi each new line. The program also supports image noise reduction, and "fringe-free” HAM modes, Arexx support, super bitmap digitizing, 24-bit color support, and several other new features. The upgrade is $ 24.95, plus $ 6.00 shipping and handling. To upgrade, send your name and address and
$ 30.95. TV'Text Professional is a high-end video titling program from the Zuma Group. The program supports all screen resolutions except HAM, Amiga color fonts, and color animation effects such as glints, glow's, and sheens. The product is available to owners of the original TV'Text as an upgrade in conjunction with Zuma Fonts. If you order your upgrade with Volume 1,2, or 3 Zuma Fonts, the upgrade cost is $ 50. The Volume 4 font set and upgrade is $ 55.00, and an upgrade with Volume 5 fonts is $ 65.00. That’s all for this month. If you have any workarounds or bugs to report, or if you know of
any upgrades to commercial software, you may notify me by writing to: John .Steiner c o Amazing Computing
P. O. Box 869 Fall River, MA 02722 ...or leave Email to Publisher
on People Link or 73075,1735 on CompuServe
• AC* Products Mentioned Professional Page 1.3 Gold Disk
P. O. Box 789. Streetsville Mississauga, Ontario, Canada L5M 2C2
(416) 828-0913 inquiry 200 Minimegs
M. A.S.T. Memory and Storage Technology, Inc. 3881 BenatarWay
Chico, CA 95928
(916) 342-6278 Inquiry 201 FastTrak SCSI Hard Disk Xetec, Inc.
2804 Arnold Rd Saiina, K$ 67401
(913) 827-0685 Inquiry 202 Super_DJ Creative Focus
P. O. Box 580 Chenango Bridge, NY 13745-0580 Inquiry 203 Media
Processor Interactive Microsystems, Inc. 80 Merrimack Street,
P. O. Box 1446 Haverhill, MAO 1831
(508) 372-0400 Inquiry 204 Galileo Upgrade Mike Smithwick 25215
La Loma Dr. Los Altos Hills, CA 94022 inquiry 205 m
Digi-View Gold 4.0 (Upgrade) NewTek, Inc. 115 West Crane
St. Topeka, KS 66603
(800) 843-8934 Inquiry 206 TV'Text Professional Zuma Group 6733
N. Black Canyon Highway ll Phoenix, AZ 85015
(602) 246-4238 Inquiry 245 by The Bandito Roomers [The
statements and projections presented in "Roomers" are
rumors in the purest sense. The bits of information are
gathered by a third- party sourcefrom whispers inside the
industry. At press time, they remain unconfirmed and are
printed for entertainment value only. Accordingly, the
staff and associates of Amazing Computing™ cannot be held
responsible for the reports made in this cloumn.] REFORM
While public attention has been focused on the incredible
changes taking place in tire Communist Bloc, some equally
amazing transformations are happening at Commodore. There
are similarities to the current changes in the Soviet Union
and at Commodore. After many years of denying that anything
is wrong with the economy, die old leaders have been
replaced. Many years passed while new leaders were found to
pursue the failing policies of the past.
Finally, a young, energetic leader with vision has replaced die last of the old hardliners.
With this new leader has come a series of breathtaking changes in policy.
The new leader has moved rapidly to consolidate his power base, tossing out the aging bureaucrats who had proved unable to do the job. With a cadre of new staff, the Leader has embarked on a new policy of Glasnost (openness) and has proved his mastery of public relations. At the same time, he has begun Perestroika (restructuring) to move his enterprise into the forefront of the world economy.
Gorbachev and Copperman have much in common, don’t they?
Copperman’s stated goal is to bring Commodore into the same league as IBM and Apple. To do this, he must enhance Commodore's image, which is one of the main goals of the new ad campaign which uses celebrities such as Tommy Lasorda, Little Richard, Tip O’Neill, as well as astronauts Buzz Aldrin, Scott Carpenter, and Gordon Cooper. Of course, Copperman must improve Commodore’s substance as well. This means better distribution, as well as presenting new reasons for people to buy Amigas, and selling more Amigas.
Copperman plans to increase support for software developers in an effort to get more and better software for the "Copperman plans to increase support for software developers in an effort to get more and better software for the Amiga. As part of the incentive plan to get better software, Commodore will step up the pace of product development and improve the speed, resolution, and number of colors offered on the Amiga. ” Amiga. As part of the incentive plan to get better software, Commodore will step up the pace of product development and improve the speed, resolution, and number of colors
offered on the Amiga. Marketing- wise, Commodore will focus on interactive training and desktop video as key markets for the Amiga. Hey, sounds like they’ve finally noticed where the Amiga really stands out.
ATTENTION, PLEASE Meanwhile, the PR blitz continues.
From being totally unseen a few months ago, Commodore has gathered a surprising amount of ink in major media outlets recently. Mentions in Time, as well as a Forbes article stating drat the Amiga is tops in multimedia, and a cover story in Marketing Computers about the Amiga and Copperman’s revamping of Commodore, have expanded the range of Amiga publicity.
In an unusual appearance, Commodore Chairman Irving Gould was tire keynote speaker at the Software Publisher’s Association meeting in Montreal, Canada. Of course, he hyped the Amiga. The Bandito thought it was interesting that he used “multimedia" as his hook you know, the same buzzword that Apple’s been using in their advertising lately. It’s no coincidence that a recent Business Week article called Commodore “The Leader in die Multimedia Field'1.
Seems like Apple's advertising is helping Commodore quite a bit by making multimedia a hot topic; Apple can’t provide a solution, so people turn to Commodore.
For any of you living in a cave somewhere, the Bandito will now present some information about how Commodore is actually advertising the Amiga. The basis of the strategy is Commodore's attempt to re-position the Amiga as “The Computer for the Creative Mind”. Commodore, dissatisfied with previous advertising efforts, retained a new ad agency in May: Messner Vetere Berger Carey Schmetterer (say diat diree times fast) to develop die television and print campaign.
The print ads display photographs of Amiga users, ranging from a kid making a birthday card all the way to a neurologist.
The ads have run in a seven-page clump in Time, Newsweek, and Life magazines, and will appear separately in other magazines.
For the most part, reaction among dealers and developers is positive but guarded.
Everybody is hoping the ad campaign sells more Amigas, but after many years of promises, no one's willing to get very excited. Yet.
By the way, all the partners at Messner, et al. Have Amigas and they actually use them, This has gotta help them create better advertising for die Amiga, since they have some idea of what the machine can do.
Commodore is to continue its advertising blitz into the first quarter, concentrating on A2000 hardware and applications. The objective is to attract the high-end buyer in specialized markets like graphics and video. Developers are stunned by the idea of continuing advertising for the Amiga, since it's something diey have not seen before. Now the developers have to figure out how to take advantage of the fact that Commodore is actually trying to sell Amigas, FA CTS A ND FIGURES While Commodore is doing all the right things for 1990, current sales are still in a slump. Commodore announced a
first quarter loss of $ 6.5 million on sales of $ 165 million. These are down from the $ 9.6 million earned on $ 200 million in sales in publishers and sell to retailers) have always been rare, and they're getting scarcer.
Southern Technologies, for years the biggest distributor of Amiga hardware and software, is reportedly deep in debt and has sold out to avoid complete bankruptcy.
Several publishers are owed large amounts of money by Southern Tech. And the sudden uncollectability of that money could put them in a precarious position.
The new owners promise some partial repayment, but not more than a fraction of what is owed. This all makes it tougher for a publisher, who now must either deal with individual retailers (a time-consuming task considering their numbers) or become an affiliated label of a large publisher to gain access to their distribution ability. On the other hand, more of the main-line software distributors like Micro-D are starting to carry Amiga products, but only a few are hot sellers. Distribution will likely continue to lag behind Amiga sales for quite a while, even though the market for Amiga products
continues to grow.
WHILE WE'RE O.V THE SUBJECT... BRIDGEBOARD USERS!
Don’t waste money, slots, or desk space buying extra IBM-compatible or Amiga floppy drives! The Bridge Drive Commander + gives you direct access to all your internal and external Amiga drives from the Bridgeboard. And direct access to IBM type 360K and 720K drives from AmigaDOS.
Bridge Drive Commander + is totally transparent and 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 to Amiga use! Just that simple, just that fast! One drive can use Amiga disks at the same time another is using IBM- compatible disks. Disks are completely usable by other Amiga and IBM-compatible computers. All hardware, no software drivers to load, no precious memory or expansion slots used up. Plugs onto motherboard at internal drive connector. No soldering or wiring changes.) Compatible with all Bridgeboards (8088,
80286), SideCar, all accelerator boards any 680x0), hard disks and other hardware and software.
Bridge Drive Commander + S 97.50 MJ SYSTEMS Dept 10A. 1222 Brookwood Road, Madison, Wl 53711 1-800-448-4564 (24 hours MasterCard VISA) Product names a re trademarks ot their respective companies.
Does Commodore really intend to go through with die so-called C65? The C128 has already been dropped, and the C64’s sales are slowing down so fast it could be down at the level of the Atari ST by Christmas 1990. The Bandito still hears whispers that Commodore intends to replace the aging C64 with the ;C65" sporting 256-color graphics and a 4-MHz
6502. The Bandito pleads with anyone at Commodore to shoot this
one in the head before it leaves the door, Doesn't anybody
remember the Plus 4 fiasco?
Look, don’t take the Bandito’s word for it.
Tryr this simple test: Approach any software developer currendy making good money in the marketplace, have them sign the customary nondisclosure agreement so they won't blab your ultra-secret technology', then show them the machine.
Now ask them if drey will develop software for it. The more polite developers will manage to stifle their laughter before they say NO; but be prepared for most Circle 149 on Reader Service card.
The quaiter a year ago. The press release claimed that this stunning decline in sales was due to waning sales of the Commodore
64. Commodore claimed that sales of both the Amiga and PC clone
lines were up. The stock is now floating around 7 1 2. The
Bandito remembers when it was closing in on 20 just a few
months ago. Looks like the big investors are betting against
the Amiga, but the Bandito predicts that the Amiga faithful
will be the ones who have the last laugh. However, iL looks
as though the C64 is finally on its way out, taking its
rightful place in computer history. Now if Commodore can just
sell half as many Amigas in the next year... While things are
going well for Commodore in lining up new distribution, times
are tough for publishers of Atuiga software. Why? Full-line
Amiga distributors (that is, distributors who carry products
from all Amiga hardware and software “Commodore is going to
continue its advertising blitz into the first quarter,
concentrating on A2000 barclware and applications.
The objective is to attract the high-end buyer in specialized markets like graphics and video."
MICHIGAN SOFTWARE 43345 Grand River Novi, MI 48050 AUTHORIZED AMIGA DEALER
(313) 348-4477 Call for current prices.
For The A-1000:
• The NEW INSIDER II
• KWIKSTART 1.3 ROM BOARD For Dealer inquiries, call
(313) 685-2383 Circle 116 on Reader Service card.
Developers to just laugh hysterically. Get the message. Commodore? Nobody wants to do 8-bit software anymore! Besides, none of tire companies are willing to take any risks on a new software format. Look how hard it is to convince developers to write for the Amiga, a machine with over a million sales and four years longevity behind it. Save yourself a bundle of money and burn all your notes, designs, and prototypes of the C65. Then, put that engineering talent to work on new Amiga projects. Better yet, why not “accidently” leave the C65 plans lying around outside Atari headquarters?
CHANGING THEIR TUNE In the past, the Bandito has taken a somewhat adversarial Lone in talking about Commodore and its actions. This is only natural Commodore has spent the last 5 years in turmoil, and certainly every Amiga owner, except those who work in West Chester or those who are certifiably deranged (the two sets are not mutually exclusive), has felt that the Amiga has succeeded in spite of, rather than because of, Commodore’s efforts. We have seen a procession of presidents parading past us, each promising: Things Will Be Different This Time, and The Amiga Will Really Sell.
Yeah, sure. They made some pretty speeches, but the fundamentals didn’t change and Commodore went right on being inept.
Well, the Bandito feels that things have really and truly changed. Perestroika is taking place in West Chester. Harry Copperman has conducted a complete purge of revisionist elements and reoriented the Party towards more capitalistic goals like selling more units.
There is even hope for the poor dealers out on the collectives; they’re seeing some support from the Central Committee. For once, the Bandito supports what Commodore is doing, because they’re doing all the right things. More staffing, heavy advertising, more dealer support it's all happening. Congratulations, Commodore, You’re Doing The Right Thing. Now, keep up the good work and don’t let the pessimists and cynics steer you off ccnirse. It will take time, but the Amiga can take its rightful place as a tine competitor in the computer market.
Courtroom Act as Prosecutor or Defense Attorney Play against the Computer or Another Person 1 Choose from Libera! Or Conservative Judges Select Criminal Cases from the Court Docket Question Witnesses, Raise Objections 5 Convince the Jury and Win the Case from... only FalrBrother & SoeparMann $ 4S.S6 5054 S. 22nd Street Arlington, Virginia 22206 |703t 820-1954 Circle 179 on Reader Service card.
Now that the Bandito has thoroughly flogged that horse, let's find out what else has been happening. Hmm, it says here that Infinity Software died a quiet death in April, but for the most part, no one cared enough to notice. Gee, at least make a loud noise next time you head out a window, OK?The Bandito hates being behind the times with tire news.
AMIEXPO REPORT According to the Bandito's informers, the big earthquake in San Fransico not only leveled some buildings, it also leveled attendance at the Expo that took place just a few days later. Only a few thousand souls ventured forth to attend the show some of the exhibitors didn’t even show up. But there were a few bright spots. Notably, Elan Designs showed off Invision Plus, a new version of their software for the Live! Board that creates some amazing effects in realtime. And NewTek displayed Digi-View
4. 0, which offers “dynamic hi-res” with all 4096 colors in
hi-res interlace! You could hear the onlookers muttering to
themselves about cramming the copper list and similar
esoterics. The new software also has an Arexx port for
multitasking with Digi-Paint 3 or other software.
In die latest installment of the stone Death of a Publisher, Epyx has filed for Chapter 11. The company is expected to reorganize, pay off debts, and become an AL of some publisher (any bets on Electronic Arts?). Employees are still owed some wages, but unfortunately drey come last on die list of creditors. Don't worry for them all the good ones have already been absorbed by other publishers who are always hungry for talent.
New7 hot game: ReadySoft’s Space Ace follows in die footsteps of Dragon's Lair. Better compression techniques allow' even more scenes. It’s still a simple-minded game, but there’s nothing better for knocking die footwear off of your friends.
There is a new program called ProVector that is posing a challenge to ProDraw. ProVector has object-oriented drawing tools, is Arexx-compadble and has PostScript output. It’s about time for some hot competition over structured graphics things have been a little slow lately in that field. The Bandito loves a good features war, and it looks like the shoodng has died down for a while in die HAM Paint Wars. (continued) Memory Management Amiga Service Specialists Over three years experience!
Commodore authorized full service center. Low flat rate plus parts.
Proudly affiliated with . . .
The Memory Location 396 Washington Street Wellesley, MA 02181
(617) 237-6846 Circle 186 on Reader Service card.
Regularly $ 49.95 now only _$ 29.95 Become a power user with KeyCraft, the keyboard and mouse macro-maker for the Amiga.
Customize applications to work the way you want them to... Double your productivity... 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”) Free Software!
Be one of the first 100 people to purchase KeyCraft or ProPOD from this ad and we'll include “PD-Power", our exclusive collection of power utilities for the Amiga, FREE!
Win $ 2000 in Fish!
Hk version 1.3 Pro regularly $ 39.95 now only $ 29.95 StraightLine &Software Inc. inoStvnott Dalanco ’ tlotwoon 1 wo Potvh 3318 North Kimball Avenuo • Chicago. IL 30610 Mail orders to: SSI • Box 59300 - Chicago. IL 60659 When ordering by mail, include $ 2 s & h. Illinois residents, _please add 7% sales tax._ Programmer’s POD Online Database.
C and assembler Stop searching through those RKMs!
ProPOD provides instant access to all system structures and function-coll templates at the touch of a key! You'll save valuable programming time when you let ProPOD “look it up” for you!
Guaranteed to increase your coding productivity, or your money back!
To order, caul -800-458-2995 IL & overseas call 1-312-539-5506 Visa, MasterCard, and CODs accepted.
Be sure to ask for your free "PD-Power" disk.
Introductory pnces valid until 2 15 90.
We’re giving away the entire Fred Fish Collection (estimated S2000 value) toone lucky member of the Amiga community. To enter, send a self-addressed, stamped envelope to: SSI Free Fish Contest PO Box 59800 Chicago, IL 60659 One entry per person. No purchase necessary.
Void where prohibited. Winner's name will be published in the June, 1990 Amazing Computing.
Contest ends 4 15 90, and entries must be received by then. Rules will be sent to ail contestants (that's why the S ASE). Good Luck!
The Bandito was checking out the Sears catalog and found that not only do they carry' the Amiga, but Sears also sells a few pieces of software Interceptor, BattleChess, Test Drive II, Nicklaus Golf, Batman, and Double Dragon. Why not WordPerfect, Professional Page, DeluxePaint III, Planlt!, and SuperBase? Or Digi-View, Performer, TVTEXT, and Director? What do they think it is, a game machine? Sheesh, At least offer people some choices.
The Bandito has heard of yet another attempt to save the ancient 8-bit technology of the Apple II from extinction. This time, the idea is being floated to “Clarisize” the II spin it off into its own company, free to swim (or more likely, float like a rock). The problem is that they would be competing with Apple in tire under $ 1000 market, as Apple brings out its low cost Mac next year.
A fast I1GS could be sold for only about twice as much still not competition for an Amiga, but an interesting choice nonetheless. So we may yet see the IIGS Plus. And other sources swear that Apple has a version of HyperCard ready for the IIGS. Supposedly, it’s a real productivity “Elvis will be found living in West Chester, PA. He will be working as a technician at a local computer manufacturer. ” number four on The Bandito's list of predictions for 1990.
Circle 166 on Reader Service card.
Enhancer, because there’s plenty of time to organize your files and make telephone calls while you’re waiting for the software to update the screen.
DRUM ROLE PLEASE!
The Bandito’s fearless predictions for 1990 are here. Yes. Of course, you remember how incredibly accurate last year’s predictions were, don't you? Expect the same level of precision this time.
Without further ado, here’s what the Bandito believes will happen in 1990:
• By die end of the year, die A500 will be selling for S399- A
complete system (1 meg, 2 drives, and monitor) will cost less
dian $ 800.
• The Video Toaster will finally ship.
• Commodore will be the target of a hostile takeover attempt.
• Elvis will be found living in West Chester, PA. He will be
working as a technician at a local computer manufacturer.
• A major software publisherwill announce that they are porting
their bestselling business software product to the Amiga.
• Commodore will finally announce a CD- ROM drive for die Amiga.
• The A5Q0 will come with 1 megabyte of memory standard by the
end of the year.
• Amiga sales in the U.S. will surpass Amiga sales in Europe.
• The A3000 will ship in the Spring, though people will complain
that the price is loo high. Commodore will let slip drat they
are working on a 68040-based version.
• Commodore will strike a deal to bring a standard
font-description language to die Amiga.
• The new 640 x 480 non-interlaced resolution mode will create
more interest in the Amiga for word processing. New versions of
major word processors will take advantage of this, becoming
competitive with the best programs on other machines.
The Bandito leaves a review of last year's predictions as an exercise for the reader.
Before you laugh too hard at the Bandito’s accuracy, check out what psychics were predicting for the year. Makes the Bandito look pretty smart, eh?
• AC* by Mike Morrison Facing the CLI.
Disk Structures and Startup-Sequences ne of the problems people who use the Workbench (WB) have while trying to learn die CLI is die confusing difference in terminology'. If you are a WB user, you might say somediing like ‘'DPaint is in the Graphics drawer”, while a CLIer would say “DPaint is in the Graphics directory". These two statements mean die same thing. This example may be somewhat subtle, but this is just the type of thing that causes confusion.
WORKING WITH PICTURES When using WB, everything is icon- based. This means that you are working with each entity by manipulating its associated picture.
Just like a filing cabinet, a disk has drawers within it... In fa ct, you ca n open a drawer and the only thing inside of it might be five other drawers!
Example; You have a diskette that you want to copy.
1. Put die disk you want to copy into drive 0.
2. A disk icon with the name of die disk will appear on die WB.
3. Put the blank disk into drive 1.
4. A disk icon with the name of the disk will appear on the WB
(it may be DF1:BAD’ if y'ou are using a new' non-initialized
5. Drag the icon of the disk you want to copy onto the icon of
the disk in the other drive.
6. The system then copies the disk in drive 0 to the disk in
When using the CLI, you must tell the computer what to do by using commands.
To accomplish the same thing above using the CLI you would use the command; 1 diskcopy dfO: to dfl; retum As you can see, when using the CLI you must talk to the computer in words.
First, you have to tell the Amiga what you want do in this case copy a disk (diskcopy), and you must tell it exacdy what to copy (dfO: to dfl:). This is exactly die same diing we did when we dragged one icon over the other on the Workbench.
If you aren't used to the CIL, the Workbench will seem much easier. It is important to note, however, that there are certain things you just cannot do from the Workbench, and there are other times when you mav have die option but using die CLI may actually be faster, easier, or both. In any case, if you are ever going to use die CLI, understanding die disk file structure will make using it much easier, CLI & WE BLUEPRINTS The WB uses icons to represent disks, drawers, files, etc. These are related to one another in a certain manner. A disk w'ould be the topmost level, whether it is a
floppy disk, hard disk, or optical drive. Let’s use the a filing cabinet as an analogy. The disk would be the tiling cabinet that holds all die data. Just like a filing cabinet, a disk has drawers within it.
Inside a filing cabinet drawer, there are file folders. Inside a drawer on a disk diere are also files.
The analogy between a disk and a filing cabinet is not perfect. When you open a disk (by double-clicking the disk icon), you may see both drawers and files (programs, letters from your wford processor, data from your spreadsheet, etc). This is the equivalent of storing papers loosely in the filing cabinet instead of in one of its neat little file folders. Also, on a disk, you can have drawers inside of drawers, inside of drawers, etc. In fact, you can open a drawer and the only thing inside of it might be five other drawers!
This analog)' also works wdien using the CLI, only there are a few names that have been changed (to protect the innocent, 1 suppose). Instead of draw'ers, the CLI lists directories.
Take a look at Figure One. This really is how the disks and their directories and files are laid out. This is really how all Amiga disks are structured. Workbench sometimes makes it easier to get around because it has visual aids (icons). This makes understanding the underlying structure less important.
When using the CLI, understanding this filing structure is vital, but once you get the hang of it, it will be a piece of cake!
HIDE ‘N’ SEEK When you boot up your Amiga, the disk that you booted it with becomes the System disk. This is where Ami will look lor commands, fonts, libraries, devices, and more. In the last article we talked about how to get around the disk-swapping problem when using commands from the
CLI. We pul certain commands into a RAM disk and told the system
how to find them.
As promised, I’ll tell you how to add these commands to your startup file.
STARTUP-SEQUENCE The startup-sequence is one of die files that is searched for when your Amiga boots up. It is located on your WB disk in a directory called S. The S directory is where startup scripts are kept. A startup script is a file which contains a list of commands that are executed when a particular program is started. Usually this list (when executed) will set diings up in a certain manner. The startup-sequence is die startup script the Amiga executes upon ROOT FILE DIRECTORY FILE DIRECTORY I I I 1 DIRECTORY FILE DIRECTORY FILE r r DIRECTORY FILE DIRECTORY DIRECTORY FILE FILE FILE
FILE FILE Figure One: A sample disk structure showing a possible relationship Petween directories and files.
Boot-up to arrange diings die way you want. Most people don’t even know that it exists and use the default script (die one Commodore included with your Amiga).
This script is O.K., but why not customize it?
CUSTOMIZING YOUR STARTUP-SEQUENCE The usual rules apply: Work with a back-up of your already backed-up WB disk. Never work with the anginal. Playing widi the startup-sequence can cause your Amiga to not want to boot up to Workbench. If you use a copy and make a mistake, you can always revert back to your original copy of WB.
Get into the CLI by double-clicking in its icon (in die Utilities drawer on your WB disk). Once you have the CLI prompt, type: ed s startup-sequence return This starts die editor called 'ed'. The computer finds ed because it is in your C directory. The ‘s startup-sequence’ tells ed to open the file called startup-sequence diat can be found in the directory s. Note: if ed comes up blank widi a message dial says ‘‘opening new file”, you probably made a typo while typing ‘‘startup-se- quence”. Ed is smart because if it can't find die file you told it to find, it assumes you want to create one.
We don’t want to create a new file, so if ed answered “opening new file”, hit the ‘esc’ key (upper left) and then the ‘q’ key. Ed will go away and you will be back at the CLI. Try the original command again.
The startup- sequence is now' in ed. Ed has a whole list of c o in m a n d s which you can find in die manual that came with your computer. Use die arrow keys to move around in the text. This is the script that the Amiga executes during boot-up. Many things happen here. Many of these are AmigaDOS commands; some are actual programs. The startup-sequence executes in order from beginning to end (there are commands for skipping lines). Scroll all the way to the bottom widi the arrow' keys (using the Ctrl key and the U or D keys wil! Scroll the display up or down one screen at a time).
Notice this last command: endcli NIL; You should recognize the ’endcli’ command from die last article. The “ NIL:" part of Lhe ‘endcli’ command is a little difficult to explain, Basically, it says “send any garbage floating around into the bit bucket”.
The “ ” causes all output to be redirected.
Here die output is redirected to the NIL; device. NIL: is a device similar to DEO:, except that if you say 'copy stuff to DFO:’ the file named “stuff’ will be copied to the disk in DFO:, and if you say ‘copy stuff to NIL:’ the file named “stuff would be copied to nodiing, the bit bucket, file heaven, etc.. To add commands to your startup- sequence, add diem before die endcli command. Remember to use a copy of your boot disk in case we mangle the startup-sequence (chances are if you make a mistake, Ami won't boot up to Workbench). Use die listing from iast mondi to create a RAM disk with
commands on it.
When you are done typing in the changes, press die 'esc' key and then the ‘x’ and return . This saves die newly modified startup-sequence to disk. Wait until the disk light goes out and then reboot your .Amiga to see if the new startup-sequence works.
To customize your startup-sequence for die w'orld to see, use the ‘echo’ command. Add something like this: echo “This is Mike’s Amiga booting.” echo “ ” echo “Have a great day!” To have even more fun, you could change the echo command to the say command and each time you boot up, these lines w'ould be spoken. Usually after hearing a sentence 5 or 6 times you find yourself changing die startup-sequence back to echos. Both echos and say will slow,- down your startup-sequence, so use diem wisely.
Olten, using the CLI can be a trying experience, but with patience and persistence you will soon be getting around widi iitde difficulty. Sometimes looking at other people s startup-sequences or script files can help. Enjoy.
• AC- D ar Animator'S January 1, 1990 Dear Animators, For all of
us animators (professional and otherwise) and aspiring
animators, 1989 was a very good year. It was the high point (so
far) in the history of Amiga animation. Even as we are trying
to get this issue to press things are still hopping. We have
just received beta copies of Deluxe Video III (which should be
officially available soon after you read this), as well as
upgrade 2.09 of Sculpt-Animate 4D and we also received word on
a brand new animation package to be available in February (keep
Animation was recognized very7 early on as one of the Amiga’s strongest features and greatest potentials. Remember, even high- end 3D graphics machines like the CubiComp (around $ 50,000) can't do real-time animation! From the originals like Aegis’ Animator and die early animation products of Martin Hash to this year's rash of Animation upgrades and introductions: DeluxePaint III, PhotonPaint
2. 0, Sculpt4D, TurboSii ver
3. 0. MovieSetter and more. The market for animation products is
continuously growing and the products it has encouraged are
many and varied, just about everyone has finally gotten into
the animation act. The shocking truth of the matter is that,
for the most part, they all have something useful to oifer.
Martin Hash now7 has an entire line of excellent animation programs and utilities.
Most of the popular 3D programs include animation facilities: Aegis' Videoscape.
Byte by Byte’s Sculpt series, Impulse's Silver series, PageRender 3D from Mindware, Forms in Flight from MicroMagic, 3D Professional from Progressive Peripherals and the Caligari series from Octree. Two of the most popular paint programs, DeluxePaint HI and PhotonPaint 2.0 include animation.
Zoetrope from Antic is also a combination animation paint program. We even have MovieSetter from Gold Disk which can have an amateur producing cartoon-like animations, from the included backgrounds and animated clip-art, in a matter of minutes!
A number of programs allow combination of individual frames into animation: Elan's Performer, Video Effects 3D by InnoVision, Animation Station by Progressive Peripherals, Pagellipper Plus F X by Mindware, The Director irom The Rieht Answers Group and Aegis’ Lights, Barry Solomon Video Editor Camera, Action!, Microlllusions has an entire Line of PhotonVideo products to complement its PhotonPaint 2.0. We even have animated fonts from Anivision as w7ell as Build ‘em-dip-avt designed to be animated from the PictureBox.
In the last few7 years even hardware has joined the parade. There are now7 a number of frame buffers available (and several more coming out early in the year) which offer 24-bit output (professional video quality) to videotape for tlie many programs that now support this. There are also frame controllers which interface with professional film ancl video recorders for single- frame animation.
The really good thing about this is that as more excellent animation programs become available for the Amiga the interest in Amiga animation will grow, and as the interest grows it will continue to spur t h e development of new and better wait to see (In case you can't wait either I’ll give you a hint ot the future to come. Watch out for the February7 release of THE ANIMATION STUDIO from Walt Disney Software!)
Products! Personally, I can’t what 1990 will bring.
Bradley W. Scbenck non the 1988 BADGE Killer Demo Contest and has just iron the 1989 Contest with bis new animation, The Sentinel The Sentinel is available on Fred Fish Disks 263 and .264 (yes, it takes most ofl otb_disks).
The file is so large that it takes at least three megs to run (and this version has to pause in the middle to reload).
There is also a 3-5 meg version wbicb will play without interruption. You can see a few still shots of The Sentinel in our PD Serendipity column on pages 56-57. Ed.
Ladies And (jmtdwcn, ovc cpou.,,. THEMltMEk7 by Bradley W. Scbenck No one was more surprised dian me, when I found myself entering the 1989 BADGE Killer Demo Contest. I had won first place in 1988 with Charon, and had decided afterwards that it would be best to leave the contest to oilier artists the next year. The contest, which is well publicized in die Amiga press, traditionally offers an Amiga 2000 as the first place prize. I had badly wanted to upgrade my 500 system when I entered the contest the first time, and when! Won, it was a break for me. I figured diat the next year should to be
someone else's shot, just as 1988 had been mine.
Tsie rules for die 1988 contest were pretty' specific. Entries were required to run on a one-megabyte system and could occupy only one disk; this was because die demos are meant to be used by dealers and users groups to show off die capability' of the Amiga, and it was felt that having them am on normal systems with a stock Workbench disk in the other floppy drive would allow these demonstrations to be run on practically any system. When I created Charon, many tough decisions were presented by the environment I had to develop die demo for; there are limits to the amount of data that can be
squeezed onto one floppy disk (especially in t h e higher resolutions, which I prefer) and it gave me a structure to work within. Compromises had to be made.
When die rules for the 1989 contest were released, I was amazed to find how easygoing they were. There were no limits on the size of the animations or the memory that would be needed to run them. I had a sinking feeling that we would see a whole slew of demos along the lines of die Walker and Walker II demos by Brian Williams, which basically would make the previous year's entries look pale by comparison. I started to get this itch to enter after all.
As soon as i had received my .Amiga 2000 system, I had given it another two megabytes of memory and a hard drive.
One of the things I had wanted to do for a long time was to work in ray tracing, which takes large amounts of RAM, time, and Storage. With die introduction of Turbo Silver 3.0 I had found a rendering and animation program with much ot the power 1 had been looking for.
My two dimensional work in traditional media and, later, with computers, has always depended on textures and surfaces with many qualities. Silver allows me to create a wide variety of surface types,
* to map IEF images onto objects, and to use prefigured ="!*'
textures that lend certain characteristics and patterns to my ;
objects, i needed that type of v capability to create the 3D
world I : wanted to make.
Early in the spring, T started designing a hallway with an arched door and columns. This '¦ was one of the first scenes I created with Silver. For many months, 1 worked on it when I had time. Soon I had borrowed a Midget Racer from a friend to speed up my rendering times. Using the floating point version of Silver, I set to work on an animation I hoped to enter in the BADGE contest. The early versions of the opening scene were coming along very well, and finally I decided to test the ANTM files on a stock Amiga system. 1 trotted into my wife’s studio to run the animations on my old 500 system
and got a nasty shock. The AN1M files had played baclc beautifully on my system, but were slow and jerky on a stock Amiga.
Although tire Midget Racer isn’t the fastest accelerator 011 the market, there are a few things it can do swiftly even though it doesn’t use 32 bit RAM. Obviously it used a 68881 for floating point math, which was the reason I was using it, hut it also has a dramatic effect on the speed of tire compression and decompression of data.
ANIM files rely on compressed data.
They are a type of storage called delta compression, in which only the first frame of an animation is stored completely.
Subsequent frames are stored only as differences from the preceding frame.
Frames which contain very small changes from one to another will compress very well, while frames that have large changes will not compress as well. While the ANIM file is being played, the program that displays it is constantly decompressing the frame changes and constructing the next frame. That's where my own system excelled and where the stock system just couldn't keep up. The awful truth is, you can get away with bloody murder in your ANIM files if you have an accelerated system. But if your animation needs to be played on stock systems, you can’t take advantage of that.
So there I was. There are a few tilings you can do to optimise the playback speed of this type of animation file (this applies to Byte-by- Byte's Movie file format as well). The basic idea is to change fewer pixels in each frame. You can do this by lowering the resolution of your screens (that will automatically halve the the amount of data) or by tailoring the animation to make smaller changes from one frame to another.
The first alternative is always a last resort for me. I want my work to use the higher resolutions whenever possible, for the smoothest obtainable appearance. The second alternative seemed more sensible. 1 was animating a large moving object over a reflective floor with dramatic lighting that cast huge shadows. This made for large changes from frame to frame.
Over tire next week or two, 1 experimented with the scene in low resolution, with a non-reflective floor, and with different lighting. I found that the compromises were killing the image, and as it turned out, I went back to concentrating on commercial work and just let the idea sit. It looked as though I wouldn't be entering the contest after all.
The contest deadline wras set for September. I waited with some anticipation to see what the other artists had come up with. In the meantime, I had finished a set of tutorials for using the Textures in Turbo Silver, which Impulse had agreed to publish, and I was spending most of my 3D time working up a library of objects to make my world with. I wanted a large number of building blocks for my animations, many little objects to use when the time came. I brought m v 2000 up t o five megabytes. I was busy.
1 kepL finding myself showing Turbo Silver to odrer users. It’s a difficult program to master and, although I hadn't done a huge amount of work with it, many people I knew felt that I had gone far enough with it that I might save Lhem from some of the mistakes 1 had made. As far as experts go, my money's on Louis Markoya; but he’s on the other side of a pretty large continent, so they had to make do with me. I began to get itchy again. 1 finished one late night session with Leo Schwab and Rick Unland of Commodore, and the next day I heard that the BADGE contest had been postponed until late
October, and that there were at that time fewer entries than prizes.
Although there are always a batch of last- minute entries, this sounded awful, and I had just been feeling like getting back to work.... I had about four weeks not much time at all. The story for The Sentinel came to me pretty much immediately; it was built on some of the objects I had been working on, and the setting for the first scene was the same hallway I had started with months before. There would be about five scenes akogether, with certain elements being used more than once. As I saw it I had just enough time, if nothing serious went wrong.
Here's how the animation goes. I’m hoping that you've already seen it, since I hate to hear the plot of a movie before I get a chance to see the film, but I want to explain how the scenes go together.
1. It opens with a view of the corridor. An arched doorway is in
the middle, with a crystal pyramid and triskelion medallion at
right. After a pause, tile door swings open with a creaking
2. Cut to a view past the door and straight down the hallway
beyond. A double row of columns and urns leads into tire
darkness. After a [t moment, something becomes visible at the
end of the hall: a columned brick wall behind a pedestal. A
shield hangs on the wall; a helmet is on the pedestal. The
atmosphere ; throughout has the feeling of tile Bronze or
early Iron Ages.
3. Cut to a closeup of the wall, shield and helmet.
After an establishing pause, tire 1 helmet rises from the pedestal and turns to face the shield.
There is a flash of lightning and the roar of thunder; when tire inrage clears, the helmet is facing us and the shield has moved in front and to tire side.
4, The wall is gone, replaced by blackness. It’s as though a ghostly figure has risen to face us. At the other side, a sword appears. The helmet swivels to face it, and the sword is snatched up. The helmet turns back to look at us, and the sword sweeps high overhead.
5. Cut back to die hall where we began. There is a crash; tire
door slams shut, its knocker banging ominously with the
Altogether there are about sixty frames of animation involved, and the entire project was finished within three and a half weeks. How did I do it? I cheated like mad. I always do.
I was able to take advantage of some features of my software to speed up the rendering process. Turbo Silver allows die user to Set a Zone to be rendered: instead of creating a full screen image, one can render only a little 'window' on the screen.
This can save many hours of ray tracing.
Ma linff the, Most o a Cittic 7~iikc You have to be careful to take shadows and reflections into account.
During an animation perhaps only a small object will be moving, but its shadow will also move, and its reflections (if any) in nearby objects will change as well. Turbo Silver's Solid Model mode provides excellent shading, but widiout ray tracing at least one frame of your animation, it may not be possible to foresee what die shadows and reflections will be doing.
When setting the Zone for a series of frames, you must be sure that you include all the area that will be affected. In the software's current version, you can’t set die zone beyond the non-overscan area of the screen (if using overscan), so in some cases you’ll just have to render the entire picture.
When it came time to put the pieces together I was able to use a couple of very handy features in Deluxe Photolab's Paint module. The Save From and Load At commands let you save a rectangle of the screen as a brush or as a small screen, and then load it in at another precise screen location. This is especially useful in animations.
I was able to Save from my rendered zones, and to use Load At to load them automatically into position on the lull screen frame I used fora background. This was much more accurate and simple than picking up die zones as brushes, clicking each in place by hand. In this way I saved days of rendering time at the cost of a few minutes’ work.
B. W.S. Although the rules hadn't specified a rigid structure for
animations, I imposed some restrictions myself. The demo ought
Lo be contained on two floppy disks, and should run in three
megabytes of memory.
Three megs is a fairly common configuration for 2000 and 2500 systems and isn’t too unlikely on Amiga 500’s. The 2QOO’s often use the old Commodore 2 meg board, or the newer 8 meg board populated with 2 megs, and there are several third- party boards with similar configurations. I had been working with several large ANIM files-and possibly some sLilfs, and I wanted all of the data to be in memory at die same Lime, so there wouldn’t be any delays due to disk access. The animation would be played with The Director. The Director allows me to use practically every trick that’s available on the
Amiga, and I have yet to find another program that allows me anything like the control it does over every aspect of a presentation. I have even written a couple of utilities with it. There would be some sound effects, and the animation would not need more than 512K of chip RAM. That is, it wouldn’t require the fatter Agnus chip.
And it had to be finished in four weeks, or I would miss the contest.
1 already had die first scene set up, I only had to create and render the cell files for the animation. I was working in 352 by 440 pixel resolution and overscan, and each frame took a number of hours to render. The first scene took about five straight days to generate; I wasn’t able to use any shortcuts for that one.
Next, I had to create the view down the hallway. I A repositioned my camera j' in Turbo Silver, and added the columns and ums down the hall. The columns were taken from Steve Schram’s Archltec Objects disk Impulse; I had made the urns some time before with 3Demon (Mimetics), which lets you paint the faces of an object individually
- it’s nice to be able to see what you're doing! The scene at die
end of die hall came next. I had made the wall and shield for a
still image, several months before; the helmetwas the object 1
had been working on when I started the animation. There is an
IFF image mapped onto the shield, and the brick wall uses
Silver’s Brick texture. Parts of the helmet had been created
with Access Technology’s Dlgiworks 3D. Which translates IFF
images into extruded 3D cutouts. I mapped an IFF image onto die
pedestal and placed rings on the wall which w'ere near
duplicates of the door knocker from the first scene. After
adjusting the lighting for awhile, the stage was set.
I rendered the first frame, where the helmet is sitting on the pedestal, saved it and copied it to a floppy. Next I started another marathon of picture to the palette of the hallway picture and then shrunk the shield picture down to fit at the end of die hallway. I pasted it into place and finished the graphics for the second scene while the third one was being rendered, I was able to start cheating now.
Turbo Silver lets you Set a Zone of die complete screen, and it will render only that zone if you tell it to. I was able to use this feature to render only the area of each frame that was , changing, saving some rendering j | time. One problem was the Ij shadow that the moving } helmet cast on the wall; it was I ¦ large, which made me use a J 1 large zone. In addition, J l the large zone would end up making the 1 final ANIM file larger, and it would also make the file play back more slowly, since it now made greater changes from frame to frame. I could live with that j because I 1
already knew j what I was going to do about it later.
Once the frames of the rising helmet were completed, I look those partial screens (remember, I was rendering only a “zone” of each) and again used Photolab to paste them like V.; brushes onto die first frame (like a background). With a little touching up I had the third scene done. It had only taken a few days.
I had to get rid of die wall: I already knew that. I mentioned diat the objects’ shadows were causing me a couple of different problems that would affect both storage space and speed. I had decided on using a thunderclap and lightning flash to make a dramatic transition from die third scene to the fourth, and it gave me a chance to lose the background in a way that made some kind of sense. A dead black background would show no shadows and make my playing speed faster. Also, it would enable me to use the Set a Zone feature more effectively.
The lightning flash uses three screens. One shows the helmet and shield in their new positions against die wall; another shows them positioned in the same way, widi a black background; and the last one is a pure white screen that creates the flash. I only needed to render the first two the flash screen was easily made later, with Dpaint.
That done, I designed the animation for the sword sequence in wireframe mode. This was a critical step, and I was beginning to feel the deadline pressure already. I adjusted it and reviewed it several times, until I felt it would do. The animation could have used many more hours of design time, but I didn’t have them to spare.
1 started the last long rendering marathon.
While my system was ray tracing around die clock, I worked on the title ( ) screen on die 500 and tried to predict and solve upcoming problems in my head before stumbled across them. 1 was very conscious of the fact that I wouldn’t be able to see the animation on a stock system at home (the 500 system has only one megabyte), and the animation’s playback speed on a stock system could still be a problem. I had to know just what I was going to do with my data once it was all ready.
With the fourth scene rendered, I was nearly done. I had already decided to reuse some of the frames of the door opening when the time came to slam it shut; and I was able to set the rendering zone to create just die area widi the knocker and its shadow for the frames of the knocker banging against the door. There were only diree of diose frames, and diey were ready in a few hours. I still had over a week to go.
All of die animation files correctly went together pretty much the first time. I had a couple of minor problems, but a silent version was running by die time I crawled into bed that night (or was it morning?).
I had had to plan the animation ahead of time (and I had time on my hands, while it was rendering), and 1 made some decisions while making it work. Here’s a short description of how The Sentinel works: The tide screen is a single IFF image, in 32 colors (the rest of the animation is in HAM, which Silver does beautifully). It isn’t loaded and displayed at first, because I had to do something else before I loaded it.
Irst, I load the sound files and then die ANIM file of die opening door. You can’t see it happening, but I play the ANIM through once and copy every other frame to a screen in fast RAM; this is because an ANIM file of the slamming door wouldn’t play back quickly enough. By saving out every other frame this way, into memory, I was able to flip the pages much more rapidly than I could play the ANIM file, so the door would really look as though it were slamming shut.
This approach used much more memory than an ANIM file, but it was die only way 3 could get the door to slam at speed.
Next, I load in a smaller ANIM of the three frames that I use to bang die door knocker at the end. This was a single-buffered ANIM. Almost all ANIMs are double-buffered, which means that two screens are used to play them: one is displayed while the other is updated to make the next frame. Single buffered ANIMs can only be created widi die commercial version of MakeANIM, available on the Director optimize disk.
They are meant to store data that you won't be pi ay ing normally, but which you want to compress to save space. I then decompress diis ANIM just as I did with the first, so that those three frames are also available in fast RAM.
Now the title screen is loaded and displayed, fading in from black. I waited until a fieri was done with the ANIM files to avoid fragmenting memory into small chunks, The title screen remains displayed until all the rest of the data has been loaded.
The ANIM files for the hallway scene, rising helmet, and the sword swing are now loaded, with some still frames for the lightning flash. Once everything is in memory, the animation starts.
The first frame of the door animation is displayed, showing the door closed.
There’s a pause so the viewer can have a look at the scene. Then the door animation is played through, with a sound effect for the creaking door. There is another slight pause, and we cut to frame one of the hallway ANIM. After another brief pause, I dissolve in the scene at Lhe end of the hallway. We then cut to frame one of die rising helmet ANIM and hold there for a moment. Then that ANIM is played through.
The thunderclap is made by playing the same 20K sound sample at different speeds, through all four channels, and fading it out as a distant rumble. During the thunderclap, 1 flip between the diree flash pictures, finally settling on the shield and helmet against a black background. This was easily the “cheapest” effect to create, but possibly the most effective. Especially if the volume is turned up.
This places us at the beginning of die next ANIM file.... almost. First, I use another dissolve effect to bring the sword in. The first frames of the ANIM play, as the helmet turns to face the sword, and we pause again; then the next frames, in which the shield moves out as the sword is picked up.
Pause again, then die helmet rotates back to face us; pause again, and die sword swings up. Ail of that is done widi one ANIM. The timing is created in the Director script in my playback routines.
Now we cut to the opening scene. I rapidly move each frame into chip RAM, display it, copy the next to another screen in chip RAVI and so on. The three frames of the banging knocker are played in several sequences to make die knocker hit die door three times, synchronized to another sampled sound. After a moment, we return to die tide screen and start again.
I was stilt about a week early, and had the animadon done. Sort of. I found, that it didn't fit in three megabytes after all. Even without loading the Workbench, there just wasn’t enough memory to handle it. The biggest single problem was all of those screens used for slamming the door, not as an ANIM file but as separate images in memory.
There were several ways around it, but none that were attractive. What I finally did was to watch die demo and read die script over and over until I had pinpointed a lew important points where I might be able to use a loud from disk. These had to be moments where there could be a slight pause, but they also had to fall at points where I could drop some data from memory (not needing it until the demo repeated) and load in something else dial I would only need temporarily. This proved to lie the best solution.
The final result was two different Director films, one for three megabyte systems and one for systems with more than three megabytes. The latter was my original version, in which all ofthe data was loaded in at the beginning. The three meg version worked almost the same way, as long as die demo was being tun from floppy disks; running it from a hard disk means that some pauses will be shorter, unfortunately. To get around diat I would have had to either provide another version based on an average hard drive speed, or ask the user at the start if the demo were running from a hard drive.
However, work was picking up, and I needed to give it my full attention. So I decided to call it finished, and got it off in die mail before the deadline.
In retrospect I wish that I had had more time, especially when it came to plotting out some ofthe animation. To tell the truth, I was amazed and pleased that I’d gotten it finished on schedule, and I’m pretty happy7 with the way it turned out.
So what next? I figure I ought to retire from die BADGE circuit. I see it as someone else's turn now, another artist - especially a young one, who has more ability than cash flow, and who might be able to surprise us ail with something wonderful, getting a new system in the bargain. Does that sound like you? 1 hope so.
For me, I have another itch now to do work that doesn’t depend on available RAM, storage, or playback speed. Going to video looks pretty attractive. Going single frame to video looks better. Aid with a couple of frame buffers on the market that will let me use two million colors on a screen, itlooks better yet. In fact, it all looks pretty7 good.
• AC* Pro ducts m en tion ed: Turbo Silver 3.0 Impulse, Inc. 6870
Shingle Creek Parkway Minneapolis, Minnesota 55430
(612) 566-0221 Price: S199.95 Inquiry 222 Deluxe PhotoLab
DeluxePaint III Electronic Arts 1820 Gateway Drive San
Mateo, California 94404-2497
(800) 245-4525, in CA (415) 571-7171 Price (Deluxe PhotoLab): $
149.95 Price (DeluxePaint III): S 149.95 Inquiry
(PhotoLab) 223 Inquiry (DPaintlli) 224 The Director
Director Toolkit The Right Answers Group
P. O. Box3699 Torrance, California 90510
(213) 325-1311 Price (The Director): $ 69.95 Price (Toolkit:
$ 39.95 Inquiry (Director) 225 inquiry (Toolkit) 226
CYBER Graphics Architectural Design Disk Antic Software 544
Second St. San Francisco, CA 94107
(415) 957-0886 Price: $ 34.95 Inquiry 244 DigiWorks 3D Access
P. O. Box202197 Austin, TX 78720
(512) 343-9564 Price: $ 129.95 Inquiry 243 Tutorial by Barry
Solomon Animation for Everyone or: Animation Can Be A
Well, tlie Holidays are over and I, for one, am so full of turkey and ham that I can barely move. Luckily, however, my finger movements are not impaired so I can share these bits of information with you. .Vs you knowr, if you read last month's Video Schmideo (and who didn’t?!), DeluxePaint III was my pick for best overall Video Graphics product of the year. DeluxePaint III has some features that can only be described as absolutely unique. The brilliant Move requester is one of them. It has finally brought animation to the masses. So, for those of you who got Dpaint III from Santa or have just
purchased Dpaint III with some of that holiday cash®, let's lake a little walk through the heart of DeluxePaint Ill’s animation feature. Please remember, this is not the advanced class, so if I bore you please feel free to go straight to die next class.
Ready? Okay. Boot up your machines w'ith DeluxePaint III. If you do not already have an extra formatted disk to capture the incredible animation you are about to produce, please format one now.
Before we get started, turn on the Coordinates Feature (more about this later).
When presented with the Choose Screen Format requester pick Hi-Res (640 X 400), Overscan, and four colors (two bitplanes).
Make sure your click on Overscan (which will set die screen size to 704 X 480) and four colors as neither are default settings (16 colors and no overscan is the Hi-Res default setting).
Once your screen opens, hit ‘p’ to bring up die palette requester. The colors we are going to set can be changed even after the animation is completed, but for now, set them as I did so you know to which colors I am referring. Set die first color (top left color 0) to red(Recl 15, Green 0, Blue 0). Set the second color (bottom left-color 1) to white (Red 15, Green 15, Blue 15). Set color two (top right) to a blue® 0, G 5, B 15)and die last color (bottom left-color 3) to a green color, R 6, G 15, B 3.
If you are absolutely brand new to the Amiga this may be a little confusing.
Just remember that colors are numbered from zero on, so if you have four colors, they will be number zero through number three. Also remember that no matter how many colors you are using in any Dpaint resolution, they are numbered from left (top to bottom) to right on your palette.
Thus in a Lo-Res, 32-color screen, ..there will be four rows of eight colors. The first color (color 0) will be the top color on the left column and die last color (color 31) will be the bottom color on the far right column.
Pull clown the Anim menu and go to the Set Frame Count requester. Set the frame count to 30. Click OK. Now go to rhe last frame. You can do this by either by hitting the number three (which brings up die Go To Frame = requester), entering 30 and clicking OK; or take the shortcut. Just hit "shifi-2". This automatically rakes you to the last frame in any animation. (“‘Shift-1" always takes you to uie first frame.
Learning these keyboard shortcuts can save you a lot of time and effort.) Use the right mouse button on die Font Tool Box to bring up the font requester. Pick the Diamond font, size 20 and then pick bold. (We will assume from this point on that you know to close a requester by clicking Oiv when you are done.) Make sure that red is your background color, pick die white tis your foreground 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 the 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
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 mode 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 edge of die screen. If we hadn't used this feature, ourbrush wouldn’t have appeared until it was about one half of an inch above the bottom of the screen. Always remember, even when your background is black, you will need to use overscan (for the best effect and always if your outputting to video) ;f anything on the screen will be moving off of or onto the screen in any
OK, you, in front. Why do die letters on the name seem to have slightly jagged edges as the brush moves on screen?
Another good question. You see, what we did with the move requester was really an automatically generated extension of DeluxePaint Hi's Perspective feature.
Dpaint III did the calculations and adjustments to make the image appeal' as if it was moving away from us and turning in perspective as it moved. Life being what it is (and Dpaint ill being what it is), nothing is perfect. There is always some distortion when computing perspective moves. This results in the jaggies. There are however, a couple of saving graces to this situation.
00 000 01 001 10 010 11 Oil 100 101 110 111 0 1 First of all, we started with a small brush and had the computer calculate a larger one. I did this for the sake of clarity in this tutorial, Whenever possible, images will be clearer if you start with a large image and have it shrink instead of vice versa. Secondly, you have now seen this move several times. That’s why you are so aware of this. It is important to realize that the entire move only takes three or four seconds and by the time the eye focuses on the letters, the jaggies are almost gone. Check this out yourself at home. Watch the
commercials very carefully on TV tonight. If you look closely, you will see lots of jaggies in the computer generated titles and such, but they generally go by so quickly that no one notices. Lastly, the Dpaint III folks have given us partial relief with an anti-aliasing feature. Anti-aliasing is the technical term for smoothing out the jaggies. Pull down the Settings requester under the Perspective menu and you will see three Anti-aliasing settings. None (the default- which we just used). Low, and High. The reason that None is the default and that you are given choices at all is that there is
a trade off in time for the Anti-aliasing feature. If is easy to understand. The second factor is how much of a change there is in each pixel. This can get a little confusing.
As you can see, 1 bitplane allows for two possible colors; 2 bitplanes allow for four possible colors; 3 bitplanes allow for eight colois, etc. Table One I think we have time for one more question. Why did we start with only a four color screen? This is a bit complicated but I will make it as non-technical as 1 can.
There are certain hardware limitations to animation speed even on the Amiga.
Remember, for every frame of your animation your Amiga has to redraw every single pixel that changes. Now, on the average, there are not that many pixels that change from frame to frame, but the potential is incredible. The screen size of Lhe tutorial we just did was 704 X 480. If my calculator is correct that’s 337.920 pixels. If the entire picture changed from one frame to tile next that would mean over 300,000 pbcels would have to be redrawn. That part You must remember that computers deal with information in binary form. This means ones and zeros. If you set your screen for, say, eight
colors, that is three bit planes, That is like having three rows of ones and zeros. Four colors is two bitplanes-two rows and two colors is one bitplane-one row.
You set Anti-aliasing to High and repeat the tutorial you will find that that first thirty frames will take hours to draw instead of five orten minutes. While die Anti-aliasing is still not perfect, even on High, the difference is remarkable. For professionals and perfectionists the best solution is to use None (the default), generate your animation, and, if the movement is correct and to your liking, redo the entire thing with the Anti-aliasing set to High while you go out to dinner! Naturally, it will be very simple to repeat the project because we saved all of our brushes to disk and made
copious notes of everything thing we did: what we did on what frame, all the figures we gave the move requester, where we stamped the brushes, etc. Right, class?
Bitplanes Colors Table 1 bitplane 2 bitplanes 3 bitplanes Look at the one bitplane list (Table One). There are only two possible combinations and, therefore, only two possible colors, To change a pixel from one of these colors to another (no matter what colors they are) requires only one bit to be changed, In the two bitplane example, there are four possible combinations of one and zero, so there are four colors. The biggest change possible is between color zero (the first) and color three (the fourth, or last). This would require changing both bits. As you can see in the three bitplane mode
the largest change you can have is all three bits. This is more difficult and time-consuming for the computer than changing one or two bits. Granted, we are not talking large amounts of time here but when you multiply them by a possible 300,000+ it does make a real difference.
Try repenting tire tutorial (use no anti-aliasing) in eight color mode (three bitplanes). Use color zero as background, color one for the letters and tire outline of the box and use colors six and seven (the last two for the fill. You will find that the animation stows down considerably. You can certainly imagine what this would be like using colors zero, one, fourteen, and fifteen in the full sixteen color (four bitplane) mode!
J The trick, therefore, is to always plan your animations thoroughly in advance.
Use as few bitplanes as you can get away with and use your colors wisely. If you are moving several colors against a solid background (color zero) make tire largest object or the one that moves rlre most color
1. Always arrange your palette so that colors that change will be
as close together as possible.
Well class, it’s been another interesting session. 1 hope it’s been as much fun for you as it has for me. Until the next time...
• AC* Animation with Sculpt- Animate 4t Hozo To Get Moving In
By Lonnie Watson 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 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 this type of program are the animation capabilities of 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.
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 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, 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 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 Take. The first step in creating an animation in Sculpt using Global .Mode requires that you specify the name of a Take by executing the PROJECT LOAD TAKE pull-down menu. You will then be instructed to enter the name of the Take that you want to work on. Selection of an existing Take will open diatTake up and allow you to edit its characteristics. If, as in diis case, you are starting a new Take, enter its name manually in the file box and select OK widi the mouse. There will be no apparent change in Lhe program’s operation, but you will now be
able to use all of Sculpt’s features to create your imagery. The difference is that Sculpt has now unghosted the EDIT MODIFY TAKE menu item. Selection of this menu item will bring up the powerful Modify 'Jake requester.
Creating an actual animation in Global Mode is rather easy in Sculpt. First you need an object to animate. Using the standard tools provided by Sculpt makes this task a breeze. For this excercise, make a very simple object say, a box. The next step is not quite as easy: you have to create a padi for your object to travel on. The need for this should be quite apparent. In order to direct something to move, you have to tell it how and where to move. The path that you want die object to take must be created. Sculpt gives you the tools necessary to make an object path.
You simply create the shape of your padr with die curve tool or some of die odier automatic tools. You must take care not to create a shape diat has any forks in it. Examples of suitable shapes would be zig-zag lines, circles, and ovals, etc. In diis case, try a large circle The next step requires diat you determine die direction of travel along the path (will the box move clockwise or counterclockwise?) This is done by highlighting the first point on die path (your start point), then placing the crosshair cursor on the next adjacent point in the desired direction. This direction is now
specified as die direction of travel. Now diat you have specified die shape of your path and the direction of travel, you have to actually name it as a path. This step tells Sculpt diat diis shape you have created is going to be a path, and it is done by selecting the EDIT DO MAKE PATH pull-down menu. Now Sculpt knows that this shape is a Path.
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 the director.
The next step is to name the Path. By selecting a point on the Path and then selecting the EDIT SELECT CONNECTED pull-down menu, you will higlilight all the verdces on the path. Then, if you select the EDIT NAME SELECTED VERTICES pulldown, you will get the NAME VERTICES requester.
Sculpt allows you to group points together and give them a name (for convenience). Once the group of points is named, you can treat them, in a way, as one unit, (In this example we are going to animate a box.
We do want to make sure that all die points in the box move togedier, don’t eve? If we group the points together by naming diem, then all the points associated widi dial name will move together.) In diis instance, we want to name the Path. Clicking in the Add Name box, you can type in die name diat you want. Pressing Return will place that name in the list of names maintained by Sculpt. Cl ick OK to leave diis requester.
Now we go back to the object we created.
Select one point on the object and select the EDIT SELECT CONNECTED pull-down. This will select all die vertices in die object. Then selecting die EDIT NAME SELECTED VERTICES again will bring up the Name Vertices requester once more. You should see diat it already has die name of your Path in the list of names. Clicking on the offspring box will move die entered name of the Path to the Parentage box and clear the list. Now enter the name for the object in die add name box and press Return. This will place the new name in the list of names, We have really done two diings at once here.
First, we have named the object (as we previously named the Path). Second, we set the Path up as a Parent and Box as an Offspring. This is what Sculpt calls Hierarchy. This is a veiy valuable tool in Sculpt as it allows you to set up conditions wherein, if one object in a list moves, all the offspring of that object move with it. This is called Hierarchical Motion. For instance, suppose you had a model of a plane, and on this model of the plane you had a propeller and landing gear. Now, a real plane takes its propeller and landing gear with it when it moves (at least, diat is the theory).
Sculpt allows you to do die same thing by creating a hierarchy. Then, if you move die body of the plane, the associated propeller and landing gear move with It.
The next step is to tie the object to the Padi.
First you need to higlilight the entire object by selecting a point on the object and then selecting the EDIT SELECT CONNECTED pull-down menu. This will highlight each of the object’s vertices. Then, place die cursor on the object’s center of gravity. This may seem confusing but the center of gravity will not necessarily be inside the object. For instance, a door will have its center of gravity along one edge.This step can be the key to creating realistic-looking animadon. After selecting the center of gravity, you need to select the EDIT MODIFY LOCAL ORIGIN pull-down. Selecting the Set button
will tie the object to die padi at the center of gravity. Once you have done this, you can place any light sources that you want, as well as place the observer and target.
Selecting the EDIT MODIFY TAKE pull-down once again wall present you with the Modify Take Requester once again. Clicking on the Number of Frames Box will delete die number already in the Box. Entering Lhe number of points on the padi diat you have created will create an animation with as many frames as there are points in your path. You can then click on tire Save Global Scene button to save the animation to your disk as a take. Remember, this is the raw data of tire Take not the finished, rendered Take. Once it is saved to disk, you can then load it back at any time and edit it. Selecting
the Preview button will allow you to view the animation in wireframe. Tlris will give you a good feel for the animation and help you see problems with your work before you wait five days for the whole ray-traced animation to finish.
As we have seen here, the Global animation feature of Sculpt is quite impressive. It allows you to create a path for an object and make that object move along Lhat pre-defined path. It is important to remember one thing about this type of movement.
Each point along dre padr that the object is tied to represents its position from frame to frame. If you have an object moving in a straight line and tire only points on that line path are at the paths ends, then the object will zip from one end of the path to the other in two frames. If that path is long, dren dre animated effect will not be that good. If, on the other hand you had many points on that straight path, then the effect would be slower and smoother, and overall quite good. It is also important to make the distances between tire points on your path equal. Otherwise tire object will
appear to speed up and slow down as it travels on its padr. This effect can be quite good (and even necessary), but only when desired.
Key Fra me mode works on a simpler principle than the Global mode, creating animation by a process called ‘t weening7.
Sculpt has another mode of animation called Key Frame mode. Key Frame mode works on a simpler principle than the Global mode. Key Frame mode creates animation by a process called "tweening”. Basically, you create aninrations by selecting two frames as a reference. In each of these frames, you have some objects that have moved. Let's say a ball is in dre air on the first frame, and on tire ground in die second. These frames are called key frames. Sculpt is then able to create dre "in between” frames so that the overall motion of the ball is smooth during its fall to the ground. All you have to
do is tell Sculpt how many frames to render between the key frames.
Key Frame animation is accomplished via die EDIT MODIFY TAKE requester once again. When it appears, you select die Global gadget on the top and it changes to the word Frame. From here, you will be able to edit and create keyframes for your animation.
In the middle of the requester, you will see an object that looks like a piece of film. There will be an arrow pointing to the current frame in that filmstrip. Clicking on the Key Frame button will toggle the frame status from Key Frame to non-Key Frame. Selection of the Save Key Frame button will save the current image in the Tri-View to that Take's Key Frame data. You can then exit dris requester and move the wanted objects around a bit, re-enter the Edit Take Requester, select another frame, make it a Key Frame, and finally save it to dre Take’s file by selecting the Save Key Frame scene
Sculpt-Animate 4D Byte by Byte Arboretum Plaza II9442 Capitol of Texas Hwy. N.. Suite 150 Austin, TX 78759
(512) 343-4357 Price: S499,00 Inquiry 208 The Global Mode of
the Modify Take Requester has certain effects on the Frame
Mode on dre same requester. For instance, the number of
frames in the Global Mode of the Modify Take Requester sets
the lengdr of the filmstrip in both inodes. You also need
to go back to Globa! Mode to Preview the animation or to
Render iL in its entirety. You may well wonder why this is
the case. At first I wondered why could they not have just
made tire two requesters separate and allowed each to have
completely different settings? Well after playing for a
while, I drink I know why.
Global and Frame Modes are really the same thing. Global mode simply allows some different ways of defining motion. You can have Global and Frame animation occurring in the same take. This could be useful for example, if you had straight linear motion on some items and more complex motion on other items.
There are a few things to keep in mind when doing Frame animation. The first is the effect of dre lineal’ interpolation that Sculpt performs when doing frame animation. For example, suppose you had a rectangle sitting on dre ground, and you made dre second key frame with tire rectangle rotated 90 degrees or so. The animation would create some frames with a rectangle tlrat is very difl'erent-looking dran dre beginning and ending rectangles. (It would most likely be much much smaller). This is air inherent problem with linear interpolation, not Sculpt specifically. The solution here is to split
the single tween up into many smaller tweens, or to tie die rectangle to a padr (Global Animation) rather dian using Frame Mode. Secondly, Frame Animation is not really suitable for complex movements of objects. This is because the time required to create each key position in a Frame Mode anim is fargreater dian simply tying tire same objects to a padr and using Global animation.
Keeping in mind the differences of drese two powerful modes of animation in Sculpt, one can create some truly stunning artwork. Sculpt is a very complex and powerful program. I have really not even scratched the surface here. Perhaps after reading this, you will have the desire to explore Sculpt a little more. I am sure you won’t be disappointed. 'AC* £PIC-MAgiC: by Orlando Furioso A Product Profile It looked like it was going to be a fairly busy weekend, but! Wanted to check out this new clip art set. I was sure I could spare and hour or two first tiling Saturday.
Next time I'll open the package before I make any plans.
It was a rather unassuming envelope, although it did seem a bit bulky for just clip art. Once open I discovered a beautiful little fan-file disc case inside which holds tlie ten (TEN?) Discs that make up the set.
You may have seen this case before: the hard plastic kind that Rips open and sells for around SlO at your local dealer. Very nice. I also Found the manual all 220 pages worth.
THF. MANUAL The manual begins with tlie usual “thank you’s” and credits, followed by a nice letter from Joey Rubenstein. President of Joe's Firsl Company, Inc. It is an introduction and hello from an apparently very down-to-earth guy along with an explanation of tlie raison d'etre of this particular package. This is followed by several pages of technical explanations and instructions, which are necessary because of tlie unique format of the set.
Joey’s set, which is only the first of many planned, was apparently designed to accommodate not only DeskTop Videogra- phers but DeskTop Publishers as well.
Knowing that structured clip art is useless to video and graphics users and that the usual screen-sized bitmapped graphics are frequently not suitable for die publishing users, he has done something very different. He has compiled a package of oversized bitmapped clip art. They are what some call superbitmaps THE SIZE The 250 plus images in this package are all over-sized pictures, many as large as four overscanned screens. They are this size because, as wre all know, it is much easier (i.e., cleaner) to re-.size graphics smaller rather than large. The manual gives clear and concise
instructions on re-sizing these pictures for printing and video work.
It even explains how to figure out proportions for shrinking an image to a particular size. The large size of the pictures makes them perfect for printing big posters, banners and other related applications.
I found resizing to go relatively smoothly when I tried bringing some of the pictures down to more typical sizes for video work. Joey’s instructions for Dpaint III suggest loading the picture then going to the screen format requester and changing the picture size to screen (instead of keeping it the same). In some cases, this requires you to resize tlie resulting image (via the stretch device) to restore the correct proportions. In many crises 1 found it easier to just cut the picture into smaller brushes, shrinking them individually (h* in Dpaint) and then putting them back together
(usually on the spare page) In any case, neither mediod was terribly difficult.
By Barry Solomon Brushing-Up On... There are a lot of people doing animation widi their Amigas these days.
Some are animating at home and some at work. Some are professional animators and some are not. Many of these people are not even artists. With the ever-increasing popularity of Amiga animation (Amiga- mation?) Many people have become and are becoming animators who would never have thought of themselves as artists.
In the Amiga world of cel animation (drawing one frame at a time) one of die fastest and easiest ways of producing animated objects, backgrounds, people etc. is to use clip-art. It’s great to lie able to draw a beautiful jet airplane to move across the screen in your animation but if you're not ail artist or, if you gan draw a bit but planes aren’t your thing why not use dip an?
In many animation situations tlie object we animate only need to move on screen. They don’t need to change in any way. Obviously it does depend on the situation and ones of the easiest ways to keep your from looking right is not to have some objects change. Take, for example, a car. If you move a car straight across a screen over several frames it will look very wooden. Of course, if you also move it up and down a tiny bit, or maybe use some streaks to show speed it will look much more natural. Maybe even some very simple color cyding on the wheels or just having the driver's scarf blowing in
the breeze! Perhaps a combination of one or more of these techniques will yield just the effect you're looking for. But the basic point is that we can find ways to animate a car without necessarily being either an artist or a mechanical draftspvrson, There are any number of dip art packages available for the Amiga and, with a little practice even a non-artist can learn little tricks to animate objects or even people.
Frankly, one of the best ways to leam economical (i.e. easy) animation is to watch the Saturday morning cartoons.
Light-years away from the old Disney-lvpe (or even Warner Bros, type) of animation, the current crop of week-end animations uses every possible trick to economize.
When doing an article of dais type, but 1 must say I fel! In love with diis package. The images on the ten disks are broken down according to these catagories:
3. Cars & Other Wonders
8. Miscellaneous Objects 9¦ Bordersets
10. Eyegrabbers The assortment of individual clips on each disk
is delightful, but it is the style that really caught my eye.
Much of die clip art on the Amiga market tries so hard to take advantage of the Amiga’s incredible graphics capabilities diat it ignores the talents of the artists who wish to use this an.
Photographic realism has its place, but often the palettes of such dips are so vital to die picture that it is almost impossible to fit them into your work. This is not the case widi PIC-MAGIC. This package is strictly black and white line an obviously sketched with a very relaxed and casual style. The images are very realistic, but they have that ’alive’ quality diat separates a good drawing from a photo.
Even widi the enormous quantity of pictures in this set, the amount of serious thought that went into choosing diem is obvious. Going dirough each image in the manual (yes, all 250+ are in diere) die assortment is amazing; certainly one of the best chosen assortments of clip art I have ever seen. A picture can be found for just about even' purpose; from illustrating an article to decorating a menu to making posters to support your local teams.
Particularly in terms of advertising uses such as posters, flyers etc., I found very little lacking in this set.
About the only complaint I could find with diis entire package (and it's a small one) is that in terms of video uses, diey could have made life a litde easier for the extremely lazy. The pictures are so nice it would be great if die sizing step could be eliminated. What 1 would really like to see is a Package One A which has all 250+ images on just a couple of disks already brought down to a more average size for video work. The funny thing is, when I mentioned this to AC's Video Editor, he had just gotten through saying die same tiling to Joey Rubenstein on the phone and Joey thought it was a
great idea. Talk about responsive.
Class Doors* According to Joey, PIC-MAGIC -2 is almost done, and soon they will be starting on other packages. It will cost them a little extra, but with any luck they will make all of die packages available in two sizes: one for video and one for print. It’s tough to really complain about this package, because at a retail price of S99-95 for the set, each image costs about 40 cents, and at diat price, if I have to shrink a picture down a litde it’s no big deal.
If you’re looking for photographic quality clip art, this would be a good package to avoid. However, if you prefer a huge selection of excellently sketched, read)' to color, images, this is tiie package you’ve been waiting for!
• AC* Rarely do you see a character running into a wall. What you
usually see now is that character running off die screen,
followed by a bang or odier noise while die screen shakes
followed by a cut to die injured character. These are exacdy
the kind of shortcuts that you can learn to use in your
animations. If you use them wisely (and as long as you are not
trying to compete with Disney) you can make your animating
easier and give it a more professional look.
Even clip art animals and people can be animated by careful cut-&-paste methods. Rotation of brushes can be difficult as there is no such thing as perfect rotation (unless you're working in the structured art postscript area) and your brush will likely suffer serious distortion as well as a serious case of the jaggies. But, even rotation can be done if you keep it to a minimum and you’re willing to do some cleanup.
One note about animating clip art.
There is one package of clip art on the market called Build ‘Em from The Picturebox. Build ‘Em is a figure construction set containing 25 screens with over 500 body parts (sounds like a Wes Craven film) which are anti-aliased and designed to be cut and rotated.
There are a lot of Amiga clip art packages available and with the success of the mega-set of clip art from Joe's First Company the future of Amiga dip art looks bright. So with a little practice you might just be able to cut, paste and animate your wav to fame!
Just a quick P.S. Animation!
1 um speaking to Joey Rubenstein Just before this issue went to press and 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 for video. Registered owners will receive the upgrade automatically. Should you purchase the ten-disk set from a dealer's current stock, you will receive the upgrade when you send in the registration. O.E
• Images have been colored for enhancement.
PIC-MAGIC Professional Qualify Clip Art Package One Joe's First Company Inc.
P. O. Box 579, Station Z Toronto, Ontario, Canada M5N2Z6
(416) 322-6119 Price, $ 99.95 Inquiry 207
- ¦ - ¦, _ Above and Left: The Sentinel, by Bradley Schenck, won
first place in this year’s BKDC Left and Below Left: Roger
Curren's VAUX-Killer entiy in the BKDC won him second place.
Right: The Atari box is about to be smashed in the VAUX- Killer animation.
The Fred Fish collection has made it to Number 282! Mr. Fish must be very' busy. As always, 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 animations for the world to see. This year s winner requires at least 3 meg to inn and even has a 3.5 meg version!
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 approximately three and a half weeks to render me animation.
The Sentinel was entered by Bradley Schenck (see related article, "The Sentinel", on 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 animation.
VAUX-KILLER This animation was entered by Roger Curren, It is available on Fred Fish disks =265 and =266. The animation uses a clever approach 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.
The 1989 BADGE Killer Demo Contest spigot 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 Above Right: Eric Fleischer's (Dr, Gandalf) entry in the BKDC n on him sixth place. Right: Too Much 3D by Jim Robinson won tenth place in the BKDC.
This animation was entered by Jim Robinson. There isn't any information on how Jim made the animation. 7oo Mitch 3D shows what happens if you spend too much time doing 3D work on your Amiga. Jim received tenth place for this entry, which is on Fred Fish disk
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 aimed at other computers throughout the animation, CPU Standoff was entered by Bob Janousek and is on Fred Fish disk *271.
Right: Bob Janousek's CPU Standoff shows the ongoing battle for computer supremacy.
Below Right: Dave Schreibers Balloon animation shows a balloon filling up and then flying through the air.
BALLOON This animation was entered by Dave Schreiber. It appears to have been ray traced and includes sound effects. Balloon is on Fred Fish disk *272 LASER BOING This animation shows a ray-traced Boing ball spinning around with laser light bouncing off it. Has a nice effect and also includes sound.
This animation was entered by Mike van der Sommen and is on Fred Fish disk *271. *AC* Left: Laser Boing try Mike van der Sommen showed a Boing ball energized by laser light.
Cell Animation in AmigaBASIC by Mike Morrison There are many different ways to produce animation on the Amiga. The operating system has many fancy structures, functions, and commands to help make animation on the Amiga easy. This array of tools probably does make animation easier if you are programming in a compiled language. But what about AmigaBASIC?
AN IMA TION IN AMIGA BASIC?
You could take advantage of every one of these structures, functions, and commands by using the AmigaBASIC LIBRARY and DECLARE FUNCTION commands. Toss in a few hours of skimming through the ROM Kernel Manuals, old Amazing Computings, and the Enquirer (just to relieve stress) and you can end up with a nice animation. But why do all that
- when you can use standard AmigaBASIC commands and a technique
called “cel! Animation".
CELL ANIMATION The best example to explain the theory behind cell animation is to turn back the clock to when we where in grade school. Everybody has taking a stack of that gray recycled math paper and drawn a stick figure slightly changed on each sheet. Then when you flip through tlie stack of paper, wa-Ial, animation.
This picture in DeluxePaint shows how the animation looks cell-by-celL Eat your heart out Walt Disney!
USING TOOLS Because 1 am inherently lazy, I’ve learned to use the tools that are available to me. We are going to use many tools diat die average Amiga user has. Two of these tools you definitely have: AmigaBASIC, and a program called 'LoadlLBM-SaveACBM'.
AmigaBASIC is on your Extras disk that came with your Amiga. So is die ‘LoadlLBM-SaveACBM’ program. It is located in the “BasicDemos” drawer. The diird tool is your favorite drawing program.
I will be using DeluxePaint III.
GETTING STARTED The first step in our project is to decide what you want to animate. Initially you should keep it simple. Then when you feel comfortable with the procedure, yon can let your imagination go wild (within the constraints of the law, of course). I decided it would be fun to start with a deflated Boing Ball and then have it blow up.
Fire up your drawing program. Select a lo-res screen with four colors. Draw a box with the box tool that is 45 pixels square.
Then cut and stamp six of these in a row (see Picture One). Draw your animation r ne frame at a time. Change each frame slightly from left to right. The leftmost frame will be the first frame in the animation and die right frame will be die final frame in the animation (see photo two).
Save the picture as CellAnim.IFF. Then exit your drawing program.
Start AmigaBASIC by double-clicking the icon on the Extras disk, Click the mouse in the left of the two windows that appear.
The right window is die listing window and [ he left is the command or immediate mode window. Type: load "dfl:BasicDemos LoadlLBM-SaveACBM" r-eturn Change the drive in diese examples if the file is on a disk in a different drive. After a few seconds the prompt will return. Type: run return There will be some text that appears and then you will be asked: 1 IFF IL3M filespec ?'
Type: dfO:CellAnim.iff return You will then be asked: ACBM filespec ?
Type: 'dfO:CellAnim.scam' return The piccure will be loaded in (very slowly) and then the picture will be saved in ACBM format. The ACB.M format can be loaded into AmigaBASIC quickly using a program called ‘Load- ACBM’. While the program is loading the IFF picture and saving it in ACBM format do not touch the mouse button as this will mess up the picture.
MODIFYING LOA DA CRM When the picture Is done being saved as an ACBM, click in the left window and type in the program in Listing One Save it just in case we accidently lose it in this next part. Highlight he entire listing by clicking the mouse at the top of the listing and dragging it to the end of the listing. The whole listing should be orange. Use the pull down ‘edit’ menu and select the ‘cut’ option I know you’re thinking this sounds crazy, but trust me If things seem confusing, refer to Listing Two. Which is the entire modified listing.
The list window should be empty, with Listing One hidden away in the cut and paste buffer. Type the following in the left window: load "LoadACBM" rstjrri When the cursor returns select ‘show list' from the ‘Windows’ menu. Click the mouse inside the list window and press the ‘ Vlt’ key and the ‘down arrow’ key at the same time. This should put the 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 LoadACBM program to display our AnimPic.ACBM picture so we can do some work on it. There are still a few changes we have
to make to LoadACBM first. Press die ‘Alt’ key and the ‘up arrow key at the same time. This gels you to the top of the listing. Type in the following command: clear ,19000 This increases the amount of memory that .AmigaBASIC has 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 number was not derived by any known formula I kept increasing this number untill I stopped getting ‘Out of memory' errors.
Delete this line and replace it with the following line: ACBMnarae5»"dfO:CellAnim.ACBM" That is all die required modifications. If you want you can delete all die lines that have REMs and PRINTS. These are not really needed anymore and just cause clutter (leave all copyrights of coarse). It is now time to run the program by selecting the ‘start’ option from the ‘run’ menu. The picture should be displayed on the screen. Follow the instructions for clicking the coordinates of each cell into die computer. The program uses these to calculate the location of each cell so it can GET them and then
later animate diem with the PUT command. This can be inaccurate, so the animation might be off slighdy. This could be improved by replacing this section of code with the actual x and y coordinates of die cells. The paint program that you used can probably help by displaying the coordinates as you draw each cell.This would produce an exact placement of each cell in die animation.
THE CODE Lisdng One is plain AmigaBASIC. The first part of the code gets the coordinates of each cell. This information is used in conjunction with the GET command to capture each of tire slx cells into an array called p° o. This is a two dimensional array. The first index of the array is the area where the data of each cell is stored.
The second index is the actual number of the cell. Explanation; p%(850, OK-1st cell p%(850, 1) 2nd cell p%(850, 2) -3rd cell p%(850, 3) --ith cell p%(850, 4) -5 th cell p%(850, 5) -6th cell When the data has been copied off of die screen into the array we can then clear die screen with die CLS command. The FOR NEXT loop then plays through the cells one at a time in the same location using the PUT command. Then for fun I play the loop backwards.
This happens five times and then die program ends.
This might seem to be a lot of work for a little animation, but after you have gone through the steps a few- times you will see that it really is not that hard. The next tiling you should add to this program is a routine that saves the array to disk. This way, once you have the data saved to disk, you could get rid of the whole LoadACBM program and just load the animation data from 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 the coordinates for each cell. This could be made a stand-alone utility. Have fun.
Listings begin on following page.
The Bit Bechet COMPUTER STORE One of the Oldest and Largest AMIGA dealers in New England Call us for competitive quotes on the Latest AMIGA Desktop Video products We of!er Desk Desktop Video Training for the latest c a M M U () U 1 1 AMIGA: Amiga Hardware & Software Authorized Commodore Amiga Dealer and Service Center ' ¦ -V.
Authorized Dealer Genlocks Framegrabbers Digitizers 2 Locations to Serve You 1294 Washington St 621 Boston Post Road West Newton, MA 02165 Sudbury, MA 01776 617-964-3060 508-443-9731 Circle 139 on Reader Service card.
- LISTING ONE - blowingup: PALETTE 1, 1,1,1 PALETTE 3,1, 0, 0 DIM
p%(850,5) PRINT "Click or. Upcer-left of Cell 1" WHILE MOUSE
(0)«Q VTEND 'Clear the mouse buffer WHILE MOUSE(01=0
xl=MOUSE(ll:yl=MQUSE(2) WEND PRINT "c: rck on lower-right of
Ceil 1" WHILE MOUSE 0 0 WEND WHILE MOUSE(0)=0 x2=MOUSE(l)
:y2=KOUSE[2) WEND cellwidth-x2-xl for x=xi TO xl+(cellwidth'5)
STEP cellwidrh-1 GET Ix+I,yl)-[x+cellwidth-2,y2-l),p% (0, cl
c=c+l NEXT CLS FOR 1=1 TO 5 FOR x=G TO 5 PUT (100,100)
,p%10,x),PSET FOR d=l TO 500:NEXT NEXT FOR d=I TO 750:NEXT d
FOR x=5 TO 0 STEP -1 PUT (100, 100) ,p% 0,x) ,PSET FOR d=l TO
500: NEXT NEXT NEXT WINDOW CLOSE 2 SCREEN CLOSE 2 ¦ LISTING
TWO--- 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 Main: DIM bPlanei (5), cTabKork%(32),
cTabSave5(32) REM - Functions from dos.library DECLARE FUNCTION
xOpenS LIBRARY DECLARE FUNCTION Xreadi LIBRARY DECLARE FUNCTION
xWritefi LIBRARY REM - xClose ratirrns no value REM - Functions
from exec.library DECLARE FUNCTION A1locMemS() LIBRARY REM -
FreeMem returns no value LIBRARY "dos.library" library
"exec.library" LIBRARY "graphics.library" GetNames: 'INPUT "
ACBM fiiespec";ACBMnameS acbmnaineS="df 0 : blow incup. A cbrn"
REM - Load the ACBM pic loads rrorS = "" GCS'.’E LoadACBM IF
ItadErrorS *“ THEN GOTO Mcleanup REM - Demo Graphicrafr
color cycling IF foundCCRT AND ccrtDir% THEN REM - Save colors
FOR kk - 0 TO nColorsI -1 cTabSave%(kk) =
PEEKW(colorTabs+(kk*21) cTabWorkl(kk) = cTabSave% (kk) NEXT REM
- Cycle colors FOR kk = D TO 00 IF ccrtD:.r% = 1 THEN G03U3
Fcycle ELSE GOSUB Bcycle END IF CALL loadRGB'U
(sVlevf?orc»,VARFTR(cTaiWork! (0)) ,r.Cclors%) REM - Delays
approximated FOR del = 0 TO ccrtSecsi * 3000 FOR de2 = 0 TO
ccrtMicsi 500 NEXT NEXT NEXT REM - Res care colors CALL
LoadRGS4» (sViewport&.VARPTR (cTabSave% (0) ) , rtColors J END
IF Mcleanup; Hcleanup2: LIBRARY- CLOSE IF loadErrorS GOTO
blowingup END THEN PRINT loadError?
Bcycle: ’Backward color cycle cTeir.p% = cTabWorki (ccrtEnd%| FOR jj = ccrtEndl-l TO ccrtStarti STEP -1 cTabWorki (j j+1) = cTabWork% (j'j) NEXT cTabWork%(ccrtStart%) = cTenp% RETURN Fcycle: ’Forward color cycle cTemp% » cTabWork% ccrtstart% FOR jj = ccrtStart%+l TO ccrtEnd% cTabWork%(j j~l = cTabWorkSfjj) NEXT cTabWorH |ccrtEnd%) = cTemp% RETURN ' DPAINT III ' ( PLUS MOVIESETTER USERS ) ANIMATED FONTS Bring your screens to life with 3D_FQNI--A full rotation 3D font For effects that will knock their socks off II Dissolve oh or off screen - Rotate, Shrink, etc. POUR FONT-Pour in place WOW
Animated paint can pours the font on screen I COMIC FQNT-See to believe I Animated characters that bring your title to life Thousands of screens that bring out your best ONLY $ 39.95 Delivered to your door J CheckslRSLkLL Two Disk P.O. Box 801 SET PROSSER, WA 99350 WA RES ADD $ 3.12 TX COMING SOON PREHISTORIC AND SCI - FI products named are trademarks of there respective co.
LoadACBM: Circle 150 on Reader Service card.
REM - Requires the following variables REM - to have been initialized: REM “ ACBMnameS AC3M rilespec) REM - init variables fS = acbnnaffie$ fHandleE = 0 mybufi = 0 foundBMHD = 0 foundCMAP = 0 foundCaiag = 0 foundCCRT = 0 foundABIT =¦ 0 REM - From include 1ibraries dos, h REM - MODE_NEWFILE ** 1005 REM - MODE_OLDFILE » 1005 filenames - £S + CHRS(O) fHandlefi = xOpenS(SADD(filename?),1005) IF fHandles = 0 THEN loadErrorS = "Can't open find pic file GOTO Lcleanup END IF REM - Alloc ram for work buffers ClearPublicS - 65537s mybufsizes = 360 mybufs = AllocMemS(mybufsizes,ClearPublicS) IF mybufS =
0 THEN loadErrorS = "Can't alloc buffer" GOTO Lcleanup END IF inbuffi = mybuffi cbuffi = mybuffi + 120 ctab& = mybuffi + 240 REM - Should read FORMnnnnACBM rLenfi = xReadfi(fHandles,inbuffi,12) tt$ = "" FOR kk = 8 TO 11 tt% = PEEK(inbuffi + kk) tt$ » tt$ + CHR$ (tt%) NEXT IF ttS "AC3M" THEN loadErrorS = "Not an AC3M pic file" GOTO Lcleanup END IF REM - Read AC3M chunks ChunkLoop: REM - Gel Chunk name length rLenfi = xReadfi(fHandlefi,inbuffi,8) icLenfi = PEEKL(inbuffi + 4) tt$ - "" FOR kk = 0 TO 3 tt% = PEEK(inbuffi + kk) tt$ « tt$ + CHRS(tt%) NEXT LET AC DA open your real Proto-40k I HE
FIBST FULLY FEATURED AMIGA DATA-ACQUI5I1lOM AW PROCESS- CQBTKM. SCARE 1ASE.0DI 12-bit ADC chsmeLs tOiHf ¦¦ throughput 2 ProgroawHblr Gum (PG) Options 2 12-bit Pultiplying OAC outputs S 16 bit progri ih'lr timers 32 IK coapat ible Digital 10 bits ¦i ';“Y i , y P - .
Tiilijr ‘ U ¦ 1
* -¦' ¦ ¦ ¦- gijli x. i :?•; f ¦; i * «ii i „ f i, ' V-. *
V. ' V Data Acquisition-System Softwr C dm (or alt (rations
Digital Dynamics' SKIP co jatible SCREEN
2,scrWidth%,scrHeight%,iDeptht,kk WINDOW 2,"LoadACBH",,7,2 REM
- Get addresses of structures GOSUB GetScrAddrs Id ¦ induui!
REM - Black out screen CALL LoadRGB45 (sViewPortS, ctabs, r.Colors%) AmigaView 2.0 AmigaGPIB (IEEE-488) AaigaGPIB is a General Purpose interface 8«s (IEEE 4R&) card tor the A2000 that features all of the lalker Listener Controller (rations of the IEEE- One taiga can finally, a standard!ted OBJECI MIEHIED UnUtllOM C interface that includes all GADGET types (with automatic ¦utual exclusion}, WINDOWS, MEWS, 8E0LESTEIS, Complex multiple window EVENTS, SCREENS, LAYERS, BITMAPS, ALL IMAGE TTPE5, LOU LEVEL . U i i instri GRAPHICS, and IFF. Manx and Lattice ctnpatibLe libraries.
100 routines i Ex1e la aigaUorld's
• B7, p2B).
I proto 5k is o single channel 5.8
• Khi A D ' data acquisition system with *1, and xlOO input
DigiScope ilogran, and ; parallel-port real-time LED signal
leve test-caIibrat ion switch, device fits all Anigas art
daisy-chain parallei port. Cones with C source driver and many
• grams, works with DigiScope.
DigiScope is a digital storage oscilloscope emulator that works with all of our dalaacquisition products and all parallei-port digitizers. It operates 16 independent user defined buffers, has eitensive DSP and graphic* capabilities and a complete spectral analysis package. DigiScope is completely Anigatized and will keep the cofipetition at a distance for some time.
AmigaFFT A complete package of Fast Fourier Transform Soutines and windowing functions. Includes C source.
$ 152 $ 139.95 Introductory Price 'ColcrMao ELSEIF ttS = "CMAP" foundCMAP » 1 THEN rLens = xReadS(fHandles,cbufS,icLenS) REM - Build Color Table FOR kk = G TO nColcrs% - 1 red% = PEEKIcbufSt(kk*3)) gre% = PEEK(cbufit(kk*3)+1) blu% = PEEK(ebufS+(U*3)+2) regTemp% = (red%*16)+(gre%)+(biu% 15) POKEW(ctabS+ (2*kk)) , regTa.-?% NEWT ELSEIF ttS = "CAMG" THEN 'Amiga Viewport Modes foundCarr.g = 1 rLens = xReadS(fHandles,inbufs,icLens) camgModess - PEEKL(inbuf&) ,ve| ¦ ACOA Corpo'at i on I 220 Belle Meade At Jsclaukel, Nt 11733 Uc also Carry Mitsubishi and Shinto Color Printers 1 Drivers ... -3
I(516) 689-7722 j ACDA HARDUABE ANO SoftUAIt DfHO DISK $ 25 I iProtO’iiOk, Proto-5k, AMIGACPIB, AmigaView, DigiScope, and AMIGAfFT are registered trademarks of ACOA Corporation. ACOA is fretyuently i xlating us prod reserves to right to change specifications and prices at any lime without i [CCJEOpynght 1939 ACOA Corp. Circle 1D4 on Reader Service card.
IF tts "BMHD" THEN 'BiCMap header foundBMHD = 1 rLens = xReadt (fHandleS, inbufs, icLens) iWidthls = PEEKW (ir.buis) iHeight% - PEEKW(inbufs + 2) iDepth% = PEEK(inbuf& + 8) iCorapr% = PEEK(inbufs + 10) scrwidth% = PEEKW (inbufs - 16) scrHeight% - PESKW(inbufs - 18) iRov?Rytes& = iWidth% 8 scrRowBytes% = scrwidth% 8 nColors% = 2"(iDepth%) REM " Enough free ram to display ?
AvailRa-s = FRE(-l) NeeriedRami ¦¦ ((scrWidth% 8) *scrHeight%* (iDepth%-rl)) +5000 IF AvailRatnS NeededRamS THEN loadErrorS = "Not enough free ram.” GOTO Lcleanup END IF hiress = SH3000 lanes = SH4 kk = 1 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 IF scrHeigbtt = 400 THEN kk = kk + 2 END IF ELSEIF vtS = "CCRT" THEN 'Graphicraft color cycle info foundcCRT = 1 rLens = xReads (fHandles, inbufi,. :ler.s) = PEEKW(inbufs) ccrtDirl scrtStart% CcrtEnd% ccrtSecsS ccrtMicc a = PEEK(inbufs + 2) =
PEEK(inbufs - 3) = PEEKL(inbufs + 4)
- PEEKL (ir.btf; - 8) 'Contiguous BitMap ELSEIF tt$ = "ABIT"
foundABIT = 1 REM - This only handles full size EitMaps. Not
brushes REM - Very fast - reads in entire BitElanes pisizes =
(scrWidtn% 8) ’ sorKeight% FOR pp = 0 TO iDepth% -1 rLens =
xReadi(fHandleS,bPlaneS(pp),plSizeSi NEXT ELSE REM - Reading
unknown chunk FOR kk - 1 TO icLur.6 rLeni = xReadi(fHandiefi,
inbufs, 1) NEXT REM - If odd length, read 1 more bytr IF
(icLens OR 1) = icLens THEN rLens = xReadt(fHandleS, inbufs, 1)
END IF REM - Done i f got all chunks IF foundBMHD AND foundCMAP
AND foundABIT THEN GOTO GoodLoad END IF IF rLenS 0 THEN 'Read
error XoadError? = "Read error" OOPS! Corrections!
REM - Good read, get. Next chunk IF rienS 0 THEN GOTO Ch.unkLoop GOTO Lcleanup END IF REM - rLeni - 0 means EOF IF foundBMHD=0) OR (foundA3IT»0) OR (fcur.dCMAP=Q 1 THEN loadErrorS = "Needed IIBM chunks not found" GOTO Lcleanup END IF GoodLoad: loadErrcrS ="" REM Load proper Colors IF foundCMA? THEN CALL LoadRGB4sIsViewPortS,ctabs,nColars%) END IF Lcleanup; IF fHandlei 0 THEN CALL xCloseS (fHandlei) IF inybuf& 0 THEN CALL FreeMemS (mybuf£,mybufsize£) RETURN GetScrAddrs: REM - Get addresses of screen structures sWindows = WINDOW(7 sScreens « feekl(sWindows - 46) sViewPortS = sScreenS +
44 sRastPorts “ sScreenS + 64 sColorMapi = PEEKL(sViewPortS + 4) colorTabS = PEEKL(sColorMapS + 4) SbitMapS = PEEKL(sRastFcrt4 + 4) REM - Get screen parameters scrWidth% = PEEKW(sScreens - 121 scrHeight% = PEEKW (sScreer.s + 14) scrDepth% = PEEK(SBitMapS + 5) nColors% = 2AscrDepth% REM - Get addresses of Bit Planes FOR kk = 0 TO scrDepth% - 1 bPlar.eS (kk) - PEEKL (SBitMapS+8+ (kk*4)) NEXT RETURN blowingup: PALETTE 1,1, 1,1 PALETTE 3,1,0,0 DIM pis !850, S) PRINT "Click or. Upper-left of Cell 1" WHILE MOUSE(0) 0 WEND 'Clear the mouse buffer WHILE MOUSE 0)=0 xl=MOUSE(l);yl=M0USE(2 WEND PRINT
"Click on lower-right of Cell 1" In "Fast PixO", AC V4.ll, page 19. We made several errors in tile article and listing. The corrections are:
- Figure 1 and Figure 2 are reversed.
- In Figure 2, under the 'Coloc*5’ should be '1010'.
- Paragraph 2, Column 3, page 21; "Next, isolate the individual
bit" should be "individual pixel".
- Paragraph 1, Column 3, page 20; The 'AE's should be '- ’s.
- Figure 2: All the ’8's should be '0's.
- Paragraph 1, Column 2, page 21: The sentence "row y now has to
be stored in register A2" should read, "row y now is stored in
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,
die byte is bset to 0" should read, "the bit is bclred to 0."
- The authors of the Amiga Hardware Reference Manual are Peck R.,
Deyl S., and Raymond C. In "New Products and Other Neat
Stuff1’. AC V4.ll. pp. 63-64, an incorrect phone number for
MichTron was printed. The correct number is (313) 334-5700. The
correct price of VIVA is
5199. 95. Also, as no CD-ROM capability is currently available
for the Amiga, VIVA is not CD-ROM supportive. Finally, the
animation capabilities mentioned will be available in a
forthcoming Professional version of VIVA.
In "View From The Inside", AC V4.12, page 16, an incorrect phone number for Blue Ribbon Bakery was printed. The correct number is (404) 377-1514.
We apologize for die.se errors and any difficulties or inconveniences that may have been caused as a result.
WHILE MOUSE(C) 0 WEND WHILE MOUSE (0)=0 x2»MOUSE(1):y2=MOUSE(2) WEND cellwidth=x2-;;l FCR x-xl TO xl+ (ce!iwidth*5) STEF cellwidth-l GET (x+l,yl)-(x+cellwidth-2,y2-l),p%(0,c) e=c +1 NEXT CLS FOR 1=1 TO 5 FOR x=0 TO 5 PUT 1100, 100) ,p%(0,x) ,PSET FOR d=l TO 500;NEXT NEXT FOR d=l TO 750:NEX7 d FOR y.-5 TO 0 STEP -1 PUT (100, 100),p% 10,x),PSST FOR d=l TO 500:NEXT NEXT WINDOW CLOSE 2 SCREEN CLOSE 2
• AC- If boro to Find tbo tfoa lead by Barry Solomon Video
Editor Sometimes in the crush to find the ‘‘perfect" animation
program or programs, you know, the one that really suits our
own personal animating character, we can forget about the
"little" things. There are a number of items available today
that can help you leam new techniques, polish your style, or
just make doing what you do faster or easier.
There are a number of tutorials available that can be very helpful for current or would-be animators. Available on videotape, Professional Techniques for Deluxe Paint ill can be very useful, even for experienced Dpaint users. Developed by Jeff Bruette's Prism Computer Graphics this 60-minute videotape features Jell (of Max Headroom and Amazing Stories fame) giving away many of his best secrets.
Almost half of the tape is devoted to such animation topics as “Animpainting", using "Animated Brushes” and use of Dpaint Ill's Move Requester.
The very down- to-earth tutorials are sprinkled throughout with thoughts from Dan Silva, author of the Dpaint series.
This tape really does have something for everyone, inexperienced to the very experienced animator.
.Also in the videotape department is a series of graphics tutorials from Cape Fear Teleproductions. Micro Digital Graphics is the name of the series and Volume Two: Color Cycling Animation provides about 45 minutes of instruction on the art (and it is an art) of animating by means of color cycling. Once again, the valuable information contained in this tape is simple and well explained enough for beginners but will remind experienced animators that, sometimes, tire effects they wish to achieve are easier to do than they drink.
Actually, i was a little chagrined by this tape. I now realize that I have become a little jaded by all the "fablulous” animation techniques available to me. I really had forgotten a lot of the really nice things you can do, very easily and quickly, with color cycling.
Just some of the many "A him-A ids "a i ’a Hub le.
Inst (in the video tutorials), but not least, drere are a number of people out there who are still very confused and or intimidated by The Director. This incredibly powerful program is run with a basic-like programming language. For those of you who, like me, aren't programmers, there is an answer! The Director Tutorial is a VHS videotape available to answer just about any question you may have. This 260-minute tape (that's right-four hours and twenty minutes) can answer just about any questions you have.
There are also a number of animation tutorials available on disk. RGB Computer & Video Creations, the "DeluxeHelp'’ people, have a set entitled DeluxeHelp for DeluxePaint III. The second disk of this two-disk set is devoted entirely to animation and provides information on a number of animation techniques. The folks at For Art’s Sake also have a two-disk set that provides information on animation along with basic Amiga graphic techniques.
In the book department, we have the 2nd Edition of Using DeluxePaint.
Written by Steve Anzovin and published by Compute!
Books, I found this otherwise excellent book just a bit of a pain because it discusses Dpaint for all computers (did y o u know that there are other computers besides the Amiga?)
However, the last section is strictly about DeluxePaint III (which, of course, is available only for die Amiga) and discusses its animation methods at length. There is even a book entitled Timing for Animation published by Focal Press, Written by two professional animators, the book deals mainly with timing techniques for film, but much of the advice, information, aird hints can be applied to Amiga animation. If you are a programmer, there are any number of books available which discuss graphics and animation programming in various languages.
As for actual animation helpers, there are also a number of items available, Charles Voner of CV Designs produces the Video Visions series of disks. These multidisk sets are designed primarily as aids for video production, but they are also helpful to anyone doing animation. The various sets and “Mini-Volumes” contain backgrounds, animated characters, animated intros, borders, logos and colorfonts which can be very useful. In particular Video Visions sets 2,3, and 6 are particularly targeted towards animators and are available packaged together as the Animator Set.
On the humorous side, we have a two-disk set of “animated fonts" from Anivisions. While these technically are not fonts as we usually think of them, these are very interesting. Actually these are “Anim Brushes” for use in Dfaint III. There are several animated fonts on these disks which are actually sets of animated brushes which must be stamped out, or “AnimPainted” in Dpaint HI. My favorite is the Pourfont, which produces letters, words, or entire title pages with each letter being “poured” out of a little rainbow- colored (much like the original Dpaint "paint can"). -Also included are a 3D
(-like) font, Comic Font, and Dissolve Font. I found all of these very interesting.
Also out from The Piccurebox is Build ‘Em. This is a figure construction set containing over 500 anti-aliased body parts designed to be cut, rotated, and pasted together to produce the people of your choice. These parts are contained on 25 screens and were drawn by a professional figure artist.
These are only a few' of the many, many ways to get more out of your adventures in animation. If I’ve missed one of your favorites don’t be angry. There are way too many “ANIM-AIDS" to cover all at once. If you have a hint on a program, book, tutorial, or other piece which you have found to be helpful in you animating please write to me and let me know.
• AO Products Mentioned Professional Techniques for DeluxeHelp
for DeluxePaint III RGB Video Creations Video Visions: Various
Disks DeluxePaint III 2574 PGA Blvd., Suite 104 CV Designs
Prism Graphics Palm Beach Gardens, FL 33410 61 Clewly Rd.
Distributed by Electronic Arts
(305) 622-0138 Medford. MA 02155 1829 Gateway Drive Price: $ 49.95
(617) 396-8354 San Mateo, CA 94404 Inquiry 216 Prices Vary With
(800) 245-4525 in CA (415) 571-7171 Price: 524.95 Inquiry 213
Using DeluxePaint 2nd Edition COMPUTE! Books Inquiry 219
Animated Fonts Micro Digital Graphics Volume Two: 324 West
WendoverAve., Suite 200 Anivision
P. O. Box 801 Color Cycling Animation Greensboro, NC 27408
Prosser, WA 99350 Cape Fear Teieproductions, Inc.
(509) 973-2717 605 Dick St., Wilmington, NC 28401 Price: 519.95
(919) 762-8028 Inquiry 217 Inquiry 220 Price: $ 39.95 Inquiry
214 Timing For Animation Build 'Em The Director Tutorial
Focal Press, Inc. 80 Montvale Ave.
The Picture Box 8824 David Ave.
The Right Answers Group Stoneham, MA 02180 St. John, MO 63114
P. O. Box3699
(314) 427-1869 Torrance, CA 90510 Price: 537.95 Price: S23.50
(213) 325-1311 Inquiry 218 Inquiry 221 Price: 539.95 Inquiry
215 .... DEMO DUAL Programming an Arcade Game Can
Be Easy by ffjotnas J. Eshelman If you type in and study
the code diar accompanies this article, you will
immediately see how it provides the foundation for neat,
professional looking games limited in scope only by your
own imagination. The secret lies in using the Amiga’s dual
One contains and scrolls objects drawn with your favorite paint program, while the other can either be similarly scrolled or remain stationary. Scrolling a few objects gives the appearance of many individually “animated” objects (or bobs), making die program appear far more complex than it is.
“DualDemo” appears as follows: You look at a yellow background through a window outlined in red. White text including “score,” which changes as the program progresses appears on the top and bottom borders of the red window.
“Animated” colored squares appear against die yellow background, rising majestically from bottom to top. With the joystick, you control an electric-green sprite “spaceship.” Whenever the spaceship hits a red square, the score increments by a value of five, whereupon the program exits. A black band remains on either side of the scrolling playfield(pf) to prevent the optical illusion of looking through a window die illusion you usually desire when writing games.
Once you see how this is done, you need only vary die sizes, colors and shapes ofthe objects, adding any audio visual collision routines you desire. By adding appropriate scorekeeping routines, you can design your own game-of-die-week.
The code is relatively simple. The only difficulties lie in interpreting the instructions 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 otherwise 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 happening when high-level languages execute, and only then can you cake corrective measures based on your own logic. Header files wall become comprehensible! The beauty of it all is that assembly is by far the easiest of die languages for a rank beginner to learn. There are many good and inexpensive assemblers. The ugly part is a lack of good tutorial texts.
If you have a college or university in your area, I wrould suggest at least auditing an assembler course, i took a formal course in VAX assembler last spring, and found it invaluable. VAX and Amiga assembler are extremely similar. I alternate time between assembly and C, just to retain a Familiarity with both. I unequivocally recommend assembly as your firsL programming language.
DUAL T '5. SINGLE PLA YFIELDS Dual playfields require die employment of two bitmaps, two rasinfos, and two rastports. It is also advisable to create and swap “Copper list” pointers, not only to create truly exotic dual playfields, but also to serve as an introduction to double-buffering.
IN GENERAL Displays and objects are drawn into Bitmaps, which are composed of planes. The corresponding bits of die planes being set or not set indirectly determine die color for that bit (pixel) location within die overall Bitmap. This is because these bits reveal, in binary, the color register number which will be displayed there.
The user-defined color table reveals die actual colors themselves, beginning widi register 0 and running as high as register 31. The Bitmap may be much larger than the displav seen by the user.
The skeleton of any display is called the View. It can be fleshed with more than one ViewPort, but usually ir is not. In graphics, the ViewPort is die CustomScreen in Intuition. The Layers of graphics are the Windows of Intuition. For our purposes, the display is die ViewPort, since we only have one.
A RastPort is a skeleton whose bones consist of all the drawing parameters, so all drawing routines look to the RastPort to interpret the arguments you give them.
Each Viewport or Layer must have its own RastPort if you expect to do any drawing. Tire flesh of the RastPoit is tire Bitmap into which graphics are rendered.
Tire purpose of this article is to make clear certain unorthodox, but immutable, rules that govern all the above procedures related to dual playfields and collision detection. They are really quite simple, although difficult to explain. LeLs summarize some of them.
SPECIAL RULES FOR DUAL PLA YFIELDS RULE 1: The first Bitmap initialized becomes play- field 1 (pfl). Pfl automatically gets priority over (appears in front of) pf2, unless the PPBA bit is set in V iewPort. M odes.
RULE 2: pfl cannot have fewer planes in its Bitmap dran pf2 has in its Bitmap. If you allocate five out of the permitted six bitplanes for our program, three will go to pfl and two will go to pf2. Therefore, you would have eight colors available in pfl and four in pf2.
To see more colors in the background than in die foreground, change dieir relative priority widi the PFBA bit as illustrated in Table One.
RULE3: The planes of pfl are system-assigned to odd numbers (1, 3 and 5). The evens (2 and 4) go to pf2. In the language of Commodore, the bitplanes are numbered from 1 to 6 inclusive. The bits, however, are numbered from 0 to 15. Watch out, die first color of each pf is not a color at all; it is “transparent.” These facts are inherent in die Amiga, so don't try7 to fudge it.
RULE4: The color registers used for display in the dual-pf mode are fixed (see Table Two). In this example, registers 0 through 7 are used for pfl, while 8 through 11 are used for pf2. Confusion may result when setting pens and the like in pf2 (i.e., the eighth register holds color 0 for pf2).
Kindly look at the dimensions of the playfields in the code, pfl is a multiple of 320 + 1. My 960 + 1 is something of a waste, but I put it there to encourage experimentation. When the program starts, 320 lines appear in die backfield. As these scroll upward, 320 more lines must be available to replace them. When these are all fully displayed, you immediately redraw from the beginning by resetting your RasInfo.RyOffset to 0. Therefore, pfl (which has more colors) really works just as well at 640 + 1. Pf2 is set at die Lypical 320 x 200, since it remains centered in the ViewPort. You won’t
crash the machine if you fail to add diat one extra line to the Bitmap, but you won't like die display appearance as much.
While we are on die subject of colors, let us prepare for the collision-detection scheme. Observe that Lhe red square in pfl appears in color register 4 (OxdOOO). Remember what I said earlier: 4 in binary (0100) would seem, to mean that wherever you have a bit set in plane 3, and in no other, a red pLxel will appear on your display. Well, you're right only it’s not the third plane, but the fifth. Gotcha! Remember, pfl can only have the odd planes, 1, 3 and 5. Hence, the third is really the fifth.
Table One No. Of Bit Planes Allocated pfl value pf2 value 0 0 0 1 3 0 2 1 1 3 2 1 4 2 2 5 3 2 6 3 3 Table Two Depth, pf 1 System Registers Depth, pf 2 System Registers 1 0-3 1 8-9 2 0-3 1 8-9 2 0-3 2 8-11 3 0-7 2 8-11 3 0-7 3 8-15 Table Tliree A: The clxdat register (read only) :: Bit No.
What it reports 0 Even bitplanes to dd bitplanes.
1 Odd bitplanes to sprite 0.
2 Odd bitplanes to sprite 2.
3 Odd bitplanes to sprite 4.
4 Odd bitplanes to sprite 6.
5 Even bitplanes to sprite 0.
6 Even bitplanes to sprite 2.
7 Even bitplanes to sprite 4.
8 Even bitplanes to sprite 6.
9 Sprite 0 to sprite 2.
10 Sprite 0 to sprite 4.
11 Sprite 0 to sprite 6.
12 Sprite 2 to Sprite 4.
13 Sprite 2 to sprite 6.
14 Sprite 4 to sprite 6.
Table Tliree 11: The clxcon register (write only) Bit No.
What it does 0 Enable bitplanel collisions.
1 Enable bitplane 2 collisions, 2 Enable bitplane 3 collisions.
3 Bitplane 4 collisions.
;j 4 Enable bitplane 5 collisions.
1 5 Enable bitplane 6 collisions.
6 Validate or bias bitplane 1.
I 7 Validate or bias bitplane 2.
8 Validate or bias bitplane 3.
9 Validate or bias bitplane 4.
- i 10 Validate or bias bitplane 5.
11 Validate or bias bitplane 6.
12 Enable sprite 1 (detects if sprite 0 collides).
13 Enable sprite 3 (delects if sprite 2 collides).
14 Enable sprite 5 (detects if sprite 4 collides).
15 Enable sprite 7 (detects if sprite 6 collides).
Come see whats Hot for the AMIGA at The Memory Location a la la la bm ImGSSS la la la la (a Esaas uuauj | mr The 'V !¦ Memory H§ - IjSjflH Location |g ' JblfC j 396 Washington Street Wellesley, MA 021H1
(617) 237-6846 AMIGA Experts! Nothing but the best.
Come in and try-out all the latest software, hardware, and accessories.
Your full service AMIGA dealer.
Store hours: Mon.-Thur. 10-6 Friday 10-8 Saturday 9-5.
Full Commodore authorized repair service onsite.
Low flat rate plus parts.
Circle 107 on Reader Service card.
You must understand this in order to perform the seemingly simple task of setting and interpreting the two registers. They will cause collision detections between a given sprite and a playfield 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 your color table.
COLLISION DETECTIONS Take a look at Tables 3a and 3b. They contain the results of setting each of the possible 16 bits in the write-only register known 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 (members) of the base of the structure known as “Custom."
To read the clxdat register, you perform a logical AND on it with a mask of your own making. If the result of the AND is TRUE, you get a collision. Each move requires a separate read, because tire act of reading resets die bits of clxdat. You have only one chance, unless you copy the results first.
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 selected in our code is No. 2. As you can see from the color table, the red rectangle in pfl (OxdOOO) appears in register No. 4 (counting the first as No. 0). Binary 4 is 0100. Even though the bit is in position 2, it lies in plane 3, because the Amiga counts bitplanes from the right, beginning with a value of 1.
In the language of dual playfields, you will recall from what has been discussed above that the third bitplane of pfl is really 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 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 bitplane. Accordingly, our mask must also set the third bit. 0100 binary (or 0x004), so that the result of a logical AND is TRUE.
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 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 be involved in the scheme, whether you want them set or not. It's 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, 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 be numbers 6,8 and 10. Now' they will all look to their corresponding signal or command bits, which are 0, 2 and 4. Thus, you will 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 detection in plane 5.
In binary, the appearance of clxcon will thus be: 0000 0101 0101 0000. In other words, the fourth, sixth, eighth and tenth bits (or hex 0x0550) are being set. This is the reason the code contains the expression: cstm - clxcon - 0x0550; RELEASING THE GAME PORT Now' that I have your undivided attention, I will reveal a little known (or at least little published) secret about how you can divest 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
having terminated. (I’ve written a few like that myself.) The secret lies in resetting the controller type to GPCT_NOCONTROLLER prior to exiting the code. To facilitate your doing this, DualDemo.c features a short routine, set_controller_typeO. Put it into your Library of C routines.
DOUBLE-BUFFERING THE COPPER LISTS Finally, let’s take a moment to examine and study “Copper Lists.” The Copper may be looked upon as tire Amiga's special- hardware-chips-register-loader. When you call the routine, MrgCopO, the system scans through all tire data structures you have set up and creates "lists" of assembly-like instructions for the Copper to execute. This code gives the Copper the user-input values to load in all the various hardware registers (tire ones referred to in the struct Custom), and tells it when to do it. Read on carefully... To do this, the system dynAMIGAlly
allocates memory for a “long-frame” Copper list (LOFCprList) and for a “short-frame" Copper list (SHFCprList). The latter is used only if you ask for an interlaced display. For the purpose of linking these lists into the overall “skeleton," the system sets pointers to these lists, in the memory set aside for them in struct View. Examine include graphics 'view.h. The lists refer to the underlying Bitmap. With dual pfs or with double-buffering, you have provided two Bitmaps. Now what?
You fool the system into creating and storing two sets of CprLists.
Remember that these lists are telling the Copper things like which colors will be jammed into place for tire display to which it refers.
Therefore, you must acquire the habit of providing one such CprList for each Bitmap.
Let me spell it out a little more dearly:
1. The first of the “CprLists," prepared by the system in all
events, 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
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 to displaying that Bitmap, but alter having copied tlie
pair of pointers that were already in there for temporary
Thus, each of the Bitmaps will have its proper attributes displayed along with it.
4. When you free memory at tlie end of your program, call
FreeCprListO twice, since you called MrgCopO twice.
That’s pretty much the story. Assuming you stud)7 and understand the readily available material on how to produce and draw into simple displays on the Amiga, DualDemo should make clear those parts of tlie RKM which, although somewhat turgid, are necessary to producing quality arcade games. It really is not all that difficult. Analyze the source code carefully, and by all means 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 us to enjoy in no time at all.
Note: The system is never able to determine which member of a sprite pair was involved in a collision. You may enable tlie odd sprites, but apliprog must be capable of determining which of the pak was involved when a collision is reported. 1 examine sprite coordinates to make this determination.-N.B. ¦ Listing One - *DualDemo-by Thomas J. Eshelman - Reading, Pa.- 9 13 B6 This program demonstrates dual playfield and collision detection code for the Amiga. A yellow field appears behind a red foreground containing text. This backfield contains an array of variously colored squares which scroll
upward. A 'spaceship' sprite is given the user which can be controlled horizontally with the joystick. Whenever the sprite collides with a red square, the score is incremented on the front playfield. When the score becomes ‘5r, the program quits." include exec types.h include intuition intuitior..h ftinclurie graphies gfxbase.h include graphics sprite.h include devices ganeport.h include hardware custom.h linclude functions,h fdefine DEPTH1 3L *pfl = taller than display* Circle 121 on Reader Service card.
Fdefine WIDTH1 230L *a k a Bitmap 1* Idefine HEIGHT1 961L * Note: Since Che squares pattern burns 320 lines. Seamless scrolling requires 640 lines. As one pattern gees o.c.s. up, the next pattern comes into view. When 320 lines have scrolled, reset RyOffset to Q.The 960 * 640 setup is not required, but is utilized for illustration only.* fdefine DEPTH2 2L * p£2 a k a BitKap 2. * fdefine WIDTK2 320L * Same size as display. " fdefine HEIGHTS 200L fdefine VPWIDTH 320L * Viewport dimensions. * fdefine VPHEIGHT 200L * Same as overall display. * fdefine MAX5CR0LL_X 0L define XAXSCROLL_Y
640L ’ HEIGHT!-HEIGKT2 * the maximum * ' ‘legal' scroll distance. " fdefine saucer_wid?h 16 fdefine SAUC2R_HE3GHT 13 struct View v; struct Viewport vp; struct ColorMap "cm; * GetColorNap() sets this up. *f struct BitMap bl, b2; struct RastPort rpl, rp2; struct Raslnfo ril, ri2; LONG i, x, y, loop; UWORD colmask; char score = ‘O', ‘l'r '2', '3', '4', '5' }; struct Custom *cstm = (struct Custom") OxdffOOO; * Hardware rastr base * struct GfxBase "GfxBase; struct View *oldview? " Save old view for restoration * struct InputEvent joyreport; struct IGStdReq "gameiobstruct MsgPort
"gameport; struct GamePortTrigger got = "Reportable input conditions, * w = 0L; LOF - NULL; * Bet SHF[13 - NULL; * fir Ser.dIO (c rroio; hit_ck “ 0; j » It while (1) I Saucer. : +- jcyreport. Ic_X; if ( Saucer.x 4-1 ) Saucur.x - 44; if ( Saucer.x 209 ) Saucwr.x - 259; - . * uprtoe c:,:it ton is relative to Viewport - ITWORD colortable ¦ | I* First color ¦ display background * 0x000, Oxf70, 0x070,0x007, * transparent, yellow, green, blue ¦ OxdCO, Oxfff, 0x704, 0x077, - red. White, violet, aqua * * Below are for pf2.* 0x000, OxfQO, Oxfff, OxOOf " transparent, red, white,
blue * GPTF_UPKEYS I 0,
1. - UWORD -colorpalette; GPTF DOWNKEYS, MoveSprite ( 4vp, sSauce
r, (long) Saucer.x, I03L ); Pairs of Copper List pointers. *
See article. * struct cprlist *LQF; struct cprlist -SHF
123; long w; USHORT Saucer_data(]= " Sprite shape
definition data, *
Oxffff, 0x0000, 0xea57,OxlSaB,Oxffff, 0x0000, Oxlff8, 0x0000,
0xO7eO,0x0000,0x03c0,0x0000,0x0000,0x0000 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 - (Slue woulc k__p ’scoring' til * hit_ok - 0; • sprite breaks into the clear. ' show_score(j ; j+ f} i struct SimpieSprite Saucer J else i hit ofc - 1; 1 if ( j *-*- 6 ) [ A Cl r your r_rly port.’ GetMug ;gu.-.upcrt); * Th-.n di. Gey. Tick * (void) sec_ccntrcller_tipa ( (cn .r, 3t- C7_NCCCL ROLLER ) ; Delay (otL); aSaueer_data, SAUCER_HEIGHT, 160, 100, 0 void mainO openscuff C ; make_p lay fields (); init_joystick(J; paint_scene(); go_to_it(); * Acticn!
Close AIK) ; '¦ ly... .j li it * rater,,,. :: CL. Etc fast * i swaprcihCvr, .) ; ril.RyOf iwjTT; remakeVit«(); w 1L; * 'uy -50R cihv. Pointers tc • -swap u-.tL ] and * ir,it_joystick 0 ( (void) 5et_controlier_type ( (char) GPC?_ABSJCYSTICK gameio - io_Ccmir.and = G?D_SE7TRIGGER; gameio - io_Length = (long) sizeof (got); gameio - io_Data » (APTR) £gpt; if (DoIO (gameio)) die ("Error in setting trigger values. nw); if ( ril.RyOffset - MAXSCAOLL_Y ) ril. Ry I f f set * C; ¦¦ SC.-.’..ELL. iac k to the top: gameio - io_Co.t. and - G?L_RB ALEVE:, V; gat.-ic - io_L..-.y(long) cit cf
(gcyreport); gaiteic - io_Duoa - (APTR)&joyrepcrc; GetMsg (g_ -port); SenalC io); .axe met--i- cut port - for. _r loop ¦ * cht goto it * gameio ** io_Command = GPD_READEVENT; gameio - io_Length = (long) sizeof (joyreport); gameio - io_Data *¦ (APTR) s joyreport; gameio - io_Flags ¦ 0; ¦Double swapPointers() ( LOF[w] - v.LOcCprList; ' Alternately SHF [w j - v.Snr'CprList; * And repine. With EORo version.’
v. LOFCprList - LOF [(w"l)i; buffer t.-.- copper iaios.*
- a oo iQ] or [1j * gc_to_it () I short hit_ck; short j;
cstm- color = OxfOO; • Hide Intuition pointer.-
cstm- color[101 = OxfOO; cstm- ccicr[19! = OxfOO;
cstm- cslor = OxCfO; w, ¦
v. SHFCprLlst - She remakeview(j KakeVPirt(tv, Svp);
MrgCop(4v); LcadView(iv); WaitTO?(); Render the saucer
green.’ * Use that alternate * shew new display.
* Slow it down.
Cprlist cstm- clxcon = 0x0550; • See article for details.* colmask ¦ 0x0004; • Enable odd planes to spr 2, * } A little Schwabism.* die 1str) char *str; I 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 ) die ("Can't open the game device. n"); GfxBase = (struct GfxBase *)OpenLibrary("graphics.library",CL); if (GfxBase == NULL) die ("Can't open graphics,library. n"I; ¦
Save the View of whatever you ran this program from. • oldview = GfxBase- ActiView; return; Wc take oa* Pr‘cc ONE BYTE
P. O. Box 455 Quaker Hill. CT 06375
(800) 441-BYTE, in CT (203) 443-4623 Authorized dealer for
Commodore-flmiga Computers, Great Valley Products (GVP),
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.* RectFill(6rp2,40L,40L,20OL, 160L); * -50 wide margins all around,* SetAPen(&rpl,1L); 'Draw yellow rect all over pfl.* RectFill(firpl,0L,OL, 23CL,960L); * Offsets from Dx Dy,* y = 0L; * Draw colored squares all over.* SetAPen ( irpl, 6L); * 3 draws * for ( loop « 0; loop * 2; loop**- ) for ( i = 0, x = 25; i « 4; i 4C( y « 40 ) * 5 right * Circle
135 on Reodor Service card.
Spr * GetSpnte ( iSaucer, 2L ); • Demand sprite no.
If ( spr != 2 Close_All ); ChangeSprite ( 4vp, sSaucer, 4Saucer_data ); Delay "5L); ¦ Pause for the draw. ' return; Rectcili ( 4rpl, x, y, x * 20L, y + 20L ); SetAPen &rpl, i * 2L ); ) for ( i = 0, x = 145; i ¦* 2; if-, x -- 40, y * 3 left * ( RectFill ( 4rpl, x, y, x + 20L, y * 20L ); SetAPen ( Srpl, i + 3L ) ; 'Each 0 takes 320 lines* 40 ) ) SetDrKd ( &rp2, JAM2 ); SetAPen ( 4rp2, 2L ); SetBPen ( 4rp2, 1L ]; *?ext is measured from top.* * Chars are 8 pixels wide.* Move ( Srp2, SOL, 14L ); Text ( &rp2, "Dual Playfields Demo", 20L ); Move ( Srp2, 100L, 30L ); Text ( 5rp2,
"by Tom Eshelnan", 15L ); Move ( £rp2, 10SL, 183L ); Text ( &rp2, "Hits On Red:", 12L ); Move ( &rp2, 209L, 183L ); Text ( Srp2, £.score, 3L ); make_playfields () 1 InitView(iv);
v. Viewport *= £vp; initVPort(fivp); "First register of pf2 is
Ho. 9. It is xparer.t. It is useful to experiment with this.*
cm = (struct ColorMap'l GetColorMap (120 ; colorpalette 11
(UWORD *) cm- Color7able; for(i ”0; 1 12; i)
* colorpalette++ * colortable[i]; •Copy colors to data
structure.* vp.ColorMap = cm; * Link same. * vp.DWidth =
VPWIDTH; f* Vihat user actually sees * vp.DHeight =
VPHEIGHT; * i.e: the Display’ * vp.RasInfo = firil; vp.Modes ¦
D'JALPF i ?FBA; *5wap priorities so you can * ¦ have more
colors in backfield * LoadRG34 svp, acclortable , 12L )
,* * Load color registers. * InitBitMap(4bl,DEPTH1,WIDTH1,
HEIGHT!) ; InitBitMap(4b2,DEPTH2,MIDTH2,HEIGHT2); MOVING?
Please don't forget to let us know.
If you are having a problem with your subscription or if you are planning to move, please write to: Amazing Computing Subscription Questions PiM Publications, Inc.
P. O. Box 869 Fall River, MA 02722 Please remember, we cannot
mail your magazine to you if we do not know where you are.
Please allow four to six weeks for processing.
MrgCopl 4v ); • Merge prelim, lists into a final " ’ copper list in the view structure. ' InitRastPort(4rpl]; • freed a pfl rastpart to draw. • rpl.SitMap = Shi; ¦ Link it to its bitmap. * InitRastPort (&rp2); rp2.BirMap = f.fc2; SetRast(irpl,OL); ¦ Raster bitmaps transparent. “ SetRast(Srp2,OL); Loadview(& v); 1 Close_All() I ford ¦ 0; i DEPTH 1; i++) if (bl.Planes[i]) FreeRaster ((char’) bl.Planes [ij, WIDTHl, HEIGHT1); for(i - 0; i DEPTH.?; i + ) if (b2.Planes i]) FreeRaster ((char*) b2.PIar.es[id width2, }
* Free structures 'dynAMIGAlly' *
* created by the system fcr you. ' if (cm) FreeColcrMap(cm);
FreeVPcrtCopLiSts (5vp); FreeCprList 1LOF); FreeCprList
(LOF); if (Saucer.num.) FroeSprite ( 2L ); if (gameio) if
(gameio - io_Device) CloseDevice (gameio); DeleteStdlQ
(gameio); f?r(i =0; i DEPTH1; i ++) bl.Planes[ij =-
(PLANEPTR) AllocRaster (WIDTH!, HEIGHT1); if (bl.Planes[ij =-
MULL) die ("Can't open oil bitplanes. n"); BlnClear
(bl.Planes[i], RASSI2E ( WIDTH!, HEIGHT1 , QL) ; if (gameport)
DeletePort (gameport); LoadView(oldview); • Replace cld view
• Delay(50L); " Be sure it's in place *
CioseLifcrary((long)GfxBase); ford = 0; i DEPTH2; r* + )
fc2.Plar.esFi] = (PLANEPTR) AllocRaster ( WIDTHS. KEIGH72} ; if
(b2.Planes[i] == MULL) die ("Can't open pf2 bitplanes. n”) ;
BlcClear (b2.Planes[L], RASSI2E ( WIDTH2, HEIGHT2 I, OL); 1 I*
How to init Raslnfo structures!' ril.BitMap = &bl; " Viewport
to be positioned way to the left * ril.RxOffset = -45; ¦ 40
for border - 5 as study aid. It is the * ril.RyOffset = 0; *
BITMAP you draw to. NOT the ViewPort!* ril.Next = Sri2;
rl2.Bit.Map = Sb2; r12.RxOffset - 0; ri2.RyOffset * 0; riZ.Next
= NULL; MakeVPort( 4v, avp ; * Construct copper instr
(prelim) list • showscore(k] short k; j SetDrKd ( 4rp2, JAM2
); SetAPen ( 6rp2, 2L ) ,* SetBPen ( 4rp2, 1L ); Move ( 4rp2,
2091, 183L ); Text ( 4rp2, iscorefk), 1L ); j * This
long-unsung technique prevents the joystick from affecting the
computer in any way after the program is done and you get your
prompt back. Fcr this reason, I have prepared a special routine
for it, so that its importance is not lost on the reader.*
set_controller_type (type) char type; gameio - io_Command =
3?D_SE7C7Y?E; gameio - ic_ler.gtn - 11; gameio - io_Data =
(A?7R) &ty»e; if (DoIO (gameio)} die ("Error in sotting
controller type An"); ) ¦ AC- 0 T.A. C. , 1 Tlu. A .ranti.w
Ton The Adventure Construction Language Written by Alternate
Realities. Produced by Micro Momentum, Inc. Bring Your
Adventures 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
Anything your mind can imagine can be brought to reality using T.A.C.L. Into the future, back in time, into the 5th dimension you are in control. T.A.C.L. has the following features:
- Supports IFF graphics (including HAM), sound, different text
styles, vector graphics, and more.
- Includes PADV, the adventure player that is
freely-redistributable so you can distribute it with your
favorite public domain adventures.
- Includes VGED, a complete vector graphics editor that allows
you to have many drawings with each adventure 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).
- 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 Amiga DOS VI. 2 or above.
- Available at Amiga dealers or direct.
Micro Momentum, Inc.
P. O. Box 372 Washington Depot, CT 06794 Order Phone:
800-448-7421 H Suggested Retail $ 99.95 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) one menu is the combined lengths of the previous ones! For die Items, the position is lined up with the menu they belong to. Sub- items are a positioned a little differently. The Intuition manual states "The sub-item box must overlap its item's select box somewhere”.
This seems clear enough except that while a 10% overlap looks kind 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 you are moving the mouse to select the sub-item! If die overlap is small, a slight jiggle in the mouse may select the next menu item and make your software very touchy. To solve this problem, overlap die sub-item half way across Item and drop it down just under half of the height of an item. This gives plenty of overlap and doesn’t totally hide the items.
That completes the MenuBuilder, It is possible to carry this program a little farther by actually completing die many structures and creating a real menu that can be attached to die current window. This would eliminate the need to compile and link a menu to test it. This would require additional work, and since lam die lazy one, I’ll leave diat up to you!
LISTING ONE * menu test driver program V2.0 This program will open a screen and a window just so we can test the menu. Ke could find out the current window and use it for the menu, but this is a more common usage!
* include exec types.h 4include intuition intuition.h
inelude graphics display.h iinclude libraries dos.h
iinclude libraries dosextens.h iinclude stdio,h iinclude
stdiib.h iinclude proto intuition.h iinclude
proto graphics.h iinclude proto exec.h iinclude srring.h
struct IntuitionBase ‘IntuitionBase; struct GfxBase ‘GfxBase;
extern struct Menu ‘MyMenu; struct NewScreen NewScreen = (
0,0,640,200, 2, 0,1, HIRES, CUSTOMSCREEN, NULL, "Custom
Services" ); * Left, Top, Width, Height * * Depth, detail
Pen, Bloch Pen1' * Hi resolution screen * * type * * Font
* * Screen Title * struct Newwindow Newwindow void
Do Argumer.ts (int, char **); void ?rocess_Item.(int, int,
int); * “ Main Program * void maintargc, argv) int argc; char
**argv; unsigned char str[30); unsigned int i; unsigned K0,
10, SO; struct Screen ‘Screen; struct Window ‘Window; * wrndow
message structure * * loop counter * * Menu control index
* * ptr to screen* * per to window' struct IntuiMessage
‘message; ‘message pointer * - “ ignore arguments, open
libraries and startup * IntuitionBase « (struct IntuitionBase
* )QpenLibrary("intuition.library",0); if( IntuitionBase “= NULL
) print f ("Unable to Open, intuition.library"); exit(10); ;
; GfxBase = (struct Gfx3ase
* 1CpenLibrary("graphics.library", 0); if( GfxBase == NULL ) i
printf("Unable to Cper. Graphics.library"); exit(10); if(
(Screens (struct Screen *}OpenScreen(SNewScreen))==NULL) [
printf("Unable to open Screen"); exit(10); ); NewWindow.Screen
** Screen; if ( (Window = (struct Window
*)OoenWindow(SKewWindow))==NULL) ¦: CloseScreen(Screen); printf
("Unable to open window"); exit(10); } * “ Here we tell the
system about our menu!
* SetMenuStrip(window, MyMenu); * ” Display something in our
window V Move(Window- RPort,20,20); window * ' Move text
pointer in Text(Window- RPort,"Hello Sir",9); * set hello in
the window * 1 0, 0, 640, 200, " Left edge. Top edge, width,
height * 0, 1, 1 * Width, Height * CLOSEWINDOW | MENUPICK, *
IDCMP message flags ‘ WINDOWCLOSE I WINDOWSIZING I WINDOWDRAG
! WINDOWDEPTH I SMART_REERESK ! ACTIVATE I NOCAREREFRESH, NULL,
* First Gadget * NULL, * default to checkmark * "Menu Test
Window", 4* Title of window * NULL, * Standard Screen *
NULL, * Bit Map * 100, 25, * Min Width, Min height* 640,
200, * Max width, Height * CUSTONSCREEN * Screen type * }!
Int Figs 126]: * one flag for each letter * *
* * compiler prototypes * * Loop until the user hits the close
* for (;;) WaitPort(Window- UserPart); * wait for a message
* message = (struct IntuiMessage *)GetMsg(Kir.dow- UserPort)
iff (nessage- CIass| = menupiCK ) * is it h menu message?* (
for (i=0; i 30;i++) str[ij = 1 ; if[ message- Code) !=
MO = MENUNUM(message-PCode); 10 - ITEMNUM(message- Code); SO = SUENUM(message- Code); sprintf(str,"Menu %x, Item %x, Sitem Ix ", M0, 10, SO) ; Move(Window- RFort, 5, 20); Text(Nindow- RPort, str, 24); ReplyMsgl(struct Message *)message); messacre * ); - Reply to * ” Cleanup when we get the close gadget hit ” release everything in the reverse cf how
* ' we allocated it.
* ReplyMsg((struct Message ¦[message); message * * Reply to
'Remove Menu* ’close window ’remove the ’Good Bye *
ClearMenuStrip (Window) ,- CloseWindovr (Window); ¦
CloseScreen (Screen) ,- screen * exit(TRUE); i * stub for
acutal Menu processing code ’ void Process Item(MO,10,SO) ir.t
MO; ’ Menu Number ’ int 10; ’ Item Number ’ int 30; ’ Sub
Item Number ’ I switch (MO) i case -1 ; * Close up the
shop,this is Che close gadget * print f ("Stub Close up
Shop ri"); break; default : * easy way out * printf("Stub for
%tl:%d:%d n",MO,10,SO); break; }; ef'fi-ca-cy, n. power to
produce effects or intended results.
Else break,- » Not Menu selection, assume close gadget* ?rocess__Item (MO, 10, S0)r * Process Here * Not everyone needs the ability to typeset complex mathematical equations or complicated tables. Many can do without the accents and special characters required for foreign languages. People even exist who don't want a powerful macro facility in their document production system. Ligatures and kerns are overkill for some documents. But your documents are more than simple letters to Mom.
Some folks shun included IFF 1LBM images or Arex.x compatibility.
A few are willing to hyphenate by hand, or accept pooriy spaced lines. And some folks will accept the jaggies output at less than the full resolution of their printer.
But the quality of your documents is important to you, and your typesetting needs are more than the average fellow’s. You need A miga I If you are serious abotn putting words on paper, write for your free demo disk. Move up to the power of AmigaTjrX.
P Radical Eye V Software Box 2081 • Stanford, CA 94309 • BIX: radical.eye circle 152 on Reader Service card, FROM HB:c.o+"listing_I.o" + "Ll3ting 3,o" TO "liscing_l" LIB LIBtlc.lib LIS:amiga.lib BATCH MENU,Workbench ITEM,Open,, item,Close,, ITEM,Duplicate, , ITEM,Rename,, ITEM,Info,, ITEM,Discard,, MENU, Disk ITEM,Empty Trash,, ITEM,Initiate,, MENU,Special ITEM,Clean Up,, ITEM,Last Error,, ITEM,Redraw,, ITEM,Snapshot,, ITEM,Version,, MENU,My_WorkBenchi ITEM,Not Selected,Selectee ,S ITEM,TEST,,T ITEM,SUB Menu i, , SUBI,Sub item i. , 1 SUBI,Sub Item 2, ,2 SUBI,Sub Item ¦3
* 4 r , 3 SUBI,Sub Item 4, i 4 ITEM,SUB Menu 2, SUBI,Sub Item A,
, A SUBI,Sub Item B, SUBI,Sub Item C, ,C SUBI,Sub Item D,
- LISTING 2.MENU - ¦ Custom Services Menu Builder cl9BS ' .....
incluae exec types.h ((include intuition intuition,h NULL,
"Oper NULL, "Close"), NULL, "Dupl icar e NULL, "Rename"), NULL,
"Info NULL, "Discard") , NULL, "Empty Trash" NULL, "Init i-S26w
), NULL, "Ciea n up" NULL, "Last Erro ir") NULL, "Redraw"],
NULL, "Snapshot" ), NULL, "Version"), NULL, "Not Selec ted'
NULL, "Selected NULL, "TEST NULL, "SUB Menu 1") NULL, "Sub Item
1") NULL, "Sub Item 2") NULL, "sub Item 3") NULL, "Sub Item 4")
NULL, "SUB Menu 2"!
NULL, "Sub Item A" i NULL, "Sub 11 err.
NULL, "Sub Item C") NULL, "Sub Item D") struct IntuiText iTextij = 1 o. 1, JAM2, CHECKWIDTH, 0, 0, i JAM2, CHECKWIDTH, 0, ( 0, JAM2, CHECKWIDTH, 0, I 0, 1, JAM2, CHECKWIDTH, 0, ( 0, I JAK2, CHECKWIDTH, 0,
• ; o, 1, JAM2, CHECKWIDTH, 0, 1 o. i, JAM2, CHECKWIDTH, 0, ( o,
l, JAM2, CHECKWIDTH, 0, ! O. 1 JAM2, CHECKWIDTH, 0, 1 o, 1
JAK2, CHECKWIDTH, 0, ( o, l, JAM2, CHECKWIDTH, 0, I 0, 1, JAM2,
CHECKWIDTH, o, 1 0, i, JAM2, CHECKWIDTH, 0,
• ; o, l, JAM2, CHECKWIDTH, 0, 1 o, i JAM2, CHECKWIDTH, 0, 1 o,
i, JAM2, CHECKWIDTH, 0, 1 o, l, JAM2, CHECKWIDTH, 0, 1 o, l,
JAM2, CHECKWIDTH, 0, 1 o, i. JAM2, CHECKWIDTH, 0, 1 o, l, JAM2,
CHECKWIDTH, 0, 1 o, i, JAM2, CHECKWIDTH, 0, ( o, JAK2,
CHECKWIDTH, 0, l o. i JAM2, CHECKWIDTH, 0, 1 0, i, JAK2,
CHECKWIDTH, o, 1 o, i, JAM2, CHECKWIDTH, 0, ( 0, k .
I. JAM2, CHECKWIDTH, 0, J t •define FLAGS CHECKIT I ITEKTEX I
MENUTOGGLE I ITEMEHABLED Idefine TEXTlx (APTR)SIText[x]
struct Menultem M3I2[) - I UM3I2 ;
1) , 52, 3,104, 10,F LAGS,0,TEXT(17},NULL 1’,NULL), (SM3I21 2[ ,
52, 13,104, 10,FLAGS,0,TEXT(13),NULL 2',NULL), (SM3I2 [ 3],
52, 23,104, 10,FLAGS,0,TEXT(19),NULL ¦3', NULL), (NULL 52,
33,104, 10, FLAGS, 0,TEXT(20 , NULL ¦I' ,NULL) If struct
31) = 1 (SM3I3[ 1] , 52, 3,104, 10,FLAGS,0,TEXT(22),NULL 'A',NULL
I, (6M3I3[ 2 ], 52, 13,104, 10,FLAGS,0,TEXT(23),NULL
- 3'.NULL), UM3I3[ 3], 52, 23,104, 10,FLAGS,0,TEXT(24),NULL
- C' .NULL), (NULL f 52, 33,104, 10,FLAGS,0,TEXT(25),NULL
)f struct Menultem MO = !
(4M0[ 1], . 0, 0, 72, 10,FLAGS,0,TEXT(
0) ,NULL NULL, NULL), [5M0[ 2], , o. 12, 72, 10,FLAGS,0,TEXT(
1) ,NULL NULL,NULL], (&M0[ 3] i , 0, 24, 72, 10,FLAGS,0,TEXT(
2) ,NULL NULL,NULL), (SM0[ 4[ , o, 36, 72, 10,FLAGS,0,TEXT(
3) ,NULL ,NULL, NULL), (SMQ[ 5] , 0, . 48, 72, 10,FLAGS,0,TEXT!
4) ,NULL ,NULL,NULL), [NULL , 0, , 60, 72, 10,FLAGS,0,TEXT(
5) .NULL .NULL, NULL) i; struct Menul tern, Mil!
= ( (SM1[ 1] , 0 , o, S3, 10,FLAGS,0,TEXT I
6) , NULL ,NULL,NULL), INULL , 0, , 12, 38, 10,FLAGS,0,TEXT(
7) .NULL ,NULL,NULL) Instruct Menultem. M2 [ ] - (SM2[ 1),
NULL,NULL), 0 , 0, 60, 10,FLAGS,0,TEXT( 8),NULL (4M2[ 2],
NULL,NULL), 0, , 12, 80, 10,FLAGS,0,TEXT( 9),NULL UM2[ 3],
NULL,NULL), 0 , 24, B0, 10,FLAGS,O.TEXTdO) ,NULL UM2[ 41,
NULL, NULL), 0 , 36, 80, 10, FLAGS, 0,TEXTU1| , NULL [NULL
,NULL,NULL] }.* 0, , 48, 30, 10,FLAGS,0,7EXT,NULL struct
Menult en M3(I
- -- i sm3[ 1], 'S'.NULL), 0 , o, 56, 10, FLAGS, 0, TEXT (13) ,
TEXT SM3[ 2), lT' .NULL), 0 , 12, 86, 10,FLAGS,0,TEXT(15),NULL
[SM3[ 3], 0, 24, ,NULL,&M3I2), 96, 10, FLAGS, 0, TEXT (16) ,
NULL (NULL 0, , 36, 86, 10, FLAGS, 0, TEXT (21) , NULL
,NULL,SM3I3[t;) Instruct Menu TheMenu = !s.TheMenu[ 1],
0, 0, SB, 10,MENUENABLED," Workbench ", AMO!, !STheMer.u[
2), 96, 0, 4B, 10,MENUENABLED," Disk ~,&M1), (4TheMenu[ 3],
152, 0, 72, 10,MENUENABLED," Special
* ,iM2tO] ), ( NULL ,232, 0,120, 10,MENUENABLED,'' My_xorkEench!
If struct Menu *MyMenu = StheMenu[Oj; LISTING 3.C-- * Menu Builder V2.0 This program takes a simple sequential file and generates the Menu structures rcr a program* Input: MENU,Name ITEM,Name,[Select],[Command] SUBI,Name,[Select!,[Command) Position and Flags will be set to a reasonable default.
Your program will need to include the statement: extern struct Menu ’ My Mem:; ana SetMenuStrip (window ptr, MyMer.u) ; Also, before you close your window you must call: ClearMenuStrip(window ptr) ; or risk a GURU visit!
• include libraries dos,h
• include stdio.h
• include intuition intuit ion.h
• include proto dos.h jincluds stdlib.h
• include strir,g.h linclude proto intuition.h iinclude
• define CHAR_WIDTK 8 * used to calculate pixels • idefine NO
ERROR 0 * used to indicate error ¦ fdefine £RROR_NO_COKMA 1
Idefine ERSOR_BAD_TEXT 2 Idefine error_no_menu 3 Idefine
• define ERROR_NO_DATA 5 Idefine ERROR_BAD_NUMSER d Idefine
ERROR_BAD_COMMMTO 7 Idefine ERROR_TOO_LONG 8 Idefine MAXJLINE
132 * input line length max * char cline[MAX_LINE]; * input
line "I char •name1: * File name painter int culdtfc; ' width
of menu item int lent; !' Total input iine count int sent; *
current line count struct IntuiText "CText; * Current Text
Item pointer * struct IntuiText *AllText; ’ All text items
struct Menultem 'Cltem; * Current Menu Item struct Menultem
’CSItem; ’ Current Sub Menu Iter, struct Menu *CMer.u, * Till
Menu; • Menu pointers * !'
* * prototypes
* i void Do_Arguments(int, char char * Scan(char *, char, inti;
int GetLins(3PTR, char * I; int ?rocess_Menu(char *); int
Process Item(char *, int) ; struct IntuiText *Process_Text(char
-); void Do_Output(void); ir.t Indexjstruct IntuiText *),- void
Do__Out_Sub(int, int); *
* * Main routine V void main(argc, arcv; int argc; •nu.Titar or
arguments * char *argv(]; 'array of ptrs to arg strings FILE
'filel; * input rile ucinter ' int i; int result,error; char
*cptr; * get the file names and open the files " *
initialize input buffers and variables" AilText = NULL; Ctext
=» NULL; Cmenu - NULL; Cicem = NULL; CSIten = NULL; AllMenu »
NULL; error = 0; lcnt ¦= 0; *
* * Do all files V for (na.tel = NULL, i=l; i argc 46 namel ==
NULL; i++) if ( *argv[i] ;= ) name! = argvfi]; 1 sent = 0;
filel * fopentnamel, "r") ; *oper. File for reading*,' if (
filel == NULL I t prinrf(" Cannot get file open: %s n",narael);
exit (10); Lons Fonts Vol. 1 A collection of seven 3D font sets
in the Interchange format. Each set has complete upper lower
case letters, punctuation, and numbers! If you're into video or
do animations, you need these fonts! $ 29.95 Momentum Check A
full featured checkbook management package that makes checkbook
management easy. Class codes allow you to track any expense you
wish. Use standard reports or create your own custom reports.
Reconciliation is so easy! $ 29.95 Momentum Mail An easy-to-use
mailing list management program. Why fiddle with 300-page
manuals and spend hundreds of dollars when it can be as easy
and affordable as this! $ 29.95 TdcTutor An interactive
telecommunications tutorial. Everything about
telecommunications in one place! Has a simulated BBS to
practice uploading and downloading. $ 29.95 (Jzzi Interface A
joystick mouse interface with an auto-fire rate of 130
rounds sec!! Switch between auto and transparent mode.
4 ft. Extension cable. Blow* your game scores away! $ 34.95
* * Do All Lines in the file * while i ( cptr = fgets (c.ine,
MAX_LINE, filel) ) != NULL) scnt++: lcnt++; cptr = Scan
(cptr," FALSE); 'skip leading blanks* if 'cptr == )continue;
'skip comments in file' if( strncmp("MENU",cptr,4) == 0 ) (
cptr = Scan(cptr,TRUE]; result = Process_Ksnu(cptr); : else if
( strncmp("ITEM",cptr,4) == 0 ) cptr = Scan(cptr,TRUE);
result = ?rocess_Item(cptr,0); * do an Item ¦ ) else if (
strncmp("SU3I",cptr,4) =» 0 ) ( cptr = Scantcptr,,TRUE); result
= Process_Item(cptr,1); ¦ do a Sub Item ’ else * error, bad
command ' ( error'*; result - ERAOR___BAD COMMAND; ); if(
result 1= NO_ERROR ) t error-*; fprintf(stderr," Line %d(%s)
has syntax error(id): %s n",sent,namel,result,cptr); 1 : ) ;
fclose (filel); D"_ Available at fine dealers, or order direct
Make check or money order payable to.
'' Micro Momentum, Inc.
P. O. Box 372 Washington Depot, CT 06794
(800) 448 7421 f Dealer Inquiries) V- iBjjBd -S Plea.sc add S
1.50 for S&H. C.O.D.s add additional 52 50. All products 90
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 Circle 100 on Reader Service card.
Iff error »» 0 I E o_0ucput [); fprintf(stderr," %d lines input, %d errors n",lent,error); !
Char 'Scar, (ptr, c, control ( char *ptr; char c; int control; ( while ( ’ptr != NULL 46 "ptr 1= ' n' 64 ( central 44 *ptr c ) II (I control 45 ’ptr =- c) ) I ptr++; if *ptr == ' n')*ptr « ’NO'; return! Ptr ); * return the new pointer * !
Int ?rocess_Mer.u (ptr) char *ptr; ( char *tptr; int len; struct Menu ’last; if! AllMenu == NULL ) !
’ first itenu item ' AllMenu * struct Menu *)caiioc(1,sizeof(struct Menu)); Cmenu =• AllMenu; * Set current pointer ’ !
Else ( * add new one to list * last " Cmenu; Cmenu - (struct Menu *)calloc(1,sizeof(struct Menu)); last-MCeKtMenu = Cmenu; ): * Build Menu structure *V if( -ptr != return(ERROR_NO_COMMA ,¦ ptr++; tptr = Scan (ptr, ' '.TRUE); * find end of string * len = tptr-ptr; if ( len 23 ) return(ERROR_TOO_LONG); Cmenu- MenuNarae = (BYTE *) calloc (1, (unsigned) len+1); (void)strncpy(CMenu- MenuName,ptr,len); ptr +=len; ’ptr = ' C; * make sure it is a proper string!* Cmenu- NextMenu = NULL) Cmenu- FirstItem= NULL; Citem » NULL; Cmenu- Kidth = len; return NO_ERROR ; ) int Process_Item(ptr,type)
char *ptr; int type; * 0 = ITEM, 1 = SUB ITEM * struct IntuiText ’ProcessJText 1) ,- struct Menultem *?hisltem; struct Menultem ’lastl; Struct Menultem ’lastSI; iff Cmenu =- NULL ) return (ERROR_NO_MENU I ,- if( type == 1 && Citem == NULL ) return(ERROR_NO_ITEM); if( *ptr != ) return!ERROR_NO_COMMA); cwidth - -1; if( type == 0 ) * do an item building a Menultem * lastl = Citem; CSItem= NULL; * clear current Sub Item Flag * Citem " (struct Menultem *)calloc(1,sizeof(struct Menultem) ) ; if( lastl == NULL ) i * First Item for Menu * Cmenu- FirstItem = Citem; * link it to the menu
* Citem- MutualExclude = -1; ) else lastI- Next!tem = Citem; ’link it to the item list* ); Thisltem = Citem; * build it * cwidth = Cmenu- FirstItem- MutuaiExclude; ) else * Do a Sub Item * lastSI = CSItem; CSItem = struct Menultem *)calloc(1,sizeof(struct Menultem)); if( lastSI == NULL ) f * First Sub Item for Menu Item * Citem- SubItem = CSItem; ’ link in the sub items * CSItem- MutualExclude = -It ) else lastSI- NextItem = CSItem; I; Thisltem = CSItem; cwidth = Citem- SubItem- MutualExclude; ) ; * Process name select and command ’ ctr++; ThisItem- ItemFill = ( APTR
)Process Text(ptr); iff ThisItem- ItemFill == NULL I return(ERROR_BAD_TEXT); ptr = Scan(ptr,', ',TRUE); * find next comma * iff *ptr != return(ERROR_NO_COMMA); ptr++; ’ Select name? * ThisItem- SelectFill = ( APTR )Process Text (ptr); ptr = Scan (ptr,', , TRUE); * find next comma * if ( "ptr ! = return (ERRORJiO_COM!«A) ; ptr ; * Command ? * ThisItem- NextItem - NULL; ThisItem- SubItem - NULL; Thisltem- Command = "ptr; ThisItem- MutualExclude = OL; if( type == 0 I ¦: Cmenu- FirstTtem- MutualExclude = cwidth; * save Item width * ) else •: Citem- SubItem- MutualExclude = cwidth; *
save Sub Item widtn * 1 ; return(HO_ERROR); : struct intuiText ’Procsss_Text(ptr) char ’ptr; I struct IntuiText ’dptr, * lasText; char ’tptr; if( ’ptr == return(NULL); lasText » AliText; while ( lasText != NULL) Ctext - lasText; lasText = lasText- NextText; ; ; lasText = Ctext; Ctext = (struct IntuiText *)calloc(1,sizeof(struct IntuiText) ) ; Ctext- NextText = NULL; iff AllText == NULL ) AilText = Ctext; } else ( lasText-kNaxtText. = Ctext; }; tptr = Scan(ptr,TRUE); Ctext- IText = (U3YTE *)calloc (1, (unsigned) (tptr-ptr+1)); (void)strncpy(CText- IText,ptr,tptr-ptr);
Ctext- IText tptr-ptrj - ' 0'; if( cwidth tptr-ptr )cwidth = tptr-ptr; * check for duplicate, eliminate this sr.e if duplicate » dptr = AliText; while ( dptr != Ctext ) t if ( strcmp (aptr- IText, Ctext-MText) == 0 ) ¦: free( (char *)(CText- IText) ) ; free( (char *) Ctext ); Ctext = dptr; iasTeXt- NextText = NULL; 3 else dptr = dptr- NextText; !; ; return iCText); !
Void Do_Output(( t char nxt,quote; char Mptr[14; ,- int Menu, Item, left, top, width, height; int stop; char rest ; * Output the IntuiText structure first * quote = v; printf(* ********** ******* printf(" * Custom Services Menu 3uilder cl989 * nw) p Lnt f " j ********* * * * * printf("finclude cexec types.h n"); prlntf(" include intuition intuitlon.h n"); Ctext = AllText; if 1 AllText ’= NULL) t printf("Instruct IntuiText Itext = n"l ?
Print f(" [ n"); ); whilst Ctext 1= NULL ' for all text to output * I iff Ctext- NextText == NULL) nxt = 1 '; else f nxt = ; }; prlntf(“ 0, 1, JAM2, CHECKWIDTH, 0, NULL, %c%s%c}%c n", quote,CText- IText, quote, nxt) ; Ctext = Ctext- NextText; I; if( AllText 1= NULL ) ( printfp }; n") ; ); printf("idefine FLAGS CHECKIT I ITEMTEXT I MENUTOGGLE I ITEMENABLED n"); print f I "((define TEXTlx) (APTR) (. Itext [x] n n") ,* Cmenu = AllMenu; Menu - 0; left -¦ 0; height = 10; while ( Cmer.u !“ NULL ) t Item = 0; Citem = Cmenu- FirstItem; while ( Citem 1= NULL) *: CSItem = Citem- SubItem;
cwidth = CSItem- MutualExcIude; if ( CSItem != NULL ) Do_Cut_Sub(Menu,item); Item++; Citem - Citem- NextItem; !; Menu++; Cmer.u = Cmenu- NextMenu?
) Cmenu = AllKenu; Menu = 0; while ( Cmenu != NULL ) Item = 0; Citem - Cmenu- FirstItem; cwidth = Citem- HutualExciude; CSItem = Citem- SubItea; printf("struct Menultem M%d = n",Menu ; printf(" ! n"|; top = 0; width = cwidth * CHARJfllDTH; while ( Citem != NULL ) ( Item++; CSItem = Citem- SubItem; if( Citem- NextItem == NULL ) ( sprintf(Mptr,"NULL “) ; nxt = ' 1 else ( sprintf(Mptr,"4M%d[%2d J",Menu,Item); nxt = ',’; }; fcr(stop=0; stop 20; stop++)rest[stop] = '10'; Are you intimidated by Databases?
Too busy to read a huge manual?
That’s why you need Mail-O-Dex.
Mail-O-Dex is a full featured, easy to use mail merge manager. But it doesn’t stop there! It also combines the features of a RoloDex, a Phone Dialer, a Label Printer, AND directly supports most popular Word Processors, With easy to use VCR style controls, you probably won’t even need the easy to understand manual. You can search any or ALL fields, and define field titles.
Label sizes and spacing are adjustable.
Best of all, it’s only $ 49.95!!
KarmaSoft 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. 80401 money order payable to ’
(303) 277-1241 Dealer inquiries welcome Circle 121 an Reader
If ( Citem- SelectFill -- NULL) ( sprintf(rest,"NULL , "); ) else [ sprintf(rest,"TEXT(% 2d),", Index((struct IntuiText
* )CItem- Selectrill)); ); if( lisaipha (CItem- Coirmand} 51
lisdigit (CItem- Command)) 1 sprir.tf (Srest  , "NULL, ") ;
Else 1 sprintf (4rest[91," '%e' ,",CItem- Conm.ar.d) ; ); if( CSItem NULL ) I sprintf(Srest,"NULL"); ) else sprintf(Srest,"SM%dI%d",Menu, (Item-1) ); ]; printf(" (4 s,43d, %3d,% 3d,%3d,FLAGS,0,", Mptr,left,top,width,height); printf("TEXT(%2d),%s]%c n",Index((struct IntuiText
* )CItem- ItemFill),rest,nxt); Citem = Citem- NejttItem; top =
top + height + 2; 1; printf (" ];Yn n"); Cmenu =
Cmenu- NextKenu; Menu--; Since we at Amazing Compuiing™ cannot
determine the dependability of our advertisers from their ads
alone, we want your feedback. If you have had a problem with an
advertiser in AC™, let us know! Send a complete description of
your exchangees) with the advertiser along with the names of
the individuals Involved and we'll do our best to get to the
bottom of things.
Ad Complaints PiM Publications, Inc. Amazing Computing
P. O. Box 869 Fall River, MA 02722 ) int Index(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; char rest;
char r.xt; top = 0; height = 10; printf ("struct Menultem
M dl'ed [) = n",Menu,Item); printf!" ( n") ; width =
Cmenu- widt h *CHAB_WIDTH; Sitem = 0; while ( CSItem != NULL
t for(stop=0;stop 30;stope+)rest[stop] - '-.O’; Sitem++; if!
CSItem- NeutItem == NULL ) ( sprintf[Mptr,"NULL "J; nut = ' ';
) else i sprintf(Mptr,"&M%dI%d[%2d]".Menu,Item,SItem);
r. xt = ) : if! CSItem- SelectFill == NULL ) ¦:
sprintf(rest,"NULL ) else ( sprintf (rest, "TEXT (%2d) , ",
Index ( (struct Ir.ru:. Text
* )CSItem- SelectFill)); ) ; if( !isalpha(CSItem- Command) Si
lisdigit (CSItem- Commar.d) ) ¦: sprintf(Sres:[8j,"NULL,"); i e
1 s e ( sprintf srest13)," 'ic',CSItem- Command); ) ; sprintf
(srest; 13], "NULL") ,- sieft - (width * 5J 1B; stop = fop + 3;
printf (" , 13d, % 3d, 13d, 13d, FLAGS, 0, "
i Zd),%s)%c n",Index((struct IntuiTeut
* )CSItem- ItemFill),rest, nut); CSItem = CSItem- NextItein; top
" top + height; ) ; printf " ); n n"); !
• AC* 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 equation as a map of its solutions, and that it is used to help diem gain a better understanding of die mathematics. However, I am more interested in the picture itself as an artform. That’s not to say Uiat an understanding of die equations is not valuable. It certainly helps, especially in die never ending search for new equations and for new mediods of displaying them. However, it doesn’t take a mathematician to have a lot of fun drawing fractals. All that is needed are a few practical skills and
some patience. In this article one such sldll, called scanning die screen, will be developed.
Figure One: Output produced by this month’s listing (640 x 400 Pixel Mode) Before I start let me say that diere are many methods of graphically displaying madiematical equations and these articles are not intended to be a systematic treatment of all of them. Instead, I develop the one method that is particularly valuable for displaying the Mandelbrot set. Note also that this article deals only with the method, the series of steps that must be programed in order to draw a fractal. It is still too early to talk about the underlying mathematical theory behind the Mandelbrot set, although
eventually this will be discussed.
SCANNING THE SCREEN In previous articles the development of each fractal was observed pixel by pixel, from left to right, and row by row, from bottom to top. That's what is called scanning the screen. It s the 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 be calculated (the vertical coordinate remains the same because it is in tire same row).
THE NEXT PIXEL In every example so far, usually on the third line, the 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 side, thus forming a long rowc So, to get to tire next pixel, simply move to tire right by an amount equal to the width of one pixel,
dx. Plot the point: PSET (FNx(xmin+dx),FNy(ymin)) Well, that was
simple enough, but what about the next pixel after that? How
about: PSET (FNx(xmin+dx+dx),FNy(ymin)t OK then, what about
tire next 629 pixels along the entire row'?
Fnx(xmin+dx+dx+dx+dx+dx+dx...etc) will not do, it requires too much typing. AmigaBASIC’s “FOR NEXT” loop construction should be used.
FOR i=xmin to xmax STEP dx PSET(FNx(i),FNy(ymin)) NEXT i In the above loop PSET gets executed 632 times, once for every pixel along the bottom row. The first time through, the variable *i' has die value xmin, -10. Each time through die loop T gets increased by the value of dx. That’s what the ‘STEP dx’ means. In this example the value ofdx is 0.0316957211, buL it is not necessary to know diat. Dx is always referred to symbolically, by its name. The Amiga will handle the actual value. That's what computers are for! The value of dx will be different whenever you scale die screen to different
Cartesian coordinates. Continuing, each time through the loop the value of T is passed first to the coordinate conversion functions, and then to the PSET command, tiius plotting every pixel along the rowc The loop executes over and over again, continually increasing the value of T in steps of‘dx’, until finally T exceeds xmax. At that point the loop ends and the computer goes on to execute whatever program lines follow' die TOR-NEXT construction in die program.
Here is a complete program which does die above task and nothing more.
DEF Fnx(x} = INT(((x-xmin)+dx 2) dx) DEF Fny (y) = 195 - INT ( ( (y-ymin) +dy 2) dy) xmir. = -10 xmax - 10 ymi- = -10 ymax = 10 dx = (xmax-xminl 631 dy = (ymax-ymi.nl 195 SCREEN 1, 64 0, 200, 4, 2 WINDOW 2, , (0,0)-(531,1861, 0, 1 FOR i=xmin TO xmax STEF dx PSET(FNx(iI,FNy(ymin)) NEXT i WINDOW CLOSE 2 SCREEN CLOSE 1 Note that in previous examples in the earlier articles an extra dx 2 was added, as follows: FOR to xmax+dx 2 STEP d : The reason for this is to guarantee diat the last pixel along the row doesn't get accidentally left out. All computers store numbers wridi a limited accuracy.
For example, the number 2 3 gets stored as 0.6666667 which is a little larger than it should be (die last digit is rounded up to a seven). The temi dx is calculated from (xmax-xmin) 631, and depending on the values of xmax and xmin its accuracy' could also be questionable. It could also be a little larger tiian it should be. As die loop executes, dx gets added to T 631 times until it’s supposed to equal xmax.
Well, suppose on the 631’th time the value of T actually overshoots xmax by a little bit, say by 0.000001. That wrould be enough to cause the loop to stop without plotting tlte very last pixel in the row. The extra dx 2 term guarantees that this doesn't happen.
The program has been carefully written to be consistent with examples in this series of articles. That way previously learned skills can be built on.
MORE ROWS So much for one row of pixels. Now, what about the whole screen? Well, that's not too much harder. Replace the loop in the above program with the following: FOR j=ymin TO ymax+dy 2 STEP dy FOR i=xmin TO xmax+dx 2 STEP dx PS£T(FNx(i),FNy[j)) NEXT l NEXT j This is called a nested loop, one loop inside the other. The inside loop draws the normal horizontal line. But now there is an outside loop in which 'j' represents the vertical position of that line. The value o! ‘j’ starts at ymin and increases by the amount of ‘dy1 until it finally exceeds ymax+dy 2.
For each value of ’j' a complete horizontal line gets drawn at a new vertical position.
Thus every pixel on the screen gets illuminated. Run the previous program using this nested loop in place of the single loop ran before and confirm that the entire screen gets plotted, pixel by pixel.
DR. I WING FR.1 CI A LS Since starting these articles two skills It ave been developed which can be applied to drawing fractals, scaling the screen (from Article II), and now, scanning the screen. But more is needed to produce a fractal, the magic of an equation is required. It's the equation that tells the program what color to plot each pixel, thus producing something more pleasing than a blank white screen. Looking at the screen scanning loops in the previous articles, two very important lines inserted before the i’SET command can he seen.
GCS'JB Calculate GOS'JB Select.Color PSETtFNx(i) , Fny ( j) ) Every time through the scanning loop, for every pixel on the entire screen, a calculation is performed, presumably based somehow on die Cartesian coordinates of that pixel. Then, depending on the results of that calculation, a color is selected- Finally, die pixel is plotted in the chosen color.
HOW ABOUT AN EQUA TION?
Since this article is about the method, and not the mathematics, let's choose an equation that will be easy to understand.
X - ¦ = 25 Easy to understand means, understanding the calculations that are specified; it is not necessary to know the graph the calculation will produce, If Lhe actual values for x and y were given, x = 3 and y = 4, it should be easy to perform the calculations and determine if the values satisfy the equation.
3+ = 25 So x and y values satify the equation and are a solution.
But if x = 2 and y = 3 were given, then 2" * 3J 25 So the x and y values do not satisfy the equation and are not a solution.
INEQUALITIES Often knowing if the result of a calculation is greater than or less than the value specified in the equation can be important. The algebraic notation for such an equation could be something like this: :i a- y ? 2 5 Such equations are known as inequalities.
If the values x = 2 and y = 3 are given, the result of the left side of the equation will equal 13, and since 13 is less than 25. These values cause the equation to be true.
MASTER PLAN Suppose the value of x in the above inequal ity represents the horizontal coordinate of any pixel on the screen, and y the vertical (Cartesian coordinates). The equation could be calculated using those coordinates, tested to determine if that pixel caused the inequality to be true or false, and finally, the pixel could he colored accordingly (one colorfortrue and another for false). If this were done for every pixel on the screen, a picture representing the trueness or falseness of the inequality for every pixel on the entire screen would be obtained, it would son ofbea
picture of the equation. Here’s what we will do: 1- Decide the range of Cartesian coordinates.
2- Scale the screen.
3- Scan rite screen 4- Calculate the equation using the cartesian coordinates eachPixel 5- Test the result for true or false.
6- Color pixels according to result.
Below is a program which uses the screen scanning method to graphically represent the above equation.
DEF FN-vOO - INTI ( ( :- :T.in)+dx 2) dxl DEF FtJyty) - 135 - :kt (((v-yir.ir.) + dy 2) ' dy)
y. -nax = 10 dy » (jCTdK-ymir.) 195 SCREEN 1, 64 0, 200, 4, 2
WINDOW 2, , (C,C)- e21, 1=6), C, 0 FOR j-ymin TO yrr.ax+dy 2
STEP dy FOR i=Jtnin 70 STEP d : G0SU3 Calculate GOSU3
Selec-.Color PSET(FNx(i) , FnyIj)) NEXT i NEXT j WINDOW CLOSE
2 SCREEN CLOSE 1 Calculate: Result + j * j RETURN
Select.Color: IF Result 25 THEN COLOR 5 COLOR 10 RETURN Take
a look at the ‘Calculate’ subroutine. The 'x' and V of the
original mathematical equation have been replaced by T and
'j'. The i’s and j’s come from the screen scanning part of the
program, and they represent the horizontal and vertical posi
tions of pixels on the screen (in Cartesian coordinates).
Those are the numbers that will be used to evaluate the
equation every lime the ‘Calculate’ subroutine is executed.
The calculation is stored in the variable 'Result'. The RETURN statement sends the computer back up to the screen scanning loop to continue with the next statement.
The next statement in the screen scanning loop Is the 'Select.Color subroutine. Here the value of'Result' is compared THINKER Hypertext for AMIGA "..stunning capabilities..simple to operate.." "..superbly crafted.." - Gary Gehman, Amiga Sentry, 6 89 Version 2.0 with Arexx Hypertext extended to Picture files, Arexx ports, and applications.
Version 2 adds more keyboard controls, database functions, display fonts, and Arexx.'
Thinker acts as a database for Arexx programs, sends messages to Arexx ports, and more. Write, design, think, plan. HYPERTEXT!
Upgrade $ 20 No Credit Cards rhn A Add S5 CA res. Add tax cp O 1 f°r COD 30 day guarantee Poor Person Software 3721 Starr King Circle, Dept 5 Palo Alto, CA 94306
(415) -493-7234 width have been scaled to have equal di
mensions, xmin = -10, xmax = 10, ymin =
- 10, and ymax = 10. As a result, the pattern is wider dian it is
tall, it looks squashed.
Change the scaling to: xmin = -10 xmax = 10 ymax = 1 Now run the program again. With die ratio corrections the program produces a circle.
Now, change the single line in ’Calculate' to: Result = and the first line of 'Select.Color’ to: IF Result 625 THEN and run it again. It is a different pattern.
This is a graph of the equation: x‘ v- y* 625 The above method is a complete plan or algorithm for producing graphic images of mathematical equations. It is tire same method diat has been used in the previous articles to draw fractals. The above ex- Chicago land’s Amiga software, hardware, and repair stores $ $ 4; 4; $ $ $ $ 4; $ 4; 4* Staffed by Amiga users ® Pull selection of books, magazines & peripherals, including imported software Wheeling 708-520-1717 Chicago 312-338-6100 Hanover Pk 708-837-6900 Circle 127 on Reader Service card.
( against the number 25. The IF-THEN-ELSE construction is used to separate die pixels into two groups, those that represent solutions to the equation (true) and those that don't (false). When ‘Result’ is less than 25 (true), the computer executes the line following die word 'THEN'. When 'Result' is not Jess than 25 (false), the computer executes die line following the word ‘ELSE’. The command 'END IF' marks the end of the construction. Thus each pixel is assigned a color register depending on die result of the previously executed ‘Calculate’ subroutine.
Run the above program and see what happens. The equation should graph as a circle, but why does the graph appear in an oval?
ASPECT RATIO The computer screen is not a perfect square; it is a rectangle. The aspect ratio is the technical term which describes the relative difference between its height and width. Get a ruler and confirm that the height is about seven inches ancl the width is ten. Hi the above program the height and Templicity 100 Ready-made Templates for Your Amiga Spreadsheet!
Available for Analyze!, MaxiPlan, Superplan, and VIP Professional Personal Financial Planning Home Office and Small Business New! 1989 Federal Income Taxes Real Estate and Loan Analysis Home and Business Budgets Accounting and Bookkeeping Save Time and Money Many other unique worksheets included!
Full User Support 30 day. No risk, money-back guarantee!
Complete pkg. Of 100 templates $ 34.95 To order, send check or money order to: The Sterling Connection Box 4850 Berkeley, CA 94704 Specify which spreadsheet you have.
To order by phone, call (415) 655-2355 Mastercard and Visa accepted.
CA res. Add 6% (52.10) sales tax, (Free shipping) Circle 143 on Reader Service card.
Ample uses a simple equation so as to not distract from learning tire method, Naturally the mathematics behind the Mandelbrot set is a little more involved and the lines in the ‘Calculate’ and ‘Select,Color’ subroutines are correspondingly more complex. But the rest is the same.
INTERLACE MODE (640x 400PIXELS) The second article of this series mentioned that there were actually four coordinate systems available on the Amiga, Thus far the 640 x 200 pixel mode lias been used, because it is die best compromise between graphic detail, memory requirement, and the time required to produce a fractal. However, for the fun of giving the Amiga a tough job, this month's example is done in both 640 x 200 and 640 x 400 pixel resolutions. It is possible to do either by modifying only one line of the program.
For 640 x 200 pixel mode: Vertical.Pixels = 200 For 640 X 400 pixel mode (also called interlace mode): (continued on page 100) The Amazing Computing Freely Redistributable Software Library announces the addition of... New Orleans Commodore Klub's inNOCKulation Disk Version 1,5b 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 inNOCKulation Disk include: Virus_Texts (dir) Various text files from various places (Amicus 24, PeopleLink, and elsewhere!) Describing the Virus(es) and people’s experiences and their recommendations; TVSB “The Virus Strikes Back”: satirical text describing future efforts to rid the universe of the dreaded (silicon) viruses! Interview with the alleged SCA virus author!
WB_ViriisCbeckers (dir) VirusX4.0 Runs in the background and checks disks for viruses or non-standard boot blocks whenever they are inserted. (Recognizes several viruses and non-standard boot blocks. Removes virus in memory.) Finds die new Xeno file virus.
Sentry Revision ofVirusXl.01 in Lattice C. ViewBoot Highly active mouse-driven disk and memory virus-checker which allows you to look at the pertinent areas (useful in case you suspect a NEW virus!)
VRTest3-2 Watches memory for viruses; will alert the user and allow their removal if found. Can check & INSTALL disks, etc. CLI_Vh'iisCheckers (dir) XenoZap Disables the Xeno virus in infected files.
Checks every file in all directories of the specified devices allowing die fast removal of the Xeno virus.
AvirusII From The Software Brewery (W.
German). Disables a virus in memory.
Clk_Doctor3 Corrects problems with the clock (caused by malignant programs, perhaps not really a "virus”) (A500 & A2000) Guardianl.l Checks for attempts at viral infection at boot! Allows you to continue with a normal boot (if desired). Includes a small utility program to permanently place the program on a copy of your Kickstart disk.
KiUVirus Removes (any?) Virus from memory.
VirusKiUer A graphically appealing and user friendly program by TRISTAR.
Boot-BlockJStuff SnfeBoot2.2 .SafeBoot will allow the user to save custom boot sectors of all your commercial disks and save them for such an emergency. If a virus somehow manages to trash the boot sectors of a commercial disk, just run SafeBoot and it will restore die boot sectors, dierefore saving your disk!!
Virus_Atert V2.0.1 Yet anodier anti-virus program widi a twist. Onee installed on your boot disk a message is displayed just after a warm or cold boot notifying the the user that the disk and memory are virus-free, and forcing a mouse-button press before continuing.
BootBackl Saves and restores boot-blocks. Runs from CLI only.
Antivirus akaAVBB Includes SEKA assembler source.
Xboot Converts a boot-block into an executable file, so you may use your favorite debugger (Wack, Dis,,..) to study it.
The inNOCKulation disk also includes icons and arc files.
To order the inNOCKulation Amazing computing
- , inNOCKulation disk orders disk send: $ O Of) ?£2T p-°-Box 869
• ~S -S Fall V T(*r MA ft?.’ Fall River, MA 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 announcer 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 you in the face!) This article will describe a simple program 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 announcers quote an effective temperature which is based on the present air temperature and the wind speed. This quantity is called tire “wind chill temperature,” The wind chill temperature (or wind chill factor, as it is frequently and incorrectly called) is determined from a non
linear correction to the air temperature. The correction depends on wind speed and on the temperature of still air. Some more sophisticated equations also include the effects of relative humidity, but since weather announcers rarely provide the humidity during the colder months ofthe year, the program given here is based only on the first two factors.
The AmigaBASIC program, "Wind_Chill.BAS," calculates the wind chill temperature, W, using the simple formula; W = TO - (TO - T)(a + bv12 + cv) where T is the temperature of still air (as measured by a thermometer) and v is the wind speed. The reference temperature TO is approximately that of human skin. (Skin temperature is actually a little warmer than the value used for TO because the latter has been modified to partially account for humidity of the air and skin moisture.) The remaining three numbers (a, b, and c) are semi- empirical constants, and depend only on the units chosen for the
variables v, T, and W. For convenience, the AmigaBASIC program was written to calculate the wind chill temperature based on tire user’s choice of units lor the input values. Therefore, it is necessary for the user to indicate whether the entered temperature is in degrees Celsius (C) ordegrees Fahrenheit (F), and or whether the input speed is given in kilometers per hour (K) or miles per hour (M). (To obviate the need for the user to remember unnecessary details, the program was designed to be independent of the use of upper or lower case letters,) Bnr... Two screen shots showing bow the wind
makes it feel colder than it really is.
For programming simplicity, the routine uses only one set of constants (TO, a, b, and c). The temperature used for evaluation of the equation is given in Celsius, and die speed is in meters per second. Consequently, the inputs are converted to the necessary units by the program prior to any computations.
There are three selectable options for program execution: 1) output a table of wind dtill temperatures for varied wind speeds and constant air temperature; 2) output a table of wind chill temperatures for varied air temperature and constant wind speed; and 3) output a single wind chill temperature fora specified air temperature and wind speed. The third option also allows for the selection of additional pairs of input values, if desired, before quitting, The program output is provided in both metric and English units- the speed, when outputted, is also given in knots.
As presently written, Wind-Chill sends the results of its computations only to the monitor. This can easily be changed by substituting LPRINT commands for the appropriate PRINT commands in the software code. (Be careful not to change all PRINT commands because this will also send the input requests to the printer instead of the screen! Clearly, this would make the program somewhat inconvenient to use.)
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; and tire value for the wind speed is restricted to the range of 5.6 mph to 55.9 mph, If a mistake is made, and a value is entered outside these ranges, Wind-Chill will politely inform die user of die error, reminding the user of the limitations, and it will ask for a new value to be inputted.
It is important to keep in mind that the output of diis program may not coincide exacdy with the predictions of a weather forecaster. A forecaster has access io more detailed information from the National Weather Service, and may use more complex equadons to determine the wind chill temperature. In any case, Wind-ChiH will provide a reasonable estimate of the effective outdoor temperature when the radio D.j. casually mentions diat the wind is gusting up to 50 mph, and the home thermometer reads only 10°F. A simple use of the program will tell you that it’s better to stay inside, or else at
least prepare yourself for temperatures considerably more severe than 10°F!
LISTING ONE Program wind_Chill Wind Chill Temperature Computation Program copyright 198 8, R A Klimaszewski released to the public domain for non-commercial use no fee may be charged for the distribution of this ogram This notice must be included with any distributed copy of the program DEF Fnchill[vel,temp) = tempo - (tempO - temp)F(a + bFSQR(vel) + c*vel) DEF Fncelsius(fahren) = five,ninths *(fahren - 32?)
DEF Fnfahren (celsius) = nine . Fift’ns? *celsius + 32?
1 For above equation: temp in 'C, vel in m s
- 35*0 = I = +15*C,- 2. 5m s = vei ¦.'= 25m s [9km hr, 90W hr]
tempO = 33! : a = .4517 : b = .4322 : e = -.04322 five.ninths
= 5 9 : nine.fifths = 1.8 vl = 3.6 : v2 = 2.237 ; v3 =
1.943 true ** -1 : false “ 0 enter.data = true : done = false
temp.lo = -35] : temp.hi = 415] 1 *C vel.lo = 2.5 : vel.hi =
25! V m sec PRINT " Determination of Wind Chill Temperatures"
PRINT PRINT " Input Output temperatures are *F and *C" PRINT "
Input Output velocities are km hr and mi hr" PRINT
determine.wind,chill = true Cycle,start: WHILE
(determine.wind.chill) PRINT PRINT " Possible Wind Chill
Temperature Calculations:" PRINT PRINT 11 A. Table of wind
Chill Temperatures vs. Velocity for Fixed Temperature" PRINT "
3. Table of Wind Chili Temperatures vs. Temperature for Fixed
Velocity" PRINT " C. Wind Chill Temperature for Specific Input
Temperature and Velocity" PRINT " Q. Quit" PRINT INPUT "SELECT
INPUT FORMAT (A B C 2): ", format?
PRINT IF (UCASES(formats) = "A") THEN calculate » enter.data WHILE (calculate) INPUT "ENTER TEMPERATURE and TEMP SCALE (T,[CjelsiUS [F]ahrenheit): ", temp, t.types IF (UCASE$ (t.typeS) = "F") THEN terr.p.f = temp temp.c = Fncelsius(temp) ELSE temp.c = temp terr.p.f * Fnfahren(temp) END IF IF (temp.c temp.lo) OR (temp.c temp.hi)) THEN PRINT "The valid temperature range is -35*C = T = +15*C" PRINT " or -31*F = T = 59*F. Try again!"
PRINT calculate a enter.data ELSE PRINT PRINT PRINT PRINT " Wind Chill Factor Table for temp.c; "*C ("; temp.f; "*F )" PRINT PRINT " WIND SPEED WIND CHILL TEMPERATURE" PRINT " (km hr) (mi hr) (knots) *C
* p« FOR vel.m = vel.io TO vel.hi STEP i-38B638369 chill, c =*
Fnchill (vel .m, temp. c) PRINT USING "If *.? "; vl*vei,m,
v2"vel.m, v3*vel.m, chill.c, Fnfahren(chill.c) NEXT vel.m
calculate a done END IF WEND END IF IF (UCASES(format?) - "B")
THEN calculate = enter.cata WHILE (calculate) INPUT "ENTER WIND
SPEED and SPEED SCALE (V, [K}m per hr [M]i per hr): ", speed,
s.typeS IF (UCASES(s.type?) = "K") THEN vel.km = speed vel.m =
speed vl vel.mi = vel.m*v2 ELSE vel.mi = speed vel.m « speed v2
vel.km s vel.m'vl END IF IF (vel.m vel.io) OR (vel.m
vel.hi)) THEN PRINT "The valid wind speed range is 9krr. hr o V
= 90km hr" PRINT " or 5.6mi hr = V = 55,9mi hr. Try again!"
PRINT calculate 65 enter.data ELSE PRINT PRINT PRINT PRINT " Wind Chill Factor Table for vel.km; "km hr ( "; vel.mi; "mi hr )" PRINT PRINT " ACTUAL TEMPERATURE WIND CHILL TEMPERATURE" PRINT " *C *F 'C FOR temp = temp.lo TO temp.hi STEP 5!
Chill.c = Fnchill(vel.m,temp) PRINT USING "I ? . "; terr.p, Fnfahren (temp) , chill.c, Fnfahren(chill.c) NEXT temp calculate = done END IF WEND END IF IF (UCASES(format?) = "C") THEN calculate - enter.data WHILE (calculate) need.speed = true : need.temp = true WHILE (need.temp) INPUT "ENTER TEMPERATURE and TEK? SCALE (?,[C]elsius [F]ahrer.heit) : ", temp, t.type-5 IF (UCASES(t.typeS) = "F") THEN temp.f = temp temp.c - Fncelsius(temp) ELSE temp.c = temp temp.f = Fnfahren(temp) END IF IF ((temp.c temp.lo) OR (temp.c temp.hi)) THEN PRINT "The valid temperature range is -35*C T =
+15*C" PRINT " or -31*F = T = 59*F. Try again!"
PRINT need.temp = true ELSE need.temp = false END IF WEND WHILE (need.speed) INPUT "ENTER WIND SPEED and SPEED SCALE (V,[K]m per hr (M]i per hr); ", speed, s.typeS IF (UCASES(s.typeS) = "K" THEN vel.km = speed vel.m - speed vl vel.mi = vel.m*v2 ELSE vel.mi = speed vel.m = speed v2 vel.km = vel.m*vl END IF IF (vel.m vel.io) OR (vel.m vel.hi)) THEN PRINT "The valid wind speed range is 9km hr = V » 9Qkm hr" PRINT " or 5.6mi hr = V = 55.9mi hr. Try again!"
PRINT need.speed = true ELSE need.speed = false END IF WEND chill.c = Fnchill(vel.m,temp.c) PRINT PRINT PRINT PRINT " Wind Chill Factor for temp.c; "*C ( temp.f; "*F )" PRINT " and vel.km;"km hr ("; vel.mi; "mi hr r PRINT PRINT " KIND CHILL TEMPERATURE ; PRINT USING " ? .? "; chill.c; PRINT " *C ("; PRINT USING Fnfahren(chill.e); PRINT "*F )" INPUT "Do you wish to enter a new temperature and wind speed"; testS IF (UCASES(testS) - "Y") THEN calculate = enter.data ELSE calculate = done WEND END IF IF (UCASES(format?) = "Q") THEN determine.wind.chill = false ELSE PRINT "Strike any key to
WHILE (INKEYS - "") WEND END IF WEND Exit¦pt; END
• AC* ‘Tfiinfcgr ttis titwiil illtttote m* if ftt mtt tutors «f
(tiff) Mttt tv U* pfet *i fe i*4t At «ato mi fta
* ¦ * oll itH ft&TBttorto (feriiik) Hr k» Mt tmf*i t» ltoli nftit
4is iimwit ai IV Minin actins Mitt, mw, cm) fed rift
* (iust) I»s*tjlt kK StjtMMiS.
KvlrWfclrtiV mtiniu, £ ? (Mt) Nwi« SutWWiS Hem) Cmin stotomfe.
Vww m»4j to vift ftiskw rift am ersfitot*. E by Robert Klintaszewski jAdchough Thinker can be described in simplest terms as an outline processor (OP), it is far more sophisticated than that. In fact, the program, which is the first Amiga program based on “hypertext," is much more flexible than any other OP, including some word processors (WP). The author of Thinker refers to die program as an Idea Processor, and that is a very apt description.
The manual, tutorial “example," and other samples on the program disk display only a hint of the potential ofThinker. The program is remarkably useful; it can be used to create outlines, textual descriptions, instruction manuals, dictionaries, phone directories, project 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. Consequently, Thinker can he used to create multi-media presentations and “documents," Two additional
features ofThinker are capabilities that are normally associated with a VP, rather than an OP, but serve to enhance the value l this unique program. To supplement its basic outlining capabilities, Thinker includes a spelling lexicon ant 1 an indexer. And another highly unusual feature is its ability to execute external programs.
Figure 2: The Workbench Calculator u iruiow teas opened using the bracketed 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 Roosevelt's science advisor, for an on-line data reference system using microfit lie and photocells. His dreams were never real ized, but they served as the foundation for tire research of Douglas Engelbart and Ted Nelson, some twenty years later.
Figu re J- By setting the "clipping level” to 2. Several sublevels o f the document are concealedfrom direct view, enabling you to scan quickly through a project.
Engelbart developed the system called Augment which is an on-line work environment used for memos, notes, communication, anti project design. Augment was designed to be a hierarchai system which permits nonhierarchal branching. And to make the svstem fast and easy to use, Engelbart invented a clever new computer input device called the mouse. (Thanks, Doug.)
Nelson, on the other hand, created Xanadu which is an ever-expand ing system for publis h ing, text storage and text retrieval. The term “hypertext” was coined by Nelson to describe the nonhierarchal text generated by Xanadu.
But his program was intended to serve as an electronic link to many other forms of media as well (e.g., artwork and movies). In essence, Xanadu was designed to be a highly sophisticated database management system (DBMS), but one drat differs significandy from die DBMS's that are popular today.
As a DBMS, hypertext connects various pieces of data by the use of “links." Consequently, die structure of hypertext as a DBMS is unique. The organization of data is basically hierarchal, like an oudine, rather dian repetitious as in a conventional DBMS.
In a normal outline there are primary topics, and there are subtopics that are subordinate to those primary topics, The connection between the levels is established by the use of alphabetic and numeric labels for each topic.
Skimming through only the primary topics gives a brief overview of the document subject. For more detail a person would read to lower levels; die most specific information would be provided at the lowest level of the oudine. There are occasions, however, when a single sublevel might reasonably belong to several higher levels; in such situations, a nonhierarchal connection method, such as a tree structure, might be more efficient than an "oudine structure.’’ Widi hypertext, die connecdons between levels and sublevels can be quite nonlinear. (Levels and sublevels are sometimes refered to as
“nodes” in discussions of hypertext.) The advantages of such a system can be considerable, as one piece of information can be accessed by many different subjects. By use of the hypertext links, a user can easily circumvent the obvious external ordering of a document to satisfy his own needs. (This nonlinear access to a sublevel is sometiiing that is required often as many different kinds of texts or manuals are read. How many times have you read a document that said something like, “See section X below?”) The capability of hypertext to use links yields a very efficient data storage
structure in which the links become the fundamental building blocks.
The situation can be considered as analogous to a program built up from several orders of subroutines. (A forth program is probably the closest program structure).
Clearly, the use of Thinker as a “hypermedia ” database system is where this program has its greatest potential. In this regard. Thinker is far superior to a conventional database manager program... In hypertext, different sections of a document are seperated using “labels". The form of a label depends on the particular hypertext implementation, but usually it is a textual string, rather than an alphabetic or numeric character as in a typical outline. The level can then be accessed from anywhere in the hypertext document where the label appears embedded in die text, not merely from the imme
diately preceeding higher level. With Hypertext, the connection to die stated reference is immediate by linking di- rectiy to die label. After the appropriate material has been read, a simple “return" brings the reader back to die original topic, either direcdy or by back-tracking.
PROGRAM USAGE Thinker creates a “project” which consists of numerous “statements" arranged in a hierarchy, with links to move around. As pointed out earlier, those links mav be to points witiiin the same project or to some other external file or executable program.
A “statement", as defined Ln Thinker, is die equivalent of a level in an oudine. However, a statement, which starts with a label, may consist of numerous sentences, thus being more like a paragraph in a document. Therefore, a considerable amount of information can be presented tit each level of the document. Many statements will also include sublevels tiiat define the hierarchal ordering of ideas and provide a greater degree of detail. A statement and all statements that are subordinate to it form a complete branch.
The statement label (located at die beginning of a statement and enclosed in parentheses, “()’’) is a textual string, consisting of alphanumeric and special characters.
Hopefully, the string label will be logically selected to provide a general indication of the contents of the particular level. These labels are die anchors to which Thinker links as movement occurs through the Thinker project, “jumping" from one level to anotiier.
Any word (or group of words enclosed in angle brackets, “ ’’) in a statement is a potential link to another statement. If that xvord (or group ofwords) is also die label to a statement, then the word is a real link. In fact, the link can be text into another file, sound, grapliics, to executable programs (including “Workbench” utilities, such as Notepad) in the same or a different drawer, or even on a separate disk.
Thinker also allows die use of several labels, separated by commas on one line, to mark a starenient. This increases system flexibility and provides a project author with some added freedom when creating the links to various sublevels. Defining the name of die link for a target audience is made much easier. Conse- quendy, die users of a particular project can move about the document more easily because variants on a phrase may yield the same link (e.g., graphic, graphics, picture).
The ability to move between different projects via die link system is also very useful and powerful. It is a convenient means of joining different types of projects together.
The most obvious type of interfile link is to anotiier text file. Thinker even provides a clever browsing mechanism called “See-Thru’’ which allows one to direcdy view the contents of another project as part of die current database.
Changes can be made to affect one or both files simultaneously.
As pointed out in the introduction, projects created for on-line use with Thinker can make use of various media.
This feature is also handled via interfile links; and it is certainly the most powerful aspect of the system. Clearly, the use of Thinker as a “hypermedia” database system is where this program has its greatest potential. In this regard, Thinker is far superior to a conventional database manager program, even though its lack of a built-in programming language (such as SQL or those used by other relational database managers) makes it less powerful for some applications than a program like Superbase Professional. But then it wasn't really designed to compete with programs like that!
Graphics are linked as easily as text.
The bracketed link provides die picture location (disk and drawer) and file name.
Clicking on die link then displays the picture in its own window. A click or any keystroke returns die calling window. This is a feature diat could be very valuable for the creation of an interactive, on-line manual or document. Both IFF and HAM modes are supported.
Sound files can be executed with the ease of pulling up a picture. The files can be stored using any of several jlmiga formats. This feature could be useful for designing a story-board presentation, especially in conjunction with graphics.
Table 1 Evaluation of Thinker Criteria Score " Weight Documentation
4. 5 80 Installation 5,5 60 Copy Protection
5. 0 50 Ease of Learning
4. 5 80 Use of Amiga Features
5. 5 80 Ease of Use
5. 5 90 Performance
5. 5 100 Versatility
5. 5 90 Error Handling
5. 0 80 Company Support
5. 5 80 Overall
* Notes: min: 0 = Extremely poor, max: 6 = Exceptional
* USING THE PROGRAM’ USE OF THE INTUITION INTERFACE Thinker was
designed as a mouse- oriented program. As such, it utilizes all
features of the mouse interface effectively.
All program functions are accessable via mouse selection from the menu; and the menu tides and items are generally obvious in purpose. In addition, the Command menu items are also accessible via text gadgets, which are displayed in the upper left corner of the screen. However, not all of the Command submenu items can be accessed via the gadgets; only the most important ones are provided. A convenient, special gadget appears direcdy under the cursor when die mouse menu button is double-clicked, no matter where the mouse is positioned on the screen. This provides the user widi a good extra
that reduces the motion of die mouse all over the desktop, and reminds me of a similar feature on very expensive engineering workstations.
The program also makes extensive use of Requesters for input of data. Tire Requesters are used for verification of several different actions, such as when a branch is to be moved or deleted. The only annoying requester is the Requester dial pops up whenever jumping to a new link in the file, but it can be turned off optionally.
One of die nicest features ofThinker is the ability to open multiple windows on a project being created or examined. Since it is verc common to jump nonsequentially through a document when using hypertext, it is quite convenient to open a new window, keeping the primary text visible while examining the side reference. If it is necessary to view another document briefly, this too, can be done using another window without affecting the main project. Up to eight windows can be opened at a time, so (in principal) eight different Thinker projects can be modified simultaneously (GOOD LUCK!).
The program was also designed for multitasking, but because I have a plain vanilla 512K A1000,1 was only able to open tools that did not require much memory. To die limited extent that 1 utilized the feature there were no problems in this area.
In addition, Thinker provides a mechanism to internally link to an executable program, instead of through the multitasking features of Intuition. The same method drat allows linkage to an external picture file also gives a user the ability to 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 won't allow another application to open, if there is not enough memory.
The Amiga Clipboard is also fully supported. The Clipboard is used for all system editing. This can be particularly handy when moving information from one Thinker project to another. Simply open both files in separate windows and use die Edit functions described below- to move a sentence, a statement, or even a complete branch from one file to the other via die Clipboard.
OPENING A PROJECT A document is opened in one of several ways: (1) by using die Create New menu item to start a brand new project, (2) by selecting the Open Project menu item, which brings up a Deluxe Paint-style file requester. (3) bv linking to an existing project, or (4) by importing an ASCII document 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 entered simply by typing at the line cursor.
MOVING THROUGH A PROJECT Traversing a Thinker project is not quite as simple as moving through a word processing document. That is, of course, die consequence of creating a hierarchal text with nonhierarchal jumping. To simplify matters, the author of Thinker lias provided several mechanisms to move through a file. The first technique is the most obvious and old-fashioned: use the cursor keys. The page will scroll forward and backward one line at a time as the edge is passed, so this method Is the most precise, but it is also the slowest method for moving through large portions of the file
at a time.
The technique of scrolling is familiar to anyone who has used even the least expensive Amiga WP. However, Thinker is a little bit different, because the “up" arrow gadget on the right edge of the display is designed for more rapid motion through a project: one statement back at a time. The “down" arrow gadget moves the text more conventionally: one line forward at a time.
And there is no vertical scroll bar for rapid motion through the file.
The most flexible means of moving through a project is by use of the Jump command. Moving hierarchally from statement to statement or between levels is easy. Predefined moves from the Jump submenu are used (e.g., Jump Preceding), or a large-scale nonhierarchal jump using tire “Jump Link' command, (in a conventional outline program, it may be quite a chore to locate the appropriate sublevel, even if a search routine is available to simplify the process.) There is only one useful option that 1 feel is missing: Jump End.
(...the opposite of Jump Origin). So as a simple trick, simply create the Label “ theEnd ", and place it at the end of the file.
Unfortunately, the ability to jump so freely around a project can be a source of problems if the user is not careful. It is easy to get far afield from the original topic by hopping around to follow a drread of thought; without caution, it is possible to lose track of die initial origin. This problem is not unique to Thinker; it is die most serious plague of all hypertext systems.
Fortunately, Thinker provides a jump table to assist the user in returning either stepwise or via shortcuts to his point of origin.
1 also found that judicious use of new windows for the temporary Jump made returning to the origin very simple just close the new window when done.
When used for die creation of outlines, Thinker lias two specialized features dial are relered to as “filters" in general hypertext jargon. These filters control what is visible on die screen at any given time. The two filters are for the clipping level and for die line count.
The clipping level is used to control the number of sublevels that are visible at any given time. A clipping level of one, for example, would show only the highest levels (the major headings) in the document; all sublevels would lie hidden from immediate viewing. For a clipping level of two, the next level down is also visible, and so on. The clipping level can be set either via the “Clip" item of die Options menu or by use of die and gadgets at the top of tile window.
When a level contains hidden sublevels because of the clip setting, a “+" is displayed before die label. Cl icking on the “+” opens up die next sublevel down for that particular topic. The plus gadget is then replaced with a minus gadget in front of the label. Selecting the results in the opposite action; the lower sublevel(s) are filtered from view.
Another convenient feature for outline processing is the ability to set the line count. This filter allows the user to selectively display 1, 2, 5 or all of the lines (not sentences) within a statement or level. This is a great advantage when skimming quickly through a document to determine its basic contents. However, reading half a sentence (or less) can sometimes be a little bit cryptic! I found that selecting two statement lines is usually the best way to get a quick overview of a document. Of course, different writing style might be more terse than mine, and one line could be
EDITING A PROJECT There are two ways to edit a Thinker project. The first is conventional: normal editing functions (cut, paste, etc.) are available for modifying or correcting the text within a statement as required. Text drat is to be cut or copied is placed into die Clipboard and can dien be pasted into a different part of the statement, or it can be pasted into any other project statement. In addition, Insert, Delete, Copy, and Move editing functions are provided to manipulate entire levels and sublevels. Statements, groups (several statements at the same level), and branches can be
created, shifted around, duplicated, and deleted with considerable ease. When trying to organize thoughts, this feature is invaluable. For example, while writing this review, I de- cidedupon a major revision of die ordering for several subtopics. It was decidely simple to move the complete branches to their new locations this included a change in level. The program handled die changes easily. (The only thing that I lost while writing this review was my sanity, because my baby daughter repeatedly tried to remove a microfloppy from the diskdrive ALF 2 Amiga Loads Faster Increased speed,
safety, & efficiency on the Amiga.
Amiga 500. 1000 and 2000 autolx ot hard disk conlrollui system with soflw.ue, ¦ MrM. RLL 01 SCSI coding. Uses any IBM compatible hard disk with ST 1306 Bus.
¦ Needs veiy little RAM (JO K) ¦ Faster with FastFileSystem, ¦ Safer with ChockDrive. FrameBaekup ¦ Easy to install, even MS DOS Partition a New: FilcRtinner TM the A1.F2 based complete hard disk system is formatted and comes with the WB 13 installed. II also has a capacity up to 180 meg .
& Special now aulohnol with Ihe A 20W 1,1 PRE'SPECT Technics Inc.
P. O Box 670 Station H Montreal. Quebec. 1I3G 2M6 Phone: 5!4»
V54 Fax. «514 b 6 2B69 Circle 165 on Reader Service card.
With a pencil, whenever I paused to answer the phone.)
No corrections are actually .applied to the project until the item “Apply Modifications’’ in the “Project" menu is selected.
Fortunately, this is one I unction that can be selected from the keyboard, using the obvious key combination: Amiga-U (Update]. There is also a nice reminder that data exists in the computer memory. An asterisk in the program title bar serves as an annunciator to indicate that data should be saved.
If the project is closed by selecting the Close gadget in the upper left corner, everything is lost. On the other hand, if Close Project menu item is selected, the program politely wants that modifications have been made but not saved. And then a choice is given to save the modifications.
The spelling checker is a useful aid to editing. A small dictionary (33,000 words) is provided with Thinker. It can be enlarged to include a specialized vocabulary. Or if preferable, the supplied dictionary can be replaced entirely, PROJECT UPDA TES One of the great problems in updating a program or a document is maintaining records of the changes or the dates when those changes were made. This very critical problem, known as "configuration management,” can be quire difficult when several versions of the same program have been distributed. Thinker provides a very neat solution to this
problem for projects developed using the program. Ail changes to the project are time-stamped, and if desired, the time-stamp for each statement can be viewed by selecting the proper item from the Options menu.
ERROR MONITORING Thinker has a clever alternative to the usual Amiga requester concerning an error condition in the program. Instead of using a requester which must be acknowledged by tire user, a window to tire right ofthe text gadgets displays an error message. The window provided adequate information for nearly all tire problems encountered while using the program (and there weren't very many, at that) to prepare tlris review.
Normally the window is blank, but when an error condition occurs, such as a link tlrat cannot be completed, tire window changes to a different combination of colors while displaying the message. My only objection to the scheme was tlrat some of tire messages were displayed only briefly, and then vanished before they could be acknowledged by a keystroke or mouse click.
EXTRA FEAJURES There are some extra features of Thinker that exemplify the author's concern for the user interface. One of the screen gadgets, for example, is a system clock.
Having the time always visible is a nice convenience. In addition, one menu, called Memory, shows the available RAM left at any instant.
Since Thinker can utilize a considerable amount of memory for a large project, it is a great advantage to know how much RAM is still available for updates or edits to a file. .And last, the Update Icon menu item allows selection of die Options saved as part ofthe project icon. Consequently, when the project is loaded again, whether for editing or viewing, features such as the clipping level or read cache setting are automatically reinstated in place of the program defaults.
And since that data is saved as part of die icon, it can also be altered in the Info screen, if desired, at some other time.
The po wer of Thinker, as well as its versatility, make it a very valuable and useful program...And never once did the Gu ru intrude upon my serenity with his anti- kharmic, crimson meditation messages.
The indexing feature is also a very' useful capability. A list of all die labels used in die document can be generated quite simply. This is handy for creating an index to browse through the document or for creating a glossary--.
THE MANUAL The Thinker manual is a brief document. It is small (5-1 2" x 8-1 2", 58 pages, comb-bound), but adequately describes the operation of the system and the program functions, Every menu item is described individually'. However, it would have been helpful to have either a table of the Amiga key shortcuts (for die functions diat have one), or an indication of the keyboard shortcuts widi die individual functions.
And the Table of Contents does not provide sufficient information to locate a specific function. An index should have been included in the manual to provide such data. Fortunately, because the manual is so brief, it is not very difficult to locate the information within a few minutes of searching, although it is annoying.
GENERAL COMMENTS While I discovered several problems in die program which will be discussed below, only one of them is related to a deficiency in the performance ofthe program.
The odier comments concern minor “defects" that affect the ease of use of the program, and reflect a personal bias which may not be shared by other users. None of those odier problems had any significant bearing on my final rating of Thinker.
DISPLAY CONTROL As I began to experiment widi Thinker, I discovered diat typing beyond the end of a screen didn't cause a scroll forward, even tiiough 1 was still typing the same “statement'’. Anything that had been typed beyond die end of the screen was banished to the Twilight Zone. It was necessary to implement a “Jump” down to complete the statement.
Another disadvantage was the inability to move the cursor to the right or left by a full word at a time. Many Wps use the shift key' in conjunction with the right and left arrows to accomplish this. It is obviously not a required feature, but it would certainly be a desirable convenience.
In the same vein, the “TAB” key doesn't work. If for any reason a tab or indention was needed, then the spacebar must be used to accomplish die task. In an outline processor this is not a serious problem, but I happen to use the TAB key often, even when creating an outiine.
I also found die lack of control over the typeface to be annoying. Even in an outline there are reasons to use Boldface, Italic and Underlined typefaces.
[Note: the program does not support die use of multiple Amiga fonts. However, I don’t consider that to be a disadvantage, if you need to get that fancy, then you should be using soniediing designed for creating a flashy output; dearly not what Thinker was created for. You can, of course, use this program to write the "rough" draft, and then “Export" the document to an ASCII text file, which in turn could be modified using some WP or print formatter.] FUNCTION CONTROL A new user of the program might be surprised by how few of die menu items are selectable from die keyboard. While there are a
few places that I would prefer to have complete keyboard control, using either function keys or an Amiga key combination, most of the functions require follow up with a mouse action of some kind, so little would be gained by use of a keyboard shortcut.
1 have one small complaint about die use of the Delete gadget. The "Confirm” requester would be much better if the branch or group to be deleted was highlighted by reverse type.
There is one final problem that was encountered in the function control area.
When I first tried the spell checker, it worked much like expected for such a small lexicon; the consequences of using die spell checker, however, were not at all what I expected from a program that had otherwise proven itself to be a truly superior product. It became the Case of the Vanishing Menus!
After using die checker, the Free menu item was selected to release die extra memory chat was used by the function.
Subsequently, I discovered a couple of problems, it became impossible to open any' new windows even though that option was still provided in the "Jump" requester.
And second, several of die menu and submenu lists vanished. The latter problem seemed especially weird since it was still possible to select the invisible menu items!
When I contacted the program author to consult with him on the problem, he was quite surprised but decided that the problem was caused by the limited memory of my 512K system. Consequently, the only real problem dial I found in the program reflects a serious limitation in use of the spell checker. Use ofthe spell checker on an Amiga with only 512K memory will result in peculiar behavior by the system.
DATA ENTRY I have a habit of trying out any new program on my Amiga before I read the instructions. I consider that to be a partial test of die success I’ul implementation of a good user interface. Widi Thinker, this turned out to be a serious mistake on my pan.
After I followed the directions in the tutorial example for awhile, I decided to experiment on my own. The first tiling I tried was a simple entry of a new level into the existing file. It didn’t take long to discover that the program performed unbuffered writes to the disk after each LINE or CHARACTER! I had finished a ten-line “Statement” before the program had finished typing the first line! It was at thar point that I decided to put away the program, until i had a chance to read the entire manual.
After reading die manual, 1 learned that the reason the problem occurs is because Thinker is a disk-oriented program.
This implies that all data is kept on disk until needed. Since Thinker was designed to work on huge data files, keeping the data 011 disk is necessary to conserve computer memory. Only a small pordon of die project is brought into the computer’s memory' at a time.
In the “Options" menu there is an item called "Read Cache On.” This must he selected to avoid die serious typing lag. The computer’s memory is used to buffer all keystrokes instead of writing each one directly to disk; disk accesses are thus required only infrequently. (The manual recommends die use of a disk accelerator program such as FACC-1I, if possible, but die Read Cache option is available to diose who don't own such a program).
There is an unusual way to undo errors in Thinker, but it is one which must be exercised widi care. The “Discard Modifications” menu item is the only method for undoing a serious blunder. Unfortunately, it discards ALL modifications made since the last "Apply Modifications,” So get in the habit of saving the project changes frequently, or there won't be a means of correcting minor mistakes. (It can be a hard habit to develop. I’ve been typing for the last ninety minutes widiout saving any changes, so I guess this a good time for me to take my own advice. Fortunately, 1 never make any big
mistakes... Oops!! Was that a power glitch?)
PRINTING A THINKER DOCUMENT The discussion ol the Print menu item in die manual points out that it is possible to print out the entire project or only a branch. However, there is little information concerning print lormatting methods. Thinker uses the printer port directly, rather than the Preference printer drivers because die program author felt that most people would use a project created with Thinker as die input to a conventional WP or as an interactive, on-line document.
Although all keyboard keys can be directly entered into die text (including the ESC and CR key codes, as well as all the ALT -character sequences used for special and foreign characters), the Amiga PRT: port filters out many, if not all, of the escape sequences sent to it. This may negate attemprs by the user to obtain printer control. My printer, for example, won't receive most of the printer control commands sent to it directly through the PRT: port. I can't even control page breaks!
FILE BACKED For a program as sophisticated as this one is, it seems strange that there is no provision for automatic generation of a backup file. The documentation advises the user of Thinker to make a copy of his project prior to modifying it with Thinker, Other application programs handle this feature automatically, and the audior indicates dial this feature may be included in a future version in the Options menu, so the user could decide if a backup should be automatically generated or not. Giving the choice to the user might be the best approach, since some Thinker applications might
be extremely large, and routine backup generation might result in a filled disk.
CONCLUSION Thinker is a solid program. It's flexibility far exceeds any other program diat I’ve used on any computer. It has been designed to accommodate many of the possible needs of a user. .After using the program for many hours, I have few complaints about the implementation of any function. The power of Thinker, as well as Create your own fractal worlds with Scene Generator
* Fractal landscape program
* Fast, fun, easy to use
* Full Intuition interface
• Preview a scene in seconds
• Photographically real results
• Optionally generate clouds
• Complete color control
* Great backgrounds for painting or animation Natural Graphics
P. O. Box 1963 Rocklin, Ca. 95677
(916) 624-1436 S39.95 ppd US, CA add tax Demonstration disk $ 6
Circle 160 on Reader Service card.
Its versatility, make it a very valuable and useful program. This is one program that I will use often. For $ 80.00, it is a real steal!
And remarkably, the Guru NEVER intmded upon my serenity with his anti-kharmic, crimson meditation messages.
A numerical summary of my evaluation of this program is given in Table 1.
• AC- Thinker, version 103 Poor Person Software 3721 Starr King
Circle Paio Alto, CA 94306 415-493-7234 Price: S80.00 (Demo
Disk: $ 5.00) Requirements System: any Amiga (A500, A1000,
A2000, A2500) Memory: 512K (more preferred) OpSys: Workbench
1,2 or higher Copy Protection: None Did You See This Issue?
December 1989 Features: "Dear TIME" An open letter to TIME Magazine by Don Hicks Arexx Part II by Steve Girimor "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.
Amiga Circuits Hardware Project by John Iovine Input informnation via the parallel port.
View From The Inside: by Melissa Jordan Grey A tour of Bars & Pipes’ by its musical designer.
The Great Amiga Holiday Games Tip by B. “Santa" Solomon Santa gives us two hot tips for the Holiday Season.
Commercial Rollout by Jean & Ben Means “The Computer for the Creative Mind” advertising blitz.
Behind The Scenes by Geoffrey Williams A look behind Ccmmodores’s new S15-miliion campaign.
AmiEXPO Santa Clara by Rosie O’Grady Reviews: | 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 "F-BASIC is a complete language and development system."
. Gunship reviewed by Derek Perry MicroProse’s aircraft combat.
Paperboy reviewed by R. J, Hicks Being a paperboy is easy?
Archipelagos reviewed by Miguel Muiet Can you save the world??
Blood Money reviewed by joe DiCara A challenging action game from Psygnosis, Ltd.
Programming: Leggo My LOGO by Mike Morrison Logo's turtle teaches kids computer programming.
A CLI Beginner’s Questions Answered by Mike Morrison Those first questions new .Amiga owners ask about CLI.
The Command Line by Rich Falconburg Exploring commands in AmigaDOS.
Trees and Recursion by Forest W. Arnold What are trees and recursion.
C Notes by Stephen Kemp Two compressing data techniques.
Public Domain: No Fishing! By Graham Kinsey Great PD programs including slideshow program, ShoWiz.
PD Serendipity- by Mike Morrison A review of Escaoe From Jovi 111 and Mach 2 utility’.
Columns: i New Products and Other Neat Stuff! By Elizabeth G. Fedorzyn
T. A.C.L., Celebrity Cookbook, Swords of Twilight, more Video
Schmideo by Barry Solomon The 1989 Video & Graphics round-up.
Snapshot by Brad Andrews ] Bug Bytes by John Steiner Bug fixes in WordPerfect’s update.
Also some problems with DeluxePaint III, Roomers by The Bandito A sneak peek at Apple's LCM, and the Amiga 3000 may be closer than you think.
Plus much more!
AC provides more Amiga information to its readers than any other resource. Your best Amiga value!
Index of Advertisers Need more information?
Please use the Reader Service Card to contact those advertisers who have sparked your interest. Advertisers want to hear from you. This is the best way they have of determining the Amiga community's inrerests and needs.
Take a moment and contact the companies with products you want to know more about. .And. if you wish to contact an Advertiser directly, please tell them you saw their advertisement in Amazing Computing For The Commodore Amiga Advertiser Page Reader Service Number ACDA Corporation 89 104 Anivision 70 150 ACDA Corporation 62 104 AmiEXPO 9 115 Anivision 61 150 Central Coast Software 5 145 Computability 30 117 Fairbrother & SoeparMann 37 179 joe's First Company, Inc. 11 178 KarmaSoft 79 124 Michigan Software 37 116 Micro Momentum, Inc. 77 188 Micro Momentum, Inc. 73 125 MicroMiga 20 182 MiGraph 13
138 MJ Systems 36 149 Natural Graphics 95 160 NewTek CIV- 140 One Byte Computers 71 135 Poor Person Software 85 127 Practical Solutions,Inc.
28 137 Pre’spect Technics, Inc. 93 165 Radical Eye Software 75 152 Safe Harbor Software & Peripherals 29 134 Software Plus 85 143 StraightLine Software, Inc. 38 166 Supra Corporation " 168 The Bit Bucket Computer Store 60 139 The Grapevine Group 105 147 The Krueger Company 14 118 The Memory Location 68 107 The Memory Location 37 186 The Sterling Connection 85 15“ Virtual Reality Laboratories. Inc, 69 121 Xetec 31 123 BECOME WORLD FAMOUS!
BE SEEN IN ALL THE BEST PLACES!
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 learned to
control die output and read the input of die Amiga parallel
port. One limitation has been the minute amounts of current
available to us from the port, just barely enough current
to drive some of the miniature LED’s. This month we will
use those signal voltages at the port to control larger
amounts of electrical power.
REAL WORLD ENVIRONMENT The real world environment is where we live. Most computers do not impact in the real world. By impact, I mean they don't control anything beyond their own circuitry. The simple interfaces we will construct in this article will allow die computer to control various electrical devices in the real world.
By using the +5 volt TTL (Transistor- Transistor Logic) from any PB line on the parallel port, die computer will be able to control power flow (turning electrical power on or off ) to various circuits or appliances. The circuits described can control either standard 115V AC (alternating current) electricity from your home or DC (direct current) electricity.
Naturally, by controlling the electric current to a device, you are controlling the device.
INDUCTIVE AND RESISTIVE LOADS Any device we are powering or controlling is called a load. Whatever the electrical device is it will fall into one of two main electrical categories, inductive or resistive loads.
It is pretty easy to distinguish an inductive load from a resistive load. An inductive derice has coils or electrical wire windings in it as do motors, transformers, relays and solenoids. A resistive device has Please Note: This project may void your wairanty and is offered for the enjoyment of the technically inclined. PiM Publications, Inc. is not responsible for any damages incurred while attempting this hardware project. :_¦ ¦ : ; no coils or windings (as in incandescent lights, coffee makers, toasters, heaters).
The distinction between loads is important because, when electric power is cut off to an inductive device, an electric pulse ( called a transient) is generated. This electric pulse should be absorbed by a simple capacitor-diode combination in the circuit. Failure to do so may damage our circuit or computer. Fortunately, adding a capacitor-diode combination is very easy to do.
DC LOADS Look at Figure One. This is a basic DC control circuit that uses a bi-polar transistor as a switch. This circuit is very useful. It can be used almost anywhere in a circuit that a switch can be used. As an example, using four of these transistor switches connected to four consecutive PB lines would allow you to control a stepper motor. Stepper motors are useful in robotics, positioning devices, printers, and disk drives.
Our drawing shows an PNP (positive, negative, positive) transistor. The base of he uansistor is connected to the PB line.
The base is also the “N” in PNP. When tlie base of an PNP transistor is at 0 volts (ground), current will flow tlirough it.
When we apply a binary “1” to die base (+5V), no current will flow. (The electrical polarity for the NPN (negative, positive.negative) transistor is opposite!) In our demo circuits this means that outputting a binary “0” turns the circuit on while a binary ‘‘1" shuts it off.
PNP VS. NPN TRANSISTORS We are using PNP transistors in all the demo circuits. You may think that a NPN transistor W'-ould be a better choice since the transistor would turn on when you output a binary “1" on its PB line. The reason I didn’t do this is that the current off any of die PB lines on die parallel port sources is a minute amount of current, just barely enough to turn a NPN transistor on.
And we w'antthe transistor to turnon or off completely. This makes the PNP transistor a better choice.
In addition, we have another advantage in using PNP transistors. When you power up your Amiga , even diough the parallel port is configured as an input on powder up, the PB lines are drawn up to +5 volts bv pull up resistors, this effectively keeps any circuit you have connected in an off condition. This allows you time to load in AmigaBASIC and reconfigure the port.
AC OR DC LOADS Examine Figure Two. This circuit can control AC or DC loads up to 120 volts at 2 amps. In this particular circuit we are not concerned as to whether die main load is resistive or inductive, it could be either. But notice the diode and capacitor connected across die relay. This is because the relay itself is an inductive load. The diode and capacitor are necessary to prevent damage to the transistor or computer. You can, if you wish, substitute an LED in place of the diode (make sure the polarity of LED is correct) and watch die I.ED flash every time the computer shuts off the
circuit. This flash represents the voltage pulse being absorbed. The reason you can replace die diode widi an LED is diaL an LED is a diode.
(LED is an acronym for Light Enduing Diode.)
AC LOADS The circuits shown in Figures Tliree and Four are exclusively for AC loads: resistive and inductive respectively. The slx pin MOC 3010 chip is an opto-coupled triac available from Radio-Shack. This device senses when the PR line connected to it is outputting a binary “1" (+5V) widi an internal LED. The internal LED triggers a photosensitive internal triac that in turn triggers the external triac, that powers our load.
APPLIANCE CONTROL Although the circuits presented here are capable of controlling household appliances, this is NOT the way to control appliances in the home. There is a much more elegant way, using X-10 home power control modules. These modules are available from a number of retail oudets across die country. The X-lO powrer system uses your home electrical wiring system to transmit control codes to appliance modules that can rum appliances on, olT, or to dim lights etc. Radier dian diese simple circuits that require their own wiring from the wall socket to the computer interface to the
appliance itself. I have scheduled an X- 10 home control system interface project in a few months, so if Uiis is your application, hold off until then.
CIRCUIT CONSTRUCTION We can build our transistor switch on A OR THE proto-typing bread board. This is a relatively simple matter, however, the amount of power available from pin 14 (+5V) on die parallel port is a mere 10 ma (milliamps). This forces us to supplement any circuit we interface to die port with its own power supply. For the demo circuit we are working widi we can supplement die power using a 6v or 9V battery. You can connect any device (load) you’d like in the circuit, an LED or a small DC motor. If you use a motor remember to add the diode and capacitor. You should be able to
control die devices using the basic commands we worked with in the last two installments.
Widi the line voltage AC circuits you must be much more careful. If you build these circuits please remember that die 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 reduce your computer
to a cinder or give yourself a nasty (possibly fatal) shock, I
advise constructing the inductive load (fig. 4) circuit for
any and all applications, as this circuit can be used widi
either types of loads. This will alleviate any potential
problems in the future. 1 am, however, including the
schematics for die resistive loads for comparison or as
dedicated resisdve load controllers.
You must not use die proto-typing board widi die line voltage circuits because the board is not designed to handle the voltages and current. The components should be soldered to a PC board for safety.
TROUBLESHOOTING With the MOC 3010 chip, the internal diode that connects to the PNP transistor line is quite sensitive. The diode will burn out if you inadvertendy reverse the polarity, even if it is just momentarily.
Therefore, I added an additional diode to prevent that from happening. If you use an LED in place of the diode in this circuit it will act as a on indicator.
¦AC* (Scanning, continued from page 85) Vertical.Pixels = 4C0 The program has been written to automatically take care of all other details. However, be warned! The program will take twice as long to complete the fractal!
THIS MONTH’S EXAMPLE Looking through this month’s listing and identifying the sections which scale and scan die screen, a line which has not appeared in previous examples should become noticeable: DEFDBL xmin, xir.ax, ymin, ymax, dx, ay, v, :¦:! , i, j, The need for diis is simple. Remembering back to the second article, it was suggested to see if there was any limit to how much the Mandelbrot set could be magnified (by scaling xnrin, xmax, yrnin, and ymax for smaller and smaller ranges). You will discover diat beyond a certain point the program does not operate anymore.
It just seems to hang up, not generating anything. That limit is related to the mathematical accuracy of die computer. Try the following interactive example. Fire up AmigaBASIC, and enter into the OUTPUT window: p: ir.t 22 7 Answer:
3. 14.'857 The number was stored in die computer to an accuracy
of seven digits. The information beyond that was lost.
Normally this does not present a problem be cause those lost
digits are a very small fraction of the final answer. They
contribute little to the normal types of calculations that
most people expect computers to do. But sometimes more
accuracy is really required.
Enter the following: print 22* 7 Answer:
3. 142857142857143 Sixteen digit accuracy. That's called double
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 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 it is to add a to every occurrence of every variable in the program.
If, at a later time, the screen needed to be scaled for less magnification, conversion back to single precision arithmetic can be done by modifying only one line in the program. Double precision arithmetic is used only when it is needed because it slows the computer down a bit.
As the numerical values forxmin, xmax, ymin, and ymax are entered die Amiga automatically adds a character to the end of the line. That’s the Amiga alerting the user to the need for storing diese numbers in double precision variables. Great machine, that Amiga!
So what about TRUE BASIC? Well, it's numerical accuracy is already 14 digits, only two digits less than Amiga BASIC'S double precision. It doesn’t need to use double precision arithmetic to generate this month’s example. Enter the short program: print using "f. = ="=== = f = i"=": 22 7 ¦. R.; The result: 3.1 28571428571 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 always performed to an accuracy of 14 digits.
The time advantages achieved by other compiled BASIC's is achieved mostly by cutting back on die accuracy oi the calculations performed. This accuracy becomes more important when greater magnification of the Mandelbrot set is wanted.
The next obvious question is what about TRUE BASIC's double precision arithmetic? Sorry, for now it is limited to i 4 digits.
TRUE BASIC handles the double precision question by providing a Mathematician’s Toolkit for each machine. Unfortunately, the Math Toolkit for the Amiga has not been released yet. It has been released for the IBM, MAC, and ATARI-ST. And provides those users with the ability to perform extremely high precision calculations, to 100,000 digits! It also capable of handling complex number calculations. And the Mandelbrot set is actually based on the repetitive squaring of complex numbers, but that is another lesson.
This month's example represents a fractal that i designed myself. I scaled the screen using coordinates that were close (but not exactly equal) to some ofthe examples in the book "The Beauty of Fractals by PeitgenS Richter, Springer-'Verlag 1986''. 1 then made my own color decisions, thus producing my own artistic effects.
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 series. Referring to that article, MERGE the ‘SavelLBM’ program from the Extras disk to the end of this month's listing. If GRABBIT is being used, or if a better method of saving fractals to disk is available, simply delete the related lines as directed by comments in the listing.
The 'Calculate’ and ‘Select.Color’ subroutines are the only parts of the fractal generating program that have not yet been discussed. Next months lesson will begin explaining why these routines produce such complex pictures.
Listing One, AmigaBASIC Version--- REM 11 Sixteen Color Fractal REM * REM * by Paul Castor.guay REM * DEFDBL xmin, xmax, ynir., vre.ax, dx, civ, x, v, v«c, ; - *- DEF FKXISC) = INT( (st-xmin) +da 2) dxI DEF Fny(y) = (Vertical.Pixels - 5) - IN?(((y-yminI dy 2], dy) xmin = -.74543T01* xmax = .7C542009 ymin = .li;00268 ynax = .::301492 Vertical.Pixels = 200 dx = (xmax-xmin) 631 IF Vertical.Pixels « 203 THEN dy = (ynax-ymi.i) 195 SCREEN 1, 640, 200, 4, 2 WINDOW 2, , (0, 0)- (631, 186), 0, 1 Crunch = 800 ELSEIF Vertical.Pixels = 400 THEN dy » (ymax-ymin) 395 SCREEN 1, 640, 400, 4, 4 WINDOW 2,
, (0,0)- (631,336) , 0, 1 Crunch = 1600 ELSE PRINT "Set Vertical.Pixels to 200 or 400" goto Done END IF GOSU5 Choose.Color.Numbers GOSUB Lise.New.Colors M ¦ 4 CLS 1 **¦****.********* ********** ************** *******„*„ ******* Delete next two lines if you're using GRABBIT LOCATE 23, 20 INPUT "Enter name to save fractal ILBMnameS LOCATE 10, 23 PRINT "... Fractal is being generated ..." FOR j-ymin TO ymax+dy 2 STEP dy FOR i = xmin TO xmax+dx 2 STEP dx G0SU3 Calculate GOSUB Select,Color PSET (FNx(i),FNy(j)) IF INKEYS = CHRS(138) THEN GOTO Done NEXT i NEXT j REM Wait for operator to press
function key F-10] WHILE INKEYS CHRS(138) WEND Done: Delete next line if you're using GRABBIT GOSUB Save.Tc.Disk WINDOW CLOSE 2 SCREEN CLOSE 1 END Calculate: x = 0 y = 0 k = 0 r = 0 WHILE r =M AND k Crunch xk = x* : - y*y + i y = 25,x*y + j x = xk k = k+1 r = x*x + y* y WEND RETURN Select.Color: IF k = Crunch THEN COLOR 0 ELSEIF k =600 THEN COLOR 15 ELSEIF k =500 THEM COLOR 14 ELSEIF k =400 THEN COLOR 13 ELSEIF k =300 THEN COLOR 12 ELSEIF k=i 69 OR k=l67 OR k=165 THEN COLOR 11 ELSEIF k=loS OR k«166 OR k=l64 OR k=162 OR k=160 THEN COLOR 10 ELSEIF k=I £3 OR k=161 OR k=I59 OR k=157 THEN COLOR
9 ELSEIF k=158 OR k=156 CR k=154 OR k-152 OR k = 150 THEN COLOR 8 ELSEIF k=I55 OR k=153 OR k=151 OR k=149 OR k=147 THEN COLOR 7 ELSEIF k=148 OR k=14o OR k=144 OR k=142 OR k=140 THEN COLOR 6 ELSEIF k=145 OR k=143 OR k=141 OR k=139 OR k=137 THEN COLOR 5 ELSEIF k=138 OR k=13€ OR k=134 CR k=132 CR k*130 THEN COLOR 4 ELSEIF k=!35 OR k=133 OR k=131 OR k=129 THEN COLOR 3 ELSEIF k=128 OR k=126 OR k=124 OR k=l22 OR k=12Q THEN COLOR 2 ELSEIF k=127 OR k=125 OR k=123 OR k=121 THEN COLOR 1 ELSE COLOR 0 END IF RETURN Choose . Color .Nuribers: LOCATE 10,20 PRINT ”... Please wait while I adjust colors .
Reg.0.Red = 2 Reg*0*Green = 0 Reg.0.Blue = 2 Reg*1.Red - II Reg.1,Green = 13 Reg.1.Blue = 15 Reg.2.Red = 0 Reg.2.Green 0 Reg.2.Blue = 0 Reg.3.Red 9 Reg.3.Green = 12 Reg.3.Blue = 14 Reg.4.Red = 1 Reg.4.Green = 1 Reg.4.Blue = 1 Reg.5.Red = 3 Reg.5.Green = 11 Reg.5.Blue = 13 Reg.6.Red = 2 Reg.6.Green = 2 Reg.6.Blue = 2 Reg.7.Red = 7 Reg.7.Green - 10 Reg.7.Blue - 13 Reg.8.Red = 3 Reg.6.Green = 3 Reg.8.Blue = 3 Reg.9.Red = 6 Reg.9.Green = 9 Reg.9.3lue = 12 Reg.10.Red = 4 Reg.10.Green = 4 Reg.10.Blue = 4 Reg.11.Red = 6 Reg.11.Green = 8 Reg.II.Blue =11 Reg.12.Red = 0 Reg.12.Green = 6 Reg,12.Slue
= 10 let xmin = -.74543701 Reg.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 Reg.14.Blue “ 0 if Vertical Pixels = 2C3 then Reg.15.Red - 12 set mode "HIGH16" Reg.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 PALETTE 3, Reg.3.Red 16, Reg.3.Green 16, Reg.3.31ue 16 orint "Set Vertical Pixels to 200 or 400" 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, Reg.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 set cursor 10,23 PALETTE 15, Reg.15.Red 16, Reg.15.Green 16, Reg.15.Blue 16 RETURN print "... Fractal is being generated ..." 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 ccrrEr.d* = 0 ccrtSecsi = 0 ccrtMicss = 0 I Wait for operator to press function key [F-10] call Wait_Response DIM 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 M and k Crunch) LIBRARY "exec-library" let xk = x*x - y*y +i LIBRARY
"graphics., library" let y * 2*x*y + j let x = xk GOSUB SavelLBM let k = k+i let r = x*x - y*y RETURN loop end sub " Listing iwo, 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 case 155, 153, 151, 149, 147 sec color 7 case 143 , 14 6, 144, 142, 140 sec color 6 case 145 , 143, 141, 139, 137 sec Color 5 case 133 , 136, 134, 132, 130 sec color 4 case 135 , 133, 131, 129 sec color 3 case 128, , 126, 124, 122, 120 sec color 1 case 127 , 125, 123, 121 sec color 1 case else sec
color 0 end select end if end sub sub Choose Color Numbers let Reg_ _0_Red = 2 let Reg_ _0_Green = 0 let Reg_ _0_3lue = 2 let Reg _l_Fed = 11 let Reg_ _l_Green = 13 let Reg_ _l_3lue = 15 let Reg_ _2_Red = 0 let Reg _2_Green 0 1st Reg"
* 2_Blue = 0 act Reg _3_Red = 9 1st Reg_ _3_Green = 12 let Reg_
_3_31ue * 14 let Reg_ 4_Red = 1 let Reg 4 Green = 1 let Reg_
4_31ue = 1 let Reg_ _5_Red = 8 let Reg_ _5_Green = 11 let Reg_
5_3lue = 13 let Reg 6_Red * 2 let Reg_ 6 Green = 2 let Reg_
_6_Blue = 2 let Reg_ 7_Red - 7 let Reg_ _7_Green 10 let Reg_
_7_31ue = 13 let Reg_ _8_Red = 3 let Reg_ _8__Green “ 3 let Reg
_8_Blue ¦ 3 let Reg_ _9_Rea = 6 let Reg_ 9 Green = 9 let Reg_
_9_Blue = 12 let Reg_ 10_Red = 4 let Reg_ _10_Green 4 let Reg
13 Blue = 4 let Reg_ ll_Red 6 let Reg_ 11 Green = 8 let Reg_
_ll_3lue “ 11 let Reg_ "l2_Red = 0 let Reg_ 12 Green = 6 let
Reg_ 12 Blue 10 let Reg 13_Red 12 let Reg_ 13 Green = 4 let
Reg_ ’l3_Blue “ 0 let Reg _14_Red = 14 let Reg_ _14_Green = B
let Reg 14 Blue = 0 let Reg_ _15_Rea 12 let Reg_ _15_Green = 12
let Reg_ _15_Elue - 0 end sub sub Use_Neu_Colors set color mix
(0) Reg_0_Red 16, Rea_0_Sreen 16, 3eg_0_31ue 16 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 16 set color mix
(3) Reg_3_Red lG, Reg_3_GreervlSf Rea_3_Blue 16 set color mix
(4) Reg_4_3ed 16, Reg_4_Greer. 15, Reg_4_31ue 16 set color mix
5) Reg_5_Red 16, Reg_5_Green 16, Rec_5_Blue 1 6 set color mix
(6) Reg_6_Red 16, Reg_c_Green l6, Reg_6_Biue 16 set colcr mix
(7) Reg_7_Red l6, Reg_7_Greer. lc, Reg_7_3lue 16 set color mix
(8) Reg_8_Rea l 6, Reg_8_Green l6, Rea_8_Elue 16 set color mix
(9) Reg_S_Rea 16, Reg_9_Green 16, Reg_9_31ue 16 set color mix
(10) Reg_10_Red l6, Reg_10_Green 16, Reg_lQ_Blue l6 set color
mix (11) Reg_ll_Red l6, Reg_llMGreen 16, Reg_ll_Blue 16 set
color mix (12) Reg_12_Red l6, Reg_12_Green 16, Reg__l 2_3lue 16
set color mix (13) Reg_l3_Red 16, Reg_l3_Green l6,
Reg_l3_Blue 16 set color mix (14) Reg_14_Red i6,
Reg_14_Green l6, Reg_14_Blue 16 set color mix (15)
Reg_15_Red l6, Reg_15_Green l6, Reg_l5_Blue 16 end sub sub
Wait Response do if key input then get key k if k=324 then exit
do end if loop clear set cursor 10,17 print "... Press left
mouse button to clear screen. ..." end sub sub Test_F10 if key
input then get key press_flQ if ?ress_fl0 = 124 then clear set
cursor 10,17 set color 1 print "... Press left mouse button to
clear screen stop end if end if end sub
• AC* AC GUIDE miGA What's that program called?
Where can 1 get some more information about that item?
Doesn't anybody make something that does that?
These questions and more answered in AC's GUIDE Over 2200 products listed.
On sale at your Amazing Dealer!
Recursion (a function calling Itself) is possible in the C language. It isn’t often that you will require a recursive function, but occasionally such a function can solve the most difficult ot tasks.
Recursion simply means that a function calls itself either directly or indirectly by calling other functions that eventually call the first function.
Notes IjMtK tl& C by Stephen Kemp As a demonstration of how recursion works, examine the function in Listing One. This is a rather contrived and simple example, but it demonstrates how recursion -works. The function “backwards" accepts a string of characters as a parameter. It takes the string and prints it in die reverse order.
- -Listing One- ‘Function backwards accepts a string and calls
itself recursively to print the string in reverse' backwards
string ) char 'string; if ('string == 'AO') 'if at the end
of the string’ return; *nothing to do here* backwards (
string+1 ) *recursive call with shorter string*
print(u%c",'string); 'print the character* Examining the
function, you can see that it first checks to see if the end of
the string has been reached. If the first character is a null,
then it simply returns to the caller. If it is not at the end
of the string, this function shortens the string by the first
character and 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.
Playing computer, let’s look at how an example string would progress through this function. If you started with the string “How are you?”, Table One represents the calls and output.
Although die table was built sequentially from tire first call to die last, the characters actually print out in die reverse order because each function will only print a single character after the function returns. Incidentally, this function does not print its own carriage return or line feed. If you include this function in a sample program, you may have to print a CR LF before you can see the output.
As explained, the example in Listing One is not a real practical example of how' to use recursion. In fact, this function could be written much easier without it. Additionally, recursive functions should use prudence. This is due to die fact that each call to a function uses stack space. The stack is an area of memory reserved in your programs for remembering a calling function's address and local variables defined within functions. A certain amount of space is provided for die stack rvhen your program begins, and although most versions of C will allow' you to control diat amount, you have to
“live” within your choice. If your program uses up the allocated stack, then it will 1) fail with a stack overflow, or 2) start doing bizarre things and fail even worse.
Generally, there are three questions you should answer before deciding dial you need a recursive function. First, does the Received Table One Recursive Call Print On Return “Sav what?’’ “av what?” “S” “ay what?” “y what?” “a” “v what?” “ what?” y “ what?” “what?” .. u “what?” “hat?” “w” “hat?” “at?” “h” “ad” “t?” “a” “t?” “t” up,, 0 “T 0 function require a “loop” to perform its operation? Second, will the loop’s operation depend upon a variable, or variables, determined by an earlier pass through the loop? Finally, can diose intermediate values be determined without completing die function?
Better examples of functions diat might use recursion efficiently are parser and sorting functions. A parser is a function that takes its input and reduces it down to smaller and smaller components which can then be evaluated easier. Compilers use parsers to evaluate statements. Some statements in C, such as if, for.
Do, etc., can be composed of multiple statements. Evaluating one of these multi-line statements might require recursion to evaluate the individual statements contained within it. Now, I don’t pretend that a compiler is as simple as that example, but I hope it helps you 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 there are about as many different sorting algorithms as there are different languages. Listing Two contains a program that uses a recursive sorting function. This sort method is a version of "quick sort’’. (Note: Quick sort is a relative term. The actual speed of any sort depends upon die data being sorted and the relative order before the sort begins.)
- Listing Two- c* * QSORT.C is a program that cakes an array of
unsigned short integers and quick sorts the elements using a
function that dees recursion. V define MAXARK 15 short
arranged; ma i n () I 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" for (ndx = 0; ndx
MAXARR;ndx++) "initialise arrays* array[ndx] = rand();
"random fill* orig[ndx] = array[ndx]; "make a copy* 1
doqsort(array,Q,MAXARR-1); ‘sort array'
- JUST RELEASED' AMIGA™ UPGRADE !
New 1 MEGABYTE, "FATTER Agnus ( 8372) Hi-Res chip allows users more "chip” memory for use in GRAPHICS. MUSIC OR VIDEO, This "plug in" upgrade is an absolute must for present Amiga owners. Price is S 109.50 including simple step by step* 10 minute installation instructons.
AMIGA™ UPGRADE 2 A50 J S0L 512K cIock RAM Board upgrade for Amiga 500. (Plugs directly into trapdoor.) Super price of Si 14,95 including instructions.
Amiga™ upgrade .* New,, VL3 K1CKSTART ROM upgradc*S27.95 including instructions.
EzmS0MS3E2ZI 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. Other Spcedi including Drams available at super prices.
WE STOCK ALL AMIGA (AND COMMODORE) CIIIFS AT SUPER COW PRICES - V JvL 11.
¦ SEND FOR CATALOG OF EXCLUSIVE PRODUCTS THE GRAPEVINE GROUP, INC. 35 CHARLOTTE DRIVE WESLEY HILLS. NY 10977
• Wc ship worldwide *
(914) 354-4448 FAX (914) 354-6696 Dealer pricing available
1-S00-292-7445 Prices subject to chanpc Circle 147 on
Reader Service cord.
While( end start is arraylstart] = arraytendl) * less* start**; ‘increase start* if (er.a != start) ( "not at er.d* hold = array[start]; "hold value* array[start: = array[end]; ‘swap printf("Original Sorted r n"); ‘heading* for (ndx = 0; ndx MAXARR; ndx+-) "loop through arrays' printf * %6.6u %6.6u r n",origtndx],array[ndx]) values* array [end] = hold; ) ‘this function accepts the array of unsigned short integers end a starting and ending index. It then sorts the values through recursive calls tc itself* doqsort(array, start, end) unsigned short array!); unsigned short
start,end; [ short rval; if (start end)( 'if elements remain* rval = arrange(array,start,end); ‘arrange elements* if (rval) "if not first element' doqsort(array, start, rval-I); ‘sort new end* doqsort(array, rval+1, end); ‘sort new begenning* ) * arrange from start to end * short arrange(array, start, end) unsigned short array!]; unsigned short start,end; ( unsigned short hold; ‘holdinc value' do( while( end start Si array[end! = array[start]) ‘greater* end ; ‘reduce end" if (end != start) ‘if not on start* hold *= array [start] ; ‘hold value* arraylstart] =
array[end!; ‘swap values* array[end] ° hold; ‘swap values' ‘swap values* } }vhile( start !- end); return(start); start* } ‘continue until equal* ‘return final The quick sort function splits the elements into two parts, if it finds something out of order. Next, each part is sorted by making the recursive call to the sorting function. This continues until nothing remains out of order.
The arrange function simply begins with the last element passed and finds tlie element closesLto the end of the list that should swap with the first element. If it finds one, then it swaps tire elements. After that, it starts trying to find a new element from tlie beginning of tile list to exchange tlie new-ending position. If it finds one, then they are also swapped. This continues until the starting 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.
With a few modifications, you can add this quick sorting capability to an)- of your programs, (MANX has a quick sort function in its library.) Primarily, you may have to alter the parameter that is being sorted to some other type, and you may have to change tlie comparison of elements to a function that returns a value less than, equal to, or greater than zero depending upon whether the sort should be ascending or descending. Finally, depending upon the variable type being sorted, it may be easier to use a function to swap the elements rather than doing it in line twice.
Now that you know recursion is permissable, you may discover just where it can help you in your programs. Just remember to keep in mind that there is a danger of doing recursion 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
Gels In MultiForth Parts 1 & II: Learn how to use Gels in MultiForth Author: John Bushakra FFP & IEEE: An Example of using FFP & IEEE math routines in Modula-2. Author; Steve Faiwiszewski CAI: A complete Computer Aided Instruction program with edito' written in AmigaBASIC. Author: Paul Castonguay Tumblm’ Tots: A complete game written in Assembly language. Save the falling babies in this game. Author: Davd Ashley Vgad: A gadget editor that allows you to easily create gadgets. The program then generates C code that you car: use in your own programs. Author: Stephen Vermeulen MenuEd: A menu
editor that allows you to easily create menus. The program then generates C code.that you can use in your own programs. Aulhor David Pehrson Bspread: A powerful spread sheebprogram written in AmigaBASIC.
Author Brian Cately This disk contains lhe source and executable code relating to articles in AC V4.3 and AC V4.4. Fractals Part I: An Introduction to the basics of fractals with examples in AmigaBASIC, True BASIC, and C. Aulhor: PautCastonguay Shared Libraries: C source and executable code that shows the use of shared libraries. Author: John Baez MuJtiSort: Sorting and intertask communication in Modula-2. Author: Steve Faiwiszewski Double Playfield: Shows how to use dual playfields in AmigaBASIC. Author: Robert D’Asto ‘881 Math Part I: Programming the 6B881 math coprocessor chip in C
Author: Read Predmore Args: Passing arguments to an AmigaBASIC program from the CLI. Author: Brian Zupke This disk contains the source ? And executable code relating to I articles in AC V4.5 and AC V4.6. Digitized Sound: Using lhe Audio.device to play digitized sounds in Modula-2. Author: Len A. White ‘881 Math Part II: Part II of programming the 68881 math coprocessor chip using a fractal sample. Author: Read Predmore At Your Request: Using the system- supplied requestors from AmigaBASIC.
Author: John F. Weiderhirn Insla Sound: Tapping the Amiga's sound from AmigaBASIC using the Wave command. Author: Greg Stringfeilow MIDI Out: A MIDI program that you can expand upon. Written in C. Author: Br.
Seraphim Winslow Diskless Compiler: Setting up a compiler environment that doesn't need floppies.
Aulhor: Chuck Raudonis Fractals Part II: Part II on fractals and graphics on the Amiga in AmigaBASIC and True BASIC. Aulhor: Paul Castonguay Analog Joysticks: The code for using analog joysticks on the Amiga. Written in C. Author: David Kinzer C Notes: A small program to search a file lor a specific string in C. Author: Steven Kemp Better String Gadgets: How to tap the power of string gadgets in C. Author: John Bushakra On Your Alert: Using the system's alerts from AmigaBASIC. Author: John F. Wiederhirn Batch Fries: Executing batch tiles from AmigaBAS iC. Author: Mark Aydeflotte C Notes: The
beginning of a utility program in C. Author: Steven Kemp Memory Squares: Test your memory with this AmigaBASIC game. Author: Mike Morrison High Octane Colors: Use dithering in AmigaBASIC to get the appearance of many more colors. Author: Robert D’Asto Cell Animation: Using cell animation in Modula-2. Author: Nicholas Ciraseila Improving Graphics: improve the way your program looks no matter what screen it opens on. In C. Authro: Richard Marlin Gels in Multi-Forth-Parl 3: The third and final part on using Gels in Forth. Author: John Bushakra C Nates V4.9: Look at a simple utility program in C.
Author: Steven Kemp 1 D Ceils: A program that simulates a onedimensional cellular automata.
AuthoriRusseil Wallace Colourscope: A shareware program that shows different graphic designs. Author: Russell Wallace ShowlLBM: A program that displays io-res, hi-res, interlace and HAM IFF pictures.
Author: Russell Wallace LabyrinthJI: Roll playing text adventure game. Author: Russell Wallace Most: Text file reader that will display one or more tiles. The program will automatically format the text for you. Author: Russell Wallace Terminator: A vims protection program.
Author: Russell Wallace j This disk contains the source and executable code relating to articles in AC V4.1Q & AC Typing Tutor: A program written in AmigaBASIC that will help you improvr your typing. Author: Mike Morrison Glat's Gadgets: Using gadgels in Assembly language. Author: GeffGlatt Function Evaluator: A program that accepts mathematical functions and evaluates them. Written in C. Author: Randy Finch Fractals: Part III: AmigaBASIC code that shows you how to save load pictures to disk. Author: Paul Castonguay More Requestors: Using system calls in AmigaBASIC to build requestors. Author:
John Wiederhirn Multi-Forth: Implementing the ARP library from Forth. Author: Lonnie A. Watson Search Utility: A file search utility written in C. Author: Steven Kemp Fast Pics: Re-writing the pixel drawing routine in assembly language for speed: AutnoriScolt Steinman 64 Colors: Using exlra-half-brite mode in AmigaBASIC. Author: Bryan Catley Fast Fractals: A fast fractal program written in C with assembly language subroutines. Author: Hugo M.H.Lyppens Multitasking in Fortran: Ail the hard work is done here so you can multitask in Fortran. Author: Jim Locker Arexx Part II: Inofrmation on how to
set up your own Arexx programs with examples. Author:Stsve 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: A look al 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: Howto use dual playfields ! make your own arcade games. Written in
C. Author: Thomas Eshelman.
Scanning the Screen: Part four in the fractals series. This article covers drawinr to the screen, in AmigaBASIC and TrueBasic. Author: Paul Castonguay.
C Notes: Recursive functions in C. Author: Stephen Kemp.
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 line below may include something like '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 Abasic programs: Graphics 3QSo£ds 3d sofics modfeing prog, w'sampie data files Blocks draws blocks Cubes draws cubes Durer draws pictures in the style ol Durer F Scape draws fractal landscapes Hidden 3 D drawing program. W hidden kne remova Jpad sm pie pamt program Optical draw several optical illusions Pam Box simple paint program Shuttle draws the Shuttle in 3d wireframe SpaceAn graphics demo Speaker speech utirty Sphere draws spheres Spiral draws cdcr spirals ThreeDee 3d function plots Topography artificial topography Wheels draws drcte waphcs Xenos draws fractal planet
landscapes A8a5ic programs: Tools AdcressBook simple database program for addresses Cardfile simple card f.lo database program Demo muliiwirvdowdemo KeyCodes shows keycodes tor a key you press Menu run many Asasc programs bom a menu MaeCokxs way to get more colors on toe screen at once, using aliasing shapes simple color shape designer Speaklt speech and narrator demo Abasic programs: Games BnckOut classic computer bock wall game Ofreffo also known as ‘go* Saucer simple $ hooiem-up game Spring simple talking spelling game ToyBox selectable graphics demo Abasic programs: Sounds Entertainer plays
that tune HAL9000 pretends it's a real com peter Poke simpiepoiice siren sound SugarPlum plays 'The Oaice of the Sugarplum Fairies" C prog rams: Atemt sample terminal program. S-E cc ad to compftngwrtn Lattice C decvnt opposrte of CON VE RT tor cross developers Dotty source code to the 'dotty window demo echox unix-style filename expansion, partial S.O-D faflerip ex plains use cl last-floating point math FixDate fixes lutxe dates on afl f2es on a disk, S-E freedraw smpteWokbenchdrawingprog..S-E GhMem graphk: memory usage inaca'.a, S-E Grep searches for a given string in a file with docs, ham
shows off the hokf-and -modify method of «wr generation i3M2Aniga last para’fel cable transfers between an IBM and an Amiga Mandel Mandetorct set program. S-E moire patterned graphic demo. S-£ objfix makes Lattice C object to symbols visible to Wask, S-E quck quick sort strings routine raw example sampie window 10 setlace turns on interace mode, S-E sparks qix-type graphic demo, S-E Other executable programs: SpeochToy speech demonstration WtkhFort displays a'l available fonts Texts: 68020 describes 68020 speedup board from CSA Asases explains uses ol the ASSIGN command Bugs known bug list in
Lattice C 3.02 CUCanf reference card tor AnigaDOS CU CUGotmnands guide to usrg the CU Commands shorter guide to AmigaDCS CU commands Ed Commands guide to the ED editor Ffenames Amiga DOS Rename wildcard conventions HaBBright explains rare graphics chips that can do morectfcrs Modem Pars description of the senaJ oort pnout RAMdsks lips on settng up your RAM: risk ROMWack lips on using ROMWack Sounds explanation ol Instrument demo sound file format Speed refutation of Amiga's CPU and custom chip speed WackOmds tps on using Wack AM»CUS BiSK 2 C programs: alib Amiga DOS object library m anager,
S-E ss led file arch vo program. S-8 futobj auto-chops executable files shed simple CU shea, S-E sq, usq Me compression programs, S-E YachtC a familiargamo, S-E Make a simpfe'mako' programming irtiMy, S-E Emacs an early verson ol the Amiga ted editor. S E-D Assembler programs: bsearcfiasm binary search code qsotasm Unix compatible qsortQ function, source and C test program setjmpasm setjmp code for Lattice 3.02 S VpnntJ Unix system V com patfoie pnntif} xees.o Unix compatible treeQ luncion, 0-0 (This disk formerly had IFF speofieaficn files and examples. Since ihcsspecis constantly updated,
the IFF spec files have been moved to [heir own disk in the AMICUS collection.)
John Draper Amiga Tutorials; Arimate describes arxmatfon algorithm s Gadgets tutorial on gadgets Menus learn about Intuition m enus AM5,Pish3 C programs: xref a C bCSS-reference gen, S-E Sbitcofor extra-half-bright chip glx deno, S-E Chop truncate (chop) files down to size, S-E Cleanup removes strange characters from text files CR2LF converts carnage returns to fine feeds in Amga ties, S-E Error adds conpfe enors to a C fife. S HeSo window ex. Irom the RKM. S Kermit generic Kermit implementation, flakey, no terminal mode, S-E Scales sound demo plays scales. S-E SkewB Rubik cube demo in hi-res
colors, S-E AmigaB»stoProgs(dir) Automata ddiufer automata sm ulaiion Crazy Eights card game Graph Function graphing programs WitohingHour a game AbasiC programs: Casno games ol poker, blackjack, dee, and craps Gomcfcu also known as'otoeGo' Sabotage sort ol an adventure game Executable programs: Disassem a 68000 disassembler. E-D DpS&de shows a given set of IFF pictures. E-0 Arrange a text formafltog program, E-D Assembler programs: Araoterm terminal program with speech and Xmodem, S-E AMICUS Disk 4 Files Irom the original Amiga Technical BBS Note that some ct these f es are oW. And refer s
o'oer versions of the operatng system, These fles came from Fie Sun sys:em that served as Amiga technical support HQ lor mosi ol 1585. These files do not carry a warranty, and are lor educational purposes only. 01 course, dial's not to saylheydonl work.
Complete and nearly up-to-date C source to 'mage.ed', an early verson cf the icon Eata. This is a fide flaky, but comptes and runs.
An Intuition demo, in lull C source, including files: demcmenu.c, dernomenu2.c. demoreq.c. getascii.c, idemo.c, idemo.gride. idfemo.rnake, idemoaUh, nodose. And txwrite.c addmem.c add external memory 10 the system bobtestc example ol BQ3 use ccnsoleJQ.c consde 10 example creaponc create and delete ports creastdio create standard 10 requests creataskx creatxw task examples diskio.c example cf track; read and wrte deny.c source to the dotty window' demo duafptay.c dual playfield example fiood.c flood 131 exampe freemap.c old version of freemap' gettootsc toPs tor VspriJes and B03s g'xmem c
graphic mem ory usage indicalor neiio.c window example from RKM inputdev.c adding an input handler to toe input sveam joyst!k.c reading the icysbick keybd.c direct keyboard rearing layenes.c layers examples mouspou test mouse port cwnib.0, owntbAsm exampe of making your own library with Lattice parateskc tests parallel port commands sentest c tests serial port commands sensamp.c example ol serial port use prinlmr.c sample primer interlace code pnbasa.h printer device definitons regintes.c region test program sa'Jace.c source to interlace onoll program setparcJlel.c set me ar.ntxr.es of toe
parallel port SetSenai.c setnearnbures(pan:y.databits)ofr« serai port pngiayo sn epfayfieUexampfe speechtcy.c source to narrator and phcneccs demo tmedely.c simple timer demo timef.c exec support timer functions tsmrstuf.c more exec support fimer functions V nchFont.c loads and risplays all avaiabe sytiem lorts process 1 and prtsase.i assmetier include fifes: autorqstr.txt wamines ol deadlocks mtfi autorequesters consolel0.txt copy 01 the RKM console 10 chapter diskfoni txt wamfivg ol di sk fan! Loading bug ful lune.txt fist of defines, m acres, functions nputtev W preimfeary copy cl the npA
device chapler license irJamaicn on Workberch risytwlon license printer pre-release copy cf toe chapter on printer drivers. Irom RKM 1.1 vl 1 ld.txt 'diff of .fd lie changes from version 1,0 to 1.1 v2Bv1 .diff ’cflff' 0! Include fife changes from version 28 to 1.0 AMICUS DiskS Files from the Amiga Link Amiga Information Network Note that some of these files are old. And refer to older versions of the operating system These files are from Am ga Lnk. For a time. Commodore supported Amiga Link, aka AIN, lor online developer technical supped. It was only up and running for several weeks. These
files do nol car a warranty, ard are for educational puposes only, Of course, thafs not to say they dcrt work.
A demo of Intuition menus called 'menudemo', in C source wheresx find a fife searching al subdirectories bobtestc BOB programming example sweep.c sound synthesis exam pie Assembler fifes: mydevasm sampfedevice driver mytbasm sam pfe library example myfibi mydevj asmsuppj macros.i assembler include fifes Texts: amigatrieks tps on CU commands eriisk external disk specification gam epon game poi spec paraflfei pareifei port spec serial serial port spec v 1.1 update list ol new features in version t.t Yl.lh.txl 'dilf oFinJude file changes from verscn 1.0 to 1.1 Fifes for buWrig your own printer
drivers, incfu«£ng dospeciaLc, epsondaia.c. initasm, primer c, prriterjink. Prniertagasm, renjor c. and wa-Usm. Thsdisk doescontoinanum.bor cf filesdesabng the IFF speoficatksn. These arenoitoelaiesiandcreaiestfJes.outremain here lor historical purposes. They include text files and C source examples.
The latest IFF spec is elsewhere in tois library.
AMICUS Disk 6 IFF Pictures This disk induces toe DPStde program, witch can view a given series of IFF pictures, and the ‘snow pfe' program, which can view each file at toe dick of an icon. The pictures include a screen Irom ArficFcx, a Degas dancer, the guys at Electronic Arts, a gorilla, horses, King Tel, a lighthouse, a screen from Mate Madness, the Bugs Bunny Martian, a stft from an old movie, the Di re Strats moving company, a screen Irom Pinball Comma on Set, a TV newcaser, jf» PaivCan. A wcrid map. A Porsche, a shuttle mission patch, a tyrannosaurus rex, a plane! Vew. A ViSAoard.anda
AmiCUS Disk 7 DigiVtett HAM demo picture disk This disk his ptofures from toe Dg.ViewhoW'and'modify video digiizer.
It irokides me lades with pencils and ioCypops. Toe young gal. Toe bulldozer, tne horse and buggy, toe Byte cover, the dctbnary page, toe robot and Robert. Ths moudes a program to view each picture separateiy. And ail together as separate, sldabfe screens. The'seeibm' program, to turn any screen into an IFF picture.
MifcU&jaiaU C programs; Brcwse view text fifes on a risk, uyng menus S-E-D Crunch removes eqmmenls and white space Irom C fifes, S-E iconExoc EXECUTE a series of commands Irom Workbench S-6 PDScreen Dump dumps flastport ol highest screen to printer SetAltemate sets a second image for an icon, when ticked oxe S-E SetWndcw makes windows la a CU aogram tonxi under Workbench S-E SmaTCtock a sma3 rigal docfen a window menu bar Scrimper the saeen printer n the lourto AC S-E Amiga Basic Programs: (Note: Many of these programs are present on AMICUS Disk 1.
Several 01 these were converted 10 Amiga Basic. & included here.)
AddressBook a simple address book database Bat draws a bat Cload program to convert CompuServe hex files to binary, S -0 Clue the game, intuition driven Color Art art crewing program Deluxe Draw toe draw.rig program in toe 3rd AC, S*D Eliza conversational computer psychologist Otoefc the game, as known as 'go' RatMaze 30 ratrraze game ROR boggling graphics demo Shuttle draws 3D pct es of toe space shuttle SpxelLng sample spettng program Y0Y0 wserd zero-gravity yo-yo demo, tracks yo-yo 10 too mouse Executable programs: 3Dcube Modula-2 demo of a rotating cube African sets a second icon imago,
displayed when tw icon is cScked AmlgaSpeil a slow but simple spfel checker, E-0 are toe ARC file compression prog must for telecom. E-D Bertrand graphics demo tfisksaivage prog, to rescue trashed disks, E-D KwhCopy a quick but nasty disk copy program: ignores errors. E-D LibDir fists hunks to an object lie t*D Save!LEM saves any screen as FF pic.E-0 T ScreenCump shareware screen dump prog, E only StarTerm version 20, term program, XmodenE-D Texts: LatteeMan iipsonfixing_main.cirvLattce GdskDrive make your own 514 drive GuruMed explains the Guru nur.bers Lat3 C3bugs bug 5s: of Lart.ce C
version 3.03 MforaeRev user's view o' toe MicroFcrge HD PrintSoooler EXECJTE-based print sparf prog.
.BMAP files: These are :he necessaty Inks between Am a Base and toe system libraries. To take advantage of toe Am a's caoab'tes n Baste, ycu need these files. BMAPs are included fa 'disr, 'console', diskfonf, 'exec', feoo', 'mturtton', layers', 'mathtfp', matoieeedocbas', ’mathieees- incbas'. 'mathtrans', 'pctgo', 'timer' and Translator'.
Amiga Basic Prog rams: FsghtSito sum pie tight simtiaa program Hue?alette explains Hue, Saioarion, & Intensrty Requester ex. Cf requesters from Amiga Basic ScreflDemo demonstrates saoifing capabilities Synthfe ier sound program World Map draws a map of toe world ExeoAaWe programs: Bctpg! Latest Bcxng'demo.withsfeectabiespeed.E Brusn2C ewiverts an I FF brush to C data instructions, initialization code, E Brush2lccn converts IFF brush to an icon. E Dazzle graphics demo, tracks to mouse, E DeoGEL assembler program fa stopfxng 630*0 errors, S-E-D Kkxk meni-bar clock and date display. E life the
game ol life.E TimeSet tmnon-based way to set the time & date EMEmacs another Emacs, mae onen:ed to wad procri&S'rtQ. S-E-D VyCLI a CL shel. Works witoout the Workbench. S-E-D Texts: FnctnKeys read function keys Irom Amiga Base Hacker Sin explains how to win toe game 'hacker' tstSS010 guide to in staling a 68010 in your Amiga Bang! Latest Borng! Dem.o.wito sefectaCiecpeete, E Bresh2C converts an IFF brush to C das inflections. InrtiDzation code. E Brush? Ton ccn-verts IFF brush to an ton, E Dazzle graphics demo. Sacks to mouse. E DeriGEL assfemo'-er program fa stepping 68010 eras. S-E-D
menu-bar dock and d toe game of life, E Intuton-based way to set tog tmg das.
Another Emacs. Rae oriented to wad processing, S-E-D a Cli shell, woks without me Wafcbench, S-E-D explains how to read function keys Irom Amiga Basic explains how to w.n the game Tacker guide to tisalinga 68010 in your Amiga seating escape sequences to your pnnter Bps on setting up your startup-sequeffee hie list Of Transformer programs that wok Klock life TimeSet EMEmacs MyCLl Texts: FnctnKeys HackerStn !s 801C FnnterTTp Startup up XlrmrReview Printer Drivers: Pnnte' drivers fa toe Canon PJ-108GA, toe C Iron Prowriw, an improved Epsoi driver that eimtoates streak,rg. The Epson LO- 800, toe
Gemini StaM 0, toe NEC E025A, toe Owdata ML-92, toe Panason-c KX-Pi0xx tamify, and toe Smuh-Caona 0300, with a document describing toe inflaflatfon process.
AMICUS Disk iQ Instrument sound demos Th.s 4 an icon-orrren demo, oreutafed to many dealers, it induces toe sounds cf an acousticgiitar. An alarm, a banjo, a bass guitar, a boirk, a calliope, a car bom, daves. Wa;er drp. Electhe guitar, a flute, aharp arpCfgre, akekprum, a marimba, a o'ganmmachac.
Peopfe talking, pgs. A ppe agan, a Rhodes piano, a saxophone, a srta-*. A snare drum, a s:ee! Drum, ceils, a vbrophone. A vofin, a 3 gutar, a rase wtenny, anc a wh4:e aPiah.il C programs tirutil cpri PS VlStea Intuition-based, CLI replacement manager S-E shows and adjusts priority of CLI processes S t snows info cn CLI processes. S-E cfisplays CompuServe RLE pcs. S- E Amiga Basic programs pointered pointer ar.d sprite editor program optimize optimization ex ample Irom AC art;cfe calendar large, animated calendar, diary and date took program amortize loan amorezations brusl-toBOB converts small
IFF brushes to AmgaBasiC BOB OBJECTS grids draw and play wavelams hilbel draws Hilbert curves ma5b matf ib stay generator maitalk talking maJng 5jt aogrem meadowsSD 3D graphics program, from A CTV article mousetrack mouse tracking example in hires mode slot slot machne game ticiactoe too game swtch pacfwikoJikegame we?d makes strange KwndS Executable programs cp unix-like copy command, E cis screen dear. S-E Iff irii-ltke stream ed;or uses rilf ou'ipjt to Sx files pm chart recader pertomances fericator Assemder programs ds screen dear and CU arguments example Modj!a-2 irals rrcrhng-wam
graphics demo converts k*odu!a-2kej'Aadsto uppercase Bresnehan orcfe agonttn exampe .12 templates fa tne spreadsheet Analyze There are lour programs here |hal read Commodore 64 picture ides They can translate Koala Pad, Dcodte. Pnrtl Shop and News Room graph.es to FF lama:. Getong toe fifes Irom your C-& »your Amiga is the raid pan.
MilSDisk" cascrtonven Forth Analyze MJL2 ExKutabfe programs 'aSnk' compatibe finker, but faster, E-D spins the risk lor disk cleaners, E-D sends Epson setttncs 10 PAR from menu E-D view hi-res pcs n iow-res SupteMnap. =-D tel toeime. E-D urxiefetesa he, E-D convert s Apple ][ low, medium and high res pictures to IFF, E-D menu eaior produces C code la menus. E-D quck risk-to-diSk nijble coper. E-0 ccpfes Efectrohic Arts disks, removes protection. E-D blink dean epsonset shows g speaWme undelete crivaplcJhm menued qutk quckEA txedl.3 C programs spin3 popdi demo of text edita from
Micresm.iihs.t-D rotating blocks graphtes demo, S-E-D start a new CU at toe press cl a button. Ike Sdefeck, S-E-D vspnte Vspnte exam pi e code from Commodore, S-E-D ArrigaBBS Amiga Base buOelm board prog. S-D Aswmbler programs starlO makes star I reds 5ke Star Trek rtoo.S-E-D Pictures Mount Mandelbrot 3D view ot Mandel act set Star Destroyer h:-res Star Wars 5la rshlp robot arm grabbing a Cylinder Rcbo; Tests vendors cadco cmciude mndwalker sideshow Amiga vendors, names, addresses fixes to earty Cardco memory boards cross-reference to C include fles clues to playing too game wos make your cwn
slideshows from the Kaleidoscope risk AMICUS Disk 13 Am tjz Basic programs Hcutmes from Carolyn Scbeppnerc! C3M Tech Support, to read and display IFF pictures from Am'ga Basic. With dotumefitatiai- Also included is a urogram to do screen prints in Amiga Basic, and the newest B MAP fries, with a corrected ConvertFD program. Win example pctures. And the Save'LSM screen captire program.
Routines 10 load and play FlTu reSound and IF- sound lies from Amiga Basic, by John Foust (or Applied Visions. With documents- ton and C and assembler source for Writing your own libraries, and interfacing C to assembler in Uxanes Win example sound Executable programs gravity Sci Amer Jan 85 gravitation graphic simulation, S-E-0 Texts MIDI make your own MIDI instrumer; rtedace, documentation 5 a hi-res schematic.
AMICUS Disk 14 Several programs from Amazing Computing issi.es: Tools DanKarys Cslrxture index program. S-E-D Area Bass programs; BMAP Reads' by Tim Jones [FFBrush2B03 by Mike Swinger AulcRequester example DOSHeiper Windowed help system for CU com mar.es. S-E-D PETrans trarstafes PET ASCti files to ASCII Fes, S-E-D C Squared Graphics program from Sderlf c American, Sept S6, S-E-D erf adds or removes carnage returns from tiles, S-E-D dpdecode decrypts Deluxe Paint, remo ves copy protecton. E-D wayWB asks Yes or No from the user returns exits code. S- vc VisiCalv type spreadsheet, no mouse
control, £• D view vie’ws text fees with window and stder gadget E-D Ohg. Sproing. YaBoing. Zoinq are some-based Bring! Style demos, S-E-D CLICiock, sCkxtk, wCiock are window herder clocks. S-E-D Texts At arSc'e on long-persi stance phospor monitors, rps cn making brushes of odd shapes m Deluxe Paint, and recommendations cn icon interlaces from Ccmmodore-Amiga.
AMICUS Disk 15 The Cprograms include: pri a Ite poring utility, whtch can pint Mes in the backgronj. And win line rumbas and control character filtering.
W displays a chart of the becks allocated on a disk.
'Ask' questions an 'execute' file, returns an error code to control the execution in that bach Mo Slat1 an enhanced version of Amiga DOS 'situs' command.
Dissolve' random-do: £sso'va demo dspia.ys IFF picture slowly, dot by dot, m a random fashion, ¦?03CLI 2' invoke new CL I window a: the press of a key.
The executable programs include: ¦Form’ fie fermaEing program through tte pnnter dnver’to select print sySei DiskCar catalogs dsks,maintains, sorts.merges fists cl disk files ‘PSound SunRize Industries' sampled sound editor 4 recorder Tcanmateri makes icons fcr most programs "Fractals' draws great fractal seascapes and m xman scapes "3D B eakour 3D classes, create breakout m a new dmerson ’AmgaMonitor' dwayslisls of open files, memory u se. Tasks, devices and ports in us© 'Cosmoroids' ve-sionol'asteroids'lor the AmtgL "Sliders' Ugh resotAon graphics demo wmreN m Mcdjta 2.
Texts: ,a'i& W explains escape sequences the CON: Pence responds to.
F Key* Lndudes template for making paper to sit in the tray at me top cf the Amiga keyboard.
¦Spawn' programmer's document from Commodore Amiga, deserts ways to use the Am gas multitasking capabilities in your own programs AnugaBaslc programs: 'Grids1 draw sound waveforms, and hear them played.
'Light4 a version ol the Tron Igfti-cycfe video game.
¦MigaSof agameofsoEtaire, ¦Stats' progra m to calculate bating averages ¦Money" "try to grab bH the b*cs cf money that you can.'
AMICUS 15 also ndudes two beautiful IFF pictures, of the enemy walkers from the ice planet in Star Wars, and a pcture ol a cheetah.
MCUSflfcjQfi ¦juggler" demo by Eric Graham, a robot juggler bouncing them rrrrcred bans, with sound effects. Twemy-fcu? Frames of HAM animation are lipped quickly to produce this image. You control the speed ot the jugging. The author's documentation hints that this program might someday be available as a product IFF pictures oarodes of the covers c! Amiga World and Amazing Computing.
C programs; mbuthandter' example cf making an input nandfer.
¦FrieZapS' binary tile ©Sting program ¦ShowPrinr displays IFF pietae. And snnts it 'Gen' program indexes amd retrieves C sfructures and variables declared in the Amiga include file system, Executable Programs: ¦FixHunW? Repairs an executable program file for expanded memory ‘ms2smus' converts Music Stud-o files to IFF standard 'SMUS1 termaL I have heard this program might have a lew bugs. Espec-aJy in regards to very long songs, but it works in most cases.
'Missile' Amiga version of the Missile Command' video game.
This cfcsk also contains several Sles ol scenarios lor Amiga Fsght SimUatcr II. By putting one cf these seven Ges on a yank csk. Arto inserting it in the drive after performing a speoa1 cot maMintha game, 1 a numtter o! Interesting locations are preset into the Flight Simulator program. For example, one see nano places your plane on Alcatraz, white another puts you in Central Park tmismiz i©communcaters Osk whuch contains sxterminal programs.
* Comm’ VI 33 term prog. With Xmodem, Wxmodem, 'ATerm- V7,2 term
prog, includes Super Kermit 'VT-100’V26 Dave Wecker's VT-100
errufatorwiih Xmodem,K&mit. And scripting ‘Amiga Kerrai*
V4D(060) port cf the Unit C-Ksrm; ’VTer.' V23.1 Tekfrcnij:
graphics term x.ai emulator based on the VT-100 prog. V2.3 and
contains latest 'arc' file compression 'AmigaHost* V0.9 for Com
pusprvo, Includes RLE graphics aft ties i CIS B Me iransfer
'FixKurk* expansion memory necessity TitObj' removes garbage characters from modem received files ‘Txt* filters text f'es from other systems to be re2d by She Amiga E.C. 'adjmam* executeabe vers-cn lor use with r.en expansion article in AC v2..i ’arc' fife documentation ar.d a basic tutorial on un'artfng files 'arore* for mak©ng'arc' files E.C. AMICUSPisKia Logo An ga vers cn of She popular computer language, witn example programs. E-D Tv'Text Demo version ol the TV'ieit character generator PagcSetter Freefy dstnbutabfe versions of tie updated PagePnrr. And PageiFF prograns tor the Page
Sede-cesktop pubiishng package FuHWindcw Resizes any Cli window uSing cft'y CLI commands, E-D bie3d 3-D version cl Conway's Llrt program, E-D Where can you find all the Fred Fish Collection, as well as the Amicus Disks and The AC Disks, cross referenced and fully listed?
AC' GumE MIGA AC's Guide lists the descriptions and contents of over 280 Freely Distributable Software disks as well as over 2200 Amiga products.
De'd-sk Cl1 ufrSty to re-asson a new Workbench disk. S-E-D Calendar.WKS Ictus+cempai worksheet that makes ca'endars SetKey Demo of keyboard key re-progra*mer. With PF pcture tonake lurtcSon key labels, c-D VPG V.deo pattern generator Icr aligning monriws, E-D HP-10C HewteS-Packard-iikecatulatcr, E-D SetPiefs Change me Preferences sertngs on Lie fly. In C. S-E- D StarPrope Program studies stellar evolution. C source induoea for Arrnga and MS-DOS, S-E-D ROT C versionoi Colm French's AmcaBasic ROT program from Amazing Computing. ROT edits an: displays pdyoens tc creare three d+m.ensicnal
objects. Up to 24 frames ol anmaton car. Be created and displayed. E-D Scat like Ing. Winrtows on screen run away Iran the mouse.
E-D DK Decays’ the CLI window ftodust. In Modiia 2. S-E-0 DropShadcw2 Adds layered shadows to Workbench wLndcws. E-D AMICUS Disk 19 This disk carries several programs from Amazing Computing. The IFF pictures on this disk include the Amiga Wake cart T- sbrt logo, a sixteen-cokx H-res image cf Andy Griffift.
And five Arnica Lire! P'ctij.res from the Amazing 3tot.es eprode that featired tne Amiga.
Solve Linear equation solver in assembly language, S-E-D Gadgets Bryan Cattey's Amiga Basic tutorial, S-D Household Bryan Catiey’s Amiga3as*c househcid inventory program, S O Waveform Jm Shields' Waveform Wcrkshoo AmigaBasc, S-D DiskLb Joni Kerman's AmigaBas;: dsk librarian program, S-D Subscripts Ivan Smith's Am'gaBasic Subscript exam pig, S-D String. Boolean C programs and executables tor Haroet Maybeck To'ty's htmtian woriais. S-E-D Boo Riemersna's example lor SkirnyC COMALrt EmacsKey making smaS C programs, S-E-D Mai© C look ike COMAL header Go, S-D Makes tmacs function key definitions by
Greg Douglas, S-D Snoop or, system resource use. E-D Bard's Tale character eltcr. E-D Amon t.1 BTE Size WinSizfl CU program shows the size o£ a gren setoff, es. E-D Cllwrxtow utility resizes current window, S-E-D AjitiCUSPis.k.£a Com.pasor, Decoder o:©.e Jachel ArigaEasd tocte. S-D BobEd BOB arc sprite edtor witien in C,S-E-0 On Sale Now at an your local Amazing Dealer SpriteVasterll Spree ed ter and animator by Bred Kiefer, E-D BlriUb Blitter cftip exploration C program by Tomas Ronicki, S-E-D Fpe Image processing pn ram by Bed Eush leads a-nd saves iFF images, changes nem with several
techniques. E-D Bankn Complete home bankjng prog., balance your checkbook1 E-D AMICUS Disk 21 Target Makes each mouse dick sound tike a gunshot. S-E-D Sand Gmpte game of sand dial folows ne mouse porter, E- D PrcpGadget Harret Maybeck Tolly's proportional gadget example, S-E Checks to see if you have extra-hall-bright graphics, S-E-D &mp'e piano sound program Makes cel aftrnatcn senpts lor Aegis Aremata1, in AmcaBasic EH3 Pane CeSsi This d.sk has electronic catalogs lor AMICUS disks t to 20 and Fish disks i to 80. They are viewed w di the GskCat program, included here.
AMICUS Disk 22 Cydes Light cyde game, E-D Sncw_Prin:ll views and prints IFF pictures, indcding larger than screen PrtDrvGen23 Latest 'version ol a printer driver generator Animations VdecScape animations of c ares and King bail Garden Makes (ractal garoenscapes BasicSorts Exanpfes ol bnary search and insertion sOflinAmgaBasiC AMICUS Dis!l23 An AMCUS disk compete?,' defeated so musx: on the Amiga. 7hs$ tsk contains two nu$ i: players, songs, .nstro- meris. And players to bring the thrill ol playing “Big Sound' on your Amiga Instilments a collection of 25 instruments fcr playing and creating
music. The ca'eccoi ranges from Cannon tioMarmba List iflSTR program to 1st the instruments DMCS will net load as well as list Ihe origins Icr any instrument.
Muse a collection of 14 Classical peces 1S12Qvertufre The 15 minute classcal feature complete with Cannon1 Three Amiga Music P-arers: SMUSP.ay Musi0Craft2SMUS Musc3tudio2SMUS AMICUS Disk 2J Sedorara A osk ser.or ti tor tor any AmigaDOS He-structured device, recover fries from a trashed hard disk. By Da'nd Joiner of Mqrolllusions Iconize Reduces the sze ol IFF images, companion program, Recdor. Remaps the paiede cdcrs cf cne pcture to use die palette cdcrs o! Another. Using these programs and a tool to converi IFF brushes to Workbench icons, make icons look Ike miniatures of tfw pictures.
CodeDerro Modufa-2 program converts assembler cbec; Lies to inine CODE statement. Comes wqh a saeert scroll rg exampte AmiBug Workbench hack makes the same fy wak across the screen at random intervals, Otherwse, completely harmless.
BNTco's Three examples o! Assembly arvguage code from Bryce Nesixti:
1. SetLa;eprog to switch interlace oniofl.
2. Why, replace AmigaDOS CL! Why
3. Loacll. Prog to load a life inro memory until a reboot, (Only
the most esoteric hackers wiii find Laadqusefj.] Monoiaoe CLI
program resets Preferences to several colys of mcvFXhrone &
interface scrsens. C source is included, works with
DisplayPref, a CLI program which displays the current
Pre'erences sett:res BomgMachine A ray-traced ammaton cl a
perpetual motion Barg- m akmg machine, includes the late s:
version c! The Vovioprogram, whch has the abt.ty to ptiay
sounds afong wth the an mation, By Ken Off© Daisy Example of
using the translate and narrator devices to make the Amiga
talk, ft is written nC, OxkFiir Scnpt-driren animation and
sideshow program flips through IFF images.
System rrcniior Amiga Basic p ccran: perform simple ran p-jtatOTS C‘ memory.
RaiCOT P3Ckgf0urri program, a smal window coens wen a rxse resemberg BuflwinWesayirig witty phrases user defnab's.
DGCS Deluxe Grocery Cdnsnction Set smpte IntuticTi-based prog for assembrg and printing a g-ocery list The Virus Check d rectory holds several programs rckaimn 10 the software virus that came to the US from pirates in Europe as delated in Amaz.rxg Computing V2.12. B.l Koester'S W expiaration of me .ires code is rcud- ed. One program checks for the software virus on a Workbench dsk.me second program checks for fie virus in memory, which could infect ether dsks.
AMICUS Disk 25 Nemesrs Graphcs demo pars through space towards the myl'hical dark twn ol the sun with wonderful muse and soace graphics The KibbkFlay directory rio'cs text that describes several patcnes to the Kickstan disk. For Amiga 1COO hackers who' feel comfcrta&e patching a disk n hexadecimal. KrokPlay oilers the chance to automatically do an ADDMEM tor eld expansion memory, as weii as the ability to cha-ge the pcu?e of the ‘Lnser’iVovkberroh’ hand, A program IS also induded for restoring the correct checksum of the Kcksta rio sk KoyBird BASIC prog edls keymaps. Adjust [he Workbench
keymaps cr create your cwn.
BcolorWB Modifies fteWarW»Kh so three dtpianes are usee, dons can hare e gni cotors.
Instead of four, eg-ht-color cons are Bmon Moose included. Public domain program agcoi cr 'brjshicaV converts e-gnt-ccdr IFJ brushes to ions, to use De.uxe Paint t: maie ixrs fa this new Wakbench.
Brush Icon Converts brushes to icons (azarr docs-.
Egraph Graphing orog reads [x.y| values trcm a Sis anddisp'avs them co the screen, similar to the same-named Unix program Keep Vi Message-managng program fa !©ecpm- mur.caiions. -ets you save messages from an online Kanscnpt to another He.
Understands the message lormat cl the national networks and several types cf bulletin board software. Moves through the transcript and save messages KTJ.fastir Speed ub directory aKess. 1 creates a small file in earn d rector on a (tsk wtsuh contains the rnfor-maton about the files.
WiS also remove aE the 'lastdir’ ftes from each (fireclay, by Cltmate s authors The LaceWB program changes between inter;a anc rcn- ir.iehatreWor Jwnch Previous’y. You were laced to reboot after changing Preferences to an interlaced screen. This program fires between the normal and extended screen heights.
PWJJtflty A shareware utAly Icr ProWnte users, changes margin settings and ton! Types.
Guru A CLI progrem. Prints out probable causes fa Guru medretiens: C souroe included.
DiskWpe Latest from Software Distillery, rerr.ares files from tfreetores a d.sk drives, rr.ucn faster bian-delete.'
S. now AmigaBasi: makes snowflake des gns.
Mlist MaHingBs! Database Sofrballstats Maintain soft ball statistics' team records, Dodge Srion Modufa-2 program maxes the Vvorkoe-ncf. Screen a'txmd after a penod of time, prevents monitor burn- in.
AMICUS Disk 26 Todcr Pay's SoundScape maJu'e cade from his Amazing Ccmputng artdes The source to Echo.
Chad, TX. And YU is induded The Lattice and Manx C source code is here, along with no executable modules.
Claz2 Update of prog to convert IFF images to PcstSaqt lies for printing,co laser printers SDBackup Hard cf-sk backup prog wth Lempd-Zv compress-on to reduce the necessary number cl csks, TCB Pnnts information about tasks and processes in the system: assembler source is induded FitoBut lets a furcton key ad tikre a rap d seres cf left mouse button events.
DC A handy program lor pecpte wtxj use an Amiga 1020 5 1 4 inch dnve as an Am igaDGS loppy. A Workbench p-'oyan that sends a Disk Change sarai to the operating system: c, stead of typing 'diskchange c(2over and over agari. Just dick cn the iccn. C source included.
System cor.Sg File makes screen 80 columns wide of text in the Scribpe! Wad procss sa Dtk2.Ran 2 programs to move the Scribble1 speEng actionary toand iron die RAM disk.
Lexical Analyzes a text life and gives the Gaining- Fog, Resell, and Kincaid irc.ces which measure readably, hex Dump Modula-2 program to ©sqiay memay locatons m hexadedm , Tartar AmgaBasictdesignTarianp-'ads.
DrMaster Dish catalog program, BMP plays SSVX sarped sounds in the background •.hie someffwig ©se is happenjng m the Amga. As yea Amiga is bocting, for example.
SfiowPt CLI program changes your pointer to a given pointer AmsCUS 26 also rres a colectOT of -reuse paws i Workbench program to display J'-em.
FirtriilifflaZE 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.
3alyl)l krcst pen cf toe to arcaoe game named Ox*. Ths verson f res some mmor bugs and is taster ran re sre ous versions Trvs is verson III, an update to the version raeasefl or, J*sH 221. Binary only, share-ware Author Oliver Wagner Dbug Machine rdependent maero based C debuggrg package. Provides function trace, selective printing o! Internal state information, and more, Ths is an update to ibe ve’ion released on disk 102, and r.cw irciudas a machine independent sack use accounting mechanism. Includes source, Author: Fred Fish, prof Jog support by B teyak Barer jce ReSourceDem o A demo
version of ReSourc*, in interactive dmsemtyer lor the AMIGA Thil* a compiete version excepl that the ¦»«' features have been duatied. Ths rs v-eryon 3 06, in upcata to wwi Q36 from *sk 152 &rA7 crty. Autex Glen McDortoid Ebirnli,0i3iiM Bn* A general purpose program rat CiCuates Kn text and binary c Pc ndndsncy cooes (CRCs) Ten mode CRCs calcuated by bnk are portable across systems Itx lies Daf are n the usual led fcrr.at on each sysXm Binary mode CRCs are pwtaPe lor ftes thal are moved Irom system to system without any charge Brik car be used to v-er.ty and uodate an emi&edced checksum header
unLes it runs irtJer MS DCS, UNIX system V. BSD UsiX.
VAXrYMS, and Am.igaDOS This is version 20 &"d refutes source. Author. Rahul Ones CateeCato An accessory to SkrtCFL lor use w.to A2620 cams or 63030 systems 5 rodt.es the MMU table set up by SetCPU to seiecmefy control caching lor each expansion card Its iso n example of how an accessory program can track down and mod fy tee SetCPJ MMU table without having to read ail kinds o' MMU registers and f»gi.re it out Jor yoursel Verson
1. 00. includes source. Author: Dave Hayire Cfclists Complete CRC
check lies ter disks 00i-231 usmg the br.k program also on
this disk These were made directly from my master disks. I
have switched lo brik. Irom the ere program used to make the
lists cn disks 133.146. and
173. Because n has more features and beca-w source .$ avaoabe
Author: Fred Fish FredFisJiDiaK.234 KwikBackUp A hard sk
backup program mat wr.tes data tac* by rack onto mutt pie
floppy d sks.
Uses the archive b* saves and restores com mens and ptcecran fags, ana skps over bad soots during restore. Verson 10. Vetoes sou’ce n Modula-V Author Frey:! S tert MucnMote Another program ike ‘more', ‘loss'. ‘pg‘, etc Ths one uses ris own screen to shew the ie t using a slew sacJ includes bull-in help, commands to search tor *«. And or, minds to prnt ihe text. Works wth PAL or NTSC, m rcymal ty overscan mooes Supports 4 cclcr texi m bold, italic, undenned, or Averse Jots Version t £, includes source n Modia-lland assembly code Author Fnrfyol Sreben NetWork Another program in the erg tradion
ol 'screen hacks’ tor the Amiga Won't spoi the su'pns* by saying what it does Verson 1.0. includes source m MocUa-U.Author Frcpf Z*txn Printlt A program to print IFF pictures on Epson compat be9 h pn.Ters Prints in many resolutions. With many ways to convert color pcs lo black and wtste. Verson 1.0, indudes source in Moduta-U Author: Fr.ct of Sieberl WBP c Replaces Workbench's coor 0 with an iFr hires non-interlaced pcure.m2or 4 colors. Version
1. 0, includes source in Vodula-ll. Author: Fridtjof Sieben Xhair
Replaces the mouse pointer with a screen wide crosshair, which
is useful for positioning th.ngs vertically or horjontaJy.
Version 1.0, includes source in Mcduia-IL Author: Fricijof
Sieben EmLBs*iflisk.235 Cate Key A basw: lour funcion, memory
resident, pop up catoutttor when uses Otfy about 24 K Cl
memory and can au&nafcaHy type the answer to any ca-cu'ason
into the program you were Ling when it was peeped up Venon 1
0. Btoa y crsy. Shareware Auteor. Crag, F,steer Ct An Amga
program a ttspiay mag«s lor. A Cl scanner, acng with several
new rtetesing sample images cf scans of rear people The dspay
software, tecug-i 4 has a primitive user interface, is quite
powerful, metering tunoons 1*0 ccrYcnjior.5 averepng.
Lsjwoars. Unsharp mastery, edge detectcn. Grad.era. etc Th.su
version 2,2. An uodate to the verson on disk
137. Bmry crty AdCit oral image dsks avafabte from author Author
Jonathan Harman UfTptWars Anew game teafctong sound, lie
muse, and two payer rooe. Ycu fghj you' cceo'tft «a aser
rays, but oewa'e cf ihe mirfon refectng your snots. Binary
cnty. Aunor Oiver Wagner frcafanSjfcffi AraigaBerth Opbr.ied
At ga asse-.ay verscrs of th e Dhrystone benchx art.
Includes 630CO and 6S320 versions Author: A AburtO
Diskhandiar A sample implementation ol a he system that
reads and writes 1 2 tormai diskettes includes source.
Authcx: Soli ware Duticry Hea."33 A program io find .ell
ventricle out res m the output 0! An Imatron CT scanrer. And
cispiay wi-ef.-ame ahimasxs cl the boating heart.
Includes several sampe CT scan outputs Binary only. Author; JcnKhvt Human Ls Verion 31 ol the poplar iNiX sty e drecto L ter. Ths u an update to verion 2 0 Irom d sk t78. Arc moudes we bug ties, support to' muipe w- ccars paBrames, 5uc*er sortrg. A best-5j output, new output rC'C md ri©g"l opbors. A--c sera crer leaves, ix-uoes scu*a Autur J.stnV UcCcmck.
Proc Example program of rcw to create a fJ'.ccge: DC 3 pxcew w crout reec.ig to cal uoaoSeg Stsl Based on an idea presented a* BADGE mcijces souxe Author, Leo Schwab XprZmodem An Amga sha’ed - tv 47 wh»cn provdes Zmocem La trinsJer wpab ity to any XPR- »mpat.bie corr.mancatord progam Verson t .0. ix-udes source Author Rckriuebner Fred Flgh Disk 297 CUPriRJ An example of printing tn re CU txm. Assembly race, tidudes Sdurse (ol crarsei by Jeff Gal Ctype Another tert fse reader, but tra* xe is itjJ.
Rsascraoy fast, and rctodes ta-0rectonaj scroling. Sexcn, go to a given perce'ajc, and pnrxg capab .ues Verier 1.0, ncljdes sou'ca in assec,by. Auchor: Dal No son StnpCR Ths iitse program juSI makes a tert i-e ready for use w,7i Amiga DOS. W-Ft on'y UfteFaed cta.arers (Lr) tora.tctre e.nd of a j-e. II you feed it a f-e witn ONLY Carnage Return characters (CR). (from a Macintosh tor example) it will repace them with ihe LF character and, 1! The Me requires no changes, then it does not get charged, includes scurce in assembly, by: B.ll No. Son PlusCR Companion program to StrisCR, it reverses the
proceeure P'ilsCH products a Ue ready lor use on systems which retire bothr«e CR and IF chara ers to mark the end ot a ire (such as these ruf.vvg US DOS for example, incudes source ut assembly. Author. B 1 Meson StripLF Go-pieies ne set of StnpCR arc RusCfl. S *•- change an LF crty f..e .no a CR criy t e ;! Used ei ccrbratcn wth S'j CR and F ;sCR S ccmpetes a text Me con- ficr system, incudes source massemby Autncr BJ t*frscn
C. S Ctea- Sceen Com.74,-0 rude to me purposes of berg SMALL and
tnus rotwastehi cf mem cry wher. R.aoe memory reioem. C conua
cl 56 bytes cl memory on fl.sk! 1-dudes sc-rra ,.n aiScmdy.
Author: Bii Nelson 0?o* A simple clspiay program for
Win, Te goals of supporting pag-ng tr ough lots ot data and prd. Txmioabe scaftg a'd presertalofi Venon 1 0, tou-'ceavaiabel'ora author. Author. A A Walma ,lBM-3 A shared .era,7 (»bmJtonry) to readwmje IFF lues, derived from ihe EA IFF code, a-cr wtn varies enra.-ce.me.nts. tooioes examples cl using rxe ora.7 irom C code, assem t y race, or 3AS.C. aora wrfh sou'Ce ter ex*mp« and iniertace raoa Author, jefl Gar: PaOx Shows hcM to a .ocate and com. ,mu rteate d red t witft the paraport hardware Irom an assembly language program. Incudes source. Author: Jeff G4d (ongiraj C code by Fhbp Undsay)
Speed A performance benchmaik useful lor comparing Amiga processing speeds. Perlorms 10000 iterations ot som e selected groups of 60000 ins uoioRS white using the DateStamp ;me function to record how many licks il takes lo complete. This timed Curaton is fan compared agcirst two known ptestored times. Cr« lor a stock A2C0C Amiga arc ore lor an A2623 enhanced A2C03 A reat.ve corpar.son 15ClfcUJted arc dismayed Venon 1 0, rctj»s sevee m assamby langra : Aicnor Jei San fttflriiTPMfiS Cvi’Demc Demo verion of 1 pop-up ut-,ry to comrc. R« ztix ragster assgnm ems cf rtjtcr- custom screens Version
3.1. txna y cmy. Autna. Kerbersoft Duouse A versoite sorter, i mouse t*ar*«r. Auto wrccw acbvaior, rouse accee.atc. pcpt- pop w-.ndcw to front, push wi-ccw to lack, ct:. Wdget Includes Dune Art, a screen Kanvver rep aramert prog.a.m. for use wvun Dmoum Tns is Dmcuso verion 120, an Lpbate to verion 1.10 on disk 168169. Tecmdes source. Author: Mad Ddten Lab& Pnnj A program that a you e e&s-7 pnm tabe.s for your asivs Inis is version 23. An update to verier. 1S from isk 210. Sratewre. Binary aniy [source ava-abte from, author) By: Andreas Krebs NGC Ye; inctherwrus check pragra.!, Cnecks ff:e
bootorak or ail inserted foppy disks ard reports nor.s‘arMd ores. Checks the jump ladies cf ait reinsert Lbrarcs and devcos anc reports suspicious entries Version 1, induces source in assembly. Author: Llf Nordquisi Pyih A program 10 draw uw Ttee 0! Pythagoras.
Version 1 .t, includes source. 3y: Andreas Krebs Siemschtag A letns ike game (Slemschieg means ’Failing Rock’) submitted by tie author. This :s version 1 6, ai update 10 version 1 5 front ds 221.
Binary only. Author Peter Handel EMLKlMia FF 239 contains Fcrth programs from ne -'Gcoces ft tti*.
Irom. Delta Research pe makers 0! Jfcch Pmtesicnai 2 0) Aidtne mateoat has ceer.
Placed rtc a subdrectory (JGoocSes). Sedw i a 1 ssrg cl suterectores LrtderjGccd.es. and tner comems Btuitbs Va-c-s loo's submitted r jer.c by te aMhor.
SdingPkg % stnrg pack e tor boft Forth stye a-d NLL term «;ed sir mgs Da: si 7»Te a’e handy tools for getl-ng and pnrting formatted date and bTfl. Utits arc utilities used by me om r fJes.
CursorControi is an example Cl movng tne text cursor Spa OiEscape is a handy word lev pausing or stopping program output L-dudes scurca cade Ajftor- Roy Brumes EvOl'joti Tns program g’apacaiy sirr.usates re aiOL-ucrt cf a spebes 0! Tsuss*. Re hsaa *iic. Bras, represented by moving bote, eat bscena represented by snpe px s They ntrfate.
Cor pete for tood. Re produce and pass sneir mutet-cri to the* offspring Fascratng example cl grapmcs and software smulafiaa Siamdalone image arte sc* ce code. Author: Russel Yes: FFT Highly opt mil ed Fast Fourier Transform tods lor digita signal procesing. The FFT can be used to compute tne (requency spectrum of a complex igral. It is useful in a variety of different applications. Floating point and integer versions.
Mixture ol high leva! And assembly language code.
Includes source (requires Jforth). Author: Jerry KaBaus Guru Handy ‘guru’ number interpreter (welt, handy alter reraci anyway1). Telis you what ‘31003009* means larexam.pe Cli usage only. Sta.ndato.na image w.tn readme te. Source code included Author WkeHaas H£J Ccr.erts C style '.h' -rcude fi-es tc *fdfth ') f es Useful when ce-.ecp-g ;'3-'cces tc re* Am.ga bni-.es AR? Etc. Sta-oa'crte irs;e and source code Arancr: Phi Burk HAM.m-T.m2 G'jpxs hack that ospteys moting ires in a ham ipoen ter a njpnetc eftect Lses scurd tods from HMSL if avaiiabte. For a drone scuTd mat corresponds to tie g'a cs
image Standafcre image a-nd soace ccce. Autnor. Fhi Burt HeasC.ean Ths program, cox.bned win a tare cleaning disk, can be used to dean the heads on yxr dsfc drwes Sou-ce cooe examples cf axessi.hg ne Trackawoevtoe, and mng gadgets are included.
Standalone xr.age with soume race. Shareware.
Vernon 20 Author. Pni Burk JustBeeps Smpe exam?* cf uinq Arac ard Turner cevces Pi3;i a ser s cf bee? woose :cto are based on a just intoned Lrung system.
S’Ahdacne image wdh sour® race. By. Phi Burk Minderro: A fast Mandelbrot rendering program ra: uses some cf the mathematical properties o' the Mance trot set te greatly reduce tee drawn g time.
Demorstratos graphics programming, assembly language, menus and IFF I£q 10. Standalone imago «vte source code. Autecr: Nick D,dkovsky NeuralNel Example of Neural Net programming converted 10 Jforth. Demonstrates a program ntmg technique tnai many say is the wave of tee future lor software. This is a impe demo that shows neural pr0pa5at.Gr Starcatone image witn source code Author Robert E La Ouey, pcrsd by Jack Woehr Turin This easy-to-use ten eo tor stows mJipe windows. Ar d pc.idesa simpte morae dnver.
Mterfate These tam.ia; wite tee ‘Macrtosh stye' enters w'i be comtortabto with Teca s Cut. Copy and Paste commands. Sta.nc4cre image.
DocuTtercatteh .xijded No scvrerade Autncr UkeHaa Fred RshD.sk 2*0 CrossDCS A Tywire* vers on of a nourtabie U3-DCS fie system for tne Amga Trts 1 s 3 scftwrere pracuc: mat Hlows you to read and write MS-DCS FC- DOS ana Atan ST tormaned ds s (Vencn 2 C a fLgrer) ftrecEy from Am.gaDOS This try-ware vtxsten i a ‘read or-Jy' venon. White does not alowany wmtestorvrd.sk AutyirctaiaJ version is a.-a aoe for a very reass-abe pnea from CDNSJlTROM. Vencr. 3.C2, binary only.
Aitncr CGNSLLTRDn. Leotare Foma D-s An Am-gaXS teareaw Jbra-y wTxte rrpiimtrtU a symocwC ingtMtsfrucian dsassemteer to- me MC68DC0 lamij and a program whch uses tee 1 ora.7 to disassemcJe-' dump Am.gaXS cbitc f-es. R akjng ItiQ use of syr.boiicardreocatcn information. HduOes source code to Draco. Auteor: Cfir s Gray DM Maps (FF maps to tee Dungeon Mister game An 14 levels are induced Author Unknown Mem Lb Alink library of routines to ad in debugging memory problems, Works wih Lattice C 5 0 and posifily with earl er versions. It s features include trashing 414icca:ta memory, trashing ait treed
memory, keeping ‘jack ol freed memory with nottraticn il it is written to, no-jfeaton of memory freed twee or not at aa. Na'-ca: on of Bvemunninj or underryjfirtng a. touted m emo .
Gere.reton c! Cw .”6 07 ccnbtiorj to' teslng purposes, and oer‘cat-r of vwlafrons ci .memory -sa by fi rename ino krre rur ter :* the itocat.-grout ia rcutvi scvre Author, ranr.
T oebes an: Do.g W a ker RunBate Ao»s ytx. To sat a re* Cli program and r-r. Fi «n the backhand, ren ctoses tee re* Cli ins is verier 5. An update to the venon on ask i£2 (tee verson on isk 2*4 apoears to be on a OiBeren evoiuiionary pate) This verson cor pies under Lactoe wth many cpum cater s enabled, and can be made reiser!. IncJudes sou'ce.
Author: Rob Peck. Darei Barter*. Greg Searii, DogKeier XprbB Extern ; l e manster prctocoi itrary Document and race exam.oe Jcr imptementtog external Ue transfer p'cocos using Amiga shared Itrares.
Ths is a *. Updare to tee version included w.n tee vt p-og-am or. Cksk 226. By: Wily UngtveU Fred Fish Disk 241 ASDG-rrd E «' er,eiy usetol iharewire rrac-verabte ram disk. This AmgaXS devce dnver mplemerts a completely XS ccrpatb'a dak Oevce m memory that survives resets. Quru s, and crashes. An absolute must lor teose w.t. lots of ram. This is an update to tee version reeased on Csk S3. .1 now works witn up to 6Mb ol mem cry.
It was rewritten to assembly and isnow faster and mura smaler. Binary only. Author Perry KivPowiL. ASDG toe.
CBBS The WwRU BBS srstem lor use m amaieur radio, Or.gna iy written lor IBM PC compatbfes it was pcrtefl to the A-.ga by Pete Haro* Tn 1 ts vorior, Btcwite source code. Auteor; Han* Orecira, the C33S ytxp Pete Harde Fi*66ut0 a pognm when patches executebes ten tu to run or. Machines equtopec vO m M68010. So that hey no ;crger use the promotes pr, .1 ecgert irtfirjacm. &TA7 only. Author G'egy B-'irdl Man A crogrem imiar to the JN'X ‘man* program Dspiys m'c ma'cn atxxt a to K from maruai pages Dees rat mcuoe an dataoasu of tcocs, yoj haie to suppy ycur own. Version 1 2.
Includes same. Auteor: Garry Giercowh NoCack A program wtveh iierces tee ticking of empty errves cn ne B2C00 urtoer AnigaOGS 1 3. It itouta also work on an ASM. This d v«*stoi 3 4.
An update to nt veiononai«.23t. mtjiSes assembly source code Ar.ror Norman tora-.-o Tifei A base Sue game L*e Shanghai or GonShy. A board is covered witn a set ol 144 tuts, 36 (kff ert sets of 4 toerccai les each wte 1 pcrae an l The 06.ee: s sa removeaJ reives, 2 a; a une. By ,mstrung denical t es Vereon
2. 1, toCudes sarce m Models il Author Twtt LfiW4 Imago Ed An
iccr ed:or that atews you to Craw ; id Mil images up to 150 by
90. In up to 16 co'ars. Allows freehand drawing, empty or fled
recta xg:es, elapses, and triangles, Enas curves, and
polygons, copy, fiip about * or y 3a5, SrBKhing and
condensing, food 53 and complement, text wifi serecton and
loadrig of font style, undo. Magnified and nomaJ sfted images,
and two active drawing Steam at once. Tbs is version 2.2. ai
update to vwsflnt .9cndsA21f. Scary only, sours available from
ajtoor. Author. Janatfari Potter JAR A shareware game i Jump
And Rk) usng 3-D graphics. Ytx tas stocofectnebiepJls tynj
ontoefQorsatesteps.natoteloowr or off Cne steps, ate to avoid
several monsters wandering about You can coved various sorts
of weapons to 158 aganst toe monsters. Version 1.0. binary
only, source available from author. Autoor Andrea 5 Ehranfraut
JPCtock A short clock program that is just packtd win
features. Ths is version 1.2, an update fo verscr on dak 204.
Indudes source, by: Jona than Porter PP-ets Preferable
Preferences is a program designed to replace the standard
preferences, that s s-tener.
More efficient and easier to use. Binary only.
Author. Jonathan Pcoer PateneReq An easy way to set the patetts of any screen from your prog*aro. Includes scuce. By: JonathanPoSer Popfnto A smal unity whch *pops cpen‘ a grin you infcrsriaccrt about the stab-es c! Yar derices ate memory. This is version 3.1. an update to version
3. 0 at dsk 223. Indudes source. Author: Jonathan Potter ZeroYms
A fully rtegrated vm Check" and ta&?. Won bocalack save and
restore features Finds both bootbtack and file based viruses.
Tks s version
1. 3. binary only. Author: Jonafian Pot: er FfrtRahflis3iH3
Fcagft A dynamic memory Washer !or the Am ga Frag: randomly
allocates and defecates psuedo- random we values cl memory,
rangnri from 16 bytes to 5000-0 bytes by default The re suit
is an allocation mgftmare. Thousands of memory fragments are
be-,ng created and destroyed continuously. This puts stress on
die memory allocation rousnes of an apps'cadon undergoing
testing by smdatng a very busy, highf fragmented memory
environment. This is verson
20. Leaning many bug fixes, afulinkidon interlace. Configuration
settings via the icon, and more. Indudes source. By: Justin
V. McCormck Imagelab A program which performs mage processing
on IFF p mures. Fnctades standard re,age processing functors
such as convolution, averagrg.
Smoothing, enhancement, histograms. FFTs, etc Asa nctades file ccrvsrssan functions, a d pboard, and other usefuf functors. Verson 11, binary only. Author: Gary Mifiom LPE LaTeX Picture Editor is a graphical edicr for prododng ‘pcures* ter Tie UteX system, which may be imported by LaTeX. You can draw bores, dashed boxes, fines, vectors, orates, bues with centered ten and plaintext. This is version 1.0, binary crty Author: Joerg G&ssfef NoCkx A program which siencss re ckriing cf empty drives on the B2000 under AMIGAD0513. Ft should also wrt on an A5C0. This is version 35 a fast mrcte update to
FF2*t. Irfudes assempfy source code By: Neman tecve Password A program which enhances your computer's seorty by making it compfcaiedenoujfttoat users without you password wi get d: oxraged frying to tx»t and use your system. Thij should keep out most casual cr rortechrica; u sets.
Version 121 p, binary crty. Author. Geyge Kerter Pccpy Aninfrjiicnbasedciskcop siTiartoihe resident 'DsskCopy'. This is verson 2.0. a hgrty upgraded rewrite of ne verson on tfek 151. It features f gh speed diskcopy with wnte venfy and data recovery from damaged tracks. A lot of effort has gone into making this copier friend! Y in its usage, as well in its nulStasteng properties Binary orty. Author: Dirk Re--sig Sxr Gen This program will add a 2 cr 4 color picure to your WorkBench screen. If Lhe piduta is digitized, i: wS look much Ike a genlock, hence the name Sim Gen (Simulated Genlock)
Binary only. By: Gregg Tavares SuperUnes A new imes demo with a reaftime con;pi panel that you can use to charge various as; e-cts of too action. Has 10 bull n color palettes, support for tfvngs ike color 'sm udge*. Color cyclnc. Cotor ‘bounce-, multiple resolutions, and can display either lines or boxes. Ths ts verscn 1.3. binary only. Author; Chris BaSsy WarpL'jl Wa-p (verson 1.11), UnWarp (version * .0). and WarpSp'it (verson 1.1). Warn reads ra w filesysieres and antoves mem into a ec mpressed verson m a normal fie. UnWarp turns them back into filesystems. WarpSdrt spots them up into
smaJter pieces cn a track by track basr. Binary crty. Author: SDS Safrware FrtdR5hP sk244 BBChampion Ths s BoctBlocxG mpicr.lll,a very rxcay done program that alcws you te load. Lave, and analyze any txctdocx. This is verscn It, bma-y criy. Author Roger Fscfin Boodnfro This program craates a 5ma3rtro on:« bocdock cf any defi. When w2 aaoea* afrer you nsertthedsktorboctng. The «heaiSr,;canbe Lp tc 44 characters The screlng t it pen ten can be up to 300 chareders Tres ts version 1 2. An upcate to verscn 1C on csk 1S3, Era 7 orty.
Author Roger Rschun FMC An a’temaLvBtotheNoFastMem program. Uses a cute littte swtch gat el lo hum last memory cn or off. Version 1.2. includes source in assem&fy awe Aunor: Roger FteeNn SzeChtwker See checker uses alia of possbie sacs of a fte tc check ter unexpected changes m tfve sae cf those ftes For example, it can be used to jpoc a Lnk wrus or to point out changes m the configuraion of your system. Wch re approprate comments added to jo_r sire rti, you can check tc seo what version cf me f tes you are using (1Z
O. 1.*. ARP.otcl. Verson 113. Binary only.
Ajmor. Roger Fischfm TewDiSpiay Aiert fopiay program, kkemofe' or Vss'. But about half the size and handtel a3 screen lomas (pai ntsc, t’r.ertac&'non-rtterlace. etc). Tf« is verson 1 52. An update to version 11 ondsk
188. Boary only. Authcr: Roger RscMn Xcotei A program designed to
change the colors ol any sawn You can also add and subtract
biplanes m the screen, or convert the screen to black and
while (grayscale) Handles HA.V and EHB screens Ve»swn 12.
Rw-'ades source in assembfy code, AuJw: Roger Ftschln Fred
Fish Disk 245 ATOr A small uttty that atows you to use the
fonts of another tfck without using the CU. Version 1.0,
binary onfiy. Author: Roger FscMli Bootktre This program
creales a smaD nfro cn 2 o Docttlocx of any disk, wh.cn will
appear after you Lrsertuhetlsktarbootng. Thu* the “next
generation' Boot Intro, a more cdcrful version nan tho one
cm dsk 244. But the tert must be shorter.
The first fne can be up to 24 characters. The u va and trura Lnes can be up to 22 characters.
The scrcftng text can be up to 98 characters. This ishnext generaton verswn 1.1'. &rary orty.
Author Roger Fuchfin Fersrer A program whch can operate cn windows Owned by another program, to dose Lvra. Change their size, refresh gadgets, mow ms wndow to fw background, etc Version 10. Nctedes source Auttxr Roger Fischkn Pamktester A Ijo requester win lots ol features Gan be easly configured by the programmer to sut a variety of appfcations. Inclfdts source. Author: JvsSn McCormck Reversl Plays the dasycal rever s game on an 8 x 8 square fete, Verswn 1 2, includes source in assembly code. Author: Ware Ftschln Vit This «s a binary update lo the vfl program on disk
226. And fixes a prob'trm w-*h external protocol support You sbii
need the rest of me fires from disk 226 Versan 4 065, binary
only. Author: Wily Ungevdd Fred Hsh Disk 246 Dmake Release
versjcn 10 of Watfsver&on cl the UNIX make utiiry. Update to
beta version released on disk 179 Features
muf&piecteperidan&es. Wildcard support, and mere. Binary
only. Author: War Dflon UboPr-rr A program eat allows you 10
easily prim iabds lor your Osks Ths is verson 2.5b, an
update to version 2.5 from d*k 238 Shareware, binary crty
(spur avalabte from author). Author Andreas Krebs Nccmm A
termoal progrim for the Amga based on comm version 134 Has
hotkeys tor most program fuxtens (mciuJng daing up to 10
phone numbers). PAL and NTSC suoocrt for normal a mertaced
screens, xreer. 10 greater than 2400 baud, ANSVVT100 temraf
emiation mti fuJ 3 aior text sufpcrt IBM graprtcs, cpocnal
trjnstation styles, spU screen node, full user ccr.ro cf
color palette, furl support ty an European languages, tuii
senaf port ccntrof with baud rates up to 192C0, scrpt
language, Phonebook, keyboard macros, and more. Version t j,
binary crty fijtvx DJ jam.es. Dartef B'ocn.«. a!.
NoCI ok A program whe n silences the cltdeng cf esr,p7 dnves on the B2000 under AmgaDOS U. It sho d also wort cn an A500. This o version 3.6. an update to version to verson 3.5 on disk 243.
Inpudes assembly scuco code. Autftort Norman Istcve Screcn&ure A Ibrary and support piograms that enatfe appiatons lo open up windows on ether applications’ custom screens. For example, your editor nay want 10 open a window on your terminal emulator's screen so you can compose a message white sDB being abte to see the contents of lhe terminal s screen. Both applications must cooperate for the screen sharing to work Version
1. 2, includes source for interface pontons. Author: Wily
Langeveld Ty A text display program based on Amiga less*
version 1.0. Has both keyboard andmouso control of a1
functions, an intuition interface, and uses the Amga spook
keys (such as the Help key) ccrrocCy. Version 1.3. includes
source. Author: Mark Nudeiman, Bob Leman, Tony Write
FadfititLflHmz AnalogJoys&ck Software support for use of
analog py ads on Lhe Aroga. Includes a dnwr. A header frte for
cede tel calls lire bnvw. And an example prolan that uses Te
dnrer, hdudes source. Author: Gavt) K.nrcr Assam Toois A
colificton cf ftes whidi should be cf great cterest to Amga
asscr.tfy language programmers The crtteclori hd'jdes 140
macro rxr.rvi wtven make assembfy lar age programming a lot
easer. Thee s also a frbrary of rouvres cor.tan.-g buffered
Ciw; fi'e hardbig fircons ilopen. Ttose. Igets. Fputs. Etc)
and a fie name re?jester. Ai roucr«s are re-emnL Indudes Kum
tor example programs usng the macros and itrary. And a 65cC2
crow macro assembier Aufrcr: Jukxa Mar.n Rcnotelogn A coupre
of programs wfxh make pos&ple rarae access 13 you AMIGA. One
program chockstne ser.al pert tar an uxomrg cal. And sans a
program when e 1$ detected The coer is a password protection
program whch alows starting various programs based upon login
id, thus providng some minreaJ security 'or your computer.
Includes Sxrce, Author; DaveKruer Xprtjb &rt;eimai f:e Lrahsler protocol library. Document and cede example for impJemen:ng evemal Ste transfsr protocols usmg Amiga shared iaanes.
This is version 20, an update to Tre vffsror cn disk 240. Wch many extensions and enrtancerrents. Tocides sample XPR -trary and souroe Author; W.ty Langevtti Frcfl.FiShpjaF.24S AmiGanb A project cefinson and manager ere tcoi lesgred 10 create a smpte. Imeractive method cf out.n.ng the ssk required to oompleM a piTiOjli' projea.
Us-ng the GANTT chart as the input tcmai An Gann displays the project n a mub-wndcw mode with separate winpows tor -he GANTT chart, task mtormatiprt input, rosowtc histogram dspray.
And Pert cnan display. Li p to 501 asks nay be Oe'med tor any project, ird a pro ect may con;an ctto projects as asks Vers on3 0.0. shareware, bnary only. Author: Dorvad Toison CU-CoforsA smpie Lse program 10 change the eotors 0! Me border around a CU window. Includes source m assembly coda Author: Michael Srn F5pper SmaS. Fast O’.helo program. Con net use any k»k-ahead methods. Binary only. By Michael S«4 Maze An erampe of a Mfy rerenfrOT maze generator procram wrtaen n assem bly language using Mara's assembler. Ltofudes source. AuTia: MchaO Snz Net Harder The Software Cxsulery's network fie
system hand'er (NET ), usng Matt Dilon s DNET to mount ere Amiga's dencescn another Amxja It also serves as art example tie system written ertorefy in Latfrce C. Verscn 1.0, incudes source. Author: Software Distllery Regex An Am ga shared t txary version of the GN’J regdar ersressicn package from tne Free Software FouTdalan A reg ia* expressor a a eoncse method ol Cesc bog a piicqnof characters in a sfrng 8y use ol speoal widcards, almost any pattern can oe describee A regJar expression partem can be used k* searohrg slrngs n such programs as edtefs or ether string handing programs Verson 1
0. Includes source.
Author Edwin Hoogerbeets. FSF, Jim Macteaz Automata Fa eeWar automata programs. AutomaTran b a oned.mehs onal ceWar automaton. Crodis a automation based on a sun mdes role. Demon is a cycle space automation described m tr« Aug 89 Scientific American, and Lie is one ol toe oldest and best known ol a ceftoiar automata includes source Author: Gary Teachou!
Sker Sicer computes and aspiays images o'tno Uundeibrct and Juita sets. Unlko rrrany Mandefbrd programs that generate pictures OrecHy. Slce-r computes and stores an array 0!
Raw data whtoh it may Ten render into pictures in a number c! Ways. Verson 1.0, binary only. Author: GarrTeacnat Tt Mce A rw dmensonal curing machine simujior.
Imagre a small bug aawtng around on your Computer dspfay movrg one putf at a time At each step t uses its TtemaJ stete number and toe ctfor cl toe pixel it's cm as indexes into a set cf tobi es to decde what csior to change tne piet to.
What frecxn to mere, and what its re«r inumal stole shoud be. Source. By: Ga-y Teachout Asdnpfei An impementaCcn cf the Simpiej algorithm ter sofvng tinear programs it uses toe stondarduec MFSX-fonat for rout data files. Ths s versron
1. 5. an update to rerscn 12 on ask 129.
Changes node bug fixes, the aUnty to nn from CU, fts cwn wirdcw lor LO, and some i«wand improved commands. Irdudes source Au'rtcr: Stefan Forster Gravty-V e* A celesta! Mown smiiator la! S-muates toe meben of up to yeny txces in a Newtonian i Yrerse. The view ol tore simuacon may be scaled, rotated m toroe dmrensiys cr reposdKjncd Includes source Auter Gary Teachout Paranods An asyljm escape game. Pare nods is a fradbona' board game payed by drawng cards, ret ng dee.
Arxdmov.-vjpte s around the beard. Each player has six preces, four patients and two doctors. The object cl toe game is to get aS ol your patents out of toe asylum. This te verson 1.0. tffwy only.
Author; Rchard Andersen and Gary Teachout RPSG A reverse pdish scientific catuto'cr RPSC »s a programmable RPN calculator in'he Hewlett- Packard tradition, it supports operations with teal numbers, complex numbers, matrices, and 3-D vectors, as wen as storage and recall 0! Labeled variables. Data and programs may be saved, loaded, or written as ASCII text, to AmgaDOS files. VM, binary only. By: Gary Teachout Ef£dfiStl.Di5k251 Debug A symbdc debugger tar te Amiga. Features include symbolic disassembly, smpie expression pars-ng. Njfjpie breakpoints, memory til, memory dump, single step m trace
mode, step o er subroutines, etc. V210. Binary orly. AiChcr: Jin Thbodeauand Larry laPlume DskSaV A d$ k reccvtery program for ai Ar.ga fie system derces mat use either toe Amiga Standard Fie System cr toe Ar.ga "as Fie System. Oisksatv Creates a rew ffesysteflt 5tnjct e on Whether derice, wifi as much Cato safra d from me original te.vc? As pcssibe. This s version 1,42.
An update to toe verscn reeases cn Kk 212.
Binary ortr. Author Dave Hayfte DskSpeedA Kk speed lestng program speofcaiy 0esgr«J to grre toe most aca ate resJts of tefrue dak performarce of toe dsk under test Automatica-fy Lpdases arc naimans an ASCII database of s.s* results for tested dsks. Thu is vt-rscn 1.0. ireiubes source li C. Author: Michaei Sinz Lnjfrcm Some rmsceHanwus small programs i*cm tore Lnsfrom family. Includes some base games, sore programs Casec cn algorithms from tote Compute* Resrea'cns column n Screntoc Amencan (demon, turm-ies. Mountain), snd a fish tank s.-m.-jia». Lndudes source. Autnor: Ltayd Lrisirom andfamly
Monopoly A smUajon of the Parker Brother’s boaro game MONOPOLY. Bmary on'y sou’ce avaiiabte from autoor.Aumcr EdMusgrore RoacRoute A tnp pfanr.er that takes a L-s: of cdres and a fist of known routes between c-tres. And generates toe Ostonce and troe roofed to reaph you* oesLratcn. Vt-O.Sa ce Author; JimBurterlre FffrflFi£PPifik;52 CrossDOS A TrywEje* vrson of a moj'tabte MS-DOS file system for toe Amga. Tns is a software product toat aJiows you to read ate w-;*e mS-DCSPC-DCS and Alan ST tormarted dsks (Version 2.0 or higher) CirecSy Iran Am gaDOS Ths trywa.ro vertigo is a ¦reatony verscn,
whch toes net atow any writes to toeddk. A f’jftyr furic bonal versron is ava'abo tor a very reasonable price frcra CONSULTRON Ths rs vcrs cn 3.05b, an upto'.e to verscn 3 0 2 on dsx
240. Binary orjy. Autoor: CONSULTRON. Leonard Poma TrexTrvia Very
nice rrtousre-drivai j.va type program for Star Trek fans.
Contains 100 questions with addbooal trivia dsks avatabe
from toe autfor. Ths * verson
2. 0. an update to toe verscn on dsk ISO. Ate includes se ectabte
swi! Levels, a cheat mode, arc 25CKddgwedmussc. Boaryonty,
Autoor: George Broussard Zerj An Lmma done toat axes yar character through a simple bm ceadJy fanas-y world 'where you get to slaughter monsters. £k with toe inhabtants cf futy populated towns, embark on royal quests, purchase a pfetnora cf weapcre, cast sper.s. ate otherwise occupy yourself whfe ya com cuter 15 irgageC n more mitortant busress Version 1,0. Binary orty, Author; Mike Shapro EceJ-EUh.DilK.253 DunpOiH A sma'i uii&iy that prints toe fterdumps cf 2 Net.
Wto all cdfererces between these two files highighted. Version' ,0. Includes sourca in Media
ll. Autotaf: Fric pf Sebert Elements Very nee me?actre j splay of
toe the Periodic Tabe ofctemerts. Can display a large amount
cf pecnem data abou: a selected elenem a’gng with a good Oea1
of general ate misce-ianeous nfo Ths is version 1 2a an
update id toe verson on ask 175 ll twes faster, takes uo less
0 sk space, fixes a rruna bug. Ate adcs a coupJe of
Indjdes source n C.Autoor: Paul Thomas Miler Key Mac A •ejtoa'd macro processor ra* allows you to record keystrokes anj then play to-em back V0.1 .Source nModUa-ll.Autfto*: Fndtjof Seben MegaW3 A program that makes .1 possfcle so make yyj WorkBench screren as large as you like Version
1. 2. Source m Modda-fl. By. Fnm;ol Seocrt MuehMore Anothre*
program ike •mac', ness', "pg*. Etc. Thu one uses its own
screen to stew the ted usfig a slew scrol. Lteudes bofi-nherp.
Commands to search for text, and commands to port toe text
Works wto PAL or NTSC, m normal or overscan modes. Supccrts 4
cocr :ert n ocfo. Raic.
Urderiirted, or m-rerse fores. Versron25.toisisn update to version t S from Kk 234 foctodes SouTOO m Modula- H ate assembi-y code. Autoor Frdtjol Sirebert MutoSetedA smafl program toat makes e pcsstxe to select several toons cr toe wcrvioxh wtoout having lo press tne Shift key. Ths 15 verson 1 0, mciuces souce in UoGuia-;i. Author. Frictjol Sretren PtywerPacker A shareware commite a.te Cara cruncher, win a U ria*cn user interface Executabre fie* whch are crunto-ed are aufofiHbctfy deoorched upon execution, thus saving pr&ccus ddk spare on system,s witobut hardSiks Versfon 23b, binary orty.
Autocr Nico Francos WBShadow A smal program Pat creates a shadow for everytostyj that $ dspayed on your WcxVBench (Witeo-ws, toons. Gadgets. Menus. Texts, etc). V
1. 0. Source in Moduli Author. Fndijol Sebert With CLI command
that atows you to start any other CLI command several trees
ate g:re it aH toe files that match a file partem as an
argument, one at a t ree V1 0, Mteia-H Source. By; Fndijol
Sewrt Fred Fish Disk 254 Etale Another 'more' or less’ type
file reader, which differs from too ethers m that it supports
superscripts and subscripts at very taw memory cost, ana
supports a complete Greek alphabet.
Includes source, Author: Wiliam Hammond Macftll A ‘mouse accelerator' program that also includes hotkeys, tne features of sun nouse. Cftoktol'ont.
Pcpci. Tide bar ciow with a bbs on me charge acsu- mu-taw.ate more. Tnsisvers'or
2. 6, an update :o verson 2 4c on disk 163 B-nary oniy Author
Brian Moats PabemLb Asharabie tear when roplere.erts Am aDOS
pattern r.ascSrvg, and a program rat com pies *to* fies nfo 1
teary headers ate ntertare stubs Mudes source in Drare.
Aitfior: Cftr* Gray (’), posted cn BIX by Jeff Wftie StatCate
A fast acton ere or two payer game pf ‘due ng' sict rers Sroc:
rxl-.es at your ccpcnere ate avod Ns Snary only. Autter Bnan
Moats L'eot Versxm 2ib rt Sn nee shareware ed tor. Hras learo
mode, a xmmate language, merti custxr.caion. rr pev text, ate
otoer use* ccr.'gurabri 7 ate custcrezabif features Bnary
oriy, Ihareware. Resaces verscn 24g cn 05k t BE Autnor. Fvcx
Sues Fred Fish Disk 255 FttilEi5ftJI!lk259 Fre9FisnDisK2fiz
Sf o; Tns ray-traced arvmabon. Using overscan HAM CycTicSpace
A Gnfteafnan cycSc space generator EFJ A last action
machine-code game (Escape From Dgfb An Am.ga devxe independent
graphics i ttay tor ate soute effects, ts Ete i enby to tte
1989 program. Lmptemerto a cefuter automaton as uov ) featumg
rv es scrotng. La-ge playfield. Dsk lorranappficaions. Ths ts
an enharKed and deBADGE Kiter Dero CoTfeSt- it wen 6th
Deserted in Tie August 33 ssue ol Scetefe based high score kst. Stereo sound, mUbpie le.tfs. bugged VERSION ol a pubtc Oxvin tfiray, tte de- Bina.7 only. By. Lie J. Pescter (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 annated sprte, and more. Use a emnea This kfarary is required tor part d r* Mat- EartteFcroe A ncfiy cone shareware game, submiped Make con This program vj make an ex. (rio fife) usng pysuttcpori2tocortroirieship,
Thssverscn lab package, also vroiuded cn ths ds*. Indudes by tte setter, rat smijates combat betneen two image data from a tier another icon, cr an IFF
LI. An update n Tie verson on dsk 148. Tottudes souroef FORTRAN.
AuJxx: Hal Brand, Crag a mae grart. Robct-ike machines- Trvs
s vascr picture We. The imago data is drawn on the souroe m
assom by code Aurpr: Clver Wagner Wuea. 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.tarr based on Bmary orty. Autha: Ralph Reed
tookUro You can also go me other way, and Accadton Derr,o
version c! A so tira 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 tejea ol ne game
& to urtier.se al Te 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 vason 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 afe bul: by moving a tS9. Now reiudes automate gewascn ol cheque, bank, bus ness, a simiar account Shareauthor. Author. Rauf Brum card apfetromthe 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 ony 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 probe 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 Fat turns cut pastefoopy tracks or blocks, changng the ordered stacks, one that counts by one, another house use. It provides canpronensrve vector and tte caJaiaia into an icon tlrat
will sit ate wait until vibrato, tempo, crescendo, and note volume.
That counts by two, another that counts by three lensa opera tons in a package which may bo you new 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, ate 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. Inbinary 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 Rotated 10 A program to transfer sound samp'-es SeaHaven Demo version of a solitaire type card game The products, inversion, ate mae. Armga spe6! c Iwd 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. Aurar Steve
afgochmicplotdisttaygenaaton. 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. ate 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
Cop&s A copper kst ttassembief that can be nm Irom the Fred Rsh Disk 268 farty smal. Vers.cn 0.1. brary aiy. By kc Cifey Binary cnty-A-ror Dster Bruns CU or feikod wfi and run d*ecty from an appxa- Docta_A This annation of Am juyonTie baskettaJcoatis Snap A sb for ttppmg fert a graphcs from tte screen.
SirMaze The 3d maze dere from 6sk 171, rcw expanded ten program. This isversron 0.0a and mojtes Warm's erorytotte 1989 BADGE Kxl& Demo usrg the dCPCA'd dence. Gnap finds out wdh shadows in ff* condors to give mere sensa source Auna: Kad Letenbauer Contest. Tte mmabon source (tor ScUpcAtena * character cootthetes autcmatealy, tetees ol director incites scute. Aufwr: Werner ShcwBiZ A tun aamatcn with mice, a dancng aligator, a
40) is avalabe ton Tie autor. AuTor: Warm dfferent biros,
keyr.aas, aroerec characias, ate Gaither, Shabcvrs tv Dirk
Res-c stefeponatrampolne.andrBae todudes scute Lands more.
VsraoniG, teludes source Autten Fren Fisti Diik2»
r’ttrecortormar.Auttex: RoOfflComs Kk» This fnea.rt demo u
Jerry senary to tte 19B9 Mkaet Kartsson BitDemons Ths program
implements the Demons XprZmoden An Amiga shared itrary
wrachprtwJes BADGE Xalfer Demo Contest, where it won4th dper
Very ccmpretete.-rfe program to ncr ta ate 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, rtanupu, cevices Case wteows.
Extremely simple ales it exhixts rather complex 20, an update to version 1 0 on bsk 236. It ados
15. 000 ires second. Binary only. Autor: 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, rr
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 ate a whole bunch maef 1,0, indudes source. Author: Water Siricfdsr nterfaM fa setuig opbons. Ro proved fransmission Demo Contest, where t won 9th (Xace. 5 Spawns its own toress A vey handy NameGame A game based on a popular type cl wac speed, and other m;na enhancements, lteudes demonsTates sound, multitasking, HAM cda. Te background task to have loaded. This s vers-cn skill puzzle contest generally sponsored by source,
Author: RtokHuebner bl.fler, ate tnwe Bmary orty. Author Rob Pock
2. 0. an update to Ff228. Ate has a completely newspapers, Bina-y
only. Author; Mike Savin, Fred Fish Disk 262 Fred Fish BI5K269
rewritten interface ate art tonify feature.
Gladstone Productons Indent This is version 1,1 olGNU indent, a C source code Calendar A program that genoratus calendars n any one of Assembly source ncJuded 9y Werner Guntho' Srevfe A public dcmajn done ol Tie UNIX 'W editor.
'ormatterAndentof. EspecraSy useful fa cleaning 10 standard formats tor any yoar after 1900.
E££iEsJUMJL2Z5 Supports window-sung, arrow keys, and the help up inconsistently indented code. Indudes source.
Binary only. Author: Pierre A du Parte VtlCOVertcn 2.5 o! The orgrai Am.ga vttM emufeta with key. This is V3.7a, an update to FF217. Changes Authors: Developed by the Ursversity of California.
ChessTutor Chess tuta is a program designed to kam! Ate xsrodem Ire transfer. Ths version adds include tie addition, ol ARP wildcard expansion Befkeloy, tte Uraversiiy B Ltlmois. Uroana, and Sun inroduce nov.ee cnass players to tte basics ol toe an AfiEXX port, new senpi ate AREXX fa lit© names, support tor the ‘fomd* feature of vi.
Mcrosystems, Inc. GNU version by JmKingdon, game. Shareware, written in Am'gaBASiC. Author ccrr.mstes. some bug fixes, the abity to use other small enhancements, and soma bug fixes, Amgapodby Dan Riley.
WikanuonJan custom extemaJ protocol modules (not XPR), ate Indudes source. Auden Various, Amiga work by Jur,bo A qutt ’brute face* program la solving la PropGadget Example code tor usmg propotonai support for ir.aJem. Update to version 2.B on disk
G. R (Fred)WaJief anagrams. Not very elegant, but gets tte ,cb
Gadgets, wntten in assembfy code ate C. that can 133 Inciudes source Author: Dave Wecker. Ten Fftd_Flih_Dl4k257 ndudos source Author. Mia Groshal teciite from ycur own appUaton includes Sum rail. Frank Armes. Ate Ojtt Fasterg CofarRoq A color palette library caitabte from any prograT.
Lotto .otto is cfe' nod to replace oa user group1 s c-d source Author Jerry Tramow FftdFisfi Disk 276 Used to adjust the cdas 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 drains 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, spr’e hardware. 660DD machne to stew the fewer right cons cl the screen in He customizable gadgets. Binary only Author JeS Qmause A very trnal mouse acce erata (4K) wrden in la-guage. Ate preempsve prortzed mtr.itasking- Res, wTiie leavmg the rest ol die sc*een in Lo-fles.
Gian and Jm Fore asserby language, but wito most ol the lectures hdudes source. AuTar: Dave Quck, Mark Riley, Binary crilv. AuTcc Richard Adtfeon Re 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 Tbs is version t 6. Shareware, bray ShowOisk A uscfJ program that graphcaly stews the map of reasonably snar. 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
mat fifes Workbench screen Iwhch Can a &o be room'icd), assembfy. And Base Binary onfy Author: Jelf QvrCW A very sma'l life view program (only 3Kj wrflen m The mapping is cctor coded so yw can identify does not refy on otter programs la 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 drocta es functions, ate is very mem ay efficient. Ths rs ikai ol its larger cousns. Version 1.1, shareware.
And lies Indudes source m assembiy tanguage.
Ver&cn 1.10. binary env Author Gary Scon Yates V* VLT is both a Vtl 00 emulata and a Tektxnur Dmary onfy. Author; Lyman Epp Author: Bermard Mesner DateRec?jester A modi e rat provides intuition tesed (ecu plus subset cl 4105) emdator, cuienty in WakJDataBank A project usng geographical data.
SpmPoiroer While gate 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 Me gem that got overlooked before. 1 supports both poirt-and-cfick sefecton of date Center) Asough lie VT100 part was ongmafy te Frecdon ol frrformaicn Act, lo draw a Mercator is a short scow modufe itel provtoes a "busy* values ate dLrec: entry of te inc.vdjal based on Dave Wetter et al.’s VT100, many ao aoi d any area of tte Earth that you would indicata replacemen; la tte standard mouse
ccmpcnerts. “ also rxfodes a srateaore 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 fas an Areti per. XMODEM Kj Also nctodes a program mi tfspiays a ‘satea ae Fffiilfl5aDiik27C from Aren macro files. Inciudes source. Aulror: CRC and Kemt protocol support also included.
New’of any rejoi VA500 20, mctodes source, WumnSef A fext iJter prolan that takes as mput a life Mark Rrnfret Other tea ires rct.de supporl for add bora!
Autha: Tte CIA, Mika Groshart. Bob Duftord with ere wad per Ire ard produces a fife with Ffrt Fisfi Disk 277 senal pens external lie transfer protocols, and FrtdFitflDiJKZM these wads lad out ti tte same aoer r, even ARTMARTM [Am ga Real Time Morota) dspays and ‘char mode. TheTektronaemJadonitows Sent nei A large ray traced anmaicn created win Turbo teocte as many as wfl M across te output ccnTcfs syssm activity such as tasks, window.
Savag IFF files. PostScript lies, and pnrcrg Silver SV. Deluxe Fhototeb. Ddme Paira III, ate screen cr page with a! Least one space between tbrates.devces. resources, ports, residents.
Btnaps 0 the primer. This is version 4225. An tte Director, 4 comasts of aoaoxjmateiy 60 to 70 columns iteudes source m Mteda-2 Autter: interrupts, ate vectors. Version0.3. binary crty.
Update to version 4.C65 on csk 245 and version frames ol ahniaawi. Rendered during a perod ol Kent Pad Doan Autter Detmar Jansen ate F. J. Menens
4. Q3S ort dsk 226. Ficcmesinrwvestons.cne 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 fa processing strings ate fists, toon has
changes include fol XPR vers.cn 2.0 support.
Contest, ate won first place in tte contest.
Indudes an rtmSon interlace and fife compression.
Several novel features, including ciaesscrs that and a soolbattTeview.Tistory buffer. Binary 3ecause ol ns We. 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 la a Esd.asMM.2a Requires 3Mb a mae 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 bay up any Bradley Schenck BADGE Killer Demo Comest, where it won 10th operations on strings to be formula tod 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 SN060L4 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 ate 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, ate won first place in tte contest.
Fred Fish Disk 271 and short, concise programs. Tresis version 75 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! Ton 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. wdgei 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 la 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 versa 2.5 from dik 23S. Shareware, bnary enfy 233 (also cafed version 1.20).
hetodes source tfcsks. The other fies are oi 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 Pose Edca is a crashes' edfor for STRepfey A shared ibrary whch a lows loading and playrg Erary only Author. Roger Caren AngaPuroA program des ted to predict the performance of produang fottaes' for Tie LaTeX system which of Sound!ratter modiies, even Iran regb level FfW Flih Disk 266 hasesinarKa The prom.se is that tte tartas nay be impaled by LaTeX Ycu can oraw ocias.
Languages ike Base a C. wtncu! Any speoal VAUX Kifer A very fumy arimaten which won 2nd affect ng a hqrw I performance, ate lAmafefy tte cashed boxes, ties, vectors, crates, boxes win efloi includes source. Autocr Otoor Wagner ptace m tte 1SB9 BADGE Kiler Demo Coroest resurtofttera».canbegwenava-us Bnary ceroered text ate plain feit- Tre$ n version it.
$ 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,ate nckfoes programs d Matts Irom the scuts, rctodng disks Tte over fies are cnas* 265, Twofoppy Baioon Ths annatcn »ito scute effects« Daves entry to some nm drawing toe's, erhanced user interface Dm*. Dmaree, eto- Update to FF165. Sores.
Dnves.a a hart disk, are sTcngy recomm,enoei me 1969 BADGE ter Demo Cortes. Srary feaures. Corozed ccoe. Ate sore tug fixes.
By: Mat: Diton 3rtuyony Autna Roger Curen orty Ajfor CaveScrtreter Binary orty. Aura: Joerg Ge'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)
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 Second 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 received 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 vr l WorkBenri riel aestss AT.igaDCS assignments wroul having to open aCU. Ass.grvr.ems may be
made try specifying a congfete pari (as supported by the CU command), cr by speech* a pari relative « the eurerc tfreaay Ttts a'2*$ a program and its ass ns ri be moved easJy h addton, WBAjtign can cr&m assgns spec'cd ci rie ccn fifes of crier programs located anywhere m rie system, Ths is verscn 1.20, binary only. Author. John GertKh Jr.
WE Res A program rial allows Woritflercfi uses to have 'esoero programs, as in the resided capaiv’.ty d wSheii. The AH? Shell and rieV B1J3 Shet. Version lib.
Shareware, binary orfy. Aurior John -lexers Fred Fish D i3X27S AmgaT rgk Throo stones which are a parody of rie Star Trek series.
With an Am ga Lava Author. Mke Smuhwiek Asxe A verson cf rie SplCt 2G.6 circuit armlyw program which has been mooted to run fi the Amiga environment The program arrays are adjusted to requro one tenth the memory ol the DEC VAX version.
Although this does not usually put much ola constraint on orcut analysis, swe users who art* used to the Mi manlrame environment may have to bi mere aware of the memory demands cf their analysis. Requfres a minimum cl 1 MS memory. This versix neither supports nor requires the 63020 processor a 68831 coprocessor. This is Amiga versions.*, an update to FF177. Binary only. Authors: Many, see Documentation. Amiga port by Dan Warns, Frag Two CU utSbes rial show d-.sk and Ue fragments ton on AmgaXS toppes. Tetodes sorce. 3y; Oavd Gay Fred Fish Disk 279 A$ ft A ksh-iAe sh i fa rie Amiga. Sore cf its
features mcfude Command substLTOcri, shel funcbcrs with parametn. A ases. Focal varaifes, toeaf functions. Deal atases. Powerful ccdrof scudres ax ssts. Erraa $ ty!e i.oe edong andhstory funders. .0 redredcn, ppes. Large variety cf twT-m commands, Iru style wildcards. Uni* styleflerame car-rensxs. F enare completer, and coecstexe wir. Scrips from orier sheis. Very wei oocjreroed. Verson ¦ .0. binary criy Aulhor Steve Keren VoiseC'ock A dock and free memoy dspay utity that generates a vnaE csp'ay bed to your mouse, using two hardware spr.ies as rie display area Verson 12, nckxJes 50uts Author
Oai Bartel MRBacMJp A hard risk backup uslty na: ooes a lie by fie copy to Handl'd AngaDOS loopy disks. Irdudesan osuion interlace and he compressdo Tte is verson 3 3e. An update to FF270. To M a sercus tug n rias verson Binary onfy. By: Mark ftrirw MflPrft; A aetabbng print ufttty rial sends eh fifes to &rer me printer devce or rie standard output Besides expanting ribs, it win iso generate page readers, ire numbers, and now margns Version 34, xtooes source. 3yt Ma*k ftnlrot Fred Rah Disk2M Berserker A virus detection program that can detect various terms c!
The common boctbtook and link type viruses Rarer than checking la a specif c vrus. It looks fa cavttons rial indcate a possible virus infection, thus it can detect new strains of similar viruses. Verson 3.Q+, incudes source in assembly. Author Rail Thanner CM A celestial mechanics simufeia wri an intuition interface.
You ccnstrucl a layout cf celesta! Bodes and specify various parameters for the bocies and the simulation. CM then animates the bodes according to the laws of gravitational attraction Scrips may be saved to disk to later reinad interesting scenarios. Version l .0, indudes source. Author: W. John Gunoiu Graph A program that era *s rrarieroa'xal functions on a piane.
Tci! And a jcs may be aided, and rie result saved to disk a pr-roed uses a M mtubon interface wiri multiple windows (one per graph), requesters, etc. Version 1.0, rcud« saute. Author: David Gay fictifiaEtDi&ai Djf GNU dfl rd t ff3 ut!ibe ». Very on 1 r10. Ths version provides a£ rie features of BSDs riff plusoptions to iff non ASC'i lift, to gxre changes that just in$ en or defefe War* tnes, to specify rie amount cf raroeit tor contBd S*!s. Pfus mere Ths vers-cr c GNU i“ is pat d the RCS pac jge found on FF2S2. Iriijoes source. Byt Haertef, Dawd Hayes, RchanJ Si Sman i Leh T ower At. Ga pot by
Raymond Brand 4 Rck Sc aef%r.
DrfOif Con pares rie contents of two orectones. Generating a 1st of dfferences to rie standard outpuL Detects f’es a directories present in ere hierarchy but no; the ctner, fie attributes rial a*e different (datos. Flags, comments, etc), and diferexes r Sle sue. Version 1.1, an uodate to Ffiaa IncAdtt wace Ajtna Wart. Hnfret FarPrnt Detx gng fjxt ms tor programs whch don’t have any Inks to ri&r enrtorrren; FarFiril con«ts cf two mayo pans:a harbour process ooen to rectrve and asroae messages and requests, and a set of CI unctions to be Inked rto any program wshrng to commoKate *1h rie Fa'Fr.ro
man process. VerskjrlJr.iXridessauroe. Author: Odf Baronei Loadimage An if FILBM reader that axapts over scanned paures, alows yw to sadl a'oud in ris btmap if rie picture rs larger than the cuter:: do ptay, works or, bcri PAL and MTSC maefmw, Supports cdor eyeing usng intemupt code, ard supports printing ol mage portions.
Version 1.9, indudes sauce. Author. Ola! Barriel MHARPRIa Evttsnded AHP file support packago that adds an orthogonal set of routines whch support genera ueto 10 with resource tracking white us mg the AC.P ibrary.
Includes scurco Author. Mark Rin'rel MRMan A package which contains an Amiga document rearing system similar to tho 'man' command on UNIX systems.
It offers a high degree of flexibility in the naming and placement cl document fifes on your system This is vortcn 1.0 and includes source. Ajrior: Mark Run!ret Freti Fist) Disk 282 PnmHandler A cusiom PRT: dnver wfnch often easy wigfe sheet support as weJ as imrted data spool ng, Verson
i. i. indudes sou-ce. Author Oaf Baronet RCS The Rev sen Control
System (RCS) manages nuiple rewsjons cf te*t Wes. RCS
automates rie siang, rePeva'. TowriS toertScaban. AxJ mrpng cf
RCS « usef J (a an that it revised freqiienjy, fa e*ampfe programs, docaneroabon, graphics, papas, form fetters, etc. Ths u RCS verwn 12. And ndudes sou-ce irie source to the GNU d-'f aogrm used wri ths dsriouion cf RCS can be louto on disk 28t).
Auritr Water Tchy. Amga pot by Rafm.ond Brand- To Be Continues.___ in Coaeluiion To ite bes; ol oo: kno.vleSgo, to ma:efc:s in ftis swy » S««ly distributable. This means they we;e e:rier pittcy posted and paced m the public doma n by their authors, or they have restrictions published n rieir f.les to which we have adhered. If you become aware of any violation of the authors' wishes, please contact us by ma I. IMPORTANT NOTICE!
This list is compiled and published as a service to the Commodore Amiga community for informational purposes only. Its use .s restricted to non-commerca!
Groups only! Any duplication for commercial purposes is strictly fort) dden. As a part of Amazing Computing1*, this list is inherently copyrighted. Any infringement on tfrs proprietary copyright without expressed written permission of the publishers will incur the full force of lega' actions.
Any non-commercial Amiga user g*oip wishing to duplicate this fist should contact: PiM Publications, he.
P. O.Box 869 Fall River. J.!A 02722 P M Publications Inc, is
extremely interested in helping any Amiga use* croups in
ncn-commercai s-bDOt' for fAMIGA & ACGUDE miga Two Great New
Ways to SAVE on the Original Amiga Monthly Resource Complete
Today, or Telephone 1-800-345-3360 PROPER ADDRESS REQUIRED. In
order to expedite and guarantee your order, all large Public
Domain Software orders, as well as most Back issue orders, are
shipped by United Parcel Service. UPS requires that all
packages be addressed to a street address for correct
One Year Of Amazing!
Our regular renewal now includes '12 monthly issues of ?
Amazing Computing plus tire Spring edition of AC GLTDE t.WGl Q ?
$ 28.00 U.S $ 44.00 Foreign Surface $ 36.00 Canada and Mexico Our New SuperSub!
12 monthly issues ol Amazintr Computing PLUS AC Cl IDFjAmjca El 3 Product Guides! Spring, Fall, and Winter! A savings of $ 32.25 off the newsstand price. The Product Guides alone retail for $ 6.95 each ._ $ 36.00 U.S $ 52.00 Foreign Surface $ 44.00 Canada and Mexico !Domestic and Foreign air mail rates available on request) Please circle if this is a New Subscription or a Renewal Charge my [JVisa EMC _ Expiration Date__ Name Address.
City_ _Zip_ VISA ¦¦¦¦¦¦ State Signature All Charges are subject 10 a S20.00 minimum (charges under S20.00 will receive a S2.00 service charge).
Please circle any additional choices below: Back Issues: $ 5.00 each US, $ 6.00 each Canada and Mexico. $ 7.00 each Foreign Surface.
V1.1 VI .2 VI .3 VI .4 V1.5 V1.S V 1.7 VI.8 VI.9 V2.1 V2.2 V2.3 V2.4 V2.5 V2.B V2.7 V2.8 Subscription: $ _ Back Issues: S 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 V4.2 V4.3 V4.4 V4.5 V4.S V4.7 V4.3 V4.9 V4.1Q V4.11 V4.12 Public Domain Software: $ 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 M2.. .Source a Listings V4.4 A 3.. .Source S. Listings V4.5 & V4.6 A44.. .Source & Listings V4.7 S V4.8 Ati5., .Source & Listings V4.9 M6.. .Source a Listings V4 to & V4.11 InNOCKufation Disk: IN 1... Virus protection A 7., .Source a Listings V4.128V5.1 AMICUS Fred Fish Disks PDS Disks: Total: i 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 2 3 4 5 S 7 8 9 10 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 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 77 78 79 NA 81 82 63 84 85 86 67 NA 89 90 91 32 93 94 95 S6 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 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 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 4096 Colors in High Resolution 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. Digi-View Gold, the best video digitizer for the Amiga,
just got one hell of a lot better. With the all new Digi-View
4. 0 software you can do the one thing most people thought was
impossible digitize and display ail 4096 colors in high
resolution! We call this revolutionary new graphics mode
Dynamic HiRes and you will have to see it on your own screen
to believe it. But that's just the start of what makes
Digi-View 4.0 a breakthrough. Other new features include:
Dynamic HAM (fringe free HAM), Noise Reduction (for the
sharpest images ever), Arexx support, super bitmap digitiz
ing (directly into Digi-Paint 3), 24 bit color support. 68020
compatibility and dozens of other new features making
Digi-View Gold the hottest Amiga graphics product ever.
It’s still just as easy to use as before. Simply focus your video camera on any objecl or picture, and in seconds Digi-View Gold turns it into Amiga graphics that glow with vibrant color and stunning clarity. Whether you are creating graphics for desktop publishing, presentations, video, or just for fun, Digi-View Gold gives you dazzling images with amazing simplicity.
Digi-View Gold is designed specifically for the Amiga
500. 2000, and 2500, and plugs directly into the parallel port.
With complete software control of color saturation,
brightness, sharpness, hue. Resolution, and palette,
advanced image processing is as easy as adjusting the
‘Requires standard gender changer for use with Amiga 1000
Digi-View Gold, Oigi'Paint 3 and Video Toaster are
trademarks of NewTek, Inc Give a man a Vch and he can watch
reruns, give him a Video Toaster and he can make his own1
controls on your television.
If you want the best graphics possible for your Amiga, then you need the best selling video digitizer of all time: Digi-View Gold.
Only Digi-View Gold:
• Can digitize in all Amiga resolution modes from 320x200 up to
768x480 (full-HiRes overscan)
• Uses 2 to 4096 colors (including extra halfbrite)
• Uses exclusive Dynamic modes for 4096 colors in HiRes
• Is 100% IFF compatible and works with any graphics software
• Can digitize in 21 bits per pixel (2.1 million colors) for the
highest quality images possible
• Has advanced dithering routines that give an apparent 100,000
colors on screen simultaneously
• Has powerful image processing controls for complete IFF picture
manipulation Digi-View and Digi-View Gold owners easy upgrade:
Upgrade to the incredible new Digi-View 4.0 software just by
sending your name, address and S24.95 + S6.00 for shipping and
handling ($ 30.95 total) to NewTek Digi- View 4.0 upgrade, 115
West Crane St., Topeka, KS 66603. If you have a Visa or
Mastercard call our loll free order line at 1-800-843-8934 and
well rush your upgrade to you immediately.
Only $ 199; Digi-View Gold is available 9i NewTek at your local Amiga dealer. ““ Or call 1-800-843-8934. INCORPORATED
Navigation PDF du magazine
Click image to download PDF