Amiga planned in the near fuiure=Ed. Dear AC: Congrats to Commodore on their new A3000 computer. It's sure to find an honored place in computing. Now of course we must all get on to the business of wondering what their next one will be like! Now that we all know Commodore has those neat 2 meg Super Agnus chips, they're going to have to release a computer with its video memory running at 14.28 MHz. Of course that would enable a true HDTV output but then the Amiga's never minded being ahead of its time. Perhaps the next Amiga could even sport dual video ports to allow monitoring of the control parameters of the video program it creates. Anyone for stereo video binoculars, 2 screen games or 2 person computing at home? And does anyone wonder why the system expansion bus ends at the cover of the 3000? Maybe the truth is that the 2000 series is limited to only 7 cards! C. Robert Spencer Spencerport, NY Dear AC: I am preparing to go to the U. K. and have a question concerning my Amiga 500. When I arrive, will I be able to simply buy a British Amiga power supply and start up my computer, or will I have to use a stepdown transformer? Bobby R. Edmonson Honolulu, I-II -When you reach your destination in the U.K. contact one of the local Amiga dealers and ask them if you need a power converter ora neiopouersupply.
Click image to download PDF
See article entitled Apples, oranges and MIPS on 68030 accelerators.
INSIDE Commodore announces CDTV 47 New machine makes for an inexpensive multimedia workstation.
AmiEXPO ’90 Basel, Switzerland by Peter Sacks Highlights include the A3000 and a speech from AmiShows President Alexander Gloss.
Apples, oranges, and MIPS by Ernest P. Viveiros, Jr.
68030-based accelerators for the Amiga 2000.
REVIEWS Pixound 18 by R, Shamms Mortier Now you can "hear'' what your eyes see.
Hyperchord 18 by Howard Bassen Stretch the limits of your musical ability.
Batman: The Movie 55 by Miguel Mulet As Batman, you must save Gotham City from that nasty villian, the Joker.
The Jetsons 55 by Miguel Mulet Spacely Sprockets sends you, George Jetson, on a special assignment to the planet Robotopia.
Adventures Through Time: The Scavenger Hunt 55 by Miguel Mulet Travel as Buck Walker on a scavenger hunt through time.
COLUMNS New Products and Other Neat Stuff 14 More Amiga products to look out for.
1990 Snapshot 23 by R, Bradley Andrews Broderbund's Where in Europe is Carmen Sandiego, and more.
Bug Bytes 43 by John Steiner Problems with Perfect Sound 3.0, and what's happening with WB 2.0?
PD Serendipity 45 by Aimee B. Abren Create a personalized icon with IE, an icon editor, plus more.
Roomers 61 by The Bandito What's up with Commodore lately?
The Command Line 75 by Rich Falconburg Experimenting with serial port communication.
C Notes From The C Group 76 by Stephen Kemp Doubly linked lists revisited PROGRAMMING Exceptional Conduct 37 by Mark Cashman Quick response to user requests, achieved through efficient program logic.
Poor Man’s Spreadsheet 41 by Gerry L, Penrose A simple spreadsheet program that demonstrates manipulating arrays, Tree Traversal and Tree Search 58 by Forest W. Arnold Two methods for traversing trees.
Crunchy Frog II 65 by Jim Fiore Adding windows and odds 'n ends.
Getting to the Point 50 by Robert Dasto Custom Intuition pointers in AmigaBASIC.
HARDWARE Synchronicity 27 by John lovine Right & left brain lateralization, Snap,Crackle, & POP! 39 by Richard Landry Fixing a monitor bug on Commodore monitors.
|£]SU!lNlLTiiaB Editorial 4 Feedback 6 List of Advertisers 80 Public Domain Software 93 Amazing Computing For The Commodore AMIGA1 ADMINISTRATION Joyce Hicks Publisher: Assistant Publisher: Admin. Assistant: Circulation Manager: Asst. Circulation: Corporate Trainer: Traffic Manager: Robert J, Hicks Aiisa Hammond Doris Gamble Brigitte Renee Plante Virginia Terry Hicks Robert Gamble International Coordinator: Donna Viveiros Marketing Manager: Ernest P. Viveiros Sr.
Programming Artist: E. Paul EDITORIAL Managing Editor: Associate Editor: Hardware Editor: Technical Editor: Video Consultant: Copy Editor: Don Hicks Elizabeth Fedorzyn Ernest P. Viveiros Sr.
J. Michael Morrison Frank Me Mahon Aimee B. Abren Lisa
Friediander Andy Patrizio Greg Young William Fries Paul
Michael Brian Fox Marilyn Gagne Melissa-Mae Viveiros Copy
Editor: Copy Editor: Copy Editor: Art Director: Photographer:
Illustrator: Research & Editorial Support: Production
Assistant: ADVERTISING SALES Advertising Manager: Donna Marie
1-508-678-4200 1-800-345-3360 FAX 1-508-675-6002 SPECIAL
THANKS TO: Buddy Terrell & Byrd Press Bob at Riverside Art,
Swansea One Hour Photo Pride Offset, Warwick. Ri Mach 1 Photo Amazing Computing1" (ISSN 0886-9480) is published monthly by PiM Publications. Inc.. Curran: Hoad P.O. Box 869. Fall River, MA 02722-0669.
Subscriptions in the U.S., 12 Issues (or S28.00; in Canada & Mexico surface, $ 36.00; foreign surtace lor $ 44.00. Second-Class Postage paid at Fall River, MA 02722 and additional mailing offices.
POSTMASTER: Send address changes to PiM Publications Inc.,
P. O. Box 869. Fall River, MA 02722-0869. Printed in the U.S.A.
Copyright© June 1990 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.
Pim 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 lormal 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.
AMIGA1" is a registered trademark of Commodore-Amiga, Inc. KNOWLEDGE MACHINE Discover the power of the Amiga with Resource" Intelligent Interactive Disassembler for the Amiga Programmer Resource will enable you to explore the Amiga.
Find out how your favorite program works. Change annoying features. Examine your own compiled code.
Load save any file, read disk tracks, or disassemble directly from memory.
? Automated symbol creation: JSR *$ 1E(A6) becomes JSR _LVOOpen(A6) MOVE! $ 3EE,D0 becomes MOVE.L MODE_NEWFILE,D0 Virtually all Amiga symbol bases supported.
Now supports user defined symbol bases!
Single-key fonward and backward referencing makes following subroutines easy!
Special support for base-relative addressing.
Many files may be successfully reassembled directly from Resource output. In a trial disassembly, "Preferences" was disassembled, and the resulting source code assembled into a working program, all in under 15 minutes.
If you're serious about disassembling code, look no further!
"Resource is fully-featured and flexible... Everything is fast. The program is astonishing in many ways.
The massive size of its internal tables boggles the mind. I admire the remarkable accuracy with which it makes intuitive guesses at the nature of certain bytes."
Jim Butterfield, Transactor Vol. 2 US Now shipping Resource V4.00 * Order yours now!
VISA. MasterCa d, chock or money order accepted ¦ no CODs. Not available in retail stores.
$ 95 The Puzzle Factory, Inc.
P. O. Box 986 Veneta, OR 97487 Orders: (800) 828-9952 Customer
Service: (503) 935-3709 EDITORIAL COMEM Commodore Announces
CDTV THE CONSUMER ELECTRONICS SHOW (CES) held twice each year,
has always been regarded as the first place to see and
experience die consumer products that will shape our lives.
At CES everything from FAX phones to car stereos are shown to the large number of store buyers, investors, and press who gather every six months to see what direction the world is taking.
Commodore Business Machines usually attends CES, they have always maintained products such as the CCA and 123 computers as consumer items. It was a little unusual, however, that CBM did not attend Comdex (running on almost die exact same dates in Atlanta). Whispers, rumors, and wild guesses all suggested that something major was in die works.
Surrounded by Nintendo, Sega, and a host of entertainment software companies, Commodore’s booth demonstrated .Amiga 3000's, A2000'.s, A500’s, and even a few very special MS-DOS machines (including a slick little laptop, the 286LT). Yet, still further in the booth, behind closed doors, stood the newest of Commodore's products. A small black box, extremely similar in appearance to a VCR, was performing Amiga software and demonstrations from compact discs. While booth personnel were busy demonstrating the separate abilities of die new Commodore Interactive Graphics Player, they repeatedly
reminded everyone that die player was not a computer. It was a new education entertainment appliance.
Commodore calls this new format Commodore Dynamic Total Vision or CDTV.
Amiga developers call it opportunity.
Hybrid Technology Once again, Commodore lias been able to set a standard and create a technology before its competition. Compact disc players for computers is not a new concept. However, this hybrid technology of an Amiga computer integrated with a compact disc player permits die user access to vast amounts of computer ability without using a computer.
The technique is similar to that found in everything from refrigerators to automobiles.
Computers are now working quietly in die kitchens a nd u nder the hoods of a major portion of the American population. This has been successful because the computer is integrated into die design of each unit and the consumer is never face to face widi die computer. People who would balk at using a keyboard, have no difficulty setting the timer on their microwave or starting dieir car. Yet in each incident, these people have interfaced witli a dedicated computer and have instructed that computer to perform a function.
Commodore has taken tills concept and integrated the multitasking and special graphics capabilities of the Amiga with die large format and (almost) indestructible nature of the compact disc. Commodore views the CDTV player as a means for any person to research a subject, entertain friends, or present a business proposal with computer efficiency without die need to access the computer.
Although Commodore executives have flatly stated that they will not pre-announce products, they have quiedy suggested that peripherals for existing Amiga 3000’s, 2000's, and 500’s would not be far behind. Their interest in making die CDTV format available to Amiga owners is to tap the already large installed base of Amigas.
CDTVFuture With CDTV, we are witnessing the first views of what life will be like for all of us in the next decade. If we can forecast the future based on the directions of the present, then we must assume diat the age of information will continue. We are forced to view the abilities of video as more than a means of entertainment and look at the advances the Amiga lias brought to die media in presentations with graphics and sound. Video will continue to become more integrated in our lives and our work.
The Commodore Interactive Graphics Player is the first tool designed to take advantage of bodi computer ability and ease of use. One of die main hurdles in using computers more successfully in education has been the inability to orchestrate the computer into the general curriculum. Computers became an extra subject instead of a means to teach existing ones. Slowly small steps have been made to integrate the computer into subject matter, but die advances have remained minimal and far from die mainstream.
Now Commodore has offered the educators of our world the opportunity to address vast amounts of material and integrate it into a presentation. Whether it involves researching items through an encyclopedia or discovering the world through an interactive adas, teachers now have a too! That is easier to use than a film projector, and one that is a lot more predictable. Students can become involved in their studies instead of being passive. With the right software, CDTV can become the one format that 110 school can afford to be without.
HomeCDTV The same features that make CDTV so important in an academic environment, will also make it a valuable too! At home. Yes, there are people who have spent thousands of dollars for encyclopedias, globes and reference books, only to have their children avoid them like the plague, However, CDTV is different.
CDTV in die home can be an educator dial works as an entertainer. The entertainment market is very excited about the possibilities of what is available through CDTV. One of the most often asked questions at CES in die entertainment booths were “Have you seen Commodore's new player and what did you diink of it," This was almost always followed by die statement, "We will be doing something for it real soon.'' If Commodore’s third party vendors come through, there will be 100 titles for the CDTV player by die launch in September with an additional 100 tides available by die holidays.
Add the optional Amiga disk drive and the CDTV player will be able to access all the software currently available for the Amiga. One caveat, the software on the CDTV player will only lie as useful as the peripherals you have purchased: remember, if a program calls for keyboard input and you have no keyboard, you are stopped.
Innovation With Amiga 3000's now shipping in the United States and the promise of CDTV, Commodore is becoming the innovating computer company of the 90's. But remember, don’t lose the remote control.
Now You A Professional 3D Animation Rendering System for the Amiga For More Information Call 612»566*022I jffrTC, Circle 115 on Reader Service card.
Dear AC: I just finished reading the April, 1990 issue of Amazing Computing, and 1 feel compelled to write.
John Steinerwrites again about problems with revision 6.1 motherboards. I read several months ago about a so-called problem with revision 6 motherboards and multiple expansion boards that turned out to be due to a batch of slightly flawed Motorola 68000 chips. That article offered a couple of solutions.
The simpler, and probably cheaper approach is to install a new CPU. I understand one costs about ten dollars. The article also stated that revision 6.2 boards are modified to accommodate any future batches of loosely made chips from Motorola. Is this the solution to some of Mr. Baebier's problems?
Oran Sands' report about possible genlock problems made me angry after 1 thought about it for a while. He writes that the quality of genlocked video may be affected by the fact that different members of the .Amiga family put out RGB signals at different power levels. At least that is what I think he is saying. I am not an engineer or video professional. I do not own a genlock either. Certainly Commodore is responsible for the variable power levels of the RGB signals across the Amiga family, but he and die genlock makers are not totally free of blame for the problems this may cause.
As an Amiga 500 owner, 1 expect that if someone presents to me a product that is suitable for my machine, it will work as advertised. 1 expect the product to be properly designed and tested. I infer from Mr. Sands' article that some manufacturers never tested their products with the Amiga
500. Further, it appears that Mr. Sands either led or allowed
people to believe that genlocks he was paid to review and
test would work in a consistent manner on all Amigas when he
did not know this to be true.
The problems this may be causing is not a result of Commodore suddenly changing tire rules of die game again; I think they are die result of sloppy, unprofessional work by some manufacturers and himself. I am offended when he tells me that he and some genlock makers did not do their homework, and any problems this may cause are ail Commodore's fault.
I once bought a peripheral for my Amiga 500 after I quizzed the president of the company about the suitability of Ills product for my hardware configu ration. He assured me his product was ideal for my set-up. It did not work. I am certain the product was never even tried out with a
500. I battled this product for a couple of weeks and got it to
function (like a car with a top speed of ten miles per
hour). Later the company told me diere was a "timing
problem", as if it was an act of God. Fortunately, 1 think
that company is out of business.
It is popular to blame Commodore for all the problems in the Amiga community. I agree Commodore deserves much of the criticism directed at it. I also know there are many dedicated and responsible Amiga developers, However, when an Amiga developer, hardware or software, does a less than thorough job of designing, making and testing his product, the developer is at fault, not Commodore. That developer must be held accountable.
Peter Margenau Shohola, PA Mr. Margenau has every right to be angry about the genlock RGB level situation.
However, I think he's getting mad at the wrong people. Commodore made the mistake of assuring everyone that all Amiga models had the same signals on the RGB port. If I had a dollar for every time Commodore proudly mentioned tbeir “NTSCSIandard outputs’'Id be a very! Neb man. The manufacturers and reviewers were unwitting dupes of these statements.
The reviewers bad no reason to suspect that there was an interchange problem. The manufacturers had (in some cases) noticed the varying levels of RGB signals but no one until myself noticed the pattern across the models. I’ve since been thanked for these findings by several genlock manufacturers. Up till now they merely thought the varying levels were clue to Amiga’s lack of quality control. (This is partially true. My tests have shown that'even within models the levels still vary.)
Try manufacturing a device to work properly with levels that you know a regoir ig to vary quite a bit. It isn ’teasy or cheap. The manufacturers tweak their products on a bench with whatever unit they use. Often a .500. sometimes a 2000. Having Commodore's assurance that the levels will be the same led them down a prim rosepath.
Several manufacturers designed their genlocks with adjustable inputs to allow the user to cope with the problem. Some genlock’s design was locked in when the only A miga sold was the A1000 (wbich as shown was indeed almost to the proper levels).
Genlock quality has varied so much in the past that reviewers had no reason to suspect that there was a system interchange IMPACT A3001 UPGRADE KIT Now Available with 50Mhz 68030Acceleration Create the fastest Amiga in the World with an A2000 and our A3001 Kit Up to 8MB of 32-Bit Wide DRAM Hard Disk Drive Interface ' Optional 68030 Boot EPROMS (UNIX “, etc.)
- Autoboot EPROMS for Hard Disk 40MB or 80MB Hard Disk Drive
32-Bit 68030 Bus Interface 68030 CPU with 28,33 or 5GMhz
Oscillator f 68882 FPU running at 28,33 or 50Mliz Choose the
IMPACT A2Q00 +CTP A3D01 CBM A2500 30 CBM A3GOO" All A2000
Expansion Slots Free!
A A3001 Upgrade Kit Installed SOMhz 25MhZ ZSMliz 28-SOMhz 25Mhz 25Mhz into your Amiga™.
Enhance your productivity and create more powerful resufts when you choose these key features:
• Factory installed 68030 CPU running at 28 Mhz, 33 Mhz or 50
• Factory installed 68882 Floating Point Processor running at
28,33 or 50 Mhz.
• 4 or 8 MB of 32-bit wide high performance DRAM.
• Built-in Autobooting High Performance Hard Disk Controller with
data transfer rates well over 700KB sec.
• Quantum 40MB or 80MB hard disk drive with an average read
access time of llms (19ms on write) and 64KB read-ahead cache,
[f you already own a hard disk, this item can be optional.
• Asynchronous design allowing the 68030 to run ASYNCRONOUS to
the rest of the A2000 improving GENLOCK compatibility.
• ZERO SLOT SOLUTION!
With the A3001 Configuration along with the bundled 40Q or 80Q Hard Disk Drive ALL A2000 EXPANSION SLOTS ARE LEFT FREE FOR FUTURE UNLIMITED EXPANSION!
When you compare, the choice becomes clear.
GVP is unbeatable for price and performance.
Allows user to start with law-cost A2000 Amiga system and grow all the way to SOMhz 66030 perlormance without sacrilicing anything._ Number ol Open Amiga expansion slots with bard disk drive and SMB Fast memory installed.
Factory installed G8S8Z Floating Point Processor Clock Speed._ Typical toy Tracing speed relative to a standard A2000 (2BMh; Impact) Brand name vendor with solid reputation.
Hard Disk Controller on 68030 Processor Board.
Maximum CPU Clock Speed available t shipping Today.
68030 Burst Mode COMPARE: 68030 CPU ate trademarks ol Great Valley Products. Inc. and A30D0 are registered trademarks of Inc. a registered trademark of ATST. Inc, GREAT VALLEY PRODUCTS INC. New Address: 600 Clark Ave., King of Prussia, PA 19406 Circle 123 on Reader Service card- For more information, or for nearest dealer, call today. Dealer inquiries welcome.
Tel. (215) 337-8770 • FAX (215) 337-9922
- AMIGA CHIPS, PARTS & UPGRADES "Fitter (Super) AGNLlS 8372
-S99.50 with simple 10 minute step by step instructions, FREE
Chip'Extracior valued at SI5.95 at no charge.
• A-500 H D Power Supply $ 69,50
• A-2000 Power Supply $ 149.00
• Amiga Diagnostician ?7 $ 10.95 S 10.95 $ 10.40 $ 49.95
• 256 x 4 100
• I MEG i 1 100
• 8362 64
* A501-512 RAM bd $ 79.95
* 1.3 KicknanROM $ 27.95
* 8520 $ 17.95
• AMIGA 1000 REJUVENATOR PACKAGE • New Product - The Amiga 1000
Expansion Board is now available with die following
features:Utilizes the Fatter Agnus Chip,1,3 1.4 Kickstan ROM
and New Denise * One Meg of Chip RAM* Clock-Battery Backup
• Simple Solderless Installation • 100% Compatibility with ail
Products Software * Various Packages Available * $ 479-00
The Grapevine Group, Inc. 35 Charlotte Drive Wesley Hills, NY 10977 t-800-292-7445
• (914) 354-4448 FAX (914)154-6696 VISA.
Prices subject to change Circle 147 on Reader Service card Ivmv tor complete catalog problem. It would merely appear to be another genlock of “fair" quality. My tests were always done on an A1000 until recently, when I began to indicate the model of Amiga that it was designed for.
Mr. Margenau should be thankful that the matter is now public.
Most genlock manufacturers are computer people making video products and they’ve found it isn’t as easy as they once thought. MA GNIdecided not to use the Amiga's RGB analog signals from the start.
SuperGens were retweaked after th e release of the500and2000. Others may have been readjusted as well. I know of some that weren't.
Video professionals have become used to equipment that meets NTSC specs. That is considered a minimum requirement.
Don't blame the messenger for the content of the message. He only delivers it.
Oran Sands Dear AC: There seems to be a problem importing the .IMG clip art files into PageStream with some Hard Drive controllers. I was using a C-LTD (non-autobooting) controller without any problems. A couple of friends of mine liked die .IMG files and tried to use them. The machine would GURU every time.
Solution? A member of our user group, (A.S.L.U.G.) Amiga Support League and User Group, came by a number for the MAX TRANSFER rate in the mountlist of hard drive boot block. Replace the MAX TRANSFER number with 130560.
This has solved the GURU problem with a MicroBodcs Hardframe, and a GVP Impact SCSI.
If you are having similar problems I hope that this will help.
Lloyd Campbell Centralia, VA Dear AC: To all users of Deluxe Music... First, a tip: they tell me, and I've noticed, that its printer driver is compatible only with WB1.2. This is a call to all of us to stand up and shout to Electronic Arts to update Deluxe Music as drey have DeluxePaint and DeluxeVideo. Deluxe Music is the best (and only) MIDI scoring program for die Amiga. Besides that it is terrific for composing in speed and flexibility. I’ve been using it daily since it came out 3 years ago. I couldn't do without it and ought to be an expert on it by now (though I only just discovered
how to merge files...do a COPY (Amiga-C) on die file you want to merge into anodier piece of music, load drat odier piece, dien do a PASTE (Amiga-V).
Dr. T’s Copyist, die only other scoring program for Amigites, while it ends up looking more professional, is not really midi-able or very' editable; you can’t compose and play around in it because it’s terribly tedious compared with DMCS.
DMCS offers all the playfulness and options of a word processor...for music, and lets you do diings you never imagined and impossible before.
So write to EA that it’s a disgrace they don’t won’t update Deluxe Music for the Amiga (diey apparently did for Apple) to make it print proper professional-looking scores. Urge 'em to get on it, or to seek out someone who will do it for them. It doesn’t need much more to be perfect; it would be wordi twice the price. It’s cheap now but extremely useful. The powers at EA say that there is simply no one there interested in working on it. Is there anyone else who would?
If EA can go to the moon with Dpaint and Dvideo let’s get them to do it with Dmusic. Thanks, and here’s hoping.
Warner Jepson San Francisco, CA !G A recent conversation with Electronic Arts confirmed that Deluxe Music's printer drivers are only fully compatible with WB
1. 2. They are currently having trouble with WB 1.3. Also, there
is no update for Deluxe Music for the Amiga planned in the
near future. Ed. Dear AC: Congrats to Commodore on their new
A3000 computer. It’s sure to find an honored place in
computing. Now of course we must all get on to the business of
wondering what their next one will be like!
Now that we all know Commodore has those neat 2 meg Super Agnus chips, they’re going to have to release a computer with its video memory running at 14.28 Mhz. Of course that would enable a true HDTV output but then the Amiga’s never minded being ahead of its time. Perhaps tlie next Amiga could even sport dual video ports to allow monitoring of the control parameters of the video program it creates.
Anyone for stereo video binoculars. 2 screen games or 2 person computing at home? And does anyone wonder why tire system expansion bus ends at the cover of the 3000? Maybe tire truth is that the 2000 series is limited to only 7 cards!
C. Robert Spencer Spencerport, NY Dear AC: 1 am preparing to go
to the U.K. and have a question concerning my Amiga 500.
When I arrive, will I be able to simply buy a British Amiga power supply and start up my computer, or will I have to use a step- down transformer?
Bobby R. Edmonson Honolulu, HI When you reach your destination in the
U. K. contact one ofthe local Amiga dealers and ask them if you
need a power converter or a new power supply. Or, contact
Commodore International in the U.K. (011-44- SI528-9869).
Tljey will lead you in the right direction. Ed. -PC' All
letters are subject to editing.
Questions or comments should be sent to: Amazing Computing
P. O. Box 869 Fall River, MA 02722-0869 Attn: FEEDBACK Readers
whose letters are published will receive live public domain
Apples, Oranges, Accelerators, & MIPS 68030 Accelerators for the Amiga 2000 by Ernest P. Viveiros, Jr.
MOST AMIGA USERS SEE THE new A3000 and wonder why they will ever need an A2000. When discussing speed alone, it would appear that the new A3000 would easily pass the A2000. Yet, existing A2000‘s may be modified by the many accelerator cards available. So a simple test of a stocked A3000 seemed absolutely necessary.
However, trying to compare all of the 68030 accelerators for the Amiga 2000 would be like comparing apples to oranges to bananas. It would be unfair to place an accelerator card that boasts nibble mode 32-bit DRAM memories (found in NeXT and Apollo workstations) along side a low-end, bare bones processor accelerator that is just a chip and little else.
This article is not meant to be the complete guide to accelerators. Instead, it is intended to open up to question and review the various options and configurations available in the Amiga 68030 accelerator market. You will see that the bottom line shouldn’t be which accelerator is the fastest, at which price. After all, any 33 Mhz 68030 accelerator is going to be considerably faster than the same chip running at 28 Mhz, and that all like processors basically run the same speed.
After all, a MIPS (Millions of Instructions Per Second) measurement or Dhrystone bench- mark probably means nothing to a novice programmer who needs processing speed and hard disk access to speed up the software development process; or an artist who needs raw processing power to speed up the creation of animations, or even Joe Amiga who wants to add a little pep to his everyday efforts.
Each individual has different needs (including budget constraints) which would lie satisfied by specific processors with specific configurations. It is our goal that after individual accelerator reports we will bypass the nonsense boasted by benchmarks with some real-world tests that the user can relate to: compiling, ray- tracing, color separations, archiving files, working with databases, etc. These numbers mean a lot more to a user than a pile of Mil'S. That’s not to say the MIPS and Dhrystone benclimarks are not important. They are! They provide an excellent base on which to evaluate
the speed of a 12500 10000
9. 855 T":
7. 70 GVP Impact A3050 Amiga A2630 Hurricane 2850 Amiga 3000 25
Mhz H GVP Impact A3001 GVP Impact A3033 Speed 2.0 (CPU
12. 00 MIPS (Millions of Instructions Per Second)
Dhrystones second (using burst mode)
10. 00 -
8. 00 ¦¦
0. 00 18000 16000 14000 12000 | 10000 8000 S00D 4000 2000 0 16 14
12 10 5 6 4 2 0
14. 807 main processor. In fact we have included a chart of the
MIPS and Dhrvstone benchmarks (as well as one of Speed 2.0}
for the accelerators we examined. [See chans at left.]
Let's get down lo brass tacks, We are going to look at
accelerators from three of the companies which produce
68030 accelerators for the Amiga 2000; Great Valley Products,
Imtronics, and Commodore-Amiga.
First let's take a look at the Impact series of accelerators from Great Valley Products (GVP).
Their accelerator products for the Amiga 2000 include; GVP A3001-4MB 0 28 Mhz 68030 68882,4 M B 32-bit HAM. Without hard drive, $ 2299.00 GVP A3001-4MB 40Q 28 Mhz 68030 68882. 4 MB 32-bit RAM. With 40M5 Quantum AT hard drive. $ 2799 00 GVP A3001-4MB 80Q 28 Mhz 68030 68682. 4 MB 32-bit RAM, with 80MB Quantum AT hard drive. S3199.00 GVP A3033-4MB 0 33 Mhz 68030 68882,4 MB 32-blt RAM, without hard drive. $ 3199.00 GVP A3Q33-4MB 40Q 33 Mhz 68030 68882, 4 MB 32-bit RAM. With 40M8 Quantum AT hard drive. $ 3699.00 GVP A3033-4MB 80Q 33 Mhz 68030 68882. 4 MB 32-bit RAM. With 80MB Quantum AT hard drive.
S3999.00 GVP A3050-4MB 0 50 Mhz 68030 68882,4 MB 32-bit RAM. Without hard drive. $ 4399.00 GVP A3050-4MB 40Q 50 Mhz 68030 68882, 4 MB 32-bit RAM, with 40MB Quantum AT hard drive. $ 4899.00 GVP A305D-4MB B0Q 50 Mhz 68030 68882,4 MB 32-bit RAM, with 80MB Quantum AT hard drive. $ 5199.00 The Impact accelerators from GVP offer the following as standard options along with the factory installed 68030 68882 processors;
• 4 MB of 32-bit nibble mode DRAM supports up to 8 -MB on board,
(which allows full support of die 68030 burst mode).
• Built-in autobooting hard disk controller (with data transfer
rates over 700KB sec.).
• Asynchronous design to improve genlock compatibility.
• Zero slot solution (the processor, the DRAM, and the hard disk
controller use only one slot the coprocessor slot).
Options include your choice of 28MHz, 33MHz, and 50MHz processors, as well as a 40MB 80.MB (11 ms w 64K read-ahead cache) Quantum hard drive.
100,000 Satisfied Customers NOW EVEN LOWER PRICES!!!
MEMORY M501 A500
79. 95 System Packages Starboard 1MB
289. 95 We customize AMIGA 2000 and Starboard 2MB
399. 95 AMIGA 3000 desktop video 8-UP with 2MB
289. 95 systems to meet your individual 8-UP with 4MB
449. 95 needs. Call and talk to one of our 8-UP with 6MB
599. 95 system specialists to get the best 8-UP with SMB
749. 95 price for your requirements.
33 Mhz 68030 33 Mhz 68882 with 4 MB of 32 bit memory
2549. 95 with 40 MB hard drive
2899. 95 with 80 MB hard drive
3199. 95 28 Mhz 68031) 28 Mhz 68882 with 4 MB of 32 bit memory
1949. 95 with 40 MB hare drive
2399. 95 with 80 MB hare drive
2699. 95 HARD DRIVES GVP Hardcard O 159.95 GVP A2000-2 0 179.95
GVP A2000-8 0 199.95 HardFrame 219.95 Hardcard 40MB 499.95
Hardcard 80MB 699.95 Hardcard 105 MB 799.95 Quantum Pro 40
379.95 Quantum Pro 80 649.95 Qunatum Pro 105 699.95 Supra
105 1000 1099.95 Supra 105 500 999.95 Supra 40 1000 683.95
Supra 40 500 599.95 Supra 80 1000 949.95 FDATA-10 FDATA-20
99. 95 239.95 1099.95 Government and School Purchase Orders
Circle 114 on Reader Service card.
Supra 80 500 875.95 Supra Wordsync 169.95 uircie n1 on neaaer service cara.
| InterComputing, Inc. 1-800-622-9177 C' jfeiM 2100 N Hwy 360. Suite 2101. Dallas, TX 75050-1015 Customer Service: 214-988-3500 VIDEO Flicker Fixer Framebuffer with 1MB Magni 4004S
1699. 95 with remote MiniGert Panasonic 1410 Panasonic 1500
Panasonic Vari-Lens Polaroid Freezeframe ProGen Sharp
JX-100 SuperGen SuperGen 2000 SOFTWARE Deluxe Paint III
89.95 Digi Paint 64.95 Digi View 4.0 129.95 Digi Works 3D
79.95 Diskmanager MAC 79.95 Homebuilder’s CAD 119.95
Lattice ++ 249.95 Pagestream 2.0 179.95 Prowrite 3.0 99.95
Saxon Publisher 249.95 Soundscape Pro MIDI 109.95 Turbo
Silver 109.95 CALL FOR UNLISTED TITLES InterComputing
Deutschland Inc. Schonbecker Sir. 55-57 Telefon: 0202 89155
5600 Wuppertal-2 Telefon: 0202 89304 InterComputing France
34, Avenue des Champs Elysees Phone: (1) 42821603 75008
Paris ' FAX: (1)42806649 U always ur have the most
'customer friendly' terms Sift $ 4.95 in cant. USA; $ 30.00
mitt, order : MASTERCARD & I ISA with NO credit card fee:
in Texas add 7‘k Sales Tax. $ 12.00 shipping to APOIFPO
addresses. RMAtt required on all returns. All prices
subject to change.
E® 1 VISA A Look at CSA’s Mega-Midget Racer AT PRESS TIME, WE RECEIVED AN interesting accelerator product from Computer Systems Associates. Inc., (CSA) the Mega- Midget Racer. Tile first tiling noticeable about this accelerator is that it doesn't plug into die coprocessor slot in an A2000. Instead, die Mega- Midget Racer plugs into the 68000 processor socket in an A2000 or A500. The replaced 68000 is resocketed on the Mega-Midget Racer, while the processor is software-selectable, 100% compatibility is boasted by using the on-boarci 68000.
You could call the Mega-Midget Racer the ‘What You Want is What You Get' accelerator.
The basic Mega-Midget Racer comes without a processor. You can choose from options which Next, let's take a look at the Imtronics' Hurricane series of accelerators for die Amiga 2000: Hurricane 2800-0KB 28 Mhz 68030 68682,0KB 32-bit DRAM.
51195.00 Hurricane 2800-4MB 28 Mhz 68030 68882. 4MB 32-brt DRAM.
SI 995.00 Hurricane 2800-4MB 40Q 28 Mhz 68030 68882. 4ME3 32-bit DRAM, 40MB Quantum SCSI hard drive. 52495.00 Hurricane 2800-4MB 80Q 28 Mhz 68030 68882 . 4MB 32-bit DRAM. 80MB Quantum SCSI hard drive. 52595.00 Hurricane 2B50-0KB 50 Mhz 68030 68882. 0KB 32-blt DRAM.
53295.00 Hurricane 2B50-4MB 50 Mhz 68030 68882,4IM3 32-bit DRAM.
S3995.0Q Hurricane 2650-4MB 40Q 50 Mhz 68030 68882 , 4MB 32-bit DRAM, 40MB Quantum SCSI hard drive. 54495,00 Hurricane 2850-4MB 80Q 50 Mhz 68030 68882, 4MB 32-Dit DRAM, 80MB Quantum SCSI hard drive. S4595.C0 The Hurricane accelerators from Imtron- ics offer tlie following as standard options along with the factory-installed 68030 68882 processors: include a 68030 running at 20, 25, or 33 Mhz.
Also optional is a 68881 68882 math coprocessor, which can be clocked by either the processor's CPU or even a second luster one (up to 50MHz). Finally, for you speed demons, an optional high-speed 32-bit, 512K SRAM bank is available. The Amiga ROM Kernel is copied into and executed out of this high-speed, 32-bit SRAM. This is sure to liven up a sluggish Amiga.
It is often said that you get what you pay for. With the Mega-Midget Racer's low price, that statement goes right out die window! The engineering put into this product is commendable, including die notable use of surface-mount technology to enhance reliability. This preliminary examination of die Mega-Midget Racer proves it to lie an interesting 1 Zero slot solution (die processor, die DRAM, and the hard disk controller use only one slot die coprocessor slot).
Finally let's take a look at the A2630 board from Commodore-Amiga.
A2630 25 Mhz 68030 68882,2 MB 32-bif RAM.
52195.00 The only feature die A2630 offers as standard options along with factory-installed 68030 68S82 processors is die 2MB 32-bit memory.
This is expandable to 4MB using standard ZIP type DRAMS.
HVSTALLA TION & DOCUMBNTA TIGS In our preliminary testing, we have found all accelerators to work effectively once diet7 were installed. The technicians who test and write accelerator articles ail too often forget that die average power user (for example, an artist who needs ray-t racing power) is not all tiiat technically motivated. Lie readsan article which says that the installation is a simple matter of inserting a card. He can handle that, so he pulls out itis trusty7 credit card and orders. When die package arrives he zealously rips apart the packaging, eager to use his newly bought
power. However, he quickly finds himself with a manual filled with technical terms, an accelerator card with EPROMS that have to be installed, not to mention the endless jumpers that have to be set. And dien there's the software. All this can be very scary for a non-technical person, and will often result in costly calls to the accelerator company’s technical support line.
This is not always die case, but too often it is. We often forget how' important good documentation, and tech support is, especially with products that you are paying diousands of dollars for. Then diere is die fact that some of die configurations that you can buy don't come prepared or preassembled. You could probably put it together with a good manual, but loo often entry into die A2O00 accelerator market. It offers all of the basic features that users want of an accelerator, at an unheard of low price. You'll be hearing more about die Mega-Midget Racer, bodi from Amazing Computing, and the
many satisfied customers. UPVjr Mega-Midget Race.’ without Processor: 5675.00 Mega-Midget Racer with 20-MHz 6S030: $ 795.00 Mego-Midget Racer with 25-MHz 68030: S89S.00 Mego-Mldget Racer with 33-MHz 68030: 51095,00 Computer Systems Associates. Inc. (CSA) 7564 Trade Street San Diego. CA 92121 Phone: (619) 566-3911 FAX (619) 566-0581 Inquiry 334 tlie manual is insufficient for an average user.
Once again, this might not bother the teciino- phile, but it would frighten die average user (although, sometimes even technophiles are frightened at these packages and manuals).
Tlie point is not that the product is bad because you may have a hard time assembling it, but maybe you should purchase it from a dealer and have him install it (he'll also he diere to support you if you run into any compatibility problems later).
Finally, diere is die software and hardware compatibility problem. For die most part, most software will run with tiie Amiga in die 68030 mode. The majority that won't will run in the 68000 mode. However, diere is some software and some interface hardware that won't run with some accelerators, it's not very satisfying to buy an accelerator and then find that it won’t work with your favorite program. You would be well advised to contact die manufacturer about any software N hardware incompad- bilides.
With all this in mind, let's take a closer look at these accelerator packages: THE GVP IMPACT ACCELERATORS We were pleasantly surprised upon opening die boxes for die GVP Impact boards.
The GVP Impact accelerators without hard drives come preassembled, and pre-jumpered.
The installation is flawless: just plug die board into the coprocessor slot and turn die machine on that is. In most cases, in rare cases, die board is improperly jumpered, or a juniper might come loose in transit. However, a quick call to die helpful people at GXP tech support line can easily resolve this minor problem.
(“Note! IfyourA2000 motherboard is one of the fust German-made motherboards (4 layer¦), you aregoing to have toremoveyour68000from the motherboard, regardless of which board you use. Tb is is note simple task considering that the 68000 is situated under the power supply disk drive. Most Amigas shouldn’t need this, but be forewarned.)
(continued on page PS) Order Toil Free ornputrftbilitu Order Toll Free 800-558-0003 &fl4umet ectto i c4 800-558*0003 AMIGA SOFTWARE ..3795 ,3795 ,5995 ,20.95 ,37.95
- .2495 .2595 ,18 95 ,28 95 ,30.95
167. 95 ,28 95 ,30,95 ,25.95 ,61,95 .94,95 .94 05 .51,95 12895 .
94 85 .30.95 , 24 95 . 84 05
124. 95 25 95
28. 95 .41.95 ,30,95 .2495 .23.95 .31.95 .33.95 .43.95 .25.95
29. 95 ., 24.95 .31.95 .35.95 .31,95 158 95 .23.95
31. 95 Codenarrw Iceman CotoneTs Bequest________ Comic Seller
_____ Comic Art Disks (each) _ Conquest of Cametot
Creatures ______ Cribbage KlntfSin Jong ._ Cross Dos _______
Cine rf the Anne Bonds Cycles___________________ DB Man ....
Dart Century_____________ Day of the Viper-------- Death
Brlnger_______ Deluxe Musk; Cortstr 2.0_ Define Paint HI
..... DcUm PhctoLab_____ Deluxe Print II__________
Deluxe Productions Define Vkfeo III __ Deslgnasaurus___
Dlglmate3______ DigipalreJQ DlgMew SoU_____ Dinosaur Disccwry
Kit Dbk Master________ Distant Sun ,__.__ Dos 2 Dos
___________ Double Dragon II ____ OouWe Drfcbfe______ Dragon
Force Dragon's Lair ..... Dragon1! Lafr I!_______ Dragons of
Flame ... Drakkhen_________
D. U D.E...._____ Dtngecn Master ______ Earl Weaver Baseball.....
Ban Pcrtarmer Empire . Excellence 1
Meg Eye of Horus -------- F-18 Combil Plot .. Ust
Duel_________24 95 Lebixe 8uft Larry____25.95 Lefei e Stit
Larry II or III .37.95 Lue and Death____________31.05 Ust 6
Label_________30 95 Logiwwks----------------184.95 Loom 37.95
Lords of the Rising Sun .,.31.95 Lords of War_________24.95 M2
Amiga .. 147 95 M2 Amiga Debugger . 77.95 Magic
Johnson 1 Meg......31 95 Manhunter ¦ NY or BF_____30.95 Maniac
Mansion______28 95 Mathbiwter Plus .,...... 30.95 Matrix
Marauders___2195 Mavis Beacon Typing_____31.95
Mixlpbn3_____________ 14795 Micro FfchB flter Plus____11495
Mlcroleigue Wrwfllng......24.95 MklReeStudb VI.1____39.95
Might and Magt II 37 OS Modeler 30_______62.95
Monopoly---------------24,95 Movie Setter___________59 95
Music Mouse____.,48 95 Music X __ ......189.95 Neurmineer __
28.95 New York Warriors-1 Meg 30 95 Nigh Force „ 28.95 Night
Hmter_______25.95 Nuclear War_____30 95 Omega __________30 95
Omnlplay Basebal: 5 on 5 30.95 Omni play Horse Racing 30.95 On
Lhe Platinum_______58.95 Over Run ________37.95 Operation Wo I
_______22.95 Page tenderer 3-D_________94.95 Page Setter 2
_________74 95 Page Stream 119.95 Pagetllppcr
Plus FX______87.95 Farcer Strike 29.95 Pen Pel
______________84.BB Persian Gul IrVemo______24 95 Phasar 4
0_______ 54.95 Photon Paint 2.0________87.95
PfcMagfe________57 95 Plralesl______________________28.95
Planet of Lust__________24.95 Polka Quest 1 _________30 95
Polk* Qunlil____________37.95 Pootol Radance_____31.95
Popubue_______________32.95 Power Windows 2J 54.05 Powerdmmo
_______25 95 Print Master Plus ...24.95 Pro Mottan
_________51.95 ProTennb Tour__________25.95 Pro Video
Sold________139 05 Font Packs U 95 Pro Vueo Post 189 95 Pro
Wrtli J.0.... 9495 Pro Fonts 1 or2,____21 95 Professionet Draw
112.05 Professional Lottery 9ys ... 24 95 Professional
Page____167.95 Project D+Backup_______30.95 Prospector Ma es
c4 Zor .. 24.95 Pufty's Saga________25 95 Punie Storybook
___25.95 Quarter Back __________42 95 Fumfcolll_______ 22.95
Rampage ._____24.95 Raw Copt________________34 95 Red Storm
Pmw____ 34 95 Renegade_____________22.95 Rhymkvg Notebook
25.95 Rfck Dangerous_________21.95 Rick Davis Soccer 1 Meg
.,30,95 Rbgs of Medusa .....28.95 Risk ________________24 95
Robocop ..26.95 Rocket Ranger .....31 05
Roma nee Three Kingdoms 44.95 Scene Generator .24,95 ..
37. 05 .57.05 ,30 95 , 29 05 .,59.05 ,24 95 ,2195 ,24 95 . 89 95
,25 95 ,31,95 11295 ,84.95 ,99.95 ,31.95 ..30.95 ,24 05 ,38
95 ,38 95 21095 _57.95
- 31,95 ,30.95 ,113.95 ,92.95
109. 95 ,24.95 ,30.95 ,.25.95 ...37.95 ,,30.95 ,.24.95 ,,20.95 „
25.95 .,25.95 ,.31.95 ,24.95 . 187.95 ,36.95
28. 95 Quantum p'° Drives (WXETEC Fast Card + HardDrtvmPackagti
far Amiga2000 A0 Meg SCSI Pro Drive 369 80 Meg SCSI Pro
Drive 599 100 Meg SCSI Pro Drive 679 Seagate Quantum
ST- I36N 459 Del PfO Drives SM57N-I ... 529 Dol
ST-177N......569 Dol ST-277N-I ...559 Dol ST-296M......569
Dol Card fetfunM i DMA* herd, autobooi POM.ou'd- ctxYig c
Xcu*v 25 ph 5C3I com. Dto ufllkw mar«ixX FREE DEUVKY IN THE
CONTIGUOUS 46 STATES n,„T , „ ,, , -Trumpcard 500 Hard Drive
IVS Trumpcard Hard Drive I p k for Ami 500 Packages for A2000
Series ¦ y y Quantum Pro Drives 479 Del 40 Mg SCSI Seagate
8T-138N_____409 DEL 8T-157H-1 479DEL 8T-177N______539 DEL
8T-277N-1 ,509 DFL 8T-296N 539 DEL Seagate ST-138N ......479
Del 40 Mg SCSI .,599 DEI ST-157M-1 549 Del 80 Mg SCSI .,839
Da ST-177N ......609 Del 100 Mg SCSI .909 Da These Packages
Include Trumpcard 500 enctasire, IVS Trun pea id .SCSI hd
drive Ctrl. Software & free dHhwy r the contiguous USA
Trumpccad 500 Ram Expand*! Avaflabt*- 612k • 1 MEG • 2 MEG •
A MEG MISCELLANEOUS Pe rlect
Sound ......S69 Color
Splitter .$ 119 Mlgraph Hand
Scanner .$ 319 Sharp JX 100 Color Scanner $ 759
Cordless Mouse ...$ 99 GI-500 OptoMech
Mouse ......$ 49 GI-1000 Fully Optical Mouse $ 85 Gravle
Mouse Slick . $ 85 Supra 2400ZI
lnt(A20t 0) .....$ 139 Supra RAM 500
...$ 79 Mega Midget Racer 95
mg ..$ 669
Supercard .$ 75 ICD AD RAM
520 OK ..$ 99 HC 0 SCSI Host
Adaptor ......$ 159 Ami Gen .. $ 95 Su
per Gen ...$ 659 SuperGen
2000S .....CALL Supra WordSyrtc
Controller .$ 139 PRINTERS Seagate Panasonic KX-P 1124
$ 285 KX-P 1624 $ 369 Panasonic 1180 ....165
Panasonic 1191 ....239 1L fllf NX1000
Rainbow $ 183 gxomai IW9 nw FVHid oaktere ciwl f rmmjetOtr.
Pvmwi t c »ry ctaia tin 14 dtyilaclwr lc*ool P Q vwvtorra C
*hiry*i an $ 41X3 li D»r|fc« 1ilU.$ A bdyd*|4LC feredVn 5%
v» W"g terrarem*. RwnrrwmlSTXr. Wav-ai uwj Vka or}*-»
f.t««lSftC»:v*ad vtgnrtsn.WO mxxtti pWiMixUd* J% wM ten. HI.
AX. F PQ APOPaetto Rka L5C Uhdka e«*v. PMMidd5% ¦!***¦
Mm.AMiXN' lor*ipod«*i dirXvit*v ftG, ¦* tliro.AI orterv WipaB
Ousct :w CanSnwetil UAX in nD* 1« own Iwjrai U A. rmJL t
lomgnwilpphg e**vd tev tTffWwn*m(a*l, joi «r| McTa vd ri"
a*Jt!an«l amcwrri Air [OMive n«* vd incUd* tecJory ¦vm.ety.
Wf do not eomFtia corrcecirty A wnlon fx.0Bt B
H'lowptntliiunrv Rntl All b nlv* nkna awl tent nkrv artBrtaOM
nnHr. Gail (414| 357-8111 b otth «i HA. T eryoui rdum ¦»! Rd
tn Kt»p*d Pitavmd raHWlty vubfwrt b etixnga wP.bxtnflttv.
IhpiVng 1 Nandtejai* MA-rtevfldiN Wi terp p* ii'.mi »ori
iwiiUfe W in. VpMn nwl bv xindted try are) tmr dhcJy vrffi
CALL US TODAY!
AMIGA Ocommodorej 414-357-8181 FAX 414-357-7814
P. O. BOX 178BZ Milwaukee, W153217 H0URS-C8T MOH-FRI 9am-Bpm»3AT
11inv5pm NO CREDIT CARD SURCHARGE 688 Attack Sub________31.05
Advantage. Thi______114.05 Aflw Burner ______30.95 Akbotrra
Ringer_________28.95 Alfred Beasl ___ 30.95 Anlmagk:__ 87.95
Aquaruut---------------25.95 Archipelagos ....__23.95 Artec C
Oevriopor V5.0... 177.95 Artec C Pro V5.0_______119.95 BAD
______________29,95 BAT__________ 31.95 Balance of Row
1990.....30,95 8ir Games ____ 28,95 Bars and
Fspee_________16995 Barbarian II_______24.95 Bank Tale II
_______3895 Batman ... _____2895 Bimuy Bear GoeVSchool. 2195
Bank Chess__________2995 Ban* Hjwti 1942 ________31.95 Battle
Squadron ,, 24.95 Batfles at Napoleon _______31.95
BartrtechrThe Cr Hk Inc... 30 95 Baud Bant*______30.95 Bermuda
Project ___24.95 Beyond Oaric Castle ________22.95 Blade of
8t»I Hoctey---28.95 BbckOut _______________25.95 BteAixjeb
__....30.95 Bolng - The Gama 24.95 Brain
Blaster___________25.95 Bridge 8.0________25.95 Broadcast
Tiler____________CALL Budoten_____________25.95 Can Do
______________84 .95 Carmen SanOlego ach 30.05 CharrYBcl-Mut
Priestess ..30.95 Champions of Kryrm .31.95
Chaos________________________24.05 Choss master
2100......31.95 Chronoquost II ,30.95 Chw
- ......24.95 If
M. J.'.lv'.'illlf-.Wl Memory Boards -A2000 2MB S260 D9I 3MB S569
Del 4MB , S410Dfll 3 MB S71SDel Intrudes FREE DELIVERY to the
contiguous 48 stated ST-125N____409 DEL ST-I38N_____429 DEL 40
MEG SCSI.. 549 DEL 8T-157N-T ______499 DEL 80MEG SCSI.. 769 Da
ST-I77N______559 DEL 100 MEG SCSI .850 Da Ihwe cards Include
IVS Trumpcard ctrir, mourtkvg brkt, cbL software, and FREE
delivery In the contiguous USA Quantum Pro Drives Hard Drive
Cards-A2000 these kits Include IVS Trumpcard SCSI hard drhq
Cabte, software and FREE dellrery in the coreiguous USA Thfs Is not anassembty 11 It Is a package.
Quantum Pro Drives 40 MEG SCSI529 DEL 80 MEG SCSI769 DEL 100MEG SCSI. 839DEL F-19 Sloallh Fighter CALL FA18 Interceptor 31 95 Fafcon________31.95 Operation Couriers trite.. 1695 Fat Tracks___________34.95 Federation _________31.95 Flight SlmJatw II 30.95 Ftoorplan Corti. Set 30.95 Fool's Errand___________31.95 Future Wars____________30.95 Gaunt* II_________30.95 Genghis Khan 41.95 Grand PrtxClrai1,„ 27.95 flunsNp__________________34.95 Halts d Montezuma 23,95 Hardball 11_________30.95 Harmony____________27.95 Heatwave_______________30.95 Herns Quest _____37.95 Hllsfir________________31.95
Hockey League Simulator. 21 95 Hound of Shadow 25 95 Hoyles Book of Games 21.05 tf It Moves Shoot 111___19.95 Imperkim 25 95 Indiana Jones-Action Game25.95 Indiana Jones-Gnphlc Adv.30,05 Irfwtatlon____________24.95 IrtroCad________46 95 Irmvtabn *_____________ 174 95 Iron Lord__________25 95 Island of Losl Hope 23.95 It Came from The Desert „ 31 95 Data Dbk___________14.95 Jack NtcMaiB Gotl ____30 95 Joan of Arc _______28.95 Kampfgruppe , 37.95 Karafonb Headlnesl or 2 44,95 Kcybd. Control 8eqL3 ....212.95 King’s Quest 1.2.or3 ._.30e5 King’s Quest 4______ 37,95 K night j ot Legend. 30.95
KrteUl.Tho 31.95 Scribble_______________24.95 ScribNe Platlnren_____87.95 Sex Vixens-Outer Space ,.22.95 Shadow of Bw Beast___,31.95 Shark Attack __ 24.95 Shuffkpuck Cafe______24.95 8kn City__________30.95 Terrain El ___14.95 8 tele or DB__________25.95 Smooth Taker 25.95 Sotlare Royal__________10.95 8pace Ace .34.95 8 pace Harrier_____________30.95 Space Quest tor 2.____..,30,95 Space Quoit 3,...... 37.95 Space Rogue _______30.95 Star RlgM ____31.95 Star Trek; The Final Front 34 96 StolerCniudB__________36.95 8torm Across Europe____37.95 Street Rod _____31.95 8 trite
Ace____________30 95 Strip Poker II________23.05 Stunl Track________21.95 Super Contra_______28.95 Super Star Bastetbal...... CALL Superbase Personal __46 95 Buperbese Personal 2____ 87 95 Superbase Pro 3 0 189 95 Superbite Simulator_____30 95 SuperpUn_______87 95 Svrords of Aragon ....25 95 Swords of T*A|lght________31.05
T. V. Show V2.0___________.84.95
T. V Sports Basketball......31.95
T. V. Sports Foolbal______31.95 Targhan .. 24.95 Tax Break
2.0________________4S.B5 Teenage Muntant TurtBe ,28.95 Tetrle
20.95 Test Dftw Z - The Duel.....30.95 CalChalenga
.15.95 Euorpeaf ST-1254J
2DM»g-SCSI ......235 ST-13BV 3DM«g -
SCSI ......255 ST-157V 40 Meg -
SCSI ......295 ST-157N-1 49 Mng - 2B
m» .319 ST-177V 60 Mag -
SCSI ......379 ST-22 5N 20 Mflg -
SCSI .....255 ST-277N-1 60 Mrg -
SCSI 345 ST-296N
60Mog-SCSI ....379 ST-1096N 60 Meg -
24mi ....435 Seagate Quantum si-138N......
619 Doi Pro DRIVEs ST-157N1 ,.669 Dol 40 Mog SCSI 739 Dol 749
DoT 80 Mog SCSI ..,.,979 Del 719 Dol 10O Mog SCSI , 1019 Dol
MOO w FHEE Modem Cable AG(X) 2000 sxyijsW XETEC Fast Card
System Hard Oriv» Packagct tot Amiga 500 Seagate SST“
S1-177N,,, ST-277N-l ST-206N... .749 Dol Syi « bd«Addp«ar
outefeoat POM. *r« b,g «• nvarwal Fortin d*h wfh utlta ft 3CS
cabte W*h po**1 luapy and tan FGEE DfUVBtY IN THE CONTIGUOUS
44 STATES Musdeor Super Cara Their finest Hour __
Thriter___________ Thkd Cocfier Thifxjer Blade
__ Tiger Cub______ Times of Lore______ Tractors Quest-------
Treasure Trap ______ Trumpcird Disk Mgr Turrets of
Armageddon Turbo Out Rifi ..... Turbo Slhw 3.01 Meg, TV
Text____________ TV Text Prtrfessbnal Typhoon of
Sleet________ Typhoon Thompson litima III_________ Ultima.
IV________ Ullma V___________ Ulre Design--------- Utracard
Plus __ 'Jnfwse 3--------- Veda_______ Vrieo Effects 3-D___
VkJeoTIUw V1.5____ ' IdeoSape 30______ Vha-Amlga __ Voice
Recognllon ... Vortex ________ War In Middle Earth______ War
of the Lance___ Waterloo_________ Wayne Grebky Hockey .. Wekd
Dreams ..... Weltris___________ Wiliam Tell______ Wind
Water________ Wings Wings ol Fury___________ Works Platinum.
The Workl Asas World Class r Bd Circle 117 on Reader Service
PUTTING THINGS IN PERSPECTIVE For those looking to back up their words with something of substance, Mindware International might be able to offer some assistance. The company’s new program, 3D Text Animator, allows for the creation of 3D text animations in die ANIM format.
Compiled by E.G. Fedorzyn In this veritable 3D text “construction kit”, users can.
Through a simple point-and- click interface, enter a text string, select a font, resolution, colors, light direction and intensity', and animation pattern.
Frames for the text animation will then be generated according to the pattern chosen.
Users can mix and match patterns for 3D animation in three categories: text animating into die display, animating out of the display, and animating at the center of die display. Resulting ANIMs can be easily appended using the program's ANIM Cut-and Paste features.
With 3D Text Animator, 3D fonts from other programs such as Sculpt. Turbo, or Videoscape may be imported.
The program also allows any Amiga 2D bitmapped font to be converted to 3D, enabling it to then be used as a font for 3D text animation. The provided 3D Font Editor enables these converted fonts to be "smoothed” prior to usage.
Results achieved may be genlocked over a video source, or overlaid on a background using external tools.
3D Text Animator, 1MB of RAM required, Price: $ 49-95, Minductre International, 110 Dunlop W., P.O. Box 22158, Barrie, Ontario, Canada L4M5R3, (705) 737-
5998. Inquiry »320 THE MOVERS & THE FLICKERS MicroWay has an
nounced the release of DEB
2000. Dieir Denise Extender Board for the A2000 and 2500.
The board allows MicroWay’s flickerFixer, the graphic enhancer for the A2000 and 2500, to be run in die Amiga without utilizing the video slot, thereby leaving the slot free for other devices such as internal genlocks and frame buffers.
DEB 2000 transfers the video signals required by the flickerFixer from the Denise socket on the Amiga motherboard to the DEB connector board. The flickerFixer is then positioned behind the existing XT slots and connected to the DEB 2000 via a cable.
Also, MicroWay has reduced the retail price of the flickerFixer from $ 595.00 to $ 495.00. flickerFixer is compatible with AmigaDOS 2.0 and die Enhanced Chip Set from Commodore.
DEB 2000, Price: $ 75.00. MicroWay, P.O. Box 79, Kingston, MA, 02364,
(508) 746- 7341. Inquiry *322 MISSION: ACCOMPLISHED LucasFilms
has released the Amiga version of their newest flight
simulator strategy game, Their Finest Hour. Based on the
exploits of the early days of WWIL this game provides both
the Luftwaffe and the RAF perspective to some of the most
daring dogfights of any war. With over 52 possible missions
and a contingent of eight different aircraft, Amiga flight
jockeys can now eidrer defend the mighty' shores of Great
Britain or prepare die isles for die German invasion
campaign, Operation Sea Lion.
From the same people who developed BattleHawks 1942, Their Finest Hour combines cockpit realism with a variety of missions and antagonists to produce a game both entertaining and informative. Operation aircraft can be British fighters. German fighters, or German bomber planes each plane has its own independent characteristics and requires a different style of combat. Each level of combat is more difficult, and repeated successful completions of missions are rewarded widi medals or promotions.
Characters can be developed to advance through the ranks.
As a final touch, LucasFilms has once again supplied an excellent manual which delves into the history and the people of the time, and provides enough in the way of detailed aerial techniques to inspire any good Amiga air warrior.
PICTURE THIS From the folks who brought you Doug’s Math Aquarium now comes MathVision, a new math and scientific visualization program.
Seven Seas Software s latest release features data input graphics output, HAM, overscan, half-brite, Arexx support, image processing, IEEE library with math coprocessor support, and hooks to access external programs. According to Seven Seas President Otto Smith, the program "offers an entire panorama of gadgets, controls and functions for visualization. The power of the program has far exceeded [Seven Seas’] original expectations.” Registered users of Doug’s Math Aquarium may purchase Math Visional a special upgrade price.
MathVision, Price: SI97.00, Upgrade price: $ 30.00, Seven Seas Software,
P. O. Box 1451, Port Townsend, WA 98368, (206) 385-1956. Inquiry
323 DIAMONDS ARE FOREVER Time to don the ol’ cleats and slap
a big wad o’ bubble gum in your mouth (just a pinch between
your cheek and gum), and get set for some hardball,
New from Accolade is Hardball II, a sequel to Hardball!, their popular baseball simulation originally released in 1985. The company has reportedly acted on users’ comments and requests stemming from the original game to produce this new and improved baseball simulation.
In Hardball II, you assume the role of team manager, supervising the players and controlling their on-screen performance, including batting order, lineups, substitutions, and position swaps. You can select teams from the preprogrammed library available, or use the Team Editor to either create new players with their own stats or to enter stats from real-life professional players. The Team Editor also lets you mix and match players and teams. Statistics are automatically updated at the end of each play to give you the same cutting edge as the Lasordas and Morgans of the baseball world.
But before you start kicking dirt in the umpire’s face, you might want to first review any controversial calls with Hardball II’s Instant Replay option. Other enhanced features include tire choice of six simulated major league stadiums including Boston, Kansas City, and Toronto, as well as the choice of five different field views including upper deck overview, behind the plate, and right and left infield. The game’s complexity is set by sixteen different options, so anyone from Little Leaguer to veteran can take a swing.
Hardball II, Price: $ 49-95, Accolade, 550 South Winchester Boulevard, Suite 200, San Jose, CA 95128,
(408) 985-1700. Inquiry 321
1. Drink from the Fountain of Youth.
2. Receive a perfect 4-star rating on "Star Search". -
3. Read every issue of Amazing Computing ever published.
We've just made your life's goals one easier.
No doubt you have over the years compiled a list of goals you hope to achieve. And certainly Amazing Computing holds a prominent position on that list. That's why we've made it that much easier for you to acquire the complete Amazing library at terrific savings. For a fimited time, you may purchase volume sets of AC at a savings of over 50%!
AC Volume 1 is now available for just $ 19.95*1 (A regular $ 45.00 value, this first year of AC includes 9 info-packed issues.)
AC Volumes 2,3, & 4 are now yours for just $ 29.95* each!
(Volumes 2,3, & 4 include 12 issues each and regularly sell for $ 60.00 per volume set.)
PLUS! We're now offering subscribers freely redistributable disks" at distribution prices. Now's the time to complete your Fred Fish, Amicus, or AC disk collection.
Pricing for subscribers is as follows: 1 to 9 disks: $ 6.00 each 10 to 49 disks: $ 5,00 each 50 to 99 disks: $ 4.00 each 100 disks or more: $ 3.00 each (Disks are $ 7.00 each for non-subscribers.)
To order volume sets, freely redistributable disks, as well as single issues, use your Visa or MasterCard and call 1-800-345-3360.
Or just fill out the order form insert in this issue, Amazing Computing and freely redistributable software at savings beyond your wildest dreams.
• 1’uswge (i liandllng for eaehvotame ir* s i.im in tin.- I S.
s_.S(i For Miif.iu- in Canada and Mi-sico. Aild slO.OtFfuf till
other foreign surface.
"AC ttaminlics til! Disks fur 90 days. No additional flu(fcc fur |i istagc and handling on disk in.li.-rs. AC issues Mr. Fred Fish a royalty on all disk sales hi encourage tin- leading Amiga pmgram anthologist tti continue ]ii.s nuisianding work.
GETTING HITCHED Next month, Interworks will begin offering die ENLAN Network System, a DECnet networking system for the Amiga. A compatible implementation of DECnet protocols (defined by the Digital Equipment Corporation), the system provides the ability to exchange files and data with DEC VAX VMS computers, other Ami- gas, and machines running the DECnet protocol.
Among its features, die Interworks system provides a File Copy Utility, File Directory Utility, File Delete System, and File Access Listener program. The system’s Network Virtual Terminal facility allows multiple, simultaneaous login sessions to one or more remote VAX VMS systems. With this facility, most terminal emulator programs can be used with ENLAN.
(Interworks supplies a VT100 terminal emulator program with the package.)
The ENLAN Network System supports both thick and thin-wire Ethernet on die A2000 and higher machines, and asynchronous DECnet on all Amiga models using the serial port. The system also has the capacity for dial-out and dial-in operation via modem.
Versions of die ENLAN Network System start at $ 295.00 Interworks, 195 E. Main Street, Suite 230, Milford, MA 01757, (508) 476-3893- Inquiry
* 325 AN INTEGRAL PART Integral Systems Co. Has announced the
release of a new series of Amiga products that will support
the video professional.
VidControl and MasterControl are the first two programs to be released as part of die Ohio-based company's video production integration package.
VidControl provides die capability to control any Amiga application via a signal applied through GamePort 1. Basically, any application that normally accepts keyboard input may be managed using the VidControl program. Among its features are support for user-definable response to input signal, as well as variable time delays between the input event and the passing of die message to die application.
MasterControl provides all die capabilities of VidControl, but will accept six discrete inputs from the gameport, as opposed to the one used by VidControl.
VidControl: $ 30.00; MasterControl: $ 50.00. Integral Systems,
P. O. Box 31626, Dayton, OH 45431, (513) 237-8290. Inquiry
* 335 CORRECTION!
Last month in “New Products" (V5.6), it was reported that MicroTouch Systems’ Amiga ToucbDriver was the first touch screen to provide a two-button mouse emulation touch screen for the Amiga. It has come to our attention that Future Touch Inc., a joint venture of AMIGA Business irtedt if AMIGA Version 2.1: Mixed text styles!
Images in documents! Colors!
Enhanced Interface! CLI access!
"Will certainly whet a lot of Hyper Appetites" Neil Randall, Amigaworid 1 90 "Its flexibility far exceeds any other program that I've used on any computer."
Robert Klimaszewski, Amazing V5.1 THINKER Write, design, plan. Multimedia Idea Processor with HyperText! Arexx Upgrades Version 2.1
l. x - 2.1 $ 25 (to A
2. 0 - 2.1 $ 10 q) O U Poor Person Software 3721 Starr King
Circle, Dept 5 Palo Alto, CA 94306 _(415)-493-7234_ Circle 125
on Reader Service card.
Computers and Business Technology Services, has been marketing a two-button mouse emulation touch screen for the Amiga since June of 1987.
Our apologies to Future Touch, inc. and to our readers for this error in reporting, For more information on Future Touch systems, contact Future Touch, Inc., 192 Laurel Road, East North port, NY 11731, (516) 757-
7334. Inquiry 326 Heat Wave Budokan Price: $ 49.95 Electronic
Arts 1820 Gateway Drive San Mateo. CA 94404
(800) 245-4525 Inquiry 4527 Price: $ 44.95 Accolade 50 South
Winchester Boulevard, Suite 200 San Jose. CA 95128
(408) 985-1700 Inquiry 4329 Stryx European Challenge Price:
$ 21.95 Accolade 50 South Winchester Boulevard Suite 200 San
Jose. CA 95128
(408) 985-1700 Inquiry 4328 Price: $ 34.95 Pygnosis 122 Cenfury
Buildings. Tower Street Brunswick Business Park Liverpool.
England L3 4BJ
(051) 709-5755 Inquiry 4330 Senses Working Overtime: P I X O U N
D 2.1 by R. Shamms Mortier I SUFFER UNDER THE VELVET whip
folks at Hologramophone, so that at a cost Straight key
assignments of of two muses, music and visual art. With of
about $ 100.00 (U.S.), you can now the PlXound keymap that
conscious bondage in mind I pur- "hear" what your eyes
chased an Amiga, in the hopes that both are seeing with
addictions could be at least addressed if not PlXound. The
Amiga totally satisfied. I have never been sorry, can now
“play” visual except when I realize that I get about half
screens, and direct the of the sleep that non-Amigans do.
There output to MIDI synths.
Has been a missing ingredient though, and For decades, experi- it's one that I have even fantasized writing mental composers a program for when I retired from present have been '‘writing’’ tasks. It is the ability of the Amiga to music by using color actually “play" visual screens, interpreting and graphic symbols, die visual information into music by filter- and asking musicians ing it through some exclusive algorithm, to interpret the results.
But alas, someone has beat me to the This software makes punch! That "someone” refers the creative you the composer, and Serious Jammin’: HYPERCHORD by Howard Basse n Wkboch l r.lTVTTIll OwIW ¦ Sc »¦¦¦ I'W'i'.'iYil ¦ ¦ ¦ EssBS Ibszi" « m ,« At . , if»le«e5 k-,uKj hmc ¦ r is * n c nmnijJ'' 1XJ XL ’Normal Keyboard ALL MUSICIANS OCCASIONALLY get stuck in creative ruts, limited by dieir habits, skills and style. At times like these, they tend to fall back on their favorite riffs subconsciously when jamming or composing. Hyperchord a new algorithmic composer dynamic riff sequencer from
Hologramophone Research allows you to stretch the limits of your own musical ability and break new musical ground, through die creation, storage and manipulation of riffs in real time.
THE LOOK AND FEEL All of the design screens and menus are rendered in a very low-resolution graphics mode, probably to save chip memory space. The vertical axis represents the musical scale, or pilch, while the horizontal axis represents time. Notes can be “drawn” or entered on the grid manually, or they can be generated automatically from two menu-selectable “grab bags” each putting 30 short, fairly u nconventional sequences or riffs in selectable memory locations or “riff banks”. Unlike most Amiga music software, there are no “demo” songs (other than the grab bags that can be nin to show
off the hill capabilities of die program).
CREATING AND EDITING RIFFS In die Draw mode, notes are entered “freehand”, either as a line between two points, or on die grid with die mouse. As you move the mouse up and down, letters Hash along die left side of the screen, indicating die notes located along each vertical axis of the grid. You hear the pitch of each note as you move die mouse. A feature lacking here is a piano keyboard gadget diat displays the note(s) being selected.
The text message “A*” accompanied by the sound of the note just doesn’t register in my mind as well as the sight of a key being selected on a piano keyboard might.
In experimenting with Hyperchord, 1 entered patterns in die Drawmode, and set the Amiga MIDI connection die orchestra.
You can either ask die computer to play a graphic screen, or you can involve your own sensibilities to intervene in die making of the music (by taking control of the movements of the mouse).
If you desire, you can create your own graphics screens in 32 color lo-res, translate them into a format that PIXound can “read" (with an on-board module), and then sit back and watch listen to the results, There is a long list of graphics screens already configured and stored on the disk for instant gratification. The visual designs are based upon both the hue and intensity of color, because it is these parameters that PIXound uses to translate visual information into sound. The principle is simple, but the results are truly amazing. To add to your musical joy, the whole keyboard is mapped
out with different ways that you can interact (in real time) with die music. My absolute favorite is diat the function keys are dedicated to certain scalar patterns (augmented scales, Major Minor scales, modes, and other patterns) th2t automatically remap the visual so that it responds to color and outputs dedicated scale patterns. The interaction is limitless, and will definitely promote an inter-disciplinary attitude in die loop mode gadget to “on" to hear the sequences (riffs) dius created. 1 found tiiat when a single note on the grid is changed the music stops, necessitating a
restart for the modified riff to continue. This makes interactive editing harder than in the uninterrupted, continuous looping mode used in "M” and some other sequencers. Continuous looping lets die user hear the effect of changing a single note immediately.
Editing notes in Hyperchord's Design Screen grid requires concentrated effort and precise aim. Clicking anywhere but exactly in the center of the tiny squares given may change or erase notes in die column to the left of those truly wanted.
In contrast to the manual editing mode with its weaknesses mentioned above, Hyperchord's automatic pattern- generating and modifying features are die most full-featured of any music program tiiat I have seen. There are gadgets on the screen that let you smear, rotate, randomize, mix, and otherwise process the entire pattern on the design screen, or any selected set of neighboring notes.
But before “massaging" a newly-created riff, it is important to hear exactly how die arts. Musicians will be invesdgating color and visual form, and visual anists will be experimendng with the amplitude and waveform possibilities of their paintings.
When you hear the partially controlled partially random results dirough a good MIDI device, you will surrender the few hours of sleep that die Amiga has left you with. And if, like me, you are both a visual and musical addict, PIXound will have you walking in the Seventh Heaven.
HOW IT DO THE MAGIC IT DO To begin, PIXound advertises itself as a “MIDI musical art inteipreter”. I use it in conjunction with die “Midia Musicbox”, and also with my Casio-1000 synthesizer.
You can have it playback Amiga sounds alone however, if you don’t have a MIDI device. But since there’s no way to load in your own Amiga samples, you'll have to settle for the radier bland samples on board.
There's a whole host of new Amiga videographic ware that addresses creativity in a fashion similar to PIXound. All of it except PIXound, however, works with graphics, not sound. The basic process is to use the Amiga keyboard as a macro converter, so tiiat by depressing a key or a it sounds. The length can be changed by dragging a section selector to choose any number of adjacent notes, so only those notes of the riff will play when the spacebar is depressed to begin. Once a pattern or riff is finished, it can be saved in the “riff bank” as one of 30 preset riffs that are accessible from the
Amiga keyboard. Store riffs by simply clicking the mouse-pointer on a separate letter of the replica of the Amiga keyboard displayed at die bottom left of the design screen.
PREVIEWING RIFFS To preview the riffs diat I created, 1 used the internal sound capabilities of the Amiga. The only internal voice tiiat appears to be available on the single disk that comes with die software package is a default sound like that of a piano.
However, several other default sounds are provided as simple waveforms.
These are available from a menu-selectable window called “Voice Group". This window provides a choice of sine, square and triangular waves for the internal Amiga voices. No explanation of this feature is provided in the sparse documentation that combination of keys, you can cause a defined action to take piace. With Elan’s “Performer", this defined action is the appearance of a still or an animation that you have loaded previously. With PIXound, it is a manipulation of the Amiga soundchip or a MIDI command sent to a syndi or soundbox. PIXound 1.0 was a rather enjoyable but simplistic affair.
It was easy to “play" die picture before you because the commands were limited. After a cursory reading of die manual, you were anxiety free and on your own. PIXound 2.1 has a myriad of additional options, and the "cost" is a longer study of the manual in order to become even quasi-familiar with expected results, PIXound 1.0 was a nice toy. PIXound 2.1 has professional and performance applications.
There are really three keyboard maps that have to be referenced, as I have attempted to show in my illustrations: The first is a general mapping of the standard keyboard keys, the second shows applications addressed by Shift Key functions, and die diird is a roadmap of more complex Alternate and Amiga-key combinations.
There are far too many options to rely on extemporaneous playing around. Either you will work with die manual in front of comes with the software.
Also, unlike most music programs, die “instruments" drawer is empty. The riffs 1 previewed tended to sound somewhat fiat, due to the single piano timbre. The other internal voices (sine, square, and triangular) made my riffs sound rather abstract, like “electronic music" beeps produced by earlier home computers. I wondered whedier a good assortment of internal Amiga sounds (instruments) would improve the quality of the riffs.
I tried several Amiga IFF Instruments from other programs (replacing the piano timbre as voice 10 in the voice group window). The manual shows the release (decay) times of the internal Amiga instruments to be controllable by the backslash key on the Amiga keyboard. However, I could not change this parameter noticeably with any Hyperchord controls, so I was not able to give the internal voices an echolike, sustained quality with long decay times. This and other types of “envelope control” are nearly-standard features found in most Amiga music programs.
You can attempt to spiceup your riffs by using any of the 52 rhythms selectable at you, or you will be forced to do a bit of planning and practicing beforehand (you'll probably do both). The ordinary' keys are comfortably assigned in a logical first-let- ter-of-a-command manner. There is little logic left when you use the more complicated multi-keystroke operations.
THE BEGINNING The first thing you'll want to do when tlie program is on screen is to toggle MIDI to "on" if you have a MIDI device that will actually produce the sound. You may be more comfortable accessing some of the commands from the TitleBar menus at the start, and substituting the keyboard equivalents as you learn and remember them.
There are several ways a picture may be "played", either interactively or by computer randomness. At the start, you will no doubt be focusing upon the pictures that tire included (some are generation programs that create moving images). In no time at all though (especially if you study the included graphics and their sound capacities) you'll be experimenting with your own visuals as well. Whichever way you choose to have the screen sound out die data, you can also record the musical pattern and replay it later (nice for recordthe bottom of the design screen. This adds a new dimension to
your riffs, but given just the single instrument voice available with die internal sounds, die results are not great. Harmony is available (see die discussion below) but only with the simple sine, square, and triangular waveforms as voices wo and three. It would be much nicer to have a drum sound along with the other single internal IFF instrument voice; to get diis effect, you must switch to die use of the MIDI outputs of Hyperchord.
To get a richer sound during my trials, I selected "MIDI" from the menu and listened to die same sequences dirough my 100-watt stereo system. The sounds of the notes were brief in duration or even staccato when I played a riff at a fast tempo. My experience with the internal Amiga sounds was repeated for MIDI sounds. There are no controls in this program to alter the release or sustain of notes, unlike other algorithmic composition programs 1 have tried.
You can adjust the parameter settings on the synthesizer’s voices (by editing the patch's release parameters), but this is awkward and not under computer control.
Ing direct to a tape player). The entire - pattern can also be saved as a sequence and ported to other software (Dr. T's is mentioned as an example, which means you could also print it out with Dr. T’s “Copyist"). Screens can also be saved to disk, and loaded in later.
OPTIONS GAI.ORE When it comes to applications software, many of us approach it as we do gaming programs,..i.e., if it only does a couple of things (no matter how well), we soon cast it in a dark comer and move on to something else. Given that observation, PIXound will always be in the light, as the options are almost infinite. I’m not going to attempt to delineate everyone here, that would take too much space. But I will touch upon the generalities so that you can appreciate the complexity’ ancl variability of this creation.
MIDI users can address output channels and patch bays, so the various harmonies can travel on a chosen path to a specific sound. No reason you couldn't also address other MIDI devices like drum machines, lights, and anything else that can be driven by MIDI signals. Not only do colors relate to sounds, but various saturaI used an external analog delay effect device to “stretch” the sounds, but this added more hardware to my setup, and prevented computer control of die voices.
THE PIAY SCREEN The Play Screen allows real-time control of volume (velocity) and tempo through movement of a set of crosshair lines in the “Vector Play" window vertically and horizontally. The Play Screen also allows real-time control of man)’ other parameters. This screen allows instantaneous selection of mode, rhythm, octave, transposition, and type of harmony. New modes and rhythms can be selected as riffs play, giving die program a good, interactive means for trying, modifying, and fine- tuning a basic riff in real time, without interrupting the flow of music. This allows you to get a
set of sounds that best suits your preference.
A problem with the mode and rhythm selection gadgets becomes apparent when you try to create a specific set of modes and patterns. Available modes are represented only as small unnamed squares in a large grid of identical squares.
Tions of color also manipulate the audible signal. Pastels, for instance, actually sound "lighter”, while areas of muddy color sound dark and foreboding. Think of what you can record to videotape fir this fashion.
Another way to vary the playback is to color cycle die picture, which will cause tire sound to speed up as die colors rash by the blitter that senses diem. Colors in die palette can actually be “tuned”, allowing you to assign various musical attributes to each of them! Harmonies and Rhythms can also be assigned and altered.
There are two functions in PIXound
2. 1 that are really mind boggling in terms of allowing you to
integrate your own art work. The first, GRAB SCREEN, imports
die art from your paint program as it runs in the background
and dumps it onto the PIXound screen. I used it with
Electronic Arts DpaintHI and it worked fine. The second option
is also useful, albeit a bit strange. OVERLAY SCREEN imports
your own art screen and blends it widi the PIXound screen
already visible, thereby abstracting in surprising ways botii
the visual and the attendant sound. The self explanatory LOAD
PIX loads a previously saved IFF graphic from disk.
There is no way to label the mode or rhythm associated with each box. It would help to have a scrolling menu to select specific modes and rhythms; or, the boxes could be color-coded or labelled with letters to give the user points of reference.
Other gadgets in the play mode screen allow' the user to select several unique and somewhat mysterious effects with the mouse. While I could find no explanations for “superchords”, “hyperchords”, and “holistic modes" in tire accompanying documentation, it was easy to hear tire difference drat each effect made on a riff, The holistic mode, for example, creates progressions tiiat cycle riffs through several key changes, the keys deriving from notes included in the riffs.
The supertrill is another interesting effect, and when used W’idr MIDI drum voices even gives you the capability to perform good drum rolls effotdessly. For conventional instrument voices like a flute, I don’t difirk a supertrill sounds quite the same as the ones that a skilled musician would play, but this may just be a matter of learning to “play” Hyperchord.
PIXound always lets you know where you're at by giving you echoed data on the TitleBar (Pitch. Scale, Octave, Patches, Sustain toggle, and Cycle toggle).
This is not only good, it's vital. Without it, and because of the way that the resident options can complicate matters rather quickly, there's no way you could remember what you did to get where you are.
Basically, the “F keys at the top of your keyboard determine specific modes and scales, from Major Minor to more esoteric choices (‘Gypsy" and “Whole-Tone” scales). I miss having a “Blues” scale option, but maybe that's planned for another revision. The Delete key can be toggled to begin and end the recording of a sequence.
From there, it can be saved to disk.
COLOR TRANSFORMA TIONS Since PIXound "plays” your visuals from an assignment of specific note qualities to on-screen colors, it makes sense that there should be global ways to alter die colors, thereby giving you even more options in the audio playback. PIXound allows you to change from one system palette to another (it has eight varieties), or you can create your own palette. Colors can be cycled in any of five ways, and each HARMONY AND POLYPHONIC, POI. YRH YTHMIC RIFFS Two- and three-pan harmonies are easy to generate when playing riffs from die play screen. While only one “melody”
or riff can be played at a time, the original note of the riff can be accompanied by one or two copies of the riff, playing in sync with die first riff, but transposed by selected intervals (for example, a fifth and a seventh). Harmony voices can be assigned different MIDI voices, using different MIDI channels and selecting them with the mouse. Different internal Amiga voices, however, can’t be played simultaneously.
I attempted to get more than one pattern orriffto play at the same time. What I sought was a way of creating, playing and storing a rhythm line or sequence that was in sync, yet distinct from a melody line. For example, other algoritiimic music programs can play one sequence as a rhythm track using drum voices, while a second sequence plays a different (“polyrhythmic") pattern as a bass line, and a third and fourth riff as the lead or melody, using other voices. With Hyperchord, the only polyphonic mode available is die harmony produces a different harmonic result. The “S” key initiates
multi-cycling. Colors can also be reversed and inverted, and the background color can be operated on separately.
CONCLUSION Have I told you everytiiing? No, Have I attempted to give you a basic idea concerning Pixound’s main features, and am I all but guaranteeing you that you will get more then your money’s worth from this program? Yes, Yes, Yes! If you are a lover of Amiga generated music, a dabbler in acoustics, an audio scientist, a musical hack, a MIDI entiiusiasr, a mad scientist, an Amiga visual artist, a just-for-fun kind of person, an adult, a kid, or a seasoned professional musician, buy this program now. If you are none of the above buy it anyway.
• AC* PIXound Hologramophone Research 6225 SW 145 Street Miami.
(305) 252-2661 Price: $ 99.00 inquiry 211 effect. In this mode
only one pattern plays, but several different voices can
play this pattern simultaneously. The limited polyphony
that Hyperchord can produce is able to generate some
Hologramophone people at AmiExpo suggested that I run Hyperchord twice in order to get true polyphonic, polyrhythmic riffs. After die program was running normally, I hit die escape (ESC) key to invoke the “multitasking" option of Hyperchord. Then I went to the workbench screen and clicked on the Hyper- chord icon so another copy of the program ran on its own screen. With two programs running simultaneously I played internal Amiga sounds only with one program, and MIDI only widi die second, This attempt at polyphonic playing proved to be awkward, since die tempos ofthe two programs were not
in sync. Flipping from one screen to the otiier was too clumsy to be of much value.
1 soon abandoned this multitasking mode and tried another approach for polyphonic playing.
A "legitimate" way to get true 2-part polyphonic, polyrhydimic performances from Hyperchord widiout any 'tricks’ is provided on die Play mode screen. A “Play- Along” tool provides a convenient and interesting means fo r playing a lead or melody line witii die mouse. A vertical column of iittle boxes is on the right side of the vector play area. The column of boxes represents scales of notes covering several octaves. Use the mouse pointer to play notes under complete manual control (as to both the duration and pitch notes). The melody generated with die play-along tool is improvisational, yet
easy to keep in key and in sync witii the beat.
Using die "swing” tempo, a penta- tonic or minor seventh mode, and an acoustic bass plus die drum set from my Korg Symphony module, I created a solid jazz rhythm section. For a lead or melody I added two layered, detuned jazz guitar patches on MIDI channel 5 from my Korg module. This voice was controlled witii the play-along tool, letting me create a realtime, improvised, syncopated "modem jazz" piece that sounded realistic and solid.
Before using Hyperchord I had never produced a satisfying jazz riff, even using the other Amiga music programs.
CAPTURING RIFFS & PERFORMANCES AS STANDARD MUSIC FILES A performance could be composed by changing riffs in standard progressions of key changes, melodies modes, tempos, etc. Full performances could be" captured” as an SMU5 or a MIDI file in Dr. T’s KCS sequencer format. This was easily accomplished by selecting the "record" mode with a single keystroke. I tried this and was able to import a hyperchord performance into Deluxe Music construction Set using the SMUS format. Unfortunately, die melody from the play-along tool was not captured as an SMUS or MIDI file when the program’s
“record” mode was switched on.
This caused the loss of some of the best parts of my performances (die improvised melody line). A riff with one voice could be obtained as a standard MIDI file, using a freely redistributable utility that was on several bulletin hoard systems. This utility converted a single track saved in Dr. T’s KCS format to standard MIDI format. While somewhat inconvenient, this did at least allow me to get one of the features 1 feel is mandatory for today's music composition software - recording a performance in standard MIDI format.
EXTRA FEATURES The design and play screens have a muldaide of additional features, like continuous play modes, inversion, compression expand, MIDI patch selection, etc. These allow more fine tuning of riffs, but take time to learn and understand. Most of these features are described briefly in die program’s documentation.
UTILITY PROGRAMS Several interesting educational utility programs are on the Hyperchord disk.
The Mode Maker and Rhytiim Maker programs run separate from Hvperchord, but produce files that can be loaded into Hyperchord later. The Mode Maker allows creation of new modes or scales in an interesting, interactive manner, Graphic images of a set of organ pipes and other objects are presented in this utility. They' change to die proper relative lengths when changes to the mode parameters are entered on the screen. This gives the program an intuitive feel which is great for learning music dieory, but less effective for algorithmic composition. The Mode Maker program is not able to
multitask with Hyperchord (die computer locked up when both were run at the same time).
The two programs complement each other as follows: create a new mode with Mode Maker (at this point you can hear it only as an internal Amiga organ voice).
Then save the mode, terminate Mode Maker, and mn Hyperchord. Finally, load the newly-created mode into Hyperchord to hear its effect on a particular riff.
Unfortunately, this is just too awkward for interactive composition, unless you create a batch of new modes with the Mode Maker program and store diem on a disk. You can then quit Mode Maker, run Hyperchord, and try each of your new modes, switching from one to the other in real time using the Mode grid feature of Hyperchord. This lets you hear and compare how each of these new modes effects the overall sound of a riff, interactively.
RHYTHM MAKER The rhythm maker is another utility, dds one allowing die creation and storage of completely new, customized rhytiim patterns for later u se with Hyperchord riffs.
Using this program, a snare drum sound is generated as an interna! Amiga voice forming the basic note or 'beat'. Up to 16 beats can be selected to form a 'rhythm' cycle’ or sequence. The process of composing a new rhyahm is done with the mouse, first by selecting the number of notes in the pattern, and then assigning a value (duration) to each of the notes. The length of the pattern is chosen by sliding a blue bar above the ‘’rhyihm grid”. This grid is almost identical to the one at the bottom of die Hyperchord screen. After choosing the pattern's length, die default value for each note
can be changed. Changing a note’s value is done by selecting it and then clicking the mouse with its pointer positioned in one of the small boxes that forms the top row of the rhythm grid on the screen. For example, the first beat could have its value set as an eighth note, followed by a second beat set equal to a dotted sixteenth note.
When creating a rhytiim, a pattern of vertical bars appears over each beat, having a width proportional to die beat's value or duration. Also, the duration of the current beat’s delay is shown as a text value on the screen. The small boxes that are used to select the value are unnamed and all have die same color. This makes choosing a specific value difficult, except by trial-and- error. In addition to diis problem, another flaw' exists. Again, clicking in a tiny box is difficult to do without accidentally choosing the box immediately below' the one you wanted to select. If this happens,
the entire pattern thatyou have generated is instantly erased. Since there is no “undo” button, there is no way to recover your work. I CUSTOMER SUPPORT GRADE: A+ When I first got Hyperchord I found numerous serious bugs in it. This was version 1.1.1 called die phone number listed on the registration card for technical support and left a message on an answering machine. To my surprise, within a few hours I got a return call not to mention lots of helpful advice from one of the program’s audiors. He told me that all of the serious bugs w'ere corrected in version
1. 15, and then answered all of my questions thoroughly. I
received an upgrade free of charge soon after sending my
original disk to him. He asked my o pinion of the program
and told me of upcoming improvements to the program, plus
additional documentation that wras being prepared, including a
tutorial. A second call a few wreeks later received a similar
rapid response. Hologramophone clearly provides some of the
best customer support in die Amiga market.
OVERALL IMPRESSIONS Hyperchord and its accompany'ing utilities include a variety' of features not available in any other Amiga music programs diat I know of. Advantages it holds over odier programs include the widest range of selectable modes and scales, plus the ability' to create and store customized modes. Hyperchord easily produces riffs that no odier program can, widiout the aid of one w'ho is well-trained in advanced music dieory. The program therefore is an excellent music theory' instructional aid.
The riffs tiiat can be produced are not easily edited to generate scores for existing popular or "standard" songs. That is not the purpose of the program. Rather, if you are open to new ideas and experimentation, Hyperchord helps you create riffs of virtually limitless scope and style.
Unlike most other Amiga music software, die program is not copy protected in any way, so the user does not have to go through awkw'ard startup procedures like looking up words in the manual or removing die program disk and inserting a key disk, In addition, the latest version available at die time diis was written (version
1. 15) is virtually free of bugs to lock up, crash, or ruin work
that you have spent hours creating.
Weaknesses in the package include a fewr minor bugs and problems with the user interface. Entering notes with the mouse is more difficult than in other music composition programs. The documentation is presently too brief (31 pages) and no index is provided. Further, some of die diagrams in the manual are labelled with symbols that do not correspond to the text that references them. A summary' sheet, card or on-line help screen should be provided to aid users. This would be helpful even after learning the myriad features of Hy'per- chord, especially since there are too few menu items to
allow' selection of diese features. More MIDI controls should be provided for operating keyboards and MIDI sound modules.
In general, Hyperchord is worth adding to your existing music software collection. I cannot say that this is definitely the first algoritiimic composition program you should buy, since other available programs may have different features of greater significance to you. If you want to learn intermediate and advanced music dieory' and apply it to die music that you compose, this program is probably your best choice.
- AC- Hyperchord Hologramophone Research 6225 SW 145 Street
Miami, FL 33158
(305) 252-2661 Price: $ 159.00 Inquiry 212 WHERE IN EUROPE IS
CARMEN SAND EE GO?
First this month is Where in Europe is Carmen Sandiego?, by Broder- bund. This game combines elements of detective work with knowledge of European counu'ies for an interesting gaming experience. It is the third in Broderbund’s “Where is Carmen Sandiego?’’ series, but the first ported to the Amiga (that 1 know of).
The player takes die role of a new' detective of the ACME Detective Agency starting at the rank of Gumshoe. Tire goal is to find and capture members of Carmen’s gang in response to dieir current crimes in Europe, and thereby advance up the ranks in the agency. From one to four solved cases are required to advance each level. Super Sleuth status is die highest and only happens after the player captures Carmen herself. Game play is fairly simple. Each case begins with a call from the chief, explaining the known details of the crime and the sex of die thief. Some are plausible, such as a
stolen gem, but others are very wacky, including stollen moun- taintops and geysers.
It is ihen up to you to follow their path back to the current hideout, a path that will take you through several different counuies. At somewhat random times during your pursuit, the chief will fill you in widi newly discovered details about the thief, including hair color, eye color, their favorite book, and even their favorite movie.
These are important since several characteristics are required to uniquely identify the proper gang member.
Proper identification is necessary to issue a warrant for their arrest.
Without the proper warrant, the captured thief will be found not guilty and released from custody.
Tw'O tools are provided to help you in tracking your' target. The game package includes a small size Rand McNally Adas of Europe and an onscreen “computer” is available to identify countries by flag color, monetary unit, and language. One of the game’s major claims to fame is its ability to make learning geographical and related facts fun. Just by playing the game and chasing the thieves, any player will gain a bit more knowledge about the European continent.
As a game the program is moderately enjoyable. It can be interesting for the first several pursuits, but extended play can become a bit boring, since the basic mechanics are the same for all play. I was disappointed to find I had to recapture the same crook several crimes later, after they were supposedly put away “for a long time”.
The graphics look sharp and clear, and many humorous actions are animated with appropriate sound effects. The still frame views that accompany each city location have nicely drawn images representative of the activities each city is famous for.
On the whole this is actually a fun game and I would highly recommend it to anyone who would like to learn a bit more about European geography. As long as you don't expect something to match die latest Sierra adventure, you should have a good time.
THIRD COURIER Third Courier is probably the last Cold War game we will see, at least for a w'hile. This game, from Accolade, puts the player in the role of the master spy Moondancer as he attempts to recover stolen NATO defense plans and bring the traitor who caused their loss to justice.
Third Courier is a graphical role- playing game with a similar layout to Uninvited and Shadowgate. The player can move around the discreet areas of the cities of East and West Berlin in an attempt to accomplish die quest. You begin in a small flat rented Broderbund's Carmen Sandiego European style "sr h S .a ' M iV rjr "I!, 4® A feifi m Id'fllTTj * rt & ESO1 iQzn C nemowafe's TV Sports Basketball f----- h.
t. ‘o 1 C -j
- nr Accolade's Blue Angels for you in West Berlin. Your only
information about the cities is a small map included with die
game. While it does have street names and shows die U- bahn
(subway) entrances, it does not have much other use, and it
will be your task to explore the city, scouting out the various
eating, drinking, living, sleeping and office establishments.
The game play screen is fairly well designed and generally provides the needed information during play. Along the left side is a forward looking view of what is currently in front of your character. The artwork used here is clear and looks nice. The right hand side of the screen holds die player status displays which show health, strength, intelligence, and other important characteristics.
Also on diis side are die many action buttons available during play.
Either the mouse, the keyboard, or a joystick can be used for play, making it one of die most flexible games around.
It was a bit of disappointment that the arrow keys could not be used to move around though, instead die designers chose to use N, S, E, and W to go diose directions, it does do one tiling in a different fashion than what I have seen in other games. The on-screen “compass”, which can be clicked on to move about die city, rotates during movement so the current direction is always on the top.
After a brief adjustment, I found this actually worked out well and didn't interfere too much with play.
The game does have what I see as two major flaws. First, it seems West Berlin is just littered with panhandlers and muggers, who are downright hostile and will not hesitate to kill you for the few bucks you have on hand. This would not be so bad, and does add some color to die game, but it seems that you cannot go four blocks widiout being accosted, and the more encounters, the more likely you are to take damage, and probably even die, before you can drive the freeloader off. A tittle moderation here would have been appreciated.
The other problem is die somewhat aimlessness of the game. While I did manage to make it to HQ by taking a taxi. (I couldn’t walk there since they forgot to list it on the map.) But after stocking up here, I could only wander around the city, beating off muggers. 1 believe I was supposed to bribe people to get some information, but even after bribing a rvhole bunch of bartenders and rvaiters, I found I knew absolutely nothing more than when I started.
There is probably a good game buried in here somewhere. But since I only have a limited tolerance for these types of games anyway, I doubt I will ever dig it out. The presentation of the game is nice, and the interface is good, but with die plot flaws, I cannot really recommend it. If you like starting games where you must figure out virtually everything, you may actually enjoy diis game.
BLUE ANGELS Blue Angels, by Accolade, takes flight simulators one step farther. Instead of simply flying from place to place, or shooting down enemies, the goal here is to do formation acrobatic flying, the kind people all over come out to see the Blue Angels do in Air Shows throughout the country.
Flight Simulation is a popular subject, but it actually looks like Accolade has found a new angle. Not only can you do stunt flying with a single airplane, you can also use die game to fly in a tight formation with four other planes. The game is very flexible at what it does, maneuvers can be practiced in the simulator, at a practice air show, or at the “rea]" air show.
During acLion, the camera's view can be taken from many different locations; a chase plane, dre cockpit of one of die formation’s planes, an observation balloon, or a fixed spot in die stands. As with any flight simulator, it takes a while to become familiar with die controls.
Performing the maneuvers themselves is also challenging. The typical sequence will be to first watch die plane carry out the maneuver while on autopilot. Then you will turn off die autopilot and fly through the square hoops that mark the path for the plane to fly dirough, Then die same move will be performed without the aids. Then several moves will be integrated into a practice air show, culminating ina “real” air show'. The graphics are acceptable.
Wire frame images are used for most of die terrain and all buildings, but bit mapped images appear to be used for die planes themselves.
The sound is very simple, adequate, but nothing to get excited about.
Tlie game is an adequate flight simulator, but if dial’s all you want to do with it there are better ones available. But if formation flying appeals to you, check diis game out.
TV SPORTS BASKETBALL Cinemaware has brought out another title in their TV Sports series. TV Sports Basketball brings the ideas in their TV Sports Football to the fast paced game of basketball. TVSB uses die same techniques found diroughout Cinemaware games. TVSB focuses on both aspects of the game of basketball. The underlying foundation is based on player stats and coaching decisions during games. But they do not stop there, a fast-paced arcade-like action game is added to maneuver the actual players around the court during the game. The statistics used are extensive and can he viewed and
printed from the clipboard section prior to play. Any team can be viewed from this page, and a wise coach will carefully examine this page prior to playing any important games.
Once the teams have been examined, it is on to the actual game.
Games can fail into one of two categories, exhibition or league play. Exhibition games can be between any two teams but do not affect either teams standing in the league. But just playing exhibition games would get old after a while, and sooner or later players will want to go on to a regular season. In regular season games, up to 28 human controlled teams can be piayed off in one long season. The graphics are up to the standards set by their previous releases. Cinemaware devoted the necessary time to make high quality graphical images that look very nice 011 the screen and really
compliment the game. And the sound is very dear and keyed to the on-screen action, even down to tire squeak of tire hightops on the court during play.
Each game begins with a smooth animated intro sequence that looks very similar to those used by professional broadcasters covering real professional basketball games. While this is probably not the top 1 im it of what the Amiga can do, it does look very nice and can be enjoyable to watch all by itself. Then each side has the chance to select tire starting players to use. Player selection is veiy important, not only at tire start but also during play. Players grow tired and must be rested to obtain maximum performance. But a good coach must also be careful not to puil a player who is “on a
roll", even if he is a bit tired, or he may loose a valuable scoring machine.
After dre starting lineups are selected, it is on to the tip off. Both sides compete for first control of the ball, and from then on it is fast and furious. The box does say that a player can skip the arcade sequences, and just play a more strategic game, but I was unable to locate this feature in tire manual or in the game, So be ready for at least some arcade action.
From one to four players can participate in tire game action. The first two use the joysticks plugged into tire normal slots, while die third and fourth player can only be added if you have a serial port joystick adapter available.
But with the adapter, four people, two on each side, can compete at die same time, a feat not many odier games can match. In the two joystick mode, bodi players can either play on die same or opposing sides.
As with other Cinemaware releases, the main problem with the game is its focus on action. It may take a few games to just get die proper motions down. Since diis will usually be humiliating defeats, it can be easy to get discouraged and give up. The amount of detail, while great for the simulation, can also be daunting. Since I am not a sports nut, it took me a while to get a grasp on all the statistics, and then to do the necessary replacements, and I am still not where 1 would like to be. But this game has definite potential, and I would recommend it, especially to those who like TV
Sports Football and other Cinemaware releases.
PUFFY’SSAGA Puffy and his sister Puffyn, two adorable yellow ball shaped creatu res, have been stranded in an alien world.
To get back home they must work their way through the 20 levels that make Lip this bizarre world, Such is the setting in Puffy's Saga, die latest product from Ubi Soft, recently imported into the U.S. by Electronic Arts. On a superficial examination, Puffy’s Saga looks like a clone of Gauntlet. It features many of the things that made this game so popular: Ghosts, Dragons, dungeon walls, keys, doors, etc. But it is a complete game in its own right and is very fun to play.
The game can be played in one of two basic ways. A player can simply aim at getting through each level as quickly as possible, or he can choose to take his time and explore every nook and cranny of each level, going for maximum points. Each has its own rewards, and the successful player will probably do some of each. The graphics in this game are even better than those in Guantlet. Perspective graphics are used to add a feeling of depth to each level and the items and enemies scattered about each level are very detailed and look very nice. And the onscreen animation is smooth, even when
many things are moving at the same time. The sound is also very realistic sounding and enjoyable to hear.
Finishing this game will take a fair bit of playing. While 20 levels may not sound like much, it will take a long time for even fast players to make it to the end of the 20th level. And even more time is possible if you thoroughly explore each level. This game is enjoyable and is worth adding to the collection of anyone who enjoyed Guantlet and similar games.
NY WARRIORS Finally this month comes another arcade action game, with the focus on tile action. NY Warriors was just released by Virgin Mastertronic and shows that they do know’ what it takes to make a high quality action game on tile Amiga. It seems that the World Trade Center lias been overrun by terrorists and only you (and maybe a friend) can save it. But NY has deteriorated a fair bit. Not only do terrorists aw-ait you at the end, mean gangs have taken over the streets and you must first fight through many stages of these lethal opponents.
The focus, as with the other arcade conversions by this company, is on the action. Things happen fast in this game. But this fast action is not as much of a problem here as it was in their sports game conversions I covered a few’ issues back. The graphics are also very sharp and probably the best of this months crop of quality’ images. The sound is sharp and clear, and most important of all, multiple objects can be on the screen at the same time without any flicker at all. Probably second only to Innerprise’s Battle Squadron, I was very impressed w’ith what Virgin Mastertronic has done
with their programming.
Four different difficulty levels are available for play, but all are very’ fast and the game lacks a truly easy level.
The one that is called easy is not that simple and will be challenging for nearly any player. The game also has the problem common with most arcade games that use power-up icons. If you die, you lose your current superweapon and must start back with a wimpy pea shooter. But special weapons are fairly plentiful, especially in the later levels, so this is not as much of a problem as it might be.
I would have liked the game better if the Easy level had been easy enough to allow’ me to actually complete the game after a bit of play. But even with the difficult here, 1 found I could actually do well after I learned where firings wrere and how to best eliminate foes. This is a worthwhile purchase for nearly any arcade action fan. The combination of quick action play, excellent graphics, and top notch sound make it a good purchase for everyone’s arcade action library.
• AC* Products Mentioned Where in Europe is Carmen Sandiego?
Broderbund Software Inc. 17 Paul Drive San Rafael. CA 94903
(800) 621-6263 Price - $ 44.95 Inquiry 202 The Third Courier
Accolade 550 South Winchester Boulevard. Suite 200 San
Jose, CA 95i28 Price - $ 49.95 Inquiry 203 Blue Angels
Accolade 550 South Winchester Boulevard, Suite 200 San
Jose, CA 95128 Price - $ 49.95 Inquiry ,204 TV Sports
Basketball Cinemaware Corporation
P. O. Box 5083 Westlake Village, CA 91359 Price -$ 49.95 Inquiry
205 Putty's Saga UB! Soft Electronic Arts Distribution 1810
Gateway Drive San Mateo. CA 94404
(415) 571-7171 Price - $ 34.95 inquiry 206 NY Warriors
Virgin Mastertronic 18001 Cowan. Suites A&B Irvine, CA
(714) 833-8710 Price - $ 49.99 Inquiry 207 Synchronicity: Right &
Left Brain Lateralization by John Iovine PEOPLE ARE TRADING
IN THEIR TRANSCENDENTAL MEDITATION mantras and alpha brain
training devices for the latest in consciousness-expanding
techniques: right and left brain synchronization using
sound, music and light.
BRAIN SCIENCE 101 Brain researchers have determined that people who use both sides of their brain equally usually have enhanced creativity and problem solving abilities.
When you look at the human brain, it is easy to see that, in reality, it is a double organ, constructed of symmetrical and identical hemispheres.
Information gleaned from the last 40 years of brain research shows that each hemisphere of the brain has its own methodology of problem solving ability and its own way of perceiving the world around it. The right brain is non-verbal, emotional, holistic and spatially oriented (ie. The emotional side). The left brain is verbal, sequential, literal and emotionally flat, (tire logical side.)
The reverse is true for 30 percent of left handers.
Both sides of our brain are connected by millions of nerve fibers called tire “corpus callosum”. This brain organ is responsible for exchanging information between the right and left brain hemispheres.
Just to give a little background on this specific area of brain research, much of the information gained fronr this type of research began with operations on people who were experiencing severe epileptic seizures. It appears that the onset of a seizure begins with a localized abnormal electrical activity in ihe brain that quickly spreads throughout the brain. The doctors decided to cut through the corpus callosum, in effect separating the hemispheres, in an effort to keep die seizures localized.
The operation succeeded, but left the patient with two distinct split brain personalities.
Other information was obtained from people who had suffered strokes (cerebral hemorrhages) that destroyed one half of the brain wdiile leaving die other intact.
Fortunately today, researchers don’t have to experiment with anyone who has gone through this kind of tragedy. Since each half of the brain is fed by a different artery in the neck, researchers can selectively put one side of the brain asleep using a tranquilizer injected into one of die arteries. This is called die “Wada procedure."
R1GHTY OR LEFTY!
When presented with a problem one side of die brain usually takes over and becomes the dominant problem solver, depending upon the nature of the problem. A mathematical or verbal problem will usually be handled by the left hemisphere. The right hemisphere will take over in visual and spatial problems. All this hemisphere switching happens below' our level of awareness (subconsciously).
Researchers David Galin and Robert Om- stein first discovered this division of labor in the brain in 1972. They recorded EEG (electroencephalograms) patterns separately from both The Krueger Company Processors 12 MHZ 68020 $ 25.00 25 MHZ 68020 $ 65.00 33 MHZ 68020 $ 70.00 16 MHZ 68030 $ 40.00 20 MHZ 68030 $ 70.00 12 MHZ 68881 $ 25.00 20 MHZ 68881 $ 55.00 DRAMS 256Kx4-80 DIP ZIP 256KX4-10 DIP ZIP Unconditional 30 Day Guarantee
(800) 245-2235 (602) 820-5330 circle 116 on Reader Service card.
Brain hemispheres. When various problems were presented to the subject they observed that one hemisphere became the dominant problem solver depending upon die nature of die problem. When a verbal task was assigned to the subject, a decrease in the alpha rhythm was noticed on the left side while it remained constant on the right. This clearly indicated that the left brain was working on the problem while the right brain continued to idle. When a visual task was assigned to the subject, the opposite results were observed.
In some instances both halves of the brain compete for control; this happens when both sides want to answer a particular problem or question. This can result in stammering and stuttering.
FREUD The right brain is strikingly similar to what Sigmund Freud described as the subconscious (unconscious) mind. Many techniques used by psychologists to probe a patient use right brain superiority in task handling. The Rorschach ink blot test, for example, where an ink blot is presented to a padent for image association, is clearly a right brain task.
Anodier Freudian concept used for psychological analysis, dreams are strongly located In the right hemisphere.
These approaches work because die right hemisphere has its own memory of events, and they are not necessarily' the same memories as die left hemisphere’s. Repressed memories and traumatic events from a patient's past may he brought to the surface by employing diese psychological tools.
In consideration for what we have learned on right and left brain hemispheres, I think it would be appropriate if we renamed die subconscious or unconscious right hemisphere '‘non-verbal”.
Since die right brain is equally conscious, and we don’t want to unjusdy insult ourselves, do we?
BrjIIN WAVES Brain Dead slow waves more common in children and a normal part of their development. Adults produce delta brain waves from time to time during sleep.
Appears to be related to problem solving, sorting and filing of information within the brain's memory. Theta waves are also produced by Zen practitioners in deep meditation.
0 Hz Delta 1-4 Hz Theta 4-7 Hz Alpha 8-13 Hz dominant rhythm in normal adult EEG when subject is relaxed, awake widi eyes closed.
Beta 14 Hz+ appears in normal adults who are “alert" as opposed to relaxed. Being in “beta" is identified as being tense, irritable and basically unpleasant.
NEWWAVE In die 1960's and early 1970's Transcendental Meditation and bio-feedback devices to help produce alpha waves became something of a rage. It promised enlightenment, relaxation and stress reduction. Today there is a growing interest in right and left brain synchronization.
This technique discovered by Robert Monroe promises to put anyone into alpha, theta or delta states (beta state is the norm) by listening to sound that has a synchronized beat to it. The brain wave pattern becomes entrained by the synchronized beat and follows it. The synchronized beat should be at the EEG frequency- one is interested in obtaining. For example, you might try a 9 Hz beat frequency for alpha, 6 Hz for dreta and 4 Hz for delta.
MIND GYMS AND MIND MACHINES Mind machines and mind gyms are offered as a quick fix for everyday stress. Some claim to train your mind to be more creative, productive and imaginative. More ambitious advertisers claim physical benefits such as lower blood pressure, alleviating migraine headaches, and improved intellectual capability. The improved intelligence is derived by- maximizing tire lateralization of the right and left hemispheres for problem solving.
Mind machines operate on the premise that your state ol mind can be influenced by exposure to sound, light and electromagnetic fields. Mind machines such as the Synchro-Energizer are for sale being advertised in many magazines like Omni and Psychology Today. These machines typically consist of goggles with flashing lights and headphones that play synchronized sound. The light flashes from the goggles are synchronized with tire beat frequency of the sound from the headphones.
Mind gyms are turning up around the country7, in these “gyms” you have basically tire same rype of equipment wired to handle a multitude of customers.
WITH A GR UN OF SALT All claims should be taken with a grain of salt. I don’t think any of these companie s ha ve an FDA approval or have filed for such approval. Fortunately for us, we don’t have to buy any machine or invest a large sum of money to start checking these claims out for ourselves. We have an Amiga computer that is quite capable of imitating and possibly surpassing these stand alone sound and light machines. But we'll come back to dais later on.
FDA It is die FDA (Food and Drag Administration) responsibility to keep worthless or potentially hazardous devices out of die public’s hand. Any device that could be classified as a “medical device” must go darough clinical trials before being marketed. Are these sound and light machines medical devices? A lot depends upon die wording of the adverdsement. But the claims made by many of these companies are really pushing the issue.
The reason why these machines are allowed on die market in the first place without clinical trails is an FDA loop hole in the 510-K statue. This loop hole waives the standard clinical trials for any device that has been on die market before 1976. A proto-type sound and light machine called ISIS has been around and marketed since 1971.
SOUND Sound at die brain EEG frequencies is far too low to hear. But by playing two sounds together whose frequencies vary by a small amount, (as an example let's use 9 Hz, alpha freq.), a beat frequency of 9 Fiz can be heard. This sounds like a wah-wah-wah or wavering in and out of die sound frequency and volume. What you're hearing is actually the difference between die two frequencies.
A sound example is worth a thousand words. In order to clarify this explanation, please power up your Amiga computer and load AmigaBASIC. In die AmlgaBASIC window enter: Rem Sound Test Rem Voice 0 & 3 are Lelt Channel Rem Voice 1 & 2 are Right Channel Sound Wait Sound 523,70,255,0 Sound Resume Run this program. What you hear is a "C" note. Now enter this additional line after the first sound statement and before the sound resume statement.
Sound 532.70,255.1 Run the program again. Notice the difference; you should hear the note wavering in and out. That's the beat frequency, the difference of 9 Hz between both sounds.
FFR FREQUENCY AND FOLLOWING RESPONSE This is a term constructed by Monroe to describe his technique. Essentially by presenting these sounds separately to each ear, die EEG wave pattern of the brain will follow the beat frequency. So if we used die program example above, this should make our brain wave resonate at 9 Hz bringing 011 an alpha state.
It is necessary and important to use stereophonic headphones connected to the right and left channels on the Amiga audio out. The sound must be mixed intra-cranialiy in order to generate any effect.
I should point out that when scientists originally tested experienced Zen meditators, their right and left hemispheres did fall into synchronization.
Match printer output to RGB monitors.
C ! N- Alette RINTER tm A COLOR MATCH SYSTEM for the AMIGA "...a really useful effort aimed at professional applications..." Amiga Sentry Review, July 1989.
30 IFF screens output 850+ colors with RGB settings printed below each swatch.
Conversion Chari for RGB to YMC% process color is Included for Desktop Electronic Publishing.
ARTISTS: Know the palette potential of your color printer. PreSet your RGB color output.
GRAPHIC DESIGNERS: Create impressive color "dummy" proofs in-house closely matching final process printing colors.
$ 29.95 check or M.O. (includes poslage S handling) to ONTOLOGICAL SURVEY
P. O. BOX 17488 MILWAUKEE, WISCONSIN 53217-7488 Dealer inquiries
invited (414) 332-1818 Amiga Is a Irademark of
Commodore-Amiga, Inc. Circle 127 on Reader Service card.
THE PROGRAM This program is for those of you who would like to try tdils technique. You can attempt enhanced learning, programming, relaxation or whatever.
The program first queries you for what frequency you'd like to try: alpha, theta ordelta. Then you will be asked fora time period for how long tlie program will produce die sound. Once the program is started, you can use your gadget to shrink die window and then open another to work on something else.
MUSIC Listening to a monotone note can get boring. There isn't any reason I can think of that would prevent this system from working with music. The basic idea of course would be to assign one channel to follow the other with a frequency difference of the brain wave state you’d like to explore.
CONSTRUCTION There isn't any construction involved in this project. You only need two pieces of equipment. One is stereo-headphones, the other is a “Y" adapter. The “Y” adapter must have 2 RCA phono plugs on one end that plugs into the two audio-out sockets 011 die .Amiga. Tlie odier end of the adapter must have a socket to plug your headphones into. Plug die “Y” adapter into the Amiga, and die headphones to the “Y” adapter and you’re ready to go.
Headphones and the “Y” adapter can be purchased at a local Radio Shack or Stereo store.
Test the unit out by putting on the headphones and playing a sound first in one channel and then die odier. You should hear Some people race against time.
Today Buck Walker is racing through it.
Adventures Through Time Vol I: The Scavenger Hunt Join Buck Walker, the rebellious son of a United Earth Historian, in a race into the past to compete in the world's first scavenger hunt through time. Are you clever enough to find your father's time machine? Do you dare confront the challenges that await?
The adventure begins...at a store near you.
Aurum Software Box 5392 Ventura. CA 93005 (805) 659-3570 CirclB 1D6 on Reader Service card.
The sound on only one side depending upon which channel is active.
CON CM IS ION We have only scratched the surface of die current happenings in brain research. 1 do not have an EEC machine to verify whether diis technique actually works. I do plan to build one later diis year as an interfacing project for the Amiga computer. In addition if diere is sufficient reader interest in doing so, 1 will write anodier article and a circuit that adds the Hashing lights to go along with the synchronized sound section.
Or perhaps a simple test program and article to determine your own right- and left- brain lateralization.
It has been said and written many times that humans only utilizelO percent of their brain capacity. In as much as diere are so many claims that these devices improve your intelligence and allows one to utilize more than the standard 10 percent of the brains capacity, I want you all to know that I use at least 10 percent of my brain or 10 neural synapse firing (whatever comes first), whenever 1 write, whether I need them or not.
- Listing -- -- INPUT a ON a GOTO EEG,ptime,start, pEND EEG:
CLS:LOCATE 7,30 PRINT " EEG Menu" PRINT PRINT "II Delta " PRINT
2) PRINT "3) Alpha" Beta" "Enter Choice PRINT "4) PRINT :PRINT
INPUT a IF 3=1 THEN b=3 IF a=2 THEN b=6 IF a=3 THEN b=9 IF 3=4
THEN b=12 IF a l OR a 4 TH GOTO mmenu ptime: EEG CLS:LOCATE
7,30: PRINT PRINT "Set Time Elapse" PRINT "Enter number of
rhinites program to run."
INPUT t IF t 0 THEN ptime GOTO mmenu start: CLS:LOCATE 7,7: PRINT *’ At this point you may shrink this window" PRINT "using the gadget in the lower right hand corner" PRINT "and open another window. Or use the back gadget " PRINT "in the upper right to get back to an opened window" I? B=0 THEN t=9 :REM default to alpha st = t *60 stimer = TIMER * st WHILE TIMER stimer sdl=638.25: REM 1st note value SOUND WAIT SOUND sdl, 77, 255, 2: SOUND sdl+b,77,255,3 SOUND RESUME WEND GOTO ramenu pEND: CLS:END
• AC- REM Sound Synchronization Software REM By John Iovine REM
Channel 0 £ 3 are Left REM Channel 1 & 2 are Right oienu:
CLS:LOCATE 7r25 PRIST "Menu" PRINT " II Set EEG Frequency "
PRINT " 2) Set Tine" PRINT " 3) Run" PRINT " 4) Quit"
PRINT:PRINT "Enter Selection (1-4)" AmiEXPO '90 Basel,
Switzerland The Swiss really know how to throw a party for the
Amiga. And why not?
It's Europe's number one selling machine.
ABOUT 14,000 PEOPLE ATTENDED the AmiEXPO in Basel, Switzerland. Held on May 9 through May 12, the show gave Europeans some fascinating glimpses into what lies ahead for tire Amiga in die 1990s.
The good folks at Commodore Switzerland had die honor of officially introducing die flashy new A3000 to the European public at the recent AMIGA ’90 Basel show.
While die A3000 was die main attraction for most visitors, there were also several other interesting products highlighted there. Ft was a good mixture of attendees: in Europe where there are about 500,000 Amigas in use the Amiga is mainlya game machine foryoudis and normally those young people are the most conspicuous crowd at shows.
Not so at Basel, which was a dior- oughly professional show with a myriad of interesting and well-informed people in attendance. Though not quite on par with Cologne in November ’89 (40,000 attendees forced exhibitors to close the doors sometimes because the hall was too overcrowded), it was for the most part a highly successful show.
So what of note took place at Basel?
Commodore’s Dave Hainey, one of the main designers of the A3000, was extremely helpful in answering hundreds of questions. Commodore sold assorted promotional gifts and debuted their new multimedia program AmigaVision right alongside the spectacular new A3000.
Alexander Gloss, President of AmiEXPO Inc., gave an interesting speech on die history of AmiShows Europe, and discussed shows planned for the future.
Among diem, an AmiEXPO is planned for London in 1991. Ralf Hollax, General Manager of AmiShows Europe, focused on show organization matters and assured by Peter Sacks diose of us in Basel that AmiShows had learned a lot from 19S9’s oversuccess in Cologne. They have moved to expand exhibition space to 25,000 square meters for this year's show in Cologne, so we will surely have a better go of it tiiis time.
Other speeches were given by August Harder, a Swiss Commodore manager and Wolfram Hoefler of Markt & Technik (the patronaging publishing house) also talked about the incredible success of AmiEXPO in Cologne. Albert Absmeier, chief editor of Amiga Magazin (an official co-patron of AmiEXPO’s in Europe, along widi Commodore), said "Informing before buying is important an exhibition is the ideal forum for information-gathering”.
Well-known Amiga artist and video designer Joel Turner showed a nice film he made with the Amiga.
As for new products exhibited at Basel, we had a look at an interesting product named the ‘Colourbox,’ a blue-box system for die Amiga presented by Intelligent Memory. Just in case you are not er Only fiMiai Is JL. COMPUTING S In recent issues, AC has given you the power to turn your A1000 into a ROM-based machine.
To upgrade your A500 to 1 megabyte, To transform your Amiga into a biofeedback lie detector device.
To use your Amiga as the command center for a remote-controlled home of the future.
A future that is in your hands now, thanks to Amazing Computing1, There’s power in our new product previews, product reviews and tutorials, too.
Plus, AC takes you to all the major shows with detailed, timely coverage!
COMPARE! AC actually publishes many more pages of solid information - insightful columns, departments and features - than any other Amiga publication!
NOW - A LIMITED TIME OFFER: j Put a full year of AC POWER in your hands for just $ 1 Or, subscribe for 2 years and pay just $ 38 - that ’s a SAYINGS of 60% off the newsstand price!
Remember - we also place the entire Amiga marketplace at your fingertips in the pages of * AC GCNM amiga It’s the only publication in the world that lists every product currently available for the Amiga!
To subscribe, just use one of the cards provided in this powerful issue!
Or, call 1-800-345-3360 (credit card orders only)!
Familiar with what a blue-box is, it's a piece of video equipment that takes two video sources (one ofwhich includes a blue field, normally in die background), and superimposes one shot on top of the other by displaying the field of view from one source in place of that field of blue in the second. With this technique, Superman is able to fly through the streets of New York, and with your Amiga and the Colourbox, you could clo the same.
The difference between a normal blue-box and the Colourbox is that the Colourbox allows you to use any color for the “blue" purpose. Of course, you can also use it as a normal Genlock and fade pictures in and out. The Videobandwidth is over 5 Mhz. The Colourbox will be shipping in October 1990 and is priced in Germany about DM 1800 that would be slightly over $ 1000 U.S. Several exhibitors presented hard drive solutions for the Amiga. One of tlie most long-awaited and fascinating of those was Ariba, an internal 20 Meg hard drive from Gigatron for the Amiga 500. Ariba consists of a
controller, which is plugged directly into tlie base of tlie 68000, and a 2- 1 2 inch, 23-millisecond drive. The combination has a transfer rate of about 300 Kbyte per second, and will be sold in Germany for DM 1298, which is about S750.
IVS, represented in Europe by DSP, showed their newTrumpcard Professional, a SCSI-Controller for the Amiga with incredible transfer rates. The normal version is able to achieve rates of 900 Kbytes per second. Combined with a 68030 it may reach a tremendous 1.5 Mbytes second if the hard drive is able to go along. At tlie show there was a nice demo in which an Amiga played a Disney film of about 3 minutes in length direcdy from the bard drive, with 30 HAM pictures per second, each about 45 kilobytes. Unfortunately, I was unable to get any comments on price and availability.
Coinbitec, a West German company, was some time ago able to finish their Atari ST-Emulator for the Amiga, but shortly afterwards they went bankrupt. As it was a good working piece of soft hardware (it is a module for the A2000 and an emulator of 14k length only), the rights were directly bought by 3-State. They exhibited it at the Basel show and are going to sell tlie soft hardware for around DM 600 ($ 340 U.S.). Unfortunately, I'm not sure of the eventual market for it, as several PD versions of an ST-Emulator are now being passed around in Germany, and they do not need any hardware. Their
only fault is that they are incapable of writing ST disks, but they can read them without any problems.
Bsc. A German third-party7 supplier, showed some really7 “amazing" new7 products for the Amiga. The most interesting of these was tlie NonFlicker Cable, a simple cable to connect a cheap PC TTL-.Monitor to the Amiga. The cable is able to reduce flickering in interlace mode, but it is only capable of displaying four colors, so you won't have too much fun with color-intensive programs. With the cable, your monitor will still flicker a bit, but it is a really good and most economical (only about $ 40
U. S.) alternative to the expensive Flicker- Fixer. Also shown by
bsc was Ultradesign, a good-looking CAD program, which seems
very7 easy to use as it is completely mouse-driven and appears
But we should have a closer look at it before commenting too fully7. What is not so amazing is the price, around S600.
Memory and Storage Technology
(M. A.S.T.) started business in Germany just a short time ago,
and had a big booth at the Basel show7. They had good success
with their existing product line at the show, and also showed
off their brand-new Blitz- Basic!, a basic-like language
which gives much more control over graphics, sprites and
sound than AmigaBASIC gives to the programmer. It lets one
manage the copper and blitter, and provides for dual play-
fields, double buffering and smooth scrolling. With it,
M.A.S.T. also supplies a compiler which produces pure
assembler code, and doesn't use tlie slow7 Amiga OS
Libraries. The editor with Blitz-Basic! Is also excellent,
and long-suffering AmigaBasic people will especially
appreciate that it not only has the functions of a smail text
editor, but also has online help texts for keywords.
A brief overlook of Blitz-Basic! Proves to be very7 good; in particular, the demos w7ere impressive, as w7ere the short and neat programs used to create them. It appears that for around S100 w7e are ge tting an excel I ent piece of software.
Gold Vision, a German company headquartered in Berlin, presented their “IFF to Vector" program Vector-Trace.
Vector-Trace turns a normal IFF image into a vectorized version, so you can blow7 it up without getting the so-called Jaggies. This is extremely useful for DTP programs, especially w7hen w7orking -with scanned images or logos. VectorTrace can save the vectorized image in AegisDraw, PostScript or VideoScape3D format so that you have professional-looking images in DTP form, even if you had to enlarge the image. VectorTrace is sold in Germany for DM 150, (about 85 dollars U.S.). A neat product came from Rossmo- eller. Their A500 Power PC Board is a PC card plugging into the internal
expansion slot. The board is fitted with 1 Meg of RAM and a NEC Y’30 processor with 8 Mhz, and supports Hercules and CGA graphics. In the PC mode it has 76SK free RAM, in the .Amiga mode yrou can use it as normal expansion memory7 with 512 K autoconfiguring RAM and a 512K RAM disk, Interestingly, the board uses the normal Amiga ports, so you can use your drives mouse joystick and parallel serial connectors of the PC. The complete board w7ith MS-DOS
4. 01 sells in Germany for DM 798, or $ 450.
When looking back on the show-, one has to say that for tlie attendees it w7as a very7 enlightening and successful show. One wras able to meet and talk to many knowledgeable .Amiga professionals about their experiences w7ith this product or that, and to exchange some hints.
¦AO List of Exhibitors 3-State Computertechnlk Schoumburgstrasse 57 4360 Recklinghausen West Germany Telephone: 49-2361-16207 Inquiry 213 A + t AG Daederiz61 CH-2540 Grenchen Switzerland Telephone: 41 -66-520311 Inquiry 214 Alcomp Glescher Weg 22 5012Bedburg West Germany Telephone: 49-2272-2093 Inquiry 215 AMIGA-Magazin Verlag Markt & Technik Hans-Pinsel-Slrasse 2 8013 Haar bel Munchen West Germany Telephone: 49-39-46130 Inquiry 216 bsc Buroautomation GmbH Schieissheimer Strawe 205a 8000 Munchen 40 West Germany Telephone: 49-89-3084152 Inquiry 217 Manfred Cotie Hard-Software Langstrasse
23 6450 Honau West Germany Telephone: 49-6181-251628 Inquiry 218 Commodore BcrromaschGmbH Langenhagstrcsse 1 CH-4147 Aesch Switzerland Telephone: 41-61-707111 Inquiry 219 Comp-U-Save 414 Maple Avenue Westbury, NY, USA 11590 Telephone: 536-997-6707 Inquiry 220 Compuiit Data Service Helnstrasse 23a 6368 Bad Vilbel West Germany Telephone: 49-69-644619 Inquiry 221 Demonware Strahteftberger Strassse 125a 6050 Offenbach West Germany Telephone: 49-69-8004703 Inquiry 222 Donau-Sott Postfoch 1401 8858 Neuburg Doricu West Germany Telephone: 49-8431-49798 Inquiry 223 DSP Hard & Software Schaufetweg
111 CH-3098 Schliern Switzerland Telephone: 41-31-535351 Inquiry 224 DTM Werbung & EDV GmbH Poststrasse 25 6200 Wiesbaden West Germany Telephone: 49-6121-502059 Inquiry 225 Dynamic Computer Gulenbergstrasse 5 CH-1023 Genf Switzerland Telephone: 41 -22-444017 Inquiry 226 Elepro AG Furtbachweg 63-65 CH-6304 Wallisellen Switzerland Telephone: 41-1-8302000 Inquiry 227 FSE-Computersysteme Schmledstrasse 11 6750 Kaiserslautern West Germany Telephone: 49-631 -67096 Inquiry 228 Gigatron ResihauserStrasse 128 4590 Cloppenburg West Germany Telephone: 49-4471-3070 Inquiry 229 Gold Vision
KurfOrstendannm 64-66 1000 Berlin 15 West Germany Telephone: 49-30-8833505 Inquiry 230 Great Volley Products, Inc. 225 Plank Road Paoli, PA. USA 19301 Telephone: 215-889-9411 Inquiry 231 Heutronic AG Unterfuhrungytasse, 29 CH-4601 Olten Switzerland Telephone: 41 62-260222 Inquiry 232 ICD Europe GmbH Am Goldberg 9 6056 Heusenstamm West Germany Telephone: 49-6104-6403 Inquiry 233 Intelligent Memory WaechtersbacherStrasse 89 6000 Frankfurt 61 West Germany Telephone: 49-69-410072 Inquiry 234 Irsee-Sof; Gruentenstrasse 6 8951 Irsee West Germany Telephone: 49-8341-8211 Inquiry 235 Konyo
Electronics Vertriebs GmbH Auwiesenweg 3 8049 Unterbruck-Fahrerehausen West Germany Telephone: 49-8133-801 Inquiry 236 Kupke Computertechnik GmbH Burgweg 52 4600 Dortmund 1 West Germany Telephone: 49-231-818325 Inquiry 237 Logico Software 5, Cn des Paleyres CH-1006 Lcusanne Switzerland Telephone: 41-21-265212 Inquiry 238 Logo Software Haferfeldstrasse 38 8901 Meitingen West Germany Inquiry 239 Mcsoboshi Joachimstrasse 16 4630 Bochum West Germany Telephone: 49-234-308151 Inquiry 240
M. A.S.T. GmbH Theodor-Heuss-Ring 19-21 5000 Koein 1 West Germany
Telephone: 49-221 -7710918 Inquiry 241
M. A.SJ, USA 1395 Greg Street Sparks. NV, USA 89431 Telephone:
702-359-0444 Inquiry 242 Mlcrotron Computerprodukte
Bahnhofstrasso 2 CH-2S42 Pieterten Switzerland Telephone;
41-32-672429 inquiry 243 Micro-Systems Software MSS 12798
Forest Hilt Blvd, Suite 202 Palm Beach, FL, USA 33414
Telephone: 407-790-0770 Inquiry 244 Miky Wenngatz Jaegerweg
31 8031 Gilching West Germany Telephone: 49-8105-24540 Inquiry
245 Mlndware International 230 Bayview Dr., Suite I Batiie.
Ontario, Canada L4N 4Y8 Telephone: 705-737-5998 Inquiry 246
Otronio Computer und Bauteile Shop Kande!sges.m.b.H.
Bieibtruestrosse 2 1 A-1110 Wien Austria Telephone:
43-222-767001 Inquiry 247 Print-Technik GmbH Niaolaistrcsse 2
SOX Munchen 40 West Germany Telephone: 49-69-368197 Inquiry
248 Reiswore Postfach 36 5584 Bullay West Germany Telephone:
49-6542-2086 inquiry 249 Rossmoelier GmbH Neuer Mark! 21 5309
Meckenheim West Germany Telephone: 49-2225-2061 Inquiry 250
Softlogic Publishing Corp. 11131 F.S. Towns Sq. St. Louis. MO.
USA 63123 Telephone: 314-894-8608 Inquiry 251 Soflwareland AG
Frankiinstrasse 27 CH-8050 Zurich Switzerland Telephone:
41-1-3115959 inquiry 252 Schneider Vertog Am Weinberg 46 8301
Arth West Germany Telephone: 49-8704-1597 inquiry 253 Supra
Corporation 1133 Commercial Way Albany. OR, USA 97321
Telephone; £03-967-9075 Inquiry 254 Telekommunlkation
Kaaben-Rfis Gbr, ProjensdorferStrosse 14 2300 Kiel l West
Germany Telephone: 49-431-337881 Inquiry 265 TSS Handle
Plastics Bementenweg 18 C nl-3201 LG Spljkenisse Netherlands
Telephone: 31-1880-22220 Inquiry 256 Videocomp Berner Strcsse
3 7 6000 Frankfurt Main 56 West Germony Telephone:
49-69-5076969 Inquiry 257 Vidtech Internationa!
2822 nw 79 Avenue Miami, a, USA 33122 inquiry 253 Vprtes Computersysteme Falterstrasse 51-53 7101 Fleln West Germany Telephone: 49-7131-60880 Inquiry 259 Weka-Vertag Hermetschloo 77 CH-8010 Zurich Switzerland Telephone: 41-14-328432 Inquiry 260 X-Pert Computer Sen ice GmbH Weiherwiese 27 6270 idstein West Germony Telephone: 49-6126-8809 Inquiry 270 OlNiTIGIQIMnlRi YBGlRIA Mil ESTABLISHEC 1967 OUTSIDE USA & CANADA CALL
(718) 692-0790 FOR CUSTOMER SERVICE Call: Mon-Thurs. 9AM-5PM Fri,
9AM-4:30PM (718)692-1148 Retail Outlet, Penn Station, Main
Concourse (Beneath Madison Square Garden) NYC, N.Y., 10001
Store Hours Mon-Thurs 9-7:30 Fri 9:00-6:00 Sat CLOSED Sun
9:30AM-7PM FOR ORDERS & INFORMATION IN USA & CANADA Call
TOLL FREE 1-800-759-6565 Off WRITE TO: Montgomery Grant;
Mail Order Department P.O. Box 58, Brooklyn N.Y., 11230 FAX
NO. 7186923372 TELEX 422132 MIGRANT AMAZING COMPUTING 7 30
ORDER HOURS: Mon-Thurs, 9:00am-7:00pm I Fri, 9:00am-6:00pm
I Sat CLOSED Sun 9:30am-6:00pm (ET) NO SURCHARGE FOR CREDIT
CARD ORDERS WE INVITE CORPORATE AND EDUCATIONAL CUSTOMERS
RUSH SERVICE AVAILABLE I TOLL-FREE TECHNICAL SUPPORT
AMIGA-500 COMPLETE w 1084 RGB COLOR MON. $ 789 ¦ A-500
W 1084 i SOOQ 1010 DISK DRIVE S 05
• A-5CC, 1094 1512K SA7E UPGRADE (1MB Total) O O RGB COLOR
• Amiga 500w 51?K RAM * Bult-in 3.5* Disk Drive
• Mouse * RGB Coior Mon tar * System Software
• Amiga Basic ‘Amiga 50Gw 512K RAM
* Biitf-in 3.5' Disk Drive
* 40MB Hard Drive
* System Software
• Amiga Basic $ 519 ITWIGAj T $ 699
• 3 MB RAM • 25 Mhz. * Buiit-m 3.5' Disk Drive
• 40MB Hard Drive » Mous* • System Software
• Amiga Base $ 3299 AMIGA 2500 30 MICA ooo
• IMS Expandable to 9MB
- BUIt4n 3 ' Disk Drive
• System Software
• Amiga Basic $ 1249 RGB COLOR PACKAGE
• Amiga 2000 Computer * 3.5' Disk Drive
• Mouse * RGB Cdcr Monitor * System Scfarare AmlGA ooo $ 1429
AMIGA-2000 W 1084 RGB COLOR MON.
* 1529 NEW AMIGA-3000 CALL AMIGA 2000 H.D.
• 1 MB RAM ¦ BuIMn 3.5’Disk Driv ¦ A0MB Had Drive • Mouse •
• Amiga Basic $ 1799 MMIG ADDED BONUS: WE OFFER 1 YEAR PARTS AND
LABOR WARRANTY ON ALL AMIGA COMPUTERS PURCHASED THROUGH
The Lowest Pricing - Lifetime Toll Free Technical So Extended Warranty STANDARD - All You Expect MONTGOMERY GRANT WE WILL MEET OR BEAT ANY LEGITIMATE DEAL ON ANY AMIGA PRODUCT!
AMIGA GREAT VALLEY "A PRODUCTS PERIPHERALS AMIGA COMPATIBLE PERIPHERALS PRINTERS ..4279 . OTHER MODELS IN STOCK! ALL MODEL S DISCOUNTEDI A-1930 VGA COLOR MONITOR .. 5439 A-20SB-D BRIDGEBOARD 5459 A-2286DATBRIDGEBOARD .S1079 A-590 HARD DRIVE ...5489 A-1950 MUILTISCAN $ 549 A-2024 HI RESOLUTION MONO WON. (1908 X 800)_______5569 A-2630 ACCELERATOR BOARD ..INSTOCK 1MB FATTER AGNUS CHIP(0372A) ..589 A-501 EXPANSION MODULE...5149 A-1010 DISK DRIVE ..5129 A-1011 DISK DRIVE ..£169 A-2060 ARCNET ADAPTOR .
5219 A-2Q65 ETHERNET ADAPTOR ......$ 279 A-1 DBA RGB COLOR MONITOR .... IMPACTA-20008 0 5215 28MHz. 66030 ACCELERATOR FOR A-2000 ...5769 GVP 3001 KIT (26 Mhz,) WITH 68030,4MB. 68682 $ 2029 3001 KIT w QUANTUM 40MB, $ 2369 3001 KITW QUANTUM 80MB. $ 2649 GVP 3033 KIT (33MHz.)
W 60030. 4MB, 68882 ...,.52599 3033 KJTw GUANTUM 40M...52939 3033 KIT w,QUANTUM 80MB.S3229 GVP 3050 Kit (50 Mhz.)
W 68030,4MB, 688B2 ......$ 3569 3050 Khw Quartum 40MB. 53969 3050 Kit w Quanlum 80MB S4269 A-2000 HARD CARDS IMPACT A-2000 HC 45 ....S499 IMPACT A-2000 HC 40Q.IN STOCK ALL OTHER GVP PRODUCTS IN STOCK A-MAX MAC Emulator for AMIGA....5109 AMIG-A-TOSH Mac Compalble Drive lor A-MAX .....$ 154 AM G-A-TOSH PLUS ....$ 239 BASEBOARD Memory Expansion lor A-500 (uses A-501 Expansion Slot) OK $ 139 3MB $ 379 A-MAX ROM ...$ 129 1MB 5219 4MB S45S CALIFORNIA ACCESS 3,5" DISK DRIVE ..$ 126 2MB ......5299 Ml CR
OB ones Memory Upgrades tor A-2000 Sup OK 5169 Bup W 6MB..CALL 6upw;2MB..S309 Bup w BMB..CALL Bup W 4MB...S449 COLOR SPUTTER..IN STOCK FUCKER FIXER ....5429 FRAME GRABBER ......$ 489 FRAME GRABBER SOFTWARE UPGRADE CALL PANASONIC WV-1410 with VARIABLE 16mm LENS with IRIS .$ 259 PROGRESSIVE PERIPHERALS 2MB EXPANDER FOR A-2Q00....£229 SHARP JX100 CoiorScanner w Sotlware & Cables ......$ 729 MASTER 3-A 3,5” DISKDRIVE .$ 115 MASTER 5-A 5 25" Disk Drive 5189 SUPRA RAM 2000 2MB RAM.....$ 259 6MB
RAM.....CALL 4MB RAM.....$ 399 8MB RAM.....CALL GENLOCKS GEN-ON E.5399 PRO-GEN $ 299 WAGNMOO4 4O04S (1359 MAGNI4004 or 4004S 4010 ..$ 1569 NERIKI IM AG EM ASTER PRO CALL OMNIGEN 701 ....$ 1369 SUPER GEN .$ 629 SUPRA2400 EXTERNAL .5115 SUPRA 2400ZJ INTERNAL ....IN STOCK SUPRA RAM 500 SUPER GEN 2000S ....CALL (O 1 tA _aUoJKJUi 1 Or M QvUI .v I VIDTECHSCAN LOCK ...CALL HEWLETT PACKARD DESKJET, .45IS.9S DESKJET t......5609.95 LASERJET HP
w Toner .....$ 989.95 PAINTJET ..J949.95 HP LASERJET III w Tonor ......$ 1579 STAR NX-100011 .....CALL NX-1000 RA1NDCW. .CAll XB-2410 ...J439.95 XB-2415 ...J569.95 COLOR OPTION KITtor XB PRINTERS,,,. .CALL
- "NEC MULTISYNC 111 i MONITOR.. $ 649 CITIZEN
GSX-140 ...J329.95 COLOR OPTION
KIT .....CALL PANASONIC
KXP-1180 ..5174.95 KXP-1191 ..5214.95
KXP-1124 ..5259.95 KXP-1624 ..5429.95
KXP-1695 ..5419.95 OKIDATA OKIMATE20.
W Plug'n Print.,.,$ 229.95 CANON BJ-130E ...5579.95 EPSON LX-310 .....5199.95 FX-850, .....1349.95 LQ-510 ....5839.95 HARD DRIVES for AMIGA 2000 HARD DRIVES for AMIGA 500 ro 5eagate| (20MB).. (30MB).. Quantum Quantum HARD DRIVE CARD PHOS. AVAJLABLE-CALL Ccr lilted check, bank check, money orders, approved P.O.'s, Vrsa.Maslcr card. Dincr’sClub, Am-Err, Optima, Carl Blanche, C.O.D.’s t wire liansloi s accepted. Please
i. ill Ik-fore submitting P.O.'s. Noadditional surchaigclor
credit card orders. Noncetliliedchccksmustwail4-6weekslor
clearance.. Prices and availability subject lu change without
notice. Not responsible foi typographical errors. Return ol
delectivemcrchandisemuslhave prior rcjuin authorization
number, or returns will nut be accepted. Please add 5%
shipping & handling (mm. S6I. Oiders over SI 200 are
discounted to 3% shi| lr ¦. ICanadian orders please call for
shipping rates). APOFPO & handling Oiders over S3000 aic
discounted to " ordersare shipped fust class priority air.
- - - (Canadian ordeispiease call lor shipping rates). APO FPO
orders pieaseadd 10% shippings handling. All APO FPO ordersare
shipped fiistdass priority air.
Ah orders can bo shipped Air Expicss-call lor details. D C. A. 8800233 Amiga is a registered trademark of Commodore-Amiga Inc. fABD 500 OPERATE WITH AMIGA SCO (EXPANDABLE TO 2MBl.... 229 these hasp dsive nG$ . Asc mac with thc TsmfCAlD 500 INCIUOIBI Seagate gftfftr81 5499 ST-125N (20MB) $ 429 177 fgC....!'."$ 575 ST-133N (30MB) $ 459 ST-1096N(80MB) ...$ 669 SAME PACKAGE AS ABOVE WITH XETEC FASTTRAK EXTERNAL CHASSIS CAN BE EXPANDED TO BUB RAM ADO 1110 ,!• "' 1 r____ 'TRUMP external chassis enables any_scsihard drive to VJ 40MB (19ms) ..$ 559 BOMB
19ms) ..$ 779 105MB (19ms) .$ 849 SUPRA HARD DRIVES FOR 20 MB,..4’.?.?.?.....$ 465 40 NB .... £569 80 MB ......$ 839 A-10OO VERSIONS ADD S80 2MB RAM EXPANDER l AVAILABLEI SUPRA HARD DRIVES FOR A-2000 40MB (Quantum) $ 529 80MB (Quantum) $ 699 105MB (Quantum) $ 789 THESE HARD DRIVE PACKAGES INCLUDE YOUR CHOICE OF XETEC. TRUMPCARD OR SUPRA HARD DRIVE 60NTROLLER CARDS ST-157N (49MB) .....$ 429 ST-157N-1 49MB, 28MS) ......$ 449 1T-177N (60MB) .....$ 509 ST-277N 60 MB .....$ 469 ST-125N (20MB) .$ 349 ST-296N
60MB) .....$ 499 ST 138N (30MB) .$ 379 ST-1Q96N (80 MB) ...$ 599 i 40MB (19ms) $ 479 60MBJ19ms) $ 679 I 105MB (19ms) ..$ 759 Circle 121 on Reader Service card.
Quick response to user requests, achieved through simple yet efficient program logic . . .
Exceptional Conduct by Mark Cashman EVERYONE LIKES RESPONSIVE PROGRAMS. BUT HOW CAN A program respond quickly, even when in the middle of complicated operations? The answer is found in a special provision of Exec called exceptions. Exceptions are a task-private temporary redirection of control in response to a signal.
Each task lias a set of signal bits in its task control block. There are 32 signal bits contained in a longword of the task control block. This longword, in the Benchmark Modula-2 libraries, is named tcSigRcvd (for task control Signals Received). Sixteen of these signal bits are reserved for die use of Exec.
2 program below' demonstrates diis. Note that die MessageUdl, Termination, and Timer modules arc my own, and that the other modules are pan of the Benchmark Modula-2 libraries.
MODULE TestExcept; IMPORT InOut, Intuition, Memory, MessageUtll, Nodes, Ports, PortsUtil, SYSTEM, Tasks, Termination, Timer; FROM SYSTEM IMPORT ADDRESS, ADR, BYTE, 75IZE; FROM Termination IMPORT Assert; Each time you call CreatePort to create a message port for your task, a signal bit is allocated for the message port (the number of this bit is stored in MsgPort.mpSigBit, and die corresponding bit is set in tcSigAiloc).
Then, when you call WaitPort to wait for a message to arrive at the message port, your task sets the corresponding bit in tcSigWait and is suspended by Exec until a message is received. Then, when die message is received, SendMsg sets the same bit in tcSigRcvd, and Exec, noting diat die same bit is set in tcSigWait. Schedules the task for reactivation.
Except i onRout ineTYPE PROCEDURE; Except!onRoutine; Except!onRoutineTYPE; Iterations: CARDINAL; KeepRunning; BOOLEAN; WindowPtr: Intuit ion*WindowPtr; PROCEDURE SetKeepRunningToFalse; BEGIN KeepRunning:= FALSE; It is also possible for a signal bit to cause Exec to invoke a task-specified procedure. This procedure is called die exception procedure. First, it must be specified which procedure is the exception procedure. This is done by putting the address of the procedure in tcExceptCode. Next it must specify which signals will cause the exception routine to be called. This is done by
setting die appropriate bits in tcSigExcept. The Modula- END SetKeepRunningToFalse; PROCEDURE Terminⅇ BEGIN IF Window?tr = NIL THEN Intuiricn.Close'riindow(WindowPtr''); END; END Terminate; Tasks. SignaiSet i CARDINAL (Window?tc" .UserPorC'' ,mpSig3it) }); END InstallSxceptionRounine; BEGIN Iterations:= 0; KeepRunning:= TRUE; WindowPtr:** NIL; ExceptionRoutine:= SetKeepRunningToFalse; Termination.RegisterProcedure(Terminate); OpenWindow; InstallExceptionRoutine; WHILE (Iterations 1001 AND KeepRunning DO Timer.Wait 0,0r1,0}; INC (Iterations); END; IF KeepRunning THEN
InOut.WriteString("Iteration termination."); InOut.WriteLn; ELSE InOut.WriteString("Exception termination."); InOut.WriteLn; END; Termination.NcrnalTernination; END TestExcept.
The program takes a common situation detecting window close and eliminates the step of checking the message port each time tlirough the loop by replacing it with the checking of a boolean variable that is set to false by die exception routine.
REAL USES OF EXCEPTIONS This is a good way to test the use of exceptions, but it is not fully representative of the best way to use exceptions. Here are some real examples: A fractal generation program responding to a mouse button press in order to zoom in on an area; the exception routine takes control, suspending the calculation for die current pixel, while the user defines the area to be zoomed; then, after starting a new task to display the defined area, die calculation in the current task for the current pixel is resumed.
A file name requester reading a directory to format a display of the files in die directory needs to respond when die user picks anodier directory from the directory list; a flag is set by die exception routine to restart the directory examination process using the new name.
WHAT MAKES EXCEPTIONS USEFUL?
Basically, these examples plus the program above illustrate die diree possible uses of an exception routine: Terminate an iterative process.
Suspend an iterative process for a user action.
Restart an iterative process widi new starting conditions.
In all cases, the advantage of the exception routine is die simplicity and efficiency of program logic. In die case of types one and three, what would otherwise be a test of die message port, with the consequent overhead followed by message type dispatching logic, merely becomes the test of a variable. In die case of type two, die existence of the user action logic is invisible to the main loop.
In all cases, the loops are simplified, and die checking of die message port only occurs when there really is a message to be read.
- AC- Let ACDA Open Your Real World Window !
Scientific and Engineering Products for Your Amigas!
PROTO-40K Proto-'iOK is the first and only fully featured data-acquUllton and prncess-eoncrul expansion card For the Amiga 2000, 'live Proto-40K features a 10 channel 12-bit multiplexed analog-to-digital converter, two 8-bii digilal-to-analog converters, a 3* channel programmable limebase, 16 digital inputs and Id digital outputs. Prolo-HIK also features a highly stable instrumentation amplifier with programmable gain, multiple triggering sources, and on-board digital waveform generation. Data acquisition and process comm! Projects are a snap to develop with the Proto-'iOK. Data Acquisition
System (DAS) software and *C source code. Sample application programs and source are included for each of the ProtoMOK functions. Now sold in various custom component configurations. Huy only the functions you need. Call for new lower pricing.
Amiga GPIB Amiga_GPlB is a General Purpose Interface Bus card for the Amiga 2000. ‘Ihis half-length expansion card performs all the Talker, Listener, and Controller functions of the GPID (IKKI*-
488) protocol. One Amiga can control up to 14 GPIB devices.
Includes Command Function Library (ACDA GPIB CH.), test
application progra m a nd ‘C source code driver. $ 495,011
DigiScope DigLScope is a digiral storage oscilloscope
emulator that works with ACDA’s Proto-5K, Proto-iOK or
otherparallcl-portdigitizers. DigiScopchas independent
’Waveform buffers, a digital signal processing (DSP)
package, a l ast Fourier Transform (ITD package and a
filtering package. DigiScope has extensive waveform
scrolling functions that work in a rcsi .eable scope window
in high or low screen resolution. DigiScope offers a
complete set of archival functions and the standard
complement of signal statistics. DigiScope also features an
extensive digital waveform generator package. $ 139.95
Shinko & Mitsubishi Preferences
1. 3 Printer Drivers We offer a complete line of thermal color
printer drivers for the Mitsubishi and Shinko A&B si e color
printers, 'I'hcy are 100% Amiga Preferences 1.3 drivers.
$ 133.00 AjmigaView 2.0 Amiga View is an object-oriented, 0
language, Intuition front-end interface library that
provides over 100 casy-lo-use routines and macros. Our package
features WINDOWS, SCHI-liNS, MliNUS, UUQIJKST- t-ILS,
GAIXJinii OF Al l. ’lYl’KS .including automatic mutual
exclusion), BITMAPS, All IMACiF.ltV, IFF, TEXT, and much more.
This standarized and consistent Intuition Graphics interface
greatly reduces programming lime and codespace for profes
sional applications development. Amiga View works with lx)th
MANX and LA’lTIC.Ii. See AmigaWorld (Sept. Oct. 1987, p.28)
for review, $ 79.95 Amiga_FFT C Package The Amiga JTTC Package
Provides all the source you need to perform detailed fre
quency analysis utilizing a complete set of Fast Fourier
Transform (FIT) routines. The package indudesC source for
derivation of the Power-Specimm, Phase-Amplitude Spectrum,
Inverse PIT, several window functions and user interface
SI 52 00 ACDA Corporation 220 Belle Meade Avenue Setauket, NY 11733
(316) 689-7722 Circle 104 on Reader Service card.
SNAP, CRA & IPOIPS FIXING A MONITOR LIGHTNING BUG ON COMMODORE MONITORS 2002, 1902, & 1080 by Richard Landry [WARNING: n-IEFOLLO WING hardware fix involves making modifications to a monitor equipped with 20,000 volts.
Undertaking such a project can be extremely dangerous, and is therefore recommended for the technically inclined only. Amazing Computing assumes no responsibility for any damages and or injuries that may be incurred while performing these modifications.1 A potential hardware bug that may result in a high-voltage discharge is prevalent in several early models of RGB monitors supplied for C-128 and Amiga computers. Since the advent of the Amiga and C-128 computer, a significant number of users have experienced a problem with a sudden snap, crackle, or popping sound accompanied by a momen
tary loss of picture on the monitor, Such occurrences are usually infrequent to start with, but become more frequent with the age of the system. Still, in at least one case I know of, an Amiga 2000 system developed the condition almost immediately, and with such intensity that the system would consistently crash.
My Amiga 1000 and the associated monitor were purchased at a Chapter 11 sale, the first year the Amiga appeared on the market. The monitor occasionally cracked an electrical snap and, in late 1988, it gave a snap that evoked die Guru. The snap did not appear for a few months after that. However, in February '89, while my computer system was being used for a demonstration at a club meeting, the electrical snap reappeared.
Inquiries did not provide any answers, but the monitor was checked over. During this examination, it was found that taking the cover off caused the snapping to stop. A muffin fan was attached, but about a month later the computer developed a condition whereupon it would occasionally lock up whil e attempting to save or print a file. By early April of ‘89, the frequency of the lockups had increased; the computer could barely be used for an hour before it locked up. A snap was observed after these system lockups occurred.
Intermittent problems are the hardest to correct, but the problem had to be isolated and solved. Frank Gerard of ECS, an authorized Commodore service shop in the Spring Park Lake, Minnesota area, worked on the problem with several different monitors. He concluded that the problem was related to die red high-voltage wire leading from the high- voltage transformer to the anode cap on top of the picture tube. Frank sprayed a plastic insulating coating around the high-voltage transformer where the red wire emanated. This seemed to correct the problem in some of the monitors, but not in all. Bill
Hanley, a Minnesota public TV station engineer, brought in some monitors suffering from the same problem. After discussing the problem with Frank, Bill checked several bulletin boards where he located information about a carbon trace being established on the monitor motherboard by arcing.
Frank studied die bottom side of the motherboard and found evidence of carbon traces created by shorts from a heat shield tab to a ground foil on several snapping monitors.
There is a heat sink for a voltage regulator on the side of the monitor near die high-voltage transformer, This heat sink is an “L”- shaped metal plate about four inches high and five inches long which angles at the rear comer for about an inch along the back of die monitor.
The heat sink is attached to the motherboard of the monitor by two screws and a metal twist tab diat extends through the modierboard. The metal twist tab is very close to the ground foil on the bottom side of the modierboard and, when it is twisted, it comes very close to the ground foil. It doesn't take much voltage to bridge this narrow air gap. This pathway is on the bottom side of die motherboard and out of sight, so it seemed an improbable source for the problem.
Below: Figure One Right: Figure Two We concluded that the large heat sink seems to act as a large capacitor near the high-voltage wire, and when the voltage builds up high enough in the heat sink, it discharges with a small spark to the ground foil. Consistent discharges inside a dirty monitor will help build a trace path to the ground, increasing the frequency and size of the voltage discharge. If the discharge is large enough, the high-voltage on the ground trace will be reflected back dirough other monitor components and back to the computer.
This problem seems to be prevalent on Commodore Amiga models 2002, 1902, and 1080.
The Amiga 1084 monitor and odier RGB Commodore monitors have a smaller heat shield and seem to have a better high-voltage cable path that is farther from possible conducting padis.
This seems to prevent the problem from occurring in those monitor models.
Frank Gerard has solved the problem in four steps:
1. Clip off the shotting metal twist tab from the heat sink. Tire
two screws can hold die heat sink adequately. Carefully
scrape any carbon traces on the modierboard created by arcing
from the tab slot to the ground trace.
2. Provide extra electrical insulation around the red
high-voltage wire. Split heat shrink tubing to wrap around the
high-voltage wire and use electrical tape to completely encase
the wire with extra layers.
3. Spray Koloid Clear Acrylic plastic around the wire and die
high-voltage regulator to reduce leaking from high- voltage
4. Use TV Corona Dope to plastic coat the area of twist tab slot
and die ground trace.
A reasonable charge for having the above performed is about S?0.
INNER WORKINGS Figure One shows a view of die top of the L-shaped heat sink (arrow) and die red high-voltage wire. Note the extra insulation on the high-voltage wire in die area of die heat sink. Figure Two shows a view of the left rear comer on die bottom side of the motherboard of a repaired snapping monitor. The arrow points to a ground foil and die slot where the tab from die heat sink comes dirough die motherboard. This slot has been filled with epoxy, *AC* as the contents of the affected c by Gerry L. Penrose THIS IS SIMPLY AN EXERCISE IN MANIPULATING ARRAYS THAT WAS DEVELOPED FROM
doodling around with another idea. Before we get to the description of what is happening here, type in the program. It’s quite short. For now, type in the fourth program line with the preceding inverted comma and the result will be a full array READ in from the DATA statements. A query appears at the bottom of the screen; answering yes by pressing “Y" puts up another request. Choose a cell number and type it in, then type RETURN. This will bring a request for an input. Type this in and watch very carefully, This, basically, is what happens in a full-blown spreadsheet: as you change the content
of one cell, the affected cells also change. There is one difference though in the full-sized job, certain cells have to be filled with formulas before any changes can occur. We are not that sophisticated, and yet this could be the basis for a quite useful program. In keeping with my policy of supplying ideas upon which you can build, I leave the expansion to you.
Now for some explanation of the inner workings. PRINT USING is what locates the contents of each cell. This ensures that decimal points will always show up in the right place and under each other in columns, which makes for a neat and tidy layout. PRINT USING also forces the cell numbers (1 4, etc.) to line up properly, and you will agree that they do look quite neat. It is possible to PRINT the five lines using only one line of code, but the result appears rather ragged. When a program is small like this, there is no need s change.
To save bytes (you have plenty of memory available), so indulge yourself. Always keep in mind that there may be times when you need every bit of memory you can grab. These are the times to conserve memory by line crunching, sometimes at the sacrifice of a little aesthetics in the process.
Tire loop writing die ceil numbers uses the counter ‘c’, adding ‘3’ to each iteration of the loop and so placing our numbers just where we want them. The LOCATE x,y has been mentioned before and is a quite useful tool. Together with counters, such as the one just described, there are many things which can be done in the way of manipulating the positions of various dements of your displays.
The next loop is a case in point. Here we use three counters: die first one, y, is used to locate the cells horizontally. The counter Lx’ is also used here to set the vertical positioning. Finally, the counter ‘pis’ adds die elements of the cells and arrives at a total which we can then place in any position we wish, again using the ubiquitous PRINT USING formula.
The next loop is a WHILE WEND loop, "which can be used in conjunction with a counter and will replace the FOR NEXT loop. The difference between the two is that you can fall out of a WHILE WEND quite easily on command and without dire results. The FOR NEXT loop is not quite as forgiving. Nine times out often you will get away with it, but the tenth time you are likely to find die ‘Meditation Gum1 waiting for you. The rule would be: a closed loop which must be completed should always be a FOR NEXT. If you want to sneak out of a loop before it has come to its natural conclusion, then use the
This loop again uses three counters.
This time, the ‘pi’ counter adds die vertical columns. The ‘z’ counter does double duty, first in the WHILE WEND loop and again to space the LOCATE elements. Tire ‘y‘ Ham It Up! (v. I.on ?NEW! 'The Blender" blends and saves color brushes fasti ?Works with DigiPainl™ and DeluxePaini™ ?Sixteen charts of 256 colors each ?RGB & CMY values given for each color ?Takes the guesswork out of color selection Displays and prints all 4096 Amiga colors!
S39.95' includes shipping & handling in U.S. Call or send a check or money order to: ?Delta Graphics ? 48 Dighlon St. Brighton. MA 02135 ? (617)254-1506 ‘Mass. Residents add $ 2.00 sales tax Dealer Inquiries welcome Circle 118 on Reader Service card.
Counter counts die elements of each col- nmn and is returned to zero after each go through the FOR NEXT loop.
The last section, testim, takes your input and places it into an array element. As you can see from glancing at the program, there is more than one way of filling an array. It can be done, as we have done here, using a number of DATA statements. While not very convenient, dils serves well if you have a series of numbers which only need changing or updating occasionally. It means listing your program and adding or subtracting DATA statements as you wish, in producing a program such as this the method was quite useful, in that it enabled me to put in a little demonstration without writing a
separate program. To change from the DATA entry to your own entry, simply remove tire single inverted comma from the front of tire fourth working program line, tlie one reading ‘GOTO enter.
The second way of entering your elements is now open to you. If you run the program with the inverted comma removed, you are faced with an array of cells containing zeroes which you can fill as you wish. As you enter each cell's contents, you will be able to note tire changes occurring, A third method of filling such an array would he to import the complete array from a SEQuential or RELative file. I have covered both of these in my two previous programs, so why not go ahead and devise your own method of taking the contents of an array from this program and placing it in either of the two
types of file?
Another suggestion would be to increase the size of tire array, i purposely left spaces between array elements, so that you could see how it was put together. It doesn't have to be this way you could have tire elements abutting each other. You could also enlarge the sizes of them drey are controlled by the PRINT USING command and the spacing of elements by use of counter ‘y’ in the LOCATE sections.
Experiment, but make sure you have saved your original working copy so tlrat you can get it back if you goof.
A final word about color. The use of color in a program serves to accentuate certain elements of your displ ay a nd makes for a more readable display than one drat is only blue and white. I think you will see what I mean by tire display shown here.
There is no need to be mediocre use your imagination and have fun.
Listin.g- 'Poor mar 3 Spread sheet 'by - G. .Penrose 'Oakville, Ontario 'Canada 'for AMAZING COMPUTING DIM p(25) ,pls(25),tl(25) ,pi(25),t(25) start: as="*i 'GOTO :;ata DATA DATA DATA enter
98. 09,102.00,32.98,45.75,67.89 105,75,25.CO,56.98,76.54,89.78
230. 75,45.98,89.90,95.87,103.50 FOR 1=1 TO 20 :READ p(i) EXT i
z=0 :x=Q 1 y=0: c=0 :
• AC- v$ ="FOOR MANS SPREAD SHEET" LOCATE 8, 5 PRINT "CELLS"
LOCATE 4,40-LEN(vS] 2 COLOR 3,1 PRINT vS COLOR 1,0 LINE
(224,33) ( FOR i= 1 TO 5 LOCATE 9+i,4 PRINT USING zS; LOCATE
9+i, 6 PRINT « _ « LOCATE 9+i, 9 PRINT c=c + 3 NEXT i USING 2$ ;
LOCATE 8, 64 PRINT "TOTALS" LOCATE
- 5, 4 PRINT "TOTALS" COLOR 2,1 FOR i =1 TO 5 FOR 1 j-l+y TO
LOCATE 10+ :(i-c) pls=pis+p(;) PRINT USING aS,-p(j); NEXT j
PRINT SPC 6) USING aS.-pls y=y+4 pls=0 NEXT i y = 0 2 = 1 WHILE
z= 4 FOR i=z+y TO 20 STEP 4 pi=pi+p(i y=y+4 NEXT i LOCATE
16,10+(7.) *10 PRINT USING a$ ;pl pt=pz+pl pi-3 v 0 Z = Z + 1
LOCATE Id,S3 COLOR 1,3 PRINT USING aS;pt COLOR 2,0 WEND pt = 0
COLOR 1,0 LOCATE 21,10 PRINT "enter new values? Y n" ask:
q$ =INKEXS :IF UCASESIqS)="" THEN ask IF UCASZS(qS)="N" THEN CLS
:STOP IF UCASES(qS)="T" THEN contin GOTO ask.
Contin: LOCATE 21,10 PRINT SPACES(35) testin: LOCATE 19,10 INPUT "Choose cell. X LOCATE 20,10 INPUT "Aizount ; a ?(x)=a LOCATE 19,1 PRINT SPACES(35) LOCATE 20,1 PRINT SPACES(35) C-OTO er.ter ACCORDING TO A NOTE AD- dressed to me via Email oil People Link, the new Perfect Sound version 3.0 from Sun- rize Industries has a couple of problems.
First, it does not work correctly -with 68020 or 68030 accelerator boards. It cannot take keyboard input correctly when running under 68020 or 68030 mode. This causes the gain controls in the software to not work right and makes other functions operate sporadically. The program works fine in 68000 mode.
Anthony Woods of Sunrize has said they are aware of the problem and are working on it. Also, AudioMaster II from Oxxi Aegis Development does not support the latest version Perfect Sound. A call to Oxxi confirmed that fact, and they commented that tlrey are currently in development of AudioMaster Ill.which does work just fine with Perfect Sound 3.0. It should be ready sometime in July according to a spokesperson.
She commented that die upgrade fee for currently registered AudioMaster Ii owners would probably be about $ 25 or $ 30 Contact Oxxi directly about die upgrade. As far as a Perfect Sound 3.0 software upgrade to run on the 68020 and 68030, Mr. Woods advised die writer 10 check back with him In about a mondi as it should be ready by dien. He expected that there would be no charge for registered users to receive the upgrade bug fix, Sunrize Industries, Box 1453, College Station, TX 77841, (409) 846-1311. Inquiry
SCOTT BUSSE WROTE AN EMAIL letter regarding the problems I had reported with incompatible AN1M formats in an earlier Bug Bytes. It seems that minor differences in the way animation generating programs store ANIM files are causing problems when graphic artists try to load ANIMs into different applications from which they were created. Scott offered a solution to the problems in a shareware- program. The Animation Bridge is a $ 20.00 shareware program that currendy supports Anim-5 files created from: by John Steiner Photon Paint2.0 The Director Videoscape 3D Movie2.0 Animation: Editorial .11)
Cel Animator DeluxePaint III Turbo Silver 3.x AniMagic Page Render 3D Animation Station Sculpt-Animate 4D According to Scott, the program will save die files from die above programs in a format that can be read into: DeluxePaint III The Director AniMagic Animation: Editor (vl. 11) Animation Station Movie 2.0 The program will also play ANIM files of any variation within the Anim-5 spec, if the animation program you are using isn’t on die above list, chances are it doesn’t need fixing. Contact Scott via CompuServe ID 73040,2114 for more information.
SINCE THE ANNOUNCEMENT AND pre-release of die Amiga 3000,1 have been getting letters and electronic mail reporting problems with programs that don't work under Workbench 2.0, or under the specially modified Workbench 1.3.2 that is currently only available on these early production dealer demonstration units.
The A3000 systems that dealers currently have do not contain operating system ROMs like the Amiga 2000 and 500 series. Workbench (either 2.0 or 1,3.2, if desired) is loaded into RAM from the hard disk at present as the version 2,0 operating system provided witii these units is still in pre-release state. Further, upgrades have been promised by Commodore to be shipped on a monthly basis to the dealerships that have demonstration Amiga 3000 systems.
When Workbench 2.0 is finalized, it will be committed to ROM and all of the pre-release version 3000s that dealers have will be upgraded to full production unit status. At the Amiga 3000 introduction I attended in Chicago, a Commodore representative commented that there could still be deletions and additions to the features that are being included in Workbench 2.0. Even the Workbench 1.3.2 that has been patched into the 3000 is also somewhat non-standard, and will not be part of the A3000 when 2.0 is finally released so there may be problems with running current 1.3 applications that work
fine on other systems.
As a result of the currently unfinished nature of the A3000,1 have decided that it serves no useful purpose to point out problems with curren tly-available software on die beta version 2.0 operating system, or on die Workbench 1.3.2 that won’t be available on the production units. I would expect that many of these problems will disappear when 2.0 matu res to final release state. It would be unfair to the developers of existing software to point out problems with their software that may not even be there when end users are finally able to purchase the A3000.
The confusion and possible lost sales would only be a detriment to the Amiga development community, especially when die problems may be fixed before the computer is available for sale to the general Beta Unlimited 87 Summit St. Brooklyn, NY 11231 Circle 126 on Reader Service card.
Public sometime in July. Besides, in my own testing of die A300O under Workbench 2.0, it might take less space to list those programs that work 100% than to list those diat don’t. A lot of software has problems at diis point, which is probably why Commodore went to the work of patching 1.3.2 into the A3000. It allows dealers to be able to demonstrate working applications on the computer for prospective customers.
Once version 2.0 is available in ROM, companies with software that still have problems under 2.0 will have to deliver upgrades. I am expecting that a lot of programs will need minor “tweaking" to make them work 100% under die new system. Expect a flurry of upgrade notices here in Bug Bytes over die next few months as developers complete diese upgrades. As of diis writing, Workbench version 2.0 upgrades for existing 2000 series computers won’t be available until September according to a Commodore press release.
There seems to be some confusion about being able to upgrade A500 systems to the 2.0 Workbench, as Commodore didn’t specifically mention them in the press release. Other material I received from Commodore stated diat die A500 upgrades would be available “at a later date.” Some people have become upset over a concern that since the A500 is going into the mass market diat Commodore didn’t plan to upgrade the units to run 2.0. There is reason that Workbench 2.0 features cannot be made available for the
500. And there is no benefit for Commodore to refuse to upgrade
die Amiga 500 systems currentiv in service. Version 2.0 will
be worth die wait, let's give them time to get it working
right before it’s released.
OXXL INC. HAS ANNOUNCED THE release of version 1.5 of VideoTider version
1. 5. According to a press release dated April 20, 1990, die new
version includes 3D text manipulation, built-in animation
facilities and a re-designed user interface. The program now
allows text to be stretched into various 3-D perspectives with
die use of “handles."
AudioLink 16-bit Linear Stereo Audio Processor with Sound Sampling Capabilities An “Extrude” function works with the program's Poly-Fonts to allow text to take on the properties of objects which can be stretched, spun, rotated or distorted. Animations allow text to spin, circle and change colors in any direction and length.
Key Frames are generated that allow the user to specify' die start and end points, and the program will generate all of the in- SPOC DIGEST Magazine-type demo disk Useful programs, fun and games from around the world plus interesting articles, news and ideas for your AMIGA. Contains much more than magazines costing $ 15.00! Also, info on our SPOC DISK, along with free programs from this disk. Just send 55.00 to help cover the cost of this ad to: SPOC BOX 299 KIOWA, OK 74553 Circle 112 on Header Service card.
Between frames. An improved user interface makes animation generation much more easy to accomplish and a new “tool box” gives the user instant access to a variety of commands without using pull- downs, Additionally, die program now comes with Lights! Camera! Action!, a presentation generation utility at no extra charge. The program should be shipping by the time you read tills at a retail price of $ 159.95. Registered users of the current version 1.1 or earlier may upgrade direcdy from OXXI for $ 34.95- Lights! Camera!
Action! Can be included with the upgrade, the total price is $ 39-95. While I was confirming information about Oxxi’s upgrades this mondi, I was asked by their technical support person to make a couple of comments regarding MaxiPlan. Intuitive Technologies is die company that markets MaxiPlan HI. I have commented in previous Bug Bytes columns that people have had trouble obtaining adequate technical support from Intuitive Technologies. Oxxi, Inc. is currently marketing both Maxi Plan 500 and Maxi Plan +, which were both written by the same person who wrote MaxiPlan III. Oxxi has been
getting lots of calls wanting to know why they aren’t supporting their products, or demanding to know the status of their upgrade orders.
Please note dial Oxxi is currendy supporting their products 100% and diat they want our readers to know diat Intuitive Technologies is not the same company as Oxxi.
If you are a registered owner of either MaxiPlan 500 or MaxiPlan +, (currently in versionl.9) you may obtain technical support directly from Oxxi at die number listed below. I wish to apologize to Oxxi for any confusion this has created for them. I was not aware that any other company was marketing MaxiPlan in any other format than MaxiPlan ill from Intuitive Technologies. Oxxi, Inc. Box 90309 long Beach, C,A 90809-0309. (213) 427-1227, FAX(213) 427-0971. Inquiry *201.
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 Box 869 Fall River, MA 02722 ... or leave Email to Publisher on People Link or 73075,1735 on CompuServe .flQ. 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 185 on Reader Service card.
PD oerendipitu Insight into the World of Public Domain Software for the Amiga® THIS MONTH I WOULD LIKE TO TAKE A brief look at some editors: IE, an icon editor; AZ, a text editor; and MED, a music editor.
AZ V 1.50 an update to version 1,40 on Fred Fish disk =228 appears on Fred Fish disk *346. The upgrade includes some new features in addition to bug fixes.
AZ is a text editor, meaning the Files it produces can only contain characters. The files created can be assembled, interpreted or compiled as they are. All the characters in die active keymap (up to 256) can be entered.
AZ allows you to open as many Windows as needed. The number of Windows allowed is limited only by die memory available. Multitasking is supported. You can start a job in one window, let that run, then start working in anodier.
There are two versions of AZ, the big version and the short version. The difference is in the big version, the FileRequester code has been included in the code at link time; therefore, no installadon just dick on AZ’s icon. To install die short version, simply copy die “isup.library” into your LIBS: directory.
AZ utilizes die function keys and supports simple quick key commands, such as Amiga Q to quit. It also allows the use of the option key plus another key to toggle between colors, length of a line, etc. I found this program and the manual easy to use. The manual includes a list of all changes made through the updates, and explains the program very well.
Autbo r-.Jean-Michel Forgeas The next program is an icon editor, IE
VI. 0 (FFD 342). IE creates icons up to 640X200 pixels, handles
creating and editing of dual-rendered icons, and allows you
to preview the icon before ending the program.
I found this program lots of fun to experiment with. You draw with an icon in the shape of a paint brush, select from one of die four different colors available, and create your personalized icon.
Some features include “Flood Fill”, which fills in the selected area with the chosen color, and iconify. Another feature lets you copy die image and then choose one of the rendering opdons, “non-select" to select, or “select" to non-select. This makes your icon appear to move when clicked on. Use preview mode to test your icon.
A new version of IE is in the works.
Possible features will let you read IFF pictures as icon bitmaps and write icons as IFF pictures; also, a better file requester will be added. Author: PeterKiem MED V2.00 (FFD 349), an update from VI. 12 on FFD 255, is a music editor which helps you create songs. Some features and bug fixes include a new player routine made with Assembler, fast screen rendering routines, new user interface widi file requester, MIDI support and up to l6 tracks, insert delete blocks, extended keyboard, and song packing, to name a few.
MED is similar to die public domain program SoundTracker and supports some of SoundTrackers features, and more.
MED is written in C (Lattice C V5.04), except for the most important routines done in Assembler. MED supports raulti- tasking and you can play songs created with it on MEDPlaver.
Author: Teijo Kinnunen by Aimee R Abren Tu rn your Amiga into a powerful new instrument with Hyperchord™, the dynamic riff sequencer.
Create themes, from simple scale runs to complex "Riff Waves," using original Hg functionssuch as Smear, Rotate, Weave, Reverse, and Mix. Change pitch, speed, rhythm, harmonies and orchestration, Forintense riffing, switch between 60 user-defined scale modes and 40 rhythms, or employ unique cyber-musical tools such as Holistic Play and Vector Play. Store for real-time playback or record performance.
Disk includes three Hyperchord utilities: Mode Maker, Rhythm Maker, and Holistic Window.
Hologramophone's THE MUSICAL GRAPHICS PLAYER Listen to a Lichtenstein!
Pixound™ is new kind of musical instrument as well as a powerful MIDI controller (uses Amiga sounds too). Load up any -- x graphic image or use Pixound's } A s c r e e n generators. Invent a new fy ' " j i n s t r u - ment with every screen, f then play it with the mouse. Create shimmering bursts of notes or slow, lyrical harmonies with the touch of a key. Save your work either as a musical sequence or a screen- or both. Great fun for the beginner; endless challenge for the virtuoso.
Circle 10S on Reader Service card.
UPDATES SOFTFONTS Softfonts (FFD 342) is an update from FFD 327. It converts portrait soft fonts for HPLaser-jet compatible laser printers to landscape format.
Softfonts works through Intuition or through the CLI. The major update corrects a fault with bitmap rotation. Includes source, Author: Thomas Lynch CROBOTS Crobots V2,3w (FFD 345) is an update to V2.2w on FFD 331.
Crobots is a game based on computer programming. Gamepiay involves designing and writing programs (in C) to control a robot whose mission is to find and destroy other robots. .All robots are equally equipped and up to four robots may compete at once.
Supvrtrlll W. II III II III II III Changes include added checks for files being write read delete protected, improved IF-THEN generating section of the compiler, and new flag “NOWAIT’1 to turn off the “press any key to continue" messages. This allows complete operation from within a script.
Crobots consists of a C compiler, a virtual computer, and battlefield display. Requirements are 512K, DOS 1.3, ARP1.3 and a text editor, includes binary only.
Author: David Wright GET IMAGE Get Image (FFD 345) is an enhanced version from FFD 14. This utility program converts Dpaint brushed into C source code as image structures.
Changes include setup of the Plane Pick value in die Image structure, and deletion of any unused bitplanes to save memory and disk space. Includes source.
Author: Mike Farren, enhancements by Chuck Brand.
MEMFRAG MemFrag (FFD 345) is an update from FFD 69. This program displays number of memory7 chunks sizes to show memory7 fragmentation. Chunks are displayed as 2'*N bytes, includes source.
Author: Mike Meyer, enhancements by Gary Duncan UNSHAR UNSHAR VI,3 (FFD345) is an update from FFD 287. Linshar is a utility diat extracts files from UNIX share archives.
Some changes include a bug fix in “Overwrite (Yes, [No!], Alt)" prompt and a bug fix in code to skip existing files. Also, Unsh2r no longer exits immediately7 on file read error. Includes C source.
Author.- Eddy Caroll TEXT PAINT Text Paint (FFD346) is die second major release of the ANSI editor. Enhancements include die possibility to reload ANSI files or CLI modules, 4 color option, optimized keyboard layout, new drawing modes, right mouse button support, etc. Binary only, Author.- Oliver Wagner
• AC* CES: Chicago ’90 Commodore Dynamic Total Vision & More!
By Andy Patrizio THE SUMMER CONSUMER ELEC-troniCS Show (held diis year on June 2-4 in Chicago) annually features products dia t represent at least die early fruition of stunning new breakthroughs in technology. It is an exposidon dedicated to introducing these products to both industry buyers and memlxjrs of the press, Commodore's presence at CES diis year profoundly underscored their commitment to providing the most innovative of computer technologies to the consumer markets.
It was here, in small enclosed area widiin their larger display, that CBM introduced the Commodore Interactive Graphics Flayer, a small device already described by some as being perhaps die next great intellectual appliance.
Commodore has created a single new technology from two existing ones laser disc technology, and the multimedia capabilities of die Amiga. Tliis new technology Commodore Dynamic Total Vision is incorporated in die new Commodore Interactive Graphics Player, One diing should be stressed about the CDTV player: it is not coasidered a computer, nor is iL a compact disc player. Although it has the internals of an Amiga computer, and is capable of playing compact discs, CDTV represents not so much a step forward in technology as a sidestep onto a brand new padi.
In CDTV', Commodore has created an entirely new market by joining CD technology with Amiga power in a component featuring a simplified interface. The interface is designed not to scare off die odierwise computer-phobic user, in fact, the simplified interface centers on perhaps the most familiar home electronic device in use today the remote control!
No monitor, keyboard or mouse is needed. The CDTV player connects to a television, and widi the remote control, it can operate and access a 550-megabyte CD-ROM drive. A variety of CD reference libraries are already under development, including the Bible, a cookbook, and an encyclopedia. As you might imagine, with CDTV these resources can now include sound and animation, THE BIRTH OF CDTV CDTV was officially unveiled at C.E.S. on June 4 by CBM Chairman Harry Copperman, along widi Irving Gould, Chairman of the Board, Commodore International, and Nolan Bushneli, whose name is synonymous witli
Now the General Manager of Commodore’s new Consumer Interactive Products division, Mr. Bushneli created the first videogame ever "Fong" back in 1972. He went on to found the Atari Corporation and the Chuck E. Cheese "pizza theater1 restaurants for children.
Declaring his high aspirations for the machine, Mr. Bushneli said “It’s going to be in the home, it’s going to be in die school, it’s going to be in industry, it’s going to be everywhere."
The tecltnology actually makes the machine “a 21st century library," he noted. Now, a person will be able to see and hear a digitized audio visual recording of-Martin Ludter King's "I Had a Dream" speech, instead of only being able to read it from a page.
CDTV' will be released in September, widi a selling price of S899 rather expensive for a CD player. But as Bushneli points out, "We now have, for die first time, an Amiga platform wrapped around a compact disc."
Mr. Copperman also announced CBM’s plan to put a separate sales force in place specifically geared toward schools, to quicken the move of CDTV into the educational market, as well as to take orders directly from schools in an attempt to increase Commodore’s share of diat vital marketplace.
Designed to look like a VCR, die CDTV player will fit right in vvidi a stereo, receiver, amplifier and television as one component of a total entertainment system. When not functioning as an Amiga, it can play all musical compact discs, with SX oversampling. The player operates as a computer internally, but it is used like a stereo component externally. Now, anyone has computer capabilities, ITS AN AMIGA, TOO For users who do want standard computer access, add-on peripherals make diis an Amiga 500 with one meg of RAM. Peripherals include a keyboard, mouse and drive and die infrared
bus. A trac ball is also available. Each peripheral will sell for under S50 except die external floppy drive, which will sell for S199- Ali of the peripherals (except die drives) are wireless, and communicate via infrared signals. To permit operation of several devices on die CDTV player, the mouse, joystick and keyboard all send dieir signals through the “brick," since multiple infrared devices can easily have dieir signals crossed.
As for a monitor, the CDTV player comes with RGB output, PAL output and NTSC output; it was very inexpensive to offer ail options, The player also has a few added features, One is a MIDI in out port that can be factory installed.
Anodter feature is a DMA slot, for hard drives or SCSI controller cards.
Some compromises have been made as of press time, you will not be able to piay your favorite Led Zeppelin CD and utilize die external floppy disk drive at die same time. And diere is no 86-pin bus as on the regular A500, so expansion is limited. But die machine does have open architecutre for future expansion. Once the industry establishes a standard for full motion video, you will be able to adapt your CDTV player.
The benefits of using CD technology are obvious. Software companies no longer have to worry about their products being pirated. Users don't have to deal with VirusXorDiskDoctor to fix infections or bad sectors. Program developers get iots of extra space to design incredibly larger, more complex, more interesting and useful games and applications, with 550 meg.
While CDTV is an attempt to create or define an entirely new market, die player is still an Amiga, and Amiga users will be able to u lilize the CDTV software on their present machines.
Because tiie CDTV player has a 68000 chip and one meg RAM, it was not developed for high- level video work, aldiough software may be developed for that purpose.
Therefore, Commodore will release a CD-ROM peripheral sliordy after the CDTV player to use programs made for CDTV on any Amiga, save die A]000. The CD-ROM along widi an A2500 or A3000 probably remains a better choice for dtose who want CD-ROM software for high end multimedia video use, since the player as a computer is very limited.
The CDTV player was developed to be as little like a computer as possible, both in terms of its appearance and its operation (diat is why it was unveiled at
C. E.S. and not Comdex). This is not for the power user or the
cable television station.
HOT FOR THE COMPUTER MARKET Because the player is not being marketed as a computer, don’t look to your local dealer.
The target retailers will lie high-end audio video retail dealers, department stores and selected retail chains, aldiough just who these are has yet to be specified.
Commodore recently started the Commodore Express service for die Amiga 500, and the CD'IV player will also be supported by this service. A 24-hour, toll-free ‘‘800” line is available for any problems a purchaser may encounter, and CBM has teamed widi Federal Express to provide door-to-door pick-up and delivery for any repairs covered as part of die new service.
CDTV’s target maiket is a new one specifically created with the birth of this new machine. With the interactive reference databases now under development, the Commodore Interactive Graphics Player will look and perform like something from the set of "Star Trek."
Above: Commodore Interactive Graphics Player motherboard.
Below: CDTV player with optional peripherals.
For example, one program will Ire based around die Silver Packetre Cookbook. If you plan a meal for six guests, and n ine show up, the player will recalculate the proportions needed for that number of guests. If you are out of a required seasoning, it will suggest alternates.
And for European users, tire machine converts
U. S. measurements into Metric, C13M's idea is to bring computer
power to that portion of the consumer market that has so far
shied away from computers. Considering Amiga's audio visual
strengths and the fact that operating CDTV is as easy as
changing channels on a television with a remote, this idea
appears to be a winner.
Having taken the look and normal operational procedures of most computers out of this machine. CB.M may very well succeed in attracting buyers who normally would not touch a computer.
Commodore estimates over one hundred tides will be available by release time in September, and double tiiat number by Christmas. The discs are expected to sell for around $ 30 to $ 100, depending on the program.
Commodore Business Machines 1200 Wilson Drive West Chester.
(215) 4,31-9100 Inquiry 336 Amiga Entertainment So htare at CES
Games and entertainment software appeared to be tile main
computer application available.
Here is a few of the CES attendees and their latest entries into the Amiga market Accolade Jack Nick- laus' Unlimited Gotf& Course Design is described as rhe complete golf experience, containing a!! The realistic elements of championship plav as well as all the tools needed to design challenging and visually stunning holes and courses. Included is Tire Bears Track, an oceanfront 18-hole course designed by Jack Nicklaus and his team exclusively for this product. And a re-creation of Minefield Village, a Jack Nicklaus designed course and site of The Memorial Tournament. Due in September.
$ 59.95. Inquiry 271 ISHIDO:Tbe Way of Slones provides one or more strategists with the challenge of accurately placing a pouch of 72 stones on a 96 square game board. Each stone is decorated with a symbol and a color.and can only be placed next to another stone that matches either it's symbol or color. As the board fills with stones, the game becomes more complex as players are faced with matching two, three, and even four sides of some stones. The most desirous move, and tire most difficult, is a “four- way" where one stone is matched on till sides by four others. Best Strategy Game of1989.
Due in July. S49.95 Inquiry 272 Accolade 550 South Winchester Blvd.
San Jose, CA 95128
(408) 985-1700 FAX (408) 246-0885 Capstone Tom Clancy fans will
be psyched to know their favorite author has another title
coming out as a computer game. The Cardinal of the Kremlin,
due this September. You must find a missing SDI scientist
and protect “The Cardinal," America's most secret spy in
Russia, Glasnost, anyone? S49-95- Inquiry- 273 Bill and
Ted’s Excellent Adventure will feamre digitized films and
sounds from the actual movie, and is scheduled to be
released around Lire same time as lire sequel this July,
EXCELLENT! 539.95 Inquiry 274 Another arcade translation
to computer screen is Superman. If it looks as good as the
arcade version, tills will be a great one- or two- player
game. $ 39-95- Inquiry 275 for all you gamblers, Truntp
Castle will provide the ultimate in casino simulations. The
game will feature blackjack, roulette, craps, keno, and
nine different slot machines. $ 39.95. Inquiry 276
Capstone A division of IntraCorp.Inc. 14160 S.W. 139th
Court Miami, FL 33186
(800) INT-RACO FAX (305) 255-1205 Data East USA, Inc. The Dream
Team.- J On 3 Challenge.
All-pro basketball players Patrick Ewing, Dominique Wilkins, and James Worthy in a fast paced three-on-three style basketball game.
Direct access to instant team and Individual player stats, through a direct modem to IfSA TODAY’S Sports Center to keep game play as close and as exciting to the real thing as possible. To be released in late fall. Inquiry 277 Bo Does Baseball provides instant access to real statistics just as tire other MVP Sjxrrts simulations games. This feature offers computer games with a unique, more true-to-iife sports experience. August. $ 39.95. Inquiry 278
- •life's Monday Might football (Version 1.5). The complete
line up of Data East MVP Sports provides an “in the game" play
COMMODORE INTERACTIVE GRAPHICS PLAYER Technical Specificalions
Rear Ports Centronics Parallel interface CPU Motorola 68000
RS-232 Serial interface CPU Speed 7.15909 Mhz (NTSC) External
floppy disk drive
7. 09379 Mhz (PAL) interface (Amiga floppy Memory 1 megabyte chip
RAM disk drive compatible) 2K non-volatile RAM Hardwired
alternative to IR (reserved for system for keyboard, mouse,
joystick clock, prefs, etc,) 2 audio output ports (RCA-type
512K ROM plug); requires external audio Internal Slats
intelligent video slot w 15 amplifier pin edge connector (for
MIDI In Out optional genlock.
RF board, etc.) Front Port Video Outputs Stereo headphone jack digital RGB,analog RGB (DB- Port for optional personal RAM 23 connector) card (up to 64K) composite video NTSC or PAL(RCA-type connector) Front Panel Controls component video Y-C (S Power On Off connector type for S-VHS Headphone volume Up Down and HI8) Play Pause RF modulated (F connector) Stop optionalgenlock capabilities via Forward Reverse and Scan Skip plug-in module; three-mode CD TV (CD, video source or mixed) Reset under software control Operating System CD ROM Drive Specifications Amiga Kickstart 1.3 in ROM Sony Phillips
type CD-ROM standard ISO 9660 File System Handier mode 1, mode 2 High-speed decompression for Data readout from disc graphics, audio ana other 153 Kbytes sec (mode 1) data 171 Kbytes sec (mode 2) 2 Megabytes sec (burst) Infrared Remote Unit Specifications Average access time 0.5 seconds 10 function keys plus Shift key (20 total) Maximum access time 0,8 seconds Up, Down, Left, Right movement buttons Standard supported ISO-9660 Two select keys Data capacity approx. 550 MB CD Audio Play Pause. Forward, Reverse, (equivalent to about Headphone Volume and Stop keys 700 Amiga floppy disks) Computer
reset function CD Audio Specifications Optional Accessories 8x oversampling External floppy disk drive Frequency response 2Q-20KHZ Trackball (infrared) Maximum audio capacity about 14 Joystick (Infrared) hours AM quality MIDI In Out. Through (third Sample rate variable from CD audio party) rate (44KHz) to 6KHz Personal RAM or ROM card Dual 16-bit D A converter plus 10-bit of Genlock attenuation Expansion module to house hard disk drive, modem, floppy disk drive Keyboard IR (infrared) interface Keyboard Two-player IR interface Modem Printer perspective. With improved broadcast-style statistics,
players can keep track of the scoring drive, including downs, yardage stats, looses, and pass completions for more accurate game play. August. $ 49.95. Inquiry 279 tion, Players receive bonus points for finishing a "perfect run." S44.95- Inquiry 280 North & South’’™ is a new strategy game with four stages of battle, players control different numbers of armies and territories, launch attacks and travel from state to state as they confront and conquer battle challenges in an effort to win the war. $ 44,95. Inquiry 281 (continued on page 74) Super Hang On is a fast-paced motorcycle racing
game that takes players on a grueling motorcycle circuit that spans the globe, Game points are awarded for overall precision driving in distance, speed and course compleGetting To The Point: Custom Intuition Pointers in AmigaBASIC by Robert D'Asto AFTER PROGRAMMING WITH AMIGABASIC TOR A WHILE, IT BECOMES APPARENT THAT THERE IS NO direct method for including a customized mouse pointer within application programs. Of course, it is possible to alter tlie pointer with Preferences, but that only changes its appearance on your machine. When tlie program runs on a different Amiga, the pointer
will appear as it has been set up on that particular machine. It’s my guess that most users stick with the default pointer provided by Intuition or something vert' similar.
It's not that there's anything wrong with a little red arrow. It's actually a very good one-size-fits-all sort of compromise, but there are situations where other types of objects would be more suitable or just more attractive. Changing the form of the Intuition pointer to suit a particular application can significantly enhance die program’s utility, ease of use or simply because it looks nice.
If, for example, a paint program was being written, wouldn’t it lie nice if the pointer were rendered as a pen or paint brush? Or, how about a cross hair type object for those arcade shoot'em ups? Or, maybe a pointing hand or flashlight for making menu selections? The possible variations are endless. Look at tlie good effects customized pointers make in commercial and TD software.
Customizing the pointer with Amiga-BASIC is actually pretty easy, Al! It takes is a few library routines and a little knowledge of the makeup of your pointer.
The mouse pointer is a sprite, created and maintained by tlie section of the operating system known as Intuition. A sprite is a special kind of animated Amiga object which can be further divided into two types; hardware sprites and virtual sprites. It isn’t necessary to get into all the technical details of these objects here, so just be aware diat a sprite (either kind) is a graphic object which can be animated and must adhere to certain physical restrictions, it can lie no more than 16 pixels wide, though it can be as high as the entire display screen. Sprites are also limited to four col
ors, one of these always being transparent, (ie. Die same color has your background) The difference between tlie two types is that only eight hardware sprites, numbered 0 to 7, can be defined at any one time. Virtual sprites have limitations as well, but diey not pertinent to die scope of this article. Anyone who has ever made sprites with tlie ObjEdit program on die Extras disk has seen virtual sprites. The Intuition pointer is a hardware sprite, specifically it is hardware sprite 0.
Each of the eight hardware sprites derives its color from a specific set of four color registers or palette numbers. The Amiga operating system assigns palette colors 16 through 19 to hardware sprite 0 (Intuition pointer). Register 16 is always transparent and numbers 17 through 19 are visible colors.
This provides the first and simplest method of customizing the pointer with AmigaBASIC source code. Its color can be changed with PALETTE statements, specifying color registers 17 tlirough 19, to any colors we wish. This works even with a screen that has only 2,4,8 or 16 colors. It’s still that same old arrow, but at least this gives it a new coat of paint!
Changing the shape of the pointer requires a bit more programming and some help from system library routines. There are four routines in all: Two from the intuition library and two exec library functions. It is assumed that the reader is at least somewhat familiar with the LIBRARY statement, bmap files and calling Rom Kernel routines. If not, this information can be found in the AmigaBASIC manual and in die About Bmaps program on the Extras disk.
The listing provided at the end of the article assumes that both “intuition.bmap" and “exec.bmap” files exist in either the :Iibs directory of the Workbench disk or in the same director)' as the listing source code.
The key routine for creating a custom pointer is called SetPointer and resides in the intuition library. This routine requires six parameters and its calling syntax is: SetPointer&W&,Pointer&,height,width,XOFFSET,YOFFSET Looking at each of these parameters in greater detail, the W& variable is the address of what’s known as a Window Structure. This is a list of data residing in RAM which contains a complete description of a window. The AmigaBASIC function WINDOW(7) provides this address so you can simply plug “WINDOW(7)” into this spot when using the SetPointer routine.
The Pointer value is a long integer which holds the address of a special list of data residing in RAM that describes the shape and colors of the pointer. This list is known as a Spritelmage Structure and is described in more detail below.
The height and width parameters are the overall dimensions of the pointer measured in pixels, The last two values, Xoffset and Yoffset, give tire relative position of the pointer’s “hot spot'-. This is the specific point that the system recognizes the pointer to be.
Taking a closer look at the Pointer& parameter mentioned above, this long integer variable holds the memory address of a special list of data in RAM. This list, called a Spritelmage Structure, is a sequence of two-byte integers (words) in RAM which provides the necessary pixel information for describing the shape and colors of a sprite. It is as long as it needs to be to include all die data of the particular sprite rendered. The first two words and the last two words are always set to zero when this structure is used for describing pointers. The actual image data begins at the third word.
A very simple example of a Spritelmage Structure would be: 0000000000000000,0000000000000000 1111111111111111,1111111111111111 0000000000000000,0000000000000000 For purposes of clarity, the words have been illustrated in pairs.
This makes it easier to work with the image data, as will be more apparent in a moment. In actuality the words are simply ananged in sequence from first to last in RAM.
A word is 2 bytes or 16 bits. This structure contains slx words.
As mentioned above the first two and last two words are always set to zero. The pointer’s image data in this example is contained in the third and fourth words. What has been presented is a very simple pointer, one pixel high and 16 pixels wide.
The image data words work like this: The leftmost pixel of tire pointer is represented by tire leftmost bit of both the third and fourth words, These two bits are both 1, so this pixel is represented by the binary7 number “11” which equals 3 in decimal. The operating system then assigns a color to this pixel according to this table: binary decimal color 00 0 16 (transparent) 01 1 17 10 2 18 11 3 19 In the above example a 11 the bit combinations are “ 11 ” (decimal 3) so the pointer image represented is simply a horizontal line 16 pixels wide (the maximum width of a sprite) rendered in the
color assigned to register 19. If the color needed to be changed to register 18, die third and fourth words in the above example would be changed to: 0000000000000000,1111111111111111 which makes each bit combination “10” (decimal 2), so register 18 would be used for each pixel. Yes, each bit combination in this example would be “10”, not “01”. It works like this: First, take the leftmost bit of die word on die left (a “0”) and then take the leftmost bit of die word 011 the right (a “1”) and mentally place this second bit to the LEFT of die first bit, which results “10”. It may seem to be
easier and more natural to do it the other way around, but that’s how these bit patterns work.
This is wily die words of the Spritelmage Structure are shown in pairs. Each horizontal line of pixels which makes up die entire image of die pointer requires two words of image data. This provides each pbcel of die image with two bits to define its individual color. Each pair of words is then used to describe a horizontal sequence of 16 pixels.
Additionally, in order to shorten the above pointer to a width of eight visible pixels, it would be done by changing the third and fourth words of the Spritelmage Structure to look like this: 0000000000000000,0000000011111111 The leftmost eight bits of die word on the left, matched with the leftmost eight bits of die word on the right, all produce a “OO" combination. The pixels corresponding to these bits will be rendered in color 16 which, according to die table above, is the transparent register. The remaining 8 pixels have a ”10" binary combination, so register 18 will be used for diese on
the screen. This will produce a 16-pixel horizontal line in which only the eight pixels on the right will be visible.
Using binary numbers like this can get rather tedious, so lets switch to a shorter notation: Hexadecimal. In hex, each group of four digits is represented with a single hex digit, so 16 binary digits can be shortened to a four-digit hex number. In the hexadecimal system the numbers zero through nine axe the same as for the decimal system. However, the numbers ten through Fifteen are represented by die letters A through F. So twelve, in hex, is simply “C” or &HC in the AmigaBASIC notation. When converting binary numbers to hex. Cake each 4-bit group and substitute the hexadecimal equivalent.
Transl ati ng the first example Spritelmage Structure above to hex, then, would look like this: 0,0 FFFF.FFFF 0,0 (Note: The AmigaBASIC prefLx “&H" which would be required for the interpreter to read them as hex numbers is being omitted from these examples.)
The hex number “F” is fifteen or "1111” in binary, so 16 ones would be represented as "FFFF” in hex, and there's no need to write a hex “OOOO" to represent 16 binary zeros because zero is zero any way you look at it.
You may want a pointer that’s a little fancier dian a single horizontal line. To do this, just add more pairs of image data words.
For example, a solid rectangle would look like this: 0,0 FFFF.FFFF FFFF.FFFF FFFF.FFFF FFFF.FFFF 0,0 which represents a rectangle 16 pixels wide by four pixels high, rendered in the color of the 19th register.
Rendering more complex objects with this method takes a little practice. In the beginning it might be easier to draw the image first on a piece of graph paper within a width of 16 graph squares.
Then take one horizontal line at a time and determine what color each pixel on that line should be. From this the two 16-bit binary numbers representing this line of pixels can be worked out to produce this scheme of pixels. Each binary number can then be converted to hex or, if preferred, decimal. Once this has been worked out for a few lines, the process will go much faster.
After the pointer's appearance has been determined, and the image has been translated into the appropriate numbers, the actual Spritelmage Structure in RAM must now be created. Then die SetPointer routine and its address can be provided. Placing this structure in RAM requires two steps.
First a suitable area in RAM must be found in which ro place the structure. This is done with a routine in die exec library called AllocMem. Its syntax is: addr&-AllocMem&(ByteSize,opt&) Where addr& is a long integer variable of personal creauon, ByteSize is the size of die desired memory' block in bytes, and opt& is a value which defines certain options which will be discussed in a moment. When this routine is properly set up it will allocate die memory needed, and it will assign the address of this memory block to the addr& variable. Since this routine returns a value (the address of the
allocated memory), it requires a DECLARE FUNCTION statement before using it. It looks like this: DECLARE FUNCTION AllocMem&O LIBRARY The value returned by AllocMem is a long integer, hence the following die routine name.
The opt& variable tells AllocMem which of several options are desired for this memory' allocation. In this case the value used is 65539 (2 ao + 2A1 + 2Al6) which tells AllocMem to find us a block of stable memory' within die area of RAM known as CHIP RAM, and clear all the bytes in this allocated area to zero. The Spritelmage Structure must be in CHIP RAM, because the structure contains image data. CHIP RAM is die lower 512K of RAM on original Ami gas or the lower I meg of RAM on machines with the new Super Agnus chip, and it must be used for storing image data because it is die only part of
RAM which the graphics chips can access. There are other possible options for use with the AllocMem function in different situations and a more complete description of these can be found in the "Amiga ROM Kernel Reference Manual: Exec” from Addisort-Wesley.
As mentioned above, die ByteSize variable is the size of the desired memory block measured in bytes. The AllocMem routine always works with multiples of eight bytes, so it will round this figure up to the nearest multiple upon execution. After the required memory block is allocated, we actually create the Spritelmage Structure in RAM with FOKEW statements. In doing this, die address returned by AllocMem is used as a point of reference. For example, if a pointer is going to be rendered as a single horizontal line (see first example), this is how the Spritelmage is created: opt&=2A0+2Al+2Al6
Pointer&=AllocMem&(l 2,opt&) POKEW addr&+4,&HFFFF POKEW addr&+6,&HFFFF Here AllocMem is set up to allocate 12 bytes of memory, because die structure contains six words which is equal to 12 bytes, AllocMem will actually give us 16 bytes instead of 12, because 16 is die nearest multiple of eight bytes, but only the first 12 bytes are going to be used for die structure. None of the zero values have to be filled, because the AllocMem option was used, which already cleared die entire allocated memory block to zeros. Now simply use POKEW to insert both the image data words (&HFFFF), beginning with
“addr&+4," because this data begins four bytes from the starting address of the structure. The above code completes construction of the Spritelmage Structure, now the Pointers variable can be used as a parameter in the SetPointer routine.
One important point to keep in mind when using the AllocMem routine is that the memory it allocates remains allocated until it is specifically freed up or a reboot occurs. If the program does not free up this memory before it ends, the structure will remain in RAM after it ends, and waste system resources. The freeing-up of allocated memory is done with another exec routine called FreeMem. It’s syntax is: FreeMem& addr&.ByteSize where addr& is the address of die memory block to be freed up, and ByteSize is its length in bytes. The Endlt routine in the accompanying listing shows an example of
its use. One word of caution as regards to FreeMem: never attempt to use it to free up memory which was not first allocated by AllocMem or anodier memory allocation routine, as this will cause a system crash, Also, be sure that diere are no typos in die addr& variable or other conditions that would cause the variable to default to a zero value, as this is also Guru-bait. If mysterious crashes occur while using this routine, check the code carefully for diese two likely causes.
Let’s review a few points here before going on. The maximum width of die pointer is 16 pixels. Each horizontal line of its image is represented by two words in die Spritelmage Structure. The bit combinations of each of diese pairs of words determines die colors of die pixels in each horizontal line. If a pointer is constructed that is, say, ten pixels high, the structure required to hold its complete definition will be ten words plus ten words plus four words, for a total of 24 words or 48 bytes. Remember, each line of the image requires a pair of words (four bytes) and must include the two
zero words at the beginning and the two zero words at die end. The formula, then, for the lengdi of the Spritelmage Structure in bytes is: (height*4)+8. This could add up to quite a few POKEW statements for any pointer more dian a few pixels high. So, it usually saves some typing to set up pixel data as DATA statements and use a loop to READ and POKEW them into die structure. This is how it's done in the accompanying listing.
Do not use an array to hold the Spritelmage Structure and pass die array's address on to the SetPointer routine, because it will not work reliablv. This was the first method I used when familiarizing myself with custom pointers, and die only result achieved was a completely invisible pointer! What's more, attempts to use an array for diis purpose created die oddest glitch with the AmigaBA- SIC editor the “ghost writer" bug.
- r*. M rator draw this picture!
After typing in code which used an array to hold die Spritelmage Structure and dien running die program, I looked again at the original listing again and found diat the editor had changed the source code! This happened time after time with several different code variations. The editor just didn't seem to like that array being diere. 'Wherever it appeared in die listing, die editor removed it and replaced it with a continuous string of non- alphanumertc ASCII characters stretching out four-and-one-half full screen widths to the right! Moving die cursor to the beginning of this string, pressing
the delete key once and dien moving the cursor to another line caused the string to vanish. An attempt was made to run the program with the ASCII characters still there, and die program would just balk, producing a "Subscript out of range" error message. (This hug is still a mystery, but If anyone out there can enlighten me, please write.)
Getting back to the SetPointer routine, the last two parameters need some explanation. The Xoffset and Yoffset variables describe where die pointer's “hot spot” is wanted in relation to the pointer as a whole. This hot spot covers an area equal to the size of a single pixel and represents die screen location of die pointer as viewed by the system. So, die pointer’s shape is really just a pretty package wrapped around the hot spot.
If both the X and Yoffset values are set to zero, the hot spot will be default to the upper left comer of the pointer. Negative Xoffset and Yoffset values will move it to the right and down respectively. Positive values will do die opposite. The best place to put the hot spot depends on the shape of the custom pointer. With an arrow shape the tip of the arrow head is an obvious choice.
However, an arrow that points to die upper right instead of to the left would require the hot spot to be in the upper right comer of the pointer. In this case an Xoffset of something like -15 would be used, while die Yoffset would remain at zero.
If this business of negative x values moving the hot spot to the right and negative y values moving it downward seems backwards; that's because it is backwards. The hot spot itself doesn't really move, it's die pointer shape which moves in relation to it. A negative Xoffset value moves the pointer to die left which shifts the hot spot rightward in relation to it. Likewise, a positive Yoffset value will shift the pointer downward which gives die hot spot a higher relative position. Just remember that die offset values shift the body of the pointer in relation to the hot spot, and the
negative positive aspect will be easier to visualize.
Now you can create realistic, natural looking scenery on your Amiga with Scene Generator. The above picture is an example of one of the millions of scenes that may be created with this powerful new graphics tool. Scene Generator uses fractals to create natural scenery based on random numbers. You can change the steepness, snow and water levels, lighting angle and colors. Create everything from a desert to a snow covered mountain with lakes. The possibilities are nearly unlimited!
Available at your dealer. For credit card orders call
(916) 624-1436 now. Or send $ 49 to Natural Graphics, POB 1963,
Rocklin, CA 95677. Free shipping USA.
Circle 122 on Reador Service card.
That’s really all there is to creating a custom pointer. First create the Spritelmage Structure and then call SetPointer, plugging in die appropriate parameters. The new pointer will appear immediately upon execution of SetPointer.
Now, if a custom pointer is created, does that mean the little default arrow is lost forever? Fear not. Intuition likes diat little arrow far too much to let go of it that easily. It can quickly be retrieved with a simple call to the intuition library routine ClearPointer. Its syntax is: ClearPointer W& where V& is again a pointer to a Window Structure which can be obtained via the WlNDO V(7) function. Its a good idea to always call this routine before exiting the program. If it is not used, the custom pointer will probably hang around after the program ends, until the user clicks the mouse
on a window. The system will then reset the default pointer on its own.
The reason the default pointer is not lost is that an Intuition pointer is always linked to a specific window. Creating a custom pointer for one window does not affect the pointers of other windows. For example, the program opens three windows and window number three is cuirendy active. A custom pointer is then created as outlined above, and it appears on die screen. If-window number one or two then becomes the current output window, die pointer will revert to its default shape until window number three becomes active again, at which time die custom pointer will reappear.
This little wrinkle is easy to solve. Immediately after opening each window make a call to SetPointer, using tlie WlNDOW(7) function as die first parameter. This function will always return the address of the current window, so the pointer will be attached to it when SetPointer is called. Then tlie code, for setting up a screen with three windows where all use the custom pointer, would look something like this: SCREEN 1, ...etc WINDOW 1, ...etc SetPointer WINDO W(7),.. .etc WINDOW 2, ...etc SetPointer WINDOW(7),. ..etc WINDOW 3, ...etc SetPointer WINDOW(7),.. .etc This ties the custom
pointerto each of the three windows. No matter how the current output window is changed, either through source code or user clicks. The new Intuition pointer is maintained.
Can each window have a different custom pointer of its own?
Yes -just make a separate Spritelmage Structure for each and include its address in separate SetPointer calls. Actually, as many pointers as desired can be created, or change at any time, with this routine.
The AmigaBASIC listing accompanying this article shows a simple demonstration of creating custom pointers. The first mouse click causes the default pointer to disappear, the second brings on a custom pointer and tlie third restores tlie default arrow.
The disappearing act is done by first defining a “dummy7’ Spritelmage Strucnire which contains only zeros and passing its address to the SetPointer routine. This creates an invisible pointer.
It’s actually still there, and it will function...but try to find it!
This invisible pointer trick actually has some utility as not all programs require a pointer. When not needed, a pointer can be a bit of a nuisance, so it’s nice to be able to get rid of it when it serves no purpose and would only get in the way.
The Intuition pointer is an important part of the Amiga user interface, and it is also a tool often overlooked by programmers. A pointer which changes its shape to fit the current program option or mode is not only clever, but can be a useful reminder to the user as well. This would be true of a paint program in which tlie pointer assumes the shape of the currently-selected drawing tool, for example, A text message, written vertically, can also be communicated via tlie pointer using the appropriate image data. Animated pointers are also possible through the use of a series of SetPointer
calls matched with Spritelmage Structures which define a sequence of image “frames” in page-flip fashion, These are just a few, off-the-cuff ideas for applications of customized pointers. After a little experimentation, inventive readers will dream up many others.
Listing '* CUSTOM INTUITION POINTS?. DEMO * '* AmigaBASIC source cede * by '* Robert D'asto * V* **************** SCREEN 1,640,200;2,2 WINDOW 2,"Pointer Demo",,31,1 DECLARE FUNCTION AllocMentfi() LIBRARY LIBRARY "exec.library" LIBRARY "intuition, library" CLS:PRINT PRINT "Click mouse to make pointer disappear."
WaitClick NoPointer CLS:PRINT PRINT "Click mouse again to create custom pointer."
WaitClick CustomPointer CLS:PRINT PRINT "Click mouse again to restore default pointer" PRINT "and end program."
WaitClick ClearPointer WINDOW(7) Endlt:
* * free up the memory allocated earlier '* for the Spritelmage
structures FreeMem pi,76 FreeMem np&,8 LIBRARY CLOSE SCREEN
CLOSE 1 END SUB NoPointer STATIC '* creates Spritelmage Struct
and l* pointer with no visible image data SHARED npit opt tt=2A
0-f- 2~1+ 2 A16 np6“AilocMem&(8,opti) SetPointer
WINDOW(7),nps,1,1,0,0 END SUB SUB CustomPointer STATIC '*
declare a Spritelmage address variable as SHARED so we can free
up the memory later in 1 * Endlt routine SHARED pi '* allocate
memory for the structure opti=2A0+2rtl+2A16 pi=AllocMem.£
(76,opt£) '* fill in the image data beginning '* with an offset
of 4 bytes from the '* beginning of the structure FOR x%=4 TO
66 STEP 2 READ dS pixeldata%=VAL POKEW pi + x%, pixeldata% NEXT
DATA 1FFS,1FF8,1FF8,1FF8,0,1FF8 DATA FFFF,FFFF,3FFC,0,73BE,440
DATA 7FFS,0,FFFF,0(FFFF,0 DATA 6EEE,100,77DE,0,3S3C,0 DATA
1FF8,Q,7EQ,0,FF0,E70 DATA 3E7C,3FFC '* give all the parameters
to the '* SetPointer routine SetPointeri WINDOW£7),p£, 16, 16,
0, 0 END SUB SUB WaitClick STATIC WKILE MOUSE (0) 0 WEND WHILE
MOUSE (0)=0 WEND END SUB BATMAN: The Movie ¦‘BATMAN: THE MOVIE”
IS A NEW action adventure game from Data East. In it you assume
the title role of Batman. Since the game is based on the most
recent Batman movie, this game doesn’t involve Robin, the Boy
The game sticks to the plot of the movie rather faithfully, highlighting the best action sequences for use in the game.
There are a total of five scenarios through which you must guide The Dark Knight. The first game sequence recreates the shootout in the Axis Chemical plant, in which Batman shoots Jack Napier. This unfortunate event causes Jack to fall in a vat of toxic chemicals, thus creating the Joker. Your only weapons in tills sequence are the Batarang and the Batrope.
You throw the Batarang at tire villains throughout [lie chemical piant to eliminate them, while they fire at you with tlieir grenades and pistols.
As your health declines, your face at die bottom of the screen slowly turns to that of the Joker.
Besides dodging bullets, you must also avoid die spray of toxic chemicals dtroughout the plant. The Batrope is used to swing Batman from level to level, in his search for Jack Napier.
You have a total of 8 minutes to accomplish this mission.
At die end of the first level Jack is transformed into die Joker, who in die second level chases you through the streets of Gotham City. Your vehicle is the infamous Batmobile, equipped with a computer whiclt shows you die correct route to die Batcave (See picture). The computer displays an arrow at die top of the screen to show you at which streets you must turn. You only get three chances to turn, after which you will run into a police road block if von are unsuccessful.
Since the Batmobile moves at sucit great velocities, you must engage die use of a Batrope to grab hold of the light poles at the intersections in order to make a turn.
Hitting any obstacles along your 100 block path after your teenage daughter has borrowed the can attending school science fairs; and going to work. Mr. Spacely is still bossing George around. Only this time George may deserve it - lie's two hours late for work, and Spacely is ready to fire him. The only thing tiia t George can do to make up for his tardiness is to accept a special assignment. It seems that Spacely lias invested millions of dollars in a resort on what was the beautiful planet of Robotopia. To finish the project, he needs more funds from a group of large investors who are
headed to Roboropia to check the resort out. The only hitch is that die robotic residents of die planet seem to beat war, and dius the planet is a disaster. Spacely wants you to find out what is going on and correct it before the investors arrive. If George is successful, he will not only keep his job, but gei a hefty bonus as well.
THEJETSONS ALL RIGHT, SO MAYBE I'M A KID AT heart, but I enjoy watching cartoons. Of course, not just any cartoon, usually the old classics - Johnny Quest, Bugs Bunny, and THEJETSONS!
It was Ulus with much glee diat I brought home "George Jetson and die Legend of Robotopia” Could dley actually put the look and fee! Of a cartoon into a computer game? I was about to find out!
• Tell kin m'i lib j Ft*.
• Tell kin *r x* re bee.
Mid tb mavitiMi 4esk is a frinily.
Fwr »l iliH, Mis nib* skii is cwrrtd ii mi fix, sWt f*.
HricMt U tb Mftwiitiisis bsart," strs tb frifkUHMkix 3 it* bit. Tbti* m lib i m? He km a iuf*ifict*t sjtcul tkismkr Greetings from the planet Robotopia.
The game is provided on two disks, along with a cartoon manual which provides the history of what happened the day before the game starts. This manual is also die source for words you must look up during the game as a form of copy protection. Luckily you only have to do this once. The manual also explains to the player how die game interface works.
In "The Jetsons”, you become George Jetson, head of die Jetson household. Along with this honor, you get to perform die usual fa therly du ties such as hu nting for your car keys The game interface is extremely well done - especially for someone like myself who usually doesn’t like adventure games. It is completely mouse driven - which also means you don't have to “guess what word die programmer wants you to use to get by this puzzle”.
The upper left portion of the screen is George’s view of die area he is presently in. Below this Ls a text window, in which die description of your surroundings appear, as well as your conversations with other characters. You speak with other characters by selecting a response in die window immediately to die right of die text window. It’s your job to choose die correct response. If you try to think like George Jetson, you’ll do all right.
The interface worts well, and is very easy to use. The View Screen is actually animated for some portions, which really adds to the game.
The program also uses digitized sounds from die show', which also adds to die ambience. There are many characters with whom you can interact, and die plot of the game is interesting yet easy' to follow'.
There is only one pull dotvn menu, which allows you to restart a game, save or restore a game, or quit a game in progress.
(continued top of page 57) (Batman, continued) will drain your life, and waste time. You only have 5 minutes to reach the Batcave to begin work on deciphering the Smilex mystery.
It seems die Joker is poisoning people all over Gotham City with a chemical called Smilex.
He puts the ingredients in 3 separate cosmetic agents, which when combined form die deadly Smilex poison. Using the Batcomputer, Batman must find out which products contain the poison. The Batcomputer has narrowed the choices down to eight chemicals. Using die Batcursor, you combine three of these at a time to see if any contain die Smilex. The computer responds by tellingyou how many of the iliree items selected contain Smilex. This is very similar to the game of Mastermind, but with two caveats: you only have 6 “tries", and 30 seconds in which to solve the puzzle.
Batman has succeeded in outsmarting die Joker at every turn so far, but now die Joker plans to destroy the population of Godiam City by spraying them with poisonous gas hidden in parade balloons at die Gotham City Carnival.
You as Batman rush to die Batplane, and fly down die streets of Gotham snapping the tether lines leading to the balloons, aliowing them to float to safety. Time is of die essence, as you have calculated that you must release 100 balloons within 5 minutes in order to diwart die Joker's plan.
The last mission is die most difficult. The Joker has taken refuge in die Godiam City Cathedra!, awaidng die arrival of his helicopter to flee to safety. Batman has only 12 minutes to find and destroy the Joker, once and for all. This scenario is very similar to the Axis Chemical plant, in that all you have to work with Is your Batarang and Batrope. There are more goons in this level, equipped with automatic weapons and more grenades. You must also watch out for floors which collapse beneath your feet, which may lead to your ultimate demise (and dius the demise of Gotham City).
The playing screen is divided into two main portions, the action screen (at the top) and die statistic screen (at the bottom). The statistic screen shows your currenr and higli score, your health (the fading picture of Batman), die time remaining for the level you're on, and how many lives you have left. You are granted 3 lives for die entire game, but can earn an extra life for every 100,000 points scored. The game is provided on one disk (copyprotected) with a well done, 6 page instruction manual.
BATMAN features well done sounds and graphics. You can see as well as hear die Batmobile bum rubber, and watch the Batplane as it is slowly consumed by flames. My game had an inexplicable yeliow line which appeared at die upper left corner of die screen and seemed to move around, lout it never bothered me during game play. Overall, I was quite impressed widi the smoodi scrolling screens and excellent sound effects.
Tire programmers wisely included a pause key (FI), as well as key (F2) to turn on and off the soundtrack. For some reason, you aren't allowed to pause the game during die 30 second Batcave sequence. Unfortunately, there is no way to save a game in progress, nor are the high scores saved to disk. Anodter feature I would have liked to see is die ability'' to skip a level if you have already completed it. As it stands now, if you lose on Level 5, you must replay all 4 of die preceding levels.
“BATMAN" is a fun and exciting rendition of die movie of die same name. Action is present in quantity, widi an exciting musical score, It’s one of tiiose games tiiat keeps you coming back for more. If you’ve ever dreamt of becoming the Caped Crusader, try “BATMAN". You WON’T be disappointed. Miguel Millet ADVENTURES THROUGH TIME Vol. 1; The Scavenger Hunt A TIME MACHINE! I DONT KNOW anybody who wouldn't want access to one for just a little while. Just drink - you could go back and correct past mistakes, or maybe venture into the future and bring back information that would help you in the
present. .Alas, mucking with time could be dangerous, and it’s doubtful that you or I would ever get to see the inside of a time machine. Young Buck Walker, however, is luckier than the botii of us. It seems dial in die 21st century, time travel is possible - and it is a closely guarded secret. Only Historians of the United Earth - an organization which in 2059 AD oversees ai! The nations of Earth - have access to a Lime machine. Buck's father is one such Historian, who happens to lie away attending a national convention of Historians. That leaves Buck and iris rebellious friends
unsupervised, and when die cat’s away, the mice will play!
In “Adventures Through Time: The Scavenger Hunt”, an adventure game from Aurutn Software, you become Buck Walker, the rebellious young son of a time traveling Historian.
Time travel, until this time, had been used to record history accurately by actually observing past events. It seems Buck and his friends (whose parents are all Historians) have decided to go on a scavenger hunt through time - collecting relics from the past. These relics include a lyre, a tomahawk, a shield, a dinosaur egg, and a papyrus scroll. The kids don't mean any harm, it's just that as children of Historians they aren't allowed to play with odier children or eacli odier (the government feels this would compromise die security surrounding time travel). Thus, Ace, Daisy, Bookworm,
and Buck resort to tills “harmless" jaunt through time in order to amuse themselves.
“Adventures Through Time" is provided on a single non-copy protected disk, and includes a well written 22 page manual, an “Historian’s Handbook" to time travel, a United Eardr decal, and a “Time Machine Operators License". To start the game, you first must make a backup copy of the game. Following this, just boot up the machine with the backup at the Workbench prompt. Have your Workbench disk (1.2 or later) handy, as the first time you load the game certain files are copied from die Workbench disk to the game disk. The game will run in 512K. While die disk is not copyprotected, you will
need the Historian's Handbook (printed on that difficult to read maroon paper widi black ink) in order to type in the appropriate word to access die time machine.
After the game has loaded, you are given a brief introduction and then you’re ready to play. The game is in real time, meaning that for each minute of real time which passes, one minute passes in die game. (A pause feature is provided). You start in Buck's room, which is illustrated in the top half of the screen. In the middle of the screen is a status line which shows your condition, your score, the time of day, and the year (a useful feature when you’re traveling through time). When die right mouse button is depressed, die status line changes to a menu bar with three headings: GAME. PREFS,
The game menu allows you to load and save up to seven different games, as well as pause, quit, or restart the game. Tiie PREFS menu gives the ability to change the text size, skill level, or drop into the Workbench. The HELP menu offers help in playing die game.
Below the srants line is die narrative window and a control panei. Commands are typed in tiie narrative window, which also serves to display descriptions of items, places, and conversations. At die lower right of die screen is die control panel which helps decrease, but not eliminate, typing. To move die character left or right, you hit the left or right gadgets. To open an item, you press die OPEN gadget and then point to the item on the screen you wish to open.
This only works if die item is shown on die screen. If the item is not on the screen, you can click on the word in die narration window if it is present diere. I found that most of die time it was easier just to type in die commands rather dun use the control panei. Typing is made a (Tbejetsons, continued from page 55) Unfortunately, I did have a couple of major problems with the game which almost prevented this review. The first problem was that die game refused to boot at die Workbench prompt. It took me a while to locate die problem
- wliich happened to be my Amiga 1300 Genlock. A quick call to
Microlliusions confirmed diat for unknown reasons,
‘‘Thejetsons” just doesn’t like genlocks (of any sort). They sa
id dm die only workaround was to completely disconnect die
genlock from die machine. As much as I hate to connect and
disconnect equipment just to run a game, 1 still felt that it
was worth the hassle.
The next problem was a liule more severe. After playing die game for 2 hours, I got a visit from the guru. The error given was a Read Write Error on Disk 2. "No problem,” I thought.
I’ll just restart it from where I iast saved the game. Unfortunately, I got the same error on trying to restore the game. I started the game completely over (ie, a cold reboot), but the game again crashed at exacdy the same place. At this point, i went back to the store and got a second copy. 1 got die same error in the same place with die second copy too! So, back to the store for copy number 3, but it was to no avail.
After going through three copies, I felt that maybe my machine was at fault (despite the fact that no other program I owned was crashing), Thus the Amiga was put through an intensive set of system and disk diagnostics which detected no problems. As a last ditch attempt (i really did like playing the game when it worked), i sent the disks back to Microlliusions, who returned diem two weeks later with the game copied onto diem. Finally, I had a working copy of the game. Microlliusions stated diat they had never had this problem before. I'm not sure if my area was just unlucky and got a bad
batch of disks, but die problem was most infuriating.
Overall, I really enjoyed playing "The Jersons’1. The interface is well done, as are the sound effects and graphics. The plot is well thought out, and keeps you interested in playing the game (and completing the adventure).
As long as you don’t have die read write errors I encountered (and don't mind disconnecting your genlock), I can recommend this game. I would definitely try the game at your local computer store before you take it home.
MiguelMuIet BATMAN: THE MOVIE Game Design by Ocean Software Distributed by Data East USA. Inc. 1850 Little Orchard Street San Jose. CA 95125 List Price: S39.95 Inquiry 209 The Jetsons Microlliusions 17408 Chatsworih St. Granada Hills, CA 91344 1-800-522-2041 Price: $ 44.95 Inquiry 208 Adventures Through Time Vol. I The Scavenger Hunt Aurum Software
P. O. Box5392 Ventura. CA 93003
(805) 659-3570 Price $ 49.95 Inquiry A 210 litde easier because
the programmers use die function keys as substitutes for
commonly used commands. (Thus the FI key automatical!)'
types LOOK for you), A template is provided to put on top
of the funcdon keys so you don’t have to memorize the
commands, Buck has several obstacles to overcome in order
to win the scavenger hunt. First of all.
He must find where the time machine is hidden.
Provided he does this, he must dien discover how to operate the time machine. Lastly, he must travel to the specific eras in which die items can be found, and convince their original owners to part with the possessions. These tasks are fairly straight forward, once the right sequence of events are followed. The fun of die game is in discovering how each of diese tasks can be accomplished.
Dm die is ii P«s*. Lit HEIM] ts CmtintlLud I. Em rtsni.
Tat jMfnss let si«d nil te list, tat »c an r« taa’t mat ti sm first?
Wmllf.,, Ym w MW it tfc mst closet.
Yn M mv IB tW »stairs tetaMft.
Each of die five eras are fairly easy to get around in. Most of them are linear, ie, there is only one main path widt a few rooms to explore off to die side. In the prehistoric and western worlds, you’re required to jump over a few obstacles wliich gets tedious after a short while.
Ancient Greece is perhaps the smallest world, but one of the harder eras in. Which Buck must accomplish his task. The pyramid is the hardest level to get around in, as it is a veritable maze of different passages. You'll need to dig out the pencil and paper to map diat world out.
As far as advenrure games go, "Adventures Through Time” lacks many of the niceties that current adventure games offer. For example, many games completely eliminate typing allowing die player to concentrate oil the game rather than die phrasing of a certa in command. The parser used in this game does not help much either - its vocabulary' is extremely limited, meaning die player may have to try a lot of different wordings before die computer will understand what to do. Also, in most graphics adventures the objects diat can be found in a room are displayed on die screen. In
“Adventures", die player must rely exclusively on the narrative to see what items have been discovered. Since the objects are not displayed on the screen, die player cannot just pick up the item by moving over the item and clicking. Lasdy, the game features limited graphics and NO sound (not a peep!).
There are a few animations during the game The graphics are very simple, and screen scrolling gets choppy in die few scenes where graphics are a litde more complex, Since "Adventures Through Time” doesn’t make good use of Amiga sound or graphics capabilides, itrelies heavily on the plot and game play. Unfortunately, these are only fair as far as adventure games go. Maybe I'm spoiled, but I like die "no typing" and "heavily graphics oriented" features that are offered by other adventure games diat are currendy available. Most other games also make liberal use of sound effects and
soundtracks. “Adventure Through Time” is "cute" as is, but is more likely to appeal to a younger crowd. MiguelMuIet Tree Traversal & Tree Search by Forest W. Arnold IN MY LAST ARTICLE, “TREES AND RECURSION” (AC V4.12), I WROTE about natural binary trees and showed how to build the trees as a list of lists.
Natural binary' trees are very useful data structures, but you need to know how to move around in the trees and to find whatever data is stored in the nodes in order to put them to work.
I’ll discuss two common methods for traversing trees. Then I will explain how the two traversal methods can be used to search for a node in a tree. Before diving right into a discussion of tree traversal and search techniques, I’ll briefly review what natural binary trees are.
NATURAL BINARY TREES REVISITED Figure 1 short's the tree which was discussed in my last article, and figure 2 shows how the tree is implemented as a list of lists using only two pointers in each node. One pointer is directed at a node’s sibling node. This is the standard 'next' link pointer in a linked list. The other pointer points to a linked list containing that node’s child’s node. The arrow's in figure 2 which point to die right represent the sibling link pointers, and tire arrows which point downward represent the child link pointers.
The top node, numbered 0.0, is called the root node of tire tree, and the nodes numbered 3.0 through 37 are called leaf nodes. The tree has four levels, numbered 0 tlirough 3. The root node is on level 0, and the leaf nodes are on level 3- The C structure defining a node in the tree is: cypedef struct cleverNode t struct cleverNode 'next; * sibling link pointer * struct cleverNode 'child; * child link pointer * unsigned char 'data; * this node's data * ) CLEVER_NODE_T; Trees constructed as lists of lists using this type of node definition are called natural binary' trees. With this
single clever node definition, just about any type of hierarchical structure can be represented in a C program. By storing function pointers in the tree nodes, even C programs can be constructed as natural binary'trees! In my last article, I showed you how to build tire tree. But to use the tree once you’ve succeeded in building it, you need to know how to move around from node to node. Here’s how it’s done... TREE TRAVERSAL To find a node in a tree, you not only need some method for moving from one node to another, but you also need a method which will allow all of the nodes to be visited,
while not allowing the same node to be visited more than once. All of the nodes in a list of nodes connected by ‘next’ pointers can be visited by starting at tire first node in the list and following the 'next' pointers to the last node. This is the standard way linked lists are traversed. It is very easy to visit all of the nodes on a level which are connected to each other. Recursion can be used to travel between levels of the tree. Recursive procedure calls are used to move down tire tree, and procedure returns are used to move back up to the previous level. By combining recursion and
iteration using ‘next’ pointers, you can get to all levels of the tree and to all die nodes in a list. But how do you know for sure that all nodes will he visited (once)?
A path in a tree consists of a sequence of linked nodes. In figure 2, one path consists of die connected nodes 0.0,1.0, 2,0,3.0, All of the links in a tree are ‘directed’, which means they only go in one direction. This means that any path from a node to any other node will also be directed. Since all of die nodes in a tree are connected to each other dirough some padi and all paths go from any node to a leaf node, any padi in a finite tree is guaranteed to end and guaranteed not to double back on itself. And since all of die nodes are connected through a path, every node in the tree can be
visited by starting a path at the root node and visiting all the children of the root, all of the children’s children, etc. What all of this means is that with the right method, you can be assured diat all nodes in a tree can be visited, and diat each one will only be visited once. Visiting the nodes in a tree is called tree traversal.
Two common traversal techniques for trees are depth-first traversal and breadth-first traversal. Many algorithms manipulate trees by using one or bodi of these methods. Almost every procedure in the demonstration program uses depth-first traversal.
The ideas behind each of these two traversal techniques are simple.
In depth-first traversal, nodes are visited by following the child links first, moving through the Lree from top to bottom. When a leaf node is found, sibling links are followed from leftto right until the end of the sibling list is found. The traversal dien returns to the parent node of the leaf, and the parent’s sibling links are followed from left to right. If any node in a sibling list has a child node, the child link is followed. This process continues until the traversal recursively returns to the root node and ends. The traversal rules are: Rule 1: If die current node has a child link,
Rule 2: If the current node does not have a child link or the child was already visited, follow the sibling link, if there is one.
Rule 3: If the node does not have a sibling link or all sibling nodes have been visited, move back up the tree to die parent node.
Figure 3 shows the order in which nodes are visited during a depth-first traversal. Given the structure of a natural binary tree, depth-first traversal is straight-forward: if a node has a child node, visit the child; odierwise, visit the sibling. Child nodes are visited by recursion and sibling nodes are visited by following ’next’ pointers. A recursive C procedure to perform depth-first traversal is: void dfTraverse( topNode ) CLEVER_NODE_T *topcode; CLEVER_NGDE_T 'node; node = topNode; while( node ) t if ( node- child dfTraverse( node- child ); I* recurse * node ¦ node- rsext; * iterate
* ) Spotlight on Hardware... 501 Clone, Spirit 512K .....60.00 6B030 4megs 'BB2 2050.00 fllckerFlxer ..... 460.00 Spotlight on Software Advantage. GoldDisk . 120.00 Art Department .... 53.50 A-Talk III .. 59.00 Auto Script .... 71.00 Bars & Pipes . 170.00 Bars & Pipes Sound Kit ... 37.99 Bars & Pipes Music Box A 37.99 Bars & Pipes Rules Tools . 37.99 Can Do 88.99 Champions of Krynn 37.99
Credit Text Scroller .. 26.00 CygnusEd Professional 2.0 65.00 Doctor Ami ... 31.99 Escape from Singe's Castle .. 42.99 Fat Tracks 36.99 Hero’s Quest ... 37.99 Manhunter 1 . 33.00 Music Mouse (Dr, F) 50.00 PtC-Maglc 60.00 Pirates .. 29.00 Saxon Publisher .. 261 00 Shark Attack . 27.00 Their Finest Flour .. 42,99 Tiger Cub
59.99 Floppy Drive, SupraDrive .... 135.00 Floppy Drive. Internal 2000.... 90.00 Harddrlve. Quantum 40 ...... 420.00 Hatddrlve, Quantum 60 ...... 625.00 Harddrive, Quantum 105 .... 735.00 Harddrlve. Supra 20M 500 505 00 Memory, AdRAM 520 0k 500 120 00 Memory, Adv 2080 8Meg OK 147.00 Memory, BaseBoard OK 500 128.00 Modem. Aprolek 2400 ...... 85.00 Modem. Supra 2400 .. 120.00 Modem. Prog Perlph MNP .. 169.00 Mouse. Golden Img (Konyo) 69.00 Scanner. MIGraph ...... 339.00 SCSI Controller, Adv 2000.... 155,00 SCSI Controller, Byte Sync .. 170 00 SCSI Controller, Word Sync 170.00
Digitizing Setup: Camera, variable tens. Auto Droid, copy stand, and Digl-Vlew 4.0 ...... 460.00 Orders Only Please 800-544-6599 Visa MC CODs Circle 134 on Reader Service card.
2414 Pendleton Place ¦ Waukesha. Wl 53188 » 9 AM to 5 PM M-F Tlie “while’ loop implements the iteration on the sibling list by following ‘next’ pointers until a node which has no ‘next’ link is reached. The loop then falls through and tlie procedure returns, traversing back up the tree. Within the loop, child links are traversed by recursion before the 'next' sibling node is visited, When a node without a child is reached, its sibling is visited, and the process continues until all reachable nodes have been visited.
Recursion makes tlie language perforin all of the bookkeeping needed to remember parent nodes. It also keeps track of die data from all the earlier traversed states. When called with any node in a natural binary tree as die input argument, this procedure will traverse all of the nodes which can be reached by following the links leaving die node. If the initial input node is the root node, the entire nee will be traversed.
In breadth-first traversal, all of die nodes on a level are visited from left to right before child links are followed down to die next level. The traversal order is left to right across an entire level, then down to the next level. Just as in depth-first traversal, recursion is used to move between levels, and iteration is used to visit all of the nodes on a level. The main difference between the two techniques is diat depdi-first traversal visits tlie child nodes the before sibling nodes, and breadth-first traversal visits the sibling nodes before the child nodes. Figure 4 shows the order in
which nodes are visited during breadth-first traversal.
Breadth-first traversal sounds as simple as depth-first traversal. But it is actually much more complicated to implement, because all of the nodes on a level may not be in the same sibling list. If this is the case, there will not be a ‘next' pointer connecting the last node in one list to the first node in another list on die same level. The bottom two levels of the tree in figure 2 show this. It’s real easy to visit node 2.0, then 2.1, but how can node 2.2 be reached from node 2.1? The same question applies to die bottom level. Howr can node 3.3 be visited after node 3- 2 is visited, and
how' can node 3-6 be readied from node 3.5?
What is needed is some way to link all of die lists on die same level together, so that wdien the traversal reaches the end of one list, it can jump to the first node in the next list. This is just the type of problem which can be solved with queues (remember that a queue can be implemented in C as a list w'idi new nodes added to die end of the list). As the nodes are visited from left to right on one level, the child lists on the next level are put in a queue, then the queue is used to traverse the nodes on the lower level. Figure 5 show's how the child lists are linked together in a queue.
The small circles represent die queue nodes. The queue numbered 0 is die start queue. The queue for level 1 is built as level 0 is being traversed, die queue for Level 2 is built as level 1 is being traversed, etc. To start the traversal, a queue consisting of the top node is built, and traversal proceeds using die following rules: Rule 1: If die node has a child list, put a pointer to the child list in a queue.
Rule 2: If the node has a sibling, visit the sibling.
Rule 3: If all nodes on a level have been visited, recurse using the queue to traverse die next level.
Building die queue is fairly easy. The trick is to build the queue at the same time the breadth-first traversal is happening.
Naturally, I have an algoridnn up my disk drive for doing just diis trick, aldiough it's neither pretty or efficient. The queue node structure is; typebef struct cueNode struct queNode "next; * link to next node CLEVSR_N0DE_T -nodeList; * list of sibling nodes *t } QUEMOD£_T; The C procedure for performing breadth-first traversal of a natural binary tree is: void bfTraverse queue ) QUEN0DE_T -queue; i QU£NODE_T -topQNode,-newQNode,-prevQNode,-nextQNode; CLEVER_NODE_T -topNode; topQNode = prevQNode = NULL; * next level's queue * while queue ) * iterate on queue * I topNode ~
queue- nodelist; * get sibling list * while topNode ) * iterate on list nodes * if ( topNode- child ) * put childlist in the *i » queue of child lists * newQNode= QUENODE_T*)aalloc sizeof(QUEN0DE_T)); newQNode- nodeList - topNode- child; newQNode- next = NULL; if ( prevQNode ) prevQNode- next = newQNode; else topQNode = newQNode; prevQNode = newQNode; } topNode = topNode- next; * get next sibling node* ] nextQNode = queue- next; * get the next queue * free( queue ); * free current node * queue = nextQNode; if ( topQNode ) * If a queue was built,* bfTraverse( topQNode ); *
recurse * (continued on page 79) R S b y The Bandito R O [The statements andprojections presented in “Roomers” are rumors in the purest sense. The bits of information are gathered by a third party source from whispers inside the industry. At press time, they remain unconfirmed and are printed for entertainment value only.
Accordingly, the staff and associates of Amazing Computing™ cannot be held responsible for the reports made in this column.] COMMODORE HIRES ATARI’S FOUNDER Yes, that’s right, sports fans. Commodore International Ltd. Announced that Nolan Bushnell (inventor of Atari and Chuck E. Cheese’s Pizza Time Theater) has been hired as general manager of Commodore’s Consumer Interactive Products.
So what is this division, you ask?
Well, this is the part of the company that’s developing (you guessed it) the Amiga CD- ROM player, though of course Commodore didn't officially say drat. What they did say was interesting: They announced that Nolan is already at work with his team on a product they expect to demonstrate at the June Consumer Electronics Show in Chicago.
So it looks like Nolan, wtiro is a savvy guy with plenty of other things to keep him busy (half a dozen companies that he either set up or is heavily involved with running), has been seduced by something so cool that it made him give up the life of tire independent entrepeneur and go to work for a big company. It must be that Nolan really believes in the potential for the Amiga CD-ROM player to be a hot piece of consumer electronics. And this is a guy who’s seen quite a few technological wonder toys in his time.
The otlrer interesting “tidbyte” from this announcement is that Commodore may be sirowing the Amiga CD-ROM openly at CES, rather than behind closed doors. They might even have plans to ship it for tire Christmas season, radrer than waiting until summer of 1991. The Bandito has managed to cobble together a few more facts about this dream machine. It’s a slick black device drat looks like part of your stereo on the outside, but it’s a true Amiga 500 on the inside. We’re talking 1 megabyte of memory, the new chip set, Workbench 2.0, and a full complement of ports. The Bandito hears about slick
black peripherals that use infrared connecdons instead of cables. Joysticks, mice, even a keyboard that can be used from that couch you keep in front of dre entertainment center.
SOFTWARE TURNS SOFTER DEPT. Mediagenic is in big trouble lately.
Fiscal year 1990 results are in, and drey look somewhat disappointing. What would you say if your company lost $ 19 million dollars on $ 65 million in sales? You might say that you have a problem. What’s caused all this?
A combination of factors. Mediagenic has always had high expenses, and dreir sales slowed down in several areas while dreir expenses didn’t. Then in April, Mediagenic lost a patent iirfringement suit filed in 1986 by Magnavox; dre court ruled that Mediagenic was distributing an Atari video game on which Magnavox had a patent.
Mediagenic made some decisions to discontinue several divisions (Infoconr, dieir Triton mail order business, and their Apple Presentation Tools).
Ieditor’s note: Mediagenic has confirmed they worked out an agreement with Magnavox regarding the infringement suit.1 MORE COMMODORE NEWS Here’s anodrer interesting udbit that dre Bandito picked up while haundng the electronic cocktail parties. Commodore officials are wooing Prodigy, dre IBM Sears telecommunications service, in an effort to get the sendee to appear on your favorite maclrine. Look for an announcement dris summer if drey can put together a deal.
While Prodigy is slow, it is graphics-based and very- showy. The Bandito suspects that dre software might take advantage of dre Amiga's sound capabiliues as well as graphics, to provide a very interesting and entertaining service. Imagine advertising with dreme music and sound effects!
The Bandito hears tlrat Commodore is also interested in other telecommunications services to provide Amiga-specific support widr intelligent, graphical interfaces that make telecommunicating easy.
And why not? The Amiga should be able to do drat better dran any other computer.
Mass-market Amigas are coming soon to a major retailer near you. After many months of maneuvering and deciding, Commodore has finally determined to take the plunge. Look for announcements this summer of availability for dre Christmas buying season. Commodore has closed deals with some major retailers already, the Bandito hears. The A500 will lrit with a street price of considerably under $ 500, or so the nimorsgo. The prospect has software developers optimistic, especially if their software can be among dre few titles carried by the mass market stores. Look for a heavy concentration on
games, with maybe a paint program and a word processor thrown in for good measure. Oh, and some educational tides, too.
So what’s left for the computer retail store? Plentyc The retailers can provide all those add-ons and options that the mass market won’t deal with, like dre A590, And drere’s a good price drop in store for the A2000 series once dre A3000 hits dre stores, which is even better news for dre retailers.
How does a list price of $ 1499 sound for an A2000? Of course, the street price will be even lower.
Will dre A2000's get the spiffy new A3000 case? Maybe not, but drere is a new version of a case for the A2000 series in the works. Look for it to appear around Christmas, if it can ever get approved.
SON OF WORKBENCH DEPT. Workbench 2,0 appears to be generating even more excitement than the A3000, among those familiar with both.
Very' slick, according to those who have played with it. There's still a number of bugs to be squashed, but by the time it comes out the software should be very stable. Developers seem to think that revving their software will be fairly straightforward, even for those who break a lot of rules. So save some dollars, because you’ll be upgrading a lot this fall.
Workbench 2.0 has a lot of very nice features. For instance, there are no more invisible files (a default icon is provided).
You can create a virtual size screen up to the limits of cliip RAM, and in the case of the A3000, that means a screen that could be thousands of pixels in both dimensions.
But tlie Bandito thinks die much cleaner graphics and the easy way you can customize the fonts and graphics are what’s most important. The visual look, especially on a 640 x 480 non-interlaced screen, is stunning. It’s die equal of any odier computer, and finally gets away from the rather clunky lo-res look of the original Workbench. Appearance counts for a lot in this business, and now the Amiga will look like the serious computer it really is.
Speaking of serious, the A3000 has a number of technical advances that aren't readily apparent, but will become more important over die next few years as a basis for future advances in the Amiga architecture. For instance, writing data to chip and fast RAM is more than mice as fast as the A2500 30 because of the 32 bit wide data path; this makes the video speed faster than die fastest new Macintosh, and four times as fast as standard VGA speed on an IBM.
Many of the new chips are CMOS constmc- tion for high speed and low power consumption; eventually all of the custom chips will be CMOS, wiiich will make for even greater speed (not to mendon it makes a laptop Amiga easier to do).
The new architecture and Workbench 2.0 make it possible to create video cards with greater resolution dian the standard Amiga resolutions. In fact, some boards are already in die works. The Bandito hears of a board from the U.K. (code- named Hi-Tension) diat puts out 1600 x 1200 pixels, with 256 colors out of 16 million. By putting a coprocessor 011 the add-in video board, given the speed of die new bus, it's possible to get the Amiga performance we’re used to while still displaying thousands of colors at very high resolutions.
Commodore is also working in deep, dark secrecy 0:1 a new sound chip, or actually a combination of chips at this point. There’s no plan yet on how it will be brought to market, but look for full 16-bit sound, digital signal processing capability, and the capacity for compact disc quality audio.
A3000 has better game compatibility than the A2500, according to those who have played with it. Unlike die A2500 30, though, you can’t switch to a 68000 because diere is no 68000 around. So if you're a game player, you may have to give up some of your old favorites if you buy an A3000.
Hey, Commodore, good job on the A3000 three page ad in die Wall Street Journal. It was very well executed, and made a good impression on those business q-pes. Do diat again, says the Bandito.
The A3000 is turning some heads at major software publishers. Hmm, since Commodore has worked out a deal with Novell for their network software on die Amiga, and Novell is merging widi Lotus, do you think that...well, we’ll see. Talks are continuing.
So why is Commodore's stock down at 7 with all this good news? The Bandito doesn’t know. Maybe it’s because die takeover fever has subsided. Or, that the hardware market overall is slow. But even the pending relaxation ofCOCOM restrictions, which means that Amigas will soon be sold in Eastern Europe has failed to boost die stock very much. Go figure.
THE NEXT AMIGA DEPT. The engineers are hard at work on yet another Amiga, tentatively known as die A3500, that will feature a 68040 as die CPU and a 1.76-megab)te high density floppy that's backward compatible with the current floppies. The ability to read and write IBM and Mac disks will be easy to implement; in fact, this capability may go into Workbench 3.0, along with virtual memory and other goodies. Workbench 3-0 right now is just a list, but as die programmers finish up with bug-smashing for Workbench 2,0 they will be moving on to 3.0. AN APPLE FOR THE AMIGA?
Stick widi die Bandito on diis item; diere’s an Amiga connection coming up.
Here’s how it goes: Just when you di ought that die Apple II was deader than Rob Lowe's Film career, it rises again. Why?
Because of the stranglehold diat Apple II software has on die very large education market. The schools don’t have all diat much money to spend, so they want to keep using die software they already have.
But on the other hand, they do want to move up to new machines (diough they are very sensitive to high prices). And the computer manufacturers realize that when Johnny uses a computer at school, Mommy and Daddy may buy him a similar one at home. .All this is causing a huge batde for the education market, with Apple losing market share rapidly due to dieir overpriced, underpowered, nonpromoted Apple I! Line.
IBM has just announced some new computers aimed squarely at the school market. And to sweeten the deal for IBM, Big Blue has just bought a company that makes an Apple He clone on a card for IBMs; this card will sell for around $ 200 by IBM. So IBM is hoping diat this will convince schools to go for IBMs widi spiffy color grapliics and an industry standard operating system, instead of Apples with no color (Macs) or ugly color (Apple Ils).
Meanwhile, Apple is trying hard to sell Macintoshes to schools, They just lowered die price to schools for low-end Macintoshes, providing a stunning 66% discount off the list price. So Mac Plus would sell for about $ 600, which is only a little more than it is actually worth. This is in anticipation of their low-cost Mac introduction in October; that machine will be priced even lower to schools. And Apple is talking about an Apple II emulator in software (a hardware Apple II emulator for more expensive Macs is also in the works).
All diis emulation is designed to attract the education market, which is hip-deep in old Apple II software. They don’t "want to spend money on both new hardware and new software, so Apple II emulation is important to diem.
Enter into all this Commodore. They have by far die best computer for schools: low priced, great color graphics, animation, sound, an easy-to-use operating system, and some pretty cool software. But wait! No Apple II compatibility, so the school can't use all that Apple II software.
All, but the answer is on its way: an Amiga developer already known for emulation is said to be coming out with an Apple lie emulator for die Amiga. It's supposedly a combination of hardware and software; you have to buy the Mega II chip from an Apple dealer to make it work.
Commodore may offer this emulator themselves, in the same way that IBM has.
The Bandito hears chat this is being looked at very seriously inside the company. After all, the A500 is the perfect computer for students. With the new low pricing, it would be very' attractive to schools if they could run their old Apple software. And Commodore would have a tremendous PR boost, as well as a great way to get more parents to buy Amigas as home computers.
Or even Amiga CD-ROM players.
Speaking of Apple Iis, the Bandito thinks it’s very amusing how die rats desert a sinking ship. First it was all the Atari software publishers heading for the Amiga, once it became clear that Atari software sold about as well as Communist Party memberships in East Gennany. Now, it's Apple II hardware peripherals manufacturers who have seen their native market dry' up and blow away. No problem! They'll just change the labels on the saiff, switch a few resistors, and there they are Amiga peripherals! We’ll see how well they do.
There are already some well-established vendors in the Amiga market w'ho have travelled a long, hard road to get where they' are now, and they’ll fight hard to keep their market share. To give them credit, the Bandito has noted some interesting ideas that the new kids are working on; among them is a fax modem for the Amiga. You should be able to buy one by the fall. Of course, by then you'll be seeing fax machines for S300, OTHER NEWS
M. A.S.T. still hasn’t released their Flick-Off board;
supposedly, it will ship within the next month. They
apparently have a deal with Hitatchi to manufacture a
miniaturized VLSI version of the Flick-Off which plugs into
the Denise socket. They are also claiming complete
compatibility with the ECS under WorkBench 2.0. Commodore
1-year warranties? Yes, it’s real. Commodore decided to get on
the bandwagon and offer a real warranty for their products. It
doesn’t really' cost them that much extra, since if a computer
is going to die it usually does so when you plug it in for the
first time or shortly thereafter. But it's a nice gesture,
SOFTWARE WARS, CONTINUED... looks like the word processing wars are heating up, with the new version of ProWrite going head to head with Pen Pal.
Once again, battling software publishers help the buyers by providing more features. Which will be the first to take full advantage of the nett' super resolution modes offered by the ECS? Neither publisher is talking, but they’re both hard at work. The Bandito would like to work in 1280 by 400 for those extra-long sentences.
An update from the front in the HAM Paint Wars. The battlefield is quiet now, littered with tire corpses of failed contenders. Photon Paint is no longer being advertised, and DeluxePhotolab never was. Digi- Paint 3 has become tiie favorite. The latest wrinkle is Digi-Mate 3 by MindWare, which adds animation capabilities to Digi-Paint 3 by using the Arexx connection. If y'OU’ve got enough memory', run Digi-View at the same time so thatyou can pull an image in, paint on it, then animate it. More RAM, anybody? Next up: a 24-bit version of Digi- Paint, with a host of new features that can be
used in any' mode. At least that’s what is in the laboratories; there’s no word on vhen it might make it to the marketplace.
Finally', there’s some conflict and some consolidation going on in the Amiga magazine market. Several names have disappeared, and the Bandito hears they may reappear later by combining operations.
Meanwhile, tune in here for the latest industry news and gossip. Has anyone noticed how some of the other magazines are now running "rumors” columns by trying to steal the Bandito’s material?
Nice try', but no panatela, fellas, Read tire latest news here. Accept no imitators.
THIS GAME IS WAR DEPT. Nintendo’s hot-selling Gameboy portable video game gadget is going to get more competition than the Lynx. Sega Enterprises is producing the Ganregear (with a color LCD screen) for release in Japan possibly' this September. It’s similar in size to the Lynx, and tire specs are interesting. Tire Ganregear uses an 8-bit Z80A CPU, and displays 32 colors from a palette of 4,096 on its 3-2-inch LCD screen. Sound familiar?
Meanwhile, over 2 million Gameboy s have already sold in Japan widi almost 2 million overseas. Total sales at home and abroad should hit ten million units by the end of the year.
And NEC is heading to the marketplace with a color LCD portable; their gimmick is that the unit uses the same cartridges as their TurboGrafx machine.
Looks like a highly competitive place to be.
Say, Commodore, how about a handheld Amiga* Digest Video Series Tope 1 - Mastering Workbench* and CLI* Lslcp-by-stcp guide on how to get the most from the Workbench arid CLI environments. FREE PD software disk and command summary.
T ape 2 - DcskTopPublisliing with PageStrcam** Complete instruction that takes you from start to finish on two projects.
FREE fonts clipart disk and keyboard command summary.
$ 30 each or both for $ 50 Includes UPS shipping VA res. Add 4.5*3, las Call in, fire Dticwnr Crapjn ind fasfurt Oakfe Cjrass (tools Video Productions
P. O. Ror 10RR9 Burke, VA 22015 (703) 569-2652 MasterCard. VISA,
Check, MO, COD Circle 108 on Reader Service card.
Amiga?lt could be done ify'ou putthe chips into CMOS. Now there would be the basis for a laptop... THIS AMIGA LOOKS LIKE AN ATARI ST DEPT. An Atari ST emulator for the Amiga?
Why, you ask? Who knows, but there is one or two floating around. One of them is supposedly PD, created by some hackers in Australia, but it is also said to contain some Atari code that is not in tire public domain.
And it doesn’t work very well, from what the Bandito hears. A more interesting product is said to be in development, combining hardware and software in a manner very similar to the successful A-Max emulator.
Whether anybody ever ships this product is a matter for another discussion. Before you laugh too hard, consider that such an emulator might help persuade a die-hard Atari fan to switch to the Amiga, because he could use much of his old ST software until he had the bucks to buy Amiga software.
Yeah, it sounds cheap, but then only tightwads bought Sts in the first place.
In other Atari news, Atari Taiwan was cited for pirating MS-DOS business software. Atari says it was individual employ- ees, because all of their loyal employees use Atari Sts in die office. Boy, the hardships you have to go through to work for Atari. By the way, Atari's latest sales figures show that sales and profits were both down for the last quarter; sales were only $ 85 million (and still dropping). Say, maybe they should merge with Mediagenic...
• AC* It'S H'P.
MiiGA o HOT AMIGA SUMMER!
NOW OVER 560 VENDORS 27 DO PRODUCTS 240 USER GROUPS PLUS!
OVER 2050 FREELY ] REDISTRIBUTABLE SOFTWARE PROGRAMS COMPLETELY UPDATED
• Over 2700 Products
• More than 560 Vendors
• More than 2050 Freely Redistributable programs Now at your
local Amazing Dealer.
One Front Column A, Three Front C olumn It.
Using Amiga Mentis, In C 11 by Jim Fiore IN OUR LAST EPISODE, VE LEFT HELEN AS SHE WAS ABOUT TO BE CAPTURED by the giant, ferocious, gorilla from the planet Klien-Horst and oops, soriy, wrong article. Anyway, last time (AC V4.2) we looked at the ground floor construction of an Amiga C program.
As you may recall we opened a few libraries, a screen, a window, and responded to IDCMP events.
This included items such as updating the mouse coordinates and ending the program. In this article we are going to expand on the original program. Our prime item of interest here is the addition of menus.
We are also going to open a second window and look at one way of differentiating its IDCMP events from those of other windows. A few little odds and ends will be thrown in as well.
.Anyone who has used Workbench knows what a menu is. Simply put, it allows for a convenient way of having the user set program attributes or initiate actions. Normally, menu selection is done with the mouse, but for keyboard intensive applications (such as a word processor), command key ‘short-cuts' may be preferable. On the Amiga, each window is allowed to have its own set of menus. Usually a window will have a number of menus, each containing several menu items. These menu items may even have their own set of sub-menu items. No matter how many menus, items, or sub-items exist in a program,
only two different types of items sub-items appear. Basically, you can do one of two tilings with a menu; either set an ATTRIBUTE (as in die color of your word processor's cursor), or initiate an ACTION (as in starting the spelling checker function). In order to setup menus, we must investigate two important Intuition structures the Menu structure and the Menultem structure.
Struct Menu ( struct Menu ’NextMenu; SHORT LeftEdge, TopEdge, Width, Height; USHORT Flags; BYTE *MenuName; struct Menultem 'Firstltem; ) The NextMenu field of The Menu structure will allow us to make a linked list of menus for our windows. In this manner, we can have several menus for a given window.
The last Menu in die list must have this field set to NULL (0 long). The next four fields determine placement along die windows tide bar. Presendy. TopEdge and Height are ignored, and info from the associated screen is used instead. The Flags field is shared between you and Intuition. The Flag MIDRAWN indicates diat diis menu is presently being displayed. The Flag MENUENABLED determines whether or not diis menu is currently enabled, If menus are not enabled, the associated items will be ghosted, and thus die user will be unable to access diem.
It is possible to enable disable menus via the OnMenuO and OffMenuO functions. MenuNanie is a pointerto a null terminated string, which will appear in the title bar at the position marked by LeftEdge. The first item below diis title is linked in via the Firstltem field. The structure for menu items follows: struct Menultem f struct Menultem *NextItem; SHORT LeftEdge, TopEdge, 'Width, Height; USHORT Flags; LONG MutualExclude; APTR ItemFill; APTR SeleetFill; BYTE Command; struct Menultem *SubItea; USHORT NextSelect; } As is typical in Intuition structures, the first field allows a list of items
to be strung together. As usual, the last item in the list must be set to NULL. The next four fields set die posiuon of die item inside of the larger menu area and die size of the items select box. The Flag’s field sets the type of item (CHECKTT if an attribute type, with the initialized state given via CHECKED), the highlight mode (HIGHCOMP for color complement, HIGHBOX for a surrounding box, HIGHIMAGE for alternate imagery', and HIGHNONE), vrhetiier or not rendering is via text or image (ITEMTEXT), and if the item has a command key shortcut (COMMSEQ). I tend to think of HIGHIMAGE as
HIGHALTERNATE, since ‘imagery’ means either an Image structure OR an IntuiText strucmre (just remember that SeleetFill and ItemFill must point to the same kind of data, as noted by ITEM 1 EXT). Tor mutually' exclusive items, the flags MENUTOGGLE and MENUTOGGLED are available.
The MutualExclude field contains a 32 bit exclusion mask for attribute items. Simply place a 1 for each exclusive item in die appropriate bit posidon. For example, if die first three items are mutually exclusive, then the first item will have this field set to binary 00000000000000000000000000000110 (ie., 0x6). If there is no mutual exclusion, diis value is zero. ItemFill points to data used to render this item. Normally, this field points to an IntuiText structure, aldiough Image structures are possible. The SeleetFill field points to data used if the HIGHIMAGE form of highlighting is
specified. Again, it is possible to use alternate IntuiText as well as alternate Image here. (A word of caution: if you decide to use alternate text, make sure that the IntuiText draw mode is set to JAM2 and that the two strings are die same size. If this is not the case, you will end up with character 'overstrike’ problems). If the COMMSEQ flag is set, the Command field should hold die character desired. This character should be declared inside single quotes, as in ‘A’. The legal characters include all letters, numerals, and elements such as die comma, period, semicolon, etc. If an item has
sub items, the next field will point to an appropriate Menultem. Note that diere is no such diing as a MenuSubltem structure, and that sub-items cannot have sub- sub-items (this field is ignored).
The final field is NextSelect. This field is used by Intuition for the purpose of allowing ‘extended selection'. Whenever a menu event is received, diis field should be examined to see if diere are further menu choices. If this is the last item chosen, this field will be set to MENUNULL. If you would like to fiddle around with the text, here is the IntuiText structure declaration.
Struct IntuiText UBYTE FrontPen, BackPen; * character and background colors * * JAM1 or JAM2 * * NULL terminated string * UBYTE DrawMode; SHORT LeftEdge, TopEdge; struct TextAttr *ITextFont; UBYTE "IText; struct IntuiText *NextText; ) Briefly, the new program is going to open a second window (text_wind), attaching menus to this window and the original window. You will notice that the declarations for die menus are in three parts. The first part consists of the IntuiText declarations which specify the character string used, a reladve posidon, and die text color. The second part is the
listing of Menultems. I declare one large array since I’m not fond of giving every menu item its own name (besides, diis way I get to declare everything in logical order). The third part is the declaration of the Menu. The main window has a single menu, while the text window has three menus (once again, an array is used). Our main window menu choices are simple: we can open or close the text window; quit die program; or, through die ‘Odds and Ends’ sub choices, either send the screen behind all of the other screens (like Workbench), or flash die screen.
If you select ‘Screen to Back’, you can set it front-most again by pressing left-Aniiga-M. The text window menus let us write one of three messages to the text window, erase the messages individually, and set die color of the message. Note that the Color menu uses ATTRIBUTE items. Also of interest is the rather ‘cheesy’ (but effective) technique of erasing by simply rewriting in die background color. The final item on the Color menu is made using an image instead of text. Here is the structure for an Image: struct Image t SHORT LeftEdge, TopEdge; SHORT Width, Height, Depth; SHORT MnageData;
UBYTE PlanePick, PlaneOnOff; struct Image ‘Nextlmage; AC Disks Source code and executable programs included for all articles printed in Amazing Computing.
1 W ACV3-3fl,idACV:!-9 10 fes- Gels In MultiForth Parts I & II: LeaTi how to use Ge's in MuitiFonti.
Author: John Bushakra FFP & IEEE: An Example ol using FFP & IEEE math routines in Modula-2. Author: Steve FatwiszewsM CAI: A complete Computer Aided Instruction program with editor written in AmlgaBASIC. Author: Paul Castonguay Tumblin' Tots: A complete game written in Assembly language. Save the falling tables in this game. Author: Davd Ashley Vgadr A gadget editor that allows you to easily create gadgets. The program then generates C code the! You can 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 lhat you can use in your own programs. Author David Pehrson Bspread: A powerful spread sheet program written in AmigaBASIC. Author Bryan Cately AC V4.3 and AC V4.4 Fractals Part I: An introduction to the basics of fractals with examples in AmlgaBASIC True BASIC, and C. Author: Paul Castonguay Shared Libraries: C source and executable code lhat shows the use ol shared libraries. Author: John Baez MuttlSort: Sorting and intertask communication in Moduia-2. Author: Sieve Faiwiszewski Double Playfreld: Shows how to use dual payfieids in Amiga3ASIC. Author: Rooeri D'Asto 'B81 Math Pan I:
Programming the 64831 math coprocessor chip in C Autticr: Read Predmore Args: Passing arguments to an AmigaBASIC program from the CLI Author: Brian Zupke AC V4.5 and AC V4.6 Digitized Sound: Using the Audio,device to play digitized sounds in Modula-2. Author: Len A. White '881 Math Part II: Part II ol programming the 63381 .mat.- coprocessor chip using a fractal sample. Author: Read Predmore At Your Request: Using the system-supplied requestors from AmigaBASIC. Author: John F. Weiderhirn fnsta Sound: Tapping the Amiga's sound Irom Ami- gaBASIC using the Wave command. Author: Greg
Stiingfellow M IDI Out: A MIDI program hat you can expand upon.
Written in C. Author: Br. Seraphim Winslow Diskless Compiler: Selling up a compiler environment that doesn't need topples. Author: Chuck Raudonis AC VAT and AC V4.8 Fractals Part t: Part II on fractal and graphics on the Amiga in AmigaBASIC and True BASIC.
Author: Paul Castonguay Analog Joysticks: The code tor using analog joysticks on the Amiga, Written in C. Author: David Kinzer C Notes: A small program to search a fie for a specific string in C. Author: Stephen Kemp Belter String Gadgets: How to tap the power of string gadgets in C. Author: John Busriakra On Your Alert: Using the system's alerts from AmigaBASIC. Author: John F. Wiederhim Batch Files: Executing batch files Irom AmigaBASIC.
Author: MatkAydellotta C Notes: The beginning of a utility program in C. Author: Stephen Kemp f 5 jr" acV4.9 MemorySquares:Testyourmemorywith 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 Cirasella Improving Graphics: Improve the way your program looks no matter what screen it opens on. In C.Authro: Richard Martin Gels in Multi-Forth-Part 3: Tie third and final part on using Gels in Form. Author: John Bushakra C Notes
V4.9: Look at a simple utility program in C. Author: Stepnen Kemp lD_Cells: A program that simulates a one-dimensional cellular aulomaa. Author: Russell Wallace Colourscopc: A shareware program that shows 0-tfereni graphic designs. Author: Russell Wallace ShowlLBM: A program that displays lo-res, hi-res, interlace and HAM IFF p'ctures. Author: Russe" Wallace LabyrinthJI: Roil playing text adventure game. Aulhor; Hussell Wallace Most: Text file leader that will display one or more Res.
The program will automatically format the text for you.
Author: Russell Wallace Terminator: A virus protection program. Author: Russell Wallace 6 [y ACV4.10& AC V4.11 Jid Typing Tutor: A program written in Am gaBASIC trial will help you improve you: typing. Author Mike Morrison Glatt's Gadgets: Using gadgets in Assembly language.
Author: Jeff Glatt Function Evaluator: A program that accepts mathematical functions and evaluates them. Written in C. Author: Randy Firch Fractals: Part III: AmgaBASIC coda 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: Stephen Kemp Fast Pics: Re-writing the pixel drawing routine in Assembly language for speed. Author: Scott Sieinman 64 Colors: Using extra-half-brite mode in AmigaBASIC.
Author: Bryan Catiey Fast Fractals: A fast fractal program written in C with Assembly language subroutines. Author: Hugo M. H. Lyppens Multitasking In Fortran: All the hard work is done here so you can multitask In Fortran. Author: Jim Locker Arexx Part II: Information on how to set up your own Arexx programs with examples. Author: Steve 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 at two data compressing techniques in C. Author: Stephen Kemp.
Animation? BASlCalty: Using ceil animation with AmigaEASiC. Author: Mike Morrison Menu Buifder: A utility to help build menus in your own programs. Written in C. Author: Tony Preston.
Dual Demo: How to use dual playfietds 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 the screen, in AmigaBASIC and TrueBasd. Author: Paul Castonguay.
C Notes: Recursive functions in C, Author: Stephen Kemp.
L( J Huq 'ACV5.2.&5.3 8 ? Dynamic Memory!: Flexible string gadget requester using dynamic memory allocation.
Author: Randy Finch.
Call Assembly language from BASIC: Add speed to your programs with Assembly. Author: Martin F. Combs.
Conundrum: An AmigaBASIC program that is a puzzle- like game, similar to the game Simon. Author: Dave Senger.
Music Tiller: Generates a tiller display to accompany the audio on a VCR recording. Author Brian Zupke C Notes From the C Group: Writing functions that accept a variable number of arguments. Author Stephen Kemp Screen Saver: A quick remedy to prolong the life of youi monitor, Author: Bryan Catiey AC V 5.4 & AC 5.5 Bridging The 3.5" Chasm: Making Amiga 3.5' drives compatible with IBM 3.5’ drives.
Author: Kart D, Belsom.
Ham Bone: A neat program mat illustrates programming in HAM mode. Author: Robert D'Asto.
Handling Gadget and Mouse IntuiEvents: More gadgets in Assembly language. Author: Jeff Glatt Super Bitmaps In BASIC: Holding a graphics display larger than |he moilor screen, Author: Jason Cahill Rounding Off Your Numbers: Programming routines to make rounding you numbers a little easier. Author: Sedgwick Simons Mouse Gadgets: Faster BASIC mouse Input Author: Miichae! Fahrion Print Utility: A homemad print utility, with some extra added features. Author: Brian Zupke Blo-feedback Lie detector Device: Build your own lie detector device. Author John iovine.
Do it By Remote: Build an Amiga-operated remote controller for your home. Author: Andre Theberge AC V5.6 & V5.7 II Convergence: Part five of the Fractal series. Author Paul Castonguay Amiga Turtle Graphics: Computer graphics and programming with a LOGO-like graphics system. Author Dylan MnNamee C Notes: Doing linked ilst and doubly linked lists in C. Author Stephen Kemp Tree Traversal & Tree Search: Two common methods for traversing trees. Author: Forest W. Arnold Exceptional Conduct: A quick response to user requests, achieved through effec nt program logic.
Author: Mark Cashman.
Getting to the Point: Custom Intuition pointers in AmigaBASIC. Author: Robert D'Asto Crunchy Frog II: Adding windows and other odds and ends. Author: Jim Fiore Synchroncltity: Right and left brain lateralization.
Author: John Iovine C Holes From the C Group: DouWy Jinked lists revisited. Author: Stephen Kemp Poor Man's Spreadsheet: A simple spreadsheet program that demonstrates manipulating arrays. Author: Gerry L. Penrose.
For PDS orders, please use form on page 96 Visa and MasterCard is available on orders of $ 20.00 or more. . _ Amazing Computing Vi. 7 © 1990 67 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 Bndgeboard. 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 compatible1 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 are trademarks of iheir respective companies.
Circte 149 on Reader Service card.
The Width, Height, and Depdifields describe the layout of the image data pointed to by the ImageData field. If you use fewer bitplanes than the screen allows, you can decide where to place your bitplanes with the FlanePick field, The remaining bitplanes are turned on or off according to to the PlaneOnOff field. Our image is a single bit plane, so please feel free to experiment with the PlanePick and PlaneOnOff fields. Also, when creating image data, you will normally do so with a 'tool' that looks like a paint program, but which outputs C source directly. These tools are available commercially
and in the public domain.
When using menus, you have to inform Intuition that a particular menu should be attached to a given window through the SetMenuStripO function. The complimentary function is called ClearMenuStripO and is called in damp_mopO. It is possible to attach different menus to a window by Clearing and Setting menu strips. Note that both windows and their menus are created and displayed when the program is first run.
Since we now- have two windows opened, we must deal with IDCMP events from two sources. There tire different wavs of doing this. In this program we simply WaitO on signals from eidrer window-. Note that it is necessary to test for the existence ol the text window, since it is possible to close it and still have the program remain active. When the program is signaled, we compare tire wait_mask to tire available wait bits to determine which window was used. At this point we branch to one of two IDCMP routines.
Note that tire new- liandle_text_messagesO routine is basically a copy of the old handle_main_messagesO function.
In order to process the IDCMP MENUPICK messages, we have two functions; handle_text_menu() and handle„main_menuO. Both of these functions do essentially the same thing; that is, they break down tire menu code variable and respond accordingly. Note that each handle_menu routine contains a large whileO loop. This is used to capture ‘extended select’ menu items (the next item is obtained by examining the NextSelect field of tire Menultem returned from the call to ItemAddressO). Inside the loop, the macro MENUNUMO returns the ordinal value of our selected menu. ITEMNUMO is used to find dre ordinal
value of the chosen menu item. If this item has sub items, their ordinal value is obtained from the macro SUBNUMO. Hr this way we can ‘track down’ any menu choice. Note that the first menu, item, or sub item actually holds position 0 and not position 1 (just like everything else in C, numbering starts at 0!).
There are two remaining items in the program that I would like to dr aw to your attention. First, you wall notice that our old dummy handler handle_main_newsizeO has been modified. In working with the old program, you may have noticed that shrinking the main window' destroys the sine wave drawing. It would be nice if we could redisplay die wave when tire window is increased in size again. That is exactly what the call to setup_main_windO does.
If you shrink the window and then expand it, you will notice drat the wave is redrawn. Admittedly, dris is very crude, but it does show- how NEWSIZE events can be used. A better scheme would examine the size and see if redrawing is required (after all, you could make the window larger than its initial size with no destruction of the graph). With particularly complex renderings you might even choose to do your own image backup and copying. The second item of interest is the funcdon close_text_windowO- Note that this function can be called from three places: 1) user selects die text windows
Close gadget, 2) user selects ‘Close Text Window' from die main menu, and 3) user kills program either from the main menu or the main w-indow-s Close gadget (both call damp_mopO, which calls close_text_windowO). The first thing you will notice in this function is that the text windows IDCMP que is drained of any ‘left over' messages (such as MOUSEMOVEs). Next, die menu strip is cleared and the window closed. Finally, the test_wind pointer is NULLed. This last line is VERY important. If we do this consistendy, we can effectively use this pointer as a ‘window exists' flag. In other words, if die
value of the pointer is zero, we know diat die window- is not open, and therefore we cannot render to it or expect to receive IDCMP messages from it. On the odier hand, if the pointer is non-null, we can assume diat die window is open and available.
You will notice diat this technique is used throughout diis program.
In essence, statements such as if(text_wind) are really shorthand for saying ‘If diis window- is presently open, then...’. Examples are found in the main() FOREVER loop and in handle_main_messagesO (in case die user tries to open the texr window- and it is already open).
Well, that about wraps it up for this installment. At this point you now have exposure to some of the important base elements of an Amiga program. There are a number of interesting topics yet to be explored, though, so stay tuned!
Author's info: Jim Fiore is the resident C programmer at dissidents in Utica.
NY. He has a number of years of teaching experience in Electrical Engineering Technology as well, in his spare time Jim enjoys falling off of things, and listening to Frank Zappa, King Crimson, and Kate Bush. He may he contacted through BIX as jfiore.
Listing * CrunchyFrog2.c Jim Fiore g dissidents 10 9 86. Updated 6 22 89. This program is copyrighted, however, you can use it, with the exception of distribution for a profit.
Compiled and linked with Manx Artec C v3.6 under AadgaDQS 1.3 cc +L CrunchyFrog2.c In +cdb CrunchyFrog2.o -lm32 -lc32 Image data must be in CHIP RAM.( +cdh for Manx is the sy way out.)
?include "functions.h" include "intuition intuition,h" ?include "rr.ath.h" defines ' MyText(*Rast?ort, Xposition, Yposition, char *buffer) « ?define MyText r,x,y,b) Move( r ,(x ,(y)); Text((r),(b),strlen(b)) ?define INTUITIQN_REV 33L ? Define GRA?HICS_REV 33L ?define depth 3 ?define MAX COLORS 6 * to DEPTH * Globals 1 - AMIGA Computer AND 1 - SaxMan Accounting System or 1 - Billing & Disbursements System and YOU RE IN BUSINESS*’ SaxMan Systems has taken the best data base available for the AMIGA(tm)-SUPERBASE PROFESSIONAL(tm) from Precision Software, Ltd.-and created two very powerful and
easy to use accounting systems.
Billing & Disbursements(tm), designed for the small business, processes cash and credit sales, prims invoices and statements, and ages accounts receivable. It tracks cash disbursements, prints a check register and reports on general ledger accounts sorted by category.
List Price ..- $ 049.95 SaxMan Accounting System(tm) is a completely integrated, multi-divisional accounting system with General Ledger as its hub. It handles Accounts Receivable, Accounts Payable, Payroll. Job Cost Analysis, Inventory Control, and a revolutionary new approach to payroll tax tablesl Many easy to use features allow you to follow all data from source to final reporting in the General Ledger.
List Price ._.... $ 499.95 Call: SALMAN SYSTEMS ,400 Walnut St., Suite 403 Redwood City, CA 94063 struct intuitionBase * IntuitionBase»QL; struct GfxBase *Gfx3ase=0L;
(415) 368-6499 Circle 103 on Reader Service card.
Struct Window *nain_wind-QL; struct Screen *main_scrn*,CL; struct Viewport *view_port-OL; struct NewScreen ns- * use the SO character topaz font for the screen lettering * struct TextAttr topaz8Q_font_attr“ ( (UBYTE M"topaz.font", TQPAZ_EIGHTY, FSJv'QRMAL, FPF ROMFONT }; 0, 0, 640, 200, DEPTH, 0, 1, HIRES, SCREENBEKIND I CUST0MSCREEN, 51 opa z80_font_att r, (UBYTE *}" Dinsdalo's Screen NULL, HULL }; struct HevrWindow m_nw» 50, 20, 300, 120,
- Is MENUPICK I GADGETU? I GADGE7DCWN RAWKEY ! CLOSEWINDOW |
HOUSEKQVE MOUSEBUTTONS I NEWSIZE, 3MART_REFRESH | ACTIVATE
WINDOWSIZING | WINDOWCLOSE I WINDOWDE?TH ! WINDOWDRAG I
REPOATMOUSE, NULL, NULL, (U3YTE 'I" Main Window ", NULL, NULL,
100, 50, 640, 200, CUS7GM5CREEN }; * data declarations which
are new £or 2 * U3YTE msglp01-!“Some say that Heaven is
Hell"!; U3YTE msg2[TO]=("Sorae say that Hell is Heaven"); UBYTE
msg3["0i-t“St;rae say Ka Ha Ha"); 'text wind»0L; struct Window
* LeftEdge, TopEdge * * Width, Height ¦ !* Depth,
DetailPen, BlockPen * « ViewModes ¦ * Type * * Font * *
DefauitTitle * (• Gadgets, CustoizBitMap *7 * LeftEdge,
TopEdge * * Width, Height * ¦ DetailPen, BlcckPen (default)
I I * IDCMPFlags *t * Flags * - FirstGadget, CheckMark
* Title * ¦ Screen, BitMap *1 • MinWidth, Mir.Height • *
Maxwidth, MaxHeight • ’ Type ¦!
Struct NewWindow txt nw= 250, 50, * LeftEdge, TopEdge * 250, 100, ;* width, Height •
- 1, -1* * DetailPen, BlockPen (default MENUPICK I GADGETUP I
GADGETD0W1J | RAWKEY 1 CLOSEWINDOW | MOUSEMOVE 1
MOUSEBUTTONS 1 NEWSIZE, J* IDCMPFlags ' SMART_REFRESH I
ACTIVATE 1 WINDOWSIZING I WINDOWCLOSE 1 WINDOWDE?TH |
WINDOWDRAG 1 REPORTMOUSE, * Flags * NULL, NULL, *
FirstGadget, CheckMark * (UBYTE •)" Text window ", - Title •
NULL, NULL, * Screen, BitMap * 100, 50, * MinWidth,
MinHeight * 640, 200, t* Maxwidth, MaxKeight * CUSTOMSCREEN
}; » Type * ¦ rain ner.u segment * struct intuiText
main_itxt“( (0,1, JAM1, 3, 1, NULL, (UBYTE
* )"0pen Text Window''}, (0,1, JAM1,3,1, NULL, UBYTE
* )"Close Text Window"}, (0,1,JAM1,3,1,NULL,(UBYTE
* } "Odds ar.d Ends"}, 0,1,JAM1,3,1,NULL,(UBYTE ")"Flash
Screen"}, (0,1,JAM!,3,1,NULL,(UBYTE ¦}"Screen to Back"},
• }"-Quit-"},}; struct MenuIten ir.ain_mi [} = ( brcain r-i [1
], 0, 0,144,10, 11TEMTEXT 1 ITEMSNABLED 1 HIGHCOMP),
NULL,(APIR)&roain_icxt, fNULL,NULL}, (fimain r.i ,
0,10,144,10, (ITEMTEXT 1 ITEMENABLED 1 KIGHCOMP), NULL,
(APTR)srr.ain_itxt[1), .NULL,NULL), (imain ni(5],0,20,144,10,
(ITEMTEXT 1 ITEMENABLED I HIGHCOMP), NULL,(APTR)£nain_itxt
,NULL,NULL,inain ni}, (&mainj!Li, 120, 0,130,10,
(ITEMTEXT | ITEMENABLED I HIGHCOMP), NULL,
(APTR)fimain_itxt,NULL, NULL}, NULL, 120, 10, 130,10,
ITEMTEXT I ITEMENABLED ] HIGHCOMP),
NULL,(APTR)fimain itxt[A],NULL,NULL}, NULL,0,30,144,10,
(ITEMTEXT | I7EMENA3LED I HIGHCOMP), NULL,
(APTR)£main_itxt,NULL,NULL}, }; (ITEMTEXT I ITEMENABLED |
HIGHCOMP I COMMSEQ I CHECKIT 1 MENUTOGGLE), 0x5, (APTR)
fitext_itxc[73, NULL, 1 B ' NULL),
(£text_rai[93,0,20,(75+CHECKWIDTK+CQMMWJDTH),10, (ITEMTEXT i
ITEMENABLED ! HIGHCOMP j COMMSEQ I CHECKIT ! MENUTOGGLE), 0x3,
(APTR)&text_itxt[6i,NULL, '9', NULL}, [NULL,10,30,48,20, (
ITEMENABLED I HIGHBOX ),
NULL,(APTR)Smenu_inage,NULL,NULL,NULL},}; struct Menu main_menu
= NULL 0,0,72,0,MENUENASLED, % £main_mi }; * text_wind
segment * struct Menu text_menu[3 £ text
jnenu,0,0,4B,0,MENUENABLED, "Draw ",£text_mi(0}},
fitext mer.u , 50, 0 56, 0, MENUENA3LED, "Erase
",£text_mi}, (NULL,110,0,56,0,MENUENABLED "Color
",fitext_ml[63}.}; USHORT ittage_aat a [ 3 = * 46 wide by 20
high by 1 plane deep ¦ + plain number 0 * OxBffO 0x0000,
0x0000, 0x601f, Oxf000, 0x0000, 0x2800, OxifOO, 0x0000, 0x0730,
OxOleO, 0x0000, 0x007e, 0x003f, 0x0000, 0x0003, OxelcO, OxfeOO,
0x0000, 0x3700, 0x03e“, 0x007f, CxdcOO, 0x003e, OxOCcO, 0x3001,
0x0002, OxOOcO, 0x6007, 0x0002, 0x0078, 0x701d, 0xc002, OxOOcf,
Oxfc2B, 0x3fe2, OxOOcO, 0x3ff8, 0x0006, 0x0076, 0x0020, 0x0004,
0xQQ3f, OxffeO, 0x0004, 0x0060, 0x0040, 0x0004, 0x0070, OxOOcO,
0x0034, OxOOOf, Oxffff, 0x83ec, OxOOOO, 0x0000, 0xfc7f, 0x0000,
0x0000, 0x0000 }r * done with data declarations, new for 2 *1
USHORT sys color table[MAX_COLORS]» Cxabc, 0x130, OxfOO,
OxaaO, OxbfO, 0x54f, OxbOe 0x3aai; VOID cpen_ail(),
damp_mop(), handie_nain_messages 0 setup_main_wind (),
band1ejrain_mousebuttons(), handlejnainwnewsize(); * new for 2
* VOID handle text_:r.essages (), handiestext_menu (),
close_text _window() ,* *--start of main ()-* * this
function altered for 2 * nain () LONG mainjwaitjbit,
wait_mask cexr_wait_blz • - new for 2 * ; struct Image
r.er.u_image = 0,0 43, 20, 1 ii7.ace_data, 0x2 0x0, NULL }
IntuiText text_itxt¦ struct 10,1, 0,1,
• 0,1, 0,1, 0,1 0,1, 10,1, 2,1, 3,1,
* )"Message l,r}.
* )"Message 2”}, 3"), 1"), 2"), 3 " ,
* )"Color 2"},
* }"Color 3"},}; ")"Message
* }"Message 1"), JAMl,2,1,NULL, (UBYTE JAM1,2,1,NULL (UBYTE
JAM!,2,1,NULL (UBYTE JAMl,2,1,NULL,(UBYTE JAMl ,2,1, NULL,
(UBYTE JAMl,2,1,NULL,(UBYTE JAMl,2+CKECKWIDTK,1,NULL,(UBYTE
JAMl,2+CH5CKWIDTH,1,NULL,(U3YTE JAMl,2+CH5CKWIDTH 1,NULL,
UBYTE f* - open Intuition and Graphics libs V open_aii ();
if ( (mair._scrn = (struct Screen *}OpenScreen(£ns)) == NULL )
danp_mop(); m_nw.Screen=mai n_scrn; if ( (r.air.jwind = (struct
Window «)OpenWindow(£s_nw)} == NULL) damp jt op(); * Draw *
struct MenuIten text_mi )= Stext_mi 13,0,0,(90+CQMMWIDTH)
,10, (ITEMTEXT t ITEMENABLED I HIGHCOMP | COMMSEQ),
NULL,(APTR)&text_itxt,NULL,' i ' }, |fitext_mi 2),0,10,
(90+CQHHWIDTK),10, (ITEMTEXT [ ITEMENABLED I HIGHCOMP I
NULL,O,20,(90+CQMMWIDTK),10, (ITEMTEXT [ ITEMENABLED I HIGH
COM? I COMMSEQ}, NULL (APTR)&text_itxt 2],NULL • 3'}, * Erase
* fitext_mi,0,0,(90+CQMKWIDTHl 10, (ITEMTEXT ] ITEMENABLED
I HIGHCOMP I COMMSEQ), NULL (APTR)itext itxt,NULL,1 41}
&text_mi [51,0,10, (9G-C0MMWID7H) ,10, (ITEMTEXT ! ITEMENABLED
I HIGHCOMP I NULL, (APTR)4text_itxt,NULL, *5'}, NULL,0,20,
(90+CCMMWID TH),10, (ITEMTEXT j ITEMENABLED I H1GHCCM? I
NULL,(APTR)fitext_itxt,MULL,' 6f}, * Drawing color *f
COMMSEQ) , COMMSEQ), * stuff that is new for 2 *
SetMenuStript main_wind, £main_menu ); txt_nw,Screen*main_scrn;
if ( (text_wind = (struct ’Window *) QpenWindow(£txt_r.w)) ==
NULL) darap_nop (); SetMenuStrip ( text_wind, te:-:t_~enu ) ;
* end of new for 2 * * set screen colors to our choices *
viewport = ViewPortAccress (main_wlnd) ,- LoadRG34 [view_pcrt,
sys_color_tabie, MAX_COLORS) ,* ScreenToErent(main_scrn); * do
some drawing * setup_main_wind 0 ,* fitextjni  , o, 0,
(75+CHECKWIDTH+COMMWIDTK) ,10, (ITEMTEXT I ITEMENABLED 1
HIGHCOMP I COMMSEQ I CHECKED I CHECKIT MENUTOGGLE) 0x6,
(APTR)fitext itxt,NULL,* 71,NULL), [£text_ni  0,10,
(75+CHECXWIDTK+C0i&!WIDTH) ,10, * - set up IDCM? Read loop.
This loop altered for 2 - * ROREVER * also known as for(;;)
* main_wait_bit ° l«main_wind- TJser?ort- mp_SigBit; I* get
main wind's * * signal bit * if text_wind text_wait_bit
¦ l text_wind- User?ort- mp_SigBit; ¦ get text_wind's* else
i* signal bit * text_wait_bit * OL; wair_nask = Wait (
rr.ain_wait_bit I text_wait_bit ); f* go to sleep til user does
something • if (wait_nask & main_wait_bit) * true if
aair._wind woke up *1 handle_raain_messages () ; if (waitjnask
& text_vait_bit) * true if main wind woke up
* har.dle_text_messages (); I ) * end of main() * 1*- opens
Intuition and Graphics libs -•t VOID open_all() (
Intuition3ase= (struct IntuitionBase
'JOpenLibrarydntuition.library", IN?UIT10N_REV); if
(IntuitlonBase==NULL) damp_mop(); CANVAS For the Amiga This Is
a three disk collection of 13 animation demos and 5 pictures
that you can load Into your favorite animation editor, such as
ill. This collection of animations was developed In the style of
traditional animation. One meg.
Of memory is suggested as these animations run at !5fps and range from 60 to 120 frames long.
Price. $ 30.00 (*$ 2 00 shipping) LUNAR Construction Disks Create your own fantastic scenes of lunar landscapes, tumbling asteriods, and sparkling stars on the Amiga with these high quality, full color images This 2 disk set contains over 100 pictures, brushes, and anim brushes -- your only !ImttaMonwlII be your Imagination, _Price $ 25.00 (*32.00 shipping)_ GfxBase= (struct GfxBase * I OpenLibrary ("graphics. Library", GRAPHICS_REV) ; if |GfxBase==NULL) damp_mop(); To order CANVAS or LUNAR Construction disk, please send a cneck or money order to: Silver Fox Software
P. O. Box 551 413 Dallas, Tx, 75355-1413 Call (214) 349-I6GI for
InformaMon and Dealer Inquiries *“ closes windows, screen,
Graphics, Intuition -* * this function altered for 2 *
VOID dampjsopO i struct IntuiMessage *mes; if ( main_wind ) I
* Drain the IDCM?. Actually, this isn't really required as
this memory will be reclaimed, but I sleep better if I do it
* while( mes=(struct IntuiMessage ¦)GetMsg(
main_wind- User?ort ) ) ReplyMsc( mes ); ClearMenuStrip(
main_wind I; * - new for 2 * CloseWindow( main_wind }; ) if
( text_wind ) close_text_window () * - new for 2 * if (
mainscrn ) CloseScreen( main_scrn ); if I GfxBase )
CioseLibrary ( GfxBase 1; if ( IntuitionBase ) ClcseLibrary
Intuitior.Base ); exit (FALSE); VOID setup_nain_wind() *
draws x, y axis and a sine wave • I struct RastPort *rast -
main_wind- RPort; double x, y; ¦ Draw x, y axis. First set
the pen color to pen 4. The origin will be at point 20, 50,
the max swing will be + - 35 pixels, and the length will be
200 pixels * SetAPen( rast, 4); Move I rast, 20, 15); Drawl
rast, 20, 85); Move rast, 20, 50); Draw( rast, 220, 50); *
Mow for the sine wave. Move to the origin, and to see it more
clearly, change to pen 5 * Move( rast, 20, 50); SetAPen(
rast, 5); for( x=l.Q; x 200.0; x=x+1.0) Circle 105 on Reader
I y - -1.0 * (35.0 * sin x 10.0 )); * Offset y so it steadies the x axis • y » y + 50.0; * Plot line segment. Note the x offset. Cast is important! * Drawl rast, (SHORT)x+20, (SHORT)y }; ¦ * Print the mouse position titles (X, Y) next to where the values will appear * SetAPen! Rast, 6); MyText( rast, 20, 100, "X"); MyText | rast, 60, 100, "n ; VOID update_coords( x, y ) * prints the mouse x y position ¦ SHORT x,y; UBYTE buf[5J; struct RastPort ¦‘rast = main wind- APort; sprintfl buf, ”%4d", x); MyText( rast, 30, 100, buf); sprintfl buf, “%4d", y); MyText I rast, 90, 100, buf); *
dummy handlers, to be used in the future, follow • VOID handle_main_mousebuttons( code ) USHORT code; ( code - itemAddress! £main_menu, code - NextSelect; ) * end of whilef code != MENUNULL ) - VOID hanaie_main_rawkey( code, qualifier } USHORT code, qualifier; VOID handle_nain_ga.. getdown ( address ) APTR address; • VOID handle_inain _gadgetup( address ) APTR address; ) * this function new for 2 V VOID handle_text_x.enu ( code ) USHORT code; ( struct RastPort *rp = text_wind- R?ort; static USHORT pen = 1; while I code!-MENUNULL ) i switch(MENUNUM! Code )) case 0: SerAPen( rp, pen
); switch(ITEKNUM( code )) I* this function altered for 2 *t VOID handle_riain_newsire ( window_ptr ) struct Window *windov_ptr; setup_main_vind(); ] * Draw * ( case 0; MyText( rp, 10, 20, msgl In!• this function new for 2 ¦ VOID close_text_window() struct IntuiMessage *mes; while! Mes c (struct IntuiMessage *)GetMsg( text_wind- UserPort ) ) ReplyMsg mes ); ClearMenuStrip( text_wind ); CloseWindow text_wind J; te :t_wind = OL; ) case i: MyText( rp, 10, 30, rasg2 ); break; case 2: MyToxt( rp, 10, 40, msg3 ); break; case 1: SetA?en( rp, 0 ); switch(I7EMNUK( code )) * Erase * 1 ¦
this function altered for 2. It used to be a dummy handier * VOID handle_mai.n_r.enu ( code } USHORT code; while ( ccdeJ =MENUNULL ) f switch(MENUNUMI code }) I case 0: i* Project •!
Switch(ITEMNUMt code )) case 0: MyText( rp, 10, 20, nsgl ); break,- case 1; MyText ( rp, 10, 30, nsg2 ); break; case 2: MyTextf rp, 10, 0, nsg3 ); ¦ ase 0: • open text window * * already open! * DispiayBeep! Main_scrn ); break; case 2; * swit ch(ITEMNUM! Code )) t case 0: pen - 1; break; else ( txt_nw.Screen ** nain_scrn; if ( (text_wind = (struct window
* ¦= NULL) break; SetMenuStrip ( text_wir.d, text_menu );
break; case lr * close text window *1 if( text_wlnd ) * don't
try to close if !exist * close text window Q; * open it *1
case 1: pen a 2; break; case 2: pen - 3; break; case 3: break;
* this is our 'do nothing' ima ge choice * case 2:
switch(SUBSUM( code )) * odds and ends * case 0: * flash
DispiayBeep( main_scrn ); break; case i: * screen to back * ScreenToEack( nain_scrn ); break; default: break; } ¦ end of switch(MENUMUM( cede )) *S code “ ItemAddress! Text_menu, code J- NextSelect; i * end of while! Code != MENUNULL ) * oreax; case 3: damp_nop(); break; * qu i t * !
IDCMP routine } ' end of switch(ITEMNUM( code )l *1 break; default: break; VOID handle main messages!)
struct IntuiMessage ’message,- SHORT mx, my; static SHORT mouse noved; ) * end of switch(MENUMUM( code )) * COM M PUTERS ft etc!
(813) 377-1121 Technical Support
(813) 378-2394 mouse_moved = FALSE; * As lone as we have
messages in the cue, make local copies of appropriate data,
reply, and then process accordingly * while(
message*(struct IntuiKessage ")GetMsg( main_wind- UserPort
) ( ULONG class = message- Class; USHORT code =
message- Coce; USHORT qualifier = message- Qualifier; APTR
address = nessace“ IAddress; struct window *window_ptr =
r.essage- IDCMPWindow; rrx a messace- MouseX; * Declared
above. Must be local to entire func * my a
message" MouseY; * if we use the mouse move collection
technique * SAVE ON AMIGA HARDWARE, SOFTWARE, AND
AS oo 20 MB Hard Drive 40 MB Quantum HD 80 MB Quantum HD 2 MB RAM Card for HD (populated) 512K RAM Expansion A20Q0 40 MB Quantum HD 80 MB Quantum HD 8 MB RAM Card w 2 MB onboard Supra 2400 Baud Modem w cable
129. 00 0 LXJ CL- V) ?c 0_ ID 00 1 e =0 CO o az D a ReplyMsgt
message ); switch( class ) case KOUSEKOVE; mouse_moved *
TRUE; * update_coords( mx, my ); time' updates * break; '
• -uncomment this for 'real case KOUSEBUTTQNS:
har.dle_main_mousebuttons ( code ); break; case CLOSEWIHDOW:
damp_nopI); break; case RAWKEY: handle_main_rawkey( code,
qualifier ); break; case MENUPICK: handle_main_menu( code };
break; case GADGETDOWN: handle_main_gadgetdown( address );
break; case GADGETUP: handle_main_jgadgetup address );
break; case NEWSIZE: handle_main_newsize( window_ptr );
break; * we could add other choices here as well *
Bridgeboard Speaker (Easy to Install, adds sound to
A500 Replacement Power Supplies HDL-150 (150 Walt) 99.OO HDL-150DL (150 Watt, 3 A C outlets) 129.00 Callfor More Information Call for our Free 48 PageCatalog!
19. 95 Clrclo 113 on Reader Service card.
Switch( class ) case M0USEM0VE: mouse_moved » TRUE?
Break; case MOUSEBUTTONS; break; case CLOSEWIHDOW: close_text_window(); return; break; case RAWKEY: break; case MENUPICK: handle_text_menu( code ); break; case GADGETD0WN: break; case GADGETUP: break; f* end of while(message) ¦ if nouse_moved } update_cocrds( mx, my ); J * end of handle_main_messages() * • this function new for 2 * VOID handle_text messages*) struct IntuiMessage *message; SHORT mx, my; static SHORT mouse_moved; mouse_moved = FALSE; * As long as we have messages in the que, make local copies of appropriate data, reply, and then process accordingly * while(
message*(struct IntuiMessage *)GetMsg( text_wind- UserPort ) ) case NEWS ICE: break; * we could add other choices here as well I* end of while(message..) V t_messages() * ( ULONG class * message~ Class; USHORT code = message- Code; USHORT qualifier ** message- Qualifier; APTR address * message-MAddress; struct Window 'window ptr = message- IDCM?Kindow; I I* end of handle rax - message- MouseX; func * my ¦ message- MouseY; technique * ReplyNsg( message ); * Declared above. Must be local to entire * if we use the mouse move collection Dat's all folks.
• AC* (continuedfrom page 49) Full Metal Planet a secret space
mission and you are one of tile best pilots in the galaxy.
Gamers are challenged to collect as much ore as possible, one of the planet’s most desired natural resources. Fighting for dieir lives, game players mu.sr capture all die ore taken by rival companies on die planes and return home.
Available in die Fall. 549.95, Inquiry 282 Data East USA, Inc. 1850 Little Orchard Street San Jose, GV 95125
(408) 286-7074 PAX (408) 286-2071 Electronic Arts The creators of
Populous now bring Potvermonger, a game set in the Future
where you are die leader of a tribe who arrives on
uncharted worlds and lias a host of choices to make. Do you
negotiate, batde, or join forces with the various leaders
you meet, each with his own traits. 549.95. Inquiry 283
Electronic Arts & subsidiaries California Dreams Add 51
reel Rod to the ever-growing list of driving games for die
Amiga. Set in the 50's, you have the summer to win races
and buy better hot rods to take on the king of the streets
and win. A data disk with more cars and parts will also be
available. 539.95. Inquiry 284 Fans of Tetris-style games
will enjoy playing Blackout. Which is based on die 60’s
children's toy die SOMA cube. You rotate different 3-D
blocks down a pit for fill an entire level.
Slowly but surely die levels rise on your as you fail to fill diem. S39-95. Inquiry- 285 Tunnels of 'Armageddon: you go racing dirough a network of underground tunnels in search of a doomsday device that threatens all mankind. Disarm it and mankind will lie granted interstellar travel. 539.95. Inquiry- 286 ir ngs puts you in die cockpit of a WWI fighter as a rookie pilot who just joined an elite squadron, The game spans WWI and includes all of dre fighters of WWI. Over 2,000 missions available. August for $ 49.95- Inquiry 287 Brainblaster, a set of two games in one.
Xenon 2 and Bombuzal are both fast-paced arcade action games. 539.95. Inquiry 288 First Byte SpeU-A-Saurus, is a highly graphic- and sound-oriented game that teaches kids to read while having a good time at it, It includes four word games, AslroDrive, Zttg Escape!, Ptera- Ptutor, andSpell-A-Saur. 544,95. Inquiry 289 Interstel
D. R-A.G.O.iX. Force lead an elite strike force of 14 soldiers on
anti-terrorist attacks around the world. You get to blow up
cocaine labs and rescue hostages. 549-95- Inquiry 290
LucasFilms Games You play a wet-behind-the-ears would- be
pirate who wants to be a dashing buccaneer in The Secret of
Monkey Island. A comic game diat doesn't take the subject too
seriously, complete with 3-D graphics and reggae music.
Available late this fall for 559-95- Inquiry 291 The unofficial sequel to Their Finest Hour, Secret Weapons of the Luftwaffe is set near die end of the war, when Germany was experimenting with jet engine fighters. The player can choose from training missions or tours of duty (25 in all), and nine different American aircraft, fighters and bombers. Due out later in the year. 559.95. Inquiry 292 Miles Computing Become an underwater Rambo with Aquanaut. Your mission is to stop an underwater alien attack force and free a capdve city.
S3995. Inquiry 293 New World Computing For diose who don't take nuclear destmc- tion seriously, Nuclear War is for you. This comical ucdon strategy game is based on the popular card game has the serious aspect of fending off nuclear attack mixed with oddities like Catdetech and 16-Ton Weights, $ 49.95 Inquiry 294 Might and Magic II now it comes to the Amiga, complete with 3-D graphics, automapping and a level of play like you've never seen.
559-95 Inquiry 295 Ocean F2) Retaliator gives you the chance to fly die hot rod fighter with the forward-swept wings. The 99 different scenes allow dogfights, ground strikes, attacking sea-going targets, and more. Due in August. S49-95- Inquiry- 296 Horror fans are in for a treat, Clive Barker'sNightbreed.You play Boone, die hero of the story, running from accusations of murder and into a city- of shapeshifters. August. 549.95 Inquiry 297 Billy Hje Kid: one or two players can enjoy this wild west game and assume the role of Billy or die sheriff, Pat Garrett. Historically accurate widi
over a half hour of MIDI music.
Due later [his year. S49.95. Inquiry 298 If you liked Carrier Command, then you should be all read)' for Battle Command.
Created by CC's designers, die game is a futuristic armored tank battie simulator.
August.549.95. Inquiry 299 The Untouchables puts you in Eliot Ness' shoes to take on the Mob, reliving all of the legendary batdes Ness and his men had with Capone’s hoods. Juiy.S39.95. Inquiry 300 lost Patrol places you as the commander of a crew of helicopter pilots who are shot down over die Killing Fields and try to gel out alive. August. 549-95. Inquiry 301 SSI The DragonLance series comes to die Amiga one again, diis time in the form of DragonStrike. You play a Sokmmic Knight of Krynn with a dragon steed. You fly with other good dragons into combat against other dragons, wyverns,
ships, archers, and flying citadels.
Due this fail 549-95 Inquiry- 302 UBI Soft In the game Unreal, a bizarre twist occurs when die hero of the story befriends a dragon to save a helpless maiden. Due in August for 549.95 Inquiry 303 In RA. T.. you play a special agent looking for corporate leaders who have been banished from Earth and now want to destroy it with bacterial weapons.Due in early summer. 549-95.
Inquiry 304 Electronics Arts 1820 Gateway Dr, San Mateo, GA 94404
(415) 571-7171 FAX (415) 571-7995 InnerPrise Software, Inc. World
OfTurrican, will feature 13 levels with 1,300 screens,
hidden rooms, multi-directional parallax scrolling, and
diirly different sound effects. $ 39.95 Inquiry 305 The
Plague, you chase after a lab experiment gone hog wild.
Widi forty-two colors and large-sized sprites, expect a
screen full of colors and sights, $ 39.95 Inquiry 306
Globutous mixes arcade action with adventure-style puzzles.
25 different screens and a 3-D isometric background, and
there is a unique “flip screen" feature that inverts the
screen during play, $ 29,95 Inquiry 307 InnerPrise
Software, Inc. 128 Cockeys ville Road Hunt Valley, Md 21030
(301) 785-2266 Mindscape, Inc.* A Software Toolworks Company.
Loopz™ is very simple in it's concept and very addicdve in it’s play. The challenge is to take pieces of different sizes and shapes presented randomly and put diem together to form loops. You can move the pieces and rotate diem, if you complete a loop, it disappears and you score points. The more complex the loop, the more points. $ 49.95. Inquiry 308 Days Of Thunder, features the challenge of eight different races on seven different race tracks. Players will be able to choose a car, then customize it for maximum speed and handling on the course. A variety of perspectives, including
first-person from behind die wheel, dynamic 3-D driving action and digitized sound give Days Of Thunder an intense realism in a race against die clock. Available by Summer's end. Price unavailable. Inquiry 309 Mindscsape Inc. 3444 Dundee Road Northbrook, II. 60062
(708) 480-7667 Spectrum HoloByte Alexey Pajitnov, the Russian
author of Tetris, comes back with a follow-up to his
higltiy successful (and addictive) game, called WetUris.
The game is similar to Tetris, except diat die blocks now
drop siraightdown, making the game 3-D. 534.95. Inquiry
310 Alexey has another game out called Faces (Tris III).
Pieces of a person's face take the place of blocks. Your
goal is to make die face properly as pieces drop. Familiar
faces like Gorbachev and Margaret Thatcher come piece by
piece. Facial parts are interchangable. Due Soon. 539.95
Inquiry 311 Flight of the Intruder, is now out as a movie
and a game. You ft)1 eitiier an A-6 Intruder or F-4 Phantom
over Vietnam in raids on SAM sights, ammo dumps and more.
Available late this year for $ 59.95 Inquiry' 312 Spectrum
HoloByte 2061 Challenger Drive Alameda, GV 94501
(415) 522-0107 (continued on page 95) the by Rich Fcilconburg NP
OT LONG AFTER I PURCHASED MY FIRST Amiga I began
experimenting with serial port communication. Having
spent several years working with multiuser systems that use
simple alphanumeric terminals as the common I O device, I
was naturally very interested in seeing how the Amiga
would perform with a similar configuration. I knew it was
capable. I spent some time learning the intricacies of die
CLI and discovered that it -was possible, in theory at
least, to use redirection to create a CLI connection via
die SER; device. As many of you may know-, this -was an
exercise in futility', a process I’ve become something of
an expert on. You see, the serial port very generously
provides you with a buffer whose size may be changed via
the Preferences utility. This helps compensate for the slow
output devices diat are generally connected to a serial
port, For output, diis is beneficial in that it frees up
the command line, if you did not run the program in the
background, and returns die system prompt to you more
quickly. This buffer also works die other way. If you send
data to the computer via die serial port it w'ill store the
information in die buffer until the number of bytes reaches
the amount specified by Preferences. The buffer is dien
sent on to the process expecting the input, emptying the
For proper operation with a terminal, the buffer size would need to be zero, or no buffer at all.
However, zero bytes is NOT an option for the serial port, I was able to make it w'ork marginally.
Pressing the RETURN key 500 times is not exacdy productive. Undaunted, I continued to pemse die available literature, determined to find a way around this limitation even if it meant that 1 might have to write a special program to achieve my goal. Much to my chagrin I discovered this “feature” was built into the serial device, meaning that even programming my way around it w'ould be no cake walk. The ROM Kernel Manual states that tiie minimum buffer length for the serial port connection is 512 bytes, period. How mddl Having only just begun working with the C programming language, I was not
yet ready to tackle the chore of writing a device handler. As a result, my project was tabled for several months and I went on to odier things.
Then several months later w'hile scanning the latest list of new' programs on my local BBS I came across something that caught my eye. An AUX: handler for using character-oriented devices through die serial port. Eureka'. I immediately downloaded it and dusted off my terminal and began testing it. It may come as a surprise to some of you, but the AUX; device handler as provided by Commodore is relatively new'. They didn't invent die idea, or at least they were not the first to provide it. Steve Drew' distributed his AUX: handler long before Workbench 1.3 hit the streets. He has recently
upgraded it and included some very nice additions to the package.
For those of you who decided to abandon Steve’s version in favor of the one shipped by Commodore, I would say. “Take another look." Among other tilings, his handler has always been more cooperative in allowing you to close the AUX:CLI from another CU.
This version now' includes an AniigaShell-compatible startup script and several support programs. These include: reqoff: A utility for preventing requestors from popping up from tilings such as specifying an unmounted volume, effectively locking you out of the system. No problem if you are using it locally but a real pain if you are using a modem. This utility is unique compared to other similar programs in that it only cancels requestors caused by the process from which it is executed.
Passw ord: A password-locking facility that will prevent unauthorized access to your .Amiga. It allows you to specify the valid password required as a parameter. It does not prompt or echo to the terminal.
Eniacs: This is version 3.9 of the very capable MicroEMACS editor.
Steve has made the necessary changes required to make it work through the AUX:port with any ANSI standard (VT 100-compatible) terminal. Only the executable and an .emacsrc file are supplied.
Az: This program takes advantage of the XPRZmodem.library to provide a means of downloading w’hile using the AUX: port. The library file is not included.
Version 1.1 of Steve’s AUX handler provides the following additional features: Control R key support: This will re-displav the current line as it is entered into the computer. Handy if you have a terminal that insists on being dyslexic about the Backspace and Delete keys or other keys that mat' inadvertently cause the command line to loose its place.
Improved type-ahead: Lines entered while information is being displayed to die screen will not interrupt the output as is die norm for a CLI. VMS users will find both this and the CTRL-R key very comfortable. Also, a tone will sound to alert you that the type-ahead buffer is full. Xon and Xoff (Control S and Control Q) are supported, making remote use very natural and eliminating some of the hazards of the usual method for pausing display output as provided by the console interface.
The handler will also prevent you from invoking multiple AUX: sessions and will allow' you to kill off the AUX CLI with a simple 1 ECHO AUX:ENDCLI If anything other titan the password program described above is running on the AUX: port, die CLI will not be killed. You may send a line of text to the AUX: session including die output of other commands (handy for sending system messages to a user), but it seems that the only command interpreted by die shell via die AUX handler is the one shown above.
Installing this handler is relatively painless. A new' Mountlist entry is provided and instructions for using the new handler are easy to follow'. A command script is included which creates several aliases and protects the shell with the password program. It is a simple matter to create your own procedure to call a different shell.
I’ll give some examples later. I've been using this handler for some time now' and find it to be very reliable. It w'orks w'ell with programs that use the standard COX: device for input and output. I especially appreciate the Inclusion of the modified EMACS editor which now' makes the AUX: port extremely useful. A word of caution: not all shells are created equally and some may not work properly through the AUX: port. Occasionally I’ve had lockups and GURUs occur which seem to have been related to the shell AUX combination.
One problem I encountered widt the Commodore AUX: handler is its handling of line terminators. I guess Commodore didn't think that anyone would want to use character-oriented programs that assume standard ANSI control codes, such as Carriage Return line Feed, which w'ould be used to terminate a line. (Steve's handler makes no su ch assu mption.) As a result, the ou tput of some commands and programs will not format properly with the Commodore AUX: handler. Most notable of these is die Sksh shell discussed last issue. Line Feeds are received but, without the carriage return, every line crowds
the last character position on the display. On die odier hand, Sksh is a natural combinadon with Steve Drew’s AUX: handler. The two programs complement each odier very nicely. Let’s examine this a little closer.
First I should mention that Version 1.4 of the Sksh shell is now' available and includes some important changes. Here's a quick summary: Added: case esac statement: A multiple lest construct, complist command: An enhancement to the file name completion mechanism.
Resident support: Uses the ARP resident standard.
ATInySKsh: A shell without editing, a history buffer, and several of die built-in commands.
SIZE: A variable for differentiating between a Tiny or normal shell.
LLMIN: A variable that sets minimum length of lines to be added to the history buffer.
MAXDIST: Used to set the maximum distance to search dow'n in the history buffer for a line identical to the one being entered.
If one is found, die duplicate line will not be added to the history buffer.
ROOT: A very helpful variable that allow'S you to specify the Root volume which will then be referenced by the single slash (“ ’’) (Unix style root).
LASTRC: A variable diat will contain die return code from the last external command.
New external commands: grep and fgrep: Text-searching commands widi options, view: An extended “file" command.
Tee: A very useful piping command that allows for rapping the data stream between tw'o piped commands, du: Command diat will display your disk usage diat is, how' many bytes are being used and where, crc: Command that will calculate codes based on the file data which can be checked after transfer. Handy for noisy communication links, srun: Another “run in the background" command with a twist: it accepts an input file, an output file, stack and priority arguments, and parameters to be passed to the program being run.
CHANGES The cp command is now' an external command and has some added capabilities.
(continued on page 78) THOSE OF YOU WHO MISSED LAST MONTH’S COLUMN may not be up to speed on die current subject diat I am discussing doubly linked lists and queuing. To refresh, a linked list is a mediod of storing informadon (d ata) in su cli a way dial one data item “points” to die item diat logically follows it. A doubly linked list follows the same principle, but has the non hi v linkori add,;d caPabmty of "pointing'' to items
* that occur prior to the current member, lists rc isitc l. This
means that you can traverse a list forwards and backwards.
In the last issue I included code that defined a method of queuing and die associated structures required. In the interest of diose who did not see those structures, here they are again: typedef struct x t struct x "prev; Strutt "next; unsigned short ien; } QITEM; typedef struct I QITEM *bot; QITEM * L op; unsigned long cnt; } QMAIN; The key things to know about a queue are where the first and last elements of the list are located, and how to reach members that occur before and after any particular element. The easiest way to handle these tasks is dirough structures like those that I have
The first structure type is named QITEM, Given any member, you have to be able to find the previous member (prev) as well as the member that occurs next. Since the next and previous pointers point to members of the queue, the structure defines diese pointers as the same type of structure diat we are defining.
An additional item is included in this structure to enable the members to handle variable length items. The “len" represents the amount of memory required by the data but does not include the overhead of the QITEM structure. As evident, if each member maintains its QITEM structure it is possible to reach the items that precede and or follow it by referencing the structure’s next or previous pointers.
QMAIN is a header structure for die queue of items. This structure contains a pointer to the first (top) QITEM and a pointer to the last (bot) QITEM. Additional]}', die queue header contains a counter (cnt) of the number of items contained in die list. Notice that the order of the structure's “top” and “bot" is important. By aligning “bot” in die same position as “prev” in the QITEM structure and "top” widi the “next” position, it is possible to make a complete "circle" through die items.
Widi die structures that we have defined, it is now'possible to write code to handle doubly linked lists. Last month we covered die basic queuing functions diat iniualize and free a queue, add items to and remove items from a queue, and some important positioning functions. This month, I want to introduce a new' function.
The function is named "qcut". This function wall “move” everything in a queue beginning at a designated element into another queue. The code for the function follows: * " CC'JT is used to move the elements from one queue to another * " beginning at the QITEM pointer that was passed. " " The new queue is assumed to be empty. * 1 " * void qcut(CHAIN "src,QITEM ‘member,QMAIN "dest) QITEM *ptr; unsigned long cnt; cnt = 0; " first count the members for(ptr » member; per != (QITEM "Jsrc; per - ptr- next, cnt++); * if no members included * just init the dest * first element is this *
last element is this * this is the count " if (cnt == 0)( ’ qinit Idest); properly" )eise( dest- cop “ member; one * dest- bot *¦ src- bot; one * dest- cnt = cnt; src- bot = member- prev; * adjust bottom of orig queue" src- bot- next ¦* (QITEM ') src; ’ now point to main " * adjust orig queue count src- cnt -= cnt; * member- prev = IQITEM "Ideat; * this guy now point to dest" dest- bot- next = (QITEM ")dest; " the last one too " !
As I have mentioned before, one of the advantages of these types of queues is that vou don’t have to actually move data around once it is stored. The actual ’’sequence” of data is maintained by the pointers in die queue, and where the data actually resides is secondary. To those who missed last month’s column, die elements are stored in memory with a QITEM suucture first, and the data follows. As already stated, once the data is stored, the pointers maintained in the QITEM structure determine the actual queue sequence.
The first thing the function does is determine how many elements are going to be involved. Since the QMAIN structure maintains a count of elements found in the queue, it is necessary7 to know how many are being removed from the source queue and, likewise, how7 many end up in the destination queue. All you have to do to count the pointers is “next” tlirough the pointers until you are pointing at the source queue's header. Since you are comparing a QITEM pointer, you have to cast the queue’s structure as though it were one too.
If you determine that no elements are going to be moved, all that is required is to initialize the destination queue. This is important since the function that calls qcut will probably expect that die destination queue is now7 properly established. Remember, initializing a queue simply involves pointing the top and bot pointers in the QMAIN structure to the QMAIN (it points to itself)- Naturally, the count is also set to zero.
Should the function clecide that elements will be “moved”, then a different path is followed. First, the QMAIN structure for the destination queue has to be established. The top pointer will be set (Command Line, continuedfrom page 76) The backslash Is now used to override the special characters, allowing them to be used in text strings. This is more compatible widr the UnLx method than die double quoting required by SKSH
1. 3- The filename completion mechanism now7 handles wild card
The variable substitution mechanism has been improved and several other bugs have been fixed including a frustrating one in die date command. Also, the code size has been reduced, as have the stack requirements.
CUSTOMIZING A UX The easiest way7 to use the Sksh shell in place of the AmigaSheil is to create a file diat includes the follow'ing: STACK 10000 SKSH This is the minimum you'll need. Add w7hat other embellishments you wish to execute. Just be sure to place them before the SKSH command as this command takes over the CLI. Now7 substitute die following for the NewShell command in the aux- startup script included with the Drew7 AUX: handler NEWCLI From Sksh_AUX-startup where Sksh_AUX-startup is the name of the file created above. I would recommend creating Sksh scripts and using diem to the
member that w7as passed as a parameter. The bot pointer can be taken from the source queue since it has already been established there. And the count is assigned the number of elements that were involved.
Now it is time to adjust die source queue so that its integrity is maintained. The last element of the source queue wiH be die element that occurred prior to the member passed. After establishing the new bottom of the source queue, you can use that pointer to make die last element (which still points to the member being removed) point to the header of the source queue. Once the count of the source queue has been adjusted, the integrity7 of the source queue has been reestablished.
In a similar manner, you have to complete the integrity7 of the destination queue. Although the QMAIN structure has been completed, you still have to adjust the member passed so that its previous pointer references the QMAIN of the destination queue.
Likewise, you also have to make sure the last element’s next (which still points to the source queue’s QMAIN) now references the destination queue’s QMAIN.
After all these things have been completed, and executed, you will have two independent queues that were once one. No data has actually been moved, which means that this type of operation will almost be instantaneous.
Get die code from last month’s column and put this function into operation. If you don’t have die issue, order it elsewhere intiiis issue and give queuing a try. It probably won’t take you long to think up a number of uses for queuing.
• AC* rather than executing commands from eidier of the above
files for setting up y7our environment. The reason should be
obvious, Sksh provides a far more robust command set for
scripts than does the AmigaSheil. One very nice feature about
this shell that I neglected to mention is that die command line
editing is a subset of die EMACS control keys. Even if you have
a terminal that does not support ANSI sequences you will still
be able to use the line-editing features with CONTROL key
combinations. Using it with a number of the supported keys will
provide you vridi complete line editing capabilities, even on a
There is a wmnderful wrorld to explore in remote communications with die Amiga. With the advent of multi-port serial boards it is now7 possible to create a full-fledged multiuser system. There are a few7 important additions diat need to be made to die Amiga's command environment to fully support this kind of operation, such as special use of permission bits to control access, resource tracking facilities, user mail, and more. Most of die software you need can be found on your nearest Bulletin Board System.
Next time I wrill begin a look at ways to connect Amigas together to form a pow'erful operating environment diat allows sharing resources between machines in wrays that would make owmers of diose other computers turn green.
• AC* Send questions or comments to Rich Falconburg, c o Amaz
ing Computing, P.O. Box 869, Fall Riuer, MA 02722-0869. Or send
Email to R.Falconburg on Genie.
(Trees, continuedfrontpage 60) The code inside die inner ‘if statement creates a first-in, first- out list (alias a queue). The queue node is allocated and its node list pointer is set to point to the child list of the node being visited.
Its ‘next’ pointer is set to NULL, allowing the end of die queue to be detected. If die new queue node is not the first one allocated on die level being visited, it is linked in as die ‘next' queue node in die linked list. Otherwise, it is assigned as the top Qnode pointer and becomes the first node in the queue. The new queue node pointer is then saved as the previous queue pointer, so the queue nodes can be linked together. What is actually being built is a list of lists.
The queue nodes are the list header nodes, and the linked lists of sibling nodes are the pointed-to lists. The queue nodes are linked together to build the entire search queue for the next level.
The nodes are actually visited in the innermost ‘while’ loop by simply following the ‘next’ pointers in the list of sibling nodes.
When the end of a sibling list is reached, the innennost ‘while’ loop ends. The outermost ‘while’ loop iterates on die linked list of queue nodes which was sent in to the procedure. The list of nodes attached to each queue node is searched. After the list is searched, the next queue node in the list is accessed, and the queue node that was just used is freed, since it is no longer needed.
This nested iteration, queue node allocation and freeing condnues until the end of the queue is reached. At that time, if a new queue has been constructed, the procedure is recursively called to traverse the nodes for the next level. Odierwise, die procedure returns from die recursion. The traversal is started by forming a queue consisting of only the root node and calling the traversal procedure with the queue pointer as die input argument.
As you can see, breadth-first traversal requires a lot of internal gyrations and housekeeping. So why use it? Actually, I hardly ever use it, but I’ll return to this question after describing how the search is done.
TREE SEARCH Trees are used to store data. Found data has to be stored sooner or later. Trees are also used to model many kinds of problems. ‘Search’ is a general term which describes different methods of finding a particular piece of data, finding a padi from one place to anodier, or finding a solution to a problem represented as a data structure. While there are many different techniques for searching a tree, most of the techniques are modified or enhanced versions of depdi-first traversal or breadth-first traversal. These techniques can be grouped into diree categories, Tiie first category
is searching just to find any satisfactory path. Depth-first search and breadth-first search belong in this category. A second type is searching to find a ‘best’ padi which meets some condition of optimality, such as finding the shortest path from one node to another. A diird type of search is game tree. A game tree search is a specialized type of tree used to (what else !!) Represent games.
Bodi depth-first search and breadth-first search are modifications of the traversal techniques discussed above. If you know'how to traverse a tree, you already know how to search the tree. The difference between traversal and search is that in search, instead of just visiting a node, die node is examined to see if it or its data matches some search criteria. If a match is found, die search ends and a pointer to the found node is returned. If the entire tree is traversed and no node is found, a NULL pointer is returned to indicate that the search had failed.
Depth-first search is one of die simplest search techniques for trees, in pseudo-code, a recursive algorithm for depth-first search of a natural binary tree implemented as a list of lists is: This algorithm is implemented in C as the procedure ‘dfSearchO’ in the demonstration program.
Just like breadth-first traversal, breadth-first search is simple to understand, but it is difficult to implement because the nodes on a level may not all be in the same sibling list. The pseudo-code algorithm for a recursive breadth-first natural binary tree search is: procedure bfSearchl queue while queue is not empty get the first node list from the queue while node list is not empty if node is GOAL, return node else if node~ chiid is not NULL, 396 Washington Street Wellesley, MA 021R1
(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.-Tfiur. 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.
Come see whats Hot for the AMIGA at The Memory Location & procedure dfSearch( node ) while node is not: NULL if node is GOAL, return node else if node- child is not NULL return dfSearch node- chi!d ) else set node to node- next end while end dfSearch The Memory Location Developers!
T. A.S.S. The hypeRexx ToolKit ... is now available!
* Reduce Your Programming Time Up To 90%
* Compact Final Program Size
* Automatically Have:
- ARexx Support
- DynAMIGAlly Configurable Gadgets
- All Standard Requesters
- ANIM Support, Including Hard Drive Assembly and Playback
- Appealing 3D Look SAVE MONTHS OF WORK, with only a minimal
investment Brought to you by: THUT Inc. Mindware
For a Free Demo and Information Kit, call or write: Mindware International 110 Dunlop W Box 22158 Barrie, Ont. Canada L4M 5R3
(705) 737 5998 Circle 120 on Reader Service card.
List Of Advertisers Need more information?
Need help ?
Need to know?
Contact the AC advertisers!
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 interests and needs. Take a moment and contact the companies with products you wantfo 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 38 104 AmiEXPO 81 119 Aurum Software 30 106 Beta Unlimited 44 126 Computability 13 117 Computers
Etc. 73 113 Delta Graphics 42 118 DeskTop Advantage, The 85 110 Grapevine Group Inc., The 8 147 Grass Roots Video Productions 63 108 Great Valley Products 7 123 Hologramophone Research 46 109 Hunter Group, The Oil!
In Impulse, Inc. 5 115 Imtronics CIV 151 Imtronics 25 124 InterComputing, Inc. 11 114 Krueger Company, The 28 116 Memory Location, The 79 107 Memory Location, The 44 186 Michaelangelo Productions 83 128 Mindware International 80 120 MJ Systems 68 149 Montgomery Grant 36 121 Natural Graphics 53 122 One Byte 87 135 Ontological Survey 29 127 Poor Person Software 17 125 Puzzie Factory, The 3 168
S. P.O.C. 44 112 Safe Harbour Software 60 134 Saxman Systems 69
103 Silver Fox Software 71 105 PERSONAL COMPUTER SHOW October
5-7 at The Disneyland Hotel Anaheim, California Sponsored by
Admission includes the Exhibition, Seminars, Keynotes & Amiga
120 Amiga Exhibitors Featuring State of the Art Software and Hardware, at the lowest prices!
Master Classes Available in Amiga Graphics, Video, MultiMedia, Animation, Rendering and Publishing!
Seating for Master Classes is limited; call for schedule and availability before registering.
PRE-REGISTRA TION DEADLINE IS SEPTEMBER 21,1990 (No cancellations or refunds after deadline) For Hotel Reservations Call the Disneyland Hotel at (714) 778-6600 Hotel reservations deadline: September 19,1990 For discounted airfares, call American Airlines at (800) 433-1790 and give them this ID: 12Z 04F Register by Mail using the coupon below or Call 800-32-AMIGA Nationwide (or 9 14-741 -6500) For Your Ticket to The Amiga Event!
N NAME COMPANY ADDRESS CITY Registration is $ 5 Additional At The Door STATE ZIP For __ MasterCard or Expiration Date_ Account Number_ VISA Pavment [~~S,1 want to come to AmiEXPO-California Friday Saturday _ Sunday One day-$ 15 _ Two days - $ 20 _ Three davs - $ 25 Master Class(es) - List Class and Time - $ 60 Each Name as it appears on card: Signature _ nfaw Total Amount Enclosed L Make Check or Money Order Payable to: AmiEXPO 465 Columbus Ave., Ste. 285 Valhalla. NY 10595 add node's child list to the next-level queue set node to node~ next end while set queue to queue- next end while return
b£Search next-level queue ) end bfSearch In [he demonstration program, the procedures bfSearchO, allocQueueO, and freeQueueO implement the breadth-first search algorithm.
Breadth-first search requires a lot more housekeeping than depth-first search, and on the surface, it would seem to be less efficient than depth-first search. This is not necessarily true! The reaily important measure of the efficiency of a search is how fast can a node be found. This efficiency depends more on how many nodes have to be searched than anything else. The shape of the tree being searched and the location of the node in the tree has a much greater effect than anything else on how efficient one search technique is over the other. If the tree being searched does not have very many
levels, but it has many nodes on each level, a depth-first search may be more efficient than a breadth-first search. Likewise, if the tree has many levels but not many modes on each level- breadth-first search may be efficient. For the tree in the demo program, the location of die node being sought has the largest effect on the search. What this boils down to is that no single search technique is best for all problems. A technique which works great for one set of data may not be as good for anodier set of data!
The demo program will allow you to watdi how' both types of search move from node to node, generating a trace of die searches. It's interesting to use both techniques to search for the same node and compare the number of nodes each technique examined before finding the node being sought. You will be able to clearly see the effect on the search of the node's position in the tree. Listing 1 is an example of die trace output from die demo program. As you can see from the listing, depth-first search examined six nodes before finding die goal node, and breaddi-first search only examined four nodes
before finding die same goal node.
Neither of these search techniques has any ‘smarts’. Both just stan at any node and search ever}' node which can be reached from that start node. As mentioned above, many modifications have been made to both breadth-first and depth-first search to make them better. Most of these modifications involve either modifying the search order by trying to decide which node is the 'best' node to search next, or by ‘pruning' the tree to eliminate nodes from even being searched. In applications where die data can be ordered in some way (such as alphabetically), the tree is built from the start to allow'
efficient search. If you are interested in learning more about other types of search or search optimization, the references at die end of the article will get you started in your ’search' for information.
THE SEARCH DEMONSTRA TION PROGRAM The demonstration program in listing 2 shows how depth- first search and breadth-first search are implemented in C, and it demonstrates how the searches work. The program is interactive and lets you pick a search technique and a node to search for, You then step through the search by clicking the left mouse button. The I program also uses some ‘advanced’ techniques. Even function pointers and pointers to pointers are used! The program is compiled and linked with the Lattice command ‘!c -LsearchTree.c', and is run from the CLI.
This is a long program to type in, but if you are interested in using recursion or recursive data structures in your programs, it includes most of the basic C techniques you need to know- how to get started. If you are just beginning to use the Amiga’s graphics and Intuition procedures, the program will give you a good idea of how to call some of the graphics, text, menu routines, and how to process Intuition input events. Many of the procedures can be easily modified and used in odier programs, especiallv the Intuition-related procedures.
The program constructs the binary tree shown in figure 2 and displays die tree in a window' in the workbench screen. A small menu consisting of‘PROJECT - QUIT1, ‘PERFORM - DFSearch’ and ‘PERFORM - BFSearch’ is attached to the window. The program can be stopped by picking the window close gadget or by picking the ‘PROJECT - QUIT’ menu command. A message is displayed in the lower left comer of die window which tells how to search for a node, or tells which node was found after the search was completed. Either breadth-first search or depth-first search can be performed by first selecting the type
of search from die ‘PERFORM’ menu, dien clicking the select button over a search node. Bodi types of searches look for a node at the coordinates w'here the mouse cursor w'as located when the select button was pressed and released. When the search begins, the search coordinates are displayed in the message area. If a node is found, die level number and sequence number (for example, 3.7) of the found node is displayed. When die search ends, the program wall let you search for anodier node using the same type of search, or you can pick another search type and another node to search for.
The program writes a trace of the recursive calls which each search procedure makes as it traverses die tree. The trace output is written to a file named ‘searchTree dta’ in the current directory. If you are having trouble understanding how the searches work, or are confused by recursion, comparing the trace output with the tree diagram should help.
The main part of the demo program was described in my last article, but some new procedures have been added. All of the procedures contain a lot of comments, so you should be able to figure out bow the procedures work, The following paragraphs describe the program logic.
The procedure mainO implements the top-level program flow and calls AskFontO to get information about the window's font height. It builds the tree by initializing a static root node, then calling allocNodeO and placeNodeO to recursively generate all of the tree nodes, locating them at the correct positions. A window is allocated, initMenuO is called to create the menu, and die tree is recursively displayed with a call to displayTreeO. Finally, procedure handlelnputO is called to process input events. When hand lei nputO returns control to mainO, cleanUpO is called to dose the window', free
all structures, and close all files. The font height is used to size the menu items and to position die message text, The procedures which take care of the menus are initMenuO, allocMenuO, allocMenuItemO, allocITextO, andfreeMenuO. Intuition’s menus are lists of lists, and initMenuO dynAMIGAlly allocates the structures, initializes them, and links diem together. The top- level menus are allocated and initialized in allocMenuO and the menu items are allocated and initialized in allocMenuItemO. Since menu items use Intuitext structures, allocITextO is called to allocate and initialize the menu
item text structures. When the program ends, freeMenuO is called from cleanUpO to recursively free all of the menu structures using depth-first traversal. Incidentally, freeMenuO can be modified to free any dynAMIGAlly-allocated menu strip by adding an inner 'while loop' to take care of freeing any menu subitem lists.
The depth-first search is done by two procedures: doDFSearchO and dfSearchO. DoDFSearchO is called (using a function pointer) from handlelnputO and is sent the coordinates of the location where the moti.se 'select’ button was released.
DoDFSearchO modifies Intuition's communications port to stop all event messages from arriving except for mouse button messages.
It then displays an information message in tire search window and calls dfSearchO to perform the actual search. After dfSearchO returns, a message with the search result is written in the tree window, and waitForButtonO is called. WaitForButtonO just waits until a mouse button is pressed and released, then returns.
DoDFSearchO then restores the IDCMP and returns to handlelnputO.
Breadth-first search is done by doBFSearchO and bfSearchO- DoBFSearchO is almost identical to doDFSearchO, except that a queue made of one queue node is allocated and sent to bfSearchO- The queue node points to the single root node of the tree.
The search procedures, dfSearchO and bfSearchO are similar to the traversal procedures described above. The main difference is that trace code, graphics display code, and code to see if the search coordinates are inside each node has been added. The procedures are recursive, and recursion ends either when a node is found or when the entire tree has been searched. To make bfSearchO less confusing, the code to allocate and link a new queue node into the search queue is in allocQueueO, and the code to free the queue space is in freeQueueO. Since allocQueueO needs to modify the pointers sent to
it, the addresses of the pointer variables 'topQueue' and ‘prevQueue1 are passed to allocQueueO. In allocQueueO, these variables are declared as pointers to pointers (prefixed with '**’). When I first started using pointers, it took me a long time to figure out how to declare pointers in a procedure, so that the changes to the pointer could be sent back to the calling procedure. The call to allocQueueO and the pointer declarations in allocQueueO show how it's done.
AllocQueueO just sets up a new queue node and adds it to the end of the queue. FreeQueueO frees the entire linked list of queue nodes by iterating using ‘next’ pointers.
The entire tree is built, and the nodes are placed with allocNodeO and placeNodeO- The tree is recursively freed with freeNodeO- The tree is graphically displayed using displayTreeO and displayNodeO. In my last article, 1 described how these procedures worked . If you missed the article, you should be able to figure them out from die comments in tire code.
All Intuition input is taken care of in handlelnputO and waitForButtonO- HandlelnputO calls one of the two search procedures using a function pointer. The function pointer value is set to point to either doDFSearchO or doBFSearchO, depending on which menu item was picked. After the mouse select button is released, handlelnputO checks to see if the function pointer is valid, and if it is, calls the search function through the pointer. When either the 'QUIT' menu item is picked or the window 'CLOSE' gadget is picked, handlelnputO makes sure all messages are given a reply, then returns control
to mainO. The program then cleans up behind itself and ends.
ATTENTION DIGITIZERS SO YA WANNA WORK WITH VIDEO... YOU CAN DO IT!
FINALLY A LOW COST INSTRUCTIONAL VIDEO FOR YOUR DIGITIZER COVERING EVERYTHING FROM CAMERA AND LIGHTING PLACEMEN I 10 USING YOUR FINISHED PRODUCT W| HI YOUR FAVORITE PAINT PROGRAM, Yol HAVE READ AUDIT IT MONTH FIEH MONTH. BUT WHAT DOES IT REALLY TAKE TO (JET INTO THE VIDEO FIELD WITH YOLK AMIGA?
W HAT EQUIPTMENT WILL YOU NEED.* WHAT IS MY INITIAL INVESTMENT GOING TO COST ME?
ALL OF THESE QUESTIONS ARE ANSWERED SO YOU KNOW ABSOLUTELY EVERYTHING YOU NEED TO KNOW TO GET STARTED AND GET JOBS!
THIS LENGTHY INSTRUCTIONAL VIDEO TEI.l.S YOU'WHICH SOFTWARE WORKS IHK lit-ST.
"IIU If AKEHVAKE IS NECESSARY, SND MOST (IF ALL MOW TO PHACTICAI.I.Y LNE YOLK EijiirrMEvr.
COVIPII.EII BY S WORKINi; PROFESSIONAL U0U1 IE s |. I HIS TAPE SHOW N SOI1 I HE IIJNt IH HMOL KN LHOSI VKOOllMi TIPs, TO V)|)M rilLlNli, MOST IMPORTANTLY WESIIOW YOL HOW 10 MARKET YOLRSELF NO Yol CAN UK profitable, INFO-PACKED VIDEO FOR PROFESSIONAL VIDEO WITH YOUR AMIGA GET THE RESULTS YOU WANT!
MAKE MONEY WITH YOLK DIGITIZER LEARS' TO IMPORT YOUR DIGITIZATIONS INTO ?D AND vp animation PROGRAMS AND REALIZE THE FULL POTENTIAL OF YOUR AMIGA!
ACHIEVE PROFESSIONAL RESULTS USING THE KEY TECHNIQUES NOT EVEN COVERED IN I HE MANUAL!!
SECRET SOFTWARE TIPS PRECIOUSLY t NMENTIONKI) WILL BRING YOUR DIGITIZATIONS LIGHT YEARS AHEAD!!!
YOU CAN USE YOUR DIGITIZER TO MAKE MONEY. ALL METHODS ARE DISCUSSED IN DETAIL SO YOU CAN GET STARTED!!!
INFO-PACKED VIDEO FOR PROFESSIONAL DIGITIZING ONLY $ 19.95 EACH $ 34.99 FOR BOTH Add S2.50 per video for Shipping A Handling We Also Do Quality Customized Digitizing $ 2.00 Per Picture IFF Compatable Send pictures to be digitized to the address on the left or oil LA. Bt'nltdlf Pl w Add IT uio Ut pcf aidfn.
Send Check Or Monov Order To: MICHAELANGELO PRODUCTIONS 1755 EL CERRITO PL. 405
L. A.. CA. 90028 WE GLADLY ACCEPT MSA A MASTERCARD Call in vour
order • (213) 874-7404 You can FAX us at - (213) 874-0460
Circle 12B on Reader Service card.
Most of tire program is fairly straight-forward, although recursion and recursive data structures can be confusing in even very simple programs. I hope the comments in die code and the algorithm descriptions above are clear enough for you to understand how the program works, because the techniques are useful for Amiga programs. The program shows how Intuition's menus can be managed widi tree techniques. If you look at window and gadget structure definitions, you’ll see that these structures are also lists which are combined into lists of lists. In fact, almost all Amiga data structures are
lists and lists of lists! These structures are so important to the Amiga that the 'exec' library has list management procedures built right into it.
Pointers, recursion, linked lists, lists of lists, and trees are techniques and data structures which are confusing when you first start working with them, but once you understand the basic ideas, diey become easy to use. From my own experience, I find die best way to learn new programming methods is by copying and modifying plenty of examples of the working code. With a little persistence (and a lot of debugging!) These structures and techniques can be mastered and used to create some Amazing Amiga programs.
FURTHER READING If you are interested in different types of search. Artificial Intelligence, by Patrick H. Winston, is a good book to start with. The book is published by Addison-Wesley Publishing Company, Reading, Massachusetts. Many types of ‘search’ are described in an English-like pseudo-code, and dre descriptions uses a lot of clear diagrams. This book is a good and understandable introduction to most of the ideas being explored in AI research.
Artificial Intelligence Using C, by Herbert Schildt, has a chapter dedicated to several common search techniques, and has examples of C programs which use the techniques. The book is published by Osborne McGraw-Hill, Berkeley, California. This is also a good introduction to AI. And each topic covered has working C programs which demonstrate the concepts presented.
For those of you who are interested in graph theory (trees are special types of graphs) and like to read mathematical texts, Concepts in Discrete Mathematics, by' Sartaj Sahni, has a chapter which covers graphs, trees, paths, and connectivity. This book also covers many of the mathematical ideas used in theoretical computer science. The book is published by the Camelot Publishing Company, Fridley, Minnesota.
- LISTING ONE --------- * my 'make-life-easyr macros ifnee? NOT
fdefine NO? I fendif define NEW(x) ( (x *)malloc sizeof(x) )
) • Define the nodes and queue structures & types typetief
struct node • the tree nodes * .
Struct node '.next; * sibling link * struct node
* child; * child link • ir.t x 1, y 1; * left, top coordinate
*1 int x2,y2; I* right, bottom coordinate *1 int level; J*
level in the tree *1 int seqNo; * sequence within the level
* 1 NODEJT; typedef struct queNode * used for queue for - f
' breadth-first search * struct queNode *next; * sibling
* nodeList; * list header * ) QNODE_T; * define the output
file char *outFile - "searchTree.dta FILE *otp = NULL; *
* Listing 1. SearchTree.dta - example trace output from
* searchTree program. Both depth-first and
* breadth-first search were performed by
* selecting node 2.1.
* define node geometric dimensions fi horiz and vert
* spacing between nodes Performing depth-first search... fdefine
HRAD 15 I* ellipse horizontal radius Seeking node at 187,101
fdefine VRAD 3 t* ellipse vertical radius In DFSearch at level
0 tdefine HD I ST 20 * horiz d 1st between nodes Searching
node 0.0 rdefine VDXST 20 * vert di st between nodes In
DFSearch at level 1 fdefine KCONS (HRAD+HRAD+HDIST) * horiz G
vert disc Searching node 1.0 rdefine VCONS (VRAD+VRAD+VDIST) '
actual values In DFSearch at level 2 Searching node 2.0 f* gloi
iables centres h. struct Menulten ruct * res * * =
KE: =;= =:ii===S = == = = = = == = = = = = ==== = = = = = = = =
=:a: = = = = = = i3o = = = *
* Listing 2 - searchTree.c
* program to demonstrate tree traversal
* and tree search
* Lattice compile & link command: lc -L searchTree.
* copyright 1959 by Forest W. Arnold * include exec types.h I
include incuition intuition.h lincluce scdio,h define
INTUITJON_REV 3A define GRA?HICS_REV 34 struct IntuitionBase *
IntuitionBase; struct GfxBase 'GfxBase; In DFSearch at level 3
Searching node 3.0 Searching node 3.1 Searching node 3.2
Searching node 2.1 Returning from level 1 Returning from level
0 Depth-First search complete... found node 2.1 Performing
Seeking node at 186,100 In BFSearch at level 0 Searching node 0.0 In BFSearch at level 1 Searching node 1.0 Searching node 1.1 In 3FSearch at level 2 Searching node 2.0 Searching node 2.1 Returning from level 2 Returning from level 1 Returning from level 0 Breadth-First search complote... found node is node 2.1 LISTING TWO void doDFSearch( NODE_T *root,int x, int y ); NODE_T *dfSearch( NODE_T 'topNode,int indent, ir.t xrint y ); * breadth-first search procedures void doBFSearch( NODE_T "root,int x,int y ); NODE T KbfSearch( QN0DE_T 'queue,int indent,int x,int y QN0DE_T *ailoc3Node QNODE T
**topQNode, QNODE_T **prevQNode, NODE_T 'node ) void freeQueue( QNQDE_? *topQNode ); * tree procedures NODE T *allocNTode int number, int level ); int placeNode N0DE_T 'topNode.int top,int left ); void freeNode( NODE_T "topNode ); void displayTree( NODE_T 'topNode ); void displayNode( NODE_T 'node,int on,int mode ); struct Window *displayflir.dow( int I, int t,int w, int char *name ); struct IntuiText "aHocIText( short 1,short t, unsigned char "strPtr ),¦ 'allocMenuItem( short 1,short t, short w, short h, struct IncuiText *str?tr
* allocMenu( short 1 short tf short w,short h, unsigned cnar
* initMenu void ); freeMenu struct Menu ‘topMenu ); void
displayMsg ( int x, int y,char *wMsgl,char *wMsg2, char
'vMsc3,int pen }; void cleanup( NODE_T *root,struct Menu *menu
); void closeLibs( void }; void trace( char 'msg,int indent );
int openLibs( void ); depth-first search procedures utility
nrocedures struct Menu void terrace input static struct Window
'window = NULL; static Struct RastPort *rp B NULL; static ir.t
text Height = 0; void handleInput( N0DE_7 *rootNode ); void
waitForButton( void ); void main ( int argc, char*11 argv ) I
NODE_T root; * rep-level node * * window's text data' *
search too menu ’ struct TextAttr taData; struct Menu *nenu;
* ooer. Files and libraries if ( outFile !~ * Q' ) I if (
NOT (otp = fopen (outFile, "w") ) ) printf(" nCan't open
trace output file.., n"); exit (1); I I if ( NOT openLibst) )
cleanup( NULL,NULL); printf(" nCan't open system
libraries... n"); exit(1); } !* set up the top-level node of
the tree * root.level = 0; root.seqNe = 0; root.xl = 20;
root.yl - 15; root.x2 = root.xl + HRAD + HRAD; root.y2 =
root.yl + VRAD + VRAD; root.next = NULL; * recursively
allocate tree £ position nodes * root.child = aliocNode(2,1};
* allocate window & menus * if ( NOT (window = displayWindow(0,0,S40,200, "TREE SEARCH")) ) printf("Can t allocate display window n"); cleanup( &root,NULL ); exit (1); ) rp = window- RPort; * get the font height * AskFont(rp,StaData); textHeight * (int)taData.ta_YSize; if ( NOT (menu = initKenuOJ ) ( printf("Can't allocate menus n"); cleanup( 6root,NULL ); exit (1); ) SetNenuStrip window,menu }; * attach menu strip * * recursively display the tree *f dispiayTree( £root ); • handle menu input until "QUIT" picked V handielnpuc( Srcot ); cleanup( £rcot,menu ); exit(0); doDFSearchO -
driver routine to perform depth-first search. Sets up IDCMP £ displays message, then calls search routine.
* void doDFSearcht NODE T 'root,int x,int y ) i char msg(80],*wMsgl,*wMsg2, *wMsg3; NODE_T * found;
* set IDCMP to get mouse button events, then print
* messages & call DF search procedure ModifylDCMP £
window,MOUSSBUTTONS ); sprintf(msg, " nPerforming depth-first
search..."); trace( msg,0 ); sprintf(msg,"Seeking node at
%d,%d",x,y); trace ( msg,0 ); wMsgl = "Depth-First Search;";
wMsg2 = msg; wMsg3 = "'select' to search next node";
displayMsg( 20,160,wMsgl,wKsg2, wMsc3,1 ); found = dfSearch(
root,0,x,y ); displayMsg(20,160,NULL,wMsg2,wMsg3,0);
Professional Quality Full Color Video Digitizing Pro-Res Still
* Interlace any color video still frame to your digitizer without
a color wheel.
* Control and Modify the Video before you digitize.
* Preview the Adjustments real-time on your RGB Monitor.
* Professional Results.
Accurate Regenerated Vertical and Horizontal Sync Pulses True 75 ohm input output loads Special Sync circuits for Still-video and VCR Video % Easy to Use Automatic operation with NEWTEK'S Digi-Vlew™ Manual Slapping with other Slow-Scan Digitizers NOW SHIPPING RETAIL$ 399.-- Ful! Color Postscript1" Printing For Under $ 5,000.- ?
Impossible....Until Now! Introducing ColorDriveTf Color Postscript™ Printer Driver
* Drives the most common color printers used with the Amiga Up to
300 DPI, 3 & 4 color separations, A & B page size
* Full Color Desktop Publishing Support Bit-mapped & structured
color graphics; color text iff Downloadable Fonts Standard 35
fonts available TDA iTu 'Desktop Advantage 560 NE F Street,
Suite 4 Grants Pass, OR 97526
(503) 476-8254 DEALER INQUIRIES INVITED Dlgl-Vtew ie a trademark
ol Newtek, Inc. Amiga Is a trademark ol CBM.hc. Postscript
is a frademaik oI Adobs Systems, Inc. Pro-Res end CdcrDriva
are trademarks of TQA Circle 110 on Header Service card.
Sprir.tf (msg, " nDepth-Firsc search complete..."); trace msg,0 ); if ( found ) sprintf(msg, "found node %d,%d", found~ level, found- seqNo); else sprintf(msg,"no node found at search coordinates."); trace(msg,0); wKsg2 - msg; wMsg3 = "'select' to continue"; displayMsg (20, 160, NULL, wMsg2,wMsg3,1}; waitForButton( ); * clear message, restore IDCMP, & return *1 displayMsg(20, 160,wMsgl, wMsg2,wMsg3,0); ModifyIDCMP( window, C10SEWIMD0W|MENUPICKIMOUSEBUTTONS ); dfSearchO - recursively perform depth-first search.
This procedure highlights the node, waits for select button, unhighlights the node, and recursively top ¦ topNcde; sprintf(msg,"In DFSearch at level %d",top- level); trace(msg,indent); while too ) f sprintf(msg,"Searching node %d.%d",top- level, top- seqNo) ; trace(msg,indent); * highlight node, wait for button £ unhighlight it* displayNode( cop,2,1 ); waitForButton(); displayNode( top,2,1 ); (* see if node is at the input search coordinates * if ( tep- xl = x &fi x ** top- x2 ££ tOp- yl = y ££ y = top- y2 ) return( top ); * found it * 2 recursively search child codes 1 level =
tcp- level; if ( cop- ehild ) if ( found = dfSearch(top- child,indent+3,x, y) ) sprintf (rr.sg, "Returning from le trace (nsg, indent) ; return( found }; %d",level * get sibling no top = top- next; ) sprintf(msg,"Returning from level %d",level); trace(nsg,indent); return! NULL ); * didn't find a node together the queue of child lists and to iterate on the current queue of lists QNQDEJT *tCpQNode, *r.evQNcde; QN0DE_T *prevQNode, *r.excQNede; NODE_T 'found; * the found node, if any NOD£_T 'top; ’ the current display node ¦ int level; * current tree level * char msg[B0]; topQNode *
prevQNode “ NULL; * init next level queue* found - NULL; level - queue- nodeList“ level; sprintf(msg,"In 3FSearch at level %d",level); trace(msg,indent); iterate on the queue nodes for this level. Get the list of sibling nodes from the queue, and then iterate on the nodes in the list.
Do3rSearch() - driver routine to perfort breadth-first search. Sets up IDCMP 5 displays message, then sets up a queue structure (first-in, first-out list).
The queue is used for the search, since it links together disjoint sibling lists on sane tree level.
While! Queue ) * iterate on queue nodes V I top = queue- nodeList; * the list of siblings * while( top } * iterate on nodes * displayNcde top,2,1 ) ; waitForButton(); displayNode( top,2,1 ); sprintf(msg,"Searching node %d.%c", top- ievel,top- seqNo); trace(nsg,indent); * see if node is at the search coordinates * if ( top xl = x £4 x = top- x2 44 top- vl = y 44 y = top- y2 )
* Found it.
* We need to free any cNode space for both
* the current level and also the space for
* the next level's queue before returning freeQueue( topQNode };
* child list queue * freeQueue( queue ); * this level's
queue * sprintf(msg,"Returning from level %d", top- level);
trace(msg,indent); return! Top ); * search is over * if this
node has a child list, allocate a qNcde, set its pointer to the
list, and link it into the queue for searching the next level
if top- child ) newQNode = allocQNode(4topQNode,SprevQNode,
top- chi!d); if ( NOT newQNode ) ( printf ("bfSearch; out of
ir.emoryNn"); return! NULL ); next node in current list top =
tcp- next; ) *
* It wasn't in list just looked at - get the next
* queue node and free the one just used.
- nextQNcde = queue- next; * get sibling queue * free!
(void*)queue ); * free last queue node ’
- nextQNode; * set current que node * if queue of child lists
constructed, call self to search it if ( topQNode ) found =
bfSearch(topQNode,indent+3,x,y ); sprintf(msg,"Returning from
level %d",level); trace(msg,indent); return! Found ; * either
NULL or a found node void doSFSearch( N0DE_T 'root,int x,int y
NODEJT char * • allocQNode!)
NODE T *bfSearch( QNODE_T *queue, Int indent, int x,ir C y ) *
* these aNode pointers ere used to construct 4 link allocate 4
link a new qNode structure into a queue. Pointers to pointers
are used so the pointer's value can be changed * j
3allocQNode( QNODE_T ""topQNode, QNODEJT *"prevQNode,N03E_T
"node ) I QNODEJT *newQNode; * allocate the new qNode struct
* if ( NOT (newQNode = NEW(QNODEJT)) ) return( NULL ); * init
the links * newQNode- nodeList = node; * pointer to node list
* newQNode- next - NULL; * link for queue nodes * *
* if a queue has already been started, just link this
* one in at the end of the queue- Otherwise, this is
* first node in the queue * if ( “prevQNode ) (“prevQNode)- next
= newQNode; else “topQNode = newQNode; “prevQNode ¦ newQNode;
“ ptr to last one in queue ’ return( newQNode ); I I*
* freeQueueO - free an entire queue * J *
SPSaaaBBBBBHBESEBEB3SSaaSS3S£ = SSS33BSSBI!BSBBBnniIBBBS = = a
* void freeQueuei QN0DE_T "topQNode ) QNODE_T "prevQNode;
whilst topQNode ) “ standard linked list iteration * t
prevQNode * topQNode; topQNode a topQNode- next; free( (void
“)prevQNode ); 1 I*
* allocNode - recursively allocate s initialize
* tree nodes. After each node at a level is
* allocated, this routine calls itself to allocate
* the child nodes for the next level. This is
* specialized for making the demonstration tree.
* J tsaz3nBSEaBSBB3CBSss = = = = ======r = = = =
ESBSi:r!!qBBBiiESEEEEsi:El NODE_T "allocNode(int number,int
level) I static int seq •» (0,0,0,0); * count of nodes by
lvl* NODS_T "node, "prevNode, "topNode; int i ; topNode ¦
prevNode = NULL; * iterate on number of requested nodes for
the level * for( i = 0; i number; i++ ) t* make tree
non-symmetric if ( level 3 £6 seqllevel] 7 ) * 7 nodes for *
break; * level 3 if ( level == 2 £& seqllevel] 2 ) * 2 nodes
for * break; * level 2 - * allocate 6 init the node * if (
NOT (node - NEW(N0D£_T)) i ) i printf("allocNode: out of
memory. n"); return(NULL); I i node- seqNo = seq[levelJ++; "
sequence number *1 node- level ¦ level; * tree level *
node- chiId = NULL; * child link ’I node- next a NULL; *
sibling link * if ( NOT prevNode ) * is it first one?
* topNode - node; * yes, set 1st node * else prevNode- next »
node; * put node at end *( prevNode » node; • make 'node'
prev * * allocate level 2 children of level 1 nodes if (
level == 1 ) * ask for 2 children for lvl 2 •I node- child =
allocNode(2,level+l); continue; ) ONE BYTE
P. O. Box 455 Quaker Hill. CT 06375 (BOO) 441-BYTE, in CT (203)
443-4623 YOUR ONE-STOPi)Ml£ .STORE Authorized dealer for
Great Valley Products (GVP).
Authorized Commodore-Amiga Service and Repair.
Authorized Amiga Graphics Dealer.
Circle 135 on Reader Service card.
AMIGA 15 A REGISTERED TRADEMARK Oi* COMMODORE-AMIGA, 1MC, return offset ); return the left coordinate* char int levStr[10 3; cx,cy; * node level display string * * node center coordinates x if ( mode ) * display in 'highlight' mode* SetDrMd(rp,COMPLEMENT); else * normal display * SetDrMd(rp,JAM1); freeNode - recursively deallocate nodes.
This procedure iterates on a list of nodes. If the node has child nodes, the procedure calls itself to free the child list before freeing the current node.
* get node center, draw an ellipse, then get the node level and display it id freeNode ( N0DE_T "topNode I NODE_T "next; while( topNode ) " stop when 'NULL' * * cx = (node- x2 + node- xl) 2; cy = (node- y2 + node- yl) 2; SetAPen(rp,pn); DrawEllipse( rp, cx, ey, HRAD, VRAD) ; sprintf(levStr,"%d.%d",node- level,node- seqNo); Move( rp,cx-12,cy+3 ); Text(rp,levStr,3); SetDrMd(rp,JAMl); * restore draw mode to normal *
* if a node has children, recursively free all
* child .nodes before freeing self } *= * if ( topNode- child I
freeNode I topNode- child ); next ¦ topNode- next; * save link
to sibling £ree( (void*)topNode ); * free the node topNode =
next; *1 handlelnputO - monitor user input until end action
void handlelnput( NODE_T struct IntuiMessage unsigned lor.g
unsigned short int void char ¦tree ) ¦msg; class; code;
endCode,x, y,menuNum; (¦search) (); ¦wMsgl,*wMsg2; displayTree
- recursively display entire tree.
Procedure iterates on a list of nodes, displaying each node in the list. If the node has a child list, the child link is drawn, then the procedure calls itself to display the child node list. If the node has siblings, the sibling link is drawn and iteration continues with the node's sibling.
Search = NULL; endCode ** 0; wMsgl = "Pick a search method from the menu,"; wMsg2 = “Then pick a node for the search."; displayMsg( 20, 160,wMsgl,wMsg2,NULL,1 ); for (;;) Wait( 1 « window- User?ort- mp_SigBit ); while( msg = (struct IntuiMessage *) GetMsg(window- UserPort) ) I class « msg- Class; * save message class * code = msg~ Code; i* and message code. * x - msg- MouseX; * and coordinates where * y msg- MouseY; * event occurred * ReplyMsg! Msg ); * Reply right away. * void displayTree( NODE_T "topNode ) t NGDE_? "top; * local current node * int cx,cy; f* geometric node center * int
oldx,oldY; * previous node's edge *!
Top = topNode; * iterate until end of list (NULL) * while! Top ) ( *
* find node center coordinates and save right,
* center coordinates for drawing sibling link if ( class (
endCode break; } if ( class CLOSEWINDOW ) close gadget cx =
(top- x2 - cy - (top- y2 t oldX = top- : 2; oldX = cy;
displayNode! Top,1,0 }; if ( top- chiid ) I p- vl) 2; p- yl) 2;
display the node " MENUPICK && code KENUNULL ) menuNum =
MENUNUM(code); * valid menu pick if ( menuNum == 0 ) * 'QUIT'
menu * ( endCode ¦ 1; break; } switch( ITEMNUM(code) ) ( case
0: search - doDFSearch; * set function ptr * break; case 1:
search = doEFSearch; * ditto * break; default: break; )
* draw a child link from bottom center of this
* node, then recursively display child list * SetAPen(rp,2);
Move( rp, cx,top- y2 ); Draw( rp, cx, tOp** y2+VDIS7 ); Move(
rp,cx-4,top- y2+VDIST-4 ); Draw( rp,cx,top- y2+VD!S7 ); Draw(
rp,cx+4,top- y2+VDIST“4 ); displayTree( top- child ); *
recurse * } if ( top = top- next ) * set s test for sibling *
* draw a sibling link from right center of last
* node to left center of this node V SetAPen (rp, 31 ; Move(
rp,oldX,oldY ); Draw( rp,top- xl,oldY); Move(
rp,top- xl-4,oldT-4 ); Draw( rp,top- xl, oldY ); Draw(
rp,tOp“ xl-4,oldY-4 ); if we have valid function & select
button was released, perform the search if | search && class ==
M0USS5UT70NS LL code SELECTUP ) displayMsg( 20, 160,
wMsgl,wMsg2,NULL,0 ); (¦search) ( tree,x,y ); displayMsg(
20,16C,wMsgl,wMsg2,NULL,1 ); end while if ( endCode ) break;
displayNode0 - display a single node as an ellipse.
This procedure is used for both regular display & for highlighting a node.
'end' event - jumped cut of loop make sure message queue is cleared void displayNode( NODE_T "node,int pn,int mode ) while( msg = (struct IntuiMessage *) GetMsg(window- UserPort) ) ReplyMsg ( rr.sg ); ) _____ *
* waitForButton() - wait until user presses 'select'
* button * void waitFor3utton( void ) struct IntuiMessage
*msg; unsigned long class; unsigned long code; for(;;) I Wait(
1 « window- UserPort- mp_SigBit ); while( msg ~ (struct
IntuiMessage ') GetMsg(window- userPort) ) ( class =
msg- Ciass; code “ msg- Ccde; ReplyMsg( msg ); if ( class --
MOUSEBUTTONS && code »= SELECTUP ) return; ) )
* cleanup ()- free structures, close window, s. close files *
*uiitiiaiC==== = = =aH»h»»i ii* » = s = -c=:zz= = = as»a=sc =
= = = = S = tS=e* void cleanup NODE_T *root, struct Menu
’menu ) *
* if we have a menu ar.d a window, clear the menu and
* recursively free entire nenu strip * if menu ) if ( window
) ClearMenuStrip( window ); freeMenu( menu ); } if ( window )
* ditto * CloseWindow( window »; * recursively free the
entire tree ¦ if ( root ) freeNode( root- child J; if ( otp )
* flush £ close output file * I fprintf(otp," nDone.. n");
fflush(otp); fclose(otp); } closeLibs (); 1 *
* traced - output indented trace messages for recursion *t void
trace ( r.sg, indent ) char *msg; int indent; i r.t i; if (
NOT otp ) return; for ( i *» 0; i indent; i + + ) fprintf
(otp," w); fprintf (otp, " sNn", msg); 1 * T displayKsgO -
write or clear up to 3 lines of text
* in a rastporc * f *
iiB aE3E::s:a»tiakiiaiaaaaaabesaaaaaBaBiaaEaSBBBaEzsna9ia j
void displayMsg( int x,int y,char *wMsgl,char *wMsg2, char
'wMsg3,int pen ) I SetA?en(rp,per.); Move(rp,x,y+textHeight);
if ( wMsgl ) Text(rp,wMsgl,strlen(wMsgl)); Move (rp, x,
y+2*textHeight); if ( wMsg2 ) Text rp,vMsg2, strlen (wxsg2) )
,* Move(rp,x,y+3*textHeight); if ( wKsg3 )
Text(rp,wMsg3,strlen(wMsg3)); openLibsO - open libraries int
openLibs( void ) IntuitionBase = (struct Intuition3ase
*)OpenLibrary( "intuition * library",INTUITION_REV); GfxBase =
(struct GfxBase *)OpenLibrary(
"graphics.library",GRAPHICS_REV); return! GfxBase ££
IntuitionBase ); } * = f* *t '=- closeLibs() - close
libraries void closeLibs( void ) if ( IntuitionBase )
CloseLibrary(IntuitionBase); if ( GfxBase )
CloseLrbrary(GfxBase); displayWindow() - display an intuition
window SSS===S3E*j struct Window *displayWindow(int l,int t,int
w,int h, char *nane) struct N’ewWindow new;
r. ew. LeftEdge = 1; newaTopEdge ¦ t; new.width = w; new.Height =
h; new.BetailPen = -1; new.BlockPen ¦ -1; new.Title “ name;
new.Flags 5= WINDQWCLOSE I SMART_RSFRESH I WINDOWDRAG [
ACTIVATE; new. IDCMPFlags =* CLOSEWINDOW | MENUPICK |
MOUSEBUTTONS; new.FirstGadget - NULL; new.CheckMark - NULL;
new.Type * WBENCHSCR5EN; returnl (struct window
*)OpenHindow(&new) ); } *
* allocIText0 - allocate £ init an intuiText structure
* struct IntuiText 'allocIText( short 1,short t, unsigned
char *strPtr ) struct IntuiText *ts?
If ( NOT Cts *¦ NEW (struct IntuiText)) ) printf C" nallocIText: out of memory. n"); return( NULL ); ) ts- FrontPen ¦ 0; ts- 3ackPen = 1; ts- DrawMode =¦ JAM1; ts- LeftEage = I; ts- TopEdge « t; ts- ITextFont ¦ NULL; ts- IText = strPtr; ts- NextText = NULL; return( ts }; } *
* allocMenultem () - allocate £ init a menu item structure * f
,.BE£anBa»DiiiiDBaaHBiB iii;*n°ss:s Bi»»aEsE£sssr;:::» *
struct Menultem •allocMenuItem( short 1,short t, short w,short
h, struct IntuiText *str?tr ) struct Menultem *mi; if ( NOT
(mi = NEW(struct Menultem)) ) ( printf(w nallocMenuItem: out of
memory. n"); return! NULL ); } mi- NextItem = NULL;
mi- Left£dge =1; mi- TopEdge = t; rai- Width ¦ w; mi- Height =
h; rai~ Flags - ITSMTSXT i ITEMENABLED I HIGHCOMP;
rai- MutualExclude * NULL; rai- ItemFill * (APTR)strPtr;
mi- Command ¦ NULL; mi- SubItera c NULL; mi- Selectrill = NULL;
return( mi ); J - * *
* allocMenu () - allocate £ init a menu structure
* struct Menu *allocMenu( short 1,short t, short w,short h,
unsigned char *strPtr ) ( struct Menu *menu; if ( NOT (menu 13
NEW(struct Menu)) ) printf(" nallocMenu; out of memory. n");
return! NULL ); 1 menu- N’extMenu « NULL; menu- LeftEdge a 1;
menu- TopEdge = t; menu- Width » w; menu- Height = h;
menu- Flags = MENUENABLED; menu- MenuName = strPtr;
menu- FirstItem = NULL; return! Menu ); ) *»-- “”»¦* *
* initMenu() - allocate £ initialize all menus
* struct Menu ’initMenu( void ) ( struct Menu
'topMenu,*lastMenu; struct Menultem *topltem,*lascltem; struct
IntuiText *text; short mWidth,mHeight, temp; I* set width £
height £ init first menu list *1 mwidth ¦* 100; mKeight =
textHeight+2; topMenu =
allocMenu(0,0,mwidth,mHeight,"PROJECT"); text »
allocIText(10,0,"Quit"); if topMenu == NULL I I text == NULL
} return( NULL }; * didn't get it * topMenu- FirstItem 3
allocMenultem(0,0, mwidth,mHeight,text); 1* allocate next menu
list fi link the menu lists * temp = mWidth + 5;
topMenu- NextMenu = lastMenu -
allocMenu(temp,0,mwidth,mHeight,"PERFORM"); if ( NOT
topMenu- FirstIten I| NOT lastMenu ) ( f* didn't get it *1
freeMenu( topMenu ); * free the first £ return * return( NULL
); * allocate £ link together the subitems for 2d menu * text
« allocIText(10,0,"DF Search"); topltem ¦ lastlten =
allocMenultem( 0,0, mwidth,mHeight,text); if ( NOT text I I NOT
lastltem ) * didn't get them * freeMenu( topMenu ); return(
NULL ; 1 lastMenu- FirstItem = topltem; * link the items *
text = allocIText(10,0,"BF Search"); lastItem- NextItem *=
allocMenultem( 0,mHeight, mwidth,mHeight,text); lastltem =
lastItem- NextItem; if ( NOT text II NOT lastltem ) * didn't
get 'em * I freeMenu( topMenu ); return( NULL ); ) return (
topMenu ) freeMenu - free entire menu structure void freeMenu(
struct Menu *topMenu ) ( struct Menu *nextMenu; struct Menultem
*menultem,“nextltem; struct IntuiText "text; while( topMenu )
* until end of menu list if ( menultem = topMenu- FirstItem
) ( while( menultem ) * until end of item list * ( if (text=
(struct IntuiText*)menultem- ItemFill) free (text); * free
IntuiText * * free this menultem £ set pointer to next *
nextltem = menuItera- Nextltem; free( menultem ); menultem =
nextltem; * now free the menu list ptr £ set ptr to next
nextKenu - topMenu- NextMenu; free( topMenu ); topMenu =
nextMenu; 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 of these letters I n d i ¦ cates what forms of the program are present. Basic programs are presented entirely in source code format.
AMICUS Disk i Abasic programs: Graphics SDSoiids 3d solids modeling prog. W.'sample data fifes Blocks draws blocks Cubes draws cubes Ourer draws pictures in the style of Dure* Fscape draws Iracal landscapes Hidden 3D drawing program, w hidden line removal Jpad simple paint program Optical draw several epical illusions Pan-Box simple paint program Shuttle draws the Shuttle in 3d wireframe S paceArt graphics dem o Speaker speech utility Sphere draws spheres Sprat draws codr spirals ThreeDee 3d function plots Topography artificial topography Whees draws dree graphics Xenos draws (ractaTpfanet
landscapes Abasic programs; Tools Addressoock simple database program lor addresses Card File simple card F.la daabase program Demo m uilwindow dem o KeyCodes shows keycodes for a key you press Menu ron many Asasfo programs from a menu McreCcfcrs way to get more colors on the screen at once, usng aliasing shapes simpiecdor shape desgnerSpeakit speech and nanatordemo Abasic programs: Games BrickOut classic computer brick wall game Othello also known, as'go' Saucer simple shoot-em-up game Spe'Sng sim pe taic ng spei: ng ga rr e ToyBcx selectable graphics der.o Abasic programs: Sounds Emertaner
plays that tune HALSOCO pretends it's a real com outer PoScs sirnpTepbice siren sound SugarPlum p'ays *fhg Dance of the Sugarplum Fairies4 Cjjrograms: A term smpfoterminal program, $ ¦£ cc aid 10 compiTng win Lattice C decyn; opposite of CONVERT tor cross developers Doty source cooe to the ’deny window demo echcx uni-style filename expansion, partial S.O-D fasterfp explains use o! Fast-Scating point math FixDate fixes future dates on all files on a disk, 3-E freedraw simple Workbench drawing prog.,S-E GhcMem graphic memory usage 'ndfoata, S-E Grep searches for a oven string in a file wlh docs,
ham shows oft the hold-and-modiiy method of color generation iBM2Ariga fast carafe cab's i-ansfers between an IBM anc an Amiga Marfoel Mandef brol set program .S-E moire patterned graph:: cemo. S-E objfix makes Lartce C object file symbols visible to Wack, S-E quick quick sort strings routine raw example sample window 10 setiare tuns on interface mode, S-E sparks qix-type graphic demo. S-E Other executable programs: SpeechToy speech demonstration Which'ont displays all available fonts 6802D describes 63020 speedup board from CSA Asases explains uses of the ASSIGN command Bugs known bug list in
Lattice C 3.02 C'Xard reference card for Arnica DOS CLI CliCommands guide to using the CLI Commands shorter gude to AmigaDOS CLI commands EdCcmmands guide to the ED editor Filenames AmigaDOS Rename wildcard conventions HalfBright explains rare graphics chips that can do more colors Voder Pi ns description of the senalpcrt pinout RAWdisks t'ps on sertingup you1 RAM: disk ROMWack tips on using HOMWack Sounds explanation of Instrument demo sound fie format Speed refutacon cf Amiga's CPU and custom chip speed WackCmds tips on usrog Wack AmlCl'S DiSkS C programs: aifo Am gaDOS object 1 bra ry
manager. S-E er text tie archive program .S-E fxofaj auto-chops executable fries shel snpfoCU shell. S-G k, use fieccmpressbnorograms.S-E YachtC a (and ar game, S-E Make a simple 'make' programming utility, S-E Emacs an early verson of the Amiga 'ext edfcr. S-E-D Assembler programs: bsearchasm binary search code csarasm Unix osmpatibte qscrt() function. Source and C test program se r.pasm setimpO coce for Lattice3 02 Svpnnd Unix system Vkxnpa:bfeprintf ) treeso Unixcompa3fcleLree()!unctc,i.O-D (Thisdisk formerly had IFF specffoationfiesand examples Since this spec is constant; updates, the
IFF spec files have been mo-red to their own disk in the AMICUS coHectcn) John Draper Amiga Tutorials: Animate oesenbesaramaton algorithms Gadgets tutorial on gadgets Menus team about Intuition menus pcus.Disy C programs: Xre! A C cross-reference gen, S-E Bbtcolor extra-hait-bngfit chip gh demo, S-E Chop truncate (chop) fles down to size, S-E Cleanup removes strange characters from text fil es CR2LF converts carriage returns toime feeds in Amiga files. S-E Error adds compile errors to a C file, S Helfo w rfoow ex. From the RKM. S Kermit generic Kermit implementation, tlakey, no terminal mode,
S-E Scales sound demo plays scales, S-E SkewB Rubikcube demo in hkes colors, S-E AmlgaBa3icProgs dlr) Automata cellular automata simulation CrazyEights card game Graph function graphng programs WitchingHou* a game AbaslC programs: Casino games of poker, blackjack, dice, and craps Gomoku also known as 'otheilo Sabotage sort cf an advercure game Executable programs: Dreassem a 63COO disassembler. E-D DoSfide shows a given set of IFF pictures, E-D Atarge a text formating program, E-D Assembler programs: Arootemi terminal program with speech and Xmodem, S-E AviCUS Disk a Flies from the original
Amiga Technical BBS Note that some oi these Hes are od, and reier to cJder versons of the operating system. These (Las came from the Sun system that served as Amga technical support HQ for most of 1 5. These Nos do rvot car a warranty, ard are fcr educational purposes only. Of course. Pax's not a say they dont writ Complete ard nearly up-to-date C source to Vraoeedfi an earfy verson cf She ten Edita. This is a titte flaky, but compres and runs.
An Intuiien demo, in full C source. IntwSng files: demcmeru.c, dencmenu2.c, demoreqe. Getascii.c. idema.e. idemo.gude. idemomaka, tdemoan it. Nodes.:, and txwntec addmem.c add external memory to the system hottest c exampe of 303 use consoleOx console 10 example creaport c create and delete pans crease .c create standard 10 requests creatasJtc creating task examples diskio.c exampe of track read and write dony.c source to the ‘doty window*demo dua'Pay.c dual playfieid exam pie food.: flood fiil example l-eemaa c old version ol Ireemap1 geirools.c tools far VspnesanoBCBs cl*mem t graphic memory
usage indicator hello,c window exampfe Irom RKM inputdev.c add ng an input handier to the input stream loysakx reading xno joystick keybd.c defect keyboard reading layenesd layers examples m ouspon.c test m ouse port ownlib.e, owriibasm exampe of making your own library with Lattice paratest.c tests parallel port commands serilest c tests serial port commands serisamp.c example 0! Serial pol use ponintf-c samp’e printer interface code prtbase.h printer cevico definitions regintes.c region test program setlace.c source to interface en d! Program setpafallef c set the attributes of the parallel
port SetSerial.c set the attnbutes (parity, data tuts) ol The serial port singptay.c single playfield example speechtoy.c source to narrator and phonetics demo timedefy.c simple timer demo timer.c exec support smer functions MmrstuLc mere exec support timer functions WhichFonte loads and displays all available system fonts prccess.i and prtbase i assmebcr include lies: autorqsa txt warr.iros cf deadlocks win autcrequesters consdelO txt copy 01 the RKM corsOe 10 chapter dsWonLtrt warning cf dsk Ion: loading bug fuHfunc.txt listcledefi.nes. macros, functions infxrfdev.txt pre'jmr.a.'y copy d the
input device chapter Lcense information on Workbench distribution license printer pre-reease copy of the chapter on prnier drivers, from RKM 1.1 vt 1 fd txt ‘ STof fd Tie changes from version t.Oto t.t vtSvl.drff ’dif of ncfode file changes hem version 25 to 1.0 AmlCUSJisk 5. Ftiesfrom the Amiga Link Amiga Information Newiork Note that some of these Res are old, and refer to older versions of the operatng sysfem. Thesef-fos are from Amiga Link. For a time. Commodore supoorted Anvga Lb*, aka AN, tor onLre de-vefoper techncaJ support. It was orty up and nmrg for se-.eral weeks, These fires do
not carry a warrarcy. And are for ed'xatonal purposes orty. Of carse. Thars nottosaytneydcntwcric A demo of tntuitton menus called ‘menudemo', in C source wher&s.c find a f ie searching a! Subdirectories bobtesic BOB programmfog example sweep.: sound synthesis example Assembler fires: mydev.asm sample device driver myib.asm sample Lbrary example mytbi mydevi umsuppJ macros.i assembler irdude files Texts: amiga sicks tpsonCU commands exrfdsk external disk specification gameport game port spec parallel parallel port spec serial serial port spec vl .lupdate list cf new features in version 1 ,t vi
.th.txt 'diff of include fie changes from version 1.0 to 1.1 Ries for build-ng ycur own printer drivers, Induding dospecial.c, epsondala.c, intasm. Printer,c, prinler.ink. printertag.asm, render,c, and wait.asm, Ths disk does contain a number ol files describing the IFF specification. These are net me latest and greatest Iles, but remain here lor historical purposes. They include text ties and Z source examples.
The latest IFF soec is elsewhere in this library.
AMICUS Disk 6 IFF Pictures This d:sk includes the DPSiide program, which can view a given series oflFF pictures, and the 'shewpo' program, wh ich can view each file at the dick cl an icon. The pictures include a screen from ArticFox, a Degas dancer, the guys a: Electronic Am, a gorila, horses, King Tut, a lighthouse, a screen from Marb’e Madness, the Bugs Bunny Marfan, a still from an old movie, the Dire Straits monng company, a screen from Pinball Contraction Set. A TV newcaster, the PaintCan. A world map, a Porsche, a shuttle mission patch, a tyrannosaurus rex, a planet view, a UI A ra*rl
arvls (£in.e-wfi AMOS Disk 7 ‘ DiglVlew HAM demo picture disk Th;5 dskhas p'ctures from the Dfoi VtewhoW-and-modify video digitizer, it includes the ladies with pencils and foSypops, the young grf. The buiidozer, the horse and buggy, the Byte cover, the dictionary page, the robot and Robert. This includes a procrarr, to view each picture separately, and all together as separate, slidable screens. The 'seeifbm' program, to ton any screen into an IFF picture.
AmlCUS DiskS C programs: Browse view text files on a dsk, usng menus S-E-D Crunch removes cemmerts and white space from Gmes, S-E !ccrt.Exec EXECUTE a serres 0! Ccm.mands from Workbench S-E PDSceen Dump d-jmps Rastpcrt cf hghest screen to printer SetAJtemare sets a second image for an icon, when clicked coca S-E SetWndw makes windows fa a CLI program torjiund» V orkbench S-t SmalCJock a &Ta3 Sgtal bockin a window t gnu bar Scnmper the sceen printer it the fourtt AC S-E Amiga Basic Programs: (Note: Many of these programs are presenter AMICUS Dsk 1.
Several cf these were cxsnvened to Amiga Basic. (, included hero.)
AddressBook a smpfe address book database Ba * draws a be!
Clcad program to convert CompuServe hex files to binary, S-D
C. 'ue the game. Htufart driven CoforAn art drawrng program
DeluxeDraw the craw-r pr ram in the 3’d AC, S-D Elza con
versa:'era! Computer psyohcfogist Otheifo the game, as known
as 'go' RatMaze 3 D ratmaze game ROB hoggsneigrapitia cemo
Shuttle draws 3D pictures of the spare shuttle Spellng simpre
spefSrsg program Y0Y0 wlgrd zero-gravity yo-yo demo, traces yo
yo to the mouse ExrecutaWeprograms; Sdcube Modula-2 demo of a
rotating cube Alteon sets a seconc icon irr.aga, displayed
when the icon is clicked AmigaSpelJ a slow but simple spell
checker, E-D arc the ARC file compression prog must for
telecom, E-D Bertrand graphics demo disksaivage prog, to
rescue trashed disks. E-0 KwikCopy a Quick but nasty disk copy
program: ignores errors, E-D LibOir lists hunks in an object
lie E-D SavelLBM saves any screen as IFF pic E-D ?? ScreenDump
shareware screen dump prog, E only StarTerm version 2.0, term
program, J&nodemE-D Texts: LatticeMain GkskDrive GuroMed
Lat3.03bugs MforoeRev PrintSpooler .BMAP files: tips on fixing
_main.c in Lattice make your own 51 4 drive explains the Guru
numbers ixn list c! Lattice C version 3.03 user’s view of the
MicroForce HD EXECUTE-based print spool prog.
These are the necessary finks between Amiga Baa: and the system i branes. To take advantage cf the Amiga's capacities in Basic, you need mese fles. BMAPs are included lor ‘cflsf, ‘ccnsofs'. 'disktonr, 'exec'. 'Kan', Intuition', layers', ‘mathffo1. Mathieeedajbas'. Yialhieees- mgbas', 'matfrtrans', ’jsotgo'. Timer' and Translator'.
AMICUS Disk 9 Amiga Basic Programs: Figir&m simple flight simufata program HjeFaerfe expians Hue. Saturation, i Intensity Requester ex. Of requesters from Amiga Base SodOemo Oercnsrates scrcfsng caoabLties Synthesizer sound program WoridMap Craws a map ct the world Executable programs: Boing! Latest Bongl demo.wiJi selectable soeed.E Brush2C converts an IFF brush to C data insertions, initiatrationcode. E Brush2icai converts IFF brash !o an con, E Dazzle graphcs demo, tracks to rccse.E DecGEL assember program !asapong63C 10 errors, S-E-D Kfccx menubar dock and dare display, E We the game cf
life, E TmeSet hit,ten-based wa y to set the time A dale EMEmacs anotirer Emacs. More oriented to word processing. S-E-D MyCLI a CLI shell, wonxs without the Workbench, S-E-D Texts: FndnKeys read function keys from Amiga Basic HackerSm explains hew to win the game hacker tstBSOlO oudeto installing a 66010 in your Amiga Boing! Latest Boing! Demo.with selectablespeed, E Boisn2C converts an IFF brush to C data instructions. HtiaF.zatcn code, E BrushZlcon converts IFF brash re an icon, E Dazzle graphics demo, tracks to mouse, E DedGtL assembler program for stopping 66010 errors, S E-0 Kbck
menu-bar dock and date display, E file the game of fig, E TraeSet intuition-based way to set the time dale, EMEmacs another Emacs, more aientedto word processng, S-E-D MyCLI a CLI shell, wcrks without the Workbench, S-E-D Texts: FnctnKeys explains how io read function keys from Amiga Basic HadrerSIn explains how to win the game tiackeri isfifiOlO guide to installing a 63010 in your Amiga Prirrteru) sending oscaoe sequonces to your ponte* Startup Tip tips on setting up your startup-sequence fiig XfrmrRevfow list of Transformer programs that work Printer Drivers: Printer drivers la the Canon
PJ-1030A, the C Hoh Prowriter, an improved Epscn drwer that efiminaies streafong. The Epson LQ- SCO, the Gemini Star-10. The NEC B025A. TheOfedata ML-92. The Panasonic KX-PtOxx family, and tho Smitn4 aaia D300, wth a document descrfohg tfre instalation process.
AmlCUSJJiak-10. Instrument sound demos ThisisanicorHfrivendemo.circufaredtc many dealers, ft rc'udes the sounds of an acoustic guita*, an a1 arm, a banjo, a bass guiar, a boink, a callcpe, a car hom, daves, water drip, eiearic guitar, a flute, a harp arpeglo, a kickdrurr, a marimba, a organ minor chad, peep'd talking, p$ s. A pipe crgan, a Rhodes piano, a saxophone, a vitar, a snare dram, a steel arum, be-fs, a vrerophone, a vioin, a waiSng guitar, a hose whinny, and a wfisSe.
AmlCtlS PlatM 1 0 programs diratil intuiticrvbased, CU replacement manager S-S cpri shows arfoaousts priori cfCU processes. S-t ps shows info or CLI processes, S-E viStex (fifXays Ccrpjsenra RLE pics, S-E Amiga Basic programs pontered porter and spree edtor program opimje optimization e* a mpie from AC aide ca' endar large, animated ca'endar, cfary and date book program amortize loan amooza: are bnishtcBCS converts sma! FF brushes to Am 13aEase BOB OBJECTS grids draw and play waveforms nibert craws Hti»n curves maSib mad fib story generatcr nzrta'k taking maSing Fst program meadowsSD 3D
graphics program, from, A C,w arc's mousetrack mouse tractor example in hires mode slot slot machina game tictacree the came switch pacninko-fka game weird m akes strange sound s Executable programs cp unix-like copy command, E cs screen clear, S-E di ff LA;x-like stream editor uses 'diff output !o fix files pm chart recorder performances indicator Assembler programs ds screen dear and CU arguments exampe Modula-2 tire Is mov.ng-wwm graphics demo caseconvert converts Modula-2 keywads to uppercase Forth Breshehan crcle algorithm example Analyze 12 templates fa the spreadsheet Analyze There are
lour programs here that read CommoOae 64 picture Ues. They can translate Koala Pad, Doodle, Pent Shop and News Room graphics to IFF formal Getting the files hom ycur C-S4 to your Amiga is the hard part.
AmlCiJS.DiSk.12 Executable programs blink a'ink* compatible linker, but faster, E-D dean spins the a sk la disk cleaners, E-D eoscrreet sends Epson sertirvgs to PAR frcm menu E-0 showbig view hi-res pics in iow-res superbitmap, E-D reaktime tell the time. E-D undelete undeletes a He, E-D cmapidhm converts Apple 3 lew. Medium and high res pictures to IFF. E-D menued menu editor produces C com fa menus, E-D quick quick disk-ta-dsk ribOHe Ofofor, E-D qjickEA copies Elearonic Arts disks, removes protecbai. E-0 u&j 1.3 demo of text edrfa from Microsmiths.E-D C programs spm3 roatmg bfocks graphics
demo, S-E-D pcpcJi start a new CU at De press ol a button, tike Sfoekick. S-E-D vspite Vspnie example code from Com modore, S-E-D ArogaSBS Amga Basobufetin board prog., S-D Assembler programs startO makes aar fields ike Star Trek intro,S-E-D Pcves Mart Mravdetbra 3D view of Mandelbrot set Star Destroyer hi res Star Wars srarchip Robct robotarmgrabongacyindsr Texts vendas Amiga vendors, names, addresses cardco fixes to early Cardco memory boards cinclude aoss reference to C inctijde Res minefwafker dues to playing the game wel slcteshow make yow owr sideshows from the Kaleidoscope 0 sk AM!*U5
Disk 13 Area Base programs Rousnes Von Carolyn Schepcner c? C8M Tech Support, la read and iSspiay IFF pctures from At 5a Base With dccumertatcn. Aso included «s a program io tto screen prints in Amiga Base, and toe newest 3 MAP fries, with a corrected ConvortFD program. With ex- am.pe pictures, and the Save 113M screen capture program.
Ra mes !o load and play FutureSourd and IFF sa te files from Amiga Base, by John Foust for Applied Visions. Wito Poorer*.’- ton andC and assembler source for wmtng your cwolfczares and interfacing C to assembler in liraries. W.n exampfe scute Executable programs gravity So Amer Jan B5 gravitation graphic simiiation. S-E-0 Texts MIDI make you own MIDI instrument interface, documentation & a fives schemata AMICUS Plait 14 Several programs from Amaztog Computng issues: Toots DanKarys C StruOue index program, S-E-D Amiga Basto programs: SWAP Reader by Tim Jones 1FFBrush2BOB by Mite Swinger
AutoRequesler exampfe DOSHetjter Windowed he's system ler CU commands. S-ED PETrans translates PET ASCII foes to ASC I) ties, S-E-0 C Squared Graphics program bom Sefert f c American. Secs So. S-E-D crtf adds cr removes carnage returns from fries, 5-E-O dpdecode decrypts Detexe Paint, reno ves »py prctecton, E-Q ouerywa asks Yes cr Mo from the user returns ex;d code. S- vt WsiCate type spreadsheet, no mouse control, £¦ D view we*s tert 9es with window and sSder cadge*.. £-0 Ong, Sprang. YaScmg. Zcvng a* scrie-based Bax! Style demos. S-E-D CllCiock. Sdock. WGoek are window border docks, S-E-0
Texts At acde on long persistance prosper man tors, tips on making brushes 0! Odd shapes in Deluxe Paint, and recommendations on icon interlaces from Commodore-Amiga.
AMICUS Did IS The C programs include: ¦pf a fie printing uSi .wtuch can pr.nt filestore background, and with Lne numbers and consol character Eitering, Tm’ dspiays a chan cl the Weeks aftocated on a cSsk.
"Ask" puestons an 'execute' file, returns an error code to control toe exeeuton in mat batch ffe ‘Star an enhanced verson of AmigaDOS 'status' command- Dissolve' raitecfn-dct dissolve demo displays IFF Future slowly, do: by dot. In a random fashion.
¦PppCU? Invoke new CL) window a! Lhe press ol a key.
The executable programs incfude: rcrr.' Fie tomafing program through the pmcer driver to saec print styles TdskCst cata'ocs dsks, mane ms, sarts.nerges tets ofSsk fries ¦PSountf SunRvie Industries' sampled sound editor A recorder Toolmaker' makes icons fcrnteSt programs Traaa's' draws great traca! Seascapes and mcmainscapes.
¦30 Breakout" 3 D glasses. Create breakout to a new dim ens on 'AT aMoftocr' 5 spays lists o' cpen fries, memory use. Tas*s. Devices and ports in use "Cosmcrods1 fers»or of’asxrecs’ter toe Amiga.
Szzfers' rxgft resduton grapntes dem 0 wnoeN. R, Uo&Ja 2.
Texts: ans-tc explains escape sequences the CON: device responds to.
FKef incudes template ter matenc paper to Sdnthetrayattoetopolthe Amiga keyboard.
'Spawn' programmer's document from Commodore Amiga, deschbs ways to use the Amga's rryxiskirvj capab'-lics in your own programs AmigaBasic programs: Grids' draw sound waveforms, and hear them played, lighf aversKtocil!heTrontgnt-cycievrdeogame.
UgaSor a game ef id lite "Stats' program to calculate bating averages 'Money" try to grab all the bacs of money mat you can' AMICUS 15 also includes two beautM IFF pctures, ol the enemy walkers from she ice planet in Star Wars, and a picture of a cheetah.
AmlCUaPlsklfi 'juggler demo by Enc Graham, a redo: juggler bouncing three mirrored balls, with sound effects Twenty-four frames ol HAM anmatson are lipped quekly to produce this mage. You control the speed ol the jugging The auto's docuneriabon hints that this jTogram might scneday Be available as a product parades ol ‘he covers el Amiga World and Amazng Computing.
C programs: ’toputftardterf example ol making an inputhandler.
TFifeZaoT brtary He editng program ‘ShowPnnr dspiays IFF picture. And prints it "Gen* program mdeies and retries C Stoxtires arte variables dedarad m the Amiga include fife system.
Executable Programs: TuHlr*2 repazs in executebte program 5le fa- expanded memory ’ns2smus' converts Muse Srudo fries to eFF standard 'SUMS’ tonrat 1 have heard ffxs prcgram rr.ght have a few bugs, espeoaiy in regards to very long songs, but it wcrks in most eases.
* MssHe‘ Amiga ver&on of the Missile Ccramanrf v-deo game, Ths
disk also contans several Bes cl scerarcs for Amiga Figft
Sm-Jator 11. By pultng cne cl tvse seven 5es on. A blank dsk,
and nsertng it in me flrrve aber perfer-,ng a speca’ command m
tha game, a number of imerestrig tecabons are preset into the
Fight Simulator program. For example, one scenarc places ycv
plane on Ateabaz.
Whfe anofter puts you in Central Park AMEl&flflLU TdcommunicaBons dsk wtnch contains six terminal programs.
* Comm*Vi 3 term prog, with Xmodem. Wxmodem,
• ATefm’ V7,2 ierm prog, mcluries Super Kermrt ‘VT-lOO‘V2.fi Daw
Weeper's VT-100 emulator with Xmodem.KermiL and scriptng
• Amiga Kermi * VaD(060) port ol the Unix C-Kerml
* VTex‘V23.t Tektoina graphics termmafenJatr based on the VT-iOO
pr . V5L3 and contains latest ’arc' tie compression 'AmgaHos!'
V0.9 lor Compuser.U Includes HIE graphics abilities & CIS-3
file iransler protocol.
‘FixHunk* expansion memory neccssiy ¦RxObj’ removes garbage characters from noflcm received ffes T xf liters text files from odxr systems to be read by the Amga E C. ‘addm.en* executeabe version lor use wtti mem expansion atcfe ir AC v2_1 ‘ato ffe docurentaton and a baste tutorial onui’arc'mgfles ’arcxe* formakerg arc" fries E.C. AMICUS Disk 19 Logo Amga verson ol too popUar computer language, with exampte programs. E D Tv'Ten Demo versfen o the w*Text character generator PageSenet Freery cSii'ibutabe versions of toe updated PagePrxi and PagelFF programs ter toe PageSettor desktop publishing
FudWindow Resizes any CU window using only CU commands, E-D LleJd 3D version ol Conway's LIFE program. E-0 Bmcn Amga3asc program ; _._i . Latons cl memoy.
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* GUIDEJ&miga AC’s Guide lists the descriptions and contents of over 380 Freely Distributable Software disks as well as over 2700 Amiga products.
On Sale Now at your local Amazing Dealer Defdisk CLI utility to re-asston a new Workben i disk. S-E-0 Cafendar.WKS Lotus-compatibfe worksheet tnal makes calendars Set Key DomqofkeyboatokeyroproffiTmer withJFF picture to make functan key labels, E-D VPG Video pattern generator tor aiming monitors. E D HP-tQC HewfeC-PackaJd-iwecaiaiiata.E-I) SetProls Change toe Preferences senngs on the fly. In C. S-E- D StarProbe Program studies stelarevdution. C source Included tor Am9a and MS-DOS. S-E-0 ROT C version of Coin French's At caSasc ROT program Iram Amarng Corputng. Roi edts and dSplays po'wons to
create three drensonal Opfects. Dote 2* fanes of anraoon an sc created anddsfta red E-D Scat Lke Ing. Windows onscreen nn away Ton toe mouse, E-0 DK Decays* toe CLI window into dust, inMod Ja2. S-E-D DropSrtadcw2 Adds layered shadows to Wok&encn windows. E-D AMCUS Diak 13 Ths dsk cames several programs from Amazing Conputrg Tr :FF pfetires on tos dsk indude the Amiga Wake pan I- sfrn logc, a sixteen-cokx h-res image of Andy Gnftto.
And fr e Amiga Lrrt! Pctures from toe Amazirg Stores episode toa: featured toe Amiga.
SoAd Unear ecuascn scher m assembly language. S-E -0 Gadgets Bryan Cattey's AmigaBasi: tutonal, Su Household Eryan Galley's AmigaBasic household inventory program, S-0 Waveform Jm Sheds' Waveform Workshop: AmigaBasic. S D DisKLub John Kerman’s AmigaBaste disk librarian program, ffD Subscm:s Ivan SraOi'sAmgaBanc subscript example. S-D String, Boolean C prograT.sand executables tor Harriet Maybeck ToCy's Intucon icorafs, S-E-D Skinny C BcbRiener&ma's example for mafenq smaS C programs, S-E-D COMALh Make C took t.ke COMAL header He. S-D EmacsKey Makes Emacs function key definitions by Greg
Douglas, S-D AmonU Snoop on system resource use, E-D BTE Bard s Tale character edior. E-D Sue CLIjx-ogram shows toe size of a gxven set c! Lies. E-D WnStee C U wndow utiity resizes oxreni wndpw, S-E-D AMICUS Disk 20 Coroar.or. Decoder Steve M,cr» A-. 9aBase tods, S-D Botcd BOB and sprreedior wr,ten r C.S-E-D SprseVastell Sprite ector and aamjtor by Srad Kfefer. ED 31 lab Bitter chp exploration C program by Tomas fwteki, S E-0 Fpic Image processing program by Bob Bush loads and saves IFF mages, changes them with «vra! T9chn jues, E-D Bartrt Compete heme banking prog, balance you checkbook! E-D
AMICUS Disk ?1 11'get '.'ivss each mouse cfck sxrd lie a gunshot S-ED Sand Scrcfe game of sand toat lofcws toe mccsa pcrcer, E-D PropGadget Hamet UaybecA ToUy's p ccccra.' Gadget example, S-E EHB Checks to see if yeu have eitra-hail-fcnght graphites. S-E-D Pano Simple pano sound program CdSapts Makes cel aramaaon senpa for Aegis Animator, in Am$ aBa$ te Ths disk has eJecronc caraJogs lor AMICUS disks 1 to 20 and Fish dsks 1 to 80. They a-e wewed wto ne DskCai program, unduded here.
AMICUS Dish 22 Cycles Light cyde game. ED Snow.Prinlll Views and prints IFF pctures, irdurfng larger than screen PnDrvGen2.3 Latest version of a printer driver generator Animations VidcoScape animations of planes and being ba'I Garden Makes fractal ga’dcnscapes BascSorU Examples of txnary search and irserton sort in AmgaBasiC AMICUS DiaK 23 AnAMiCUSdiskcompietefyd«kafedjomu5 contoeAmga. Ths disk ccrtans two music players, songs, insbu- nents. And players to bring the ton!! Of placing 'Big Sound’ on your Amiga hstumerfis a collector of 25 instruments for pfeyng and creaing muse. The cofeoton
rar es from Ca-zan 10 Mamba Ust PfSTR program to is: toe meruments DMCS wJ not load as wefl as lat tne cngra fa1 any Bbss-jmeri Muse acoftectonof triCtisicaf p ces 18120verfere The '-6 nmuto classical feature compfete wi*i Cannon!
Three Amiga kiste Players: SMUSPay UuSteCrattSMUS
M. uSCSIutoc2SVUS AMICUS Disk 24 Sectorama A dsk sector edior ter
any Am, gaQCS Ffe-strxwed device, recover ifes Yen a tras"ed
hart dsk. By David Jarver of Mcoffusjons teontie Reduces the
sze of IFF mages, companion program. Recofcr, remaps the
palette ofcrs ol cne picture to use tttopatefleobcrsol
another. Using these programs and a tool to canven IFF brushes
lo Workbench icons, make icons took 5fe miniatures ol the
CodeDemo Modula-2 program converts assembler object fifes to infine CODE stalemenS. Comes with a screen scr&ln; example AiiBug Workbench hai makes toe same fy war* across the screen at random intcrvaJs. Otherwise, completely harmless BNTods Throe examples ol assembly language code iram Bryce Nesbitt;
1. SetLace prog la switch Interlace cn&cft.
2 Vvhy. Replace AmigaDOS CU Why
3. Uadi, prog to loade ffe Into memoy uns! A reboot Ony the most
esotex hades wJl fzvd Load usetJ.)
Menace C'J program resets Preferences to several cocrs of mortechrome A ztettac« sceens. C source is mdrtoed. Works with DsbayPra?. A CU program wtwto dsplays the current Pre'erences settrvms BongMacbne A ray-Jacsdanmation of a perpetual modonBcing- materg rnacbne, indudes the latest version ol the Move program, wfxh has toe abiiiy to play sounds afcng wto toe arxm4tion. By Ken Cher Daisy Example of usmg the tariator aid narrator de.ices to mafe toe Amga taN ttswrcsnnC.
QuckFix Scnp-drivm mubon ana sideshow program fips through IFF Ltjges perlcrm simple maripulaions t Random background program, a snail ' Moose window opens’wrth a moose rosem being Bullwinkfesayirvq witty phrases user defiiabe.
DGCS De'u.e Grocery Constructon Set, simple Intuiton-basedprog lor assenblng ana prrl ng a grocery kst The Virus Check drectevy holds several programs relasng to 7 j software vtrw toat came to too u5 from pirates m Europe as detaied m Amazing Computing V2.12.3,11 Koester'S lut ixpianatten ol toe wrus code is included. One program checks lot toe software virus on a Yi'crtbench disk, the se»nd program cnecks lor toe virus in memory, when »Jd infect other disks.
AM£U£Pi&23 ffemesa Grapfxs decc pans torougn soaoe lowarts toe mjflKal din. n of toe sun wito wortdfiffii music and sp ce graphcs.
The Ktcfe y drectcry wds text rat desaipes several patches to toe Kteksiandsk. ForAm ca 100C hackers who feet com!onable patching a duk in hexadeomal, KickPtay offers the charrato automaacaJly do an ADDMEM ter old fixpara,on memory, as we' as toe a airy ia change toe pictura of theTjertWoriierxh’hrard Aorvg r 13 a’so rcteded ter restoring toe ccrrac: checksum of toe ttcxstt.n dsk.
KeyBrd SASC prog edts keyrrapj, adjust toe Workbench keymaps or create your own BcdorWB Moof.es toe Y Dfktxmch so three btplanes are used, icons can have (tight colors, instead of lour, e-ght-color icons aro included Pubic domain program 'zapiccn* cr ‘brushZcon’ converts agnt-color tFF brushes to icons, to use Deluxe Pairt to makg (Oms tor This new Workbench, Brush,icon Converts brushes to teens Ibizan docs}.
Egraph Graphing prog reads |i.y| vafeos from a ffe and displays inem on too screen, similar to the ramo-runed Unix program, Keept .1 Messago managng program for Ibecom- mun catons, lets you save messages Iron an online transcript to another file, understands toe message forr-atof toe natncmaJ networks and severa1 types of tuifetn bcart sotware, Moves the hararpi and save messages JasbSr Speed up dreccry access. 3 creates a smaI ffe in each drectxy on a dsk whch contains toe in'or-maton about the files, wil also remove ai toe ’lastef' lies Item etch drectory. By Cumale's authors The LacaWB
program changes between interiace a-xl non- mtertaceVforkierch PrevwusJy. Ysu were laccd b reboct after changing Preferences to an interlaced screen Ths program ft ps tefween toe normal and extended screen heghts.
PW_Lbtty A sharewara uolty li ProWnte users.
Changes margin senngs and fort types.
Guru A Cli program, prints out probable causes lor Guru mentions; C source included.
DiyWipe Latest from SoTwareCksJiIery, removes ties Ircm dcectohes or dsk (lives, much taster than 'deete ’ Snew Amiga Base makes snowflake designs.
Wist Mafng 1st database.
Sohba'stats Mantan sc.flball statistics team recorcs Dcdgu Short Modula-2 program moves the Workbench screen around after a penod ol time, prevents monitor burn-in, AMC.US.Di5k 26 Todor Fay's SoundScape moduo code Irom his Amazing Computng alides. The sixrcelo Echo.
Chord, TX. And VU is included The lattes and Manx C source code is here, along with toe executable modufes Ctaz2 Update ol prog to corwt IFF mages 0 PorScr« fifes tor ponang on laser primers SDSackup Hard dsk backup prog with Lempel-ZiY compressicn lo reduce toe necessary number of 6sks TC3 Pnnts r'omatfen about tasks and processes in toe system: assembler source is included FirSut Lets a finctcr key act tk« a ra?3 seres of lefl mouse bttan everts DC A handy program ter pecp'e who use an Amga ‘02C 51. A men d-r e as an Amiga DOS Itecpy A Workbench program toat sends a DskChange scnaJ la toe
operatog system: instead of typing 'C skdwige d!2;‘ over and over again, just dte*. On toe teen C source included System ccrtog Ffe makes screen 80 columns wxfe ol text in too Scribble word processor.
Dtic2Ram Zbrogra.mstomavetheScnbtfe'spetrg dtetcnary to and Iron toe RAM *sk.
LercsJ Analyzes a text ffe and crres toe Ginririg- Fog. Ffesch. And Kincaid tears whteh measure readatjlty.
HerCump Modula-2 program to display memoy locations in hexadecimal, Tartan AmigaBasic; design Tartan plaids, DsrWaster Disk catalog pragra.m, BMP plays 6SVX sampled sounds in the bacxgraund wife sometong else is happening to ne Amga. As your Amga is booting , tor example ShjwRi CLI program changes you porter to a gv«i pointer AMICUS Ssalwtasacoflorticnofmouscporrefs, 4 Workbench program to display them Due to the increasing size of the Fred Fish Collection, only the latest disks are represented here. For a complete list of all AC. AMICUS, and Fred Fish Disks, cataloged and cross-referenced for
your convenience, please consult the current AC's Guide To The Commodore Amiga available al your local Amazing Dealer, The Fred Fish Collection FrrtFirtPirtia AmigaTrek A continuation of k&e's Amiga Trek acres, when are parodies of toe Star Trek seres, with an A iga Favor, Earner seres are on risk 273. Altar Uke Srmtowck Av.iOmeja Amiga port of toe Omega jane. Onega n SrfnAar to hack or rogue, hut is much more comoiex.
There is a city, several towns, a widerress, lots ol ojngccns, a multitude of monsters, lots o! SpeJSs, magic items, etc. There are several quests to complete. All in al, it is an excefent game.
Requires iWbcr mere of memory. Amga version
1. 0, binary orty. Author Laurence Brothers, An93 port b Ack
Goien-Uewshi FfCtiFiSh DISK 321 CeiHoiQ-n An rtutan based
programmers tool to convert integers between decimal,
heiadeamal. And binary.
Vary smaft. Verson 1.1. includes source in assembly code. Author: Mohael Ojav.dan IcorvJ IcorvJ significantly enhances the IconX program, and is 100% compatible, ft allows scripts 10 be executed by double-djdung die script's icon. Abdties ireudo joining the senpt wth the icon file itself, or calling it from any directory or risk. Executing either Amiga DOS cr Area scripts, outpufng to any Be cr Cevc«, (unng iroerattvs senpes ard senpts toa: contain condwnals, and creating relacve ccnsde windows mbudes a utfiiy caiert AiaU which attaches or detaches a senpc totirom an icon tie, Verscn 1.0.
includes sores in Jrcito. By: Rich Franz en Ifs An Iterated Function System viewer which graphically dspiays ceraled firction systems and allows the user to rteractofeiy create re affine fattens that define such systems. An IFS can represent comperpctores very compacTy. Smpie IFSs can desenbe an infinite rvmber of dffrem and iterating iradai aspfeys. Includes a narbe'ofi displays Lnat the author and others have dsayrered.
Verson 1.5. includes source in C. Author: G’-en Fullmer Panels Some routines ported to the Amiga by Bob Leivan, that compute toe location 0! The planets (as viewed from a specific point on die earth) and the phase ol the moon, lor an arbitrary dale and time, indudos source. Author: Kelh Brandt VIII, Jim Cobb. F. T. Mendenhal, Alan Paeto. Petri Launainer, Bob Lei van Turtle A shared library of Turtle’ funciens tor crawng n a RastPaL hdufles source in assembly and C. Autnor Thomas Abers UniiDirs A program which intercepts ca2s to dos Jbrary lo add the UNIX style .'andsyntax for cut erst and
parent directories, respectively, lo tie and path names. I.E., you can refer to files n Ihe current directory as '.'too' and files n the parent (Vector as '.dtt'.oranycom&uTaJionolthetwa Includes source m assembly Author Murray Bemea arto UarkCyster Www Another Ind that-Ee'utiiy. Wherfes searches cn your (hard-Xisk lor a ffejname) and dspfays the path total Be. Seme feafixes are case independent search. Wildcards. Rteranve node (cd nptomentoJ). Can ispiay sue and dale d fifes, always abooabte. Can archive filenames lor ‘ZOO- (like tnams'recufdr), and no recursive procedures.
Includes source in C. Version 1.18 (2-15-90).
Author: Roland Bless Et£iEMik322 Gwin This is version 1,0 of GwtN. GWIN cr Graphics WlNdow is an integrated cofleetiion of graphics routines cafiabte from C. These routines make ft eas y to create sophisticated graphics programs ii the C environment. Ore-line calls gve you a custom screen (ten types available), menu items requestors, test, circtes, polygons, etc. GWIN is a two dimensional (bating point graphics system wih conversion between world and screen coordinates.
GWIN rektoes buffi-in dipping that may be turned olflcr speed. Lise of color and XOR operations are greatly amplified. Many examples cl the use of GWIN are inducted. In an examples (Srectory.
Exam pies rcfede tire bar graph program, geographtomappng program, SPICE 2G 6 graphcs post processor, and others. Extensive docunenaten s inducted Autoor: Howard C. Andorsorv Fred Fish Disk 323 CotarTodsThroa tools mat manipulate the colors ol you screen.
&nary only. Author: Dieter Bruns CZEd A complete md package tor use with all Casio C2 synthesizers Contains a hjflf edged sound edtor. A Split simulator lorCZ l0l l00fV23CS,a bank loader and a memory (temp lor CZ-1. Ths is a lomerty con mere a! Package now released as shareware.
B my only. Author; Oliver Wagner UnkSound 1 wo examples 0 functions lhat you can Snk with you cwn code to produce a short musical ’beep' or a scud that is similar to strJung a drum. Indudes source.
Author Dieter BruiS Snow A very versatile program » tfspfey IFF IBM fifes.
Features realtime urpadcng scroft. Smart analysis of any IFF fie. Total corral over display nodes, simple sideshow processing, paben matching. And a dozen oner opens. Orty 9X. Version 2.0, Binary only.
Azthor Sebastanc Vgna Fred Fish Disk 324 A This Fred Fish D$ k is offered as an abridged Cisk until Fred can created replacement disk. One program has been removed Iron this disk due to copyright problems.
ANSiEd Demo ver&on ol an ANSI screen fifeedicr, It aBows you 10 easiy create and modtly a screen ol ANSI-styie text'graphics cn the Amga The standard AtiS! Color set (red, green, yeiOw, blue, magenta, cyan, wfvte) and lurt styles (plain, tdtilac®. Underlined, itafic) are provided, along with some simple editing and drawing lindens, Ths demo verson has the save features disabed. This is version 1.3.0. an update to version U OaDondsk 221. Binary orty. Author Greg Epiey Disk Free An smaS icomfiabte intuition prpgram that shows the amount ol Iree space avaJaoie on all mounted disk davces. Bolh
numeicaBy and graphicaBy. Version 1 .D, s'arewa e, bnary only. Author DieierKura DpfFT An enhanced version of Dptol'romdsk SO. Dptotis a smpie ttisplay program tor expenrnemal data, wtfh trw goals of supporting pagrg through lots of daa and Crowding comtortaUe sca ng and preMntifcn. The anhancenserts tor DPFFT inetude add,tian cf a Fas: Fouier Transfcrm (FFT). Dsplay cf a customized ampieude and phase soectn n, a prewrtlering capabeity, and a Welch window tu spectral &T,oomrg.
Ths is version 2.1, txnary oniy. Author: A A. Walma MaJchk A mai client lor DneL which wfl rvlorm you ol any new mii and vni: give the choce of vewng, detet g. Cr prnting a messarje. Version 2.0!, includes source.
Author: Stephane Laroche FredFisnDa«L3£5 Bafchman a program nai aJcws me user to execute Cu programs and batch Bes simply by cfcking on a catecb ii can be used as the center o* a turnkey system. Where the user simpfy clicks on QaOgeis 10 launch applatons. Version 1.1, includes source in Modiia-ll. By: Michal Todoiovc Dctock A 'Dumb Clock' utJity that dspays the daio and time in the Workbench screen title tsar. Uses only about 2 pucont ol Iho CPU time and about lOKb ol memory.
Also has an alarm dock leaiue and audbfe beep lor programs thal call [ spay Seep. This is verson 1.12. an update to version 1.5 on dslt 2S8. With many emancemertis and a lew bug foes. Includes source.
Auhor: Otaf Banhel DoFfevi$ icn Ths program implemerts easy cmation of score* code revision headers (very smilar to the log headers 10 be lewd at Ihe top cf the Amiga C incfucfe fAjs). Verscn 1.0, indudes souce. Author: Ola!
Borthol FAM A Fito Access Manager tor the Amiga that a tows mJtpto Arexx programs to access a buffered verson c t drectcry ri a consistent anj seraized mamer. T buffers at names, dates, sizes and so cr. For qiick access. Verscn 1.1 »th sxra. By: Darren New Fa.’Pm; DtOuggrg tencborts tor programs whch den; have any finks to Sher environment FarPrrt consists of two maior pans; a hatou process open to receive and dstnputo messages and requests, and a set ol C functions to be finked into any program wishing to communicate with the FarPnnt main process, Ths is version 1.5. an update to versoi
13ondisk2S1,and adds a shared ibrary as well as linker libraries lor bcJi Lattice and Ar.ec C. Includes souce. Author dal Banhel Key Macro A koytxtiard macro program, configurable via a text fife, that also supports hotiy program execution You can map up to mghi lirations to each key. Including keys su i as Cursor keys, the return key. Etc, Version! .0, includes source. Author Otai Banhel UleCycfes Some sortolborhythm type program, No docs included, Verson 2.0, binary cnty. By: Mdfel Tpjcrovic MemGuard Mein Guard 5 a Mem WaxhTiko program when hat been rewntten r assembly for rrarmum sp»«d and
efficiency. UrJke Men Watch Mem Guard ttes notnitasTaskinacinTyloopbulratherasa tow fevDf nterrjet routne when is capatla ol trappy memory thrashr even beiore exoc rmgrt know of a anc even whfe task swiitfmg 3 lorbdden. In lad me tow memory area ts cheo d ea i tram*. Vkluaty no prccessng tme is wasted, ne irtenupt ra jne does the check in about half a raster scan fine's time. This program was contributed by Rail Thanner. Who spent three weeks programming A debuggng it. In this program Rail uses seme very ddcate mcks 10 let rts interrupt routine wok with intuition alerts.
Version III, binary orty. Author: Ralllhanner FtexxHostLfc This is a shared fibra package to simpfity the AR&U host ere,a sew management procatere.
Ren-nessage paring ts also inducted making it pospbfe to conLrol Arexx from programs such as Am aBASiC (can you imagine AmigaBASIC centreing AmgaTeX?), Includes scurco. Author: Olaf Barthef BBUBttflma CBOump ThisisaCULEiT fcrTiosewhoareworkrgwcJi to Amiga's cfipboard device S's soe purpose to 6?ei5 to dAnp ihe anem coroeros 01 the ciptoard tosWcutorbyredsrectertoappecrafife. Usefii 'cr tescng and menacing wth programs mi do not support toe clipboard, Scv» 'hduded By Sieptoer Vermeden.
DispMod One 0! Tre series Of R033S(Re*xCCfeCJ Bmfeng Stock System) rr.odUes by Larry’ Philips. CuspMod isa drtpfay module that only understands Arexx messages. It allows, under program control, the dispfa y ol text and the acceptance of key board data. Version 0,11, indudes source, Autixx; Lany Ptilips ftb This program converts an icon to an IFF pctue (brush) fife. It handes bo:h snjfe and alternate imaga (inmated) icons, This a verson 1.10 which adds a colour palette 10 the previous version Iron disk 85. Version 1.10, binary only Author: Stephen Vermeuten.
MaoTerm A very smal, very simple, almost txandead terminal program. Primarily useful as an example of how to talk to the console and serial devices.
Version 0.1, includes source. Author: Stephen Verm euten.
NeuronalNets Programs tor playing w.th Neurorfef Nets usng Hopfcto a«J Hammng algorithms. Bxnary. By: Uwe Schaefer PcpScroen Asmafh ktopcoahddenscroeniothe front from the CLL Ths was wrnten 13 atow the author to use Vtfjr wo oiter programs that aisc use custom screens. Source included Author Stephen Verm eufen.
Snap A tool lor dipping tert or graphics fion the screen, usng the eloboard device. Snap finds out character coordinates automatcaly, hantfes different tents keymaps. Accented characters, and mere VH, an update to FF2T4. Indufes source.
By: Mikael Kartsson Vsnap Ths is an enhanced version cl Snap ’ 2. Submitted by Stew Vemieifen, when adds r»e abuty lo save dipped graphics as IFF FORM HEM'S tome clipboard, so they can be imported to other programs thai understand IFF and toe clipboard.
Dubbed it Vsnap, since toe official 1.4 Snap is also indudedcn this disk. Includes source. By: Mikael Karlsson, enhancements by Stavo Vormaien Fred Fish Plait 327 ARTM ARTM (Amiga Real Tire Monrtor) (Ssolays and consols system acrvity such as tasks windows, itoranes.oevices, resources, pens, resfeerts, interrupts, vectors, memory, moans, assigns, loros and hardware. IndudesBothaPALandanNTSC njrston. Tttsis version 1.0, an ipdate lo version
0. 9 on disk 277. Binary only. Author: Dretmar Jansen and P. J.
Mertens MM An implementation cf toe game Mastem id. In this
game you must try to guess a cokv combinaDon whch toe aruga
sets «aa random generator.
There are 5 raters wbch can be set ir. Any contwatojn. Indbes soaa. Author Dtetmar Jansen MRBacfcUp A hard dsk badap utihy that does a fie by fie copy to standard AmigaDOS Coppy &ks.
Includes in ntixton iniertace and file compressor).
This is version 3 A. an update to version 3 Je on ask 279. Binary only. Autoor: MarkRinlret Msh An Amiga lie system handler that handles MSDOS lomaned diskettes. You can use fifes on such dsks to arr.ost exactly toe same way as you use (2es on natve AmigaDOS disks. This« a My futotcnai, readVirte version, that supports 8,9, cr 10 sector d$ ks ol 80 tracks, and shoute also wok on 40 track dnves and hard disks win 12 or 16 Ext FAT ol any dimension the FAT aJkwrs. Includes source. Author: Olaf Seibert Sofflom Converts portrait soft loros tor h P LaserJet compatibte laser prows to landscape lormai
includes source. Author: Them as Lynch Fred Fish Disk 328 AnalytCato A Ul featured system tor ramencal analysis and reporting, indudes a spreadsheet, grapftcs programs, dccumerts and fadhfes tor pertorxrg many comznonfy needed kmcns.
Featores nokide an 18000 by 18000 ceO spreadsheet using virarafmemonr, random access to other saved spreadsheet lorrmJas or values, easy save ormerge of partial sheets, up to 400 windows cn screen, abtiy to dnvo any cel Iron external rracros, butt in matrix igebra. Random _nunber generation, date aritoemetic. Aid mttoft more. This is version V24*01a, an update to FF176.
Binary oniy. Author: Glern Everhart Fames Some miscellaneous programs from ChnsHames.
DrWorkVt.Ot is a fast, small, simple efficient DirUSSty. FSOirs VI 3 is a fkcppy accelerator program. VWK V27 is a smal viros detedor.Vifer that knows about 27 dffcrent w,roses and can dwect new ones, N0W0VI.O steps programs Irom prodjdng'jnfo* files. Binaries only. Autor: Chris Hames RoadRouie A tnp piarrar toat takes a lul ol cues and a list of known routes between bw». And generates the dstance and time required to reach your destination, An uoda'e to FF 251, wth an expanded datebasa cf dees and roads ler New Mexico. Texas.
Otoahoma. Kansas. Nebraska. South DakcU.
Lomsiana, Arkansas. Missar. Cafarado and M ss-ss p, added by Fred Mayes and Gary I «r Includes source. 9»: Jim Butledfeto. Fred Mayes.
Gary Delzer Fred EishDiiK 222 CPU Two programs, one m C and one in assembler, wfvcJi check lor CFU type. Th.s version can detect 68OCO. 68010,60020, and 68681 processors, incudes source. Author; Ethan D*cks, based or WhatCPU by Dave Haynie DskSpeedA risk speed testing program, spocficilly designed to give toe most arauaie results ol the tree d sk pertoroi-anceofthedskunder test Automatically updates and maintains an ASCII database of disk results for tested disks. This is version 3.1. an update 10 FF288, with some source coda c-eanups and stress tests for CPU and DMA. Includes source in C.
Author; Michael SiU Expie A compiete rewrite, from toe ground up. TfiDrara.ol Pete? Langston's Empire gam e, E mpre is a rr-uoplayer game of execration, econcrr.cs, war, etc, which can last a coupfe of mcrohs Cnbo played either cn ne locaf keyboard or lerootety through a modem. Ths is vtrvcn 1 3w, an update to Ff 118. And ncVtes many changes and enhancements. Binary. By. Chns Gray. Dawj WngX Peter’-ar sfcr FreSystems Displays AmigalXJS 6 sk Oe.xes wto formation about the head geometry. BufMemType, and too lower level exec device. Indudes source, Author: ElhanDcKS Che Plane Removes the hghest
ronber txtpiane from the WorkBench screen. Normally used la take Workbench screen Yon 2 trtpUn« to t biplane.
This aftows CON: styfe devices to scrofl text taster.
Hektoes source. Autoor Etoan Dcks mmmm Mosba A very versatie program to daplay FF ILBM fifes.
Features realtime unpacking scrot, smart analysis cl any IFF fi'e. Total control over display modes, simple slideshow processing, pattern matching, and a dozen other options Onfy 14K, This i$ version
1. 0. an upgrade to toe Show program on disk 323.
And adds SHAM, dcube buftenng. Editor decompression, color eyeing. TeXdras, startup files lor easy customizing,and complete WorkEeneh support torcugh TocfTypes and Styfe icons. Brury only. By: SebasbanoVigna Pcfetfe A106 which allows you to charxge another program's Cuslom screen cetera, This aversion
1. 1. an update to the version on disk 55. New leatures include
checks for WorkBench startups, checks for HAM. Half Bnte. Or
mora than fw bolanes. And more graceful exits. Indudes source
m a«em by. Autocr, Randy Joued. CJ Fnjge, Carofyn Scheppner.
CharSe Heato WOO A vt100 ermJator lathe Amiga, which aisc
supports various fife transfer profocbs ike karma, modem,
ymodera. Zmodem, etc. has an Aren port, can use custom
external protocol modJej. And more. Ths is version 2Ja. An
uodate to verscn 2J) on tksk
275. Includes source. Author: Dave Wocker, Tory Sumrall, Frank
Antoes, and Cfxick Fcrsberg XprKermit An Am a shared library
which provides Kema fife transfer capability to any
XPR-compattote communications program. Supports version GO
ol the XPR Protocol SbJoftoatien. Version 1.5, mciudes
source. Autoor. Marco Papa. Stephen WaJton E_redEl£iLBM231
Croots A game based on ccmputer programming. Unlike arcade
type games which reQure human input controlmg some object,
all strategy m Crobols e condensed into a C language program
thal you design and wr'e. To control a robot whose mission
is to seek out. Track, and destroy Other robots, running
different programs. Aft robots are equaly equpped.
And up to few may compete at ora. Verscn 2J2w, an update to FF311. Bnry only, source avaiatie from author By; Tom Poindexter, Arxga verson by David Wngh; Csh Verscn 4 Ota of aosh l she! Denied tom Mar Dion's shed, version 2.07. Thu ts in update to rerson 4H0a cm disk 309 Charges include mostfy bug fixes and corrections. Includes source. Author; Matt Dilon. Steve Drew, Carto Borneo, Cesare Den Sf2Ex A program to convert IFF pctures to an erecutebfe. Ft can handle NT SC PAL interface and overscan. Verson
1. 0. binary only. Author: Peter van Leuven IhA'cA An
imuiifonized and faster verson of Iftarc for the Atiiga.
Reouires AflP library . Verson 0.59a. binary cdy. Author.
Hamyasu Ycshizaki, Amiga verson by Stefan Bofcerg LVR Link Virus Remover. A program that recursively searches drectoriesfcr ink viruses in executable fifes.
This is verson 1.20, binary only. By: Pieter van Leuven NTSC-PAL Utilities which alfow Amigas with me new ECS iva Agnus to eaaly switch between PAL and NTSC dsptay modes. Version 1.0, ncludes source in assembly.
Author: Nico Francois PalchLoadSeg This program patches the loadseg routine to automatically detect Ink viruses when a program ;s loaded. Displays an alert when a virus is detected in a program beng loaded lor execution, Version 1.20, includes source. Author: Pieter van Leuven VrusfJUs Two programs lo detect viruses on disk and m memcry.
V,rushunler removes all known viruses in memory.
Viruskiller removes a3 known viruses in memory era after removing the viruses the disks can be checked without the vans copying itself to the disks. Version 3.60. binary only. Author Pieter van Leuven £(ElEMsl322 AnPtrs Some ate animated porters, i have adopts c!
Them as rr.y permanent replacement for toe bcnng red arrow. Binary only. Autoor; Bob MeXain DevPatch A program that instars a pafch far CpenVrfndow to check die New Window stnrtife. :f the rie matches a spedfc string, ire hftght w.:ibe forced to45 pixels. Ths helps to reduce ch'p memory usage ter programs that open cvtedy large win flews and then seldom use them.
Includes soiree. Author Jerri* Tyberghein, Nico Francois, P. Marivoet Heftier A little InputEvent hads. Activated via the HELP key.
Originally meant to provide a unique method cl giving the user Ifep (you don t have to put that haip stuff into your own program), Now also contains a color requester and a small notepad. Version 1.01. includes source, Author: Michael Balzer Ki_£tf tor An editor lor she Kawai K1 (m) synteewer with two auxiliary programs for managing sound dumps. Trtis is version 1.00, shareware, indudes source. Author: Michael Ba'ier Krypton A smal, simple ard canlorabfe He encoder decoder.
Version i .0. includes source. Author Michael Baizer RevSul Another IftpulEvent hack, giving yo-j a togg ing ngfii mouse button. Version 1.0. indudes source, Author.
Michael Baser Fied fish. Disk 333 MutiPlot A package for making 2D pots convenientJy. Tim Mooney wrote the org naf program, which was then erharred by Alan Baxter with a dee- user interface, support ter the FLT: device, and Support for file conversions, Rich Champeaux and Jum Mrfer wrote the PLT: handier when em-ufetes a pfotter by accepting Hr-GL ccmmancs. Creating a raster image, then dumping it to ary preferences supported graph© printer. This s version XLMh, an update to FF292, and includes many bog fixes. St te changes, and enhancements, includes source. Author: A’an Baxter. Tim Mooney.
Rich Campeauxjim MiEer Fred Fish Diiii 334 F8M An Amiga port of the Fuzzy PixMap image manipulation library. This package allows manipulation and conversion of a variety ol color and BSW image formats.
Supported formats irdude Sun rasted. Es, GIF, IFF, PCX. PBM bitmaps, "face' fifes, and FBM fies. Also has input converters lor raw images, Ike DfoiView files, and output converters lor PostScript and Diablo graphi cs Besides doing formal conversion, some cl the other image manipulation operations supported indude rectangular extraction, dense and contrast changes, rotation, quanfetfot, halftone crayscafirw, edge sharpening, and histograms. Verson 0.5, bra.*y only.
Author: Michael MatASn; Amiga port by Kenn Barry PPMore A *more* replacement program that reads normal aso text Lies as well as f es crunched with PowerPacfcer The crunched fiies can result in con&der disk space savings. Version 1.5 binary only. Author: Nice Francos PPShcw A ’shew’ program tor normal IFF IBM files ct ILBM Hes crunched with PowerPaekef. The decrunchng is dene auto- maticaSy as toe fife is read. Verson 1.0, binary only, Author: Nico Francos Whatls A neat tide utSty when not criy reccgnzes a woe vanety ol Be types (exeaiabes, IFF, cons, zoo “lies, etc), but prmts interesting
information about the structure or omens cl she recognized file r pes. Verson 1,2a.
Bnary only. Author J. Tyberghein Fred Fish Disk. 335 BoingDemo Demo versten of a neat game due lor release in March 1950. It is fully fincticna! But toe play time ss limited to five minutes per play. Version 0.30, binary only. Author: Kevin Kelm. Alternate Realities DTC A utility providing a simple calendar which can hod and show appointments, It may be useU in managing your lima. Its chel goals were to provide day. Week ard mcnth at a glarce lor any date between 1 1 0001 and 12 3! ,9999, defaulting to ihe current date, ft is menu driven and fairly easy to use. Includes source in Fortran.
Author: Mitch Wyfe, Amiga port by Germ Everhart SeeHear A program to do a spectrogram of a sampled sand file.
This is a graph with time on one axis, frequency on the Cher and the sound intensity at each point ostem nimg the pixel eoter. With source in C. irckxJ ng FFT routine.
This is version 1.1. Author Daniel I, Johnson Fftti Fish Disk 335 Ca' A two-d-menscna! Fu Screen scrottng racing game wto reafistc four channel stereo sound a**- overscan lor etrier NTSC or PAL At:gas. The goal is to gede ywr car around cne cf ten selected tracks. Each track has its irxSvdual hgh score fist Verson 2,0. Binary on:y.
Author: Anders Bjerin FbeWndow A completely public domain fie requester which may be used ci any program, even eemmertia! Cnes, t uses dyna.Tica.ly allocated memory to hdd the file rarr.es so the enfy limitation is fie amount of memory avaiabe, includes a filler opfion lo tms dspfay cf Renames to criy cnes with a specific extension. Names are automatically sorted whle they are besng read and displayed. VI .10. netodes source. By. Anders Bjerin MnBlast A sfrorem up game which rurajtsl fire in a multitasking environment. At last you can enjoy a satisfying megablast while you are writing a
boring essay. Shoot anytoing that moves, and if 1 doesn't move, shoot it anyway. VI .00. binary only. By: Anders Bjerin Sys A game built on the addictive game PONGO but with several added features. You have been assigned the demanding task of cleaning viruses from your SYSOP's hard d»sk. To kill a virus, you simply kick a disk at it There are fifty different levels, and on each level. The speed wfl increase and the vases will be smarter and start to hunt you. V2.10, binary cnty. By: Anders Bjerin Elfid£t«l.Dial33Z 0 Manual A ccm piete G m anua! For lie Amiga which describes how to open and
work wlh sceera. Windows, graphic, gadgets, recueste-s. A'erts. Menus, IX I .?, sprites, etc. The manual consists of more 200 pages in 11 chapters, together wifi more than 70 Wy executed examples with source code. When impacted, the manual and examples nearly fl up three standard Amiga Hoppes. Ths is version i .00 and indudes source for al exampes. Author: Aiders Bjerin frsdfiaflDWi33fl Cpp This is a copy ol the Dscuscpp, ported to the Amiga.
This cpp is more powerful and complete than either cf the built m cpp's in Manx or Latice C. This is an update to the version on disk 2S. Ft has had same ANSI features added. Includes source. By: Martin Minow, Oia! Seibert SASTools Varous submissions from 'Sick Amiga Soft’. Indudes seme virus tods, scrr.e screen hacks, some small games, and miscellaneous utilities, includes source in assembly and Modufa-ll. Author; Jorg Sixt SID A very comprehensve d rectory utility lor the Amiga that supports at least a couple o! Dozen different commands for operating on files. Version 1.06, binary only.
Timm Martin ErsJ.Esh.Di5k 333 PCQ A (reefy ledstributaote, sell compiling, Pascal com pier for the Amiga, The only major feature cl Pascal that is not Implemented is sets, Ths is version 1.1 c. an update to verson 1.0 on disk 183, It is much enhanced and about far trr.es faster, induces the ccmp'er source and ear,pie programs. Author: Patrick Quad EfMfldUM3jfl NorthC A ccmpJete freefy redstr. tab'e C envronneri for the Amga based on the Sozcaon Ltd C ampler, Chsrie Gbb's assembler, tee Softiware D tibery's Tnker. And porters iron other sources. Steve h es puled everything togeteer and added
some enhancements n the process.
Versdn 1.0, partial souce crty.By: Steve Hawtin. Et al.
Plpiot A Lbraty of C functiors useful lor soertEc pictting on the Amga. The library is Lance C compatible. Ccrtour ploSng. Three dimensional pfottirg. Axis redefinition, log- log posing and muitipJs subpages are a few of Plpfct's lealires. The plots can be displayed on a rrontcr or sen:', to a graph© fi'e lor subsequent printing. This is version
2. 6, and update to version 1 .CO on F222. This verson includes a
greatly improved intuition interface, preferences support ler
hardcopy, several new device drivers, and the capability o!
Addng addition at device drivers easily, includes source.
Author: Tony Richardson SpeakerS:m Demo version of SpeakerS m
2.0, a icudipeaker CAD program, Simulates vented
(Thiete-Smail) and closed box systems. A so simulates 1 st.
2nd. And 3rd order high and low pass Nters. Binary only. By:
Dissidents EttiBslLDisiLMl P2C P2C is a tod ler translatmg
Pascal programs into C. ft hand'es the foticwing Pascal
defects: HP Pascal, Turbo' UCSD Pascal, DEC VAX Pascal Oregon
Software Pascal Z Macintosh Programmer's Workshop Pascal.
SunBerketey Pascal lfodua-2 syntax is also supported.
Most reasonable Pascal programs are convened into tjSf! Jnctona! C which wit con pie and rtnw-nno ftmer moufcaticns. V1.I3 L-dudes source. Author.
Dave G:tespie. Amiga port by G. R. (Fred) Water Fred Fish Disk 3 2 £ This is an iccn editor wtveh can meate and modify teens up to &Wr200 pixels in size (also dual render). It can set stack size, position of toon (aisofree-fteating). Default tcto. 10 tool types and control over opened window. It can also generate the C source rode behnd tee icon for program inclusion. Verson 1.0, binary only, source available Iron author. Author: Peter Kiem Sksh A ksh-Lke shell for the Amiga. Some Of its features include command substitution, shel functions with parameters, alases. Local vanabtes, focal
functions, focal alases, powerful control structures and tests, emacs style line etfiting and history functions. LO redirection, pipes, farge variety ol built-in commands, Unix style
w. ldcards, Unix style filename conventions, filename completion,
and coexistence wifi scripts from other shels. Very wen
documented. Version 1A an update to version 1,3 on disk 309.
New features indude a ftiny* version, a working case
construct, support lor resident commands, smaller and laser
external commands, and more. 3nary only- Author: Steve Koren
Sort fort Converts portrait soft fxts for HP LaserJet
compatible laser printers to landscape formal This is an
update to Fr 327, Includes souroe. Author Thomas Lynch FreJEsh
Pis* 343 SnakePit Asmpie.yetaddovegameinwhchyoumustgettee
snake (you) oft of tee screen. There are, however, some rough
spots and some obstacles tea! May reed to be
e. trroroe Excel lent example of a game teat is as system
Iriendty as pcssofejwrte source). By: Michael Srtz Soft Span
Soft Span BBS program. Intuitive. CommandLne based menu system
with message bases, up'dewn loads, Me credt system, edensrre
help system.etc. This is Shareware rerson 1.0. txnary only,
tartiro C source ccce avaiabfe from the author. Author Mark
V olfsfoehf Stockbroker A program teat helps you fdiow the
recent table c( exchange from one (or more) shares). But of
rouse you musttedtheAmigateo recent labfe of exchange every
day. Requires AmigaBASlC. Bunamy only. Author: Michael Haneft
Fr?J Fish Disk 344 Keyboard Functions to translate RAWKEY
intuition messages xito usable keycodes. Translation into
Modula-2 ol C source (by Fabbian G. Dufoe, III) on disk 291,
Includes source. Author:rabban G. Dufoe III, Peter Graham Evans RKMCompankxi A two disk set ol material created by Commodore lor use with the 12 revison ol the Amiga ROM Kernel Reference Manual Libraries and Devices, published by Addison-Wesfey. Almost 300 files, inciudng C source code examples and executables, have been packed into two raro archives, me lor each disk of the two disk set These examples are net pubtc domam, but may be used and dstnbuted under the conditions specified in tee copyrights Author Commodore Business Machines. Inc. FreJEsh Disk 343 Chcfotfs A game based on computer
programming. UnSke arcade type games which requre human input cortro'Ing seme oCxec, al strategy in Crobots is concerned into a C language program that you design and write, to control a robot whose misscn is to seek out. Track, and destroy ether robots, each running dferer; programs, AS robots are equally equipped, and up to tournay ccm pe:e at cnce. This is version 22w. An update to rF331. Binary only, source available from author. Author: Tom Poindexter, Amiga version by David Wright Du Prints number cf disc blocks used In se amed files or drectaries. Modified from original version on disk
43 to make output more readable, and handle 'C exit, includes source. By: Joo Mueller, enhancements by Gary Duncan Get Image An enhanced version of *gi' Irom 14.1; now looks lor the GRAB marker, in the brush fife, instead of assuming that itisala specific place, sets up the PlanePick value in the image structure, and deletes any unused biplanes to save memory and dsksoace. Includes source. Author: Mike Farren. Enhancements by Chuck Brand MemFrag Displays number of memory chunkssizes to show memory fragmentation. Chunks are d sp'ayed as 2"N bytes wh. Ch is a rough guide but still use'ul This is
an enhanced verson of ‘Frags* from disk 69. Includes source. By: Mka Meyer, enhancements try Gary Duncan ficses A program na* drews sne roses Ltp-’ements an aJgontem given in tee amde ’A Rose is & Rose J by Peter M Maurer in American Mathematical MonWy, Vet
94. No. 7,1587, p 63t, A s-ne rose is a grepfi cf tee poa-
ex atcn f«smfn’d)’ lor various values of n and d, Author:
Carmen Artsno linshar Tns program exirects fies Irom Unix
ihar arortres it sccres over sim Jar programs by being snaE
and Iasi handing extracrion ol subdirectones. Recognising a
wide variety of sed and 'car shar formats, and handing targe
lies spread across several shar fifes. This is version 13.
An update to the version on disk 2S7. Includes C sour©.
Author: Eddy Carroll VcEd A Voice (Tone) Editor for the Yamaha 4 Operator series synthesizers. Binary only, source avanatfe from author.
Author: Chuck Brand X2X Cross converts botween MotorofarriietiTektronix ASCII- hex files. These files are typically used v down-line- loadng into EPROMS, or for transmission where broary Ues cause chaos. Handles St, 52. S3, INTEL fine USBA records), Tektronix (inc extended). Source ir£uded.
Author; Gary Duncan.
Fred FisJl DISK 34$ Az A nice little text editor that is Iasi simple to use, and very Amigaized. Ths is versor 1.50, an update to FF 223, with lots ol re* features, bug fixes, and ether improvements. Binary only, By: Jsan-Mchei Fo'geas CassEti Cassete tape label printer. Includes sarco in GFA Base.
Author: Tho’stcn Ludwig FME Patch to AlccMem,() a alow badly desgned prog-am s which request last mem without necessity to be run on 512k machines, includes source in assembler. Author: HcfgerLubitz GoY B Very sral (296 bytes) and effective repfacemem for the wet! Known loadWB' and 'EndCLT command pair. This re'ease fixes a se.ere bug m tee f st version which used to guru if run out Of a Scrpt. Includes Source in C. Author.
Oliver Wagner PacketSupport A Ink ibrary. For use with Lattice C. proving a lew functions to handle DOS packet pcsage. Includes source. Author: Oliver Wagner PatchNTSC OS fix to aJfow tee growing number ol PAL display programs to be run on NTSC machines. Win patch tee Intuition OpenScreeni) (unction to assure screens wftn PAL height ;o be opened in interface mode. Includes source in assembler. Author: Oliver Wagner TextPami Second major release ol the Ansi editor. All major bugs have been fixed, and a bunch ol new options have been added, e.g. possibility to reload ansi files or CLI modules, 4
color option, optimized keyboard layout, new drawing modes, right mouse burton support (tike DeluxeParil) and much more Binary only, shareware. By: Oliver Wagner Timetest Yvcrkrvg example to show re time() and gmtimeO fjnctcns of tee Lattice C support i brary. IncJudes source LnC. Author, Diver Wagner WBD Possibiy the smallest utility to set tee workbench screen to any depte. Indudes souce m C. By: Diver Wagner Fred Fish Dish 347 Cursor A 3-pass BASIC Compler for BASIC prt ra.ms wttsn r, AngaBAS C. floes no! Yet support alt of tee BAS C commands but is ab'e to compte itseff. Tfts is version
1. 0. includes sa ce. Autwr: Jirgen Forster Drip Drip is an
arcade srxfe game wte 15 floors (leveis).
You must move afeng the pipes of each floor and rust teem to advance to the next level Every 3 Poors competed ml entile you to a bonus round where extra drips can be wen. An exire dnp wiH also be awarded lor every l O.COO pons. Bmary only. Author; Art Skies Ered.Esli DisK 343 CctorReq Describes the update to the cokxJibrary and has an example program, with source, that demonstrates its use, Author: Dissidents Software DsEditor This is a demo ol the ossidenls shareware text editor.
Verson 1.1, binary only. Author: Dissidents Software Ql&Secretary This program can be used to life information in a life cabinet" type environment, it is well suited lor jobs such as maintaining a disk catalog, or user group membership, etc. Included is a data file ot the library catalog, disks 1 to 310, Version 'Wanda', binary onfy.
Author: Dissidents Software FfelO Contains updated files lor version 1.6 ol the dissidents requester library. Thera ts a bug fix to the library as well as a new function See FF257 lor tee compete documental on, and examples. By: DswJents Software IBMUb Contains updated files fortee dissidents ybmJorarycn FF237. With new Lb features and a new bbrar . A sc included is a much improved (better organized) dec file, arc new C examples teat show how to use tee library for any kind ol FF file. See FF237 lor other examples. Author. Dissidents Software riSteTUbs A program to copy files to tee LIBS: dr
of a bcoldsk.
Can be used to create a handy installation program hard disks especially) for programs tea! Need dsk- based libraries, includes source. By: Dissidents Software SAMP An IFF sampled sounc format desigrred tier professional music use. H can be used lor 1 fi-bit samples, multiple waveforms, etc. Includes a SAMP wadwrtwrter shared I brary. Interface routines, and programming examples. A so Includes a program !o conven eSVX to SAMP. Author; Dissidents Software MED AmuscedtormuchlikQSourxiTracker.Ascng consists ol up to 50 blocks ol music, which can be played in any order. Editing features include
cut pasta' copy tracks or bfocks. :haiig;ng the vibrato, tempo, crescendo, and nets volume. Other features include switching of tee low-pass-fifter on or off on a per song basis, and a cute atite animated porter of a guy dong ¦jumping jacks' in time to tee muse1 Versfon 2.09. an update tom son 1.12 on FF255. Now indudes hJl source. Author: Teijo Kirziunen Fred Fnh Plan focrts A large variety cf icons for many uses, of practical e-.rery desorption. Most are animated. By: Bradl ey W. Schenck MemMomefer A program that cqens a narrow window and graphically tf spfays ycur memory usage Ike a gauge.
Based on Wfrags, by Tomas Rofocfc. Verscn 2.10. indudes source. Author: Howard Hul Stifcrtery This s-ftarew are program loads in IFF images and creates charted pattens frcm teem for use in counted cross-stitch and ether toms of needlework, ft requires one megabyte of memory to run, and works best wfth a good high-resolution printer for printing the pattens.
The Stitchery was written wth The Drectcr and the Projector is induded. Version 1,21. Author: Bradley W. Scfrenck TrackUUs Two utilities that deal with disk tracks, Tcopy cop es one or mere tracks Irom one disk to another, and is useful for copying part of a floppy disk into RAD: during bootup. Tfife creates a dummy fife which ¦marks' a specified range of tracks, preventing AmgaDOS from, using them and allowing them to te used for raw trackdsk data. Includes C soiree. Autnor Edtfy Carroil To Be Continued... !n Conclusion To the best of our knowledge, the materials in this library are freely
distributable. This means they were either publicly posted and placed in the public domain by their authors, or they have restrictions pub’ishec in their hies to whfoh we have adhered, If you be:erne aware o! Any violation of the authors' wishes, please contact us by mail.
This list is compiled and pub'lshed as a service lo the Commodore Amiga community for informational purposes only. Its use is restricted to non-commercial groups only! Any cupticatioi for commercial purposes is strictly forbidden As a part of Amazing Computing™, this list is inherently copyrighted. Any infringement on this proprietary copyrighl without expressed written permission ol the publishers wall incur the full force of legal actions.
Any non-commercial Amiga user group wishing to duplicate this list should contact: PiM Publications. Inc.
P. O.Box 869 Fall River. MA 02722 PiM Publications frc. Is
extremely inierested in belong any Amiga user groups in
non-commerca! Support for The Amiga.
(CES, continuedfrom page 79) Taito Taito has four games scheduled for release in August, although we have no details yet.
Castle 1Master, Day of the Pbarob, Kiwi Kraze .anti Operation Thunderbolt Can arcade hit) are all coming soon and will sell for $ 34.95 each. Inquiry 313 Taito Software Inc. 267 West Esplanade
N. Vancouver, B.C. Canada V7M1A5
(604) 984-3344 Virgin Mastertronic Spirit of Excalibur King
Arthur has died, and the kingdom is in chaos. You select
from a group of Knights of the Round Table those who can
help you restore peace. The game has more than 2.5
megabytes of graphics, which should make this visually
enjoyable. Due in August. S49.99 Inquiry 314 If you
enjoyed those crazy little spots in the 7-Up commercials,
then SPOT - The computer game is for you. Promised to be
the most addictive strategy game since Tetris, you can play
alone or with three friends through nine levels and 512
pre-programmed playfields for hours. October. S39-99
Inquiry 315 Alice in Wonderland features some amazingly
sharp graphics, pop-up menus, onscreen maps, help, and
icons for every object.
October. $ 49-99. Inquiry 316 Quasar- take by force an enemy planet at the far side of the galaxy. Complex strategy will be needed here as you conquer portions and establish bases of the lower worlds. Due in September, $ 49.99 Inquiry 317 Monopoly due in August or thereabouts.
You can play against a friend or the computer.
S39.99 Inquiry 318 V irgin Mastertronic 18001 Cowan St. Suites A & B Irvine, CA 92714
(714) 833-8710 FAX(714)833-8717
• AO (Accelerators, continuedfrom page 12) If you choose the Hard
Drive option, all that will be required is a simple ROM
installation, and mounting the 3-5-inch Quantum hard drive to
the drive chassis. One tiling to note is that the hard drive
comes ready to install in one of the 3.5-inch drive bays. An
optional adapter kit is available if you want to install the
drive in die 5.25-inch bay. Formatting and software in
stallation is simple. GVP includes a disk and automated
software to format die disk. In both cases, if you read the
rather small, but sufficient manual, you shouid complete die
installation flawlessly. The result is a very fast Amiga, with
a very fast hard drive nice! You wouldn't believe how fast a
cold boot is!
As for software compatibility, I have had no problems so far, except for a few games.
Even then, you can turn off the accelerator by a jumper on the accelerator board, the drawback being that you have to open your Amiga to do that, Otherwise, the compatibility has been excepdonal.
Overall the impact boards are fantastic. I have only two minor complaints about them.
First, 1 wish die manual was a little more substantia!. The second complaint is not really toward GVP, but toward the FCC. The GVP line of accelerators hascurrendy met an official FCC class A rating, while all the odier accelerators currently have an FCC B rating. The GVP Accelerator line is pending official class B certification from die FCC, but this certification often takes much longer than andcipated (probably due to bureaucracy). Although all GVP products do meet FCC regulations, it's nice to have diat official class B rating. It’s all just a matter of semantics.
But, overall die Impact boards have worked fantastically, and we have been using an A3001 8MB with the 80MB Quantum drive daily for die last three months.
THE IMTRONICS HURRICANE BOARDS The first thing about the Hurricane board: read die manual!. The manual is simple but informative, and a quick read is sure to be followed by a trouble-free installation. The installation is relatively straightforward. Just plug it in and go. There are no EPROMs to plug in, and there is only one jumper on the board (the switch from the 68000 mode to 68030 mode). However, this was the only accelerator which required some simple software installation to work properly. This is easily accomplished with die included software on die installation disk.
The built-in SCSI autobooting hard disk interface is very nice, and provides fast disk access with your choice of SCSI hard disk. SCSI bard disks are fast, but SCSI compatibility problems can make them difficult to integrate. To be safe you should contact die manufacturer to verify compatibility before spending a chunk of change on a hard drive. Although hard disk performance was not taken into consideration in our test, we have found diat the Hurricane SCSI interface was one of die faster on die market boasting a 750KB sec transfer rate and 315 seeks per second. The optional SCSI II
controller couSd only be faster. Also, the SCSI controller has been designed to support odier SCSI devices such as SCSI laser printers. (Users will be notified when this option becomes available.)
However, die only problem I had with the Hurricane board stemmed from a minor SCSI interface conflict. Reading the manual and experimenting a bit quickly resolved this problem.
The Hurricane boards also have a zero- slot solution. The accelerator, SCSI interface, and die 2MB memory only take up the coprocessor slot (leaving till five Zorro slots open). The Hurricane boards also work with die Imtronics M2000 memory boards, bringing up to l6MB memory to die board.
Overall, die Imtronics Hurricane accelerators are good workhorse accelerators that have been around for a while. The only diing 1 personally don’t like about the Hurricane accelerators is the physical design of die boards. To help bring the Hurricane boards up to an FCC B rating, die two boards that make up die Flurri- cane are situated so diat die component sides face each other, without room for the best ventilation. Aldiough die temperature doesn't even come to the top temperature specification of the chips on the boards, I believe a litde tiiermodynamic engineering couldn’t hurt.
Aside from diis tiny, and personal, gripe, the Hurricane board is a very good workhorse accelerator.
THE COMMODORE AMIGA A2630 BOARD If there was one word to describe the A2630 board it would be ‘elegant'’. There are no fancy options, no hard disk controllers, just a 25 Mhz 68030 68882 and 2 MB-32 bit DRAM.
There isn't even any software diat comes with die board. The simple 28-page manual (which includes schematics of the A2630) tells you to plug the A2630 into the coprocessor slot. That’s it. It runs flawlessly.
The compatibility is fantastic, and to change into the 68000 mode, all you do is boot die Amiga while holding the two-mouse burtons down. A requestor will pop-up where you can choose either the 68000 mode, 68030 mode, ora future UNIX boot mode. Now dial’s elegant. The board is also FCC B compliant, which is evident by the shielding around the processors. Very nice.
There's only one problem with this accelerator. If you want to expand it to 4MB, you are going to have to solder the chips down yourself, or take it to a dealer. (It uses the same ZIP type DRAM that die Amiga 3000 uses.)
Barring this deLour, this is a perfect accelerator for someone who doesn’t want need can't afford a hot rod liard-disk screaming accelerator.
THE BOTTOM LINE The bottom line is diat if you want to buy an accelerator, you’re not only going to buy a board diat’s going to make your computer faster, but you're going to extend your Amiga's performance well into die workstation category. It's not going to be cheap, as many boards with accessories cost into (lie S3500+ category, but it’s much cheaper (by diousands of dollars) dian buying a Silicon Graphics color workstation. (Besides, you can't play F A-18 Interceptor on a Silicon Graphics workstation.)
During the next few months we will present complete reviews and reports on tiiese marvelous wonders that push the Amiga to its limits. We will examine accelerators in conjunction with ray tracing, disk access, modifications, options, etc. Until dien, look out!
Speed is addictive! "AC* Products Mentioned: Gieot Volley Products (GVP) 600 Clork Avenue King of Prussia, PA 19406
(215) 337-8770 FAX (215) 337-9922 Inquiry 331 Imtronics. Inc.
12301 S.W. 132 Court Street Miami, FL 3318*
(305) 255- 9302 FAX (305) 255-6903 Inquiry * 332 Commodore
Business Machines 1200 Wilson Drive West Chester, PA 19380
(215) 431-9)00 Inquiry 333 &MIGA AC GUDE miga Name_ Address.
- Zip_ State Charge my ? Visa ? MC _ Expiration Date_
.Signature. All Charges are subject to a $ 20.00 minimum
(charges under $ 20.00 will receive a $ 2.00 service charge).
Please circle anv additional choices below: Please circle if this is a New Subscription or a Renewal 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 delivery.
PAYMENTS BY CHECK. All payments made by check or money order must be in US funds drawn on a US bank, One Year Of Amazing Save over 49% ?
12 monthly issues of the Number One resource to the Commodore Amiga ?
Amazing Computing at a savings of over S23.00 off the newsstand price! D $ 24.00 U.S $ 44.00 Foreign Surface $ 34.00 Canada and Mexico One Year of AC SitperSub!
Save over 47% ?
12 monthly issues of Amazing Computing PLUS 4( 7 Gf If)Q 3 Product Guides a year! A savings of $ 32.25 off the newsstand price.
$ 36.00 U.S $ 64.00 Foreign Surface $ 54.00 Canada and Mexico Two Years Of Amazing Save over 59% ?
24 monthly issues of the Number One resource to the Commodore Amiga, Amazing Computing at a savings of over $ 56.80 off the newsstand price!
$ 38.00 US (sorry no foreign orders available at this frequency) Two Years of AC SuperSnb!
Save over 56% ?
24 monthly issues of Amazing Computing PLUS AC'GUfflEJnMIGA 6 Product Guides a year! A savings of $ 77.50 off the newsstand price.
$ 59.00 US (sorry no foreign orders available at this frequency) (Domestic and Foreign air mail rates available on request) AC 3 AC 5 AC*7 AC 9.. .Source 4 listings V5.4 4 V5.5 InNOCKuIation Disk; IN 1.. .Virus protection TQ 1 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 i 2 3 4 5 6 7 6 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 25 27 23 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 51 55 56 NA 58 59 60 61 62 63 64 65 66 67 66 69 70 71 72 73 74 75 75 77 78 79 NA 81 82 83 84 85 86 NA 88 89 SO 91 92 93 94 95 96 97 98 99 100 101 102 103
104 105 106 107 108 109 no 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 129 12S 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 148 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 173 179 180 181 182 183 184 185 186 187 188 189 19C 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 206 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 223 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 256 257 258 259 260 251 282 263 264 265 266 267 268 259 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 239 290 291 292 293 294 295 296 297 296 299 300 301 302 303 304 305 306 307 306 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 329 329 330 33!
332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 (NA Denotes disks removed from the coflection) Complete Today, or Telephone 1-800-345-3360 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 VI.6 V1.7 V1.8 V1.9 V2.1 V2.2 V2.3 V2.4 V2.5 V2.B V2.7 V2.8 V2.9 V2.10 V2.11 V2.12 V3.1 V3.2 V3.3 V3.4 V3.5 V3.6 V3.7 V3.3 V3.9 V3.10 V3.11 V3.12 V4.1 V4.2 V4.3 V4.4 V4.5 V4.6 V4.7 V4.8 V4.9 V4.10 V4.11 V4.12 V5.1 V5.2 V5.3 V5.4 V5.5 V5.6 Back Issue Volumes: Volume 1-$ 19.95’ Volume 2-S29.95’ Volume 3-S29.95' Volume 4-$ 29.95’ ’All volume orders must include postage and handling charges: $ 4.00 each US, $ 7.50 each set Canada and Mexico, and $ 10.00 each set for foreign surface orders. Airmail rates available.
Freely Distributable Software: Subscriber Special (yes, even the new ones!)
1 to 9 disks S6.00 each 10 to 49 disks $ 5.00 each 50 to 100 disk $ 4.00 each 100 or more disks $ 3.00 each $ 7.00 each for non subscribers (three disk minimum on all foreign orders) Amazing on Disk; AC 1.. .Source S Listings V3.S* V19 AC 2.. .Source 4 Usrings V4.4 Source 4 Uslings V4.5 4 V4.6 AC44.. .Source 4 listings V4.7 4 V4.8 Source 4 Listings V4 9 AC46.. .Source 4 listings V4.10 4 V4.11 Source 4 Listings V4.12 4 VS, 1 AC 8., .Source 4 Listings V5.2 4 5.3 Subscription: $ _ Back Issues: $ AMICUS Fred Fish Disks PDS Disks: Total: 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 ailow 4 to 6 weeks
for delivery PRESENTING WORLD OF AMIGA IN CHICAGO ? Starring ?
THE AMAZING AMIGA ? Featuring ?
Amiga Hardware • Amiga Software Amiga Accessories • Seminars • Bargains lister me for the Registration Bate
* ***** ADDRESS --- STATE.
CITY _ -q T a one-dav reg'Stf*1'0 Mo(iey . M- ,day region* D Three-day MaKe Chec Drive, q One-' FOR MORE INFORMATION Call (416) 595-5906 Fax (416) 595-5093
- The' Rosemont O ’Hare Expo Center, Rosemont, Illinois October
5-7, 1990 Friday, Saturday & Sunday 10am-5pm ' p|gaS6
Pre-registration: $ 8 per day or $ 20 for 3 days Deadline for
pre-registration Sept. 18 Registration at show: $ 10 for 1 day
$ 25 for 3 days Registration includes exhibits and seminars.
WORLD OF AMIGA IN CHICAGO Other upcoming events produced by The Hunter Group include COMMODORE AMIGA USERS FAIR in Valley Forge, PA, September 15 and 16,' and WORLD OF CQMM000RE AMIGA in Toronto, November 30 to December 2,1990.
Circle 111 on Reader Service card.
Imtronicslm is making history bv introducing the worlds fastest PC clocked at 50 Mhz.
The HURRICANE 2800 brings ultimate performance to your Amiga 2000. The 68030 CPU is clocked at 28 Mhz and now also at 50 Mhz. With the 68882 FPU up to 33 Mhz. Now including a standard SCSI autobooting FFS hard drive controller which works under both the 68030 and the 68000. The board is asynchronous and gen-lock compatible. The hardware is switchable between 68030 and 68000 operation. A performance increase of more than 1200% compared to a stock Amiga is possible with 28 Mhz and even 2000% can be achieved with our 50 Mhz design. Memory is expandable with our MEMORY board and the complete
system fits into only one slot!
The M2000 memory board can be used with the HURRICANE 2800 and the HURRICANE 2000 accelerators. Ultrafast 32-bit RAM multiplies the performance of the HURRICANE boards. Due to our innovative design, the RAM speed on our board rivals those of 'burst' mode designed boards.
L»uouotj] The HURRICANE 500 board turns your Amiga 500 into a 32-bit work station and is extremely easy to install in the 68000 socket. A performance of over 500% is possible with the 68020, additional performance increase can be reached with the 68881 68882 FPU of up to 33 Mhz. The HURRICANE 500 is hardware switchable between the 68020 and the 68000 operation.
12301 South West 132 Court Phone: (305) 255 9302 Miami, Florida 33166 Fax: (305)2556903 Circle 151 on Reeder Service card.
1 I to 16MB 32-bit DRAM (Upgradable in 1MB increments if using 256K x 4 chips or 4MB increments using 1M x4 chips).
• 'Fast' 750KB sec SCSI hard disk controller on-board. Optional
upgrade to the new and faster SCSI il standard is available.
• Asynchronous design to improve genlock compatibility.
2 found; * ptr to the found node’' nsg[SO] *wMsgi,*wMsg2,*wMsg3; * set IDCMP to get mouse button events 5 show message* ModifylDCM?( window,MOUSEBUTTONS ); * set up the search queue (FIFO list) which chains * * sibling lists at same level together * if ( NOT (rootQNode = NEW(QNODS T ) ) i printf("Can't allocate memory for Qnode. n"); return; ] rootQNode- next = NULL; rootQNode- nodeList = root; * output message data 4 do the search * sprintf(nsg," nPerforming breadth-first search..."); trace! Msg,0 )?
Sprintf(msg,"Seeking node at %d",x,y); trace! Msg,0 ); wMsgl = "Breadth-First Search;"; wMsg2 = nsg; wMsg3 = "'select' to search next node"; displayMsg( 20,160,wKsgl,wMsg2,wMsg3,1 ); found = bfSearch( rcotQNcde,0,x,y ) ; displayMsg(20,160,NULL,«Msg2,wMsg3,0); sprint f (m.sg, " n3readth-Firsc search complete..."); trace! Msa,Q ); if ( found } sprintf(nsg,"found node is node %d.%d", fcund- ievel, found- seqKo); else sprint f (rr.sg, "no node found at search coordinates."); trace(msg,0); wMsg2 = nsg; wMsgS n "'select' to continue"; displayMsg(20,160,NULL,wMsg2,wMsg3,1); waitForButton () ; *
clear message, restore IDCMP, 4 return * disolayMso(20,160,wHsgi,vMsg2,wMsg3, 0); ModifyIDCMP! Window,CLOSEWINOOWIM8NUPICKIMOUSEBUTTONS )?
BfSearchO - recursively perform breadth-first search This procedure iterates on a queue containing pointers to all lists at the same level of the tree. Each list is removed from the queue, and the procedure iterates on each node in the list. Each node is displayed, then if the node has a child list, a queue node is allocated to point to the child list, and the queue nodes are linked together. After all lists at a giver, level have been searched, the procedure recursively calls itself to search the next level using the queue constructed for the next level.
* allocate level 3 children of level 2 nodes if ( level == 2 ) * ask for 3 child nodes node- chi!d = allocNode(3,level-1); ) return ( topNode ); 1 !
PlaceNode - recursively set node coordinates and return next x coordinate. Y coordinate is incremented in recursive call and restored on return from recursion.
* int placeNode(NODE_T "topNode,int top,int left) NODE_T
"node; * the current node * int offset; * current left
coordinate * offset = left; node = topNode; while( node ) *
iterate until list is empty * * set node bounding box
corner coordinates “ node- xl = offset; node- yl = top;
node- x2 = offset + KRAD 4 HRAD; node- y2 = top + VRAD + VRAD;
• “ if the node is not a leaf, increment the top 3 coordinate
and recursively place its children
* starting at same x coordinate.
“ If it is a leaf node, just increment left
* coordinate and place its sibling node.
* if ( node- child ) offset =
placeNode(node- child,top+VCONS,offset); else offset += HCONS;
node - node- next; " set node to next in list *