FacebookTwitterGoogle Bookmarks

the Amiga's amazing capabilities, and gives us a chance to try out many different software packages and a few interesting hard ware devices along the way. One of the best videos I've come across is the Amiga 500 "Test Flight." {You can borrow it from your Amiga dealer.) It's a remarkable 15-minute journey through the Amiga's capabilities. The production values are excellent, and almost every effect is within reach of your desktop video system. Watch this one closely before you make any videos of your own. by Lirry White Video Considerations Any screen you can create on the Amiga can be used in your video. However, if you're designing a screen specifically for a video, keep a few things in mind. First, your final video will not be quite as sharp as your RGB Amiga screens, so avoid small details which may be lost when the finished video is viewed on a less sophisticated television or monitor. look, with your images centered on the screen. Otherwise, make sure you capture the full video image by setting the software to "overseen" or full video. Most video-oriented Amiga programs offer this option, or will include it in an update-check with the manufacturer. Another consideration is the video output from your Amiga to your video equipment. The Amiga 500 and 2000 offer only NTSC black-and-white or RGB video output. The Amiga 1000

Click image to download PDF

Document sans nom Hooked on the Amiga Vvith Fi-ed Fish COMPUTING _ . , , ., » f i T~fe ’ Volume3 Number2 Your Original AMIGA Monthly Resource us $ 3.50 Canada $ 4.50 THE ULTIMATE STRATEGY WARGAME TeleWar allows you to use your computer and modem to play the ultimate strategy wargame over the phone, or on one computer in your home for $ 39.95. RIVER MEADOW MARSHLAND BOG
• Superb graphic war simulations
• 12 war scenarios
• Animated artillery, armor, and supply units with air support
• Smooth scrolling graphics
• 3D perspective terrain maps
• All moves graphically enacted on tele- connected computer
• Digitized sound effects
• Easy to use menus and requesters Make Telecomputing A Blast
You’ll Love TeleWar!
Published by Software Terminal 3014 Alta Mere. Fort Worth. TX 76116 817-244-4150 Modem: 817-244-4151 Available At Your Local Dealer
• Compatible with any modem
• 300, 1200. 2400.9600 band
• Cali originate or answer
• Null modem connect option
• Save game and transmit game options
• Opponent File Directories
• Send and receive typed messages with your human opponent
• Fully copyable to hard disk
New technologies now make it possible to offer on improved version of this popular Modem.
The 1200 E is amazing.
It weighs less and is smaller.
It has even more features.
It's still the same low price.
To Order CALL FOR FREE CATALOGUE CREDIT CARDS VERIFIED FOR YOUR PROTECTION INSIDEUTAH(801) 752-2642 FAX 60l)752-8752 We'll beat any advertised price.
MEGATRONICS. INC.. P.O. BOX 3660. LOGAN, UTAH 64021 MEGATRONICS. I 3660, LOGAN, UT 84321 Volume 3, Number 2 CONTENTS Amazing Features Laser Light Shows with the Amiga by Patrick Murphy 8 Lasers and the Amiga: A Dazzling Tandem.
The Ultimate Video Accessory: Part III by Larry White 16 Take the final steps toward designing your own videos.
Our First Desktop Video by Larry White 19 A step-by-step guide to organizing and presenting your first Amiga video.
Hooked on the Amiga with Fred Fish by Ed Bercovitz 31 Inside views from the man behind all those "Fish" disks.
Photo Quality Reproduction with the Amiga and Digi-View by Stephen Lebans 39 Stunning Digi-View images look great in hardcopy, too!
Balancing Your Checkbook with WordPerfect Macros by Steve Hull 42 Hand your checkbook worries over to the Amiga.
More Basic Text by Bryan Catley 60 Displaying text on the screen can be even easier!
Life: Part III by Gerald Hull 81 The series winds up with the famed nine-blit calculation and source to LIFER.
Solutions to Linear Algebra through Matrix Computations by Robert Ellis Simplify matrix algebra with basic operations routines.
90 Amazing Departments From the Editor 4 Amazing Mail 6 :: Public Domain Software Catalog 105 Index of Advertisers 112 Amazing Columns The Amicus Network by John Foust A scrapbook look at the faces behind the Amiga.
72 Roomers by The Bandito Amiga 3000, Virus news, and "Will the real Laser Toaster please stand up?"
78 Bug Bytes by John Steiner These bugs don't die off in the winter!
88 Modula-2 Programming by Steve Faiwiszewski Catching up with Calc a source follow-up.
101 68000 Assembler Language Programming by Chris Martin Graphics! Part II of Assemgr.asm. 104 Amazing Reviews Arazok's Tomb by Kenneth E. Schaefer 23 "A terrifying adventure into the world of the occult."
AiRT by Steve Faiwiszewski 27 An innovative icon-based programming language.
Forms in Flight by Steve Pietrowicz 51 Render and animate objects in 3D!
Silicon Dreams and the Jewel of Darkness by Kenneth E. Schaefer 53 Hang on every word in these classic text adventures.
Leisure Suit Lany by Kenneth E. Schaefer 58 The ultimate nerd spends one racy night in the fast lane.
Two New Entries From Microbotics by John Foust 65 M501 Expansion & Starboard II Multifunction board.
Mindlight 7 and People Meter by John Foust 68 Meet two unique Amiga products.
Phantasie by Kenneth E. Schaefer 74 Up your chances in this "monster mash" with the Amazing Phantasie Character Editor.
Available Now!
Wolific Inc. TRU- ifHRGE PRO-BOARD PRO-NET $ 475.00 POWER+SIMPLICITY= PRODUCTIVITY Professional 3Smrn Slides Now you can have reproduction and presentation quality slides of your work $ Distortion-free fills in raster lines crisp bright colors, converts all IFF files Now------ CustQH graphic .n't and i 11 ustraf ion.
510 each rorvoup 1st to 4th slides.
5 to 3 slides 50.50 Oven 1Q. Slides - 50.00 Add 52,00 Ton sliippiriEr.
New York residents add sales tax.
Call (212) 777-7609 FOR DETAILS Ask for llene or write TRU-1MAGE
P. O. Box GGO, Cooper Station New York, N.Y 1027G Av-i 3« .¦ i H
tetri »f». At _ Publisher: Circulation Manager: Asst, to the
Publisher: Corporate Trainer: Traffic Manager: Managing
Editor: Submissions Editor: Flardware Editor: Music & Sound
Editor; Art Director: Illustrator: Advertising Manager: Senior
Copy Editor: Copy Editors: Amicus & PDS Editor: Production
Manager: Production Assistants: Joyce Hicks Doris Gamble
Robert James Hicks Virginia Terry Hicks Robert Gamble Don
Hicks Ernest P.Viveiros Jr.
Ernest P. Viveiros Sr.
Richard Rae Keith Confoni Brian Fox John D. Fastino Michael T. Cabral Karen P. Granger Jutte Landry John Foust Mark Thibault Rico A. Conforti Keven Desmarais See our SIMPLICITY... Intelligent Function Keys make our programs extremely user friendly, provide maximum screen area, always display all relevant commands, avoids excessive cursor movement and screen flashing between menu & drawing, guides user through operation, minimizes training time Feel our POWER. . .
• Variable template size
• A to E paper size
• Extensive Library included
• Auto device number with Zone control
• Gate swapping
• Smgie click change to negative logic
• Innovative weight assignment
• Auto page reference
• Dynamic error checking
• Creates BOM. Spare Part List. Net List.
Error report, etc.
• Supports printers & plotters
• Supports Laser Printer
• Back annotation from PCB layout
• Move. Rubber and lots more PRO-BOARD:
• 025 Inch grid ' 001 inch grid Library
• 12 mil trace. 13 mil space
• Produce 1. 2. 4 layer PCB
• Provides silk screen
• Auto coordinates assignment
• Auto produces power and gnd layers
• Single line auto route
• Optional Net List Input for guided route no need to look at
• Prioritized route
• Dynamic error checking
• Supports printers, plotters and Gerber photo plotters
• Copy, Repeat and lots more TRY OUR DEMO DISKS FOR $ 15 EACH.
, . 'yt Also from Prolific Inc., £}| £4 full feature AMIGA™ Macro Cross Assemblers for Z8°t 6809 8085 & 8051 • See our SIMPLICITY PRO-ASM Feel our POWER
• Includes multi-pass Assembler.
Linker, and Serial Down Load
* Generates relocatable Object Code Module
• Nested Macro
* Includes Files Pru-ASM $ 85.00 DEALER INQUIRY INVITED
Advertising Sales 8 Editorial 1-617-670-4200 Special thanks to:
Buddy Terrell & Byrd Press Betsy Piper at Tech Plus Amazing
Computing™ (ISSN 0866-9480) is published by PiM Publications.
P. O. Box 869. Fall River. MA 02722.
Subscriptions: in the U.S.12 issues ior J24.00; in Canada & Mexico, 530.00; Overseas; $ 35.00. Printed in the U.S.A. Copyright© 1988 by PiM Publications, Inc. All rights reserved.
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 materials requesting return must be received with a Self Addressed Stamped Mailer.
Feel our POWER
• Conditional Assembling
• Rich set of directives
• Global and External Variables
• Data format includes Binary.
Motorola Hex. Intel Hex. And Teh Hex AmlGATM trade mark of Commodore Inc From The Editor: Dear Amazing Computing It is with some disappointment that I view the few programs published in your magazine. It is not given to all of us to have available C compilers, mainly due to the prohibitive costs of American software caused by the imbalance between the Australian and US dollars.
You could effect greater usage of these C programs if they were also listed in AmigaBASIC, and so give greater appeal to your magazine. My interest lies mainly in the area of Utility-type programs.
Since your publication is exclusively for the Amiga, may I suggest that you broaden the scope of the programs so all Amiga owners can use them, bearing in mind that these computers came equipped with AmigaBASIC?
We agree!
Attuning Computing™ has been publishing AmigaBASIC articles since our second issue, VI.2 (March 1986). We would have published sooner, except only A BASIC was available for our premiere issue! AC does not publish every AmigaBASIC article received, since not every AmigaBASIC program article demonstrates broad programming examples or unique approaches.
However, we are continuously searching for the program or article which can broaden the user's knowledge of the Amiga. If this outlet is AmigaBASIC, we are even more receptive, since every Amiga owner has access to this entry level programming language.
As for supplying both C and AmigaBASIC versions of a program, that is not always possible. All published programs are submissions by Amiga users with individual language preferences. A program is usually a personal project the programmer has spent a great many hours developing. It is unusual to find an author willing to commit the extra hours required to provide a multilingual article.
However, take heart; this issue has such an article. "Solutions to Linear Algebra through Matrix Computations" (page 90) is supplied in both AmigaBASIC and C. Alternative Amiga languages are also important. Not only do we receive many requests for each user’s personal favorite language, but we believe readers should be aware of the differences in programming environments.
By being aware of the good and bad points of a language, as well as whatever options are available, users can pick the programming too! That best fits their styles and the demands of their projects.
"The Big Picture": Next month Due to deadline pressures, our on-going column, ’The Big Picture," was not in final form at press time. More time was needed to produce assembly code in legible form.
Warren Ring's assembler series returns next month.
Our Second Anniversary With a great deal of pride and a bit of amazement, we are publishing our twenty-third issue of Amazing Computing™.
We are proud that we have been able to produce an Amazing Computing™ each month exactly as we planned.
Our entire philosophy has been to produce a magazine we would want to read. It appears a great many other Amiga owners were interested in the same things we found interesting. For this, we are extremely thankful.
The time has passed so quickly! It seems only a short while ago our first Amiga arrived. A great deal of time, many overnight sessions, press changes, telephone calls, etc. went into creating the rather large Amazing Computing™ back issue collection.
As always, thank you. Wc never forget the support of our readers and authors. Amazing Computing™ is a combined effort from a great many dedicated individuals. Each issue is a compilation of the best and most timely articles we could produce, and a little more. We produce each article to be an asset today and a great value tomorrow.
We have a saying at PiM Publications, Inc.: "We are not here to make a killing. We are here to make a living."
Thank you.
Sincerely, Don Hicks Managing Editor Amazing Mail: Dear Amazing Computing At last! A magazine which gives me the information I need about the Amiga. You deserve many congratulations for a well-produced, informative magazine.
One cry for help-1 seem to be the only person in Europe who programs in FORTH. This cannot be true, can it? 1 leave messages on UK bulletin boards and haven't had a single reply. The FORTH tutorial in your magazine seems to have bitten the dust as well.
Please tell Jon Bryan that someone reads his work and appreciates his efforts. You have a duty to release all those poor souls forced to program in 'C' and dream about nested parentheses into the wonderland of full machine control only easily available through FORTF1.
I would be very interested in communicating with any FORTH users wherever they may be (Alpha Ccntaurii?)
And would much appreciate your printing this letter.
Well done to all at PiM and a prosperous 1988.
Yours Forthly, Dr. Richard Holder 32 Southridgc Rise Crowborough, East Sussex TN6 1LJ Thank you for the warm letter. Although 1 am at a loss concerning your comment of "at last." This is our twenty-third issue, as well as our second anniversary issue, We were the first monthly Amiga magazine, but we are still working hard to provide you with what you need to be a more informed Amiga user.
On the question of Mr. Bryan and Forth, Jon Bryan is a very active Amiga user, father, engineer, CompuServe Sysop, programmer, writer, and husband (not necessarily in that order). He luts been providing insightful Forth programming as often as he can, but he is only one man!
We are open to any submissions which help expand our collective knowledge of Forth on the Amiga.
Jon has promised to keep producing as rapidly as he can, but any other interested parties who have developed Forth programs on the Amiga are invited to submit their articles to Amazing Computing™.
Dear Amazing Computing Boy, what timing. I read your article on viruses and later that night SURPRISE, 1 find one on a disk of mine.
To KILL the virus and to check your disks, can i make the following suggestions:
1. From Pltnk (others may have it, too) download two files. One
is called VirusCheck by Bill Kocstcr and the other is called
VirusTcst by Craig Bowen.
2, Make sure you have a VIRUS FREE Workbench (by using the two programs) and then copy both programs to your clean workbench startup-se- quence. This way, every time you warm or cold boot, it will check both your system and the Workbench.
Another tip is to rename VirusCheck to V. That way you save a few keystrokes when you are checking all of your disks (what a pain!).
Eric Cook Texas Thank you! As an Amiga user, it is EXTREMELY disturbing to discover your Amiga is ALIVE! At 3 AM.
AMICUS Disk 24 contains several programs and utilities to find and secure the Amiga Virus (as outlined in John Foust's "AMICUS Network" column ACV3.1). This could be a great source of information to further the "cure."
Dear Amazing Computing Why don't you have MasterCard? I took 1 2 hour at my bank and they charged a S6.0Q fee. Surely the additional percent MC charges would more than make up for the extra subscriptions you would receive. I doubt if I'll go through this again next year.
Peter Kinross Australia We would gladly have plastic! Unfortunately, MasterCard and Visa are not used by Amazing Computing™ because we have not been able to receive authorization.
We have approached all the sources in our area, repeatedly been offered the service, and then turned down. Our "Yankee Bankers" are put off by our position as a subscription base, mail order establishment.
The most often heard complaint from our banking consultants is, "Our recent rules prohibit us from assigning any new customers who deal exclusively in mail order and or subscription business." In a land filled with kitchen appliances, diet programs, and record sets all available only by mail order with a Visa or MasterCard, we wonder how these rules are administered.
Amazing Computing™ and PiM Publications have done some growing and a little long term planning. We now have an official "Office" and a new warehouse for shipping. These additional expenses were necessary for us to continue to grow with the Amiga. The added expense is more than warranted by our new ability to handle problems and shipments faster.
Since we are now in an office and warehouse environment, we may have a better chance at establishing a MasterCard and Visa service for our readers. (This seems to appeal to the "Yankee Banker philosophy.") As soon as this service is available, we will publish an announcement to alert all our customers.
• AC* Software I Alined ,h VMKJA : Lattice
- G Compiler Lattice C has long been recognized as the best C
compiler. And now our new version 4.0 for Amiga™ increases
our lead past the competition even further.
Ready, set, go. The new lattice AmigaDOS C Compiler gives you faster, more efficient code generation and support for 16 or 32-bit integers. There's direct, in-line interface to all Amiga ROM functions with parameters passed in registers. What's more, the assembler is fully compatible with Amiga assembler syntax.
More great strides. The linker. Blink, has been significantly enhanced and provides true overlay support and interactive Lattice* Version 4.0 Manx* Version 3.40 Dhrystone Float Savage (IEEE) 129-t Dhrystoncs second
22. 20 Sees. (IEEE Format)
10. 16 Sees. (FFP Format)
47. 6" SCCS. .000000318 Accuracy 1010 Dhrystones second
98. 85 Secs. (IEEE Format)
17. 60 Sees. (EFP Formal)
119. fi Secs. .000109 Accuracy recovery from undefined symbols.
And you’ll have a faster compile and link cycle with support
for pre-linking.
There’s no contest.
Standard benchmark studies show Lattice to be the superior C language development environment.
With setts like these, it’s no wonder that Commodorc- Amiga has selected Lattice C as the official Amiga development language.
Lattice is a registered tradcnuik of Lattice Incorporated Amiga iMtiadcmailmrCortimodnrc Amiga, Inc Man% i a registered trademark * if Manx So(l ware Systems. Inc Going the distance. You'll experience unsurpassed power and flexibility when you choose from several cost-effective development packages. There is even a full range of supporting products, including a symbolic debugger, resource editor, utilities and specialized libraries.
You'll discover that your software purchase is backed by an excellent warranty and skilled technical support staff. You'll appreciate having access to LBBS one of the world’s first 9600 baud, 24-hour bulletin board services. And you'll be able to conference with other Lattice users through the Byte Information Exchange (BIX) network.
Cross the finish line.
Order your copy of the Lattice AmigaDOS C Compiler today. We'll supply the speed. You bring the running shoes.
Lattice, Incorporated 2300 S. Highland Avenue Lombard. 1L 601u8 Phone: 800 53.VSS-- ln Illinois: 312 916-1600 Lattice Subsidiary of SAS Institute Inc Beyond Laser Printing: Laser Light Shows with the Amiga by Patrick Murphy, Art Director, Nightlight Laser Design Studio (Bix: Nightiight) At Nightlight Laser Design Studio, wc specialize in laser displays for theaters, art, and special events. To generate the projected images, we use Amiga computers to drive galvanometer scanners. Under computer control, mirrors on the scanners move the laser beam. With this technique, we can produce animations
of virtually any size from microscopic cartoons to writing on clouds.
This article is not a "how-to." Laser equipment is costly, and laser light shows are regulated by federal and state governments. This article describes, in a general way, the unusual technologies used in laser displays and how the Amiga plays a key role at Nightlight.
How Is a Laser Uke a Stereo?
To produce a laser image, we use techniques first developed in the 70s which now have grown into a mature technology.
You start with a continuous-bcam laser as the light source. Common lasers include low power helium-neon gas lasers, and higher power argon and krypton gas lasers. These produce different colors. Because of how the laser action is generated, helium-neon laser light is usually Ted. An argon laser produces superimposed green and blue beams; a krypton laser has red, yellow, green, and blue components in its "white" beam. Planetarium displays, such as Laser Images' "Laserium," use a single krypton beam split into those four primaries.
Tiny mirrors (.25 x .50 inches) mounted on oscillating shafts of precision galvanometers are used to move the laser beam around. One galvo is used for horizontal (X) motion, the other for vertical (Y). The beam reflects off one mirror, then off _(continued) Amazing Computing V3.2 ©1988 9 the other, and finally onto the projection surface.
Often, a third galvo (or an electro-optic device) is used for intensity control, turning the beam on and off. A "Laserium" show uses at least 12 of these: X, Y, and intensity for each of the four colors.
You can use any electrical signal -computer, synthesizer, or audio to drive the galvos. Special amplifiers arc used with the galvos to condition the signal and reduce inertia effects of the mirrors. There are two main types of scanner amp pairs: position- detecting (PD) and non-PD. Position- detecting scanners have a feedback loop to ensure the most accurate tracking response. Non-PD scanners are usually used with abstract figures that do not have intricate detail. With the Amiga, Pds are a must.
A scanner system is analogous to a stereo system. Both use similar input signals. Both use amplifiers to condition the signals for the output transducers (galvos or speakers). With a stereo, you hear the electrical signal; with scanners, you watch it. Laser light shows are truly "music for the eyes."
Why Aren't Lasers Used More Often?
There are a few important limitations with laser systems.
First, you are dealing with light, which is massless and unaffected by electromagnetic forces. You use magnets to direct electron beams with great accuracy and "repeatability," as in takes a lot of electricity to CRTs. With lasers, however, you need to move mirrors, which have relatively high inertias. Thus, scanners are useful only with signals from DC to about 3000 Hz. For best accuracy, most galvo scanning is done at 100 Hz or less. (Electro-optic crystals can move beams much faster, but the scan angle is limited to around 5 degrees.)
Second, you can't do detailed graphics with these mirrors. Designs cannot be too complex because the laser draws the entire figure, from first to last point, before the first points fade from your retina. Thus, most laser figures arc simple cartoon-like outlines.
Make a little laser light.
A very powerful display- type laser would produce 20 watts of light. When concentrated into a small area, this is a lot. If you were to spread the entire 20 watts over a large rectangular surface, though (as you might in a laser- lit projection CRT), you have a relatively dim light source. Therefore, most laser displays use vector scanning of the concentrated beam.
Raster scanning requires all the laser's light to be spread over the projection surface, even if only a small area is turned on.
Fourth, you are dealing with low- volume, high-precision devices. They cost many arms and many legs. Good PD scanners can cost over SI 000 per axis, with amp. A basic helium-neon for tiny shows is S500. Our 2-coior argon lasers for large shows each sell for over 510,000. In addition, they can't be used just anywhere. Each needs 220 volts three-phase, and requires over 2 gallons of water per minute to cool the tube and power transistors. Think twice before For the Amiga 2000... MicroBotics means Amiga-Fower!
Whichever Amiga you own-or plan to buy-we have the expansion you need For the HardFrame 2000 Super Speed DMA SCSI Interface If your application calls for supcr-spccd uninterrupted access to your harddisk, HardFrame 2000 is your answer. This is a high- end, no holds barred SCSI interface that operates at bus speeds with zero wait states.
With cable pinouts designed for compatibility with low cost Macintosh hard drives, one HardFrame 2000 can support up to seven devices. Word-!ength data transfer, FIFO buffering, true DMA, all mounted on a metal frame suitable for mounting standard SCSI 3.5" drives "hard-card" style (or, if you prefer, cable connected to a bay mounted or external disk). Available February March. Suggested List price S329.
SB2000 Adaptor Card StarBoard2 Portability Large numbers of MicroBotics Star- Board2 owners have moved over to the A2000. To protect their investment in our technology we've made available a simple, low-cost adaptor card that permits the installation of a "de-cased" StarBoard2 inside the Amiga 2000 (in the first 100-pin slot).
When adapted to the 2000, StarBoard2 is still fully functional autoconfiguring memory plus you get access to all the StarBoard2 Multifunction options- StickyDisk, Math chip, parity or the new SCSI Module. Available now. Suggested list price is only $ 49.95. FivePower 2000 Eight Megs plus Hyper I O This is the dream card that all 2000 owners need- lots of memory and fast I O.
FivePower 2000 comes standard with SIMM sockets for EIGHT MEGABYTES of memory modules. This memory is user- installable to keep your expansion costs low.
The RAM is organized in two autoconfiguring groups for maximum flexibility. Also included are two high speed, AT-style SERIAL FORTS jumper selectable as opto-isolated MIDI PORTS, and a socket and software for the 68881 MATH CHIP as a peripheral device (pioneered by MicroBotics on the Star- Board2 Multifunction Module).
An optional daughterboard provides autobooting, zero wait-state, FIFO- buffered, DMA SCSI hard disk interfacing and software! FivePower 2000 is virtually everything you need on the Amiga 2000!
Suggested list prices start at S249 for 2 meg space with 0k installed plus two serial ports.
Available March 88.
Amiga 500... M501 Memory+Clock Half a Meg at a Great Price!
As we are all coming to realize, a 1- megabyte Amiga (at least) is a necessity not an option. When you add the inboard 512k memory and clock module to your A500, make it a MicroBotics-brand, plug compatible work-alike. It uses the exact same kind of memory and the exact same clock and battery. And note that just like Commodore and unlike some third-party expansions, we use a long-lived rechargeable Ni-cad battery by Varta- which you’ll never have to replace! Set the MicroBotics clock using the same software (on your WorkBench disk) as you use for the Commodore dock. What's the
difference? You get to keep $ 41 compared to the Commodore version. M501 has a suggested list price of only S159.
MicroBotics, Inc. Great Products Since the Amiga Was Born!
811 Alpha Drive, Suite 335 Richardson, Texas 75081
(214) 437-5330 SOLD ONLY THROUGH YOUR AMIGA DEALER StarBoard2 500
Two Megs and a Choice of Modules The premier memory
expansion for the A1000 is now available on the A5Q0. In a
sleek, redesigned case with an independent power supply
strong enough to power Star- Board2 and another AlOOO-style
Star- Board2, all the power and flexibility of this great
expansion device is available to you.
Up to 2 megabytes of autoconfiguring, zero- wait state FastRAM, Multifunction or SCSI module capability for either math chip StickyDisk functions or fast SCSI harddisk interfacing. StarBoard2 500 also has a unique LED diagnostic confidence light to indicate the powered up state of your Amiga and your expansion memory. Another A1000 style StarBoard2 can be connected to the expansion bus pass-UP (it exits through the top of the case) for a total of FOUR megabytes of memory and two modules. Suggested list price S495 and up.
For the Amiga 1000... StarBoard2 The Expansion Product of Choice The superb memory expansion for the Amiga 1000, still going strong! Up to 2 megabytes of zero-wait state, autoconfiguring FastRAM in a sleek, all steel Amiga-colored case plus the capability to accept either one of two daughterboard modules: the original Multifunction Module or the brand new SCSI Module. StarBoard2 is powered by the bus (up to two StarBoardZs can be supported by the A1000) and passes it on. Available now; suggested list price $ 495 and up.
MultiFunction Module High Tech at Low Cost This "daughterboard" installs on any StarBoard2 (all three Amiga models). It features a socket and software to support the Motorola 68881 Math Chip as an I O device (MicroBotics pioneered this approach on the Amiga -now directly supported in the math libraries in the new AmigaDOS1.3). StickyDisk gives you the most ''bulletproof” rcbootable ram disk -its hardware write protection turns the whole device into a solid state, superspeed disk. Alternatively, parity checking of StarBoard2 memory can be enabled when extra parity RAM is installed.
Finally, the MultiFunction Module carries an easy to use battery-backed dock to set your system time on start-up.
Available now; suggested list price $ 99.95. StarDrive Module Speedy, Low-cost SCSI interface As an alternative to the MultiFunction Module, all models of StarBoard2 can accept this new hard disk interface. StarDrive affords you cost-effective, pseudo-DMA access to Marintosh compatible SCSI drives and other third-party SCSI devices. Fast, easy to install including driver software and disk diagnostics. StarDrive also has a battery backed clock to set your system time on boot-up. Available now. Suggested list price: $ 129.95 MouseTime The Port Saving Clock The easiest-to-use, most cost
effective implementation of a batterv-backed mouseport dock for the A1000. MouseTime passes the mouseport through for use with joysticks or other devices. Complete with installation software and WorkBench interface, Available now. Suggested list of S39.95. ¦Arriga- e a registered trademark of Commodore-Amiga. StarBoardF. SlarBoardZSOO'. ¦HardFrame'ZOOO-. -FivePower 2000-. 'StarDrive‘ and -MouseTime- are trade names ol MrcroBotics products.
Investing in laser display equipment.
(However, the graphics output of signal sources is available to anyone with an X-Y oscilloscope or vector CRT. The laser-related components drive up the cost.)
Why Are Lasers Used at All?
So why use lasers? They have a few unique advantages.
The output of a laser scanner system can be as large as a mountain. Even the simplest system can go this big by using a large laser and beefing up the mirrors. Just as Cinerama is a different experience than TV, laser projections are very different from CRT displays.
Also, laser light has its special charms.
Because of the way lasing action is produced, laser light shimmers and sparkles with spectrally pure colors. It adds effervescence to ordinary vector graphics.
Finally, laser displays can accomplish additional effects that are otherwise impossible. For example, the scanned laser can be directed over an audience to create Star Wars-like shooting beams. Or steady figures, such as circles, can be illuminated with smoke, so a tunnel of light is seen. Many other creative effects are available which add oomph to simple vector projections.
Subtle Nighilight Plugs To see how laser graphics work in practice, let's take a brief look at some of Nightlight's projects, Most of these effects would be impossible to create with conventional projection CRTs.
Avant-garde theater director Peter Sellars wanted a spectacular effect for Anton Chekhov's "The Seagull." For the scene, Nightlight projected cones of laser light from behind actress Kelly McCiUis and out over the Kennedy Center audience. As her character concluded her speech, the cones changed into darting shafts of laser light. The Washington Post described it as "...filling the Eisenhower stage with dancing beams of green light and clouds of smoke, which swirl about McGillis' immobile body like ocean waves."
Nightlight provided equipment for designs produced by MIT professor artist Paul Earls. The laser was projected from a riverfront building over a plaza and onto a spray of water from a fircboat. The water screen was an appropriate projection surface for the images (and sounds) of sea creatures.
Nightlight did the opening ceremonies of the National Computer Graphics Association 1987 annual convention.
The laser was projected onto a screen above the main entrance. It featured over 200 frames of animation, including a laser "Juggler," played live to two minutes of music.
One of Nightlight's mainstays is providing laser Tinkerbclls for productions of "Peter Pan." We have a number of Amiga-scanncr systems on the road, programmed specifically for the character's actions throughout the play. Tinkerbell flies about the set, pulling the other characters' hair, and dying on cue. (The control screen has a slider marked "Death, Percent.") One market that we shy away from is traditional rock shows. We stay away for technical, business, and philosophical reasons. Rock shows require more equipment, personnel, and enjoyment of Led Zeppelin than we can handle.
Why Use the Amiga?
To do complex, representational figures, you need a computer. Nearly any computer can be used to store and replay the numbers representing the figure's vertices. All you need is an area of memory which is read out to a digital-to-analog converter at a constant clock speed. For four long years, we used a 16K TRS-80 Model 1 with a custom interface box.
We chose the Amiga in 1986 after extensive research into other computers and laser systems. Many commercial systems were built around the Apple II, for example. Those systems had nice capabilities, but additional boards and custom software drove the total cost to around S8,000. Other systems were little more than EPROMs with D As.
The Amiga won because it docs the most work with the least effort on our part. It was, at that time, the only computer with two separate audio channels (laser channels, for us). The audio hardware uses user-specified digitized waveforms, with variable speed readouts and waveform lengths.
This is exactly what we need for laser control. For our purposes, we could use more outputs (for more scanners), but the base machine is a near-perfect laser machine.
Note: The Apple IIGS and Mac II now come with stereo. However, Apple's scheme uses multiplexing when reading out the waveform. I'll avoid getting technical and just say it's a typical clever Apple hack which, in this case, irretrievably muddies up those channels for laser use.
At Nightlight, we made one tiny Amiga hardware change. The normal audio output is monopolar and filtered (AC coupled). For lasers, monopolar (continued on page 14) Other Products from The Other Guys REASON - a professional proofreading system used by universities and writers around the world to analyze and improve writing. (Has helped raise students grades when used faithfully.) $ 395.00 OMEGA FILE - a REAL data base & mail merge $ 79.99 PROMISE - the BEST high speed spell checker.
(Even better than Zingf®Spell) $ 49.99 KEEP-Trak GL - general ledger for home or business $ 49.99 $ 39.99 $ 39.99 $ 39.99 AMT- amortization program MATCH-IT -teaches shapes & colors (preschool) MATH-A-MAGICIAN - add, subtract, multiply & divide Call or write for more information.
SYNTHIA High Performance Digital Synthesizer A siatc of the an music tool which will: Create digital I1T Instruments for use with nearly all music programs!
Modifying existing IFF Instruments. Use SYNTHIA on digitized samples to add reverb, wow, and other enhancements.
SOMETHING FOR EVERYONE: Additive Synthesis - a traditional method which can create almost any type of instrument.
Plucked String Synthesis - simulates plucked strings . . . Right down to the pluck'.
Lnterpolative Synthesis - a method which introduces the natural imperfections found in instruments.
(Instruments such as brass, woodwinds, pianos, etc.) Percussion - build your own drum set , . . Create any drum you desire.
Subtractive Synthesis - a simple method of creating instruments.
Special Effects - includes filtering, amplification, phasing, wavcshaping, amplitude modulation, real reverb, and . . .
IFF Music Player - powerful and compact. N'ow you can enjoy those songs that needed a memory expansion before! Up to 32 Lracks and 32 IFF Instruments! Supports chords, tics, etc. IS IT FIVE ... OR IS IT SYNTHIA?
Synthia uses the latest technology to generate realistic sounding instruments and even the new families of instruments sound real. A real synthesizer on a real computer!
Why buy digitized instruments when you can SYNTIIIAsize them? QQQ QQ Requires AMIGA 512K .ZJZJ Copyright© 1987, TI1F OTIIFR GUYS Software * AMIGA is a registered trademark of Commodore Amiga [SOD 753-7620 CBOOJ 342-94Q2 THE OTHER GUYS BH 55 North Main Street ¦ ¦ Suite 301 - ?
PO Box H Lagan Utah B4321 means "gets bigger to the right and up, instead of from the middle out."
AC coupled means "ugly rounded figures whose points all try to sink towards the center."
To get around this, we open up each laser Amiga. We pick off the audio signal near the Paula chip, add a few components, and install new RCA jacks above the existing ones. (You can always spot our Amigas in a crowd; they look quadrophonic-ready.)
This modification gives a second set of bipolar DC audio outputs for the lasers. Incidentally, sound from this set has much crisper highs, although you can also hear the whine which is normally eliminated by the antialiasing filter.
Why Use AmigaBASIC?
Our laser software is known as the MCP, named after the Master Control Program in the movie Tron. Like its namesake, it is powerful; but unlike the Tron MCP, it is very user-friendly.
The MCP is intended to be the "Deluxe Paint of lasers," and it comes close. After years of hand-drawing figures on graph paper and typing in coordinates for the Model 1, it is a distinct pleasure to watch a laser beam track your mouse motions on a huge screen.
People using the MCP are surprised to learn that it is written in AmigaBASIC.
Why? For a number of reasons, but mostly because our programmer (that's me) is too lazy to learn C right now.
Wc do cheat a bit by PEE King and POKEing at hardware addresses, instead of using the sound library.
Between BASIC and the other Amiga libraries, the program does very well at its tasks.
There arc only five aspects of the Amiga audio hardware we can control:
1) waveform data table; 2) waveform length; 3) output speed; 4)
volume; and 5) channel assignment and attachment. The MCP
allows fine control over these aspects, especially the
waveform data.
How to Juggle X-Y Points Here's a brief summary of how the MCP is used.
A laser figure is composed of a series of points on an X-Y grid. We use the 8-bit sound circuits for output, so our grid has 8-bit resolution: 256 x 256 possible points. Each figure is composed of as many as 512 points (X-Y pairs). These points can be drawn with Dpaint-like tools, such as single point, line, box, circle, or symmetry. Any figure, or sub-group of points, can be moved, resized, or rotated. Sprites and bobs are used for slider gadgets and for identifying currently-selected points. Individual points can be inserted, deleted, or moved using a rubber band-like function.
We have up to 1024 different figures available at any time. You can copy figures (or sub-groups of points) from one location to another. For animation, you can mark off a sequence of figures to be interpolated or played back.
For example, students studying at Nightlight created a laser version of Eric Graham's "juggler" less than a week after seeing the original. First, they created two figures the body and the juggled balls. Next, key frames were derived. On the body, the arms became a sub-group and were rotated around the elbow and shoulder joints. Similar transforms moved other body parts and the three balls. The computer then calculated interpolations between key frames to produce the individual frames of the animation. Finally, the body and the balls were merged into a single laser animation, moving eerily
like the original "Juggler," but projected 12 feet high.
To do a show like the one done for the National Computer Graphics Association, we use Dpaint to storyboard the graphics. We then create the necessary figures and animation sequences. After motion checks, we use a macro-type language with commands like "StartEndShowsecSpar- klcsec (15,40,9,3)." This particular command shows an animation from figure 15 to figure 40 for 9 seconds plain, with a 3 second sparkle. The macros are assigned to keys, and the laserist "plays" the animations live to music.
Coming Really Soon... We continue to improve the MCP.
Some improvements come from the Amiga's capabilities. With genlock, we can trace figures directly over the televised image of a design. Others come as a result of add-on hardware.
We are looking into A2000 boards to control four sets of scanners simultaneously (or we'll just network four A500s). We will also be adding sync- to-tape capability to allow totally automated music laser playback. Still other improvements will develop as the software continues to grow in sophistication, or if our programmer ever learns C. For Nightlight, the Amiga is an excellent choice, both as a development tool and as an everyday workhorse. It makes the type of laser displays we do affordable, easy, and exciting.
.real-time, LIVE! Video on your Amiga’s screen.
• True Color: just as it comes from your video source: camera,
VCR, TV, anything. Direct, moving, in your Amiga's memory...our
patented technology.
• Fast: video images in black &. White, 32-color, and 4,096-color
See IS new images every second in black & white. 12 in color, t in HAM.
• Save: moving video, play it back, use it in other programs.
Unlimited stills, too.
• Video Effects: real-time mouse-controIed...posterization,
fades, color- keying, strobes, more.
• Roll Your Own: programmer’s video library, hardware documenta
tion, examples in C, Basie.
• $ 295. Immediate delivery. This is hot.
To order call toll-free anytime: Nationwide: 800-432-4445, ext. 1156 California: 800-626-9541, ext. 1156 For more information, contact: A-Squared Distributions Inc. 6114 La Salle Avenue, Suite 326 Oakland, California 94611 415-339-0339 The Ultimate Video Accessory Part III Making an exciting desktop video takes lots of planning and a variety of software for the widest selection of effects.
By Larry White We've covered most of the basics in the first two parts of this series, so we should be ready to start making a video. The key to a good video is planning. Let's design a video that demonstrates many of the Amiga's amazing capabilities, and gives us a chance to try out many different software packages and a few interesting hardware devices along the way.
One of the best videos I've come across is the Amiga 500 'Test Right." (You can borrow it from your Amiga dealer.) It's a remarkable 15-minute journey through the Amiga's capabilities.
The production values are excellent, and almost every effect is within reach of your desktop video system.
Watch this one closely before you make any videos of your own.
Generally, good video technique minimizes the use of special effects, to give maximum impact to the effects that are used. Since we want to try as many programs as possible, we'll create a special situation and break this "limited effects rule." As a useful exercise, let's pretend we're going into desktop video as a professional sideline. We need to produce a short commercial which demonstrates many of the techniques and special effects that exist in the Amiga video arsenal.
Video Consideralions Any screen you can create on the Amiga can be used in your video.
However, if you're designing a screen specifically for a video, keep a few things in mind. First, your final video will not be quite as sharp as your RGB Amiga screens, so avoid small details which may be lost when the finished video is viewed on a less sophisticated television or monitor.
You should also keep a careful eye on the edge of your screen. Not all Tvs and monitors are adjusted properly, and if you put important information too close to the top, bottom, or sides, it might be partially lost and illegible.
If you're working with an Amiga 1080 monitor, leave at least a half-inch margin ali around.
Don't completely ignore the margin you've created, though. Make sure your background graphics extend completely to all sides of the monitor screen. Your videos will have a boxy look, with your images centered on the screen. Otherwise, make sure you capture the full video image by setting the software to "overscan" or full video. Most video-oriented Amiga programs offer this option, or will include it in an update check with the manufacturer.
Another consideration is the video output from your Amiga to your video equipment. The Amiga 500 and 2000 offer only NTSC black-and-white or RGB video output. The Amiga 1000 does have a composite video output, but most users have been dissatisfied with the picture quality through this port.
Although several devices can produce high quality NTSC composite video from RGB, you'll probably want a genlock device. Since you'll be using your computer for other things, or at least for designing your graphics, you'll want to use RGB video whenever you are not mixing with live video or recording. Unless you don't mind connecting and disconnecting devices constantly, make sure your genlock has an RGB passthrough.
Mimetics' Amigen is the first genlock available for all three Amiga models.
Priced under S200, this device currently stands alone in cost and compatibility. Several higher-priced genlocks are on the way, some with advanced features. We'll discuss them in due time.
(continued on page 18) Haicalc1" is the best valued spreadsheet available for the Amiga. If you have ever had to project budgets, calculate expenses, or prepare a financial statement you need Haicalc.
Whafs a Haicalc?
(pronounced hi-calc) For only $ 59.95 you receive a powerful program that fully utilizes the Amiga Intuition user interface.
You have the convenience of simple point & dick selection of files under Workbench, pull down menu selections for commands, and economical use of your computer's memory -- program size is only 120k. You harness the power of multi-tasking and macros with a maximum spreadsheet size of 9,000 x 9,000. Compare this to the competition.
Haicalc is a powerful solution for a painless price.
Haicalc is a trademark of Haitex Resources • Amiga is a registered trademark of Commodore-Amiga. Inc. Maximum Spreadsheet Size 9,000 rows by 9,000 columns* Number Precision Accurate to 8 digits Interlace Display Ability Up to 44 rows of data per window Window Resolution 1,000 by 1,000 pixels Address Space 18,000,000 cells* Program Size 120k Sparse Matrix Allocation Uses memory only when a cell contains data Copy Protection None System Requirements 512k Amiga,
1. 2 Kickstart, Single floppy drive ‘All capacities are subject
to limits of system memory and storage.
HAITEX RESOURCES 208 Carrollton Park Suite 1207 Carrollton, Texas 75006 haitex (214) 241-8030 My Amigen is permanently connected to my A500, When I'm not using the computer for a video application, I have my monitor switched to RGB video. The Amigen has an RGB passthrough, but you'll need a separate 9-pin male-to-female cable. If you are using your computer this way, you must set the system to interlaced mode. If you don't make this adjustment, you may find some strange things, such as a flickering cursor and a fifty percent slower system clock which affects the operation of much software.
The Amiga 1000 senses genlock and automatically sets interlaced mode. On the A2000 or A500, you'll need to set this manually.
Amigen includes a program called Setlace, which you can install on your Workbench disk and fit into your automatic startup sequence.
While the Amigen is designed primarily to mix computer graphics with other video signals (synchronizing the computeds output to the external video), it also produces a quality NTSC composite video signal compatible with all monitors and VCRs designed for the U.S. (and a few foreign countries). You get this signal even if you don't have an external video source connected to the Amigen "video in" connector.
If you're planning to use genlock at all, you must know where the external video goes, so you can plan your graphics and animations carefully.
You don't want any surprises when you start recording.
The genlock device replaces color register 0 with the external source.
Many programs use black for color 0 as a default. In this case, any black area would be replaced with the external video. If you want to use black in your graphics (and not have it replaced by external video), you must assign an additional color register to black, effectively reducing your available color palette by one. If you want to know which black areas are transparent and which are not, you can change register 0 to any color you won't need in the final graphic.
Unlimited Possibilities?
Of course, there are a few things you can't do on a simple Amiga desktop video system, particularly regarding the external video image. You may have seen TV commercials that shrink the video image, then twist it and move the animated image across the screen. With the Amiga, unless you add some rather expensive video accessories, the external image must always be full screen (although much of it might be masked) and horizontal, Later I'll show how you can simulate some more advanced video effects with careful planning and controlled shooting.
The First Frames Boot Deluxe Paint II or your favorite paint program. Using the "set page size" selection from the project menu, select "Full Video" to make sure you can use the full video screen. Any resolution mode can now be used, although you'tl actually be using an interlaced output later on.
To reach the edges of the screen, scroll the screen with the arrow keys. If you want to view the full screen (in a slightly reduced format), select "show page" from the project menu (or press Shift-S).
Next, load the font directory and select a font for your titles. Keep in mind that you want large crisp letters with ample contrast to the background. You want your titles to be clear and legible in the final video.
Try various combinations of text and graphics, keeping in mind that simpler is generally better.
Save a few screens as IFF files for next time, when we'll start animating the titles.
[See the "Our First Desktop Video" Sidebar for more info. Ed] As we try to get our fledgling desktop video company off the ground, we'll need to show what we can do for clients. A visually impressive, well organized video is our perfect marketing tool it gives prospective customers a first-hand look at our video talent, while also outlining what we're all about.
Hardware Suppliers: Software Suppliers: Anakin Research, Inc. Aegis Development Microillusions 100 Westmore Drive 2210 Wifshire Blvd. Suite 277 17408 Chatsworth St. Rexdale, Ontario, Canada Santa Monica, CA 94039 Granada Hills, CA Easyl (Drawing Tablet) Animator, Images, Impact, Videoscape 3D Musix-X, Micro Midi, Micro SMPTE, Photon Applied Visions, Inc. Aegis Titter Video Suite 2200 One Kendali Square Brown-Wagh Associates Micro Magic Cambridge, MA 02139 16795 Lark Ave. Suite 210 Suite 3208 261 Hamilton Ave.
FutureSound (Sound digitizer) Los Gatos, CA 95030 Palo Alto, CA 94301 Digital Creations Analyze!, TV'Text, TV'Show, Zuma Fonts Forms in Flight 1333 Howe Ave. Ste.208 Byte by Byte Mindware International Sacramento, CA 95825 Arboretum Plaza II Barrie Ontario, Canada Supergen (Video genlock with fade control) 9443 Capitol of Texas Hwy. N. Suite 150 Austin, TX 78759 Pageflipper Mimetics Corporation Sculpt 3D, Animate 3D New Tek 16360 Stevens Canyon 115 West Crane St. Cupertino, CA 95014 Eagfe Tree Software Topeka, KS 66603 Amigen (Video genlock) PO Box 164 Hopwell, VA 23860 Digi-Paint New Tek
Butcher Par Software, Inc. 115 Wesl Crane St. PO Box 1809 Topeka, KS 66603 Electronic Arts Vancouver, WA 98666 Digi-View (Video Digitizer) 1820 Gateway Dr. Express Paint Digi-Droid (Automated accessory for Digi- San Mateo, CA 94404 View) Deluxe Video, Deluxe Paint, Deluxe Titler, Progressive Peripherals & Software Deluxe Productions 464 Kalamath St. SunRize Industries Denver, CO 80204 3801 Old College Road Haitex Resources Pixmate Bryan, TX 77801 208 Carrolton Park Suite 1207 Perfect Sound (Sound digitizer) Carrolton, TX 75006 PVS Publishing Perfect Vision (Video digitizer) Haicalc 3800
Botticelli, Suite 40 Lake Oswego, OR 97035 Hash Enterprises 14201 SE 16th Circle JDK Images CG1 (Character Generator) Vancouver, WA 98684 Right Answers Group Animator: Apprentice, Animator Jr.
Box 3699 Torrance, CA 90510 Impulse Inc. 6860 Shingle Creek Pkwy. 110 The Director Minneapolis, MN 55430 SunRize Industries Silver 3801 Old Colledge Rd. Byran, TX 77801 Mimetics Corp. 16360 Stevens Canyon Cupertino, CA 95014 Soundscape Perfect Sound. Perfect Vision, Studio Magic Our First Desktop Video Outlining the Adventure Organizing our video is important, and creating an outline is a good way to start. The Amiga serves well in this area; you can use any word processor, or an "idea processor" such as New Horizons' Flow), to write the outline.
Our outline should include all points and effects we wish to demonstrate concerning our fictional desktop video company, as well as suggestions for software and hardware options we want to try for each part. Once the outline is finished, it will be easy to create a storyboard and a script the final steps before actually making animations and shooting live segments.
(continued) Our outline should be dynamic. Even as I write this article, several new programs and a few hardware devices are on their way into the market.
Whenever possible, I'll adjust our video to include the very latest software and hardware, and demonstrate the newest video features. I'll suggest several software solutions for various effects, and we'll work through the creative process together, step-by-step. It's impossible to be an expert with all the intricate functions in each software package. In some cases, we'll be experimenting and learning some techniques from the various programs.
If you haven't already done so, take a few minutes to read the outline.
Notice that I've also included suggested running times for the various segments, keeping a general goal in mind of 5 to 10 minutes for the finished video.
The Storyboard Now let's make a storyboard a series of pictures that illustrates, in sequence, the various scenes that make up the video. Before we load Deluxe Paint II and start sketching, let's decide what to include in the video.
We'll begin with a title screen of our company's name. We can use either a static title or an animated title. A static display that suddenly comes to life and starts your viewer's journey into your Amiga desktop video creation is a nice twist. A moving object which stops to reveal the title is another impressive trick.
A list of the video applications to be covered in the video should come next. We'll repeat this list before each section, using color to highlight the specific topic being demonstrated.
Next, let's show why a client might want to use our desktop video services, rather the services of some more established video production facility. Fly a few convincing answers across the screen: versatility, low cost, and relatively fast production time.
Because animated charts and graphs can make meetings more effective and are easily distributed to branch offices, business presentations could become a good profit center for your clients.
We'll need to show a few charts and graphs in our video to get things rolling. Graphics alone, or overlayed on a live video image, are a great way to introduce new products to a sales staff or potential customers. Clients will see that, using similar techniques, they can demonstrate all their products and even produce a video instruction manual.
How about showing a video catalogue? This application can be particularly useful for real estate brokers.
Video tours of houses for prospective clients or branch offices are ideal.
Character generators (or fitters) can spell out the details and help maintain interest.
A simple cartoon can also have its place in the video. Besides having obvious entertainment value, a cartoon can tell the client's story in a light manner without using any costly special effects to demonstrate complicated devices, A local band just starting out might be interested in producing a low-cost rock video. Desktop video techniques, including animation, might give them the extra edge.
Finally, you'll want to show some absolutely dazzling effects, like having your animations jump right from the screen. This fairly simple trick combines the best computer animation with good video technique a perfect close for our video.
I. Setup and System Checks Place at head of tape for checking
quality, adjusting monitor and volume.
A. Color Bars Set contrast (picture), color (hue) and brightness,
1. Software: Deluxe Paint
2. Time: 60 SECONDS
B. Musical tone Set volume control
1. Software: Instant Music, Deluxe Music Construction Set
2. Hardware: Microphone for Live Audio.
3. Time: 30 SECONDS
C. Blank Screen provide timing ; between tests and start ol
1. Software: Deluxe Paint
2. Time: 30 SECONDS
- Note: Record pure black to hold color burst and sync signals.
II. Titles
A. Main Title
1. Software: TV TEXT, Deluxe Paint, JDK Images CG1
2. Time: 15 SECONDS
B. Introduction Screen tell viewers why desktop video might suit
their needs.
1. Software: JDK IMAGES-CG1, Aegis Titter, Deluxe Titter
2. Time: 5 SECONDS
C. Menu Screen build list of major uses for desktop video, each
of which wilt be highlighted before demonstration,
1. Software: JDK IMAGES- CG1, TV Text, Aegis Tiller
2. Time: 10 SECONDS
III. Business Presentations
A. Graphs and Statistics 1, Software: Haicalc, Analyze!, Aegis
Impact, The Director, Deluxe Video
2. Time: 10 Seconds
B. New Product Announcements Advertisements
t. Software: Deluxe Titter, Deluxe Video, Aegis Tiller, TV TEXT,
Digl-View, Digi-Paint, Pixmate, Bulcher
2. Hardware: Amigen, Digiview, Digidroid, Perfect Vision
8. Time: 30 SECONDS
B. Training and education
1. Software: JDK IMAGES- CG1, (continued on page 22) Programs
designed for graphic artists are difficult to learn, hard to
use, tie up iots of memory, cost too much, and do not handle
text very well. Graphics printing on a dot matrix or daisy
wheel printer is very slow.
Introducing PRECISELY. The word processor optimized for people who work with words not pictures! Everything you expect in a word processor, such as: ¦ What you see is what you get (WYSIWYG)
• Very fast screen update printer speed
• Easy to learn and simple to use
• Converts PaperClip, Pocket Writer and SpeedScript documents
• Online HELP • Mail Merge • Keyboard Macros
• Oops Key to undo mistakes
• Built in spelling checker coming soon This is PRECISELY the
word processor you've been looking for at PRECISELY the right
price! Only $ 79.95 (sometimes less is more). Add S3.00 for
shipping and handling. CA residents add 6% sales tax.
The Word Processor that doesn’t try to be a desktop publisher.
Don’t tumble around with your Amiga tiles.
Let QUARTERBACK manage your valuable data.
The Quarterback sneak scores every time!
Quarterback is a FAST Hard Disk to Floppy Backup Utility for the Commodore Amiga, featuring: ¦ Fast backup - 20MB in less than an hour-Full Subdirectory lncremenlal backup
* Full Subdirectory Single File Restore • Automatic formatting of
diskettes • Automatic catalog of files • Automatic diskette
sequence numbering and checking • Runs with Workbench or CLI
• Includes excludes files by name and or wild card • Selects
files by date • Selects files by Archive bil • Estimates number
of floppies needed • Accepts batch command files • Validates
writes * Restores original file date lime stamp • Prints
backup restore report • Allows easy access to subdirectories •
Beeps for floppy change • Provides AmigaDOS access from within
* Convenient user friendly error recovery • Multitasking • No
copy protection • Works with all AmigaDOS compatible hard disk
drives You’ll have fewer "time-outs" with QUARTERBACK managing
your file backups.
Put Quarterback on your team for only S69.95 plus S3.00 far shipping and handling, CA residents add 6% sales tax.
Central Coast Software.
268 Bowie Drive, Los Osos, California 93402 • (805) 528-4906 TRANSFER CG4 C128 files to and from your Amiga!
DISK-2-DISK reads your PaperClip, SpeedScript and Pocket Writer documents or other tiles on floppy disk directly into your Amiga, Transfers all file types. Use these translerred files with your favorite Amiga programs.
• Reads writes 1541 4040 and 1570 1571 disk formats.
* Converts Commodore PET ASCII to Amiga ASCII and vice versa.
TRANSFER MS-DOS and ATARI ST files to and from your Amiga!
D0S-2-D0S reads Lotus 123 worksheets, wordprocessing documents or any other files on floppy disk directly into your Amiga for use with your favorite Amiga programs.
• Reads writes both 5.25' AND 3.5' MS-DOS disks.
• Reads writes 3.5" Atari ST diskettes (GEM format) ¦ Converts
ASCII life line ending characters.
Disk-2-Dlsk requires the Amiga model 1020 5.25' disk drive. Dos-2-Dos runs on any standard Amiga. Disk-2-Disk 549,95, Dos-2-Dos S55.00. Add $ 3.00 for shipping and handling, CA residents add 6% sales tax.
Sava programming lima and effort.
Deluxe Paint, The Director Silver, Deluxe Paint, Forms in
1. Software: Deluxe Titler,
2. Hardware: Amigen, VCR Flight, Animator Apprentice Deluxe
Paint, Digi-View, controller
2. Hardware: Easyl, Amigen Digi-Painl, Pixmale, Deluxe
3. Time: 20 SECONDS
3. Time: 15 SECONDS Video
C. Logos
C. Music Videos
2. Hardware: Amigen. Digi-View
1. Software: Videoscape 3D,
1. Software: Instant Music,
3. Time: 10 SECONDS Sculpt 3D, Animate 3D, Silver, Deluxe Music,
VI. Closer Deluxe Paint Soundscape
A. Advanced Techniques Multipdeimations
2. Time: 15 SECONDS
2. Hardware: Midi Interface, Midi
1. Software: The Director,
D. Real Estate and Video Catalogue Keyboard Deluxe Paint,
1. Software: Digi-View, Digi-Paint,
3. Time: 30 SECONDS Apprentice, Instant Music, JDK Images- CG1
V. Post Production Effects Animate 3D, Videoscape 3D
2. Hardware: Amigen, Digiview,
A. Titles
2. Hardware: Perfect Vision, VCR Controller
1. Software: JDK Images-CG1, Supergen
3. Time: 20 SECONDS Deluxe Paint. Deluxe Video,
3. Time: 25 Seconds
IV. Animations Aegis Tiller, Deluxe Titler,
A. Cartoons The Director
1. Software: Deluxe Paint,
2. Hardware: Amigen, VCR Deluxe Video, Aegis Controller,
FutureSound, Animator Images, Animator Perfect sound Larry
White Apprentice, Sculpt 3D Animate
3. Time: 15 SECONDS 3D, Pageflipper, The Director,
B. Maps Photon Video
2. Hardware: Easy!
3. Time: 20 SECONDS
B. Animated Elfects (added la live video)
1. Software: Aegis Animator, ADD TO THE POWER OF YOUR PROGRAMS
CBTREE does it all! Your best value in a B+tree source!
You can develop exciting file access programs quickly and easily because CBTREE provides a simple but powerful program interface to all B+tree operations. Every aspect of CBTREE is covered thoroughly in the 70 page Users Manual with complete examples. Sample programs are provided on disk.
Cain flexibility in designing your applications.
CBTREE lets you use multiple keys, variable key lengths, concatenated keys, and any data record size and record length. You can customize the B+tree parameters using utilities provided.
Your programs will bo using the most efficient searching techniques.
CBTREE provides the fastest keyed file access performance, with multiple indexes in a single file and crash recovery utilities.
CBTREE is a full function implementation of the industry standard B+tree access method and is proven in applications since 1984.
Access any record or group of records by: ¦ Get first ¦ Get Iasi ¦ Get next ¦ Gel less than or equal ¦ Get greater than or equal ¦ Get partial key match ¦ Gel all keys and locations ¦ Insert key ¦ Delete key
• Get previous ¦Get less than
• Get greater than
• Get sequential block ¦ Get all partial matches ¦ Insert key and
record ¦ Delete key and record
• Change record location Increase your implementation
CBTREE is over 6,000 lines of tightly written, commented C source code.
The driver module is only 20K and links into your programs.
Port your applications to other machine environments.
The C source code that you receive can be compiled on ali popular C compilers lor the IBM PC and also under Unix, Xenix, and AmigaDos! No royalties on your applications that use CBTREE. CBTREE supports multiuser and network applications.
CBTREE compares favorably with other software selling at 2,3 and 4 times our price.
Sold on unconditional money-back guarantee.
NOW! Variable length records.
YOU PAY ONLY $ 99.00 - A MONEY-SAVING PRICE1 TO ORDER OR FOR ADDITIONAL INFORMATION CALL 800} 346-8038 or (703) 847-1743 OR WRITE Peacock Systems, Inc., 2108-C Gallows Road, Vienna, VA 22180 AMAZING REVIEWS Archeology is a fascinating profession.
What starts out as a simple dig in Scotland can suddenly become a terrifying adventure into the world of the occult. Accounting can't make such a claim; neither can teaching.
You don't even have to be an archaeologist yourself. Another family member will do just fine for our purposes. After all, when they get into trouble, who are they going to call? Adventure-busters! And that 1?
Means you.
Arazok's Tomb is Aegis's entry into the game market. It is an interesting first effort. If you had to label it, you would probably call it a "graphics text adventure." Although the game is not perfect, it has several features that surprise the player. The graphics, although only static screen images, are extremely well done. (The graphic style is reminiscent of Jim Sachs.)
Games of this sort can be judged in two separate, but interrelated, categories. Game mechanics measures how well the user-interface works, how consistent the game is, how smoothly and quickly it operates, how helpful the pictures are, and so on. The other category is plot, which measures how interesting the story is, how tough the puzzles are, whether the pictures create a mood, and so forth. Let's look at Arazok's Tomb from these two angles.
When you first boot, the startup- sequence asks for the date and time.
'This is an unusual thing for a game to want to know," you think. You had better answer the request, however. The program uses the entered time as the initialization for a real-time analog style clock on the screen. What purpose this serves is not clear. I've never needed it for the game itself.
But maybe later on... Besides the clock, several gadgets on the screen make your adventuring easier. A compass gadget allows you to click on the direction you want to go. There are even separate gadgets for up and down. A scroll bar allows you to scroll back the text that has gone off the screen. This feature is very helpful for remembering things said earlier. Storage capacity is not infinite, however, so you should write down the really important information.
Standard Amiga menus help you along as well, freeing you from typing the standard requests of get, put, look, read, et cetera. This feature is not as useful as it could be, however, since you cannot point at an item on the screen and click it to select it. You can't menu-select "get" and then click on that big bag of gold, so you are never completely free from the keyboard. Whether this is a plus or a minus is mostly a matter of taste.
Flexibility is always desirable, of course. Another menu selection is your inventory, which is limited to seven items. This option frees you from having to ask over and over during the game for a list of your possessions; that's a welcome help.
So much for mechanics how is the plot? Well, this is where the game begins to sag. Arazok's Tomb is billed as an Adult Adventure, so I expected something a bit more racy than what I got. Maybe I've been hardened by horror movies, but a quick expression like, 'The snake tears your throat out!"
Does not, in my mind, require the label "Adult." As far as I have played (1 have not won yet), there has been nothing in the graphics to make me want to keep the under-eighteen crowd away. So why get our hopes up for a really "racy" game by using the label "Adult?" Marketing hype does not do a company any good in the long run.
(continued on page 27) We Focus In rhe growing video market one company leads the way in top-quality, low-cost, computer effects software. Aegis. You’ll find our products working at every level in the video field. Professionals in television, video production, cable TV, industrial and government video, college, schools you name it, we’re there.
We’re there because our products provide flexible technology that sparks the imagination. Technology that gets the job done.
You’ll find us at Prism Graphics For Jeff Bruette the Amiga spells success. He uses Aegis programs like VideoScape 3D, VideoTitler, and Animator to help him produce graphics and animations for television programs like Max Headroom and Secrets and At MetaVision Mysteries.
When Theo Mayer and Peter Inova began work on a video project for Universal Studios tours they decided to try out an Amiga for a particular effect they wanted. It worked perfectly, and they saved thousands of dollars in post production fees. Next, they put Aegis products to work producing animations for a McGraw-Hill home video. They were convinced, and the Amiga with Aegis software became an integral part of the studio.
At Master Communications The publishers of the popular Board Sailing Year annual video put Aegis software to work for their corporate clients. An Amiga 2000 is part of their video production house and the}1 use products like VideoScape 3D, Animator and AudioMaster for special effects and logos.
And at Pixelight Independent Amiga artist, Nick Poliko, uses Aegis products to create graphics and animations for such clients as CommCorp, Purolator, and Union Gas. They use his artwork for everything from public relations videos to attention getters at trade shows.
With Products for Graphics, Animation We handle metamor- phic, cel, and color cycling animation with Aegis Animator.
Animations are created and edited in an interactive environment allowing you to watch your animation as you build it. Winner of the 1986 CES Award of Excellence, Animator has already found thousands of uses around the world. Included in the S139-95 price is the Images paint system.
Award winning in its own right Images is a lot of paint program for a small price. With color cycling, mirrors, air brush, pantograph, gradient fill, over 40 Aegis Animator. Images. VideoScape 3D. AudioMaster. Sonix. VideoTitler, and Impoct ate trademarks of Aegis Development. Inc AN1M is a trademark of Sparia Aegii Development. Inc. AMIGA is a registered trademark of Commodore-AMIGA. Inc. The Affl Camcorder is s product of Sony Corporotion and its use in this ad ts not an endorsement by Jony of Aegis products on Video other features, and a price of S39.95, Images has the best price
performance ratio in paint packages.
And Sound Our video effects don’t stop with great visuals. Programs like Sonix and AudioMaster take on the world of music and sound as well. Winner of a CES 1987 Award of Merit, Sonix lets you create your own instruments, compose music, and work with MIDI instruments. All for S79.95. We back up Sonix with AudioMaster, a digital sampling and editing program. It features interactive editing of the waveform and effects like echo, reverse, and low pass filtering.
It also makes use of expansion memory (up to 9 5 MB) for extra long samples. Just S$ 9.95. Business graphics are a snap with Impact! Pie. Bar, line, area, symbol, and scatter- gram charts are all easily created with every element of the chart from labels to axes available for editing.
You also get a slide show generator with eight different dissolves and wipes. All for S89.95. For the advanced animator VideoScape 3D provides an environment rich in 3-dimensional capabilities. Object motion and metamorphosis, camera motion, light sources, IFF foregrounds and backgrounds, and the ability to create animations in the ANIM format are just a few of the features that make the S199-95 price tag a great buy.
For titling you can't beat Aegis VideoTitler. It supports all of the Amiga fonts as well as its own polytext fonts, works in four different resolutions and uses overscan. It has 20 different styles, works with IFF, uses halfbrite if available, and supports the ANIM format. Included in the amazing S149-95 price is a slideshow generator that can mix ANIM animations with slides.
For more information and the dealer nearest you:
(213) 392-9972 or to order direct: 2210 Wilshire Blvd.. Suite 277
Santa Monica, CA 90403 HARD DRIVES 150 meg $ 1595.95 65 meg
$ 949.95 40 meg $ 879.95 20 meg $ 659.95 DRIVE 95
9. 95 each RAM
129. 95
389. 95
449. 95
389. 95
449. 95 Hard drive comes complete with SCSI controller, fan
cooled power supply with case and a true SCSI hard disk (no
interface boards) .
Full ONE YEAR warranty!
1. 5 meg INTERNAL . $ 2 meg EXTERNAL ... $ AMIGA 1000
1. 5 meg INTERNAL . $ 2 meg EXTERNAL ... $ AMIGA 2000 2 meg
South 200 Salt Lake City, UT 84121
(801) 942-1174 Some of the puzzles are just not very logical. I
can remember the old days when the obstacles in a game were
tough, but reasonable. Usually, you could be sure you would
be able to solve at least a couple of the early, simple
puzzles. These gave you the tools you needed to solve the
later, more difficult ones. With more modern games,
however, the puzzles seem to be designed illogically. Their
solutions are not reasonable, and they start off hard, with
no clues or hints.
Of course, earlier games didn't offer hint books as separate purchases either. Once again, marketing darkens the bright sky of adventuring.
Another device that makes the game more difficult is limited vocabulary.
In the beginning, finding just the right word was the whole challenge of text adventures. Public domain games like Adventure were that way. As time went on, though, the parser (the part of the program that breaks your text input into its component words and analyzes them) became more powerful and understood some words as synonyms, so multiple words could have the same effect. Now, as if writers have run out of clever things to do, some games seem to be reverting to the old "guess what word I'm thinking of" style of puzzle. Why revert to more primitive parsers just to make the game more
That's not the way to make games more challenging. This approach certainly doesn't give a very good impression of the creativity of the gaming industry.
My final complaint against Arazok's Tomb is not actually Aegis's fault at all. You will notice that the text scrolls very roughly. You may also notice a familiar looking screen in the background as the game boots up.
Both of these characteristics stem from the fact that the game itself was written in AmigaBasic and compiled.
It is a testament to the utility and power of Microsoft's Basic for the Amiga that a game this good could be written in it. However, where AmigaBasic is weak, Arazok's Tomb is weak. We ail know how poor AmigaBASIC's text rendering routines are. (Anyone who has used the editor that comes with AmigaBASIC knows what 3 mean.) Consequently, the text is written to its window in a rather choppy, jerky manner. This choppiness is only an esthetics problem, but you will notice it as you play.
Overall, I liked the game. The pictures are well drawn, and the plot is novel. I'm not sure how well players who don't have access to some outside help will fare. With games like this, being a member of a large and active user group or a Special Interest Group on a network is almost a requirement. Then again, who would journey into the sinister world of the occult alone?
• AC- AMAZING REVIEWS AIRT REVIEW by Steve Faiwiszewski The ad
for AiRT by PDJ Software reads as follows: "AiRT is an icon
based programming language that allows a programmer to create a
usable program simply by selecting a series of pictures. AiRT
was designed for non-programmers and those not willing to spend
days or weeks developing a program using conventional
It sounded almost too good to be true, so I wanted to find out if the package lived up to its claims.
Wliat You Get The package contains one disk and a manual. The disk contains the AiRT editor, the compiler, a forms editor, a runtime support program, a print utility, a template "drawer," and one working example.
Using The Package Using AiRT through Workbench is quite simple. To create a new program, just choose the "duplicate" option from the Workbench menu to create a duplicate of the template drawer. This sets up a directory with all the necessary support files. Once you have created a new drawer, open it to see the four icons inside: one each for the editor, the compiler, the print utility, and a log file created by the compiler.
You can run the editor by doubleclicking its icon. The editor presents a map of ail the program's "frames," and you must select the frame with which you want to work. A frame is similar to a procedure in more conventional languages, such as Pascal and C. Once you click on the desired frame, the editor displays the frame's contents in the edit work screen. A frame consists of 78 cells. A cell is the smallest unit of execution, like a statement in other languages.
Cells are organized in three rows of 26 cells each, but the work screen can display only seven cells at a time.
You can scroll through the visible cells with a sliding gadget at the top right of the screen. Figure 1 is a snapshot of an edit work screen with most of the cells already filled.
You place various icons into these cells, and they are executed at run time, left to right, top to bottom. The icons are selected at the bottom of the screen. Icons are set up in groups of six, and there arc currently thirteen groups. Ninety-six icons are available in all, but four are reserved for future use. The grouping is logic-based related icons arc grouped together.
Oniy one group is visible at any moment; a slider gadget scrolls through all available groups.
The editor lets you overwrite cells, modify cells which already contain icons, insert new cells between filled ones, and delete existing cells. Inserting and deleting cells really doesn't change the total number of cells in the program; the total is fixed at 78 (3 times 26). Insertion and deletion merely shift icons to the left or right (depending on whether you have done a deletion or an insertion).
(continued) You can fill a cell by clicking on the icon you want to place in the cell, and then clicking on the desired cell. The editor then presents a new screen, the resolve decision screen. A brief description of the selected icon is shown, as well as a list of all required parameters. Parameters are usually other cells, or Fields. Field types include: integer (small and large), float, string, file, form gadget, and form field.
Figure 2 shows an example of the resolve decision screen.
Once the program is created and saved, the compiler is executed by double-clicking its icon. Compilation is fairly rapid and usually successful.
Syntax errors are improbable because there is no syntax. The only problem I encountered was when i tried to refer to a form that didn't exist. (More about forms later.)
Once the program is compiled, an icon is created and displayed next time the drawer is opened. The program can now be executed at this point by simply clicking on its icon.
Available Icons Icons are the heart of AiRT. They are the "actions," the objects that actually do something. Since there are over 90 icons, I'll mention just a few.
Icons are available to display IFF pictures, dismiss the program for a specified number of seconds (put it to sleep), and obtain the system date and time. Other icons display a requester and use the Amiga's built-in speech synthesizer. Some perform arithmetic; SEND CHECK OR MONEY ORDER TO: ONLY $ 4095 others manipulate disk files. Some handle gadgets, while others allow some graphic rendering. Icons are responsible for program flow control, and a branch icon allows branching to another cell, either within the same frame or to some other frame. Other flow-control icons perform test-and- branch
actions (the branch is performed only if a condition is true). A Perform icon, very much like the PERFORM in COBOL or GOSUB in BASIC, is also included.
The Form Editor The Form Editor is a really nice feature of AiRT. You can take an IFF picture and overlay gadgets and fields on top of it. You can turn any part of the picture into a boolean gadget, and you can create string fields (which behave as string gadgets) anywhere on the picture. These gadgets and fields are then usable from within an AiRT program. It is a pleasure to be able to design a data-cntry screen using Dpaint, and then simply add the right fields and gadgets using the Form Editor. I wish this feature was readily available in other languages. Picture 3 is an IFF image with
certain areas (highlighted) defined as gadgets.
The Manual The 65-page manual consists of seven chapters and an appendix. Chapter I is a short introduction to programming. Chapter 2 describes AiRT and its uses. Chapter 3 discusses the editor, and chapter 4 covers the compiler. Chapter 5 covers the print utility, while chapter 6 explains use of the Forms Editor. Chapter 7 is a step- by-step example of creating, compiling, and running an AiRT program. The appendix lists all available icons.
The manual leaves a lot to be desired.
The presentation is not coherent or logical. References are made to items that arc defined only at some later point, but you are expected to already know the definitions. The instructions lack direction and do not fit the target audience. The writing is overly simple at times, and too technical at others.
Finally, there is no index, and some topics are not covered at all.
Good Points ATTENTION!
PROGRAMMERS & DEVELOPERS 'The GS 1000 Graphics Library ¦* A full featured INTERACTIVE Graphics Library maximizing tiie Amiga's™ powerful graphics capabilities!
* One word commands eliminate hours and hours of programming
* A complete library at your- disposal, extensively documented
and ready to use!
? Built-in features include: Device Independent Graplucs • Multiple Coordinate Representations • Multiple Viewports and Screens • Zoom
• Panning • Axial Scaling and Rotation * Rays • Palettes • Undo
System w Get Slate - Put Slate features
• Color Mixing * Polymarkers • Brushes • Lineslvles • Clipping •
Interactive Text I O • Debug Reporting facilities
• Copy • Area Fills • Pattern Fills • PLUS standard features too
extensive to list over 90 commands in all • PLUS A full
featured Paint Program w source to demonstrate the power of the
Interactive Library.
Programmed in C, requires 512K memory.
“Amiga is a registered trademark of Commodore-Amiga. Inc." AiRT presents a novel way of programming. The syntax-free method appeals to computer neophytes and those with syntax phobia. More experienced users may also find it useful because it's a very easy, fast way to do some "quick and dirty" programming. You could call AiRT a super-high level language what you can accomplish with one icon would take many lines of code in a conventional language. The chance of bugs is also reduced because fewer program elements are used (fewer icons are used in AiRT than statements in other languages).
Rittinghouse Software Development Co.
PO- Box 1272. Sioux Falls, SO 57101 VISAtMesterCard Customers Caw Computer Business Center
(605) 5425229 • Mon.-Fri. 9-5, Sal. 10-3 DEALERS INQUIRIES
The Bad Points There are quite a few:
A) The editors' user interface is weak.
The package looks very user friendly at first, but a closer look reveals its deficiencies.
1. You cannot abort an edit session without saving changes. So,
if you make a serious mistake while editing a program and want
to abort the edit session, you must restore it to the way it
was originally, or you lose the good version of the program.
2. You cannot save the current changes without exiting the
editor. Introducing a minor change and then compiling and
running a program to see how it looks is quite common. It's a
real pain to restart the editor every time you need to change
3. Seeing 21 cells at a time can also be a nuisance. I would much
rather have smaller cells and icons, so more can fit on the
(continued on page 30) 1FSi® SmgM 1P®®Hs Sis® ftlh® T&alk Developed by Todor Fay, author of the Soundscape system, these Amiga library functions add innovative, powerful features to your Intuition interfaces. Add a pop-up menu. Create a moveable gadget. Incorporate a knob gadget or a slick file requester.
Remember, your interface creates that all-important first impression, so dress your software for the occasion!
3M®wa1T®(£)Ils I includes: IFSIl© This new file requester is small, fast* shows VOLUME names of all mounted volumes, performs filetype searches and keeps matched filenames stored for fast response.
These generic list-handling routines help control the display, selection and scrolling of a "list-in-a-box." Used in our new file requester, it makes list processing a breeze.
This new gadget type can be moved from one window to another, or anywhere in a specified display area without disturbing existing imagery. Great for "toolbox" programs.
* !EaiCs Tb Another completely new gadget type, this circular,
easily manipulated, eye-catching gadget replaces standard
proportional gadgets with accurate, calibrated, analog dials.
Great for "control panel" gauges in games or other
H§t03tfc®ffS Incorporating the new "knob gadget," this palette editor is the epitome of "simple but accurate." Using both the red-green- blue and hue-saturation-intensity methods, you can set your palette by manipulating analog-type knobs. Changing any one knob results in the instant updating of all others affected.
IPcg)Jp=*'QG2Jp MiooitnSa This feature can pop-up a menu anywhere on the screen that you can put your pointer. Now, for the first time, you can have multiple menus in a single window for intelligently organized user- interfaces. Uses standard Intuition menu structures.
M®w&1F®®Ib H exists both in the form of system libraries that can be called from any language, and in linkable C code as well. And of course, when you want to include an M®wstfT®®Ils U gadget or pop-up menu in your program, you can use data generated by iP®a33($ ffiW35Si(El®WQ our highly acclaimed, interactive screen window menu gadget generator (version 2.5 and higher).
Voila! We've just solved your interface programming problems! Again.
Only $ 79.95 The REAL POWER in Power Programming.
11311 Stemmons Freeway Suite 8 Dallas, TX 75229 214 241-9515 Trademarks: PowerWindows, Inovatronics, Inc.; SoundScape, Mimelics, Inc.; Amiga, Commodore Business Machines
4. The editor is very disk-based.
When scrolling, many disk accesses really affect the editor's response time, i understand frequent disk access may be necessary on an Amiga with little memory (if you can call 512K little), but I have a 2.5 meg machine, so there's no reason to keep things on disk.
5. The editor cannot copy or move cells, making editing quite
cumbersome. All text editors used with the more conventional
languages have that ability, and it's sorely needed in AiRT.
B) The software does not work from the RAM disk. Since I have
plenty of RAM, I wanted to load all the necessary files into
the RAM disk, so editing and compiling would be much faster.
Unfortunately, there is no documentation about doing so, and
all my efforts brought the Guru. The situation has improved
since i started using ASDG's FACC II, but PDJ should have
provided this capability.
C) I came across a bug in the software. According to the
documentation, a group of fields can be selected (as opposed
to a single field) for some operations, such as writing to
disk. I couldn't get this feature to work for form fields.
D) Wtile AiRT's manual mentions "structured programming" on a few
occasions, AiRT seems to go against modern-day structured
programming standards.
1. AiRT's branching icons encourage sloppy code. They are really
nothing more than GOTOs. No true structured programming
constructs are included; nothing is available to match WHILE
DO, REPEAT UNTIL or FOR loops of more conventional languages.
2. There are no local variables (fields) within a frame or a
perform, and no parameter passing is allowed to frames or
performs. This means all fields are actually global
variables "evil" items in modern programming.
3. Since there are no local variables and no parameter passing,
recursion is impossible. You may think recursion is an
obscure, useless concept, but it does indicate the maturity of
a language.
DYNAMIC DRUMS The program that transforms your Amiga™ into a professional drum machine.
• Incredibly realistic sound
• Create your own studio-quality drum tracks
• Real or step time programming
• Graphic Editing
• Over 100 percussion samples included or use your own IFF
• Fully adjustable volume and tuning levels
• Randomizing options for a dynamic, human feel
• MIDI compatible Requires 512K DEALER INQUIRIES INVITED MI, FL,
it CA add sales tax
E) AiRT's most serious shortcoming is its lack of
"expendability." Comparing AiRT to other languages is like
comparing Chinese to English. In Chinese, each word and
concept has a unique symbol (icon). A single icon represents
a single concept.
In English, words are made up of letters, so a concept requires many symbols. However, a new concept or word in English requires just a new ordering of the existing symbols. No new symbols need be created.
In Chinese, a new icon must be created for each new word and concept, AiRT is like Chinese. New things require new icons. Unfortunately, only the authors of AiRT can create new things. This limitation makes AiRT quite restricted.
[31 3] 771-44B5 Summary AiRT's paradigm of programming is innovative and powerful, with excellent potential. Unfortunately, most of that potential is not realized in the current implementation of AiRT, and I cannot recommend it for any serious work.
• AO AiRT $ 64.95 PDJ Software 111 Thornwood Dr. Marlton, NJ 08053
(609) 596-8991 AMAZING INTERVIEWS Hooked on the Amiga with Fred
Fish by Ed Bercovitz Among Amiga users, two individuals are
considered "fathers" of the Amiga: Jay Miner, who headed
hardware development, and R.J. Mical, who headed
development of the operating system software. A third
individual, whose contribution later in Amiga history was
no less significant in ensuring the success of the ma
chine, is Fred Fish. As you probably know, Mr. Fish is the
originator and continuing force behind the "Fred Fish"
public domain software collection.
Before commercial software really started flowing, public domain material was the major source of software. More important, the circulation of public domain source code provided a synergistic impact for both amateur and professional software developers. This public domain spirit has typified the Amiga developer community. To a large extent, the medium of communication has been the Fred Fish disk collection.
Although the name is familiar, "Fred Fish the person" is largely unknown to Amiga users. Amazing Computing met with Fred Fish at the World of Commodore in Toronto.
AC: How did you get into the business of producing public domain disks for the Amiga community?
FF: When I got my machine just after Thanksgiving 1985, there was virtually no software anywhere, All I had was the normal Commodore disks that came with the Amiga and a few demo disks that I had managed to con my dealer into letting me take home to play with. 1 said to myself, "1 have to do something with this machine," so i started looking around to see what 1 could find in terms of public domain software that I could port, i had also just bought one of the very early C compilers, an assembler, and a few other small tools, and I wanted to do something with them. At the time, I was working at
a Unix company and had a fair amount of public domain software on disks that had come through Usenet, so I started porting that. I had gotten two or three disks of useful stuff done when 1 heard about this user group called First Amiga Users Group which was meeting down in Belmont, in the San Francisco Bay area. So 1 went down there one day and I took along these disks that I had put together with the intention of distributing them. Well, the users there went kind of crazy because, of course, they didn't have much software either.
That's basically how it all got started.
(continued) It's interesting that some of the early disks were the ones that took the most time to put together. That was because, in the beginning, there were many programs that I sat down and went through line-by-line, and rewrote them to fix bugs. For example, there's a "make" utility in one of the first four disks that I went through, and reconstructed the whole thing from scratch. 1 built from what was there, but I really did reorganize all the routines. I probably spent a week just on that one program.
Obviously, ! Can't do that anymore.
F An easy 10 use, friendly and intuitive user interface A powerful and fast disk backup tool that lets you make backups of your copv-protectcd Amiga software.
A disk editing tool that lets you edit raw MKM tracks. Amiga DOS sectors and AmigaDOS files (automatically calculating new checksums).
A disk cataloging tool that lets you maintain lists of vour personal, public domain and commercial software.
A unique backnp tool for duplicating other disk formats including MS-DOS PC-DOS and Atari ST. An easy to read, informative user manual is included This product is not copy-protected in any way.
$ 49.95 Includes shipping and handling!
Arizona residents add 6.5ri sales tax.
Amiga is a trademark of Com mod ore-Amiga. Inc. In general, programs that I redistribute now go out just as they come to me, I don't necessarily do anything to them other than possibly fix bugs that are reported to me between the time I receive it and when it is actually put on one of the disks. Averaged over a long time, I would say 1 spend 20 to 30 hours a week on the collection.
The work goes in cycles. I try to make sure some disks come out at least every four to six weeks. There are usually a couple of weeks when I don't do anything other than fill orders; then there will be two weeks when I come home from work at 5 o'clock and work on the disks until I go to bed at midnight or 1 a.m., and I will also work all weekend. It does take a lot of my time. That's one of the things I'm short of nowadays, so that's probably why the rate of releases has slowed down somewhat.
I haven't charted how many of the disks are released (per] month, but one of the reasons I've been able to keep An Evolution in Disk Utilities for Amiga™ Personal Computers!
TO ORDER Send check or money order to: Fuller Computer Systems, Inc.
P. O. Box 9222 Mesa, Arizona 85204-0430 Or CALL (002) 835-5018
Dealer Inquiries Invited up the amount of material is because
people have started sending me more than they used to. So that
greatly reduces the amount of time I have to spend to go out
and track stuff down.
Early on, 1 had to spend a lot of time actually going out and doing footwork to find material that was suitable and getting permission to include it, if necessary. Now I come home in the afternoon, and there's a whole pile of new disks that people have sent me to look at. Probably 70 to 80 percent of it isn't suitable for inclusion in the library, but there's some real gems that do turn up. It's really appreciated when someone sends me a program that is really useful and hasn't been seen before, it's all set to go, and all I have to do is to drop it onto a disk.
AC: How do you handle bug fixes and updates to existing programs in the library?
FF: This was something 1 had to deal with very early. 1 could have elected to update the master disks with the new material, replacing the old material, but I figured that would be too confusing. Nobody would be able to figure out whether or not they had the latest copy of each disk, unless I went to some sort of numbering scheme that uniquely identified each disk update. Instead, I decided to treat updates and bug fix versions the same as new material and include them on a disk in the next batch to be released.
I wanted at some point to put together a "disk validation" program that would use a database of information about each disk, such as checksums for each file, which a user could use to make sure he had a complete and correct copy of each disk. Updating the master disks would have completely invalidated this idea, although I've never had time to do this anyway.
AC: There are currently 118 disks in the collection, totalling more than 100 megabytes. Reportedly, at one time, you had something like 300 megabytes' worth of programs and files. Does the difference of 200 megabytes represent material that wasn't included?
FF: It's far worse than that now. I probably have close to 2000 disks full of stuff. I've saved everything since 1 started doing this.
Yes, there's lots of disks that's all I can say. 1 originally ordered a very nice disk box; it's about 18 inches deep and a couple of feet wide and six inches high and each one is supposed to hold 500 disks. Now I have a stack of four of those, in addition, I have a standard file cabinet in which a couple of drawers in there are practically full.
The floppy is a nice little compact piece of media for hauling a fair amount of data around, but when you start talking about this amount of information, it's really inadequate.
I'm really looking forward to the day when all the material will fit on one optical disk; it will be much easier to keep organized. The way technology is going these days, the amount of information available is so overwhelming. It's going to continue to be a problem, until we get some sort of compact way of dealing with it all.
Having a stack of disks two feet high next to your Amiga isn't the best way to deal with it.
One of the problems 1 have now is that there is so much in the library that it's hard to keep track of it all.
People come up to me all the time and ask me, "What disk is such and such on?" All I can say is, "Beats me!"
When 1 was coming to the show today, i mentioned 1 had 8 new disks, and someone asked me what was on them 1 replied, "Gee, I don't remember."
Amiga-Tax II Tax Planning & Preparation Software Pay $ 69.95 once then receive 95 Yearly Updates for ONLY
- Ail Schedules, All provinces, Gov’t Approved
- PRINTS tax returns No manual transcribing!
- Save Time, Money, and Aggravation
- Useful all year for tax planning Send $ 10 for Mini Version &
Save $ 10 on final cost.
Of all the material that is submitted to mo for possible inclusion, I try to keep at least one copy just for archival purposes, so if there is any question about where anything came from, 1 can always go back to the original disk somewhere in the pile of 2000 disks!
Recently, when there was the unfortunate incident of some pirated commercial software making it onto one of my disks, I spent probably two days going through the massive pile of disks looking for a copy, trying to find out where the programs came from. It was never resolved. So I'm not sure how useful it is to keep everything.
Datamax Research corp Box 5000, draciord, Ontario L3Z 2A6 And, of course, I have a lot of disks of stuff I've done on my own. A lot of it is digitized imagery. 1 have a Digi- View which I enjoy quite a bit, and I spend some time playing with that.
AC: Recently, 1 saw a reference to a collection called "The Best of the Fred Fish Collection." Is this something new you are distributing?
FF: The only one 1 am familiar writh is a set that I put together for Commodore to release for their promotion of the 500 and user groups. 1 called this collection 'The Goldfish Disks." I was really enthralled when I thought of that name. That set currently has only 3 disks, and unless ! Get a lot of motivation to do some more, it may not go much further, at least for a while. The idea was to get some of the better and more useful pieces of software for the users out on a small number of disks, as a sample of all the public domain software that is available.
I'm sure there are a number of other people who have taken my collection and rearranged and extracted various pieces and so forth. Although I have no problem with that and encourage it, 1 don't necessarily want to get involved in it. I would prefer that they not call it the "Best of the Fred Fish Disks" directly, but there's not much ! Can do about it, if they choose to [use that name).
As you may be aware, it is possible, under copyright law, to copyright a collection. Very early on, I had to decide how' to deal with that, and whether or not I in fact wanted to claim copyright on the collection, If I had been going into it as a commercial venture with the idea of making my living off it, or even a substantial amount of secondary income, very definitely i would have copyrighted it.
But my whole goal is simply to get the software out there. So that's why 1 decided to make it wide open, rather than claim any rights at all to it. But I would prefer that people didn't try and capitalize on my name, though.
AC: When you come out with a new disk, how many copies go out directly from you?
FF: At the present time, there are probably somewhere between 40 and 100 people or organizations that maintain a credit balance with me, and when new disks are released, they automatically get sent out to them. So this [is] the first tier of distribution.
It's not large enough, so that it's overwhelming for me. If 1 had to deal w'ith releasing 5000 disks, it would be (continued) a major chore. As it is now, 1 have my son do all the duplicating. I pay him 25 cents a disk for doing the duplicating and packaging, and he enjoys doing it.
Most of the people 1 distribute to directly are either geographically isolated from other users, [or! Are what 1 would classify as "impatient collectors," [or] are user group librarians, or work in a store that sells the Amiga and maintain a library for their customers. Many stores can be persuaded to order the entire set of disks since they can then turn around and sell literally thousands of blank disks to their customers that want make copies from their store library.
Sometimes I think I should have taken out stock in a disk manufacturing company before 1 started this!
AC: How can people obtain detailed information on which programs are currently in the library?
FF: 1 used to distribute a printed version of a library catalog that listed the contents of each disk. However, it is no longer cost effective to maintain and distribute a printed catalog, so 1 have gone to distributing a disk-based version. This catalog disk, library disk 0, is kept up to date at each release of a new batch of disks. Anyone can get a copy at any time by simply sending me a blank disk and sufficient return postage (currently 39 cents). There is no duplication charge for the catalog disk.
Once you've received the first catalog disk, you can repeat the process and specify that the disk be held until the next update. Unless you are on Usenet or BIX, this is probably the fastest way to find out about what is on the latest batch of disks. [Editor's note: Fred's postings on the contents of new disks are often reposted to other commercial networks and to local bulletin boards.] For disks that have been released for a few months, you can find an abbreviated catalog in the back of Amazing Computing.
AC: What sort of criteria do you use in selecting programs for your disks?
FF: First and foremost, it must be something that I'm allowed to include in the collection. So that leaves out commercial programs and pirated versions of commercial programs.
I also have a general bias towards material that comes with source code.
Given everything else equal, if two programs come to me and one of them has source and the other doesn't, and there's only room for one on the disk, then, of course, the one with source gets put on. Other than that, there is just my general feeling as to how useful most people will find the program.
I also have a bias towards developers.
The library was started initially to support the developer community and that's why the early disks were all Cll-oriented with no icons. So even if it's small, if a program does something useful for a developer, it will probably get included. 1 also recently have been trying to get programs which, if they do run from the Workbench, will run "nicely" in my environment (i.e., I don't have to change the disk name to make it work). I might go through a few gyrations trying to get it to run, but, in general, I like to include material that looks like somebody spent a little time on it, as opposed
to something that somebody thought they would just throw out there.
Those are some of my criteria. Sometimes, w'hen I'm trying to finish up a disk and 1 don't have a lot of material, something marginal may get included, not as a filler, but rather because it just happens to be the right size at the right time. So some of it is timing.
AC: Are there certain types of material you are less likely to include on your disks?
FF: I have some trouble with distributing programs written in BASIC for a couple of reasons. One is that I don't "speak" any BASIC; I never learned it and never intend to. The other is that even though everybody has it, I can't put a version of Basic on a disk that you're going to give away. So that rules out having the program execute directly from my disk. People then have to spend some time constructing a bootable and "runnable" disk.
Some people ask me why isn't there more music stuff on my disks. There are a couple of reasons for that. One is that f don't think that there is any really good public domain or freely redistributable player for music programs, and everybody seems to have their own format. The other reason is the nature of music itself makes it hard to identify what is copyrighted and what isn't, I obviously couldn't distribute the digitized version of some Madonna song.
Unless somebody gives me an original work, it's kind of hard to distribute anything that's really useful or interesting. So it's not that I have a bias against music, it's just hard for me to know what is distributable and what isn't. Finally, the other thing that makes music hard to distribute is that it takes a fair amount of disk space.
As for pictures, I haven't included anything that I've randomly downloaded. A number of artists have sent me samples of their work. That's great, and I like that. I try to pick and choose what looks to me to be the most interesting. I'm not a very artistic type, and perhaps some people aren't happy with my choices. I have artists who send me 2 or 3 disks of their work and ask me to distribute it.
1 look at it and and say, "It's OK," but I'm not sure if! Was at the receiving end, I would appreciate receiving 3 disks of this guy's pictures. If there was an optica! Disk available and it only took two percent of the disk to put this stuff on, then there would be no problem. 1 would include it and maybe somebody would find it interesting.
AC: Ilave you ever thought of doing individual disks on particular themes?
FF: Putting a disk together on one theme would be a lot easier to do nowadays than it was in the past because, when I started, I pretty much put stuff on as it came to me. In some respects, that is what I still do.
Although, if I have enough material and it's obviously related. I'll try to put it on a single disk. It wouldn't have been realistic in the 10s and 20s to say, "I need an art disk," and start collecting art, because it would probably take me six months to collect enough material to fill and release an art disk.
Professional display and animation language for the Amiga'"
• Use any IFF images, any resolution, any number of colors
• F’ades, Dissolves. Ulus, Wipes. Stencils
• Page flip full or partial screens
• Preload images, fonts and sounds up to your memory limit
• Flexible script-based structure
• Basic-like vocabulary: For; Next, Gosub, Return. II Else Endit
• Arithmetic expressions, random number generator, variables
• Execute Amiga DOS commands from the script
• Eext string and file input and output
• Keyboard and mouse interaction
• Digitized soundtrack module
• Supports HAM and overscan
• Supports I FT AN1M playback
• Built-in drawing commands
• No copy protection
• And much more . . .
,‘ v. A The Right Answers Group ;C , DeparliiHiil ( (J Box 3699 lS~ry Torrance, CA 90510 (213)325-1311 Amiga is a iradf mark ol Commodofc-Amtgj. Inc AC: Some of your disks contain shareware programs. How well do you think the shareware authors have done?
DU MO DISKS S i 0 each Probe Sequence (512k) RGB (I meg) FF: At this point, I would have to discourage anyone from releasing a program as shareware. If the program is good enough that the developer feels that people would be willing to pay money for it, then by all means, try the commercial route. Put a small ad in an Amiga-oriented magazine and distribute it yourself for some small amount, like S19.95 or something.
Otherwise, just release it as public domain without restrictions. Very few programs have been successful as shareware products. Most people are simply too lazy or too busy to sit down and send the author the requested shareware fee. The motivation factor is the real problem with shareware, not the amount of the requested fee.
$ 69.95 1 should note that I no longer include shareware programs, unless they are sent to me directly by the author. I used to include shareware on disks for which 1 charged no duplication fee (every tenth disk), but I've discontinued this practice for various reasons.
So if someone writes a program that they insist on releasing as shareware, and want it to appear in the library, they should send me a copy directly.
AC: What is the current situation regarding the pirated commercial programs inadvertently included in the collection?
FF: Basically, at this time, the whole matter is closed and has been laid to rest. I'm grateful that the company whose software was inadvertently distributed by me has chosen not to pursue the matter any further.
There was never any serious threat of legal action. The rumors about that [situation] greatly exceeded the facts of the case. There were rumors of the FBI getting involved and criminal charges. That is totally irrelevant in a case such as this, at least as far as my distribution was concerned. I doubt very much whether the FBI would be interested in any case that didn't involve at least hundreds of thousands of dollars. Certainly criminal action is only likely if someone knowingly and flagrantly violates the laws relating to copyright. The only possibility of Check or money order payable to:
Right Answers Pius 53 shipping and handling, Calif, residents add 6.5% sales lax legal action that could have realistically been taken was some sort of civil action. Without jumping the gun by saying how I think it would have come out, it would have been a big mess for everybody concerned.
When the company contacted me, they wanted information on where my material came from and who I had sent it to; I gave them [that information!. I sent a recall letter to those I had directly sent the disk to. There was no shouting or jumping up and down. It worked out as well as could be expected under the circumstances.
There was really only one particular disk that had a problem. However, at this point, 1 have pulled 3 separate disks from the library. Disk number 57 was more of a judgment call.
There was some software on it that was very similar to a commercial product, and I felt it really wasn't fair to continue to distribute the disk, since __ (continued) it was too closely related to what this company was marketing. Pulling the disk was done at my own initiative.
No one came to me and asked me to remove it. In the other case, an individual was doing some work on contract, and the company he was working for felt he had taken advantage of some of their ideas in his public domain program. So rather than get in the middle of that, 1 decided to pull that disk also.
AC: Has other pirated stuff been sent to you for consideration?
FF: Nothing 1 can really point to and sav for sure, 'This is commercial."
J ' Nobody has been so obvious as to send me a copy of Marble Madness and say, "Here's a great game program I've written; please release it."
In the early days, it wasn't any real problem for me to keep track of what commercial software was out there because there was only a small amount of it. Now if you walk out here on the floor [of the show], it's obvious that there's a lot of it. If a program looks too polished or too professional, then 1 have to really question it. It is a real danger. You can be sure 1 do check out submitted material now a lot more closely than 1 used to.
AC: Recently, sane programs include a notice that only you are allowed to distribute the program an interesting phenomenon. What's your reaction to this?
FF: I'm not really sure what the motivation is of the people who include that sort of message. Obviously, if they send to me, I don't see how they can realistically expect that nobody else besides me is going to physically take the disk, make a copy of it, and give it to somebody else.
They have to realize that 1 am the top of the pyramid for my series of disks.
If it's OK for me to make a copy and send it to the people 1 deal with, I can't very welt tell them, "sorry, you can't redistribute this." I have to believe that they realize this and that permission for me to distribute the material implicitly grants permission for secondary distribution of the disk as released by me.
AC: Do you sense an increasing flow of public domain software in the Amiga world?
FF: Oh, yes, definitely. Only for the first six months was I able to keep up with everything that was available.
After that, it was just overwhelming.
Now I see probably no more than 10% or 20% of the stuff that is available.
However, I generally see the better material, eventually.
AC: What is your hardware configuration?
FF: When 1 started doing the collection, I had a standard Amiga 1000 with 2 floppy drives. This was my basic configuration for almost a year.
The first piece of expansion hardware I bought was the ASDC Mini-rack C. I ran into Perry at a conference. It was the first time 1 had seen his hardware, and I was quite impressed with it. So I added the 2 meg memory expansion and then, later on, I expanded it to 8 meg. I then tried a hard drive and had Imany] problems trying to get it to work with my memory expansion, mostly due to what 1 felt were problems with the hard disk controller design. I finally decided that the memory was more important than the disk drive, so 1 sold the drive off. Recently, 1 have been loaned a hard drive by a
small company called Jefferson Enterprises.
They make 20 meg drives that plug into the parallel port. That's what I'm currently using, and it has worked quite well.
I should be getting a 2000 soon. I'll probably keep the 1000 because, in some ways, I like the 1000 better, but 1 really need the cxpandibility and the large disk storage capabilities of the
2000. The 2000 will be where I do all my disk work, but 1 suspect
most of my everyday work, for whatever development I'm
doing, will be done on the 1000.
AC: Are you still using your original floppy drives?
FF: I still have my original internal floppy; it has been used to copy all these disks over the last couple of years. When I did the user group disks for Commodore, they gave me a new expansion drive. I've got a new internal drive on order. I haven't received it yet, but it should be here soon. So I'm just now getting around to replacing my drives. There's been many thousands of disks that have gone through those drives and I'm surprised they've lasted this long. 1 think its a good testament to their durability, in the last two years, these drives have had a lot more use than the average owner
would ever see.
AC: What sort of software tools or utilities do you use in assembling the disks?
FF: Well, for an editor, 1 use Mi- croGNUemacs. 1 much prefer this [editor] over the other editors I've used. For compiling all the programs I get, it's pretty much a requirement that I have and use both Manx and Lattice C compilers. Each, of course, has its strengths and weaknesses. I have a Modula-2 compiler that I've never used and various assemblers that I very seldom use. For communications, 1 use Comm 1.34; it's done everything 1 want in a communication program, so I've seen no reason to go out and purchase a commercial one.
AC: Given the large amount and wide variety of public domain software distributed through your collection, has it ever been suggested that Fred Fish is the Amiga's worst enemy for commercial software development?
FF: I don't necessarily believe that, but I could sec how credence might be given to that sort of idea. Who wants to spend 6 months or a year working on something great and wonderful, release it, and then find that 3 weeks later someone releases a public domain program that does seventy percent the same thing? It's really hard to say.
It's interesting that I spend a lot of time using my Amiga and well over half the programs I use arc public domain software.
AC: Besides the Fish Disks, what else do you do in terms of program development?
FF: The reason I bought the Amiga was because I wanted a good, fast machine with hardware support for graphics and multitasking. I wanted to try to do some digital signal processing software using multitasking with each little piece of the process as a task in itself, and then connect them all together with pipes.
So when I bought my Amiga, it was to do some development, but then I got side-tracked [by] the public domain disks. Up until this point, I haven't done any serious commercial work at all on the Amiga. That should be changing shortly.
I will be doing some more work on my hard disk backup program. This is a commercial product that has been reasonably successful in the Unix OEM market. I have a partner who does all the marketing of the program, and 1 do all the development work and technical support. This product worked out quite well in the Unix marketplace, and I'm looking forward to doing it on the Amiga. I had done a quick and dirty port about a year ago in order to verify that it was possible and to get a feeling of how much work would need to be done.
Now I will be doing serious development, not only on the backup program, but also on some auxiliary programs to do filesystem and archive management operations. This is not a highly technical field, but it is something that is needed, and I feel this is (continued) the right place and the right time to do it. This will be my first real commercial work for the Amiga.
AC: Do you own any other Pcs?
FF: Yes, 1 have a very old Unix-based system I bought about 5 years ago.
That was my first Unix experience. At the time I bought that system, I was working with Goodyear Aerospace and was working with PDPlls with the DEC operating systems, but 1 got interested in Unix. I.couldn't convince anyone at the firm to buy a Unix machine, so I bought one myself. That machine is currently collecting dust in my spare bedroom, and I don't think I've turned it on in the last year.
I also have a Mac II. I bought it primarily with the intent of running it as a Unix workstation someday. 1 know a lot about how Unix was developed for that machine and I have the feeling it's going to be a nice machine to run Unix on, if and when it becomes available. I am not so interested in programming in the current Mac environment. Right now, the Mac II is relegated to keeping track of my customer list for my Amiga disks. I've had people comment that it seems like a very good application for a Mac. I don't have an IBM machine or a compatible, and I have no particular interest in that
class of machine.
AC: Obviously, the public domain project probably incurs more bills than it pays.
What are you presently doing for a living?
FF: I currently work with Motorola, doing language development tools such as compilers, assemblers, linkers, library support, and so forth. Some of it is for experimental architectures, and I find it interesting work. And, of course, it consumes a fair amount of my time.
GET THE BIG PICTURE “THE BIG PICTURE” Print your IFF HAM pictures in full color up to 104 feet x 104 feet. “Real" multiprocessing and overscan printed because printing is done from the file not the screen.
$ 29.95 for the following printers in one package: Canon PJI080A Okidata 20 color Radio Shack Quadran Quadjet Epson FX-80.
FX-IOO. EX-800. EX-1000 Fujistu 1200.
2300. 2400 NEC P6, P7, CP6. CP7 i XEROX 4020 ATI-LINK An IFF HAM
loTARGA lile conversion program only $ 100.00 Perferences
Drives Quadran Quadjet $ 30.00 NEC CP7 $ 50.00 Big Picture Is
a trademark ol lightning Publishing Amiga is a regisierefl
trademark ol Commodore Ltd taiga is a registered trademark
ot AT & T Lightning Publishing 1821 N. Ohio St., Arlington
VA 22205
(703) 534-8030 Name Address City State Zip Amount Program AC:
Given your background and experience, do you feci there is
a place for the Amiga in the high-end workstation market?
FF: Yes, definitely. I was personally rather disappointed when the 2000 came out that it wasn’t a 68020-based machine. I think that the benefits of the 020 family clearly outweigh any small differences in price at the chip level, especially when you start talking about large quantities of chips. Of course, not being in on all the decisions, it's really hard to second guess the folks who did the 2000 design.
But at this time. I'm really waiting for a high-end Amiga.
} also hope that the 030 will soon become available in sufficient quantities, so that when Commodore does a high end machine, they can go directly to that chip and if necessary, skip over the 020. I don't know what the pricing or availability of the 030 is at the moment. 1 like the idea that there is finally a 68XXX processor with a MMU (memory management unit) built in that system designers can't leave out. 1 think that is probably one of the reasons why the Intel 80286 and 386 have a bigger share of the Unix market for low end machines, because it’s not possible for the people designing
the hardware to leave the MMU out.
Therefore, by default, all machines out there with those chips are capable of running some type of Unix system. 1 think it's been fairly common knowledge in the Amiga development community over the past year that Commodore wants to make Unix available on the Amiga. However, 1 have no inside information on how well integrated Unix will be with the rest of the machine or AmigaDOS, or the backward compatibility with existing programs.
If you look where everybody else is headcd-Apple now has the Mac II, and they've probably had Unix running on internally within the company for a couple of years or so, even though it still isn’t out. I'm sure Atari has Unix in mind. Steve Job's new venture, NEXT Inc., from all rumors i hear, will be an 030 based Unix workstation at high-end Amiga level pricing. The Amiga needs a high level model to complement the line.
AC: Do you see any reason why Commodore might not want to release high-end Amigas?
FF: I don't see anything other than price differential that might be holding Commodore up from putting an 020 or an 030 in an Amiga and making it a standard product. With a manufacturer installed 020, you would typically see a 3 to 4 times speedup; with an 030, it could be as much as an 8 times speedup. I would buy an Amiga that is 8 times faster than my current machine, even though it costs twice as much. That's me personally and it may not be representative of the market as a whole. However, the Amiga started originally as a hacker's machine, and that speedup allure is very hard for a
hacker to resist. It may not be the biggest part of the market, but I'm sure they would sell enough machines to make it worthwhile.
Of course there might be some compatibility problems. Everybody is fighting that right now. The Mac family is finding compatibility problems between the Mac II and standard Macs with 68020 add-ons because of programmers who won't obey the rules and want to diddle the hardware directly, or they want copy protection to work in a certain way. I do hate to see that happening on the Amiga with programmers writing directly to the hardware. There is a fear at Commodore that if that situation is allowed to happen, they will be locked into a certain architecture and they won't be able to grow in
the future. And of course the people that lose in the end are the consumers, since they don't really understand all the issues. If they buy a program that doesn't work on their machine it's hard for Commodore to point the finger of blame at the software developers.
AC: So what do you see yourself doing in five years, beyond releasing Fish Disk Number 900?
FF: Gee, that's a hard one. I have so many interests right now that I almost feel schizophrenic that I'm doing too much at once with too many irons in the fire. My guess is that probably, within a year or so, I may bum out on doing the public domain disks. At that point, I may go into "hibernation" as far as the public world is concerned and start investigating the type of software I described earlier as the reason I bought my Amiga. My background is mostly engineering and math, and I feel I'm getting very rusty in my field. So I may go back for an advanced degree. It's almost embarrassing
to say I don't really know where I'm going to be in five years. A lot depends on which way the chips fail. That's true, generally, of what happens in the world. I just wish I had a lot more time to spend getting back into the theoretical aspect of the sciences.
AC: Have you thought about what would happen to the Fred Fish disks if you personally gave up producing them?
FF: I haven't thought too much about that yet, but I suppose 1 would probably continue to make existing disks available to people, even if I wasn't producing new ones. At some point, I might just want to turn the whole thing over to some organization that wanted to continue to support it and continue the series.
AC: Well, I'm sure all Amiga users hope that day will be later rather than sooner; when if does happen, it will mean the end of a major era for the Amiga.
• AC- Photographic Quality Reproduction with the Amiga and
Digi-View hebshi by Stephan Lebans New Tek's Digi-View video
digitizer is my most versatile Amiga peripheral. From the
beginning, I have been able to produce stunning on-screen
graphics with Digi-View. Of course, generating amazing screen
displays is relatively easy with the Amiga; it's achieving
professional quality output that is difficult. In this article,
I'll describe how to produce high quality black and white
hardcopy, using Digi-View and a Postscript printer.
First, a little background. The Amiga is capable of displaying and working with 16 discrete shades of gray (or grayscales), at a maximum screen resolution of just over 60 dots per inch (DPI). This figure is derived from dividing 640 pixels 10 inch screen area. This figure doesn't include overscan. It would seem that all you need to do is send this screen to a 300 DPI Laser printer for perfect results. Unfortunately, this is not the case. Even if you could somehow translate the 60 DPI bitmap to a 300 DPI bitmap, the number of grayscales would still be a problem. Compare a 16 color picture
with a 4096 Ham image. To obtain this near-photographic quality with your hardcopy, you must dramatically increase the number of grayscales.
This is where Digi-View really shines! The hardware is capable of capturing 128 grayscales of information. This data is then processed for brightness and contrast, and reduced to the 16 grayscales with which the Amiga can work.
Fortunately, Digi-View designer, Tim Jennison, had the foresight to make the initial Image Processing file (IP) easily available. Simply set up Digi-View normally, without filters.
Load the software and select either 320*200 color or 640*400 color. Select the menu item for color and click on the "BW(Black White)" bullet. Now digitize from the Red menu selection. When the digitization is complete, press the FI key. This will bring up a standard requester asking you to name the IP file and specify a path where it can be stored. A lores IP file is 64K; a hires IP file is 256K. You won't be able to use the hires IP file unless you have expansion RAM (as you'll see later).
Before I describe what you do with this rather large IP file, I must jump ahead to discuss the laser printer for final hardcopy. The only printer that works easily with this type of image file is a Postscript controlled Laser printer. A Postscript printer is a really a printer and a computer rolled into one package. It has at least 1.5 meg of RAM and the whole show is run by the same type of microprocessor that runs the Amiga. YouTl see why all this computing power is needed later on.
Postscript printers range from the popular 300 DPI LaserWriter, all the way up to the 2450 DPI Linotronic series.
More important than resolution is the number of grayscales these machines are capable of rendering. The LaserWriter can produce just over 40 grayscales, while the Linotronic 300 can show an amazing 256 grayscales.
Back to our binary IP file. The only remaining hurdle is converting the binary file into a workable format for Postscript. Postscript prefers bitmapped files in Hexadecimal (base 16) notation, rather than in Binary (base 2).
AmigaDOS handles this file conversion easily. From the CLI, use the "Type" command with the OPT H switch.
Normally, the 'Type" command displays its output to the screen. Example: Line Number Hex-Data Hex-Data Hex-Data Hex-Data ASCII-EQUIVAL.
0001 00000095 A9FAFFEE 286CFFFC 2FQC2F02 etc. 0002 D9CCD9CC 200C6714 202C0004 E580B2B4 q. r.etc. Instead of displaying the converted Hex file to the screen, you can redirect the output to a new file.
Example: 'Type Ipfilename opt h to dfl:newfilename." This assumes you have the IP file in the root directory of DFO: and want to send it to the root directory of DPI:.)
Now comes the part 1 mentioned earlier about expansion RAM. The lores IP file now weighs in at a hefty 248K; the hires IP file is a gargantuan 992K. Obviously, you cannot convert the hires IP file to Hex without expansion RAM because it won't fit on a disk.
(continued) Now comes the hard part. Postscript wants only the actual Hex data, meaning the line numbers and the ASCII equivalent text must be stripped from the file. (I am pleading with you programmers out there to produce a utility to strip this garbage. Please send me a copy when you're finished!)
You can use a word processor which can import text-only files and has a Macro capability. I have been using WordPerfect. It easily handles the 992K hires IP file.
Develop a macro with the delete key and the cursor down key to trash the line numbers. Make another macro to delete the ASCII text. If you use WordPerfect, keep the macro around 100 lines in length; otherwise it can't store the macro in RAM, and you'll have a disk access each time the macro is invoked. Keep the macro name to one letter because you must type in a requester each time you call the macro. (You can't assign the macro to RAM because you need to specify the full pathname at each requester prompt.)
I've managed to automate the process a bit by using Timesaver's macro functions, but sometimes it runs a bit too fast for WordPerfect! When you are done, remember to save the file as text-only.
While you're still in your editor, add a few lines of Postscript code to the IP file. This code causes the actual transformation of the image data to the printed page. This code appears at the top of the file.
Comments for other programs that might use this data: %!PS-Adobe-1.0 %%Creator: Your Noma %%TlHe: Document Name picstr 320 string def This would be 640 if you use a hires IP file.
334 288 scale These numbers are the actual image size on paper. 72 are equal to 1 inch. Imagine an X Y grid. Change these to whatever suits you.
320 200 8 This figure means our image is 320 cells wide and 200 cells high. Each cell contains 8 bits of data (256 grayscales). I know this is a lie (we have 7 bits-128 grayscales), but the machine doesn't seem to mind! (Remember to change to 640 400 8 if you are using a hires IP file.)
(320 0 0 -200 0 200) Here is more scanner info. This tells Postscript that Digi- View scans from bottom to top. Change the numbers if you are using the hires IP file.
[currentfile picstr readhexstring pop}
* For a detailed explanation image, see the Postscript Manual.
Now comes all of that Hex data we have.
At the very end of the file, add the "showpage" Operator.
Remember to save this file as text-only. Strip out all of my comments, just press a carriage return after entering every line, and you'll have no problems. Don't forget the "show- pagc'' operator at the end of the file. For those of you who are interested, you can actually convert this image into Encapsulated Postscript. You could then use this file in any Mac or IBM (and Amiga soon, I hope) that supports EPSF, Simply change the first line to read: %!PS-Adobe-2.0 EPSF-1.2 ... and add the line %%BoundlngBox: xyxy ... to specify the bottom and top right hand corner of original graphic.
That completes the production phase. If you don't own a Postscript printer, you need to get this file over to your neighborhood Mac-based print shop. There are hundreds of these shops across the country. There are also many professional Linotronic-based production houses which can accommodate you. Many of these places offer Bulletin Board services for file downloading. Many have an IBM machine hooked to a Mac through the Tops network, so just format a Disk under MS-DOS on your 5 1 4 inch drive and copy your data to that disk (for lores data only). A few production houses may even take
your Amiga disks directly!
Your first laser printout will make it all seem worthwhile.
Pay the ten dollars and crank one out on a Linotronic. One look and you'll be hooked. Offer to do some digitizing for the print shop it's the only way you'll be able to finance your new habit!
• AC* The author welcomes all correspondence concerning this
I am particularly interested in using Digi-View as the front end in a color separation process. Please address all correspondence to the author care of this magazine.
Correspondence with the author is also available through the National Independent Postscript Support Board
(409) 244-4704. Address to Slebans.
Amazing_ JL JL, COMPUTING" _7 BALANCING YOUR CHECKBOOK WITH IT,.., WORDPERFECT MATH & MACROS Steve Hull Genic: LightRaider __ nr People Link: Sl.Ephen One of the most frustrating things about reviewing productivity software is deciding which features to cover.
WordPerfect is a perfect example of this. Ostensibly a word processing program, it has nearly two hundred functions, many of which are outside the scope of conventional word processing. Deciding exactly what to cover in a review and what to "let go is a question I have not yet answered to my own satisfaction.
In my review of WordPerfect (AC V
2. 12), I was especially frustrated because I was not able to
spend more time on two capabilities that really set
WordPerfect apart from its competition: the program's math
and macro functions. With WordPerfect's math functions, you
can compose mail- merged invoices in which WordPerfect
calculates quantities and prices (including sales tax) and
integrates the results within the document. Its macro
functions allow you to compress pages of instructions into a
two- keystroke combination. Put the two functions together,
and you can literally turn WordPerfect into a spreadsheet.
At the risk of losing all credibility at the outset, I need to make a confession: When it comes to dealing with numbers, I'm a real grunt. My brain just can't handle 'em. Faced with columns of numbers, my mind shifts into dyslexia which makes trying to keep my checking account straight a real trick.
I am further embarrassed to confess that, until recently, I have kept my Atari 8-bit system set up because its Financial Wizard program has balanced my accounts for the past three years! It seems the time is right to see what WordPerfect's math and macros can do.
Checkbook Balancer is the result of my initial experimentation with WordPerfect's advanced features. 1 wouldn't call it a wrork of art, but it does the job quite capably. Checkbook Balancer is a document and set of associated macros which allow you to enter and store new checks and deposits, keep separate lists of cleared and outstanding transactions, and do all the (Ack! Phht!) Math to balance your books. In addition, its macros allow you to print a hard-copy list of all outstanding items, or just the dated summary statement. Not too shabby, for a word processor.
SETTING UP The first thing to do is prepare a place for the Checkbook document and its associated macro files. You may want to set aside a separate disk, or simply create a directory on an existing disk.
To keep things simple, name the disk or directory "CHECKS."
Once you have done this, set the default directory to the newly created area. Select List Files (F5) and press Return at the first requester. When the directory listing appears, press 7 to change directories. If you have created a separate disk to store the Checkbook document, enter Checks: and press Return. If you created a directory, enter the appropriate path.
(continued) We're setting aside a location "away" from other word processing files because we will be making use of handy AMIGA key macros. WordPerfect stores user-defined macros on disk, and while you may define a virtually unlimited number of macros with names two characters or longer, the more convenient AMIGA key macros are limited to 26 per directory.
If you haven't configured your version of WordPerfect to accept the maximum number of AMIGA key macros, you should do that now. The programmers who translated WordPerfect to the Amiga had a problem: WordPerfect normally uses the ALT key to call one keystroke-named macros (e.g., ALT-A, ALT-Q, ALT-Y). In the Amiga's case, the ALT key was reserved for use in conjunction with foreign character sets, so the programmers opted to use the AMIGA keys to call macros. The AMIGA keys are the red "A" keys on either side of the space bar on the Amiga 1000 and 2000; the left AMIGA key on the Amiga 500
is marked with a Commodore logo.
Amiga WordPerfect allows you to decide which keys are available to the Amiga, and which can be used to name macros. To assign macro keys, call up the Screen menu (CTRL-F3) and select 2, Ctrl Amiga keys. This calls up a large requester with four columns of key combinations. The right two columns set the AMIGA key assignments; as configured out of the box, some of these key assignments read AMIGA and some read MACRO.
To make an AMIGA key combination available to WordPerfect, click on the letter. The requester box next to the letter turns orange; enter a "1" and press RETURN. The key assignment should now read MACRO. For this article, you must change the AMIGA-C and AM1GA-T to MACRO; you may change others as well if you like.
Unlike many "hotkey" combinations common to Amiga programs, WordPerfect does not usually differentiate between the left and right AMIGA keys. That is, a macro defined using the right AMIGA key may be invoked using the left AMIGA key and vice versa. The AMIGA-M and AMIGA-N keys are the odd exception to this rule. The Amiga's operating system uses left AMIGA-N and left AMIGA-M to switch between screens, when more than one screen is open. There is nothing WordPerfect's programmers can do about this the operating system intercepts these key combinations before WordPerfect "sees" them. If you
want to use AMIGA-N or AMIGA-M as macro names, remember to define and invoke them in conjunction with the right AMIGA key.
Once you have set the AMIGA key assignments, click on the Accept gadget to continue.
STEP BY STEP We are now ready to begin building the Checkbook document. Because the chances for error are great, we'll approach document construction step- by-step. Follow these instructions carefully, and remember, computers only look smart. In reality, they're pretty dumb and extremely literal.
You may want to refer to Figure 2 from time to time; that's how the document will look when we're done.
In this article, I will reference WordPerfect functions by their keystrokes; however, most of the functions have mouse-and-mcnu equivalents you may use if you prefer to point-and-click. The menu selections may be used to build both the document and the macros.
One more ground rule before we begin. Throughout this article I will denote words and phrases to be typed by boldfacing them for instance, 'Type Page heading." The boldfacing is there for clarity's sake do not boldface the words when you enter them.
1. First, let's set some margins. Call up Line Format by pressing
SHIFT-F8, then press 3 to select Margins. Set the left margin
to 0, and the right margin to 78.
2. Next, set tab stops to keep everything aligned. Press
SHFFT-F8, then 1.
When the Tab Set requester appears, press CTRL-END to clear all tab stops.
Then, using the cursor keys, position the cursor under tab position 9 and press T. Repeat this process to create tab stops at positions 26, 40, and 46, then click on Accept to continue.
3. In order for WordPerfect to calculate columns of numbers, the
columns must be defined. Call Math Columns by pressing
ALT-F7, then select option 2, Math Def, The Math Definition
menu allows you to tell WordPerfect what kind of information
you will store in each column. An exception is the first
column, which is always treated as text. The column heading
"A" refers to the second column, "B" to the third, and so on.
The first column in our document will contain the check number, which will not be calculated; so column 1 is well suited for a text column. Column 2, which will contain the date, is also a text column. To define the second column, move the cursor under "A" on the Type line and press Return.
Select 2 to set column A to text.
Next, use the cursor keys to move to column B. As this column will contain the amounts of any checks, it will be a numeric column. The 3 under the B signifies a numeric column, so no change is necessary.
The fourth column, denoted by the C, will contain deposit amounts. This will be a numeric field, so the 3 may stay as it is.
We will use the final column for remarks such as the check payee. This will be a text column, so move the cursor under the D and press Return.
Select 2 (Text), then click on Accept.
4. The Math Columns requester should still be on screen at this
(If you jumped the gun and clicked it off, recall it now using ALT-F7.)
Select 1 to turn the math function on.
The word "Math" appears at the bottom of the screen.
5. Check your work. Press ALT-F3 to examine the formatting codes
you just entered. The Reveal Codes window should contain
something that looks like this: [Margin Set:0,78[[Tab
Set:9,26,40,46][Math Def][Math On] Press the space bar to exit
Reveal Codes.
6. The next thing you must do is enter the section and column
headings for the outstanding transactions, as shown in Figure
1, After all these keystrokes, we will finally do some text
formatting! The first operation is pretty simple: We will
center the title at the top line of the document.
To turn centering on, press SHIFL-F6.
The cursor should jump to the center of the line. Next, type the words * Outstanding Transactions *. (Note that WordPerfect centers as you type.)
When you have typed this heading, press Return twice to turn off centering and move dowm two lines in the document.
Formatting is critical for the macros to work correctly; be careful to observe upper and lower case, and the spaces between the asterisks and the heading.
WordPerfect doesn't particularly care how you type things, but our macros will be using the Search function to navigate the document. Enter the column headings shown in Figure 1 (Check , Date, etc.), using the space bar to align the headings in the correct columns. You can't use the Tab key in this case because the tab stops that correspond to numeric columns will always align on a decimal point (period), and so will not properly align the headings.
7. Next, type in the five test data transactions shown in Figure
2. (These are the three checks and two deposits entered in the
Outstanding Transactions section.) When entering transac
tions, you must use the Tab key to separate entries on a line.
WordPerfect uses tab-aligned columns to keep track of what
to calculate, and using the space bar to separate fields will
result in unpredictable results when attempting math
functions. To leave a field blank, press Tab to move past it.
Once you have entered a transaction (one line of data, either a check or a deposit), using Tab to move the cursor on that line will alter the formatting.
Instead, press the CTRL key in conjunction with the left and right cursor keys to move the cursor left or right one word at a time.
8. After typing the word Paycheck on the last line of test data,
press Return.
Enter a line of dashes from position 0 to position 77, under the column headings. Press Return again.
9. Now, type * TOTALS * (all capital letters this time, and watch
those asterisks!). Press Tab once; this will position the
cursor under the Check Amt column. Enter a + (plus sign), then
Tab over to the Deposit Amt column. Enter another + and press
Return. The plus signs tell WordPerfect where to display the
results of summing a column.
10. Once you have entered the two plus signs, call the
Math Columns option by pressing ALT-F7, Click on Math Off.
Math Off signals the end of a math calculation area; to keep
everything straight, we will be defining separate calculation
areas for outstanding transactions, cleared transactions, and
a summary report.
11. After you have entered the Math Off, press Return twice,
press SHIFT- F6 to activate centering and enter,
* Last Outstanding Transaction *.
12. To complete the Outstanding Transactions section, type CTRL-
Rcturn to enter a forced, or "hard," page break.
13. We will now construct the section that will be used to hold
cleared transactions. Press ALT-F7, then click on Math On to
begin the new calculation area.
14. Press SHIFT-F6 to turn centering on, type * Cleared
Transactions *, and press return twice.
15. Enter the same headings (Check , Date, etc.) you entered for
the Outstanding Transactions section. Remember to use the
space bar, not the Tab key, to align the headings.
16. Enter a Return at the end of the line of dashes under the
column headings. On the line immediately under the dashes,
enter a solid line of dashes from the left margin to column
77. When you have done this, press Return.
17. Repeat steps 9 and 10 to enter the line for the totals, and
turn Math Off.
Press Return twice.
18. Press SHIFT-F6 to begin centering, then type * Last Cleared
End this section with a hard page break (CTRL-Retum).
19. We will now build the final section, which will display the
checkbook balancing summary. Its format will be different
from the preceding two sections.
We will begin by resetting the tab stops; press SH1FT-F8, then 1. Press CTRL-END to clear the existing tab stops, and enter new tab stops at positions 9 and 51. Click on the Accept gadget to continue.
20. Press ALT-F7, then 1 to tum Math On.
21. Press SH1FT-F6 to begin centering, then type * Summary *,
Press Return twice.
22. Hit Tab, and enter the word Date:.
Press Return twice.
23. Hit Tab again, then type Balance Shown on Statement:. Press
24. Hit Tab and type Outstanding Deposits. Using the space bar to
enter pad spaces (do not use the Tab key), align a : (colon)
under the colon on the line above. Press Return. Follow the
same procedure for the Less Outstanding Checks label. When
you have entered its colon, press Return.
25. Press Tab, then enter a line of dashes from position 9 to
position 55.
Press Return.
26. Press Tab, then type Adjusted Statement Balance:. Press Tab,
then enter a plus sign. Press Return.
Finally, press ALT- F7, then 1 to turn Math Off.
Congratulations the Checkbook document is done! Now the real fun starts... MACRO MAGIC Mention the word "macro" and a lot of people break out in cold sweats, with visions of the cryptic, code-laden commands used by programs such as Lotus 1-2-3. If you are among the ranks of the techno-terrified, you can relax. WordPerfect macros are easy to construct and even easier to use.
The word "macro" simply means "big." In "computerese," it refers to a short instruction or command that takes the place of many commands. If you ever typed "Dir" from the Amiga Command Line interface (CLI), you've executed a macro. If you ever programmed a line as simple as PRINT "HELLO!" In Basic, you've used a macro. Entering Dir from the CLI or PRINT from Basic causes those one- word commands to set in motion a multitude of smaller commands which execute the task.
While many people have used macros, few have actually constructed them.
In WordPerfect, a macro simply represents a series of keystrokes entered in sequence. The keystrokes may consist of text characters or WordPerfect commands. When the macro is executed, WordPerfect "plays back" the keystrokes in the same sequence they were entered when the macro was defined.
It's a lot easier to build a macro than it is to explain the theory, so let's give it a try.
THE NEW MACRO Our first macro will be one you can use with the Checkbook document, its function is simple: it creates a blank line at the end of the Outstanding Transactions list to allow you to enter a new check or deposit. You could do essentially the same thing by positioning the cursor at the line of dashes at the end of the Outstanding Transactions list and hitting the Return key, but our macro wrill be a little smarter than that.
What would happen, for instance, if you mistakenly added a new transaction to the end of the Cleared Transaction list? Or pressed Return in the middle of a line? Either case could cause serious problems, so the macro we are about to build will be smart enough to keep that from happening.
As a matter of fact, even if you were to invoke the macro from the middle of the Summary page, the macro would search out the end of the Outstanding Transactions list, open up a blank line for the new transaction, and position the cursor at the beginning of the line, ready to go. That's service!
DEFINING THE NEW MACRO If the Checkbook document is not onscreen, retrieve it at this time. To check the "smarts" of our new macro, position the cursor anywhere on the Summary page.
Press CTRL-F10 to initiate Macro Define. A requester labelled Define Macro appears in the center of the screen with the instruction, "Enter macro name." Type the word NEW in the requester, and press Return. The requester disappears. At the bottom of the screen, the words "Macro Dcf" appear.
Since there is no way to assure that the person executing this macro will do so from the correct place in the document, we need to reset the cursor to a predictable, "neutral" position, then work from there. The top of the document is ideal for this. To get there, press the HOME key twice, and then the up-arrow key.
We will use WordPerfect's Search function to locate the end of the Outstanding Transactions list. WordPerfect can search in either the forward or reverse direction. We want a forward search, so press F2.
When prompted to enter a search string, type * TOTAL. When you have entered the search criteria, you may either click on the Accept gadget or press F2 to begin the search. Do not press Return to end the search string! If you do, WordPerfect will try to find a string that ends in a Return!
As a result of the search, the cursor should now be on the "S" in * TOTALS *. The next thing we want to do is move the cursor up one line, so press the up-arrow cursor key. Next, the cursor must be positioned at the beginning of that line, so press Home twice, then press the left-arrow cursor key.
To open up a blank line, press Return.
Finally, press the up-arrow cursor key to position the cursor on the blank line. That is the last instruction of the macro, so press CTRL-F10 to end macro definition. That's it!
Since we don't really want a blank line at the end of the Outstanding Transactions list, press Del once to close the lino. We arc now ready to test the macro.
TESTING THE NEW MACRO First, place the cursor anywhere in the document, or even at the correct place at the end of the Outstanding Transactions, if you wish. Press ALT-F10, Macro. A requester opens, asking you to enter the name of the macro. Type NEW and press Return.
WordPerfect will pause; then, if you've entered everything correctly, it will open a line at the bottom of the Outstanding Transactions list and place the cursor at the first position of the new line. Press Del to dose the line.
WordPerfect stores its macros on disk, in the current default directory, which means once you put together a macro you like, you need not enter it again.
Multi-letter named macros like NEW are stored with the macro name and a .MAC extender; if you select List Fites now you can see NEW.MAC in the Checks directory. Key-combi nation macros are given more cryptic filenames; for example, a macro invoked by pressing AM1GA-T appears as WPL] .AMGT. MACRO ENTRY You are now ready to enter the remainder of the macros, listed in Tables 2 through 5. The sidebar accompanying this article, Entering The Checkbook Macros, should save you some problems. In addition, there are some unique considerations to each macro.
THE CLEAR MACRO This macro, listed in Table 2, transfers transactions from the Outstanding to the Cleared section of the document, then recalculates the totals for both sections. It must be called from a line containing an outstanding transaction or great problems will arise! There's really no way around this, because the whole point of the macro is presumably to "clear" a specific item.
This macro and the Total macro which follows are both AMIGA-key macros; that is, to execute them once they're defined, you need only press AMIGA- C to call the Clear macro, or AMIGA-T to call the Total macro. The names are entered differently than was done with the New macro; follow the table listings and you won't have any problems, Before entering this macro, position the cursor on the line containing the "Computer Experience" transaction.
When you have completed entering this macro, this line should be transferred to the Cleared section, with no blank line in the Cleared section. In the process of defining this macro, WordPerfect will calculate new totals for the Outstanding and Cleared sections, if you have done everything right, your totals should add up like this; Outstanding checks: 35.00 Outstanding deposits: 1,345.00 Cleared checks: 115.00 Cleared deposits: 0.00 THE TOTAL MACRO This macro calculates totals in all sections, including the summary page, where it enters the current system date. It may be invoked from any
where in the document, and it doesn't matter where the cursor is when you begin defining the macro.
At the conclusion of the Total macro, the figures at the end of the Outstanding and Cleared sections will not be changed from those listed above. In addition, the Summary section will contain the following values: 3alanee Shown on Statement: (blank-r.o value) Outstanding Deposits: 1,345.00 Less Outstanding Checks: -35.00 Adjusted Statement Balance:1,310 .00 In actual operation, you would enter the closing balance shown on your bank statement on the "Balance Shown" line before executing this macro.
THE PRINT-OUT MACRO This macro, listed in Table 4, provides a hard-copy list of all outstanding checks and deposits, plus total figures for each. It may be defined and invoked from anywhere in the document.
There's one minor glitch to this macro and the one that follows: Both macros call WordPerfect's PRINT program and leave the Printer Control display on screen when they exit. I have not yet discovered a graceful way to get the macro to "click off" this screen, so for the time being you must do that manually. If anyone can figure out a way around this, I'd like to hear it.
THE PRINT-SUM MACRO This very simple macro, listed in Table 5, recalculates the totals for the Outstanding and Cleared transactions, copies the appropriate figures into the Summary page, calculates the Summary page, and sends it to the printer.
Yet it does all this using only three instructions!
The secret is, one of the instructions is itself a macro AMIGA-T, the TOTAL macro. The PRINT-SUM macro first calls the TOTAL macro, which recalculates all sections in the document. The next instruction ensures the cursor is positioned on the last page of the document (this will always be the Summary page), then prints that page.
Do not be concerned if this macro does not appear to work when you initially type it in. The AMIGA-T macro will not execute during definition, but it will work correctly when invoked.
BALANCING THE BOOKS With the Checkbook document and all macros complete, you should test the macros to verify they are working correctly. When you are satisfied with your handiwork, you can put the Checkbook document to use!
The first thing to do is delete the dummy data we used to test the system. Be sure you do not delete the plus signs (+) on each TOTAL line WordPerfect needs these to know where to sum the columns.
Next, you will have the unenviable task of entering your checks and deposits into the Checkbook document. Be sure to place the cleared and outstanding items in the correct sections.
When you enter new checks and deposits, it is important that you use the Tab key (not the space bar) to move from one column to the next.
WordPerfect's math functions require that all figures to be calculated be arranged in columns delimited by tab stops. If the totals in your document are flaky, this is the first thing you should investigate. You can quickly search for tabs by examining the document under Reveal Codes (ALT- F3).
To reconcile your checkbook against your bank statement, first enter the ending balance (as shown in the statement) on the Summary page in the column corresponding to Balance Shown on Statement:. Use the Tab key to align this entry at the first tab stop after the colon.
Next, clear any transactions checks and deposits which appear on the bank statement. To clear a transaction, simply position the cursor anywhere on the line containing the transaction and press AM1GA-C.
When all the appropriate items have been cleared, you are ready to calculate the final totals. To do so, press AMIGA-T. This macro performs the actual checkbook balancing operation.
If the Adjusted Statement Balance on the Summary page matches your checkbook balance, congratulations! If not, there's a mistake somewhere perhaps the bank's error, perhaps an entry error, maybe a typo in the Checkbook document. At any rate, you're probably in for some hard time slaving over a hot calculator (Ack!).
If all goes well, you may generate a list of ali outstanding transactions by pressing ALT-F10 to invoke the macro, then typing PO and Return when prompted for a name. If all you want is a hardcopy listing of the Summary page, enter PS when asked for the macro name.
ONLY THE BEGINNING While Checkbook Balancer is an impressive demonstration of WordPerfect's math and macro capability, the Checkbook document itself is pretty basic, and there is much room for enhancements. For instance, how about creating a macro to print a list of tax-deductible expenses, keyed to a T string in the Memo field?
If you found this article useful, I would appreciate any suggestions on future WordPerfect tutorials. If you got stuck at some point, I'll be happy to help you get unstuck. In any case, I can be reached at the E-mail addresses listed at the head of this article. May you encounter good luck teaching WordPerfect its balancing act!
¦AC* The author would like to thank Mark Hamilton and Lynn LaBaron of WordPerfect Corporation for their assistance and technical review in preparing this article.
* Outstanding Transactions * Check Date Check Amt Deposit Amt
Memo A A A A A A A A I 1 5 9 1 1 1 16 20 28 1 32 !
42 1 46 t 77 Figure 1 Checkbook Document Heading Numbers and arrows denote column positions; do not type them in.
* Outstanding Transactions * Check Date Check Amt Deposit Amt
Memo 0000 01 01 88
345. 00 Balance carried forward 0001 01 01 88
10. 00 Happy Jack's Used Disks 0002 01 02 88
115. 00 The Computer Experience 0003 01 02 88
25. 00 StarShip Amiga 01 10 88 1,000.00 Paycheck
* TOTALS * + +
* Last Outstanding Transaction *
* Cleared Transactions * Check Date Check Amt Deposit Amt Memo
* TOTALS * + +
* Last Cleared Transaction *
* Summary * Date: Balance Shown on Statement Outstanding Deposits
Less Outstanding Checks Adjusted Statement Balance : + Figure 2
interests of lowering the frustration levels of Amiga users
everywhere (and precluding an excessive number of anguished
phone calls to WordPerfect technical support), 1 have
followed what I consider to be the clearest possible format for
presenting macros, seen in Tables 1 through 5. To enter a
macro, simply enter the commands and keystrokes in the order
Specific conventions arc observed throughout the tables. For the most part they're pretty obvious, but some could cause confusion to the beginner.
WHEN THE LISTING SAYS... IT MEANS: Up-cursor key Dowr.-cursor key Right-cursor key Left-cursor key UP DOWN - - Type text string Type the text displayed in bold face; do not boldface the text as you type it.
Upper and lower-case DOES matter, as do spaces.
FUNCTION (Four times) Execute the FUNCTION the number of times specified.
(comment) Anything in parenthesis are informational remarks and shouldn't be typed.
SH1FT-F8 Press and hold the SHIFT key (or ALT, CTRL or AMIGA key) and press the function key given.
CTRL-F4,2 Execute the first part of the instruction, then select the option number specified when the requester appears.
In this example, pressing CTRL-F4 calls the Move Text menu; when the menu appears, select opt. 2, Copy.
MORE MACRO TIPS Until computers reach the point where they're smart enough to do what wre mean, and not what we tell them to do, bugs will be with us. Because WP macros act on the document as you define them, be sure to save the file before testing a macro. Here are more tips that will save you problems.
Misteaks; WordPerfect's Macro Define function records everything even mistakes. If, for instance, you want the macro to type the word Hello and mistakenly type Hellp, you can backspace over the "p" and replace it with an "o," but the edits will be recorded in the macro along with the "good" stuff. In the case of the Hellp typo, there would be no affect on macro operation, but the extra instructions cause the macro to execute longer.
In addition, there is currently no way to edit a macro composed with Amiga WordPerfect. The MS-DOS WP users have had a separate macro editor available for a while now, but at this time WP Corp has no plans to develop one for the Amiga. It's no big deal for simpler macros, but after you retype the TOTAL macro a few of times to fix bugs, you'll see why a macro editor would be handy. Let's hope WP Corp changes its mind on this one.
The bottom line is, if you make a mistake during macro definition, all you can do is bail out and start over.
To exit Macro Define, press CTRL-F10.
Search Within Macros: The way WordPerfect defines macros allows the unsuspecting user to build at least one pernicious trap into the macros a trap that may not even manifest ITSELF until a later word processing session.
Here's how it works. Let's say your macro needs to search out the word Aardvark as part of its routine. You press F2 to begin the search, type Aardvark in the search requester, and press F2 again to execute the search.
A few keystrokes later in the macro definition, you mistype a command and decide to start over. When you get to the search portion the second time around, you press F2 and the requester appears with Aardvark still displayed as the search criteria. "Yeah buddy," you think, pressing F2 again to execute the search. The macro definition continues, this time to a successful conclusion. You even test the macro, and it works fine.
Two days later when you invite a friend over to impress him with your wizardry, you invoke the macro and it doesn't work at all as a matter of fact, instead of searching on Aardvark, it stubbornly searches on a completely different word. What's going on?
Well, WordPerfect is simply doing exactly what you told it to do. The first time the macro was defined, WordPerfect recorded: (Beginning of macro) F2 Aardvark F2 (End of macro) However, the second time the macro was defined, WordPerfect recorded: (Beginning of macro) F2 F2 (End of macro) In other words, Macro’Define did not actually record any search criteria; all it knew was, F2 was pressed twice in a row, so that's what it recorded.
It worked when the macro was composed because, in the absence of new search criteria, WP will always search on the last criteria given.
Nasty? You bet. Just another instance of them dam computers doing exactly what they're told. But it's easy to avoid remember, when defining a macro, ALWAYS type out the search criteria, even if it means retyping exactly what appears in the requester.
- Steve Hull TABLE 1 Macro name: NEW Function: Creates a blank
line at the end of the Out standing Transactions list.
To invoke Press ALT-F10, then type NEW; may be invoked ( from anywhere ir. The document .
Macro key sequence Explanation (Do not type) CTRL-F10 Begins Macro Define Type NEW Enter macro name RETURN Signify end of macro name HOME HOME UP Cursor to top of document F2 Forward search Type * TOTALS Enter search criteria F2 Execute search UP Cursor uo one line HOME HOME - Cursor tc beginning of line RETURN Make a blank line UP Place cursor at new line CTRL-F10 End Macro Define ¦ ¦ TABLE 2 Macro name: CLEAR Function: Transfers one transaction from Outstanding to j Cleared section; returns cursor to the next ] entry in ttie Outstanding list.
To invoke Press AMIGA-C. Must be invoked from the line containing the transaction to clear; cursor may be at any position on that line.
Macro key sequence Explanation (Do not type) CTRL-F10 Begin Macro Define AMIGA-C Assign macro name HOME HOME - Cursor to beginning of line ALT-F4 31ock cn END Cursor to end of line CTRL-?4,1 Cut marked text Type eee Enter place keeping marker F2 Forward search Type * Cleared Enter search criteria F2 Execute search F2 Forward search fype * TOTALS Enter search criteria F2 Execute search UP Move cursor up one line HOME HOME - Cursor tc beginning of line RETURN Make room for new item UP Move cursor to new soace CTRL-4, 5 Retrieve stored transaction ALT-F7,2 Calculate new Cleared total SHIFT-F2
Reverse search Type eee Enter search criteria F2 Execute search BACKSPACE (4 times) Delete place-keeping marker, close line HOME HOME - Cursor to beginning of line DOWN Position cursor on next item ALT-F7,2 Calculate new Outstanding total CTRL-F1C End Macro Define Money Mentor ' has a New Engine Climb Aboard the new "C" version of Money Mentor'" for the ride of your life.
Speed is your ticket to faster data input and dazzling graphics output. If your destination is better control of your personal finances, there's no faster way to get there than with Money Mentor'*.
A unique system called “Smart Scrolls' handles a diversity of tedious data entry functions and can save 70% of the typing typically required for entry.
Money Mentor'* features:
• Net Worth Statement
• 200 budget categories.
• 30 integrated accounts: checking, cash, saving and credit cards
• Elaborate search routine allows editing of transactions
according to your specific guidelines
• Automatic check printing
• Automatic Account Balancing.
• Colorful graphic reports illustrating actual versus budgeted
• Over 50 reports from which to choose.
Let Money Mentor7" put your finances on the right track... FAST!
SEDONA SOFTWARE 11844 Rancho Benardo Rd; Ste. 20 San Diego, CA 92128 gyj To 0rder' call (619) 451-0151 :TABLE 4 TABLE 3 GTRL-F10 Macro name: Funct ion: TOTAL Calculates totals in Outstanding, Cleared, and Sumary sections; stamps Summary page with current date.
Press AMIGA-?. May be invoked frcn anywhere in the document.
To invoke: Macro key sequence Explanation (Do not type) AMIGA-?
HOME HOME UP F2 ALT-F7,2 F2 ALT-F7,2 F2 T ype * TOTALS F2* CTRI-RT ARROW (twice) ALT-F4 F2 Type . (a period) F2
- (twice) CTRL-F4,2 F2 Type Outstanding Chsck* F2 F2 Type : (a
coion) F2 CTRL-END CTRL-F4,5 TAB Type - (a dash) Outstanding
Type F2 F2 Type * TOTALS F2 CTRL-RT ARROW 3X) ALT-F4 F2 Type .
(a period) F2
- (twice) CTRL-F4,2 F2 Type Outstanding Dopoait* F2 F2 Type :
(a colon) F2 CTRL-END CTRL-F4, 5 TAB SHIFT-F2 Type * Cleared F2
ALT-F7,2 F2 Type Date: F2 CTRL-END (Press sp. Bar once)
SHIFT-F5,1 ALT-F7,2 CTRL-F10 Begin Macro Define Assign macro
name Cursor to top of document Forward search Search for MATH
ON c xie Execute search Calculate Outstanding totals Forward
search Enter search criteria Execute search Move cursor to
total for outstanding checks Block ON Forward search Enter
search criteria Execute search 31oek cents digits Copy narked
text Forward search Enter search criteria Execute search
Forward search Enter search criteria Execute search Delete to
end of line Retrieve outstnding depst ttl Place total in
numeric column Denote figure as a negative number search Enter
search criteria Execute search Forward search Enter search
criteria Execute search Move to Outstnding Depts ttl Block ON
Forward search Enter search criteria Execute search Block cents
digits Copy marked text Forward search Enter search criteria
Execute search Forward search Enter search criteria Execute
search Delete to end of line Retrieve outstnding dept ttl Place
total in numeric column Reverse search Enter Search criteria
Execute search Calc, ttls for cleared items Forward search
Enter search criteria Execute search Delete previous date entry
Allow room after colon Insert date Calculate totals End Macro
Define Macro name: PRINT-
- OUT Function; Recalculates totals for the Cut standing
Transactions section and sends a list of all outstanding
transactions to the printer.
To invoice Press ALT-F1Q, then type PO. May be invoked from anywhere in the document.
Macro key sequence Explanation (Do not type) CTRL-F10 Begin Macro Define Type PO Enter macro name RETURN Signify end of macro name HOME HOME UP Cursor to top of document F2 Forward search ALT-F7,2 Search for MATH ON code F2 Execute search ALT-F7,2 Calculate totals for the outstanding transactions ALT-F4 Turn Block on F2 Forward search Type Transaction * Enter search criteria F2 Execute search SHIFT-F7,Y Print block HOME HOME UP Return to top of document CTRL-F10 End Macro Define TABLES Macro name : PRINT- SUM Function: Recalculates all sections, updates Summary page and sends it to the
printer. Requires the TOTAL macro (Table
3) to run.
To invoke; Press ALT -FI 0, then type PS. May be invoked from any point in the document.
Macro key sequence Explanation (Do not type) CTRL-F10 3cgin Macro Define Type PS Enter macro name RETURN Signify end of macro name AMIGA-T Invoke TOTALS macro HOME HOME DOWN Cursor to end of the document SHIFT-F7,2 Print page CTRL-F10 End Macro Define FORMS IN FLIGHT A 3D rendering and animation package for the Amiga™ Micro Magic's Forms In Flight (FIF) is one of the 3D rendering and animation packages now available for the Amiga.
It was released several months ago and has already gone through several updates. FIF renders objects in either wire frame (only the outlines of the objects show) or solid objects. Solid objects can be shaded, and you can view objects in any direction by rotating them. Once objects are rendered, you can set up animation sequences to animate them on screen.
FIF has some very nice features, but there are still several problems with the package.
According to Micro Magic, the program requires one megabyte of memory; that's the absolute minimum.
Once FIF is fully loaded, it leaves only about 160K of memory free in a one meg system. If your system has only one meg, I suggest you run no other programs in order to leave enough room for pictures to display in the program. I'll explain this more when I talk about playing the animations.
Reading The Manual The manual comes in a three-ring binder you can lay flat your desk as you learn to use the program. The manual is split into three sections: Getting Started, Commands, and Animation. It also has an appendix explaining the different input modes of the program.
Getting Started includes a brief tutorial on how to create and rotate a regular 6-sidcd polygon. It also explains how to change the default colors and remove the hidden lines in the wire by Stephen R. Pietrowicz frame objects. The manual is very simple and leads the reader through the first example as if this were the first time the reader had used an Amiga. I thought the first example was quite good; it didn't presume anything about the user.
Unfortunately, the rest of the manual uses this approach as well. For nearly every command, you are presented with all the information you need to learn about that command without having previous knowledge about how to use any other command. Sections of text are frequently repeated. That's good if you're looking up individual commands for reference, but it makes it very difficult to read through the manual to learn how to use the program.
Many examples require that certain values be input from the keyboard (or with the mouse), and they carry the instructions a bit too far. One example in the manual states, "Set up the step size to 800 by clicking the left button on the '8 the '0 the '0 the 'USE' box, and then the 'OK' box."
This is appropriate in an introductory section describing the different input modes of the program, but is not necessary for every on command requiring numerical input.
Since the commands are presented in alphabetical order rather than in a more meaningful order it is difficult to learn the program. The manual would have been much better if it presented the information in a series of examples, starting with a simple example, and proceeding to more and more complex examples.
The Animation section of the manual describes how to animate a scene with a merry-go-round. This section docs a good job of explaining how to animate the objects, and the example is a valuable tool to leam how to animate your own scenes. It would have been nice to see more than one example animation. I really wish the rest of the manual were presented in this fashion.
The manual's appendix explains the input modes. This section would have been much more appropriate in the beginning of the manual; the reader wouldn't be forced to read through all the over-simplified examples.
Creating Scenes When the program starts, it comes up in high resolution interlace mode, with dark blue letters on a black screen.
Creating scenes isn't very difficult, but can be a bit confusing until you learn to think in terms of X Y Z planes.
With practice, you can create interesting looking objects.
When creating objects in 2 dimensions, you'll probably draw free-hand polygons most often. A crosshair appears on the screen to let you draw the outline of your object. Once the object is completed, you can draw another.
(Objects can also be rendered in 3 dimensions.) Objects can be rendered in the XY, XZ, YZ plane, or in a user defined plane (at other angles besides XY, XZ, and YZ).
(continued) If you'd like to draw regular polygons (triangles, squares, pentagons, etc.), a command to create those objects is available just by typing the number of sides you wish draw. Spline curves can also be drawn.
Once polygons and objects have been rendered, you can select entire groups of objects or individual objects in a scene and arrange them to obtain the object formation you want. On-screen objects can be rotated and observed from any direction. Scenes you create can be saved to disk and retrieved for later use, allowing you to create a library of objects.
An interesting feature in FIF is the ability to create red blue stereo images. It's a very nice touch. Using this feature, you can create interesting 3D effects to be viewed with red blue 3D glasses. The glasses aren't included with the program, but you can get them in many toy stores.
According to the manual, FIF can support the HP-CL plotter. I wasn't able to test this feature because I don't own a plotter.
One thing I don't like about the program's user interface is that it doesn't keep you in the mode you selected. For example, 1 wanted to select several different objects on the screen using the SELECT BOX AROUND function. Instead of leaving the program in a mode where I could select one object and then select another while still in the SELECT BOX AROUND mode, I was forced to returnto the menu to turn this mode on again. It would be much more useful to leave the program in a selection mode until the user is done selecting objects, and then allow him to exit that mode.
Creating Animations After you build a scene, you can proceed to the animation description screen. Interaction and relationships between objects in the scene are described in a graphic "tree" display.
Objects that depend on each other are connected by "branches."
For example, imagine that an arm with a hand is rendered on the screen. If the forearm is moved in any direction, the hand is automatically redrawn in the correct position. This touch makes it much easier to move entire scenes without worrying about moving each individual object.
Motion of objects or groups of objects is defined in terms of how far they move forward, down, left, or rotate down, left, or roll. To move in the opposite direction, you must give the negative offsets of the appropriate commands. For example, to rotate left ten degrees, you specify "10" with the rotate left command; to rotate right ten degrees, you specify "-10" with the rotate left command. "Rotate roll" isn't explained in the manual and is left for the user to figure out.
When scenes for animations are created, they are stored on disk in separate files. An animation with 70 frames will have 70 separate files. FIF does not have any way to load or save pictures in IFF format, although Micro Magic notes they may support IFF backdrops in the future.
Playing Animations Once an animation is created, you can either playback the animation from within FIF, or you can use FastFlight, a program that comes with FIF. Each has its problems.
If you run animations from within FIF, the frames are loaded individually from disk, and playback is very jerky.
FIF tries to solve the jerky display problem with the separate FastFlight program. FastFlight loads the animation frame-by-frame and displays each (as in FIF itself). Once all the frames are in memory, the animation can be shown at a relatively good speed.
A playback mode that works at the speed FastFlight would be useful so the user isn't forced to toggle back and forth between the two programs.
Even if your system does have more than one meg, it isn't practical to run both FIF and FastFlight at the same time. FastFlight's instructions say you should reboot your system before and after each animation is run.
I asked a Micro Magic representative why FIF doesn't have the playback mode, and why FastFlight must be used. He stated that because FIF uses so much memory, FastFlight couldn't be included in the program. Instead of trying to add that capability, they decided to make it a separate program to keep the memory requirements of the program down to one meg.
Micro Magic also stated that people with systems with more than one meg can run FIF and FastFlight together.
FastFlight has a bug, however. The program does not free all the memory.
The manual's rebooting suggestion ensures that the machine won't crash because it has run out of memory. If you have enough memory to run FIF and FastFlight together, Micro Magic suggests you save your animations frequently, so you don't lose data if the machine crashes. At this time.
Micro Magic does not have plans to create a version of FIF with FastFlight capabilities for users with machines with more than one meg, but they are currently looking into the FastFlight bug.
Overview All in all, FastFlight's manual needs some more work, and some of the user interfaces could be better. Micro Magic told me they plan to come out with a better manual and another update for current owners of Forms in Right. Upgrades will then be made available for a modest fee. With a better manual and the promised improved versions of the program, I think Micro Magic is getting on the right track.
• AC- Long ago before IBM figured out that computers could sit on
desks and mice could learn to paint, back when you could
express a personal computer's memory in a two-digit number and
the number of colors it displayed in one digit the first
graphic text adventures appeared. Games like Wizard and the
Princess and Blade of Black Poole, from companies like
Adventure International and Sierra On-line, had very simple
parsers, and the graphics were static images, usually in the
upper two-thirds of the screen. By today's standards, both the
parser and the graphics in those games were below par. But this
was several years ago, and as a wise man once said, 'The only
thing constant about the computer industry is change."
AMAZING R E V I E W S Stficon (Dreams and Jezuets of (Dartqiess: J? Vouch of Now Firebird Software (that's Rainbird in British, I guess) has brought back the classic graphic text adventures, with the introduction of two products for the Amiga: Silicon Dreams and Jewels of Darkness. Silicon Dreams is a trilogy of science fiction adventures set around and on the world of Eden, while Jewels of Darkness is a trilogy of fantasy adventures set on a swords- and-sorcery world called Valaii. The adventures are related in at least a tenuous way, but they all stand alone as separate games that can be
played in any order. I must admit, however, that 1 liked them better when 1 played them in order. It seemed more logical that way. There is also the possibility of achieving the title "Supreme Adventurer" if you carry your score from one game to the next.
Reviewed by Kenneth E. Schaefer The Silicon Dreams games follow the exploits of Kim Kimberly. In "Snowr- ball," the first game, you (as Kim) are awakened early from your frozen slumber. You are aboard Snowball 9, a colony ship headed to a planet called Eden. Someone is sabotaging the ship, and the craft's computer thinks you can slop it. Well, if you can, you win. Then the second part, "Return to Eden," starts with the crew of Snowball 9 waking and charging you with treason (a damaged tape in the control room seems to show that you attempted to blow up the ship).
You escape to the planet's surface, and your second adventure begins.
"Worm in Paradise," the final episode in this trilogy, takes place much later.
You have become a sort of legend, a character of almost mythic proportions.
(This information will be very valuable.)
Jewels of Darkness begins with "Colossal Adventure," the classic text adventure. You must find and explore the Colossal Caverns, then store the treasures you find there in a small cabin where you begin the game.
After this challenge comes "Adventure Quest," where you must find and destroy the evil Demon Lord AGALIAREPT. The third game, "Dungeon Adventure," begins after you accomplish this difficult task, and you must explore the Demon Lord's domain for treasure, magic items, and adventure.
Although the plots that comprise Silicon Dreams are not familiar to me, the first one in Jewels of Darkness certainly is. It is a variation of the original adventure. This program (the original, not Rainbird's version) is on many networks and is in the public domain (without pictures, of course).
Some extra commands have been added, so Rainbird provides an improved version. There are undoubtedly many people who have not been playing computer games very long and who have never seen this classic before. It's still a fun game, and its historical importance (if it hadn't been for "Colossal Adventure," there probably wouldn't have been any others) makes it even more enjoyable.
The games are, in at least one sense, a good value. The plots and text-de- scriptions of the settings are done well enough, and you get three separate games for the price of one. These (along with the historical and nostalgic aspects) are about all the positive things you can say about the products.
The graphics are the weakest point, which is surprising, since Rainbird had such good graphics in their other graphic text adventure, The Pawn. I notice that The Pawn was created by a different company than Jewel of Darkness and Silicon Dreams, so perhaps that explains the difference.
Although the games are challenging and the stories are interesting, the graphics are so far below par that they really detract from the gaming experience. Today's computer user (especially the Amiga owner) is accustomed to graphics that have at least eight colors (we expect at least (continued) COMPUTER MART Your Texas Amiga Source Immediate Access to over 400 Amiga Titles.
Prices too low to print!
We stock Amiga Software and Peripherals For A500, A1000, & A2000.
Mon. thru Fri. 10:00 AM-7:00 PM, Sat. 12:00-5:00 PM CALL TOLL FREE CUSTOMER SERVICE 800-443-8236 409-560-2826 Computer Mart. 105 Lynn Street. Nacogdoches, TX 75961 twice that, but those still in the eight- bit world are not so fortunate). We are so used to good graphics that these games might actually startle some people. (There was a time when this was the best that computerdom had to offer!) The system lets you turn off the pictures via a menu selection. I tried playing the games this way, but then I was playing the "Colossal Adventure" that is on CompuServe! The parser is primitive (it was
written a while ago), the descriptions are colorful at points, and the syntax has been expanded (Ramsave and OOPS! Come to mind as the most useful new features). But this is not enough to live up to the our expectations. The games need the support of graphics, and the graphics can't even support themselves.
Rainbird is to be commended for one thing, however. The back of the package (which appears to be a videocassette box) has real pictures from the game. They arc not touched up or artificially enhanced. They look as bad on the package as they do on the screen. At least they are not hiding anything or giving you a false impression. The way marketing is today, this honesty is a big deal, and Rainbird deserves credit for it.
The new features of Ramsave and OOPS! Deserve credit also. It is nice to be able to save your present position in RAM quickly. It also frees you from the copy protection scheme these games share. It is documentation-based, and I'm all for it. It comes up when you try to restore from a disk-based save. This can get a little tedious if you are doing a lot of restoring. Ramsave is very good for this type of situation.
OOPS! Is equally utilitarian. It allows you to take back your last move, no matter how disastrous it was. This makes exploring dangerous places very easy. It is an excellent feature, and I would be pleased if other companies in the text adventure business tried to implement it.
There are some very good things you can say about these games. Players who are not that interested in graphics, or who find the history of gaming interesting, will especially enjoy these inexpensive games. The rest might wish to pass them by. Certainly, observant players won't be surprised by what they get. For the money, three old games punched up to mediocrity is not a bad deal. If nothing else, they are a good training ground for those of you just getting started in a career of adventuring.
Many of us got our first taste of dungeoning with these very games.
Just don't expect graphics like those in The Pawn, or even Leisure Suit Larry in the Land of the Lounge Lizards. Expect to be taken back to the days when the home computer industry was young, and four colors were a lot.
¦AC- Expanding Reference imazing Computing The Excitement Continues Super Term m J «cuj Volume 1 Number 1 Premiere 1986 Super Sphere* By KellyKauffman An AbascG aahcsprog.
DateVIfU* fly J FouK A disease may abackyour Amigal EZ-Term by Kely Kauffman An Afla&c Terminal program My, Mini by P. Kivolowtz Programming fxes & mouse cam lniid, CLI by G. Musser a guCod wsght into tie ArrgaDos™ CLI Summary by G. Muiser Jr. Abed CLI commands AmlgaForurn byB. Lubkm art CompuServe1* Arga SG Commodcra Amiga DevelopmpnlProgram OyD. Hc a Amiga Product* A l*trg of present and expected products Volume 1 Number! March 1986 Eertronlc Art* Come* Through A review of so ft** from EA Inaide CLI: pari two G. Musser kweatgato* CU1EO A Summary of ED Command* Uva! By Fkch Miner A review d
tie Beta »r»on d live1 OnHna and tha CIS Fabft* MM ADH Mod am by J. Fouat Supertarm V 1JJ By ft Kauffman A torn. Prog, m Anga Bate A Workbench "Mora* Program by RxAWroh Amiga BBS number* Volume 1 Number 3 April 1986 Analyze! A re*ew by Ernest Varies Review* of Racter, Baratteca* and Mindshadow Forth! The Irst of our on-gong totoriaf DaiuxeDrawfl tyR-Wrch An Amiga Baa c art program Amiga Basic, A begimeratutorial InMdeCLhpvtl by George Ujssar George gves us PIPE Volume 1 Number 4 May 1986 SjcyFox and Artefo* Reviewed Build your own 5 1rt Drive Connector ByEme*tViWfol Amiga Bute Tip* byftchWreh
Serlmper Part On by P. K'Wtowra prog to pr.nt Amiga acroen Microtofl CD ROM Conference byJnOK&ane Amiga BBS Number* Volume 1 Numbers 1986 The HSI to RGB Ccnvnreon Tool OyS, Pwttowicz Color maniaiaton in BASIC AmigaNotaa by Rc« Rae The f»*1 of tw Amiga my»ccolumns Sidecar A First Look tyJohnFouat A fr«‘under the hood' John Fouai Talks with R.J. Meal at COMDEX How does Sid acar atfecl tha Tranafcrm ar ar interyew w.fi Doug as Wyman of Sn « Tha Commodora Layoffi by J, Foust A look Commodore ‘cuts’ Scdmpar Pirl Two by Perry KvolowtZ Marauder reviewed by fLck Wrffi Building Tocie by Da.nel Ka'y
Volume 1 Number 6 1986 Tempi a of ApehaJ Trldogy revewJ ty Stephen Retrowcz Thl Hailey Project: A Maaion In Our Solar Syitem reviewed ty Stephen Fetowcz Row: reviewed by Erv Bom Teitciifl Ptue ¦ Fir ait Look by Joe Lowft'y How to ATARIyour own Amiga Uaar Group by Wiliam Srpaon Amiga Uaar Groupa Mating Ust by K*iy Kairfh-ian a base m»l lit program Pointer Imaga Editor by Stephen Pletnwa Scrimper:part three ty Perry KvolowtZ Fun With ha Amiga Dak Controller by Thom Storing OpamLzeYour AmigaBaaie Program* for Speed by P-etrowcz Volume 1 Number 71986 Aegla Drew: CAD com at to the Amiga by Ke y
Adams Try 3D by Jim Meadows an intoducban to 30 graphic* Aegla knag*a Animator: arovewty ErvBobo Deluxe Video Con struct! On Sat rovewed ty Joe Lo**ry Window reque*are in Amlgs Basle byStowMchei ROT by Ccim French a 30 graphc* editor TC What I Think* Ron Peto-san wrn a few Cg'apbc prog* Your Menu Sir! By B Cattoy program Amiga Bask: .menues IFF Bruth to AmlgaBaaic'BOB' Ba&cerktor ty M Swnger Linking C Program* wfth Aeeembler Haufinae on tha Amiga try Gerald HuO Volume 1 Numbers 1986 The Univeoity Amiga By G-Gamble Arrgah mroacs otWathngton Stato Universi*y WitroEd a look at a one man army for
ho Ar gs MicroEd, The Lewie and Clark Expedition rovwwed Fnaiie Scrlbbi* Varaion 2.0 a review Computara In tha Cluaroom ty Robert FriWle Two for Study by Frztoe Dacovery A TheTaitung Codrng Book TrueBaaic rwwefl by Brad Grier Uaing your printer art3" the Amiga Marble Madneae reviewed by Stopnen Permwcz Uaing Fonta from AmigaBulcty Turn Jonee Screen SaYer by P. Kratowitl A monitor protocbon prog. In C Little* MAKE Utility renewed by Scat P. Ewmber A Tile el Three EMAC3 by Stove Pal ng JimapFlie Reeder In Am kga Baaic by T Jonea Volume 1 Number 9 1986 hitirrt Music Rev mad by Stew P &jy*cr
Undwil«r Rm ev*d i?y Rcrard Kwx TH« Aegra Memory Board Rev owed by Rch Wircn TiEd Rnned by Jin and Clf! Kant Amuing Directory Agjidatctr* wjrceitnd ’«3 ob* Amiga Developere A ittng jfSupp-dra *N3 Devwopflri Public Domain Catalog A i«ng of Am x* and Fred Fin FOS Dot 2 Do* pevew R. K.-«pc»r TrarsV t«tar PGWS-OOS and A~gaBaec UaidRan w** ty RrfTard Kapoor Tr« Arga So'«csr**t Clzm « by tflfwd by Pflp Waym«r A- ga »y as1 Tha Loin hformation Program pyBrarCcay base prog S for you Aareal 9E*on$ Starting Your Own Amiga Related Buaineee&y W. Smpaon Keep Track of Your Buaineaa Uaage for Tain ?y J
K-r-~cr Tha Aaaoft Amiga Fontan Compiler -er iwrf by R A Rea* Laing Foma from AmlgaBMlc.PartTwobyTim jan*a 680CC Micro* on the Amiga by G. Fk,l Acva-w your at fy TDI Mo si-2 Amiga Compitv by S Fawsa Volume 2 Number 1 1987 What EX gl View ta._ Or, What Genlock Should Baf ty J Foutt AmlgaBaaie Da'auh Colon by B-yan Cadey Am giBiaJc Ttlee by Bryan Catey A Public Don tin Modula-2 Syalem rmwxod by Wa-ren Bock On* Dr hr* Compile by DougAl Lbvall Us-gLsttcaCwTia argeorw sys»r A Megabyte Without Megabucka By Or* hrng An Mem* Megabyte upgrade Dgi'Vlvw rffvewed by Ed Ja»=t*r Defender of the Crown wowed
OfKaP Contort Leader Board -evewed by Crtudt R*ydo-vi Roundh I Computer System'* PANEL w«wed by Ray Lance O gi-Pi£nt™by New Tel prevwwad by John Foust Owun Paint I _,from Electronic Art* prewewad by J Fa,at Volume 2 Number 21987 The Modem byJosph L Rafman ehorti of a BBS Syaop MacroModtm svewed by Stephan R PeYorucf GEUM or ft takae two to Tango' by Am Meadowa Gammg bevwn mad* nee BB5PC! ’eveswd by Stepnen R Peboiwcz The Trouble ad Si Xmodem by Joseph L Rcpmen The ACO Pf 6( ecu. GriphicTefec on Wanting on lha Amiga by S. ft. Pebwrci Flight Sim utator R A Croa CowiSy Tutorlai by John Raherty A
Dak Ubsrfan In AmlgaBASC John Kannan Creating and Uaing Amiga Workbench leone by C Ha*se An'gaDOS vereion 5.2 by Kent The Am«lng MI0( Interface buld your own by ftmerc R» Am giDCS Operating Spten Cilia and Dak File Managament by 0. Hop* Working Mth tha Workcanch sy Lojs A Marioi P*og n C Volume 2 Number 3 Th* Amiga JOOC byJFowa; Afrat look at then**, highond Atiga™ Th* Amiga 300™ by John Fouel A look it meh w, low priced Ariga An Analyela of tn* Mew Amiga Pca byJ Foufi SoeoJatoh on bv New Am ea Gemini Part I by J m Moooowe The corxJudng aroce or wa-Oi'm’ garres Subacrlpta and Superechpte In
AmlgaBASC by Ntn C. Smith Th« Wlntir Coneumar Electronic! Sh»» oy Jonn Foutt AmlgiTriibyW 3ooA,Tgi i“crtul kntuiSon Gadget* by Haler' UayPect Toly Aj urn*y sromjr gjoge' and. Ui* C Shanghai revmrad &y K*n M Corfart Chaeamaatar 2DOC k Chaaariila rarewedby Edveh V Apei. Jt 23ng| bom Maridian Sofvwi -wowed by Ed Bwcwti Fofti! By Jon Bryan Get s*so so-no no yo Foti o-agra-a Aieambiy Larguaga on Via Amlga™by Or i Marti Roomtra by TeBandto Genaon are fra y r ppng. & MORE Am igaNotea By R Rae Hum Busss . *No ra-eo7 Y not?_ Th* AMCUS Network by J FouC CCS, uear group hum and Am. e Ejpo* Volume 2
Number 4 1987 Anting krtarteawa Jim Sacha&y S Hul Arga ArtC The Mouie That Got Bettered t r J«rry HL C and Bo&Rnxw Suithlng Public Domain D *• wftti CLI by John Four Highlight* bom the San Fnnclaco Commodore Show by S Hul Speaker Seawone: San Frar.daco Commodora Show N Toly Th Household Inventory Syatan In AmlgaB ASC™ ByBCetey Seer eta of Screen Dump* ry Nabum Okun Uaing Function Keys with M.eroEm act by &eg Qou as AmigatH* II tyWaren &obi Mo’e Anga ahorteut* BiafcGadgetaby & an Caiay C mb gadget Armo-a Gridiron-tfrttvW by K. Corrfsn ReaifooteailforbwAngi Star Fleet I V r*aon 2.1 wowed by J.
Tracy Amgen Soaoe Tie TIC revwwad by J. Foist Battery powa-wJ Cock Calendar Metaicope "even by ft Toly An easy-to-uae debugger Volume 2 Number 5 1907 The Perfect Sound DgJtUer 'e ew by fl. Barte The Future Sound Dg-Crer by W Bo di Apped VsinY SO Forth! T J Bryixomp**ng Jfo-T «“d kAt-forth.
Baeic Input by B. CiSey AmgaBASICinpLtroulnefwuieii
• lyoi programe.
Writing a SouncScapa Module s C by T. Fay programming
* fl MIDI, Arrga and SoundScape by SoundScape eut.or. Programming
In UOCQ Aaeembly Lmguagi by C. Mann Co rill hying whfi Counters
& ApcJ'ess-g Mooei Dalng FuturaSound adth AmlgiflASlC by J
Maadovm AmgaBASlC Programming utlfywtfh raa.dg tied STEREO
AmlgaNotea by R Rae A rwww of Mtmelci SoundScape Sound Sanp*er.
Mon AmigaNotaa by fl Res A furtwr rwww of Suma'a Pe'bct Sound.
Wavetem Worhahop In AmlgaBASiC by J Snieci ao; & sa « waveVm to- ,w r sr«' A-gaBASiC progrm The Mmelca Pro MIDI Studio by Si vaa JeV-y A -wew o' Mt-reoce' ru»c edar piayr.
Intuition Gad get* Part B by H MiybectlbY Bosea-gat e* prortli N uer mT an prYo" .vr iiwrtaos.
Volume 2 Numbers 1987 Forth! By J. Bryan Access *e*= .T» n Te ROW Ke-a Th« Amulng Computing Hard Dick Revlwr by J Foutt & 5.
Leemm h’OetniooktatneCLid Ha-d Dnva, WKJObotca' MA Oiw2C. Byte by Byte s PAL Jr., Supra'a 4x4 Hard D w and Xeoec's 9 720H Hai} Dwi A to, a look atopio-ve' sohwwa tx renpy nKte» dwtapment Modula-2 AmlgaDOS™ UtBtia* by S, Fawsiwrs*. A Cel 5 » AmgsDOSand rw ROM kamal.
Amiga Expanaion Peripheral by J Foufi EipiaiaBonof Arga orpr son penpnera a Amiga Technicai Support cy J. Foust How and whe-e t get Am ga tech aupport Goodbya Loa Gatoi try J Fouet CdS"g LoaGaSa Tha Am leu* Network J. FouC Weet Coat: Com outer Fwre Metacomco Shail and Toolkit by J Fouat A-evew Tha Magic Sao by J. Fouet Rin Mac programs on your Atg*.
What You Should Know Bafore Chooaing an Amiga fODO Expanalon Device by S. Gra-t 7 Aaaembiera for the Amfgi ty G. Hul Chose* your itao-bw High Level SnakeupRepiacatTop Management at Commodore by S Hjl Peter J. B*C40* y s Hul Ma.*ager at C&U gvee *i i-tpe Pok Logltli A -ev«w by RctatJ K.-wope* Ofjani e b« A •*«¦*¦» RcftefdU'WCpa-database SACOC Aeeembfy Language Programming on fia Amiga byO-sMartr Suaerbua Paraonal flalatlcnal Dstabtt* by Ray McCabe ArigaHote* by Rae, Rcat Alooxat Fut'aSo d Commodore Shews th Amiga 2000 and 500 at fi* Boetan Computar Socety by H Maybacx Toly Volume 2, Number 7
1987 Maw Breed of Video Products by John Fouat.. Very Vlvkd! By Tim Grantiam,,.
Video and Youi Amiga oyDan Sanoa II Amlgea I Weafiar Forecaetlng by&anooi Larion A-Squared and the Live! Video DgfUar by John Foust Aag a Animator Scripts and Csi Animation by John Foutt Quality Video from a Duality Computer by Oan Sana II la IFF Really ¦ Standard? By John Faust.
Amulng Stor e* end Pie Amiga™ by John Foutt All about Prlntw Orlvera By Rcharff So a Intuition Gadgiti by Hamel Mayt»ck Toiity.
Deluia Video 1J by Bob Bier Pro Video CG! ByOan Sands III Dig*-View 2.0 D-gltJrtfflotTwar* by Janrvte' M Jm k Pllim HAM Editor from In pule by Jennfw M Jank Eaeyl drawing tabietby John Foust.
CSA'e Turbo-Amiga Tower Dy Afiwd Aa-rj 6SOX Ateambiy Language by One Marti SO.ErBase:*-. PaCa.T"* S joo-, Lre Cr-Djw F¥k *. S-oac. Sto'G cw K Y* O.**”: 111 ix III F*e*y Taw ArvwL a. Lft-ia III FacBto a* Veto Vogiit-c Barol Tic Pw* A nuIng monthly eolunna... A- ga Notts. Rto'-fcrs.
Uadjll-Z, 68CC3 Asa«rl y Lmg*agt *tJ The Amcui Notworn.
DiK- ik by Urzv* Uswcs Th* CoiorFonti Sdpci'O oyJohn Fo-i: Scrwy C Program* Dy RatW'! Rc-‘«'l"l. J'.
Httldtfl Uem;n hYo. A"gr“by Jt Dn Fou*‘ Pi* Conaufn er Ejaeronic* S ow ird Comdix Of J F3ist Your Resource to the Commodore Amiga™ ’Hie phrase above is not just empty words. The pages of Amazing Computing™ are filled with articles on technical operations and procedures, basic use, and jusi-plain-fun. The growing library of Amazing Back Issues contains articles from building your own IBM Disk controller, to setting up your own startup sequence, Amazing Computing™ has repeatedly been the first magazine to offer the Amiga users solid, indcpth reviews and hands on articles for their machines.
Volume 2 Number 12 1987 Th* Ullmita Video Accauory by Lr V r* Pi* Sony Conn act on Dy Stowl Cobb l PuttiilfiAmigigAaC by Zoitw S»pt
L. f», Part I: Pi* Sag inning ay O'tdltu Ttb J?i ampl« nrn* Wt
wUtor to 7» ‘Gam* c! Lto.‘ Amigi Vlrya! Jonn FduK Anew
A-'giVfu*ni4tj *BOM Pease tree*y*jf syne-i Amazing Computing™
was the first magazine to document CLI Amazing Computing™ was
the first to show Sidecar™ from COMDEX™ in full detail.
Amazing Computing™ was the first to document a 5 1 4 drive connector Amazing Computing™ was the first with a 1 Meg Amiga upgrade hardware project!
Amazing Computing™ was the first magazine to offer serious programming examples and help.
Amazing Computing™ was the first to offer Public Domain Software at reasonable prices.
Amazing Computing™ was the first mai’azine with the user in mind!
From the Beginning Since February 1986, Amazing Computing™ has been providing users with complete information for their Amiga. This store house of programs and information is still available through our back issues.
From the Premiere issue to the present, there arc insights into the Amiga that any user will find useful!.
S4.00 each!
Our Back Issue price is still 54.00 per issue! (Foreign orders, please add S1.00 per issue for Postage & Handling. All payments must be made by check or money order in U.S. funds drawn on a U.S. Bank.)
Limited Supply Unfoninaicly, nothing lasts forever, and the availabilty of some of our Back Issues is definitely limited.
Please complete your Amazing Computing™ library today, while these issues are still available. Please complete the order form in the rear of this issue and mail with check or money order to: Back Issues, Pi.M Publications, Inc., P.O. Box 869, Fall River, MA 02722 (Please allow 4 to 6 weeks for delivery) CU Argjrr enti In C by PaJ C*Ci ' j*y MDI Interface Adapter by 6eTyM*l»rt At ga‘CM-aye MO nta-'acts can fi« A233Gso'50Cs Modyl*-2t y SaveFaww**v.
F i! In a aeret, a commend In* cetalatof in Modjia-2 AmlgiNotei by R cra-dfiae Tn* awJacf’flTges mao* m*c Arnga 5CC *nd20CEL Animilofl ter C Rookie*: Pin* By M Sw-ge- tacxlrg daj&*-&.JV ng Pi* B g RetLfa by W*m*n Rng A- ga™ AsseT&y a-g aga pfogime* rg r* travc Kvitefrd Revirwoy Swp fl P*rz*cz GO! W fwlaw ay Jsnr Fxr, Jam** OX an*. A-d ftt Vfxr, Three C-6t eiserfa invecsgato a new At ga fc4 «TuiatJ?, A-Tak-Piua Review by & end an Larson ‘Ful-fedged hma program’ A Tektortcs caoab i«s Cilllgriphar Rarfaw Dy J&hn Foot!
Animator: Apprantlca Ravltw by JobnFouti P aying Dynamic Druma on th* Amiga Dy Do d N Blark WordPerfect Revip* by SwveHul InHderXwikesrt fievtaw 9f Er-«« P Vvw'os & RAM AflOWttcDanisr: CorTcraand rsutabantps Bug Byte* Dy Jonn S»r*r Forth! Dy Jon Brya- D -DRPytutlitybryo UjtForr so not Aa I Sea l! Cy EDO* O rtrc An o*D*it oat on Dg-Pi - Porta, *nd Voeoscrcc 30 Pa Amlcua Network by Jam FouK Th* Commodore Show and An E*po: New Yorkl Volume 2 Number 9 1967 Anelyi* 2J3 ¦evewflC Dy Kjm Scn-aV kripirt BueineieGrcphlci wwtyOuckRajdom* Moof cha Fitir »ir*w by Ha-v Laser Pi;v*«Cer wvew Ro W*ch Gn«
ProdYcbvtty 5*! 2." 'eraw Dy &oD E ¦ Ki h worx 'even by Hr» Luer D;a Trticomm jnlaSon* Picujf ‘ft ew Dy Stnc Hj Moum Pm* *nd Pmaaxvar avwby JomFoult liaidar Memory Exptnaion "evewty Jit« Oxeene Mcr ob otic* Star boar 6-2 'e ew By S Fawuar sn' Leather Goddaaaa of Phoboa urewpC by Ha* et M*ybec*-ToIy Latte* C Complar Vraion Howvewec DyGirySirff Man a 3 a Updati tvewec Jom Foust AC-BASIC '«v*wed Dy SneiOon Lee"3" AG-BASIC ComplllBr an thematw can-pa'ton Cy B Catey Modu:a*2 Programming Sfawuewtc Raw Can as* De ce Eve-a Dfactory Llatinga Under AmlgiDOS by Dcrre Haye AmlgiBASIC Patlam* Dy &an
Cetey Programming wifi Soundacape 1000r Fay manpjirEi sa~pes Bill Volk, V1c*-Pr*aMint A*g a Dmrhoomnt, "Ttvewec Dy S we Hu J Jm Goodnow.D*»moo*roffcto-iiX‘ r*r***w Dy Harr**. U Toy Volume 2 Number 10 1987 Amazing M -M-i oMrtjtiiwC?
Max Headroom and the Amiga By Jshn Fo.st Taking th* Parfart Screen Shot by Keif Contort Am ;i ArQat: Brian Wllliama by John Fojs!
AmigaForwm on Compt*arvt'v._ Sotona e Publrfihg Conf(r*nc* Tranacr.pt Dy RcMto Rae A About Onlln* Cont«r*rong by Rc IkJ Ra* cBUAK ’evewefl Dy Ci-ord K*-; Amiga Paacal wwed&y Mcrae Utfve AC*BA»C CompBer *evew« by Bryan C«r»y Bug Bytea Dy John StB"*r Am ig a Noaa by Rcfan; R* Roomara by TneBarcta E5CX Aaaemby Larguagl Dy Ch.'S Mston P* AMICUS Network Dy John Fou*t Amiga Programming: Am ig a BASIC Structm** by Save Mc*wl Quick and Dirty Bob* DyMcae S*mg*r D'actory UFJnga Uidar An iga-DOS, Pirt 1 by Dave H*yn* Fiat Fill 10 with Modula-2 by Sto* Fawuewv.
Window 10 Dy Read P’MJTO'a ¦ W' - r« U . V- Volume 2 Number 11 1907 Wore PTOceaaora Rundtwm by Geo*f Gambe PrsW* ta. Sc-sb*aro WsroPe'tocteo-Dawc LPO Writer RaYaw Dy Ml'D** D*JT3 VtnWrtta R aview by Harv La$ *r Aid it RiYtw ty Wrw- Bw WorcPartKt Prtv*aw by Ha-v La**' J*2 Sen Interview Dy Ed BercoirtI P* *jtno' of Sto’G'dr x»*a Do-it-yourtcil Improv*minta to the Amiga Ginlon Dl gl-Pa int Revt aw Dy Harv lasar Sculpt 3D Review Dy Stov* PeTawcs Shadowgita Reid*w Dy Lnde Xaoan TiltGam aa Rivl wm sy Mc-aw T Cabr* RaaaonPrevtr* tc cc ookatan rton**g'imri'*«« niton aaoktatcn Ai I See h by Edd*
Ok eft P«n ng atWrdPwtoc*, GitoiV2G*-tjZng Keya Bug Bytea Dy John Stoner AmigiNote* try R Rae l elect on c Dookt Modula-2 Programming by Sto« Fawsaewsk.
Oevctot, lO. Ax r* ttr a! Don RoonaraDy PeBancita 58003 Aaaembfy Language Dy O* s Matn Or i wa u h-5 j*- *3 sbly *xt‘« Pi AJ4CU9 Network Jonr Fouat Des ss P-o mng A Seyood C Anmton Pirt H by M Sw'g ' A"i”ilo* BASIC Tut Dy &*r C*t*y P o oe'toct toxt po*ton ng SounflicapePtrtl DyTbW'Fiy V J Me»* a-d-o** Fun wilh. Amiga Number a Dy A*n Ba*nef File Browaer t r Bryan Cetoy Flil F*KJto BASC Fue Browsng ua ty AMAZING RE VIEWS Leisure Suit Larry in the£AN£? Of the ‘Don't expect scenes that would win an X-rating, but this one is definitely not for the kiddies.’ reviewed by Kenneth E. Schaefer The
singles' bar. It's a well-known place for many Americans. To many, spending an evening in such a bar is a good time. To others, a singles' bar is the bloody battlefield where the weary war against loneliness is futilely fought. To yet others, it is a place of evil and sin weakening the very fabric of our society. In fact, the only thing you can say with any degree of confidence about the singles' scene is that everyone has an opinion about it. So you can just imagine the noise that erupted when Sierra On-line introduced Leisure Suit Larry in the Land of the Lounge Lizards.
When the game is played, the noise gets even louder. For many, however, that noise is not roars of indignation, but howls of laughter.
Make no mistake about it. Leisure Suit Larry in the Land of the Lounge Lizards is not for everyone. It most certainly isn't for young children, i suspect that it also isn't for women. It is unfortunate that such a good satire on contemporary American life is marred by such one-sidedness.
Granted, it will probably take a completely separate game to remove the male bias from Leisure Suit Larry.
What could the heroine of the female version be called? Evening Gown Eveltan? Leisure Suit Louise? Be that as it may, most women probably will not find Leisure Suit Larry in the Land of the Lounge Lizards as funny or entertaining as many men will.
In fact, many women will probably be incensed. To those who are offended by what the game represents, I can only suggest that you skip the rest of this review.
Leisure Suit Larry in the Land of the Lounge Lizards is another game in the growing list of "Adult" software. For some games, this label is a bit strained. For this one, it is not. Don't expect scenes that would win an X-rating, but this one is definitely not for the kiddies. Sierra has even attempted to install a "Child- protection scheme" to prevent people under 18 from playing.
Whether this is a serious attempt at limiting access to the game, or another in a long line of jokes about age and responsibility, is anybody's guess.
Only the authors know for sure. I personally doubt that it will keep out determined young people. Parents will have to bear the final responsibility of keeping this software from eyes too young to "appreciate" it.
Our "hero" is Leisure Suit Larry, a quintessential nerd. Our goal is to help Larry become, shall we say, "more experienced" by directing his actions. In his quest for this rather shailow-fulfillment, Larry meets prostitutes and pimps, bouncers and bartenders, and even a loud-mouthed drug store clerk. He goes to casinos, discos, and seedy bars with even seedier backrooms. He can fall down fire escapes, be humiliated by dogs, and be mugged in dark alleys before attaining his goal ail this while battling what can only be called "chronic toxic breath syndrome." 1 guess some people just have it
My only serious complaint about Leisure Suit Larry in the Land of the Lounge Lizards is that you cannot control the dialogue. (My biggest complaint is the name is too long!)
SOURCE BUILDER introducing a CASE Tool for AMIGA This powerful new Amiga CASE (Computer Aided Software Engineering) tool is for software designers to automate the creation and maintenance of software from cradle to grave.
¦ An effective, affordable, professional CASE tool for automated code generation.
¦ Easily build user interface and complex data structure routines.
Supports reuseable code and object oriented design.
¦ Logical template substitution for multiple version code generation;
i. e. From one common form, generate code for multiple computers,
PC, MAC, Amiga & ST. ¦ Extremely effective in non programming
environment; CAD, Wordprocessing, Project Management, and
Postscript processing for desk top publishing.
¦ Allows many ADA tm features to be used in conventional languages such as C. Also extends the object oriented design features of ADA tm.
¦ Templates and configurations can be easily added and expended by user.
¦ Includes an user manual as well as a software design tutorial.
¦ Price 5149.95, send check or money order only. CA residents add 6.5% sales tax. This product requires Amiga Workbench 1.2 and Extra disk.
Software integration Solutions 16496 Bernardo Center Drive San Diego, CA. 92128 Tel: 619-451-3094 You can only 'Talk to Fawn" or 'Talk to Faith." They then give you their programmed responses. This pattern of 'Talk to ..." and response is repeated until you start getting the same answers over and over. You then know you've milked those people for all they know. This kind of interaction gives the game a "programmed" feel. It makes me feel there is only one way to get through the game (although 1 don't think that this is true). In the game's defense, "smart" people are very difficult to
implement, and the game plays well without them.
Leisure Suit Larry in the Land of the Lounge Lizards uses the graphics and animation system that helped make the King's Quest scries so popular.
Some of these games have been ported to the Amiga, and I wasn't too impressed with the graphics in those earlier ports. Leisure Suit Larry in the Land of the Lounge Lizards appears to have taken care of this problem. The animation and graphics are up to an acceptable level. The only complaint you might have is that the size of the "world" might need to be shrunk to make room for better graphics.
Leisure Suit Larry in the Land of the Lounge Lizards does not seem as big as King's Quest III or Space Quest.
The user-interface is very good, however, with keyboard equivalents for menu selections. In short, this game docs not look like a straight IBM port.
Although the original premise of Leisure Suit Larry in the Land of the Lounge Lizards is hardly anything to write home about (Mom had better be real hip!), the story as it develops is funny and fun to play. Moral lessons can even be learned as you play. The most noticeable thing about Leisure Suit Larry in the Land of the Lounge Lizards, though, is the humor at every turn. Subtle things like getting an ad for Sierra's clue book when you use a pay phone to call Sierra Technical support make the game enjoyable to explore. Be sure to spend some time in the Cabaret when the comedian is on stage
(although the Can-Can girls can be funny also). The puzzles, although difficult, are not impossible.
Leisure Suit Larry in the Land of the Lounge Lizards has a disk-based copyprotection scheme, so hard-drive users can forget transferring it into their Games directories. The disk, as it comes from Sierra, does not contain Workbench, so you have to boot off another disk. Leisure Suit Larry in the Land of the Lounge Lizards docs, however, work correctly in expanded memory.
Overall, 1 found Leisure Suit Larry in the Land of the Lounge Lizards to be an enjoyable and challenging game, it is polished and free from those bothersome bugs that many companies just don't seem concerned enough to swat.
Although the contents make it a limited-audience game (What game isn't?), 1 think those who are not offended by the game's premise will get hours of entertainment from it.
Now, if you will excuse me, 1 have to go to the dry cleaner's to pick up my leisure suit.
• AC* When 1 wrote "Basic Text" for a recent issue of Amazing
Computing (AC V
2. 11), I didn't really expect to write a follow' up, but it now'
seems appropriate. In that article, I discussed a number of
different ways to display text on the screen, but I didn't
package them. That's what I'll do now.
More Basic Text What I mean by packaging is making the routines convenient and easy to use. For example, if you want to use italics, you usually need to issue the command: CALL SetSoftStyIe &(WI N D OW(8) ,4,255) However, isn't the following "packaged" command much better?
SetStyle italics You don't need to read "Basic Text" to use the information in this article, but a minimal understanding of the following operating system routines will help: Text& (display a character string), Move& (position text cursor to a specific pixel), SetSoftStyleic (set italics, bold, etc.), and SctDrMd& (set JAM1, JAM2, etc.). While I'm at it, I'll also provide some packaging for easy access to all disk fonts.
The Text Subprograms Type in Listings 1 and U2 and save them in ASCII format, so they can be Merged into other programs. To do this, use the immediate command SAVE "name,A." The ",A" is important, so don't forget it! If you forget the ",A" you'll get an error when you try to use the subprograms. If this happens, just LOAD and re-SAVE with the ",A." (Name the listings 'TextVars" and 'Text," respectively.)
By Bryan Catley Listing 1 (TextVars) is a set of variables (used by both the Text and Fonts subprograms) which are pre-set to specific values, allowing you to say "italics" rather than "4" to produce italics. They should be Merged into your program at its beginning, or wherever you define your other variables. (You may want to leave the comments out when you enter this listing they're only there for easy identification.)
Listing 2 (Text) is a collection of four subprograms allowing you to do just about anything with text! The subprograms are SetStyle, SetMode, At, and Display. Let's take a look at each.
SetStyle uses the SotSoftStyle& operating system routine and allows you to change your text to bold, italics, underline, or any combination thereof.
Valid styles are "standard," "underline," "bold," and "italics." Combinations may be achieved by "adding" the desired styles. Examples: SetStyle bo'd SetStyle standard SetStyle bo'd+ltaiics SetStyle standard+underllne SetMode uses the SctDrMd& operating system routine and allows you to change the display mode. Valid modes are "JAM1," "JAM2," "complement," and "inversvid." (See the original "Basic Text" article for an in- depth discussion of these modes.)
Once again, these modes may be combined. Examples: SetMode JAM1 SetMode JAM2+complement Setmode inversvid At uses the Move& operating system routine and allows you to position text at any pixel location on the screen.
Don't forget, when you use Move, you must specify the x and y left edge coordinates of the text string's baseline. (With the standard display format, this is the seventh pixel from the top of the character.) This can become very confusing, especially w'hen you are using disk-based fonts, so At takes care of it all for you; just specify the coordinates of the upper left-hand corner of the first character!
Examples: At 35.47 At 122,150 At 305.180 At x%.y%+5 Note: Because of the method At uses to compensate for the baseline, vertical positioning may be off by one pixel in either direction. In most cases, this discrepancy will not cause a problem, but if it does, just adjust the y coordinate accordingly.
Display uses the Text& operating system routine and displays a given character string at the position set by a previous At command. Text& is preferable to Print when using any print style other than standard. It is also faster than Print. Examples: Display "Hello. World!"
Display TextStringS Display "You "+xS+" person!"
Remember, Display is not a Print command! You cannot use semicolons. Every Display must be preceded by an At command. There is no automatic data conversion. In other words, you must format the string yourself before Displaying it (although you may use the "+" to concatenate several strings).
When used together, the four subprograms give you direct, easy control over your text displays. They also make your programs much easier to read. Consider the following combination for readability: SetStylo bold+ltallcs: At 30,50 Display ‘Good morning!'
There are two other things to remember. In order to use these subprograms, you must have a "graphics.bmap" file in the current directory (one is already in the BasicDemos drawer on your Amiga- BASIC disk), and you must issue a Library "graphics.library" statement before you use any subprograms.
The Font Subprograms The default font, "topaz," is automatically available every time you use your Amiga. However, a number of other fonts stored on the Workbench disk arc readily available. Let's take a look at three subprograms which make these fonts really easy to use. All you need to know is the name and height of the font you wish to use!
Type in Listings 3 and 4 and save them in ASCII format. Name them "FontVars" and "Fonts." Listing 3 (FontVars) contains variables and function declarations required by the subprograms in Listing 4 (Fonts).
Listing 3 also contains a list of all available fonts, their heights, and the location of their baselines. For convenience, this list is reproduced here: Font Heights Baseline at diamond 12, 20 +9, +14 emerald 17, 20 +12, +14 garnet 9, 16 +7, +11 opal 9, 12 +7, +9 ruby 8, 12, 15 +6, +9, +11 sapphire 14, 19 +11, +15 topaz 8, 9, 11 +6, +6, +8 Notes: Topaz8 and topaz.9 are system-based and do not require loading from disk.
These two fonts are also the default fonts, depending on whether the Amiga is in 80 or 60 column mode, respectively.
Remember, don't worry about the baseline because the At subprogram looks after it for you.
While you may use "TextVars" and 'Text" alone, you will probably not use "FontVars" and "Fonts" without the other two!
The text subprograms require a "graphics.bmap" and a LIBRARY "graphics.library" statement, so the font subprograms require a "diskfont.bmap"v and a LIBRARY "diskfont.library" statement. Unfortunately, a "diskfont.bmap" does not come with AmigaBASIC. If you have not acquired one from the Public Domain, enter Listing 6, save it, and run it. This listing creates a "diskfont.bmap" file in the "BasicDemos" drawer on your AmigaBASIC disk.
The three subprograms in "Fonts" are LoadFont, UseFont, and EndFont.
LoadFont loads the named font from disk (if necessary). A pointer to the font structure in memory is returned and is required by the other two subprograms. Note: LoadFont docs not actually cause the named font to be used. Examples: LoadFont "Ruby",12,RubyPtr& LoadFont FontName$ .FontHelght%,FontPtr& The first two parameters, font name and height, must be completed by the user prior to the call. "LoadFont" returns the font structure pointer in the third parameter.
UseFont specifies which font (the font's structure is pointed to by the single parameter) will be used in all subsequent Print and Display statements. Example: UseFont FontPtr& The value in FontPtr& is set by an earlier call to "LoadFont." Note: "UseFont" establishes the valid styles for the new font and automatically makes them known to "SetStyle."
EndFont specifies which font is unavailable for further use. Example: EndFont FontPfr& The value in FontPtr& is set by an earlier call to "LoadFont," Using the Font Subprograms There are two ways of using the three font subprograms. You can load all the fonts to be used during program initialization, issue "UseFont" statements as required, and close all fonts at program termination. You can also issue "LoadFont," "UseFont," and "EndFont" statement combinations as each font is required. Generally speaking, the first method is the best because it does not delay the (continued) 5 Reasons Why
You’re Ready For MacroModem
* ** + and 'Fonts' collection of ' *** sub-progrants.
Star.dard“0; underline1! :bo!d=2: itallcs=4 JAM1=Q:JAM2-1:complement-2:inversvid=4 ValidStyles%“255:FontHeight£-8 CHDIR":3asi cDemos” LIBRARY "graphics.library" CHDIR
1. You love telecom, but not memorization, Macro.Vlodem's user-
written macro libraries and companion help screens (36 macros
per file) store log on procedures, remote system menus and
2. You've always wanted to use the mouse after you're connected,
too. Write macros that mimic remote system commands and menus,
then execute them with the mouse or keyboard.
3. You like automation, but not script languages. Our macros use
norma! Commands from MacroModem, remote systems, and AmigaDOS,
as well as text and control codes. A multi-windowed
MacroEditor is included. No new programming language to learn,
A. You want to do other things while downloading a file.
MacroModem ts truly multi-tasking, with a NewCLI available anytime, even during file transfers. And MacroModem s error checking won't stop downloads unless you tell it to.
5, Of course MacroModem includes standard telecom software features, too. Teach MacroModem what you want, and it will remember for you.
MacroModem - the better way to do telecommunications, Stti.VS Kent Engineering & Design
P. O. Bov 178. Mottville, NY 1311b (3L5) 685-8237 program's
execution each time a new font is needed.
However, it does require more memory. The choice is yours!
Putting It All Together Examples of all subprograms (Text and Font) are included in Listing 5 which, when entered and run, show some things you can do with plain old Amiga text! You may be surprised. Type it in, merging the files you saved earlier as instructed in the listing.
To merge one program with another, type the immediate command Merge "name." Program "name" is read from disk and appended to the current program. If you get an error message, you probably forgot to save the files in ASCII format. Reload each and save it again; this time with the ",A" suffix. Your program's text output need not look dull and ordinary any more!
Listing 1 - TextVars 'More Basic Text' by Bryan D. Catley Listing i2 - Text 'More 3asic Text' by Bryan D. Catley
* ** These sub-programs are used * * *
* ** in conjunction with the set ***
* ** of 'TextVar' variables. ** SUB SetStyle (style) STATIC
SHARED Val idStyles% style%=style CALLSetSoftStyleS
(WINDCW(8),style*,ValldStyles%) END SUB SUB SetKode (mode)
STATIC podei-mode CALL SetDrMds (WINDCW(8),modes) END SUB SUB
At (x%,y%l STATIC SHARED FontHeightS
xs=x%:yS=y%+INT(FontHeightS*,75) CALL Move4(WINDOW(8),xs,yi)
,SADD(TxtS) END SUB , LEN (TxtS) ) ' Listing 13 - FontVars '
'More Basic Text' by Bryan
D. Catley ’ *** These variables, library, *** ’ »** and declare
statements are *¦* ’ *** used in conjunction with ' *** the
'Fonts' collection of *** 1 subprograms.
Fonts distributed with the Amiga are: ' Font Heights Baseline at ' diamond 12, 20 +9, +14 ' emerald 17, 20 +12, +14 ' garnet 9, 16
- 7, +11 ' opal 9, 12 + 7, +9 ' ruby 8, 12, 15 + 6, +9, +11 '
sapphire 14, 19 +11, +15 ' topaz 8, 9, 11 + 6, +6, +8 ' Noto:
Topaz 8 and 8 are system-based
* and do not require leading from disk.
DECLARE FUNCTION CpenFonti LIBRARY DECLARE FUNCTION OpenDiskFont£ LIBRARY DECLARE FUNCTION AstcSoftStyles LIBRARY DIM textAttri(1) CHDIR": BasicDerr.es" LIBRAKY"diskfont.library" CHDIR":" Listing 14 - Fonts 'More Basic Text' by Bryan D. Catley NEW FROM ROBOT READERS A Powerful New Way To Learn To Read
* ** These sub-programs are used ***
* ** in conjunction with the set *** '* * of "FontVars" and
* ** "TextVars” variables. **’ SU3 LoadFont
(FontNameS,FontHelght*,FontPtr*) STATIC SHARED FontHeight£,
textAtt ri () FontHeight£=FontHeight%
textAttri(1)=FontHeight£ *65536* IF FontNair.e$ ""topaz" AND
(FontHeight%-8 OR FonLHelght%=9) THEN FontPtr£=OpenFontS
IVARPTR (textAttr* (0))) ELSE FontPtrs=OpenDiskFonti (VARPTR
(textAttr* (0) )) END IF END SUB SUB UseFont (FontPtrS) STATIC
SHARED ValidStylesI CALL SetFont*(WINDOW(B),FontPtr*)
ValidStyles%“AskSoftStyle*(WINDOW(B)) END SUB SUB EndFont
(FontPtr*) STATIC CALL CloseFont* (FontPtr*) END SUB Listing 15
- Text and Font Demonstration 'More Basic Text' by Bryan D.
Catley A demonstration of the "Text" and "Fonts" sub-programs
described in the accompanying article.
Now issue the two immediate commands: MERGE "TextVars" MERGE “FontVars" Now continue with the main program... SCREEN 2, 640, 200, 3,2 :WINDOW 2, , , 1 6, 2 PALETTE 0, .4, ,l,0:Brw-0 PALETTE 1,0,0,1 :Blu-l PALETTE 2, 0,0,0:Blk=2 PALETTE 3,1,0,1:Mag-3 PALETTE 4,1,1,0:Yel-4 PALETTE 5,0,l,0:Grn-S PALETTE 6, l,0,0:Red-6 PALETTE 7, .5,.5,.5:Gra»7 COLOR , Gra :CLS LINE (144,0)- (4 96,1), Red, bf LINE (136,2) -(504,3),Blu,bf LINE (128, 4)-(512,5), Yel,bf LINE (120, 6) - (520, 7), Grn, bf LINE (120, 8) - (520, 9), Grn, bf LINE (12B, 10)- (512, 11), Yel,bf LINE (13 6, 12)-(504, 13), Blu, bf LINE (14 4,
14)- (496, 15), Red,bf Txt$ -"HOW'S THIS FOR A HEADING?"
SetMode JAM1; Set Style italics COLOR B1k:At 216, 4:Display TxtS COLOR Mag:At 218, 4:Display TxtS TxtS-"C lick to Quit SetMode JAM1 :SetStyle bold+italics COLOR Yel:At 232,184 :Dlsplay TxtS COLOR Red:At 234,185:DlspIay TxtS ‘If e UgCy (Duelling ROBOT READERS Are Designed to Teach Children To Read In An Effective, Positive Way Never Before Possible ALSO AVAILABLE
* LITTLE RED HEN SUGGESTED RETAIL: $ 29.95 each for the Amiga 512k
Huntington Beach, CA 92615
(714) 963-4534 SetMode JAM1 :SetStyle standard row%“28:n-0 FOR
columni“56 TO 74 STEP 3 COLOR n:At column%,rcw%:Dlsplay
TxtS n=n+l:rowk=row%+l NEXT TxtS-"Shadowed Text" SetMode
JAK1: SetStyle bold COLOR Blk:At 216, 28:Display TxtS+" 1"
COLOR Grn:At 218,29:Display TxtS+" 1" COLOR Blu:At
232,44:Display TxtS+" 2" COLOR B1k:At 235, 45 :Display
TxtS+" 2" SetMode JAK2+inversvid:SetStyle italics COLOR
Mag, Brw: At 410,32 Display" Note inversed Colors "
LoadFont "diamond",20,diamond20ptr£ UseFont diamond20ptrs
SetMode JAM1:SetStyle bold COLOR Yel:At 40,64:Display"B i g
and 9 o 1 d" LoadFont"topaz",8,topazBptr* UseFont
topazSptr* SetStyle standard COLOR RedrAt 72, 68 : Display
"St riking effect! " LoadFont "sapphire", 14, sapl4ptr£
UseFont sap!4ptr£ SetStyle italics COLOR 31k:At
240,80:Display"5apphire 14 Italics" SetStyle standard COLOR
Red:At 396, 56TDisplay"Sapphire 14 Standard" TxtS-"STROBE
Style" (continued) New Products for All Aaf GAS Deluxe MIDI
interface GOMF!
• imply Ihf BEST luii-faahjrtd MIDI Inlarfaea tvuiabi* for tha
AmiOA iOO IQOO. Fully eompatbl* wwi
• 11 program* Lhil uia itriai midi iitndard oulpul, ONLY ilia
DELUXE midi INTERFACE offari you; SERIAL PORT R*»*-|hry. MIDI
optimum configuration for anyona with mora than on* lynth or
olhar MIDI davlca No THRU on your iynth(i)? No profrlamf Simply
flip a twitch on tha Dtiuxa MIDI Intarfaca. And avoid co»tyTHRU
boxaii include* B fool cible, 1 yaar warrant Plaaia Specify
modal SOO 1000 ... jgg ' it i) small installs
with just a double click on an icon., a welcome utility tor
Amiga users.1
- INFO magaiine Without a doubt, the most important program this
month Is GOMF.
All Amiga users are sick and tired of losing running programs and data to the dreaded Guru, and anything lhat can stop this terrible syndrome deserves a round o( applause!1 ' So if Gurus are getting to you. Add GOMF to your Amiga environment and you can start saying goodbye to the GURU too!'
- Commodore magaiine TTL Hi-res Monitor Adapter For tha Amiga
100 1000 2000. Plug* Into AGBI port for UlTRACAisp rilohar-fraa
high ratolutlon monochroma vldao output. Parfacl for HI-AE3
ale. ANY application in ANY resolution it SHARPER and CLEARER
wtth fr * TTL Hufii Monitor Adapter. Perfect for uia with the
low-co»t (unaar ITOOj Commodor* isai m©rwior or Monitor 10.
Include* any initaiiation initrueliofti, a d »k with a ipaci*J
Hs-Ra* worxBeneh font ard ROB port pan -thru (a 1089 AGS
monitor may b* uicd tlmuRuiaou*Y) 1 yaar warranty 80 WHO ktyotr
EYES’ (Monitor not Included) . 999 95 Light Pen
Now GOMF is even better!
Version 2.0 NOW shipping NEW FEATURES include:
- Automatic removal ol ALL errors (task held, GURU, etc.)
- Preserves low memory auto vectors.
- NUKE those pesky CANCEL requestors once and for ALL!
- Eliminate ANY task or device AT ANYTIME.
- aulo-configures for 68000 68010 68020.
- CLI and Workbench compatible.
- Extensive, easy to understand documentation only $ 39.95
Dailgned to work wifh ANY Amiga program, lha LIOHT PEN and
DRIVER aiiowt uia of both your mouta and a pro-qualify HQHT PEN
for the ultimata in precition graphic* Parfactfor PAJhTTlNQ.
Fraahand SKETCHING, CAD and virtually ALL olhar AMIGA program* Sofrware laaturai Include Single-put! Praciiion. Variable tamilivity, ZOOM mode, button loggia. AU IncHidai hXwaliSyiumr DT - 1HA high quality Two button llghlpan ACA l ORDER SRECHL Whila lupplili taiL wall alio heluda a handy PEN -HOOK lhat attaohai aailly to your monitor to hold tha AmiQA UGHTPEN whan not in uiel (500 1000 2000) li}* Atl product* art NOW SHJPPlNQl Plaaia make chaqua or money order payable to IT 120-1140 Austin Ave. Coquitlam, 6C Canada V3K 3P5 Phone 604) 939-8235 Dealer Inquiries Invited.
AM ordtri add H itiipplr.fl Ail pd;at In IJS1 Ordir by piibnl VISA, Mittwcwd. AMEk wairomi U S ordan acc IS huidHn rat.
UseFont diamond20ptrs SetStyle bold COLOR 31k :At 245, 105 :Di splay "More Shadows" SetStyle standard COLOR Grn:At 248, 105 :Display"More Shadows" COLOR 31k:At 390,125:Displ3y"...and still morei" COLOR Yel:At 387, 124 :Dispiay", .. and still more!- LoadFor.t "ruby", 12, rubyl 2ptrs UseFont rubyl2ptrt COLOR Brw:At 96, 130tDisplay “Ruby 12 point" LoadFont “emerald", 17,emerslrilTptrS UseFont emorald!7ptrs COLOR MagtAt 75,155 ;Display "Emerald 17 point" LoadFont ~opal,',12,opall2ptrt OseFont opall2ptri COLOR Grn;At 360,150tDisplay "Opal 12 point" LoadFont"garnet",9,garnetSptrs UseFont garnet9ptrs
COLOR Red:At 400, 165:Dlsplay "Garnet 9 point" COLOR BlktAt 402, 166:Dlsplay "Garnet 9 point" WHILE MOUSE (0} =0 : WEND Endront diamond20ptrs
E. ndFont sapl4ptr£ EndFont rubyl2ptrS EndFont emeraidl7ptr£
EndFont opall2ptrs EndFont garnetSptrS SetMode JAM2 LIBRARY
Immediate commands: % ' MERGE “Text" ' MERGE "Fonts" 1 Now
save the program before attempting to run it!
’ Listing »6 ~ diskfont.bmap maker ’ 'More Basic Text' by Bryan D. Catley ' This program creates a diskfont.bmap ' file in the BasicDemos drawer of the ’ current disk. The BasicDemos drawer must ’ already exist.
PRTNT'diskfont.bmap maker starting" x$ “"OpenDlskFont"+CHR$ (0) xWS+CHRS (255) rCHRS (226) +CHRS (9) +CHRS (0) xS“xS+"AvailFonts"-K!HR5 (0) xS=x$ +CKR?(255)+CKR5(220)+CHRS(9)+CKRS(1)+CHR$ (2J+CHRS(0) OPEN"BasicDemos diskfont.bmap" FOR OUTPUT AS 1 PRINT !,xS; CLOSE 1 PRINT"diskfont.bmap maker ending" END
- AC- AMAZING R E V I Two New products from Microbotics: The M501
memory expansion and the MultiFunction board By John Foust
Microbotics has two new Amiga products the M501 memory expan
sion for the Amiga 500 and a multifunction board for the
Starboard II memory expansion.
The Amiga 500 has a small harbor on the underside. Commodore sells a memory expansion for this slot, model number A501. This board includes a battery-backed clock and an additional 512K of memory. It increases the total system memory of the Amiga 500 to one megabyte, equally divided between graphics (CHIP) and expansion (FAST) memory. (Programs are free to use CHIP memory, too.)
Several companies have produced memory expansions comparable to the Commodore A501 board. They compete against the Commodore board in terms of price. If you are buying an Amiga 500 system, you can save money by buying a third-party memory expansion. Third-party boards are designed to be identical to the Commodore board.
The M501, like the Commodore board, is shaped like a wedge of cheese. The harbor on the underside of the Amiga 500 is also this shape. The board rests on two rails inside the harbor.
Installing the M501 is fairly easy if you aren't scared by computer hardware. I feel comfortable opening a computer and mating a card edge connector, but the experience may be daunting for novices. I am sure any Amiga dealer will perform this installation if you are wary of doing it yourself.
Some difficulties are bound to crop up in mating the M50I with the Amiga. I had more trouble installing a Commodore A501 board than the Microbotics board, but this only proves there are manufacturing differences that cannot be avoided. Small differences in tolerance between all the connecting parts of the memory boards and the Amiga 500 require that some memory boards be inserted with different amounts of pressure.
The connector on the Amiga side is made up of two rows of fairly fragile metal pins that mate with a female connector on the M501. The memory expansion mates with tracks on both side of the harbor, and slides into position without much play. The manual is very simple only a page of instructions. It recommends lining up the solder dots with the pins on the mating connector. This is good advice.
The same Okidata clock chip is used in the M501, the Commodore memory expansion, and on the Amiga 2000 motherboard. According to several engineers who have worked with this dock chip, it has some properties that may make it act irregularly in the future. The chip may be overly sensitive to the voltages supplied by the backup battery.
This problem, if it surfaces, will be endemic to all 100 percent compatible Amiga 500 internal harbor memory expansions (as well as the Amiga
2000) . Only time will tell, Microbotics reports no unusual
problems with the M501.
The M501 board has a list price of
Faster Floating Point The Microbotics Starboard II is one of the most popular memory expansions for the Amiga 1000. An interesting part of its design is a connector on the main circuit board that can accept a daughter circuit board. This option allows for expansion within the expansion.
Microbotics planned at least two daughter boards. The first, a multifunction board, is now shipping; the second is a SCSI interface for adding SCSI devices, such as hard disks.
According to Microbotics, the SCSI board should be out by the time you read this article.
The MultiFunction board has a battery-backed clock, a hardware RAM disk, parity checking, and a socket for a coprocessor chip that speeds up floating point mathematics.
To install the MultiFunction board, the Starboard must be removed from your Amiga, along with the cover. Depending on when your Starboard was made, you may be forced to change a chip on the board. The MultiFunction board comes with this replacement chip. Much like the installation of the M501 board, this procedure requires a certain fearlessness of hardware, as well as a small screwdriver. Installing the MultiFunction board presents a greater potential for damage (as (continual) APL.68000 $ 99 A HIGHLY OPTIMIZED ASSEMBLER BASED APL INTERPRETER FOR FAST AND POWERFUL PROGRAMS.
Older direct lor S99 + S7 ihipping.SIQ Carwcta VISA MC AMEX + 4% NJ re, + 6% laiei tan.
P. O Box 248 Westwood. N .J. 076 75 (2011 666-6011 compared to
the M501) because the memory chips and circuit boards are
completely exposed during the operation. A little static
electricity can lead to a several hundred dollar mistake.
The MultiFunction board comes with software to set the clock. Both CLI and Workbench versions are supplied.
The CLI version can be added to your startup-sequence file to set the date each time your computer boots. The Workbench version is very simple to use.
Sticky Stuff The Sticky Disk is a hardware-supported RAM disk. The entire two megabytes in the Starboard become a RAM disk that is not part of the Amiga's memory space, allowing the Sticky Disk to survive all crashes and warm reboots of the system. (With some software-based RAM disks, some software crashes disrupt the data in the RAM disk and all the data is lost.)
The Sticky Disk is attractive to software developers. Most programmers now use the recoverable RAM disk as part of their development tools. With it, they can compile, edit, and test much faster than a floppy or hard disk based system. The entire Starboard must be devoted to the Sticky Disk; you cannot create a one megabyte Sticky and use the other megabyte for programs.
Sticky Memory is the name of the parity checking on the MultiFunction board. Parity checking is a way of detecting errors in memory chips. For every byte of memory, an extra bit is kept that remembers whether there was an odd or even number of bits in each byte. When this byte is read, the parity (odd or even) is checked. If the bit does not agree with the number of bits in the byte, then an error has been detected. To add parity checking to the Starboard, more memory chips (not supplied with the MultiFunction card) must be added.
Parity checking cannot detect all errors. If two bits change, an error may go undetected. There are also many other chips on a memory board; if these fail, the problem with the board will not be detected.
Parity checking is not error correction; it is only error detection. In other words, you get a warning in this case, a recoverable Guru that the memory is corrupt, and that you shouldn't trust any data in that memory. The IBM PC has parity checking. When an error is detected, the machine just hangs, with an error message on the screen.
Without parity checking, you would simply notice programs randomly crash with the memory board connected. Once this happened, you might determine that the memory board is malfunctioning and send it out for repair. I am not convinced of the ultimate utility of parity checking on the Amiga. Failing memory is a serious system problem which would certainly manifest soon enough.
The MultiFunction card also comes with its own version of software-based recoverable RAM disk, called JDDisk.
This RAM disk can survive most warm boots and crashes, but is not as robust as the Sticky Disk. It can use only a fixed portion of the Starboard memory space.
Floating Point The MultiFunction board has a socket for a floating point coprocessor. This chip is manufactured by Motorola, the same company that made the 68000 microprocessor in your Amiga. A floating point chip increases the speed of floating point math operations in programs that know how to access the chip.
(Floating point operations are calculations involving real numbers. Most computer math operations are done with integer math numbers with no fractional part after the decimal point.
An example of a floating point number is 45.2315. Floating point math operations include functions like square roots and trigonometric functions like sines and cosines.)
In this design, the 68881 is treated as a peripheral device, not as a true coprocessor. The 68881 can only function as a true coprocessor when coupled with a 68020 microprocessor.
AmigaDOS 1.3 promises increased support for IEEE floating point libraries. The AmigaDOS 1.3 disk will have two IEEE floating point libraries: one in software like the present library and one that accesses a Microbotics- style 68881. A special file in the expansion drawer will tell the system which one to use.
You must install new floating point libraries on your Workbench to use the 68881. These libraries are supplied on the MultiFunction disk, along with a "read me" file that describes their installation. Microbotics has permission to distribute beta versions of the new libraries that will come with AmigaDOS 1.3. How fast is the 68881? A SYSOP on the BIX computer network carried out the Savage floating point benchmark using the Microbotics 68881 board.
Willy Langeveld, moderator of amiga.user on BIX, showed the impressive increases in floating point operations possible with the Microbotics board.
Using the software implementation of the IEEE floating point format with a FORTRAN version of the Savage benchmark written in ABSoft FORTRAN 2.2, it took 81 seconds to complete. (The C version was even slower.) Using the Starboard 68881 board and the IEEE library that uses this chip, with a version of Savage in Manx C version 3.4b, it took 1.57 seconds. If you write applications in C that use floating point, you can potentially access similar speed increases, depending on the program.
Check out our new price and features for Multi-Forth™ 'H'KCvcl'ICc'K Version 1.2 Multi-Forth increases the power, speed and flexibility of this already successful programming language and development tool. Some of the new features include:
* Local Multi-Tasking
• Sound Drivers
* Complete Set of Include Files
• New AmigaDos 1.2 Calls ¦ Enhanced Kernel if you haven t tried
Multi-Forth you may not have yet unleashed the full power of
your Amiga.
Call our toll free number for a technical data sheet or check out our online services on CompuServe at CO FORTH.
Now only $ 89.00 Cl€ativ€ f-KC.
4701 Randolph Rd, Suite 12 Rockville, MD 20852 301-984-0262 in MD l-SOO-FORTH-OK (367-8465) What about existing software? Currently, Microbotics is not aware of any commercial software that is enhanced by the 68881 board. Several software companies are reportedly preparing versions of their programs to work with the Microbotics 68881 card. So far, Microbotics has been contacted by Aegis Development, which is considering an enhanced version of Aegis Draw Plus; Byte by Byte, which is considering a new version of Sculpt 3D; and Electronic Arts, for an unknown product.
If you are interested in writing your own programs that use the 68881, the MultiFunction card comes with a disk of example code written in C and assembler. The examples and floating point libraries were written by Amiga wizard Dale Luck, Manx C author Jim Coodnow, and CLIMate co-author Dave Milligan.
The MultiFunction board lists for S99.95. With the 68881 supplied by Microbotics, the board is S379.
Clearly, not many people need the 68881, so the MultiFunction board is mainly a (somewhat expensive) clock and an interesting alternative to the recoverable RAM disk.
You can buy the MC68881RC-12A chip from an alternative source, such as an electronics supply house. A rough price would be in the S250 range.
Microbotics warns that some offers for low-cost 68881 chips may lead to trouble. Preliminary versions of the chip have a XC part number prefix.
These are early, undebugged versions of the chip. Some companies are selling these at a discount price. The official version has an MC prefix. A 12 Mhz part is also necessary, so the part number should have a "-12" on the end.
At this time, it is hard to recommend the 68881 to most people. As someone once said about jazz, "If you have to ask, you don't understand it." It might similarly be said about the 68881, "If you have to ask what it is, you probably don't need it." At this time, it doesn't enhance any existing software. If you are writing programs that use floating point, then you probably know how floating point coprocessors might help your application. At that point, your reason for buying a 68881 is a matter of weighing cost versus benefit.
• AC- AMAZING R E V I E W S The Mindlight 7 and the People Meter
By John Foust “Two unusual products for the Amiga” You may have
been first in your user group to break the two megabyte barrier
on the Amiga. Or maybe you bought a 60 megabyte hard disk when
everyone else had a 20 megger. But who has an Amiga color organ
or an Amiga stress meter?
The Mindlight 7 and the People Meter are two unusual products for the Amiga. The Mindlight is an eighties version of the sixties color organ. The People Meter purportedly measures your level of relaxation or stress.
Mindlight 7 If you spent hours playing with the PolyScope program, you will like the Mindlight. An early page in the manual warns, "If you begin to get hypnotized, wait a little while before reading on."
The Mindlight itself is a round package about five inches across and an inch wide. The package is clear plastic, so you can see the circuit board inside. On one side is a DB-9 connector for connecting the Mindlight to the second mouse port. If you have anything plugged into the side of your Amiga, you can't install the Mindlight there. (At least one other hardware manufacturer fell into this trap, too.)
If you don't have any extra memory installed, the Mindlight fits against the side of the Amiga, exposing its three thumbwheel controls to the topside of the Amiga.
When the Mindlight arrived, I went to Radio Shack and purchased a joystick extender cable for S5. It works fine, and now 1 can use the Mindlight on my Amiga 500 as well. Visual Aurals, the makers of the Mindlight, say they wall soon have their own adapter for the Amiga 500. (This Radio Shack cable is also a very cheap source of pre-wircd DB-9 connectors for making IBM AT serial cables or for replacing broken joysticks.)
The Mindlight hardware continuously and simultaneously measures five properties of the incoming sound; bass frequency, bass intensity, treble intensity, overall frequency, and overall intensity. The Mindlight software reads the incoming values and changes the screen display accordingly.
The Mindlight has a built-in microphone, as well as a 3.5 mm stereo mini-jack input. It accepts the level of audio signal commonly found on the "tape out" jack of a stereo system.
This jack is normally an RCA phono type, so you need an adapter to connect your stereo directly to the Mindlight. The microphone is very sensitive. I did not find it necessary to connect it to a stereo. The microphone picked up the sound from the speakers quite w'ell.
The three thumbwheel controls set the gain of the microphone, the overall gain, and something called "visual bias." Visual bias is the level at which a sound triggers an on screen graphic.
Essentially, it is a way to mask out ambient room noise.
Display Options Dozens of options are available for controlling the display. So many, in fact, that only the most involved Mindlight owner could ever discover them all. The range of options makes the Mindlight more like an instrument; it is potentially very interactive, It is not a passive color organ that sits in the corner.
Capturing motion in words or even still screen shots is difficult. Once adjusted to the room, the Mindlight display is constantly moving. Stars appear and dance across the screen, leaving trails that slowly fade. Dancing triangles leave solid paths. Little objects that look like Sanskrit characters appear in starbursts. All this happens in real time and in synchrony with the sound.
The dozens of options include changing the resolution of the screen display to any mode supported by the Amiga (including HAM and overscan), changing the color palette and color cycle ranges, changing the way the images fade, loading and saving preset configurations, scrolling the screen in several directions, and scrolling through the individual color bitplancs.
One mode lets you use the mouse to draw on the screen while everything else is taking place. You can load IFF pictures as backdrops, foregrounds, or the current screen itself. You can load IFF brushes and have the program move them around the screen in tune with the music. Another mode acts like a simple "pitch tracker." This mode lets you sing into the microphone, and the screen displays a chart that shows the musical note value of the current sound.
All these options obviously couldn't be included in menus. Some must be invoked with obscure keystroke combinations, such as "Enter Shift Up arrow."
I ran the Mindlight for several consecutive days on my Amiga 500. 1 set the controls for the microphone so it would do nothing if there was no sound in the room, but would be triggered by sounds as quiet as normal conversational levels. As I talked on the phone, 1 watched the Mindlight. If 1 turned on the stereo, the Mindlight "listened" to it, too.
I had several friends over during this time, and they all responded well to the Mindlight. We sat for minutes at a time, just interacting with the microphone and watching the screen.
It is entertaining to see adults singing and making funny sounds just to get colorful patterns on the screen.
With a device like a color organ, you wonder how much of the display is random. Being curious about machines, 1 wanted to find the correlation between certain types of sound and the motion on the screen. At times, the correlation was very apparent.
The objects on the screen were clearly responding to changes in frequency, and moving to one side or the other, based on the pitch of the current note.
In other cases, the motion was tied to the amplitude of the sound.
I was surprised by the apparent intelligence of the software. It would sometimes lock into the beat of a song and synchronize its movements accordingly. As soon as the beat was interrupted by a break in the song, the Mindlight stopped and radically changed its patterns.
The Mindlight would do very well in a dance club. So many dance clubs these days have projection screen televisions that flash music videos or clips from movies while the patrons dance. I think the Mindlight could be bundled with an Amiga 500 and sold to dance clubs and bars.
The Mindlight manual is just over one hundred pages long. The artwork on the disk and manual is in tune with the rest of the product very spacey, very colorful. It is dedicated to people who "like to turn the music up and the TV down." It is is quite thick, much thicker than you might imagine for such a product. It goes on and on, explaining modes with strange if you buy either product, you'll probably be the first on your block to hove it.
Imaginary names such as Mozai and Kolai, and documenting all obscure modes and keystrokes.
The Mindlight software also supports MIDI instruments. I did not test this feature, but the description of MIDI recording and playback seemed a little crude. The manual also credits Golden Hawk Technology for help on the software. My guess is that the freely distributable MIDI code supplied with the Golden Haw'k MIDI interface is incorporated into the Mindlight software.
Source code is included in C and assembly language for interfacing your own code to the Mindlight.
Background The developers of the Mindlight, Mark Adams and Dan Egolf, say they have been working on visual music products for seven years. Their first efforts were stand-alone hardware devices.
They then moved to the Commodore 64 and the Amiga. Adams is a scholar of Buckminster Fuller, and this influence shows through in the Mindlight and the TriClops game.
TriClops, a Visual Aurals public domain game, was planned as a commercial product, but Adams was busy with the Mindlight. He is also developing a three-dimensional CAD program that may be sold through Visual Aurals.
Mindlight Summary The Mindlight 7 lists for SI48. If you are into gadgets and music, I think you'll like the Mindlight. It may not be your most practical purchase, but 1 can think of a few "real-world" uses (such as a video synthesizer in a dance club). You'll have to find your own justification for buying a Mindlight. It may be difficult to explain to your spouse or friends, but I think you will enjoy it just the same.
People Meter A computer nerd, complete with lab coat, thick glasses, and pocket protector, is pictured on the cover of the People Meter package. His hair is orange and standing on end. He is wearing a blue bow tie, and on the ends of his fingers are two black bands with wires coming off them this nerd is wearing Aminetics's People Meter.
The People Meter measures your stress level. You wear two sensors on your fingertips to measure the electrical resistance between the two fingers.
(continued) This resistance is related to activity of your sweat glands. In some crude way, this resistance varies according to your emotional state. A polygraph (lie detector) usually measures sweat gland activity, along with many other bodily functions.
The People Meter hardware, which connects to the the second mouse port, is a small, white box with two knobs to control its sensitivity.
The People Meter comes with several programs on disk. One is called Moodbench. According to the manual, Moodbench was "inspired by the mood rings of the Seventies." (The manual tries desperately to be funny.)
Moodbench changes the background color of your Workbench according to your stress level. As your stress level increases, the screen grows redder.
Another program is called Inter Action. While evaluating the People Meter, I double-clicked the icon for this program and walked away while the program loaded. In another room of the house, I heard snoring. I thought to myself, "Wow, my neighbor must be snoring quite loudly, if I can hear it up here!" I walked around my apartment to find the source of the sound.
I found it in my computer room. On my Amiga 500 monitor screen was a digitized picture of a sleeping man.
There were no fingers attached to the People Meter, so the program was snoring. Once fingers were connected to the People Meter, the pictures of the person on the screen flipped in quick succession between varying states of awareness. You can replace these digitized pictures with your own IFF pictures if you like.
Three other simple programs give bar graph or simple meter displays of your stress level. Example source code is included on disk for reading the People Meter settings.
A game called Stress 'N Bake is also included on the People Meter disk. I think it was inspired by that old episode of Love Lucy where Lucy was hired at a cake factory, and the cakes start coming faster and faster, Your job is to run from floor to floor in the cake factory, carrying cakes from the conveyor belts to the truck on the ground floor. The mouse controls your movements. Mouse "play" is very fluid, making it difficult, if not downright frustrating, to get from floor to floor. Maybe this was done intentionally to increase your stress level. If your stress level increases, the
conveyor belts move faster. If you advance to the second level, the cake factory turns into a Sidecar factory.
The premise of measuring stress by measuring electrical resistance between fingers is somewhat unbelievable. It is crude at best, at least in this configuration. The sensors are bands of cloth with an embedded metal screen that makes contact with your skin. It is far easier to change the stress measurement reading by moving your fingers than by relaxing. By flexing your fingers, you increase the amount of skin in contact with the metal mesh, changing the resistance.
The manual warns against this unnecessary finger action and recommends that you don't move your People Meter hand. If you keep your hand steady, such as resting on the table, then the People Meter apparently docs react to stressful events.
ZINGISpell Check and correct your spelling as you type!
P. O. Box 890408 Houslon, TX. 77289-0408
(713) 488-2144 Credit Cards and Dealer Inquiries Welcome!
The People Meter was developed by Chris Irving, the hardware head behind the Amazing Computing internal memory upgrade (AC V2.1), The People Meter lists for $ 59.95. The Mindlight and the People Meter are both unusual devices. Their practical value may be hard to measure. One thing is certain, if you buy either one: You'll probably be the first on your block to have it.
• AC- syMvrtoyy music SYMPHONY MUSIC VIDEO continuously displays
pictures and plays music.
At the end of a selection, another picture and music piece is loaded. The music and pictures are all in IFF format so you can modify ours with your favorite Paint or Music program or use your own music and pictures and create your own MUSIC VIDEO. You can even have your MIDI synthesizer play the music.
The MUSIC VIDEO that is included is perfect for the Christmas Season. Traditional Christmas scenes and music are continuously played. Fun to listen to and watch.
Adds to the best of seasons. $ 24.95 Symphony Songs Ready to Play Music For (Defuse Music, Music Studio, Sortie A library of nearly 1,000 music masterpieces ready to play with your favorite music program. All selections arc in both IFF and MUSIC STUDIO format. Space does not allow listing all songs in each volume, however, a few titles, the number of songs, and the total playing time is given.
Complete list of songs $ 3.95. Each volume is $ 24.95 and includes the complete list.
BEATLES Part I Vol 15 (21 Pieces 40 Min) Lei It Be, Yesterday. Eleanor Rigby. When Cm 64, . . .
BEATLES Part 2 Vol 40 (15 Pieces 40 Min) Magical Mystery' Tour. Lucy in The Sky With Diamonds. Penny Lane. , . .
CLASSICAL Part I Vol 27 (18 Pieces 40 Min) Prelude 1. Moonlight Sonata 1st and 2nd Movement, . . .
CLASSICAL Part 2 Vol 34 (13 Pieces 40 Min) Sonata In C Major, Jesus Joy Of Man’s Desire,. . .
CLASSICAL Part 3 Vo! 31 (14 Pieces 35 Min) 1st Piano Concerto, Polonaise Sonata In C Major, Etude 3, . . .
CLASSICAL Part 4 (Bach) Vol 35 (22 pieces 30 Min) Two Part Invention 1. Three Part Invention 6, Prelude and Fugue 1. . . .
CLASSICAL Pari 5 (BachlClementi) Vol 46 (24 Pieces 50 Min) Choral 1, Sonata 1, Theme and 11 Variations From The 2nd Sonata, . .
BEETHOVEN, BROADWAY, & BLUES Vol 38 (15 Pieces 40 Min) 2nd Movement Of the Pathetique Sonata. Minuet In G, Fuer Elise. . . .
COUNTRY CLASSICS Pan 1 Vol 41 (15 Pieces 45 Min) Thank God I’m a Country Boy, Act Naturally,. , .
ROC'E Part I Vol 32 (19 Pieces 50 Min) AXEL F, Eye Of The Tiger, Both Sides Now'. . , .
ROCK Part 2 Vol 16 (20 Pieces 40 Min) Georgy Girl, Guantanamera, Theme From "Love Story,” Cherish. . . .
HP's GREATEST Vol 24 (15 Pieces 50 Min) Hill Street Blues Theme. Chariots Of Fire Theme.
Dynasty Theme, . . .
70’s GREATEST Vol 12 (19 Pieces 45 Min) Tie A Yellow Ribbon On The Old Oak Tree, W'e’vc Only Just Begun, . . , 60's GREATEST Vol 13 (10 Pieces 45 Min) Windy, By The Time I Get To Phoenix. Come Saturday Morning, . . , GOLD & PLATINUM HITS Vol 45 (19 Pieces 60 Min) Thriller, 99 Luft Balloons, California Girls. . . .
KENNY RODGERS HITS Vol 39 (12 Pieces 45 Min) Lady. Ruby, She Believes In Me. The Gambler.. . .
BILLY JOEL GREATEST HITS Vol 43 (17 Pieces 65 Min) Piano Man, Say Goodbye To Hollywood, Only The Good Die Young, . . .
COUNTRY CLASSICS Pan 2 Vol 42 (13 Pieces 50 Min) Ode To Billy Joe. Me and Bobby McGee, Country Rotids, . . .
TV THEMES Vol 37 (21 Pieces 35 Min) Hill Street Blues, St. Elsewhere Theme. Masterpiece Theater Theme, . , .
MOVIE THEMES Vol 19 (16 Pieces 40 Min) MASH Theme. The Rose. Can You Read My Mind (Superman). . . .
BROADWAY'S THEMES Vol 47 (25 Pieces 65 Min) The Last Supper, Dr. Doolittle, The Old Dope Peddler. . . .
CHURCH MUSIC Vol 23 (26 Piece 50 Min) Amazing Grace, What A Friend We Have in Jesus, . . .
BARBERSHOP Vol 22 (22 Pieces 45 Min) Hello Dolly, Put On a Happy Face, Hey Look Me Over, . . .
RICHARD RODGERS SONGBOOK Vol 18 (19 Pieces 40 Min) Climb Every Mountain. DO-RE-MI, The Sound Of Music. . . .
NOSTALGIA Vol 17 (22 Pieces 45 Min) Let Me Call You Sweetheart, Ain’t Misbehavin’, On The Goodship Lollipop, . . .
CHRISTMAS Vol 36 (24 pieces 50 Min) O Little Town Of Bethlehem, Let It Snow. March Of The Toys. . . .
POLKA PARTY Vol 33 (17 Pieces 40 Min) Happy Polka, Pizzacato Polka, Betty Polka, . . .
We accept CASH. CHECK. COD. VISA ant! MASTER CARD orders.
SjiEs.cn sSi itsm.
38W255 DEERPATH ROAD BATAVIA, ILLINOIS 60510 0-70 toon Shipping and handling US and Canada .. S.L01I Shipping and handling outside the US and Canada .. S5.00 COD charge ....- S2.0U Illinois residents add 6‘ i% sales tax.
Deluxe Music Construction Set is a trademark of Electronic Arts. Sonix is a trademark of Aegis. Music Studio is a trademark of Activision The AMICUS Network An Amiga Scrapbook Something has been missing from all the stories 1 have brought back from Amiga shows: Pictures! Yes, there are faces behind the names.
An Amiga scrapbook would be wonderful for connecting faces to names like Carolyn Scheppner of Commodore technical support, Fred Fish of the disk collection, the SYSOPs of the national networks and bulletin boards, and the programmers behind popular programs.
Amigaphi les revel in trivia and personal details. Photographs can be great for personal stuff. Wouldn't you like to see Leo Schwab (of many display hacks) in his cape and hat?
Joanne Dowr (SYSOP of BIX) in her wizardcss costume? David Joiner (of Microlllusions and Faery Tale Adventure) in his alien insect costume?
There are other pictorial tales to tell.
Would you tike to see old advertisements of Amiga products, such as the original prototype "black box" Amigas, or the official Amiga joystick, or Suzy Chaffee on the Joyboard (a joystick you stood on)? How about the original proposals for the Amiga, which included an Apple 11 compatible disk drive and Apple BASIC in ROM?
Oftv Hni; Dave Haynie is an engineer at Commodore West Chester.
He has been with Commodore for a long time, having worked on the design teams for the Commodore 64 and 128, and the Amiga 500 and 2000. He knows hardware and software, too. He is the author of DiskSalv and several articles for Amazing Computing. You'll also find him online, giving technical support on Usenet, CompuServe, BIX, and People Link.
Jeff Bruettc was technical consultant for television's Max Headroom show, and was largely responsible for use of the Amiga on that short-lived series. Bruette continues to use the Amiga as a powerful, low-cost video computer in his work as a freelance video graphic artist in Hollywood.
Joy Woigci is the vice- president of marketing at Mimetics, the Amiga music company (makers of SoundScape). She and her partner, Bob Hoover, run Mimetics and present many road demonstrations of Amiga sound and graphics.
Scott Peterson is president of Byte by Byte, one-time makers of the PAL and PAL Jr. Hard disk systems, and now makers of the Sculpt 3-D and Sculpt Animate modeling and animation programs.
Dale Luck is a full-time Amiga evangelist and survivor. He worked for Amiga Corporation long before Commodore came along, and still works there today. He designed large parts of the graphic software and its interface to the custom chips.
Today, he heads the Commo- dore-Amiga West Coast office and is working hard on several projects, including the next revision of the operating system, auto-boot hard disks, X- Windows, and network interfaces.
Irving Gould is Chairman of the Board and majority stockholder of Commodore Business Machines. Gould helped start the company many years ago with partner Jack Tramicl. Here he is speaking at the World of Commodore show in Toronto.
Jay Miner is the principal mind behind the Amiga custom chip set. He came to Amiga Corporation from Atari, where he masterminded the chip at the heart of the Atari
¦AC- AMAZING REVIEWS PHANTASIE J _ i_ by Kenneth E. Schaefer For those who like nothing better than going out and killing a few hundred monsters.
It had to happen sooner or later.
Someone has ported a game to the Amiga from the Atari ST. (Oops, 1 said the "A" word.) Phantasie is a fantasy role-playing game in the tradition of the Ultima series. Lovers of intricate plots and complex puzzles had best look elsewhere, but for those who like nothing better than going out and killing a few hundred monsters, Phantasie has a lot (of monsters) to offer. There are eleven cities, only 9 of which can be reached on foot (that's a subtle hint), ten dungeons, and three magic pools to discover and explore.
You start out in the town of Pelnor in the northeast corner of Gelnor. You create a party of six characters, very much like in Ultima III. The only characters that come on the disk are three elcmentals you will need later on in the game, so don't delete them!
You choose each character's race, job, and name. The computer generates all your vital statistics, such as strength and intelligence, and asks if you want to keep this new character. "Yes" adds him to the guild roster; "no" deletes him. This process continues until you decide you have enough members in the guild. (You can have as many as 6 characters in one party, plus an elemental later on, so I recommend you create at least six initially.)
Next it's time to form a party of guild members. Choose your six, and you're ready to leave the guild. Your next stop is the armory where you buy weapons. You have 1500 gold pieces to start with, since each character is given a nest egg of 250 when created.
All gold is put into a common kitty, so you don't have to remember to share the wealth. Letting the fighters spend big bucks initially to get good weapons and armor is good strategy.
Only a limited number of items is for sale initially anyway. Later, the magic users can spend some of your hard- won gold for the more expensive items. Of course, you'll be acquiring goods from your vanquished foes as well, so hardware won't be a problem for very long.
After buying equipment, save the party (via a menu selection) before starting off. If your party comes to an untimely demise, this step saves you from starting again from scratch.
Phantasie comes with a "Back-up" utility, which lets you save and restore your characters to another disk. This touch is very reminiscent of Wizardry's separate utilities disk.
Although Back-up is a separate program (you must exit Phantasie to use it; the game does not multi-task), it is a welcome feature. Back-up can only be accessed from CLI. The manual gives instructions on how to add CLI to your Phantasie disk, since it doesn't come on the disk (for some strange reason).
Now you're ready to explore and conquer. Why, there's a dungeon just outside Pelnor! That looks like a good place to start. You won't be in the dungeon very long, though, before you run into one of Phantasie's most frustrating shortcomings. Messages are often sent to you through windows opened just for that purpose. That's all well and good ... except that the length of time the text window remains open is controlled (seemingly randomly) by the program. It frequently isn't long enough to even read the message, let alone write it down (which you sometimes need to do). I tried every
conceivable method (not moving the mouse, keeping the pointer within the window, setting speed at normal or even slow, putting no extra keyboard events in the buffer) to keep those messages from just blinking by, all to no avail. So keep on your eyes on the screen. Some important stuff is going to go screaming by.
While inside the dungeons, you get a good look at the combat system. It is very similar to Ultima Ill's system, with your party at the bottom of the screen and your foes at the top, Each foe even animates when he attacks.
Some of the bobs for the monsters are highly original and funny. My favorite arc the headless zombies; the baby dragons are a close second.
When combat begins, you are presented with a pop-up menu of your options, ranging all the way from "greeting" and "bribe" to "beg for mercy," with, of course, the ever-popular "attack" in there, too. You then must choose each character's actions. Before you write this task off as tedious, you may also opt to let a character repeat the last move he made. Each character and monster then takes his turn attacking, until one side is victorious.
If all this sounds fun, you're right. There are, however, several faults 1 must mention. Perhaps the most serious and certainly the most aggravating fault is the quick-close text windows. A not-so-serious complaint is that Phanta- sie appears to be a "straight" port, with no attempt made to enhance the Atari version when they brought it over to the Amiga. The game has only 16 colors, no music during play (the intro song is so strange they could have left it out), no secondary menus, and no multi-tasking. In short, Phantasie looks and plays just like your Amiga had been transformed (some might
say crippled) into an ST. This isn't too much of a detraction, but the time it took for this game to reach the Amiga makes me wonder wrhy there are no improvements.
The graphics are certainly better than, say, Ultima III, but not as good as Bard's Tale. The combat system is more elaborate, but the spell list is smaller and simpler. The user interface combines mouse input and pop-up menu selection, giving the game an uneven, back-and-forth feel.
The only way to exit the game is to reboot your machine.
With alt these complaints (most of them nit-picky, I admit), why did I like playing the game, and keep at it until I won? Maybe I'm helplessly addicted to "hack and slash" games. Maybe Phantasie's interesting story kept me going; I was always curious to read the next scroll (which reveals the history of Gelnor and its major landmarks). Maybe it's just very playable. Whatever the reason, despite its shortcomings, I enjoyed playing Phantasie.
Those of you with more than 512K (especially you Amiga 500 and 2000 users new to our ranks ... while I'm thinking about it, welcome!) Will have problems playing Phantasie.
The bobs are scattered and the music doesn't play. This type of "not-playing-by-the-rules" is really disappointing from a company as big as SSI. But, take heart! Type in the short text file (using Ed or some other pure ASCII editor) below, copy it to ram:, and execute it from there.
(It will also work if you have a second drive.) This addition will allow you to play Phantasie with your extended memory. (Make sure that nofastmcm is in your system drawer!)
(continued) run system nofastmem assign fonts: Phankfonts stack 4000 cd Phanf: game That's ail there is to it.
As I intimated before, Phantasie lacks some of the "polish" we have become accustomed to, but it is still enjoyable and playable. Phantasie III is on its way (whatever happened to Phantasie IE?) And I certainly expect all the bugs to be worked out. In the meantime, those who love making a fantasy world a better place by killing thousands of monsters have another game to add to their evergrowing collections.
Now, in the continuing tradition of Amazing Gaming Utilities, I present the Amazing Phantasie Character Editor. Although it is a little long, it allows you to create characters at any level of "lethalness." If you just want to modify your characters so they have some extra hit points, you can do that. If you want to create characters that need fear nothing save Zeus himself, you can do that, too.
(By the way, there is no way to defeat Zeus, even if you wanted to, which you don't another free hint.)
CLEAR ,10000 CLEAR 80000S REM Amazing Phantasie Character Editor REM VI.0 by Kenneth (DirkMaster) Schaefer DIM SHARED shields?(20), armors?(20), Weapons?(SO), weaponreq(60) DIM SHARED armorreq (20), spellist? (54), graildS (25), final? (7050) LET start - 1 LET location - o LET again - 0 FOR v - start TO 2 0 READ shields?(w) NEXT v FOR x - start TO 20 READ armors?(x) NEXT x FOR y - start TO 60 READ Weapons?(y) NEXT y FOR z - start TO 60 READ weaponreq(z) NEXT Z FOR v - start TO 20 READ a rmo rreq(v) NEXT v FOR u - start TO 54 READ speilist?(u) NEXT u REH Open file on disk where characters live
and read into memory OPEN "Phant:guild.dat" FOR INPUT AS *1 FOR j - start TO 2 5 ' slots for 25 characters, including elementals guilds(j) - INPUTS(282, *1) leach slot is 282 bytes long NEXT j CLOSE 1 PRINT "Welcome to the Amazing Phantasie Character Editor!"
WHILE again - 0 PRINT "Please enter the name of the character you want to edit."
PRINT "or press return to exit" PRINT LINE INPUT itsmeS LET unaneS - UCASES(itsmeS} LET location - start ' find that character in one of the arrays LET checks - RIGHTS(quildS(location) , 12) WHILE LEFTS (checks, LEN (ur.araeS)) unaroeS AND location 25 LET location * location + 1 LET checks - RIGHTS(guildS(location) , 12) WEND IF itsmeS - "" THEN ' no name Input, must want to quit PRINT "okay. If that's the way you want to be!"
LET again - 1 ELSE IF location 0 THEN * we found the dude PRINT "I found him! He's the location; "character in your file!"
CALL Worker (location) else ' must not have round him PRINT "Huh? Who? Irm confused.
Never heard of 'em. Try again."
END IF WEND CALL CLOSEUPSHO? (guildS) 'Shields DATA Glove, Wooden Shield, Wdn Shield +1, Small Shield, Small Shield +1 CATA small shield +2, Small Shield +3, Medium shield, Med, Shield +1 DATA Med. Shield +2, Med. Shield +3, Large Shield, Lrg Shield +1 DATA Lrg Shield +2, Lrg Shield +3, Giant Shield, Gnt Shield +1 DATA Gnt Shield +2, Gnt Shield +3, God Shield DATA Clothing, Robes, Leather, Hard Leather, Ring Hail, Scale Kail, Chain Kail DATA Splint Hail, Banded Hail, Plate Mail, Cloth +1, Robes +1, Leather +1 DATA Leather +2, Ring Hail +1, Ring Hail +2, Chain Hail +1, Chain Mail +2 DATA God
Robes, God armor 'Weapons DATA Stick, Knife, Small Club, Small staff, Small mace.
Dagger, Small flail DATA Club, Mace, Small Hammer, Small axe, staff.
Short sword, Flail, Hammer DATA Pitch fork, Spear, Axe, Sword, Heavy mace. Maul, Trident, Large Spear DATA Large axe. Morning Star, Pike, Long Sword, Spetum, Bardiche, Halbred DATA Snail mace +1, Dagger +1, Small mace +2, Dagger +2, Dagger +3, Staff +1 DATA Dagger +4, Flail +1, Spear +1, Axe +1, Sword +1, Sword +2, Sword +3 DATA Large axe +1, Sword *4, Sword +5, Sword +6, Halbred +1, Sword + 7, Halbred +2 DATA Halbred +3, Sword +10, Halbred +4, Halbred +5, Halbred +6, Halbred +7 DATA God knife, God mace, God axe, God sword 'Weapons - required stat's (Strength * 2 + Dexterity) DATA 2, 4, 6, 8,
10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 36 DATA 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 2, 4.
6, 8, 10, 12, 14, 16 DATA 18, 20, 22, 24. 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52 DATA 54, 5 8, 5B, 60 'Armor - required stat (strength) DATA 2, 4, 6, 8, 10, 12, 14, 16, IB, 20, 0, 0, 2, 4, 6, 8, 10, 12, 14, 16 'Spells DATA Healing 1, Healing 2, Healing 3, Healing 4, FireFlash 1, FireFlash 2 DATA FireFlash 3, FireFlash 4, Quickness 1, Quickness 2, Quickness 3, Quickness 4 DATA Strength 1, Strength 2, Strength 3, Strength 4, Protection 1, Protection 2 DATA Protection 3, Protection 4, Confusion 1, Confusion 2, Confusion 3 DATA Confusion 4, Weakness 1, Weakness 2, Weakness 3,
Weakness 4, Binding 1 DATA 3inding 2, Binding 3, Binding 4, MindBlast 1, MindBlast 2, Kind31ast 3 DATA Hind31ast 4, FlaneBolt 1, FlameBolt 2, FlameBolt 3, FlameBolt 1, Charm DATA Sleep, Teleportation, Resurrection, Ninja 2, Fear, Dissolve DATA Sura. Elemental, Dispell Undead, Ninja 1, Awaken, Monster Eval, DATA Vision, Transportation END SUB Worker(location) STATIC LET start - 1 Strength; PRINT PRINT "Please input new strength" INPUT "values between 1 and 255 ",stren IF stren 255 OR stren 1 THEN GOTO Strength LET testS-CHRS(0)+CHRS(stren) KIDS(guilds(location),I,2)-testS Intelligence:
PRINT INPUT "Now enter new Intelligence ", intell IF intell 255 OR intell 1 THEN GOTO Intelligence LET test$ -CHR$ (0)+CHRS(intell) MIDS(guild?(location), 3, 2)-tests Dexterity: PRINT INPUT "Now for the Dexterity ", Dex IF Dex 255 OR Dex 1 THEN GOTO Dexterity LET testS-CHRS(0)+CHR5(Dex) MIDS(guild?(location),5,2)-tests Constitution: PRINT INPUT "next is constitution ", con IF con 255 OR con 1 THEN GOTO ConstitutIcn LET testS-CHRS(0)+ CHR5(con) MIDS(guilds(location),7, 2)-tests Charisma: PRINT INPUT "now for charisma ", char IF char 2 55 OR char 1 THEN GOTO Charisma LET
testS-CHRS(0)+CHRS(char) MTDS(guilds(location), 9, 2)-tests Luck r PRINT INPUT "and finally luck ", luc IF luc 255 OR luc 1 THEN GOTO Luck LET testS-CHRS 0)+CKRS (luc) MIDS(guilds(location),11,2)-testS PRINT PRINT "Now for something completely different!"
PRINT "Magic points and Hit points, with a maximum of 255 each” MagicPoints: PRINT INPUT "Input magic points ", mp IF mp 255 OR rap 1 THEN GOTO MagicPoints LET testS-CHRS(0)+CHRS(mp) MIDS(guilds(location),17,2)-test5 MID5(gulldS(location), 19,2)-testS HitPoints: PRINT INPUT "and how about those hit points ", hp IF hp 255 OR hp 1 THEN GOTO HitPoints LET test$ -CHR$ (0)+CHRS(hp) MIDS(guilds(location) ,21,2)-tests MIDS(guildS(location),23,2)-te3tS PRINT PRINT "Now that we have all that out of the way..." PRINT "How about setting those attributes?"
PRINT "These values can also go to 255" Attack; PRINT INPUT "First there is attack ", att IF att 2 55 OR att 1 THEN GOTO Attack LET testS-CHRS(01+CHRS(att) MIDS(guildS(location),31,2)-testS Spot: GOTO PickWeapon PRINT END IF INPUT 'next is spot items ", sp LET testS - CHRS(0) + CHRS(weap + 40) IF sp 255 OR sp 1 THEN GOTO Spot KIDS(guilds(location),229,2) - test?
LET testS-CHRS(0)+CHRS(sp) MIDS (guilds(location), 87, 2) - test$ MID5(guilds(location),37,2)~test$ Parry: PickArnor: PRINT PRINT PRINT "Now how about some armor?"
INPUT “now for the parry ability "f par FOR x - start TO 20 IF par 255 OR par 1 THEN GOTO Parry PRINT x ;armor3$ (x) , LET test$ -CHR$ (Q)+CHRS(par) NEXT x MIDS(guild$ (location) ,22,2)-tost$ PRINT Disarm: PRINT INPUT "which piece of armor do you want ", armr IF stren armorreq THEN PRINT "sorry, but you're not strong INPUT "next is Disarm Traps ", dis enough to use that" IF dis 255 OR dis 1 THEN GOTO Disarm GOTO PickArmor LET testS-CHHS (0) +CHRS (dis) END IF MIDS(guilds(location),35,2)-test $ IF armr 20 OR armr 1 THEN Findltem: PRINT "you can only pick from 1 to 20" GOTO PickArmor
PRINT END IF INPUT “now for Find Item ", find LET test? - CHRS(0) 4 CHRS(armr + 20) IF find 255 OR find 1 THEN GOTO Findltem KIDS(guilds(location),231, 2) - testS LET testS-CHRS(0)+CHR5(find) KIDS(guildS(location),85, 2) - tests PlckShleld: KIDS(guildS[location),35,2)-tests PickLock: PRINT PRINT PRINT "and finally, how about a shield?"
INPUT “how about that Pick Lock ", pick FOR y - start TO 20 IF pick 255 OR pick 2 THEN GOTO PickLock PRINT y;shieldsS(y), LET testS-CHRS(0)+CHRS(pick) NEXT y PRINT MID5(guilds(location),45,2)-testS Listen: INPUT "please pick a shield ", shld IF shld stren THEN PRINT PRINT "sorry, you're not strong enough INPUT "next is the all important Listen ", lis to carry that shield" IF lis 255 OR lis 1 THEN GOTO Listen GOTO PlckShleld LET testS-CHRS(0)+CHRS(lis) END IF MIDS (guildS (location), 4 I, 2) - tests IF shld 20 OR shld 1 THEN Swim: PRINT "Only what ya 3ee. Buddy!"
GOTO PickShieLd PRINT END IF INPUT "finally, there is Swim ", sw LET testS - CHRS(0) * CHRS(Shld) IF sw 25 5 OR sw 1 THEN GOTO Swim MIDS(guilds(location),233, 2) - tests LET testS-CHRS(0)+CHRS(swi MIDS(guilds(location),83, 2) - tests KIDS(guiIdS(location),4 9,2)-testS PRINT "Gold in bank has a ceiling of 65535" MagicSelect: LET again - 0 GIB: PRINT PRINT PRINT "Lastly, but not leastly, INPUT "How much gold do you have in the bank ", gold we got den wonerful spells!"
IF gold 6553 54 OR gold I THEN GOTO GIB PRINT “If there are any limits here.
LET high.byte-INT(gold 256) I haven't found 'em!"
LET low.byte-gold-(high.byte"256) PRINT "Have fun! Don't make It boring."
LET testS-CHRS high.byte)4CHRS(low.byte) WHILE again - 0 MIDSiguildS(location),260,4) - tests FOR u - start TO 54 PRINT U;spellistS(u), PRINT "Now, how about that Experience level?"
NEXT U PRINT EXPERIENCE: INPUT ;"Which one do you want, PRINT return to end *; newspell PRINT "I'm keeping it within reason PRINT so that you can still have fun" IF newspell - 0 THEN INPUT “what is your experience level ", exper LET again - 1 IF exper 10000004 OR exper 1 THEN GOTO EXPERIENCE END IF LET high.byte - INTCexper 655354) IF newspell 54 THEN GOTO MagicSelect LET mid.byte - INT (exper-(high.byte *655354)) 256) LET tests - CHRS(0) + CHRS(start) LET low.byte - exper-((high.bytc ¦655354)+(mid,byte*256)) KIDSIguildSdocation), ((newspell * 2) * 95),2} - LET testS - CHRS(0) +
CHR5(high.byte) + WEND CftRS (mid.byte) + CHRS(low.byte) END SUB MID$ (guildS(location) ,267, 8) - testS SUB CLOSEUPSHO? (guildS) STATIC WIDTH 76, 19 PRINT OPEN "Phant:guild.dat" FOR OUTPUT AS *1 PRINT "Okay, now for some really fun stuff 1" FOR j - start TO 25 final? - finals + gulldS(j) PickWeapon: NEXT j PRINT IF LEN(finalS) 7050 THEN PRINT "Choose a weapon and enter Its letter" PRINT "Whoops! Something's wrong here!"
PRINT "If you can't use it.
PRINT "File not the right size.
You'll be told and allowed to pick another" Aborting write to disk" FOR w - start TO 60 CLOSE 1 PRINT w .-Weapons? (w), STOP NEXT w ELSE PRINT PRINT "Thanks for using the Amazing Phantasie INPUT “which is your weapon of choice ", weap Character Editor!"
IF weap 60 OR weap 1 THEN PRINT* 1,finals.
PRINT "just pick from what is listed above, please)" CLOSE *1 GOTO PickWeapon END IF END IF END SUB LET req - ((stren * 2) + Dex) IF weaponreq(weap) req THEN PRINT "I'm afraid you're not talented enough for that one" tests
• AC- Roomers By the Bandito Lasers, Viruses, Sacs and Wedges The
arrival of the Amiga 3000 was announced on the national
television show Computer Chronicles. The specifications were
truly amazing, the reporter said -but everything described
was completely possible with an Amiga 2000.
So much for rumors and the quality of the news on Computer Chronicles. It sounds like Computer Chronicles gets its information from CompuServe's Online Today, an electronic newspaper. Online Today reported a similar rumor about the Amiga 3000. Several months ago, Online Today also reported that Commodore recalled the operating system to the Amiga 1000. What? You don't remember that? Neither does the Bandito, The Bandito would like to admit that the recent thread of rumors about the Laser Toaster has nothing to do with the NewTek Video Toaster. NcwTek did not steal the 'Toaster" name from
this column. Indeed, the opposite is true; "Laser Toaster" was the NewTek code word for the Video Toaster. The Laser Toaster became a tremendously popular subject of conversation for cocktail parties at Amiga shows, so the Bandito decided to share the joke with you.
However, this doesn't mean that the concept of a Laser Toaster wasn't taken seriously by some people. I swear on a stack of National Enquirers, there is a company in the Northwest developing a laser toaster as described in this column. The Bandito has it on good authority from experts in the field of lasers that such a thing is possible, and even profitable.
In place of the Toaster rumor, a new rumor has been started about Digi- Word, a HAM word processor, also from NewTek. According to this rumor, NewTek used Digi-Word to lay out the ads for the Video Toaster.
You can have any of 4096 colors for any character in your message. Then the rumor-spreader started saying something about animation on the printed page, but the Bandito walked away at that point... ScrOnAlyzeIM.c A contract programmer for Micro Systems Software reveals that Scribble!, Online!, and Analyze! Are indeed the same program, called ScrOnAlyze!!!.
(This is pronounced "skron-a-lics.") The source code to these programs is actually one large C file named "ScrOnAlyzeIM.c." The executable programs are conditionally compiled based on such preprocessor directives as " ifdef ONLINE" and " ifdcf ANALYZE." A spokesman would neither confirm nor deny the story.
(This is a programmer joke, not a real rumor, so if you don't get it, just read the other rumors. Trust me, it was a funny joke. If you want to look like a hotshot C programmer at your next user group meeting, just memorize this paragraph and repeat it verbatim.)
Commodore Amiga in Los Gatos may be re-hiring even more of the old technical team in months to come.
Commodore has even placed employment advertisements in electronics magazines, asking for people skilled in operating systems and video graphics.
Neil Katin is working on a project, and Jim Mackraz recently left Mitsumi for a chair in the Amiga offices.
Recent postings on Usenet indicate they are courting more and more former Los Gatos people to re-join the staff to further enhance the Amiga hardware and software.
Other highcr-rcsolution displays will be possible in the Amiga 2000, according to insiders. This can be done by simply by replacing the "graphics,library," which does not require replacing the Kickstart ROM.
The new displays may come from third-party developers, not Commodore. Possible graphics hardware includes the TI 34010 chip, a commercially available graphics coprocessor that is about as powerful as the 68000 itself, with higher resolutions than the Amiga chipset. All Amiga software should still work correctly, if the programmer doesn't resort to tricks that circumvent the operating system function calls. However, the output may not be NTSC compatible.
At a recent user group meeting, an Amiga staffer dropped hints about the release of a new Amiga machine in mid-summer, as well as progress on AmigaDOS 1.4. One improvement would be information in ".info" files so that icons wouldn't be mispropor- tioned on interlaced or other display sizes. They may try to get the Greenhills C compiler running native on the Amiga, a step toward their long-standing goal of native-compiling the operating system code on Amiga 2000 systems, freeing them from the Sun systems now needed for the task.
Commodore insiders say the 80286 AT-style Bridge Card will be ready soon, and users should expect it to replace the 8088 Bridge Board. Although the 80286 processor will run programs faster than the 8088 Bridge- Board, the screen updates will be just as slow. The Amiga 2000 must run a program to display the PC screen in a window on the Amiga screen, and the transfer process can't keep up with the faster card, so screen scrolling will not be as smooth as a regular PC monitor.
Users are dreaming of a 80386 card, too. Some rumors say it is in development in West Germany, but cynics say the PC bus speed in the Amiga 2000 is limited, so the 80386 will not be used to the fullest.
Amiga on TV The Disney Channel showed previews for a movie called Not Quite Tiurnan, starring Alan Thicke. The movie will include the Amiga as part of the plot, and Amiga screen graphics will be used in the show. The computer has a starring role! The Amiga was also used in a recent HBO movie, Into the Homeland.
The Amiga 500 made an appearance on the NBC Today show, on a segment about "adult toys." The Amiga was presented as a home video computer system. Newscaster Jane Pauley was shown writing holiday greetings in color-cycled animation.
Sacs and Wedges The "Magic Sac" Macintosh emulator remains far from market. According to a source close to the company, no one is working on it at this time. The task has shifted from programmer to programmer, and now the company thinks it has higher priorities.
Look for a device called the Wedge to come from Canada. This card for the Amiga 2000 lets the Amiga side access a standard IBM-type hard disk controller without the presence of the BridgcBoard. The price is around S150, and IBM-type hard disks and XT controllers are almost a dime a dozen.
A Wedge owner could add a hard disk to an Amiga 2000 system for less than S500. Call Dave Allen at (604) 270-0064 for more information.
A large West coast Amiga dealer pulled a fast one on Commodore and angered many other dealers recently by ordering a truckload of Amiga 20005 and peripherals, insisting there were standing orders for them all, (The Commodore rep for the area was new and didn't know he had to investigate the claim.) The dealer held a parking lot sale at near-list prices to captive, drooling Amigaphilcs who hod been waiting weeks because of a lack of hardware on the West coast.
Other dealers were incensed, seeing that they got the scraps of the sate.
The dealer sold only a fraction of the hardware in the truck, and Commodore had to store them in the local warehouse.
Word Perfect 5.0 Word Perfect version 5.0 for the Amiga is at least two years away, according to a source close to the company. The program will use its own fonts and be available for other computers as well. The Amiga is a test bed for much of the development.
Word Perfect Library and Notepad are in beta test; they appeared at a recent computer show and in the hands of beta testers.
Electronic Arts' flight simulator game Interceptor may be out now, or may be tied up in litigation, depending on who you talk to. A super taste of it has been wowing the demo disk circuit. A real copy of it was stolen by pirates at the World of Commodore show. It appeared on the pirate bulletin boards that afternoon. Aegis also lost a copy of VideoTitlcr, which had not shipped at that time.
Digital Creations' "D' Buddy" HAM editor program was bought by Electronic Arts. It will now be called Deluxe Photo Lab. Some features were cut and others were added, to make it an EA product. Don't expect to see it until March.
Progressive Peripherals has revived TeleCraft, a telecom program once planned for production by Commodore.
Aegis Goes Mac II Aegis Development is shifting gears to develop products for the Mac II, after showing very preliminary versions of Mac II animation and presentation graphics programs in a private suite at a recent computer show. Sources say Leo Schwab's 'The Dream Goes Berserk" animation was ported to the Mac II, and that it was playing in the Apple booth.
According to one rumor, an Apple spokesman asked Aegis to replace the Amiga ball with an apple. However, this was not possible, as only the data of the animation was ported to the Mac It, not the VidcoScape program itself. As Commodore's Andy Finkel once said, "Any sufficiently advanced technology is indistinguishable from a rigged demo."
Sure, Leo's animation can play on the Mac II, but can they slide the screen down to reveal another application running in the background?
Virus News The Swiss pirate programmer who created the disk virus sent a letter to Commodore technical support, explaining why he wrote it and offering a utility as a peace offering.
The program detects and eliminates the virus. He boldly suggested that the program be included on a Workbench disk. The pirate said he didn't write the virus to destroy software, but to prove a point to a fellow programmer. The virus came to America on a disk of pirated software.
The virus code in the root block of a disk keeps a count of how many times it has duplicated itself. The detector program will print this number for you. It will also remove the virus from memory or erase it from a disk, and protect a disk from being infected. It is not known if the protector program has another virus in it. Close examination of the code shows that parts of the program are encrypted data, meaning the program itself may be infected with a different virus. Don't try this at home, kids.
At press time, there came word of a second type of disk virus that came to the United States on a game called Road war Europa.
Commodore is planning to do more television promotion of the Amiga 500.
There is even talk of a touring national spokesperson who would appear on news programs (similar to the recent Today show appearance). The Amiga might even make it to Late Night With David Lettermanl Commodore is preparing to launch a PC clone line featuring a machine tentatively named Colt. (The PR agency doesn't like the name, but Commodore officials do.) This machine is dual-speed XT-class, with 640K of memory, a 3 1 2 inch disk drive, CGA color graphics, and a color monitor.
Two other models in the line are still unnamed. One is another XT-type Colt vvith a one-third faster clock speed and maybe a hard disk. The third machine is an 80286-based AT- class computer. These are boxed and ready to go. Commodore hoped to launch them for the holiday selling season, but missed the mark.
AMIGA DUAL 3 Ms" DISK DRIVES 100% Compatible with Amiga 500, 1000 & 2000 Computers
• Internal Power Supply
• All Metal Chassis
• Horizontal Layout
• Vented Enclosure
• On-Off Switch
• 6 foot 3-prong linecord
• Primary Circuit Breaker Protected
• Color Coordinated to Amiga Computers ONLY $ 395.00 20 Meg Hard
Drive (SCSI) with Controller ONLY $ 785.00 Now Shipping
Single-Disk Drive Units Comp-U-Save 4 I t Maple Avenue,
Wcsthury, NY 11590 In NY State (516) 997-6707 Outside NY State
(800) 356-9997 “Meeting the Needs of People in the Electronic
Ape" The NYIT digitizer board once took three slots in the
Amiga 2000, but is now back in the shop for a redesign that
would make it just one or two boards again. Because of this
set-back, availability is still unknown.
The COMAL language is now in beta testing for the Amiga. "COMAL-ites" have waited a long time for this one to come over from Europe. There's no word yet on when it will be available, but it should be here soon.
• AC- (The statements and projections presented in "Roomers" are
rumors in the purest sense. The bits of information are
gathered by a third party source from whispers inside the
industry. At press time, they retmin 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.] LIFE By Gerald Hull Part III The Source Part I of this article (AC V2.12) discussed the origins of LIFE in cellular automata theory. We touched on its rules, its history on the Amiga, and some of its curious properties and implications. In Part II (AC V3.1), we took a look at efficient use of the Amiga blitter. In Part III, we conclude with the nine blit calculation of a LIFE generation, and the source to LIFER.
Talkin ‘bout My Generation The algorithm I used is essentially identical to the one Scott Evcrnden borrowed from the Mark Niemiec article, "Life Algorithms" (BYTE, January 1979). First, you sum a cell's neighbors in each horizontal row (don't include the cell itself in these calculations!), and then sum those sums in turn. If there are exactly three neighbors, or a living cell has two neighbors, a living cell is in the next generation.
2's bit 1 0 0 1's bit By using the ASHIFT and BSH1FT blitter registers, you can operate on three horizontally adjacent cells with the same blit. Suppose we have the simplest case: one pixel (or bit) per cell. We want to shift the left cell one bit to the right, the right cell one bit to the left, and leave the center cell where it is. Address those cells with the A, B, and C bitplane pointers, respectively.
The ASHIFT value is easy: 1. What about BSHIFT? To shift one bit left with the blitter, you need to shift it 16 - 1 = 15 bits to the right, and then address it through the succeeding word, yielding the desired result (- 15 - 16 =
- 1). At this point, you might think about using BLTAFWM and
BLTALWM to avoid accidentally destroying valid data.
However, the wraparound border guarantees these shifts have no "undocumented features."
Using these sorts of shifts, we can get the horizontal neighbor sums in just four blits. The first and third rows can be "doubled" together with an extra tall image, saving two blits. (This is the trick I overlooked.) How do we sum (continued) i l Table One A Nine Blit Calculation of a LIFE Generation BITPLANES M1NTERMS C
- c c
- c c
- c c -c D A 8 C B B -B -B B B -B -B A A A A -A -A -A -A
(1) Rl a f b g c h I!' 0 0 1 0 1 1 C (0x96)
(2) R2 d 6 0 0 1 1 1 1 0 0 (0x3C)
(3) R4 Rl R2 Rl 1 0 0 1 0 1 1 0 (0x96)
(4) R5 Rl R2 Rl 1 1 1 0 1 0 0 0 (0xE8)
(5) Rl a f b g c h 1 1 1 0 1 0 0 0 (0xE8)
(6) R2 d e R5 0 1 1 0 1 0 1.
0 (0x6A)
(7) R3 Rl R2 Rl 0 0 0 1 0 1 1 0 (0x16)
(3) Rl R5 R3 R2 0 0 0 1 1 0 0 (0x8C)
(9) screenZ Rl R4 1 1 0 0 1 0 0 0 (0xC8) Remarks I use "Rl" to
"R5" to represent the "register" bitplanes, and a siashbar
for clarity when "doubled" bitplanes are involved.
The cell and its neighbors are addressed as the diagram indicates: abcdZefgh The numbered blits represent the following calculations:
(1) 1st and 3rd row' l's bit sum (2) 2nd row l's bit sum (3)
total l's bit sum (4) total l's bit carry (5) 1st and 3rd row
2's bit sum (6) 2nd row 2's bit sum plus total l's bit carry
(7) 1st and 3rd row 2's bit carry (8) total 2's bit sum with no
further carry (9) a new generation
3oocoooooeoooooot*xxxoot**x***ra*x*)TOTOxx*ioooooTOtBce these
in turn? The I's bit (LSB) sum for the entire neighborhood
is easy, but to get the 2's bit (LSB+1) sum, we need to
generate the carry from the l's bit sum.
The carry plus the 2's bit value for each row comes to four source operandi, whereas the blitter can only handle three at once. At this point, it seems we're running out of blits.
Instead of going step-by-step through the rest of the algorithm, let me direct your attention to a summary in Table One, Two remaining tricks enable the nine blit solution. The first trick (my contribution) is to smuggle the l's bit carry in R5 into the 2's bit sum of the second row (blit 6). The ambiguity this move introduces is eliminated by referring to R5 again when performing blit 8. The second trick is to compute 2's-bit-sum-and-no-further-carry all at the same time (again, blit 8).
Use "Bl," "B2," and "B3" to represent the bits in the total sum of a cell's neighbors (Bl = LSB, etc.), and "CC" for the current cell state. Since a cell is alive in the next generation ("NfG") if, and only if, it has just three neighbors, or just two neighbors when currently alive, you get: NG := (Bl and B2 and not-B3) or (CC and not-Bl and B2 and not-&3); By combining B2 and not-B3 (= 2's-bit-sum-and-no-further- carry) into a single term, J2 (for "just two"), and expanding, you get: NG := (CC and Bl and J2) or (not-CC and Bl and J2) or (CC and not-Bl and J2); This formula conveniently
requires only three source operandi, and is the calculation performed by blit 9.
Listing One LIFEA.ASM LIFEA.ASM This routine is called by QBSBlit() in LIFER,C, It performs the number of blits passed to it in Lifebltnode. Repeat by returning a non-zero value in DO, causing QBSBlitO to call it again.
Requires linkage with the program In LIFER.C. Gerald Hull, CREATIVE FOCUS NOLIST INCLUDE 'exec types.i' INCLUDE ‘hardware custom.1' INCLUDE 'hardware blit.i' INCLUDE 'hardvare dmabits.i' LIST XDEF doblit Public Domain Source illustrating Blitter Use Scott Everndon, LIFE: People Link public domain library. He uses the built-in AmigaDOS function, BitBitMapO, for calculating a Life generation. He is therefore limited to a single source bitplane in blitting. Nonetheless, this version contains very well; structured C code and a nice user interface.
Alonzo Cariepy, BLITTER HELP: 7 16 86 People Link notice.
This is a useful discussion of how to use shifts with the blitter.
Extremely illuminating fragments of his FASTL1FE program are included, showing, among other things, how to bang the registers.
Tomas Rokicki, BLITLAB: Fred Fish 84, Amicus 19, People Link library. A nice demo allowing the user to experiment with all sorts of blitter functions. The code also shows how to construct an elaborate gadget-laden interface.
Tomas Rokicki, LIFE: Fred Fish 31. This code presents an extremely fast version of Life in a program reduced to the essential elements. It contains the first publication, to my knowledge, of a ten blit solution.
Dc. W
dc. w STRUCTURE Lifebltnode,0 STRUCT b_node,bn_SIZEOF LONG cons
LONG apt LONG bpt LONG cpt LONG dpt WORD amod WORD brnod WORD
cmod WORD dmod WORD afwm WORD alwm WORD repeat WORD size WORD
dummy * c struct use longvord boundaries LABEL Lbn SIZEOF
• In virtue of QBSBlitO:
* al points to the first Lifebltnode
* aO points to CUSTOM - SdffOOO _doblit moveq ? 0, dl t St repeat
(all beq. S 2$ tat DZIP bne. S IS move repeat (al) ,DZIP 1$ sub
11,DZIP 2$ add INDEX, dl move.1 cons(al,dl),bltconO(aO) move.1
apt(al,dl),bltapt(aO) move.1 bpt(al,dl),bltbpt(aO) move. 1
cpt(al, dl),bitcpt(aO) move.1 dpt(al,dl),bltdpt(aO) move
amod(al,dl),bltamod(aO) move brnod (a 1, dl), bit brnod (aO)
move cmod(al, dl),bitcmod(aO) move dmod(al,dl),bitdmod(aO) move
afwm(al,dl),bitafwm(aO) move alwm(al,dl),bitalwm(aO) 3$ move
size(al,dl), bltsize (aG| add Lbn SIZEOF,INDEX moveq 0, dO
add DZIP,dO bne, s 4S move 4$ rts tO,INDEX DZIP is needed
because line 3$ afflicts register dO both variables are 0 when
blit sequence is complete DZIP INDEX Listing Two LIFER.C
LIFER.C An Amiga implementation of John Conway's Game of Life.
Much of this code derives from similar programs by Alonzo
Gariepy and Scott Evernden. Feel free to similarly adapt it to
your own needs.
QBSBlitO * Requires linkage with the assembler routine _doblit listed in LIFEA.ASH. Gerald Hull, CREATIVE FOCUS ?include exec types.h ?include exec exec,h ?include graphics gfxbase.h ?include intuition intuition.h ?include hardware custom.h ?include hardware blit.h struct Custom *chips - (struct Custom *) OxDFFOOO; typedef struct struct bltnode bnode; union * both control registers ULONG whol obstruct 1 unsigned ashift : 4, usea : 1, useb : lf usee 1, used unsigned minterm. : 8; unsigned b3hift : 4, pad : 7, exfill : 1; unsigned infill : 1, fcarry : 1, descend : 1, line :
1; 1 part; 1 con; ULONG blt_apt, blt_bpt, bit cpt, blt_dpt; bitplane ptrs * UWORD blt_ar.od, blt_tnod,blt_atod,blt_dmod; * offset in bytes * * first and last word masks • ¦ number of blits; signal to asm * UWORD blt_afwra, blt_alwm; UWORD repeat; union UWORD whole; struct unsigned 1 part; height : 10, width : 6; ) size; Lifebitnode; ?define LIFEBLITS 14 ?define CRT LIFEBLITS ? Define CLR LIFEBLI75+1 Lifebitnode lifeblt[LIFEBL1TS+2]; (continued) ?define makesize(a.
B) (( (ai0x03ff)«6) + (b40x003f ?define bit con con.whole ?define
bit usea con. Part. Usea ?define blt_useb con .part. useb
?define bit usee con.part.usee ?define bit used con.part.used
?define blt_mintcrm con.part .minterm ?define blt_ashift
con.part.ashift ?define blt_bshift con.part.bshift ?define
blt_size size.whole ?define blit_size bnode.blitsize.hole
?define blt_width size.part.width ?define blt height si
ze.part.height * The following are the different minterms :
generation • ?define ONEor3 0x86 ?define TWOor3 0xE8 ?define
JUST_1 0x16 ?define A_LIFE 0xC8 ?define XCR Qx3C ?define
TRIK_1 0X6A ?define TRIK_2 0x8C ?define ZIP 0x00 ?define
STARTNUM 1 void finish (); void Init (); void size (); void
menus O ; void ailocate_rasters(); void deallocate_rasters )
void life (); void generation() ; void CritBlit ); void
DoABlit () ; void InitBlits () ; void clrscreen () ; extern
ULONG doblit(); assembler routine called by j* Screen Window
sizes * ?define ?define DEPTH SW 1 320 * screen width •
?define SH 200 ¦ screen height ¦ ?define WW SW * window
width *1 ?define WH SH * window height * ?define 3IGW WW+32
• ' register bitplane wii ?define BIGH WH+10 • ' register
bitplane he: ?define ?defino WCRDWIDTH BYTEW1DTH (WW 4)
(WW 3) 1th « ght ¦ ?define REGOFFSET 2
+(3YTEWIDTM+4)"CellY ? Define LIFEWIDTH WORD WIDTH ?define
LIFEHEIGHT WH * Templates for the various cells struct t WORD
xsize, ysize; ULONG data[6]; J critter[] - ¦ 1, 1, I
0x80000000 ) J, ( 2, 2, 0x80000000, 0x00000000 } I, i 4, 4,
OxEOOOOOOO, OxEOOOOOOO, OxEOOOOOOO, 0x00000000 ] 0x60000000,
5, 5, ( 0x80000000, OxFOOOOOOO, OxDOOOOOOO, 0x00 00 0000 )
* Needed structures * struct intuitionBase *lntuitlonBase;
struct GfxSase ‘GfxBase; struct Window *w; * window structure
returned by exec • by exec ¦ struct Screen *s; • screen
structure returned ?define SCREEN 6 struct BitMap
bmaps[SCREEN]; struct BitMap CellMap, AbitMap; struct BitMap
*bm[SCRE£N+l]; struct NewScreen ns - ( 0, 0, sw, SH, DEPTH, 0,
1, 0, CUSTOMSCREEN, NULL, NULL, NULL, NULL struct NcwWindow nw
I ACTIVATE | BORDERLESS, NULL, NULL, NULL, NULL, NULL, 0, 0, exit(22); ) 0, o. ShowTitle (s, FALSE) ; CUSTQHSCREEN SetRGB4 4s- VievPort, 0, 12, 12, 12): }-* SetRGB4 (4 s- ViewPort, 1, 0, 0, 0): bm(SCREEN] - 4ABitMap; * Menu stuff * InitBltMap(bra(SCREEN], DEPTH, WW, WH) ; nw.Screen - s; ?define MENUS 2 ?define M1_ITEMS 4 w - (struct Window B)OpenWindow(4nw); ?define M2_ITEMS 4 if (lw) ( puts("no window-); struct Menu Hraenu[MENUS]; finish(); 3truct Menulten Mlltems[Ml ITEHS]: exit(23); struct Menultem M21 tens [M2_ITEMS] : ) struct IntuiText Mtexts(M1_ITEMS]; struct Image Himages(M2_ITEMS];
bra(SCREEN) - w- RPort- BitMap; screen - (ULONG)bra[SCREEN]- Planes[0] ; WORD in_wid [K2_ ITEMS ] - (5, 7, 13* 16); 1 7SH0RT image[M2 ITEMS] ri6] - void sizes(which) ( 0x0000, WDRD which; 0x2000, 0x1000, * Calculate assorted parameters from cell size 0x7000 * 1 * ( 0x0000, 0x1000, 0x0000, CellX - critter[which].xsize; 0x0400, 0x0000, CellY - critter[which].ysize; 0x5400 ), InitBitHap HceilMap, 1, CellX, CellY); ( 0x0000, CellHap, Planes(0] - (PLANEPTR)critter[which].data; 0x0700, 0x0700, 0x0700, 0x0000, 0x0070, 0x0070, 0x0070, 0x0000, InitBlits(which); 0x7770, 0x7770, 0x7770 ) } * (
0x0000, void menus () 0x0180, 0xQ3C0, 0x0340, 0x0180, 0x0000, OxOOOC, 0X001E, OxOOlA, OxOOQC, 0x0000, * Sot 'em up 0X318C, 0X7BDE, Qx6B5A, 0x3l8C 1 V : I WORD i, t; LONG CellX, CellY; Mmenu[0].NextMenu - 4Mmenu[l]; ULONG screen, thisgen; Mmenu[0J.LeftEdge - 4; ULONG regl, reg2, reg3, reg4, regS; Mmenu[0].TopEdge - 0; Mmenu [0] .Width - 58; Mmenu[0].Height - LQ: Mmenu[0].Flags - MESUENABLED; void finish ) Mmenu[0].MenuName - 'Actions'; Mmenu[0].Firstltere - iKlItems[0]; * Release resources * for (i - 0; i M1_ITEMS; i + + ) i ( 1 Mtexts[i].FrontPen - 0; if (w) Mtexts (i) .BacXPen - 1;
Cia3eWindaw(w); Mtexts[i].DrawMode - JAM2; if O) Mtexts(i).LeftEdge - 0; Close5creen s); Mtexts[i].TopEdge - 1; if (GfxBase) Mtexts[11,ITextFont - NULL; CloseLibrary(Gfx3a se); Mtexts[i].NextText - NULL; if (IntuitionBase) CloseLibrary(IntuitionBase); Mil tens [ i). Next I tem - 1 i M1_ITEMS-1 1 NULL : 4M1Items[i+1]; Mlltems[i].LeftEdge - 0; void init() Mil terns[i].Width - 115; Ml Items[i].Height - 10; * Open libs, screen t window, fix colors, etc. MlItems[i].Flags - ITEMTEXT | ITEMENABLED | HIGKCOMP; * if (i 44 i !- 3) Mlltems[i).Flags l-CHECKIT; Mlltens[i].ItemFill - APTR)
4MTexts[i]; GfxBase - (struct GfxBase *) Mlltems[1] .SelectFill - NULL; openLibrary("graphics.library", 0); Mlltems[i].command - 0; if (!GfxBase) Klltems(i].Subitem - NULL; ( Mlltems[ij.NextSelect - 0; puts("no graphics!!!"); ) finish (); exit (20); Mtexts[0].IText - " Clear Screen-; Mlltems[0].TopEdge - 0; IntuitionBase - (struct IntuitionBase ") Mtexts[1).IText - " Go-, OpenLibrary("intuition.library",0) ; Mlltems[l].TopEdge - 12; if (!IntuitionBase) Mlltems[1].MutualExclude - 4; f puts("no intuition!!-); Mtexts[2].IText - " Stop-: finish(); Mlltems(2].TopEdge - 24; exit(21);
Mlltems[2].Flags [- CHECKED; } Mlltems[2].MutualExclude - 2; s - (struct screen •) OpenScreen(4ns); Mtexts[3].IText - " Quit-; if (1 s) Mlltems|3).TopEdge - 36; ( puts("no screenlw); Mmenu(1).NextMenu - NULL; finish (); Mmenu[1].LeftEdge - 70; Wnenull]. TopEdge « 0; MnenuflJ-Width - 42; M+ienu [1] . Height ~ 10; Ncrtenu [1J. Flags - MENUENABLED; rtaerai[l] .MenuWame - “cells"; ttoonuU] -Flrstlten - SM2ItE+3[OJ; for li - 0; i M2_ITEMS; i + +) I t - ira_vid(i]; Minages(iJ-LeftEdge - 5 + LOWCHECKWIDTH: Mlrrages [i)-TopSdge - (4 + ira wid[M2_ITEMS-i) - t) 2; Kimages [iJ .Width - t; Mileages[i]
.Height - t; Mlr-ages [i] .Depth - DEPTH; Mimagesti).InageData - (USHORT ') limage[i| fD); Mlr-ages [i ] .PlaeePich - 1; Mirages!i1.PlaneOnoff - 0: Mirages[iJ.NextIrage - MULL; t - i + ire_wid[M2_lTEHS-l);; M2Iteasfi]-Nextltera
- i M2_ITEM5-1 ? NULL ; tM21terns[1+1); M2 Items[I].LeftEdge -
0: M2Iteras£i)-TopEdge - i * t; M2Itcns[i] -Width - S *
LOWCHECKWIDTH t t; M2Items|i)-Height - t; M2Iteras[iJ.Flags -
M2Iter3li].Flags I- CHECKED; M2Ite.Ti3|i] -MUtualExclude - -UL
« i); M2Iteras[ij.IterFill - (APTH) IMImagus[1) ;
M2Itcms[i]-SelectFlll - NULL; M2Itens[i].Command - 0:
M2Itensti| .subitem - NULL; M2Items|11.Nextselect - 0; 1 J void
allooate_rasters() * Get the rasters ¦ ( int i; for li - 0; i
e SCREEN; i++) !
Tfflfi] - sbmapsli]; Iait8itMap(br(i), 1, ww+32, WH+10): tnap3[i]-Planes[Q)
- (PLANEPTRIAllocRaster(WW+32, WH+10); if I!braps[i].PlaneslOJ) f
puts(“no mer.oryl"); deallocate rasters!); fini sh(); exit(25):
I 1 thisqen - (UIONG)bmJOl-spianes[01; regl - IULCNG) hn
[1)-spianes [0 ] ; reg2 - IULONG)lm[2)- Piancs[0]; rcg3 -
IULONG) tm[3)- Planes[0]; rcg4 - (ULONG) brt[4J - Planos[0];
reg5 - IULONG) tra[S)- Plamis[0]; } void dealiocate_raaters )
¦ Free the rasters * ( int i; for [i - 0; i SCREEN; i + + )
if (braps|i).Planes[0!)
RreeRaster (brapsti! ,Pianes[Q!r WW+32, WH+10); I * void jnain() • Toebes trio): to eliminate startup (c.o) * * This is It, what it is.
' ( init [) .- menus () ; SetMenuStrip(w, 4Mmenu [0)1 ; allocate_rasters ); sizes(STARTNUM}; li fe(); deallocate rasters (); ClearMenuStrlp(w) ; finish (); i * * .... void life() * Parse input, behave accordingly ¦ ( struct Menultem ¦juJ.tera; struct IntuiMessage 'message; ULONG class; USHORT code; SHORT it ex, menu, mx - 1, my - 1, wasmx - 0, wasmy WORD quitting, running, mousing, newdown, menuing;
- 0; quitting - running - mousing - menuing - FALSE; while
((quitting) ( if (((running I I mousing)) Wait(1L «
w- UserPort- rap_SigBit); while (message - (struct IntuiMessage
*) GetMsg (w-HIserPort)) ( class - message- Class; code -
message- Code; ReplyMsg(message); switch (class) ( ca3«
MENUPTCK: menuing - FALSE; while (code !- MENUNULL) ( menu -
MENUNUM(code) ; item - ITEMNUM(code); if (menu 0 44 item 3)
quitting - TRUE: break; I else if (menu 1 | J item Q) I
DoABlit (4 li f eblt [CLR]); Hlltems [1 ] .Flags 4- -CHECKED;
Hlltems(2) .Flags | CHECKED; running - FALSE; if (menu 1)
sizes(item); ) else if (item 3) running - item 1; ra_iten -
(struct Menultem *) ItemAddress(4Mmenu[0j, eocU code -
m_item- NextSelect; ) break; case MENUVERIFY: menuing * TRUE;
break; case MOUSEBUTTONS: mousing - code SELECTDOWN; newdown
- mousing; break; 1 ) if (nenuing |I quitting) continue; if
(mousing) ( mx - CelIX • ((w- MouseX) CollX); my - CellY -
((w- MouseY) CellY); if (mx+CellX c- ww 44 my+CellY ¦- WH)
if (newdown I I wasmx !- nx || wasmy !- my) CritBlit(mx, my);
newdown - FALSE; wasmx - mx; wasmy - my; * } else if (running)
(continued) ) void DoABlit(Iifeblt) Lifebltnode ¦iifeblt; f*
This is where the blitter gets invoked - OwnBlitterO; Walt
Blit () ; QBSBlit(Iifeblt); WaitBlit () ; DisownBlitter (): + +
bn; lifebit[bn].blt_useb » 0; * lifebit[bn],blt_usec - 0;
lifebit[bn].blt_apt * thisgen * 2; lifebit[bn],blt_amod -
BYTEWIDTH + 2; lifebit[bn].blt_dpt - thisgen + BYTEWIDTH ? ;
Iifeblt [bn] .buTdmod - BYTEWIDTH + 2; lifebit[bn].blt_minterm
- A_TO_D; lifebit[bn].blt_width - 1; lifebit[bn].blt_height -
LIFEHEIGHT + 2 * CellY; lifeblt[bn].bnode.blitsize
- makesize(LIFEHEIGHT+2*CellY, 1); ++bn; + 2;
- CellX;
- 16 - CellX;
- thisgen;
- 2;
- thisgen +
- 2;
- thisgen;
- 2;
- regl;
- 2;
- 1:
- 1;
- 1;
- 1:
- LIFE3LITS; • 7 lifebit[bn] lifebit[bn] lifebit[bn] Iifeblt[bn]
lifebit [bn) lifebit[bn] CellY; lifebit[bn] lifebit[bn]
lifebit[bn] Iifeblt[bn] lifebit(bn] lifebit[bn] ellX;
- thisgen * (BYTEWIDTH + 4) * Cc
- 2;
- thisgen + 2 + (BYTEWIDTH * 4) to enable wrap-around processing
CellY; 1 *
- 0;
- 0;
- screen;
- thisgen + REGOFF5ET;
- 4; “ A_TO_D; 2 *
- Q;
- 0; + 4 bn ; Iifeblt(bn) li feblt[bn] lifebit[bn] lifebit[bn] li
feblt[bn] CellY; lifebit (bn) lifebit[bn] li feblt [bn]
.bit apt .blteamed ,blt_bpt .blt_bnod .blt_cpt .blt_cnod .blt_dpt .bit dmod CellY; 2 * CellY; ++bn; lifebit[bn] lifebit[bn] lifebit[bn] Iifeblt|bn] lifebit[bn] CellY; lifebit[bn] 11feblt[bn] lifebit [bn] lifebit[bn].
.bltapt .blt_amod .blt_bpt .blt_bffiod .blt_cpt ,blt_cmod .blt_dpt ,blt_dmod - 4; bit minterm - TWOor3; CellY: 2 • CellY; reg5 ?+bn; void CritBlit(mx( my) SHORT ax, my; « This XORs the different sized cells (“critters") onto the screen * I iifeblt[CRT].blt_ashlft - mx % 16; iifeblt[CRT].blt_bpt screen + (my • BYTEWIDTH) + mx 16) * 2; iifeblt[CRT].blt_dpt screen + (my * BYTEWIDTH) + (mx 16) • 2; DoABlit Ulifebit [CRT]); void InitBlits(which) WORD which; * Set up the parameters that are the same for almost all the blits.Since the Lifebltnode externals are initilialized to 0 we leedr t
worry about null parameters.
¦ I int i, bn; for (i - 0; i LIFEBLITS+2; ++i) t Iifeblt[1].bnode.function - doblit; lifeblt[l).bnode.blitsize
- makesize(LIFEHEIGHT, WORDWIDTH); Iifeblt[1].blt_usea
lifebit[i],blt_useb lifebit[i|,blt_usec llfeblt[i).blt_used
lifebit[1].blt_afwm lifeblt[i].blt_alwm lifebit[i].blt_vidth
lifebit[i],blt_height lifebit[i].repeat } • First we do five
blits ALONZO) ' bn - 0; * lifebit[bn].blt_useb
lifebit[bn],blt_usec lifebit[bn].blt_apt lifebit[bn].bit dpt
lifebit[bn].blt’dmod iifeblt[bn].blt_rainterra ++bn; *
lifebit[bn].blt_useb lifeblt[bn].blt_usec iifeblt(bn).blt_apt
- thisgen + (BYTEWIDTH + 4) ¦ CellY; lifebit[bn].bltjdpt
- thisgen + (BYTEWIDTH ? 4) * (LIFEHEIGHT + CellY);
lifebit[bn].bltjninterm - A_TO_D; lifebit [bn] .bit’width -
WORDWIDTH + 2; lifebit[bn].blt_height - CelLY;
lifebit[bn].bnode.blitslze - makesize(CellY, WORDWIDTH+2);
++bn; * 3 » lifebit[bn].blt_useb - 0; lifebit[bn].blt_usec -
0; lifebit[bn].blt_apt
- thisgen + (BYTEWIDTH * 4) * LIFEHEIGHT; lifebit[bn].bltdpt -
thisgen; lifebit[bn],bitjninterm - A_TO_D; lifebit [bn] .bit"
width -WORDWIDTH + 2; lifebit[bn].blt_height - CellY; lifebit
[bn]. Bnode .blit size - makesize(CellY, WGRDWIDTH+2) ;
.blt_bnod - 2; .bit dpt - reg2 .blt_dnod - 2; blt_mintera -
XOR; .blt_width - LIFEWIDTH + 1; .bnode.blitsize -
makesize[LIFEHEIGHT, LIFEWIDTH+I); lifebit[bn].blt_useb - 0;
lifebit[bn].bltuaec - 0; lifebit[bn].blt_apt - thisgen +
lifebit [bn] .blt’am.od - BYTEWIDTH lifebit[bn].bltdpt -
thisgen; lifebit[bn],blt_dmod - BYTEWIDTH
lifebit[bn],blt_minterm - A_TO_D; lifebit[bn].bnode.blitslze
- makesize(LIFEHEIGHT*2*CellY, 1) lifebit[bn].blt_width - 1;
lifeblt(bn].blt’height - LIFEHEIGHT lifebit[bn].bltminterm -
ONEor3; Iifeblt[bn].blt_width - LIFEWIDTH + 1;
lifebit[bn].blt_height - LIFEHEIGHT + 2 • Ce
- make3i ze(LIFEKEIGHT+2•CellY, LIFEWIDTH*1)
- regl + 2;
- 4;
- reg2 * 2 + (BYTEWIDTH + 4)
- 4;
- regl + 2 + (BYTEWIDTH + 4) lifebit[bn].blt_ashift
lifebit[bn],blt_bshlft lifebit[bn].blt_apt lifeblt[bn].blt_amod
lifebit [bn] .blt’bpt llfcblt[bn].blt_bmod lifebit[bn].blt_cpt
lifebit[bn].blt_cmod lifebit[bn].blt_dpt lifebit(bn],blt_dmod
- regl + 2;
- 4;
- reg2 * 2 + (3YTEWIDTH
- 4;
- regl + 2 ? (BYTEWIDTH
- 4;
- reg4 + 2 + (BYTEWIDTH 4 4)
- 4; Now nine economical blits to do a new generation bit minterm
- ONEor3; 2 + (BYTEWIDTH + 4) (BYTEWIDTH + 4) bit ashift
* *bn:
* *bn; ¦ 4) .blt_bshift - 16 - CellX; .blt_usec - 0; .blt_apt
.blt_amod .blt bpt TxEd Plus... All the speed and simplicity of
the original TxEd, Plus... Modular software is coming. With
modular software, different programs talk to each other using a
common macro language.
O Fully configurable menus and keyboard O Powerful command line language, uses the AREXX macro processor.
O Includes functional AREXX demo O Many other new features.
O Uses ARP Vl.l Apple Computer, Inc. has started a software division focusing on modular software, and Microsoft Inc's Bill Gates has been talking about it. Modular software lets "multitasking" mean more than just running two programs at the same time; you can run programs together, doing more than each program can do alone and letting you pick exactly the pieces you want to use.
On the Amiga, modular applications are more than just next year’s dream. They're available now, with two of the cornerstones ready to go. TxEd Plus, the text editor, and AREXX, the macro processor.
TxEd Plus $ 79.95 Even without the AREXX connection, TxEd Plus is the text editor of choice for the Amiga. With AREXX, TxEd Plus becomes more than just a text editor. The configurable menus allow you to create customized applications such as order entry systems, and that's barely scratching the surface of the possibilities.
Microsmiths, Inc PO Box 561, Cambridge, MA 02140
(617) 354-1224 BIX: cheath CIS: 74216,2117 We don't even know
what the limits are yet.
Developers: find out about AREXX! The window is wide open. M««Re*denu add 6%.viw&Mc accepted.
Users: demand AREXX capability in your software. You can get Ami*"is “t,adcraari °rcomn,«jere Bu.in«* Machine*, inc. it now on your Amiga, or wait till next year, on a McClone. The term 'McClon*U» a fktitioua conglomeration refering to nothing in particular.
- regS + 2 + (BYTEWIDTH + 4)
- 4;
- reg3 + 2 + (BYTEWIDTH + 4)
- 4;
- reg2 +24 (BYTEWIDTH + 4)
- 4;
- regl + 2 + (BYTEWIDTH + 4)
- 4; CellY CellY CellY CellY
- thisgen + 2 + (BYTEWIDTH +
- 4;
- regl + 2 + BYTEWIDTH + 4)
- 4;
- reg4 + 2 + BYTEWIDTH + 4)
- 4;
- screen; ++bn; lifeblt[bn] lifeblt[bn] lifeblt [bn] lifeblt[bn]
lifeblt[bn] CellY; lifeblt[bn] lifeblt|bn] lifeblt[bn]
lifeblt[bn] lifeblt[bn] lifeblt[bn].
Lifeblt[bn] lifeblt [bn] ++bn; lifeblt[bn] lifeblt[bn] lifeblt [bn] lifeblt[bn] lifeblt[bn] CellY; lifeblt[bn] lifeblt [bnj lifeblt[bn] lifeblt[bn].
CellY; CellY; blt_amod .blt_bpt 4) lifeblt[CRT].blt_width lifeblt[CRT].blt”height lifeblt [CRT] .bltjjsec lifeblt[CRT].blt_apt lifeblt[CRT].blt_brood lifeblt[CRT].blt_dmod lifeblt[CRT].blt_minterm lifeblt[CRT].bnode.blitsize lifeblt|CRT].repeat * CLR * .blt_apt .blt_araod blt_bpt ,blt_braod .blt cpt .bit craod ,blt_dpt bit dmod
• AC* lifeblt[bn].blt_ashift - CellX; llfeblt[bn].blt_bahift - 16
- CellX; lifeblt[bn].blt_apt - thisgen; lifeblt[bn].blt_anod -
2 ; lifeblt[bn].blt_bpt - thisgen + 2; lifeblt[bn].blt_bnod -
2; iifeblt[bn|.blt_cpt - thisgen; lifeblt[bn].blt_cmod - 2;
lifeblt(bn).blt_dpt - regl; lifeblt[bn],blt"draod - 2; lifeblt
[bn] .blt_iaintern - TKOor3; lifeblt[bn].blt_width - LIFEWIDTH
+ 1; lifeblt[bn].blt_height - LIFEHEIGHT + I * CellY; lifeblt
[bn] .bnode .blitsize - rsakesize (LIFEHEIGHT+2"CellY,
LIFEWIDTH+1); .blt_bmod - 2; . BltTcpt - regS + (BYTEWIDTH + 4]
- CellY; .blt_anod - 2; .blt_dpt - reg2 + (BYTEWIDTH + 4) *
CellY; .blt_dmod - 2; ,blt_rainterri - TRIK_1; ,bit_width -
LIFEWIDTH + 1; .bnode.blitsize - reakesize(LIFEHEIGHT,
- regl
- 4;
- reg2 + 2 + (BYTEWIDTH + 4) * CellY;
- 4;
- regl + 2 + (BYTEWIDTH +4) • 2 *
* * 4;
- reg3 + 2 + (BYTEWIDTH + 4) * CellY;
- 4; • 11 * .blt_ashift - CellX; .blt_bshift - 16 - CellX;
.blt_apt - thisgen + BYTEWIDTH +4) ‘ CellY;
- 2;
- thisgen + 2 + (BYTEWIDTH bit minterm - JUST 1; 12 2; ++bn; *
13 lifeblt[bn].blt_apt lifeblt[bn].bltjmod lifeblt [bn]
.hltTbpt lifeblt[Ixi] .blt_braod lifeblt[bn].blt_cpt
li£eblt[bn] .blt_cnsod lifeblt[bn].blt_dpt lifeblt [bn]
.blt_djnod lifeblt [bn] .bit minterra - TRIK 2;
lifeblt[CLR],blt_useb - 0; lifeblt[CLR].blt_usec - 0;
lifeblt[CLR],blt_raintern - ZIP; lifeblt[CLR].repeat - 0;
lifeblt(CLR].blt_apt - screen; lifeblt|CLR].blt_dpt - screen; }
- 2;
- 6;
- 0;
- (ULOKG)(tcritter[which].data);
- XOR; ¦ makesize(6,2);
- 0; lifeblt [bn] .bltjaintern - A_LIFE; Finally, two special
blits for the user interface ++bn; * 14 11rebit[bn],blt_apt
CellY; lifeblt[bn].blt_amod lifeblt[bn].blt_bpt
lifeblt[bn].blt_bmod lifeblt[bn].blt cpt lifeblt [bn]
.blt_c,T,od lifeblt[bn].blt_dpt * CRT ¦ by John Steiner Bug
Bytes The Bugs & Upgrades Column 1 have many reports this month
from readers who have found bugs in various software packages.
1 am especially interested in finding workarounds to bug
At the last Fargo-Moorhead Amiga Users Group meeting, Carl Eidbo, a recent purchaser of an Amiga 500, brought in an AmigaBASIC program he was working on, and asked members why it constantly caused his Amiga to Guru. Nothing was visibly wrong with the code, so we narrowed it down to just three lines. The program listing below ensures a visit from the Guru: NS="Wclcome Mr. Guru" SAY TRANSLATES(NS) BEEP SAY TRANSLATES(NS) Wc compiled the program with the AC-BASIC compiler, and it worked flawlessly. We also found that any slight delay causing the program to pause before executing the last SAY
command avoids the Guru.
Coincidentally, I received a letter from Jerry Vaughn of San Diego, CA, reporting the same bug. He noted that the probiem does not appear under AmigaBASIC 1.1. His code is similar to Mr. Eidbo's, except the BEEP command is replaced by the SOUND command.
Mr. Vaughn sent along copies of correspondence he has sent to Microsoft and Commodore about the problem. Microsoft responded with a letter stating that since AmigaBASIC is licensed to Commodore, Commodore provides software support. The letter to Commodore, dated March 25, 1987, is still unanswered.
Ronald Mushin, of Downey, CA, reported that Mirror version 1.5 has a bug that prevents it from running on some Amiga A2000 computers. Programs from other companies may also have difficulty because this problem can be traced to a change in the keyboard design on the new machines.
Mirror self-boots properly and brings up the introductory screen, according to Mr. Mushin, but when you try to select either FI or F2, the keyboard locks up and will no longer communicate with the computer, Frank Lewis of Holly Springs, NC, wrote with some workarounds for ABSOFT's AC-BASIC Compiler. Bryan Catle s review of AC-BASIC (AC V2.10) mentioned some of these bugs.
If a program has been compiled without the "U" option or DIM STATIC, and is then recompiled with either of those options, the stack size information in the icon file ON DISK gets updated correctly. This is not a bug in AC-BASIC, but a quirk of the Workbench system. The icon already displayed on the screen is a memory- resident copy of the original, however, and has not been changed. The solution involves forcing Workbench to re-read the icon from disk after recompiling. If the .run icon is in a drawer, close and re-open that drawer's window; if the icon appears in the disk window, close all
open drawer windows for that disk, and then close and re-open the disk w'indow.
The CVL function can prcduce all kinds of bizarre and undesirable results (including visits to Mr. Guru).
As reported in an earlier column, a patch is available from Absoft.
When doing library calls, the current version of the compiler does not properly support the requirements of expanded memory systems. Programs that open icon.library or graphics.library (and others, perhaps?)
Will run successfully, but some nasty things may happen later, including lost icons. Guru meditations, and system lock-ups. FixHunk, a public domain utility, patches all memory allocation requests to CHIP memory only and solves the problem.
Mr. Lewis also reported that compiled programs using arrays (such as GET PUT and BOB arrays) to hold graphics data are likely to display the graphic as blank or garbage on expanded- memory systems. Patching the .run file solves this problem if the arrays aren't STATIC (either through DIM STATIC or compiling with the "U" option), According to Mr. Lewis, since the STATIC arrays are allocated in the stack area, and there isn't any way to force AmigaDOS to allocate a stack in CHIP memory, this is the only possible workaround.
Charles Followell of Franklin, IN, reported a problem with the Zing!
Documentation. Mr. Followell runs an A1000 with 1.5 meg of RAM and 1.2 KS WorkBench.
R COMMODORE 6 ‘I * ft M I G fl* I g 8 1 laaiaBHHaaiaaig oiaaa QQQQQQQQaaa aaaa u _j _i _i _i _J _i _J i i i jjjj QQBHQQQoaaa aaag jjjjj jjjjjj t_i t i Irl.XIl I ' I COMMODORE COMPUTERS 617-237-EBHG The Memory Location 39E Washington 5t.
Wellesley, MR D21B1 Commodore Specialists While configuring ZINC!, he tried to set the default gadgets at the bottom of the "File Information Window."
The manual states that you need only use the abbreviation DSK to assign the Diskcopy window. Every time he tried, the program responded with "invalid abbreviation." After ordering an updated manual, he found that even the new manual listed the DSK instruction.
Using Newzap, Mr. Followell scanned the disk and found a list of ail three letter abbreviations. DSK is not listed, but DCP is listed. The workaround for this one is to simply use DCP, instead of DSK. Mr. Followell also comments that ZING! Is a great product.
My son, Joshua, is a fan of Barbarian, and he plays it regularly. He was particularly proud to report a bug he found in the program. He quite innocently asked me why Barbarian goes off to Guru-Land every time our phone rings. After running a couple of tests, we confirmed the bug. My Amiga 1680 modem is connected to the computer serial port and the telephone line. Evidently the ring detect signal from the modem causes the problem. The problem occurred on both the A500 and A2000.
Speaking of the Amiga 2000, my keyboard has a problem sensing the first key press after reboot. Upon cold-start or re-boot, the first key press is ignored. At first 1 thought I was not hitting a key properly, but I have found the problem occurred one hundred percent of the time. The newest keyboard for the Amiga 2000 seems to be the culprit. The latest shipment of A2000 computers was packaged differently from earlier shipments, and the entire shipment exhibits the problem. The new keyboards look identical to the old ones, but they are held together with phillips screws, rather than plastic
holding tabs.
WordPerfect is shipping an upgrade dated November 25, 1987. You can find your version's date by pressing the Help key; the version date is in the menu bar at the right. The update, available directly from WordPerfect, fixes several bugs. A major overhaul of the Okimate 20 printer driver is included. The Text In Out menu has added Save and Load IBM Word Perfect file options, and Save and Load IBM Text file options.
Support for Amiga Intuition style keystrokes has also been added. These keys work with many packages that support intuition. Here is a list of alternate WP commands: Pressing the left Amiga key and I selects the next tvord to the right of the cursor; O selects the next sentence to the right of the cursor; P selects the next paragraph to the right of the cursor; J selects the next word to the left of the cursor; K selects the next sentence to the left of the cursor; L selects the next paragraph to the left of the cursor; N brings Workbench to the front; M sends Workbench to the back. Press
ing the right Amiga key and X cuts a block; C copies a block; P pastes a block; I changes the attribute to italics or returns it to plain text; B changes the attribute to bold or returns it to plain text; U changes the attribute to underline or back to plain text; Q cancels (same as Fl); and S saves a file (same as F10).
To receive an update, visit your WordPerfect Dealer, who can make updated copies for you (if you bring in your master disks) or contact Word Perfect and report the bug. Updates to repair bugs are free.
WordPerfect Corporation 288 West Center Street Orem, Utah 84057 Customer Support (800) 321-5906 Send all correspondence to: John Steiner c o Amazing Computing
P. O. Box 869 Fall River, MA 02720
• AC* Solutions to Linear Algebra through Matrix Computations in
both AmigaBASIC™ and C This article details the basic
operations and computer routines necessary for solving linear
equations using matrix algebra. The routines that must be
developed for matrix algebra will perform the following
operations on a given matrix or set of matrices: by Robert
Ellis Definition of Terms ROW A row is a set of matrix elements
which occupy the elements running horizontally in the matrix.
In the example matrix below, ROW 0 has its elements in capital
Addition subtraction multiplication determinant of a mtri Inverse of a matrix copy of a matrix multiplication of a matrix by a scalar A 1,2 a2,2 Al.l a2,l C mat_addO ) ( maUsubO ) C matjnltO ) ( mat_det() ) ( mafJnvO ) ( mat.cpyO ) C mat_sclO ) COLUMN A column is a set of matrix elements which occupy the elements running vertically in the matrix. In the example matrix below, COLUMN 0 has its elements in capital letters.
The three primary routines are: the formation of an inverse matrix, determinant of a matrix, and multiplication of two matrices. The basic operations for solving linear equations can be performed with these three routines. The additional routines are provided as support routines.
Solving linear equations is important to electrical engineering. Linear equations can be used to describe a variety of problems dealing with electrical network analysis, transient analysis problems, and sensitivity and tolerance analysis.
The engineer can become more accurate and productive using these matrix tools.
The algorithms and basic matrix operations are discussed in this article, and the implementations of these operations are included to help you use matrix algebra effectively. The implementations of the computer routines are written in C and placed in a single library file. The matrix operations are also implemented in AmigaBASIC. With all the C routines abstracted into one library, it is easier for the programmer to use the tools effectively. The BASIC version is included (because of the manner in which the subroutines share variables) in the file which contains the main program.
Al.l a2.1 a2.2 A1.2 ORDER The order of a matrix is defined as the ROW by COLUMN size of a matrix. This number can be calculated by counting the number of rows and columns, or by the position of the lower right hand element. The examples above are matrices of order (2x2). The following matrix has an order of (2 x 3).
Ol.2 a 1.3 a2,2 a2.3 al.l a2,l NOTE: The element values in these examples start at 1.
The implementation of the computer routines have index values starting at a value of 0, however. This difference allows more efficient memory storage allocation.
Matrix Addition ( mat_addO ) Forming the sum of two matrices (A and B) to result in a third matrix (C) is a simple operation. This operation requires only that the two matrices are of the same order.
(The number of rows in matrix A must equal the number of rows in matrix B, and the number of columns in matrix A equals the number of columns in matrix B.) The number of rows in each need not equal the number of columns, however.
Matrix Multiplication ( matjnltO ) Matrix multiplication is restricted by the size of the two input matrices. The restriction for operation A * B is that the number of COLUMNs in A equals the number of ROWs in B; therefore the operation A * B is NOT equal to operation B * A. Example: The matrix sum is produced by adding each individual clement of matrix A to the equivalent element in matrix B. The result is placed in a third matrix (matrix C), as shown in the following example:
(A) • (B) = (C) = 5 10 17 26 order = (2x2) A = 1 3 B = 2 1 5 7 1
3 = (2x2) A = 1 3 1 8 = 2 1 order = (2x2) order 5 7 13 order
= (2 x 2) order = (2x2)
(A) + (8) = (C) = 3 4 6 10 order = (2 x 2)
cl. l = (al.l ' bl.l) + (a 1,2 * b2,l) 5 = cl,2 = (1 * 2) + (3 *
1) (al.l * bl.2) + (a 1,2 * b2,2) The C routine to perform
this o aeration is comprised of two 10 = (1 • 1) + (3 ' 3)
loops. The outer loop cycles through the set of ROW index
c2,l = (a2,l * bl.l) + (a2.2 * b2,l) values. The inner loop
cycles through the set of COLUMN 17 = (5 * 2) + (7 * 1) index
values. At each unique index pair, the element of matrix A is
added to the element of matrix B. The result is c2,2 = (a2.1
‘ bl,2) + (a2,2 * b2.2) placed in the C output matrix.
26 = (5 • 1) + (7 * 3) Matrix Subtraction ( mat_subO ) Forming the difference of two matrices is identical to the matrix addition process, with one notable exception: subtraction is the operation at the element level. Example: A = 1 3 B = 2 1 5 7 1 3 order = (2x2) order = (2x2)
(A) - (B) = CC)
- 1 2 4 4 order = (2x2) Matrix Scalar ( mat_sclO ) Scalar
multiplication of a matrix is a very simple operation.
Each element of the matrix is independently multiplied by the external scalar value. The routine which performs this action ( mat_scl() ) is comprised of two loops. The outer loop indexes the ROW values and the inner loop indexes the COLUMN values. At each location in the matrix, a floating point multiplication of the element and the scalar takes place. The result is placed in an output matrix. Example: 1 3 5 7 scalar = 3 A = order = (2x2) [A) * scalar = (B) = 3 9 15 21 order = (2x2) (continued) Matrix Determinant ( mat_det() ) Finding the determinant of a matrix reduces the elements of a
square matrix to a single scalar value. This operation was credited to G. W. Leibinitz in 1693 and later updated by G. Cramer in 1750. Judicious use of these determinants can help you solve simultaneous equations for independent variables.
Finding the determinant is limited by the fact that the matrix being operated on must be a square matrix. For example, the syntax of the determinant in an equation would for example read Dct(A) = 5.
The matrix has a set of properties and restrictions limiting the types of matrices which can be used to form a determinant value. The first of the restrictions has already been stated the matrix must be a square matrix. This means the number of rows must be equal to the number of columns.
The other special properties are as follows:
1) If any row or column of the input matrix contains all zero
values, the resulting determinant will have a value of zero.
2) If any two rows or columns of the input matrix are pro
portional to each other, the resulting determinant will have a
zero value.
3) If any full row or column of the input matrix is multiplied
by a scalar value, the resulting determinant will be that many
scalar value times larger than the original determinant value.
4) If the determinant of an input matrix has a set resulting
value, and if two rows or columns of that input matrix are
interchanged, the resulting determinant value will equal the
negative of the original scalar value.
The computer routine in this article is based on "Gauss's elimination method." Another method, although not discussed here, involves evaluating the minors of a matrix and sum of the results. The total number of calculations using :he Gauss method yields a result in (N**3) 3 operations.
The Gauss method is based on a technique that uses a "pivot" element as a reference point. This method aims at forming a resulting matrix which has all zero values to the lower left of the major diagonal. An example of this method: all al2 al3 0 a22 a23 0 0 a33 Once the matrix is in the form shown above, the value of the determinant is formed by multiplying all the elements along the major diagonal (A = all * a22 * a33).
The following set of steps describes the actions taken by the computer routine to solve the determinant. The steps are rvriiten in an algorithm which can be implemented in any language.
[STEP 1] Select a pivot element.
[STEP 2] If the pivot element is equal to zero, goto STEP 7.
[STEP 3] Control falls through to this point if the pivot is nonzero, in which case divide ROW by pivot.
[STEP 4| DET = products of pivot elements.
[STEP 5! Form zeros in the remaining rows below the current pivot element.
[STEP 6] If all the pivots have been found, return to caller, else goto step 1.
[STEP 7] If all the remaining columns have been added, return to caller with a DET = 0, else fall through to STEP 8.
[STEP 8] Add next column to the column which has the pivot term equal to zero, then goto STEP 1.
[STEP 91 Pass control back to caller.
Although the algorithm is not directly translatable to any computer language, it does describe the main flow of the routine. Inspection of the code provides the detailed information needed to form a determinant.
Matrix Inverse ( matjnv() ) The inverse of a matrix is very useful in solving linear equations because multiplication of a matrix by its inverse forms a unity matrix. The property of a unity matrix states that any matrix multiplied by unity matrix equals the original matrix. These two facts allow you to solve linear equations.
(The process is covered later in the article.)
The method for finding the inverse matrix is similar to finding the determinant of a matrix. The matrix is decomposed to form a unity matrix (ones along the major diagonal). While this decomposition is performed, the resulting inverse matrix is stored in the original matrix. An index of where the final elements should be placed is maintained.
The index is then used to place the inverse elements in proper locations at the end of the routine. The overall algorithm: 1] LOOP for the number of columns in the input matrix.
[STEP [STEP [STEP 2] Find the pivot clement.
3] If necessary, interchange rows to put the pivot element on the diagonal (by saving index to the row, and the column of pivot element), 41 DIVIDE the pivot row by the pivot element at the row and the column.
[STEP [STEP [STEP [STEP 5j Reduce all rows, except the pivot row 6j Pass control back to top of loop in step 1.
7) Interchange pairs of columns saved in index array (STEP 3), in
reverse order, to form proper inverse matrix.
8] Pass control back to caller.
[STEP MatTix Copy ( mat_cpyO ) Although copying a matrix is not very complicated, this routine is included in the matrix tool kit because it will be used very frequently. For example, when the matrix operation involves replacing the original matrix with the resulting matrix, Matrix Copy is necessary because the matrix library is written in such a fashion that operations performed by the subroutine are nondestructive to the input matrices.
Matrix display ( pmatsO ) This routine was written as a debug aid. It displays a square matrix on the console device.
Linear Equations Solutions After all the matrix routines have been entered and debugged, the routines can be used to solve a set of linear equations. Setting up the operational rules and guidelines is the first step in forming a solutions. Consider the following set of linear equations with m equations and n unknowns: a(l,l) x(l) + 0(1.2) x(2) = k(l) a(2.1) x(l) + a(2,2) x(2) =k(2) Figure 1 In this example, the A and K terms would have defined values, and the X terms would be the variables yet to be determined. The object would be to find values for x(l) and x(2), which would allow k(l) and
k(2) be valid results for the set of equations. The general form for the set of equations in Figure 1: [A)(n x m) (X)(m x 1) = (K](m x 1) In this form, the term [A] is a set of known coefficients in a matrix of order (n x m). The unknown terms, or variables, are given by the [X| matrix, which has an order of (m x 1).
The set of (Kj terms includes the known result for each equation and has an order of (m x 1). Once the equations are set up in this form, 5 steps must be taken to find the values of the unknown variables.
Step 1 Multiply both sides of the equations by the inverse of the A matrix. This calculation results in the left side of the equation containing the A matrix multiplied by its inverse, multiplied by the variable matrix. The right side of the equation contains the K matrix multiplied by the inverse of the A matrix.
[AM [Al [X] = (AH (K Step 2 The next step is to substitute the value of the A matrix multiplied by its inverse with the unity matrix on the left side of the equations. This results in the following representations.
Cl) [X) = [A) -1 (K) AMIGA HARD DISK BACKUP HARDHAT Full Incremental Directory Single File backup to microdisks.
Option list allows skipping of files by name with wildcards.
Catalog file provides display of backed up files by name with size, location and datestamp. Double data compression reduced disk space. Printer interface. Uses CLI or Workbench.
Multitasking provides background operation. S69.95 AMIGA DISK FILE ORGANIZER ADFO Having trouble finding that file somewhere in your stack of floppys? Can't find all the copies of a particular file? ADFO maintains a database of directories and filenames from your collection of disks. Fast response inquiries return location and last update information. Printer interface. Uses CLI or Workbench. 512K ram and 2 drives recommended $ 59.95. AMIGA SPELLING CHECKER SPEL-IT Uses 40,000 word primary dictionary and optional second dictionary. Add Delete words to both dictionaries. Includes
plurals. Text wordcount totals. Uses CLI or Workbench, Mouse or keyboard. $ 49.95 Include $ 3.50 S&H Mastercard Visa Accepted Calif. Residents Add 6Va% Sales Tax
* 2 e4tc6*H.
3386 Floyd Los Angeles, CA 90068 (213) 851-4868 Order phone 1 800 621-0849 Ext. 494 Step 3 The left side of the equation can again be reduced to the X matrix. The fact that any matrix multiplied by the unity matrix is equivalent to the matrix itself causes the reduction.
The next form of the solution is shown below.
CO = CAM oo Step 4 The right side of the equation is now reduced by multiplying the known value [K] matrix by the inverse of the [A) matrix. This operation leaves one matrix on each side of the equation of the order Cm x 1).
(X) = (R) Step 5 The two remaining matrices are now expanded to
uncover the value of each of the unknown variables from the
original equation sot. This expansion, which takes the
following form, presents the unknown variable reference and
its scalar value which is necessary to satisfy the set of
simultaneous equations.
X(l) = valuej (continued) Listing One natlib.c File: Function: Date: Author: Floating point matrix library Aug 1987 Robert w. Ellis Ellis Copyright 1987 Robert Change list: printf("Matrix subtraction test n“); prats (" A matrix”, a, 2}: prcatsf" 9 matrix",b,2) ; mat_sub(a, 2, 2, b, c) ; prats (" C result matrix",c,2); nextkey 0; Te3t of matrix multiplication
• *** The allocated size of the matrices used as input to the
library routines MUST be the sane size as the rr.atricies that
are defined in the subroutines.
This is a limitations caused by the way In which 2 dimensional arrary are address in C. printf("Matrix multiplication test n”); prats(" A matrix",a,2); prats(" 9 matrix",b,2); mat raul (a, 2, 2, b, 2,C] .* pratsf" C result matrix",c,2); nextkey(); !• Test of a determinant of a matrix
* *"* ?include stdio.h Local defines ?define YES 1 ?define HO
0 printf("Determinant of a matrix n"); prats (" A matrix",a,3);
raat_cpy(a,3,3,c); rslt - mat det(a,3); if( rslt !- 640 )
printf("Answer If is NOT correct n”,rslt]; ) else ( I .....
• Test of inverse matrix operation a[0] |0] - 1 a|0] |1] - 2 a
10| |2] - 3 all] 10] - -1 all]|1] - 2 a|l]12] - 1 a|2]10] - 1 a
|2] (13 - 1 a f2](2] - 1 printf("Matrix inverse test n");
prats(" A matrIx",a,3); mat_inv(a,3): prats(" Inverse ",a,3|;
Entry points to library printf("Answer If IS corrcctXn”,rslt):
extern float mat det (); extern int mat mul(); extern lnt mat
inv(); extern int mat add() ; extern int mat_sub J); extern int
mat_cpyI); extern int mat_scl(); extern float f abs(); extern
int pmats(); Main test routine for matrix library, after
testing of library is complete.
This code should be removed ma in () I static static static static float a(10](10] float b[10]|10] float c 10 ] [10] float rslt; a|0][0] afO] (1] a (0] [2] all][0] all](1] a(l][2] a|2](01 a[2](1] a|2](2] 1; 1; -4 -3 -2 11 2: 1;
- 6; printf ( "Matrix a[0]10] - 4 a [ 0] [1] - 2 a[0][2] - 8
a[l][0] - 12; a[l](1) - 8 a[l](2) - 16; a[2](0J “ 16; a[2](13 -
* 12)[2] - 1 5; b|0][0] _ 3 b|0J [1] - : b|0]12] - o[l][0] - 2
bll] 11] - 1 all]I2J - 3 312]|0] - 1 a[2] HI - 2 b[2]12] - 1
printf(“Resulting inverse matrix should be n"); prats “ Inverse
matrix", a, 3); } • end of main • *..... End of test
routir.os Start of library Procedure Function mat_det This
procedure will calculate the determinant of a square matrix, b
* Input matrix size - Number of ROWs and CQLUMs in matrix Input
float mat_det(b, size) float b(10](10]; ¦ input matrix * int
size; * matrix size • 1 int ¦ local loop counters float det:
¦ • float tol; - • float pivot; float dmul; float c; int
done; int ncol; Test case for matrix addition •
prir.tf("Matrix addition test n"]; ixr.ats(" A matrix”,a,2} ;
pmatsC* 3 matrix",b,2); nat add (a, 2,2,b, c): I*nats(" C
result matrix", c, 2) ; nextkey(); r Test case for matrix
subtraction dct “ 1; tol - lc-10: * Reg, Special Price....
Re3i $ 299.95 por a Limited Time.... 5299•95 for! N-0; n size;
n++) ncol - n; done - NO; 1 HEG Ran Expansion while( ! Done ) (
1*-" $ 249.95' pivot - b|n)(n); if( n (size-1) ) Are you
afraid that a low price Means low quality, or there's a catch,
or you probably have to buy southing nore, like ran chips?
Det - det * pivot; done - YES; J else Our SC2233fl,McoHes in a heavy netal case, It cones with all ran chips installed. There's no catch. Nothing nore to buy. Just plug it in and power up. It's that sinple.
Lf( f_abs(4pivot) tol ) j * * **
* subsection A
* * * ** for( j-0; j size; j++) If you want pass thru, alot
of glitter that you nay never use and a price that's $ 180,60 to
$ 380.80 nore, then the £iZI5@SQ,M is not for you.
( b[n)[j] - b n|(j) pivot; But, if all you want is to add 1 neg of nenory, at the lowest price available, then call or write us today, If you are not satisfied we will cheerfully refund the purchase price, k - n + 1 ; for( i - k; i size; i++ ) droul - bli]In]; for( j - n; j size; j++ ) c - -dmul ¦ bin] | j]; b(i][j] - b[i)[j] * c; Vou have nothing to lose and 1 neg of affordable nenory to gain, Oauto-Configure ft Zero Waits O F u I I y Assembled ft Tested O 90 -P a y Parts ft Labor Warranty det - det * pivot; done - YES; KLINE-WmS } else t f * * * * «
* Subsection B ncol +- 1; for( j - 0; j size; j++ ) I bfj][n] -
b[j)[n] + b[j][ncol); 1 if( ncol size ) I 10 Carlisle Court
Vork, PA 17404 _Tel¦ 717)-764-4205_
* Plus Shipping 8 Hand Ii ng det - 0; return(1); * return and
signal NO errors * } if( det 0 ) I “ end of routine nat_mul
* return ( det ) done - NO; j * * * * * *
* Procedure : mat_inv 1
* Function : This procedure will invert the intput matrix ] *
ond of while * } * end of for n *
* Input : a - Input matrix return! Det)
• : n - Number of RCWs and COLUMs in matrix ) * end of
mat_det_int * ¦ Output : a - Input matrix is altered and
* : the resulting matrix j * « * • ¦ ¦
• ****•
* Procedure raat_mul mat inv(a,n)
* Function This procedure will multiply two input matrices float
a[10] [10]; to form a third output matrix.
Int n; * si2e of input spuare matrix *
* Input a - Input matrix A * ira - Number of ROWS ir. Matrix A
static int ipiv[20]; ica - Number of COLUMNS in matrix A
static int indxr [20), indxc[2Q] ; * b - Input matrix B int i,
j,l,ll,k; * icb - Number of COLUMS In matrix B int irow,icol; «
c - Resulting output matrix static float dum;
* ...... static float pivinv; float big; int mat
raul(a,ira,ica,b,icb,c) float a[ 10H10] rb 110) [10],c[10]
[10]; for j - 0; j n; j++) int ira,lea,icb; !
Int i,j,k; ipiv[j) - 0; ) for( i-0; 1 j ira; i++) for! I - 0; i n; i++) for( j-0; j icb; j++) f big - 0; for( j-0; j n; j++) !
C(i][j] - 0.0; for ( ( k-0; k ica; k++) if! Ipivtj] !- 1 ) c I [i] (j) +“ a[i] [Je] * b[k] (j ] ; for! K - 0; k n; k++ ) ] } J (continued) I if ( f abs (&a [ j] [k] ) big ] big - f_abslia[j][k]) ; irow - j; icol - k; ) forf i - 0; i ica; i++) I forf j - 0; j ira; j++) ( = [i] [31 - a[i] [jj * b[i] [jj; 1 ) else if( ipiv[kj 1 ) returnfl); printf("singular matrix n"); return(0) } * return a complete NO error condition * } * end of procedure mat add * ) ) !
Ipiv[icol] ¦ ipiv[icol) + 1; iff irow I- icol ) for( 1 - Or 1 n; 1 + + ) j h ik * A *
* Procedure : mat aubf)
* Function ; This procedure will subtract two input matrices and
* : form a third output matrix
* Input ; a - Input matrix A : ira - Number of ROWS in matrix A s
ica - Number of COLUMNS in matrix A : b - Input matrix B : c -
Output matrix C dura « a [IrowJ [ 1] ; a[irow][1] - a[icol][1];
a[icol][1] - dum; 1 indxr[i] - irow; indxc[i] - icol: if(
a[icol][icol] 0 ) printf("singular matrix n"); return 0); ]
* ***** int mat_sub(a,ira,ica, b, c) float a[10][10]; int ira;
int ica; float b 10][10]; float c[ 10 ] [10]; ( int i, j; forf
i - 0; i ica; i++) pivinv - 1 a[icol][icol); a[icol][icol]
- 1; forf 1 - 0; X n: 1++) r forf j - 0; j ira; j++) (
cfij[j] - a [1] [j] - b(i][jj; ) i a[icol][l] - a[icol][l] *
pivinv; ) 1 return (1); lor( 11 - 0; 11 n; 11++) ( * return
a complete NO error condition V iff 11 !- icol ) ) I* end of
procedure mat add * dum - a[11][icol]; a[11J[icol] - 0; for(
1-0; 1 n; l+ a[ll)[l] - a [11][1] - a[icol][1] • dum; ) )
) )
• Procedure : mat_cpy
• Function : This procedure will make a copy of a matrix
* Input ; a - Input matrix A : ira Number of ROWS in matrix A :
ica - Number of COLUMNS in matrix A
* J b Output matrix B EorI 1 - n-1; 1 - 0; 1-) ...... iff
indxr[ 1] !- indxc[l] ) f forf k - 0; k nr k++) dum - a [
k] [indxr 11 ] ] ; a[k][indxr[1]] - a[k][indxc[1]];
a(k][indxc[1]] - dum; ] } } int mat_cpy(a,ira, lca,b) float a
[10][10]; int ira; int ica; float b[10][10]; f int i»j' *
local loop counters * forf i - 0; i ica; i+4) I forf j - 0;
j ira; j++) return(1); * return a complete NO error
condition * L f b[il [j] - a[i] [j] • I * end of procedure
mat inv * } )
* Procedure : mat addf 1 Function r This procedure will add two
input matrices and
* : form a third output matrix
* Input ; a - Input matrix A
* : ira Number of ROWS in matrix A
* : ica - Number of COLUMNS in matrix A
* : b Input matrix B
* : c Output matrix C return(l); • return a complete NO error
condition • ] ¦ end of procedure mat cpy * **-••*
* Procedure ; mat scl
* Function : This procedure will multiply a matrix by
* a scalar int mat_add fa, ira, ica,b, c) float a [10][101; int
ira; int ica; float b[1Q](10]; float c]10]110]; [ ¦ Input : a -
Input Output matrix A
* : ira Number of ROWS in matrix A
* ; ica Number of COLUMNS in matrix A
* ; scalar - value to multiply elements by
• ***«* int i,j; (continued on page 98) If You are Searching for
a Monthly Resource to the Commodore AMIGA Amazing x
XcomputinctC Wake t p and Sme £ ze Coffee!!
I-it mat_scl (a, ira,ica, scalar) fLoat a[10] 10]; int ira; Lit ica; Listing Two float scalar; ( int I,j; • local Icop counters * for( i - 0; 1 lea; 1++) ( for( j - 0; j ira; j++) a[illj] - a(i] j) * scalar; I 1 File: matlib ' Function: Floating point matrix library ' Language: AmigaBASIC VI.2 % Date: Aug 1987
* Author: Robert W. Ellis ' Copyright 1967 Robert W. Ellis '
Change list: J ' Global data allocation DEFDBL a, b, c, h, r, s
DIM a (10,10) DIM b(10,10) DIM c(10,10] DEFINT l,n % Subroutine
shared variables ' subroutine raat_inv DIM ipiv(20) DIM indxr
(20), indxc(20) 1 Main program and test area PRINT “matlib test
program* a (0,0)-4 a (0,11-2 a(0, 2)-8 a(1, 0)-12 a(1, 1)-8
a(1,2)-16 a (2, 0)-16 a (2,l)-32 a(2,2)-16 b (0, 0) -3 b(l,
0J-2 b(2, 0)-1 b (0,1)-1 b(l, 1)-1 b(2, l)-2 b(0, 2) -1 b (1,2)
-3 b(2, 21-1 return(1); • return a complete NO error condition
• ] * end of procedure mat scl •
* Support and Debug routines .
* Procedure : fabs
* Function : This procedure will the absolute value of
* a floating point number.
Input : val - Pointer to input signed floating " point number float f_abs(val) float *val; return( (*val 0] ? *val : -*val J; }
* Procedure
* Function pmat* This procedure will display a square matrix of
floating point numbers
* Input s - Pointer to header string a - Input matrix A n -
Number of rows and columns ¦ ' Test case for matrix addition
prtats (s, a, n) char *s; float a[10 J flO]; int n; Jnt i,j;
static float temp; print f ("Pmats - ls n%s); for i - 0; i
n; i++) ( for( j - 0; j n; j++) PRINT "addition test* PRINT
** A matrix" CALL pmats (2, a () ) PRINT * B matrix" CALL
pmata(2, b() ) CALL mat add (a (), 2, 2, b () ,c ()) PRINT * c
result matrix" CALL pmats (2, c()) PRINT "hit return to
continue" INPUT chS temp- a[iI(j); printf("%f ", temp) ;
prlntf(" n") ; ) * end of procedure pmats * * end of file
matlib.c * msxtkey 0 printf(“Hit any key to continue n*):
kbhit O; getch ) ; ) ' Test case for matrix subtraction PRINT
"subtraction test" PRINT " A matrix" CALL pmats(2,a() ) PRINT "
B matrix" CALL pmats (2, b() ) CALL mat sub (a (), 2, 2, b() ,
c ()) PRINT " C result matrix" CALL pmats (2, C() ) PRINT "hit
return to continue" INPUT ch$ ' Test case for matrix
multiplication PRINT "mult test* PRINT * A matrix* CALL
pmats(2,a )I PRINT " B matrix" CALL pmats(2,b()) CALL
raatmul(2,2,2,a(),b(],c(M PRINT " C matrix" CALL pmats 2, c())
PRINT "hit return to continue" INPUT chS ' Test case for
determinant of a matrix PRINT "dot test* PRINT " A matrix "
CALL pmats 3, a )) CALL matcpy(a (J ,3,3,c()) CALL matdet
3,r,c )!
PRINT “ Determinant result r -";r IF r - 640 ) THEN PRINT " answer is correct * ELSE PRINT * answer is NOT correct* END IF PRINT “hit return to continue" INPUT chS a(0, Q)-l a(0*1)-2 a(0,2)-3 a (1,0) -4 a (1, l)-2 a(1,2) -1 a(2,0)-1 a(2,1) -1 a(2,2)-l ' Test case for matrix invertion PRINT “Inverse matrix" PRINT " A matrix" CALL pnats (3, a(H CALL matinv(3, a )) PRINT “result matrix" CALL pmats (3, a ) J a(0,0)-1 a 0r1)-1 a (0,2) 4 a (1,0) 3 all, 1) 2 a(1, 2)-11 a(2, 0)-2 a (2, 1)-1 a (2, 2) 6 PRINT “should match the following" CALL pnats (3, a()) PRINT “hit return to continue" INPUT chS
' Test case for scalar multiplication PRINT "Scalar multiplication by 3" PRINT “ B matrix" CALL pmats (2, bl) ) CALL natscKbO ,2,2,31) PRINT " B result matrix" CALL pmats 12, b() ) PRINT "hit return to continue" INPUT chS PRINT “end of main" END ' end of main program 1 Subroutine : mat_inv ' Function : invert a matrix 1 Inputs : DtttllM SUB matinv(n*,a 2)) STATIC SHARED ipivo SHARED indxr l) SHARED indxcO PRINT “mat inv" n- n-1 FOR j-0 TO n ipivlj) - 0 NEXT j FOR i-0 TO n big-0!
FOR j-0 TO n IF( iplv(j) 1) THEN FOR k-0 TO n IP( Ipiv(X) - 0 ) THEN big- ABS(a(j,X)) irow - j Icol - k ELSEIF ( lpiv (k) 1) THEN PRINT “singular matrix" RETURN END IF NEXT X END IF NEXT j ipiv(icol) - ipiv(icol)+l IF( irow icol ) THEN FOR 1-0 TO n dura-aIirow,1) a irow, 1) - a(icol, 1) a(icol,1) - dum NEXT 1 END IF indxr(i) - irow indxc(i) - icol IF I a(icol,icol ) - 0! )THEN PRINT “singular matrix" RETURN END IF pivinv - 1 a (icol, icol) a(icol,icol)-l FOR 1-0 TO n a(icol,1) - a(icol,1) * pivinv NEXT 1 IF( 11 icol ) THEN dum - a(11,icol) a(11,icol) - 0 FOR 1-0 TO n a 111, 1) - a
(11,1) - aficol,1) ¦ dun NEXT 1 END IF NEXT 11 NEXT i FOR 1- n TO 0 STEP -1 IF( indxr(l) indxc(l)) THEN FOR k-0 TO n dum - a (k,indxr(1)) a (k,indxr(1)) - a(k,indxc (1)) a(k,indxc(l)) - dum NEXT k END IF NEXT 1 END SUB ! •*•*• encl 0f subroutine mat inv Subroutine Function mat_mul multiply two matrices a - input matrix A Ira- number of rows in A ire- number of columns in A b - input matrix B icb- number of columns in B c - output matrix C Inputs SUB matmul(nra%,nca%,ncb%,a(2),b(2),e(2)) STATIC nra
- nra - 1 neb
- neb - 1 nca
- nca - 1 FOR i-0 TO nra FOR j-0 TO r.cb c(i,j) - C!
FOR k-0 TO nca c(l,j) - c(i,j) + (a(i,k) • b(k,j)) NEXT k NEXT j NEXT i END SUB ' end of subroutine nat_mul 1 Subroutine : mat_der ' Function : multiply two matrices (continued) Inputs : b - input matrix B : nsize - size of square matrix : b Input matrix B 4 Outputs : c - Output matrix C Outputs : rdet - determinant scalar SUB matsub(a (2),nra%, r.ca!,b(2) ,c (2)) STATIC nra - nra - 1 nca - nca - 1 FOR i-D TO nca FOR J-0 TO nra c(i,j) - a (i, j) - b(i, j ) NEXT j NEXT i END SUB end of subroutine mat sub ' Subroutine : mat_cpy ' Function : copy a matrix
* Inputs a - Input matrix A nra - Number of ROWs in matrix A nca
- Number of COLUMN* in matris A b - Output matrix b
* Outputs SUB matcpy(a(2),nral,nca%,b(2)) STATIC nra - nra - 1
nca - nca - 1 FOR i 0 TO nca FOR j-0 TO nra b(i,j) - a (i, j)
• • end of subroutine mat cpy Subroutine : mat_scl Function :
multipliy a matrix by a scalar ' Inputs a - Input matrix A nra
- Number of RCWs in matrix A nca - Number of COLUMNS in matris
A scl - scalar value a - Output matrix A % Outputs :
* *«***«•**•*• SUB maticl(a(2),nra%,nca%,s]) STATIC nra - nra - 1
nca - nca - 1 PRINT "nra ";nra;" nca*;nca;* scl*;s!
FOR i-0 TO nca FOR j-0 TO nra a(l,j) - a i,j) * si NEXT j NEXT i SUB matdet nsizel,rdet,bt2)J STATIC nsize - nslze -1 rdet - 1J tol - 1E-1G FOR n-0 TO nsize ncol - n done - 0 WHILE done - 0 ) pivot - b(n,n) IFC n - nsize) ) THEN rdet - rdet * pivot done - 1 ELSE IF( A3S pivot ) tel ) THEN FOR j-0 TO nsize b(n,j) - bfn, j) I pivot NEXT j k - n + 1 FOR i-k TO nsize dmul - b i,n) FOR j-n TO nsize temp - -dmul ¦ b n,j) b (i, j) - b i, j) + temp NEXT j NEXT i rdet - rdet * pivot done - 1 ELSE ncol - ncol + l FOR j-D TO nsize b(j,n) - b(j,n + b j,neol) NEXT j IF( ncol nsize ) THEN rdet - 0
END IF IF rdet - 0 ) THEN GOTO detend END IF done - 0 END IF END IF WEND NEXT n detend: END SUB end of subroutine mat det END SUB end of subroutine mat scl mat_add Subroutine Function add two matrices a - Input matrix A Inputs nra - Number of ROWs in matrix A nca - Number of COLUMNS in matris A b - Input matrix B c - Output matrix C ' Outputs SUB matadd(a(2),nral,ncal,b(2),c(2)) STATIC nra - nra - 1 nca - nca - 1 FOR 1-0 TO nca FOR j-0 TO nra c(i,j) - a(i, j) + b(i,j) NEXT j NEXT i Start of support and debug routines
* Subroutine : pmats
* Function : print a square matrix SUB pmats |n%r a 2)) STATIC n
- n-1 FOR i-0 TO n PRINT " | " ; FOR j-0 TO n PRINT USING "
*!? . Ml "; a (i, j) ; NEXT j PRINT * |" NEXT i END SUB
END SUB end of subroutine mat add
• AC* Subroutine : mat sub Function ; subtract two matrices a -
Input matrix A Inputs nra - Number of ROWs in matrix A nca -
Number of COLUMNS in matris A by Steve Faiwiszewski Modula-2
Programming on the Amiga™ Calc Continued... [ The following
source is the remainder of IMPLEMENTATION MODULE Interpreter,
which appeared in AC V3.1. Also listed are the remaining
modules to the Calc program, introduced in AC V2.12
- Ed| PROCEDURE Firstlnit; VAR i t CARDINAL; tl: nodep; 3EGIN (*
initialize operator stack *) NEW(tlI; tl*.Ison NIL; tl*,rson
NIL; tl*.oper r; operstack lJ:-tl; ostack:-l; FOR i:-0 TO 26 DO
valdef|1] FALSE; END; FOR i:- 1 TO maxtree DO treestack(il NIL;
END; FOR i:-2 TO maxoper DO operstack[i] NIL; END; END
Firstlnit; x Evaluate(root*.Ison,sue); IF x - 0.0 THEN RETURN
sqrttx) ELSE HandleError IllegalValueForSqrtError,0);
what:-oops; END I 'V' : RETURN(SubstituteVar(root)) * Because
of the way power is implemented in TDI's *) (* MathLibQ, we
have to calculate it ourselves if x *) * is negative. We take
advantage of the fact that ¦) I* x*p - exp(ln(x) *p) (Thanks,
Art!) ¦) x Evaluate (root'*.Ison, sue); IF x - 0.0 THEN RETURN
0.0 ELSE PROCEDURE FinishUp; BEGIN DestroyHeap; END FinishUp;
BEGIN Firstlnit; END Interpreter.
P Evaluate(root*.rson,sue); IF x 0.0 THEN RETURN exp(ln(x)*p) ELSE (‘ x is negative •) x ABS(x); IF entier(p) MOD 2-0 THEN RETURN exp(ln (x) *p) ELSE RETURN -(exp(In(x)*p)J MODULE Calc; (*““ . (• (c) Copyright 1986, 1987 by (* Steve Faiwiszewski t Richie Bielak (• (* For non-commercial, non-profit use only, ("* * * * .. END END (* x is negative *) END ELSE WriteLine('*• Evaluates Program Error ••'); sue FALSE; END 1“ CASE “) ELSE (*5A+*) (* Change all JSRs to BSRs in all modules ¦) IF (root-NIL) THEN *$ S- •) (*$ T- *) FROM InOut FROM MylnOut FROM MyRealOut FROM
InterpreterO FROM Interpreter FROM WBStart FROM Strings FROM CommandLine FROM DOSProcesslian FROM AMIGAX (* IMPORT Trapper; WrlteLine('Evaluate: Program Error! Root is NIL'): END; sue FALSE; END; IF what oops THEN writoLineP- Unknown Problem in Evaluation -'); what oops END; RETURN(0.0) END Evaluate; PROCEDURE InitStack; BEGIN (• initialize stacks and stack pointers *) tatack:-0; ostack:-l; (• next expected token is either a number or "(" ¦) (• so whatwas must be set to operator. *) whatwas operator; what operator; END InitStack; IMPORT WriteString, WriteCard, WriteLn, Write, Read,
OpenInputOutputFlle, CloselnputOutput; IMPORT ReadStrlng; IMPORT WriteReal; IMPORT treestack, WriteLine, Trim; IMPORT CharSet, Evaluate, GrowTree, InitStack, tstack, what, syrabtable, valdef, tokentype, ErrorType, HandleError, exptype, FinishUp; IMPORT LaunchedFromWB, ReturnToWB; IMPORT Length, Concat; IMPORT CLStrings, GetCL; ler IMPORT Exit; IMPORT ErrorProcessor; (continued) CONST MaxArgs - 10; LF - 12C; FF - 14C; CR - 15C; v'AR linesize, point, argc, offset, digs, i line exprtype ; argv result sue, FromCcmmandLine, done CARDINAL; : CLStrings: exptype; : ARRAY(0*.MaxArgs : REAL; OF
l) ; PROCEDURE PrepareToExit; BEGIN FinishUp; IF NOT
FromCoraraandLlne THEN CloselnputCutput END; IF
LaunchedFro.*nW3 THEN ReturnToW3 END; END PrepareToExit;
PROCEDURE ErrorTrappor; (* If we get here, PANIC! •) (•
Display an error rasg, then close *) * everything and guit.
¦) VAR dummy : ARRAY [Q..1) OF CHAR; BEGIN WriteLine!’**
Runtime Error!1! Gotta Quit!! **'); WriteString(’Save all
other work, then press RETURN: ReadString(dummy);
PrepareToExit; Exit(99); END ErrorTrapper; PROCEDURE dohelp;
3EGIN (» DO HELP •) Write(FF): KriteLine( 'This CALCulator
program lets you do various calculations.r) WriteLine('Enter
expressions as you would write them*'); WrireLine('Supported
functions and operators are:'); WriteLir.ed +, -, 1, , "
(power of), '); WriteLine (' A3S, SIN, COS, TAN, LOG, LN, EXP,
SQRT.') ; WriteLn; WriteLine( 'In addition you can use up to
26 variables (A thru Z)'); WriteLine!' To store values, for
example:'); WriteLine!' You enter - a-2*4' , WriteLine(s You
enter ~ a'); WriteLine ' Output - 8.00'); WriteLine!' You
enter - b-a*2'».
WriteLine!' You enter - b'); WriteLine!' Output 16.001) WriteLn; WriteLine!
'You can use variables in the expressions too.'): WrlteLlne( '(for example b-23*a). To change the number of decimal'); writeLine( 'places displayed use Dn where n is the desired number of' WriteLine( ’decimal places. Valid values are 1 through 7.'); WriteLn; WriteLine ('Type A to find out more about Calc'); WriteLine('Type E to Exit.'); END dohelp; PROCEDURE Helpswitch; BEGIN WriteLine('One of the following : WriteLine(” ' Dn': for n decimal places"); WriteLine!” ' H' •* for help"); WriteLine(” ' E' : to exit*); END HelpSwitch; PROCEDURE ErrorKandler(err: BEGIN WriteString!1*** Error CASE
err OF MissingValueError: ’WriteString!'Undefined Variable') MissingOperatorError: WriteString('Missing Operator') MissingOperandError: WriteString!'Missing Operand') I MissingCpenParenError: WriteString('Missing Open Parenthesis') I MissingCloseParenError: WriteString 'Missing Close Parenthesis') I IllegalValueForTanError: WriteString('Illegal Value for Function Tan') IllegalValueForLogError: WriteString!'Illegal Value for Function Log') f IllegalValueForSqrtError: WriteString!'Illegal Value for Function Sqrt') J IllegalValueForExpError: WriteString!'Illegal Value for Function Exp') I
DivideByZeroError: WriteString('Divide by zero error!') I GeneralError: WriteString('General type') ELSE WriteString ('Unknown type') END; WriteString!'. (Level - *); WriteCard(level,1); WriteLine!') »«-'); END ErrorHandlcr; ErrorType; level: CARDINAL); PROCEDURE GetInput; BEGIN REPEAT IF FromCommandLine THEN line argv[0); done TRUE; ELSE WriteString('CALC'); WriteCard(digs,1); Write! ' '); ReadString(line); END; Trim(line); linesize:-Length(line); UNTIL linesize 0; END GetInput; PROCEDURE UpperCaseLine VAR line VAR i : CARDINAL; BEGIN FOR i 0 TO size-1 DO lined) CAP(line[i]); END; END
UpperCaseLine; PROCEDURE ProcessSwitches; BEGIN IF line[l] - 'H' THEN dohelp ELSIF line[l] - 'E' THEN done TRUE ELSIF lined) '2' THEN HelpSwitch ELSIF (line [1] - 'D') AND (line[2] IN CharSet *1'71 )) THEN digs:-ORD(line[2])-ORD('0') ELSE WriteLine ('*** Invalid Switch **¦'); END END ProcessSwitches; PROCEDURE DeterminExpressionType(i : CARDINAL): exptvpa; BEGIN IF line[0] IN CharSet 'A'Z') THEN i :- 0; * search for an equal sign •) WHILE (line[i) *¦') AND (i linesize-1) DO INC(i); END; IF lineli) - THEN RETURN assg END; END; (* IF *) RETURN expr END DeterminExpressionType; PROCEDURE
ProcessAssignment(offset : CARDINAL); VAR 1 : CARDINAL; BEGIN point offset + 1; GrowTree(line, point); IF what oops THEN 1 QRD(line[0)) - ORD(’A'); IF tstack 0 THEN sue TRUE; symbtable[i]:-Evaluate(treestack[tstack],sue); IF sue THEN valdef(i) TRUE; END; ELSE ARRAY OF CHAR; sine CARDINAL) ; WriteLine('** * Invalid Assignment ***') EKD END END ProcessAssignment; PROCEDURE ProcessExpression; BEGIN point 0: GrowTree(line, point); IF what oops THEN sue:-TRUE; result Evaluate(treestack[tstack],sue); IF (wha1000ps) AND sue THEN WriteReal(result,digs); WriteLn; END END END ProcessExpression;
PROCEDURE Processlnput; BEGIN UpperCaseLine(line,linesize); IF linesize 0 THEN IF lineiQ]-'?' THEN dohelp ELSIF line(0) - V' THEN ProcessSwitches; ELSE exprtype DetermineExpressionType(offset); (¦ do what has to be done *) CASE exprtype OF assg : ProcessAssignment(offset) I expr : ProcessExpression END; END; (* ELSE *) END; • IF •) END Processlnput: BEGIN (¦ Main Line ¦ done FALSE; HandleError ErrorHandler; ErrorProcessor s- ErrorTrapper; FromCommandLine :» FALSE; IF NOT Launched?romWB THEN IF NOT GetCL(argc,argv) THEN WriteLine('Something is wrong with the Command Line!'); END;
FromCommandLine argc 0; END: IF NOT FromCommandLine THEN OpenInputOutputFile(*CON:0 0 640 200 ACale Vl.lb'): WriteLlne( 1 (c) Copyright 1986 by Steve Faiwiszewski & Richie Bielak'); WriteLine(lEnter ? For Help.'); END; digs;-2; REPEAT InitStack; Get Input; Processlnput; UNTIL done; PrepareToExit; END Calc.
J Included here is MODULE ModemDemo which was accidently omitted from Steve's column in AC 2.11 - Ed] MODULE ModemDemo; FROM SYSTEM IMPORT BYTE; FROM AMIGAX IMPORT ErrorProcessor; IMPORT Trapper; CONST Timelnterval - 50; CSI - 233C; VAR OldErrorProcessor : PROC; PROCEDURE ShutDown; BEGIN MyClose; CloseSer; END ShutDown; PROCEDURE ErrorTrapper; (* Close our window, and call TDI's error handler *) BEGIN ShutDown; OldErrorProcessor; END ErrorTrapper; PROCEDURE CheckForExit(): BOOLEAN; (• See if F10 was pressed •) VAR C2 ; ARRAY (0..1) OF CHAR; BEGIN MyRead(c2[01); MyRead(c2[1)); IF (c210] - '9')
AND (c2 [ 1 ] « THEN RETURN TRUE ELSE SerWrite(c2,2) END; RETURN FALSE END CheckForExit; PROCEDURE LoopAround; CONST BufferSize - 256; VAR c : CHAR; SerialCharsWaiting ; LCNGCARD; Buffer : ARRAY [0. .Buf Ter Size - 1J OF CHAR; i : CARDINAL; Stop : BOOLEAN; BEGIN Stop FALSE; REPEAT WHILE MoreCharsComing TimeInterval) DO MyRead c); IF c - CSI THEN Stop CheckForExit() ELSE SerWrite(c, 1); END END; SerialCharsWaiting QuerySer(); IF SerialCharsWaiting 0 THEN SerRead(Buffer,SerialCharsWaiting); IF SerialCharsWaiting BufferSize THEN Buffer[CARDINAL(SerialCharsWaiting)1 OC END;
MyWriteString(Buffer) END UNTIL Stop; END LoopAround; (••***»»*«*****»*** (* A simple program to demonstrate serial (¦ port I O.
(" * This program may be freely distributed (* For non-commercial U3e only.
(* * Created by Steve Faiwiszewski, Sep 87.
(* Plink : THE INTERN (* BIX : theintern (* CIS : 74106,425 BEGIN * open serial port at 1200 baud, 7 data bits, 1 stop bit *) OpenSer(1200, BYTE(1),BYTE(7),QC,0C,0C,QIC); HyOpent 'RAW: Q Q 640 200 TDI M2 Serial Port Demo. Press F10 to Exit,'); OldErrorProcessor ErrorProcessor; ErrorProcessor ErrorTrapper; LoopAround; ShutDown; END ModemDemo.
FROM Serial IMPORT OpenSer, CloseSer, SerRead, SerWrite,
• AC- QuerySer; FROM MyRawInOut IMPORT MyOpen, MyClose, MyRead,
MyWrite, MyWriteString, MyWriteLn, MoreCharsComlng; FROM
Terminal IMPORT WritoString, WriteLn; 68000 Assembler Language
Programming on the Amiga™ ASSEMGR.ASM Part II The following
source is the remainder of the ASSEMCRjism graphics routine
from AC V3.1. Chris will be back next month with more 6SOOO
Assembler Language Programming. Ed] move.1 move.1 move .1
move.1 SYS ? 3, dO ? 0,dl ? 0,d2 ?15,d3 SetRGB4 (at)
* color ? 3, set to R-G, G-0, 5-15 move,1 lea. 1 move.b SYS
graphicsbase,a6 rastport, al RP_JAMl, dO SetDrMd(a€)
* JAMl drawing mode (see
* Set the drawing mode rastport. I) move.1 lea. 1 move.b SYS
graphicsbase, a6 rastport, al ? 0, dl SetRast (a6)
* Set the entire screen to color t 0 rts * Draw something on the
screen • crawsomethlng: move.1 lea. 1 move .1 SYS
graphicsbase,a6 rastport, al ? 1 ,d0 SetAPen(a6) * Set the
foreground pen to color 1 move .1 lea. 1 move.1 move.1 SYS
graphicsbase, a6 rastport, al ? 10, dO ?12,dl Move(a 6) * move
the drawing pen to (10,12) move.l lea. 1 move.1 move. 1 SYS
graphicsbase,a6 rastport, al ?320,dO ?200,dl Draw(a6) * draw to
(320,200) move.1 lea .1 move.1 SYS graphicsbase,a6 rastport,al
?2,d0 SetAPen(a6) * Set the foreground per. To color 2 move.l
lea. 1 move.l move .1 move .1 move. 1 SYS graphicsbase, a6
rastport, al ? 50,dO 35,dl ? 70, d2 ?60,d3 RectFill(a6) Fill a
rectangle from (50 ,35) to (70, 60) move. 1 lea. 1 move.l SYS
graphicsbase,a 6 rastport, al ?3, dO SetAPen (a6) * Set the
foreground pen to color 3 move.1 lea .1 move.l move.l SYS
graphicsbase,a6 rastport, al ?300,dO ?40,dl Move(a 6) * move
the drawing pen to (300,40) move.1 lea.l move. 1 raove. 1 SYS
graphicsbase,a6 rastport,al ?3,d0 ?190,dl Draw(a6) * draw to
(3,190) rts • END OF PROGRAM *
* Library Definitions • graphics
dc. b 'graphic
s. library',0 cnop 0,2 graphicsbase ds. 1 1 * base address of the
graphics lib; savesp ds. 1 1 * save stack pointer
• Viewport definitions - viewport ds .1 1
* Next Viewport in a linked list (none) ds.l 1
• ColorMap pointer (none) d3 .1 1
* Dsplns (none) ds .1 1
• Sprlns (none) ds .1 1
* Clrlns (none) ds .1 1
* Ucoplns (none) vpwidth d3. W 1
* Width vpheight ds. W 1
• Height vpdxoffset ds. W 1
* DxOffset vpdyoffset ds .w 1
* DyOffset vpmodes ds . W 1
• Modes (ju3t 320x200) ds. W 1
* reserved for system use (empty) vprasinfo ds. 1 1
* Pointer to Raslnfo structure
* View definitions .
View ds.l 1
* Pointer to viewport ds. 1 1
• LQFCprLlst (none) ds.l 1
* SHFCprList (none) dxof fset ds. W 1
* DxOffset dyof fset ds .w 1
• DyOffset vmodes ds. W 1
* Modes (just 320x200)
* BitMap definitions * bitmap ds. W 1
* bytes per row (40) bmrous ds. W 1
* rows ds .b 1 ¦ Flags (none) bmdepth ds .b 1
* depth ds .w 1
* Padding space plane!
Ds. 1 1
* Plane 1 pointer plane2 ds. 1 1
• Plane 2 pointer plane3 ds.l 1
* Plane 3 pointer plane4 ds.l 1
* Plane 4 pointer planes ds.l 1
* Plane 5 pointer plane6 ds.l 1
* Plane 6 pointer plane?
Ds .1 1
* Plane 7 pointer plane8 ds.l 1
* Plane 8 pointer Raslnfo definitions ra sinfo ds. 1 1
• Next raslnfo structure (none) ri bitmap ds. 1 1
* Pointer to bitmap structure rirxoffset ds. W I
* RxOffset riryoffset ds. W 1
• RyOffset
* Rastport definitions * rastport ds. 1 1
* Layer rpbitmap ds. 1 1
* pointer to bitmap deb. 1 17,0
* clear the unused portion end
* End Of Program!

• AC- The AMICUS & Fred Fish 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.
The Fred Fish disk are collected by Mr. Fred Fish, a good and active friend of the Amiga.
Note: Each doscfiplkifi line balow may include something like 'S-O-E-O, which stands for ‘source, object file, executable and documentation’, Any combination of these letters indicates what forms of the program are present. Basic programs are presented entirely in source code formal.
AMCUS Disk 1 AI1CU9 Oft* 3 semBstr tests ser a1 port com mends Amiga Bat: Programa: Abtsic prognmi: GrapNea C prognmi; sensa-p.c exam toe of ser.p port use (Note: Many of toese pmyam s ye present on AMCUS 3DSo os 3d sa d* modeling prog, w.'tampe a'O AmgaDOSopecttpri'y nragv.S E prrrnitrx sarr.pie pr:n» interface cooe D'Sk 1. ttese were converted te Amga Base, dMf« te text fie yeftve program, S-E crtoase n printor Sewca twhnSons and are included here.)
Btocis d'aws boots f*obj autfKFep* tRecutapto lies reg:ht»ic r*gon »st program AdcressBook a sTpe odd-en booxdrabase Cubes draws cubes tfre; smp'e CLI shell, &E sefaca.c so lxcb to i nwi ace orVof prog ram BA draws a ball Durer C'BWS pcure* in to* Style of Outer sq.usq fto rampresson progyami.S-E bbtoa*aiie-ic settheattnbutes of the parallel port Ccad prog-smto convert Com puaerve hex Fscape a'ftvs frecal landscape* YamC a familiar game, S-E SetSeriN.c tet the artnbutes (penty, datertofpari the fie* b binary, S D Hdden 3D drawng program, vS hidden ine Make a simple’make1 programming utility,
S€ sngpay.c angle pfayfied example Cue toe game, Inn ton driven removal Emacs an early vemonof Jre Am gatest editor. S-E-D speechtoy.c BourcsbharrBtof and phonetics demo CoiorArt and-awng program Jpad simple paint program Aiserrbler programs: smeoely.c a m pie tmner demo De'uxeOaw toe drawing program in toe 3rd AC, S-D Optical draw several optca! Il’usani bseartn.asm bna7sea,chcode Imer.c exec support timer fynctan* Elza co nversa tonal com puter psych of og st PantBax ample pamt program qsoTasm Unix compatible qsort( funeton, sou'ce Imrstotc moreexacsupportttmer functon* Otoeilo toe game, as
knovrt ai o' Shula draws the ShutJ* in 3d wrefrrn andCteK program WvtoFont-c laids and disp'sys tl Bvilabe *ysBm fona RirMaa 30 ratmaze game Spaa Ar: graprtcs demo se;mo asm w mpQ code for Latlce 3 C2 process.i and praase.i tssm,eWer «lude iee: ROR bogging grapTcsderra Speaker speech (itfity Svpnntt Ur.txsysBm VcompKtoepnn t) autarqsd.Bt wan ng* of deadlock* wto auti'eCueKar* ShutSe draw* 30 pctL ea of toe space tfutSt Sphere draws spnetes tee* o Unix compBtae trsefl fxtcton, O-D corsoleO.txt co py a1 toe RKM console VO chapter Spelng smpie»eiing pro tm Spu draws co or sp a*
(Trxsdskfo'mer hadFFspecjfcaton esrdaxamfiea S«b dpi fort Pel wsnngofditottonttoadngbyg YoYo ward 2yo-g'*v;ty yo-yo demo. ?adt* ThreeDee 3d t-ncaon pos 1i s 5&« is corstar.ly updsJed, S’* FF soec kies n*ve »en L8tunc.at! 1st of Sde'res, n acn s fioct or* yo-yo to toe mouse 1000c'arry artfcaJ topx'iery moved to ret wr. Dsx m tie AMXUS coiecton ) nautoev.txt pretmnarycopy of Siam put devceerspte' txs cuatx* progrima: Wheels draws crde graphs John Draper AmigaTutoriili: License mformaton on Wofkbenchd siPbutor ice se 3Dcube Mac ut-2 demo of a rctat-g cube Xeras orawsfraea! Pianet landscapes
Arwaaa oescr oes an mason Bgomrms crr.w pre-'eeese ccpy of ne chsptor on pr.nw dr,vM. From Alton ses a second con image, assayed AbiiC pf Og rim. T: Too" * Gadgets tutona! On gadgets RKM 1.1 vllld.bct ’df'of.toiecMngesfrsmvB'sn I.Oto 1.1 wnentoflcansc&ed AocmssBoo* srple datjoase proc'S"1 'or add-esse* Menus learn about Intoiion nerut v2drVdff UrT of mtudefie ffianges from verson 3 ta 1.0 Amga Sob a sow but smart speiichediar,E-D CroFie smple card ie Ckaoase program AMICUS Dak 3 AMCUS Dak 5 Flae from the Amiga Urvk am toe ARC *le com press on progra Dora multwiridowoema C prognmi; Amiga
hformation Nrtwofk mj*t-h.»rt 'or telecom, E-0 KeyGsces stu ws *£ycoO« tar a key you ptesa Xref aCcro**-referencegen,SE Note that tome of these f w am old, and refer to older verson* of Bertrand g'apTK* cfemo Menu run marry A Base program* from a menu 6bitofor exM-hah-brghtchip gtx dema, S-E toeoperibngsyswh. ThwefiiesarefronAmgaLnk. Foraame, disk savage prog, ta rescue trashed disks, EX MoreGolors way to get more colon on the scrow Chop r-ncaS (chop) I esdowitone, S-E Commodore supported Amiga Ink, aka AN. For or Lne developer KwkCapy a ou-oi but natty disk copy stance, using eiiasng Cfeanup
removes strange charatays tram Bxtl es Bctirvca' support, ft was only up and running b* severa’ weeks.
Prog ram ignores errors. EX shapes smpfe color shape designer Speekit CR2LF canverts ca'riage returns to ine feeds n These fie* do not carry a warranty, and are tor educational purLitoOir lets hunks in an objectffe E-0 speech and narrator dem o Amiga filea, 66 poses only. Of course, tnaf* not to say bey don't work.
SavelLBM saws any screen as Ffpc.E-D??
Abbi c programs: Gamei Erry adds compile errors to a C fie. S A demo of Intuition meruit called 'menudemo', In C source Scree rO-urnp sha'ftva-e screen dur.pprog, E only BrickOut dassc confx.Br prck wa’l game Helo window ex. From the RKM, S wheies.0 Ind a ffe searching oil modi rectories Ste’Tenn Wtoon 2.0, femn program. XmodemEX Otieila also known a* ’go' Harm generc Kermit mpfemantation, fiakay, bobtesLc BOB orog'amTing exampe Teita: Saucer ample shoot-em-upgarie no »rmwaf mooe.S6 sweepc sord tyntoes textmpe LattocMan Ipson ixng_mainjcln Latlce Speling smpetaXng spefling game Scaes sound
demo pays scales. S€ AaaemUar llae: Gdw&w make ywjrownS 1 4 dm* ToyBcx tertctabrt gnpnicsdana SkewB Ru ton cube den o r N-msoon, S-E myCev.aim sampe oevoe qkive* GuruMed ex Oars the Guru nuriOer* Aeii c prog run a: Sound* AjmlgiBiBcProgt(dir)
m. yfaasm sa.Tce iCviry exar Lat3.C3ougs tuglstaflartoeCvB-son 3
03 Emertaner prtysthattune Ajtor-aa cftijy automata amultsan
myfitii Mforgeflev userfeview of toe UcroForgeHD HALS ICO
pretends fs a real compuBr OiryE gnts card game nyoev.i
PnrtSpcPer EXECJJTE-Mseo pent spool prog.
Pooe $ ¦ mpie Mice siren sound Graort txa on grapN-g programs SS-TSUDp.r .BMAP files: 5ugarP; Ti p ay* The Dance of The Sk-ga-plum Wtft.ngHour a game r acmai Es»-b«r tndude fie* These afe toe necessary • rk.s between Amgi Base ard toe Fa'-e*- AbssC progrima; Texts: tystemi! Peri©*. TotakeacNimageoftoeAmga'scipablities C program*: Casio games o! Poker, to ackjack.ooa, aid enpa amgirck* Spa on CLI comm anc* in Base, you need tone Fits. BMAP* ere nc'uded for ‘d sT, Atem ampfe »rninal ptegrrn, S-E Go max j a so known at totMho’ exvw eateml d.sk spetskcason '001*04', bskfonf. 'exec', ’con'.
Inlnton', laye's’, 'matoffe-, CC ad to camping w? Lance 0 Sabotage sort of an adventn game gemeport game port spec matoeeodo a'. ‘ratoeeesrgoa**. MithTin*', po a’, dacwtt opposite af CONVERT v cross Executable prognmi: paralel pe’a o port spec ‘tmer'and ¦jtnslaar*.
Deveape's Dsasser aBSOMdisassemser, E D
* ana! Senal pvt spec AMCUS Dlak 9 Dotty Kxjrce cooe to re dotty
widow demo DoSide snows a given set o' FF pcvres. E X
vl. lupcaie Istofnewfeatoreim verson 1.1 Amiga Basic Programa:
echo* urK-syfe filename expansion, pamal S.OX Arrange a text
tomarang prog'am, EX v1.1h.ttt Biff of indude
II*Changesttmafeflon FtgitSm ample Ightsirnulitar progr*.m
fastertp explains use of fast-floating point matt Aaaambler
prognmi; Rles tor building yayr evm printer driver*, induing
dotpeoei.c, HuePsette expans Hue, Saturation, A Hers ty FaDaa
fixes future dates on al f£es on a disk, S-E goterm Wm:nai
program vnfr apeecn end Xmodem.
Epeondatac, rutasm, pri.ntor.c, prntar.ink, pnnbrtagasm, Recuester ex. Of requeslysfrom Amga Base treec'M &rrpie Workbench d-awng prog.S-E S-E render.c, ahdwalasn. ThfediskdoescohBin a number of fie* ScrolOemo demonstrates scrolling capabiites GfxMem graphs memory usage indicator, S-E AMICUS Dak 4 Fllia from the oriofniJ Amloa descrbmg the IFF tpecfcaion. These are not tha latest and Syntoesizer sourd program Grep searches tor a gwn sting in a We with Tachnieai BflS 5'mbs; fiei but remain here for hiKwicaf purposes. They World Map drews a map o* toe world does.
Ham shows off tn* hald-and-modity Note that some of these ttes are rid, and retor to older versions of rdude textiles and Csource exampiei The latest FF »ec 1* Encutable programa: metood of color generation te operating system. Those lies came from be Sum *y stem that Ssewhereinthitiibwy.
Bomgl latest Bo ng demo.Wto seierabie speed.E lBW2Ar,gfl ?aE peraiief catoe transfers between served as Amga Saoncal support HQ for mow of TB85. These AtfOS-HriLi IFF Picture 8fufr2C converts an FF ttu*h ta Cdata an IBM and an Amga les do not carry a warranty, and ye for educatonai pupeses Ins csx hdudes toe DPSlide program, when can wew agven nstncticns, inpalziPw code, E ManCd M andebrot set program, S-E only. Of course, hats not to say they don'two-x.
Seres of Ffpictoxes, and toe ‘snowpic’ program, wh h can wew Srjto2lcon converts FF bosh te ancon, E moire patterned graphic demo, S-E each f fe atthecfick of an con. The pct e* ndude s screen fra m Dazze yaoHcs demo, beck* ta mouse. E aafx makesUttce Cob ctsie symbol* Cot pee ard reyly up-to-dato C source to '-egeecf, an ee'ty ArtcFox. B Degas daxsr, toe guy*af Eecronc Am, igo'f a. OecGEl asse-ole* prtgram for Ropo-ng vsofe to Wack, S-E vtonon of Jto ton Editor, Ths n a iitte laky. Outcomptes anc hyses.KngTm iiightofluse.asoeenfrom Mar&eMidness.toe eB3f0er'»AS6X qjck quick sortstongs roU5ne
Bug* Bunry Mart an, a sal from an oid movie, toe D re Sbaitt KlorK meru-ba.' Clack and datedi y, E r Off exampe sampe wndwr lO moving company, a screen from RnbBI Contoucton Set. A TV life toe game of kfe. E set ace tom* on inter: ace mooa, S-E An htorMn damo, tn full C Source, including H**;d*eiomenuc nwraste'. Re PantCen, a world mao, ¦ Pome, i ctutoe TmaSet Hltwn-basedwsyto aettoetmeA dt» sparks qxtypegraparcoemo, S-E demomenu x. Cemyeq.c; graac c. oe-oc. Idemogude.
Miawn pacn, a tyrannoatfutrM, a piret vew, • VISA card.
EMEracs trotor Emacs, moe or anted ta other axacutabJa program: toemo.rike, kJenoaft.h, nooaac. And txw*»c and a b~-speed word pmcesang. SEX SpeeeiToy speecr den or sraton addmem.c add ertemai memory to the syttem AMCUSDskT DgiView HAM darno pietura diak %ai a CLI shel. Wj-k* wtocut the WtwnFont displays a’! Ava. Aa* tarts toOteslc example of BOB use Ths dw has 5eves ten toe DgiVae hoid-ind-nacify w»o Worktro, S-EX Text*: consoleDx conKie Dexanpie tSgwer. Ilincludes the lades witopendltandlalfypopA toe young Teite: 5S020 describes 66020 speedup bca'd from CSA aeaportc c*ea« and deete ports
grt, toe bJldaief, toe horse and bu y, toe By» csw, toe FncnKeys read tuxlon keys from Anga Base Aiases exp&rs uses of toe ASSIGN command cease c create standard LO request Poonarypage, toe robot and Robert Thuindudeiapm amto HacxerSin ex pan show town the game hacker’ Bugs known bug fat in Lattce C 3 02 aee'jxscc cmatng task example* veweach. Peture sepa-ttefy, and all together a * sepvKe. Udabfe IstMtO guoetoinstalrga 68010 in your Am ge CLICa-d reference card far Am gsDOS CU dntoo.c ex*mpeofpack read and wito K-wns The ¦Beei bm' pog'am. Ta turn any screen Into an IFF Bong I lateti Bo ngi
demo.wto soectabiespeed, E CLICOT.mands guide to usng tie CLI doty.c sou reels the Idotty window' demo peu re.
Brutfi2C converts an FF Crush to Cdata Commands shorter gudfl to AmigaDOS duilpiay.c dual payfieid example AMICUS KiKB nKrucfrcrw. Imtakzaton code, E CLI commends iood.c flood fii example C programs: Brush 2lcon converts IFF brush te an -con, E EflCor.mands guide to the ED editor keemapc oyVERSIONolteemap’ Dowse v.ew text files on a disk, us ng menu* 6E-D Oazbe g?aprtesdemo, packs ta mou», E Fienames AmigaDOS *rtname wkfcard geltoPs.c tool* for Vspnas and BOBe Ojoct removes comments and white space DecGEL assembler program for stepping Convertons gfxmern.c graphc memory usage irxicaia from
Csles, S-E 66010 errors, S-EX HalfBrgm, expars r are g,acrcscr DS that can co haiio.c wndaw example from RKM fconExec EXECUTE a series of camminds Kkxk menu-twdock and difcdiapfey, E myecPas mputtov.c addng an input heno'er to input ireBT from Workbench S-E life toe game of fri* E MademPns descr.plon of tbe seria portpnovt joysskc -eaCng toe joystick PDSceen Cbmp dumps Ristport of hgnest screen to primer FmeSet hLnbon-based way to set toe time date, RAMUS** bps on soring up your RAM: d« keytod C 4'«t kaytoaato read ng SetATtemate sets a second image for an con.
EUEmacs anotoer Emacx. Mgre p-ented to ROMWatt tps or usng ROMWac* iayerle*.c syersextmpe* wtoen cc-.ec cxe 6E wyq srjeessng. S6X Soundt expanaton of Imlrumenl demo sound maj*portc B*t mouse port SetW-ndow maseswndowsfar aCLIprogram MyCLI a CLI she), wo t wtoout toe toe form at cwrrib.c. te run under Wo huberxto 6E Workbench, S6-D Speed fefjaMnef nga’i CPU Bndcuflamffip speed ownjttoa&m example af meung you* own rprtry wto Lttoee SmalCkxk asmai dgtai codun * wrdowmeru bar WackCmcs tps an usng Waex pentostc bs3 parsiei pol com mine * Scnmper toe sceen pnnBf in toe fourth AC 6£ T*xt»: FrcrKey*
aiders how to read frneon keys from Amg* Base HfeswSfi axp'anshowto win r « game Vaeker' tejSatO guide to irstelng* 63310 nyo r Arga Prr.terTp send ng escape sequences to your prnter StirtjpTp Ipsonsitrgtpyogrstirjp-seqjefxa'e X1mrfiev»aw b«tof Transformer program* toat work Printtr Driven: Prnfrwdnvorsfof heCanorPj-lCfK A TeC ItehPro writer, *n improved Epson driver tout ei.roinates ireakng, tie Epson LCW03. TieQemin Slar-IO.Tne NEC8Q25A, U-ACXideta WL-
92. The Panasonic KX-P10 X family, *yj me Smito-Corona DISC, wti
¦ document describing the instelation process.
AUCU5 Disk 10 friatoument sound demos This is in eon-driven demo, circulated to many deaien h irr Judes Vie sounds of an acouficgutar, in alarm, a bro. A bus guitar, i bank. Aealiope.aca'horn, daves, water crp, ekere guitar, a flute, ihara arpego, a toekdrum, a marrnba, a ygart minor trord, pe:pe tafkaig, pgs. A ppe organ, a Rrooes pans, a saxophone. A fct» a (rare drum. 4 steal drum, be 3. A v Drop-one, a voir, a wn rg guitar, i h arse wfirny, and a wn ste AMCUSOiHH C orograms dr A frlLiOrvbasad, CLI replacement manager S-E cpi show* and adjust* pnony of CLI processes, S-E ps show* nfo on
CLI processes, S-E Vktex displays CompuServe RLE pto*, S-E AmgaBaec program* pontered pointer and tpnteed,tor program optimize opdmizetion ei ample from AC arbde eaerdar ta ge, animawf calendar, dary and date book program arr.arfrae laanamorazatons bnitftoBOB converts amal FF brushes to A~ga3aso BOB OBJECTS gajs craw and Pay waveform s hloert draws KI bert curves mtdLb m Sd Lb itory gen*r Uor mtitteJk taking mal ng list program rn-ac ows3D 3D g 'atrcs prog ram. From A C™ artoe mrustefracfc .moosBtBc'c'geiampdnh res node stct Sot rraore game beacae the game switch pacfxnko-ikeg&me weird m skes
strange sound* Executobie program* cp unix-iike copy command, E di screen dear, S-E dtf! Unix4ike Beam editor use* biff output Id 1x lies prr chart recorder performances md cater Assemb r programs di screen tear and CLI argument* example Lkdula-2 till novmgwrormgraprvcsoemo cawcorrvert convert Mod Ji-2 keyword* t uppercase Forth Braanehan cede agontor example A-eyze 12tempo*sfor Tespreadsheet Anayze There are four program* here ffa! Read Commodore 6* picture fie*. They can transire Kota Pad. Dootfe. Pnnt Step ard News Room yaphcs to FF torn at Gettng re flTa-a from your C-6* to youi Amiga r*
toe had part AIACUS Diak 12 E ecutable program* bfik ’alink'compatible link*, but faster. E-0 char spinathodiAbr dskdeaner*. E-0 ep son set *ends Epson aetang* a PAR from menu E-0 showtxj V'ewh-respcsinlow-ressupertxtmap. ED speaktme teitoelme, ED j'dee* undeletes a lie, E-D crvaokfrm converts Apple ][ low, median and high res pdm t FF, E-0 rrvsrued menu edior produce* C code Jor menu*. E-0 quck puck d*k-»-d*kntC(e coper, ED
q. ofA copies Electroroc Artad;**, remove* protection, E-0 t*jd
1J demo of test edter from UcrosmrtaX-0 C programs sfinl
rotating block*grashes demo, S-E-D pcpdi start a new CL I at
the press of e button, like SdeAck. S-E-D vtprte Vspnte
example code from Commodore. S-E-D A-rvgaBBS Air.iga Bibc
bJletn toad prog S-D Anombiar programs
r. srfO make* star WidaJike Star Trek Lnro.S-E-0 Pcirrs
Uo'JitHandebrot 30vewo1Uandabratset Sir Destajef hi-res Sar
Wars mn p Rotot robot arm, grabbing a cynder T Bfs vtnooi
AMIGA vendor*, names, fddfMSSt c irKi fixes to early Cardco
memory boarda exude cross-reference ta C induce flea mndwHker
duesto playing the game well adethow make your own sjoestows
from the Kate cose ope 6 ss AMCUS Disk 13 Amiga Base programs
Poutnes from Carolyn Scheppner of CBW Tech Support to read and
dsplsy IFF pidumsfrom Amiga Base. Wthdocu- frentaloa AI*o
ncWed a a program to da ween prims in Amiga Bate, and t»*
newest BMAPNea w!h acormcted Con- vrtFD program. Wth anrrpia
p -j«s. And he SaveLBH ayeen capt e program.
Fouines tr load tnd psy FuueSound and FF sound f-es from. Amg* Besc. By John Foust tor Appied Vfcont Wti documemioon and C and tsaembier aoi ce far wrtng your own Itrrartea.snd ter*ecng Cta liantwi- tytrm Wnaiarpte sound.
Execjtar « prog'ans Thf d K ao conm.x severai Sat of aoenanot tor kr ga P gh!
SmJiter tL By pittng one of htese ae«n files on a Pink dsn, and maersngrt in the drt» afar perform ng a spec ai command si tin game, a number of inte'wsng locstons are press: ma r» Right Simulator pogram. For exarpe. One scanro pacesyoiE pane on Acshii whte another puts you n Cenfral Park afcuaa oi Teicanm iCiSoni disk corrtans sa termm*3 programs 'Com m' VI .33 term pog, w?th Xmodem, Wxmodem, 'ATerm' V72 term pog. XJud« Super Kermit
* VT-10O‘V2.6 Dave Weciter'sVT-100 emu ator with g'av'7 So Am*
Jin66g-awtnongrapr c snuabx. SE-0 Teiis Wol make your own MO
inatnmnt interface, with doci rofltaton and s hi-re* schemalc
pya e.
Making smell C programs, S-E-D COMALh MakaC took Ike COMAL rMSer file, EmecaKey Makes Err acs tones on key defmlorte by Greg Doug as. S-D Auort 1.1 Snoop on system resource use, E D BTE Ba-cto Taie character edtor, E-D S» CLI program snows toe spt of a gvensetoffieA E-0 Wr&se Clfwndowu'SSty'eszes currant wXow. S-E-D AuflfflMJB Compactor, Decoder Steve Mchel AtgaBeee tools, S-D BobEd BOB end sprite edtor wnten in C.S-E O Sp teWasterll Spnte editor and nmator by Brad Kefer, E-D BtLaP Bitter chp exptoraton C pogram by Tomas Rokicki. S-E-0 Fpc hagepocessrgpogrBm by Bob Buth loads and saves FF
images, changes toem wth severp techtoqiues, E-0 Bankn Compete home bankng pogram.
Be! Ance you r chexkbo ok i E-D cons Console dercedemo pogram with supporbng macro roumea.
Freemsp Creates a visual dag* am o' free memory rouldev sample rput hander, hips key or mouse ftterlts AMCUSB H Sewral pogramstrom Amaiing Computng iiaues: Tools Xmodam.KermL and xnptrg Dan Ka7i C iTuctxeirvtei pogram. S-E-D ‘Anga Kermit* V4D(060) pod of toe Unx C-Kermit Amiga Base program s: 'VTek' V2.11 Tektona graphtcs terminalemulator BMAPRaader ty Tim Jones based on toe VT-100 brag. V2.3 and contar* FFBniSh.2800 by Mka Swnger latest 'arc1 fib compwsen AutoRec-etter example 'AngaHosf V3.9 tar CompuServe, he ,oes RLE DOSHsiper Wndowed hpp ryttern tor CLI pistes ibt«i CtS-B file Ttnrtr
Command*, S-E-D TixHtrk'
• apanoan memory necess.ty PETrsn* translates PET ASDI fes» ASCfl
TixOp* temoves ga'bage cherecteff from fi*A S-E-D modem reoeved
%es Csc amd Graphes program from Soentfc
* Txf liter* text lies from onersyttens At anon. Sep 66. S-ED to
be read by toe Amga FC oil adcs or amoves car age reli.ma from
file*, 'iddTiem* executeabie versian for use wto mem S-E-0
txpansen a tce in AC v2_.1 dooecode decrypts Dd.xe Pain; wno
¦arc1 lie docur-eraton end a basic tutorial vescopy potecdon,
E-D on un "arcing fies queryfifi B asks Yes or No from the user
return* exit 'arcre1 lor makeng 'arc* files E.C. code, S-E
Amcyantt.il w VsCPc type soreMPeet, no mouse control.
Logo Amiga weon of toe popJacomputer ED language, wto example pogramt, ED vew vow* text Ilea with wndow and Tv7ext Demo verson of toe TVTexl sfoer gadget, E-D character generator Dng, Sprang, yaBohg, Zo ng a-e spfte-based PageSetter ReetydstrbutaPe wraon.sof toe updated Bang' style demo*, S-E-D PagePrnt end PageFF pagrams ter toe CLCiorx, (Coot, wQodc aw «m ow borde' docks, S-E-0 PageSetter desktos pub shrg package Taxli FJWndow Retoet any CU wxow usng only An *'to« on long-pertitenoe p-wxpy mgntva, tps on nek mg CLI commend*. E-D Pushes of odd snape* m Deluxe Pent and recommend at ona on
Lte3d 3-D verson of Conwiy'i L FE eon nte a»* from Conmodora-AT gA pog'am, E-0 AMCGS 0(1*15 Defrlu CLIuHiVto re assgn anew Thi C pogrma Incfuda: Wakbexhdsk, S-E-0 Y « file pint ng utilty. Wh*T. Print Tes in ne Cmxar.WKS Laus-compcbievmrksneettoet rakes 5®ckg*o y3, and wito in« numbers and control caiencara cnaracer Rtenng.
SeUCey Demo Of keyboard key re- fm* displays a chart of toe docks b located pog'armer, wito FF pctur* to on ¦ dik makefrjncton kay labels, ED Ask1 question* an 'execute1 !e. Returns an VPQ Vdeo panerrt generator tor error code to control toe executon in algning monitor*, ED that batoh file HP-IOC Hewlett¦Packa'd-lkecftlaj'ator, E-D Sar an enhanced wrsion of AmgaDOS SirPmts Chirge toe Prete-ences setngs ‘Status1 comm and.
On the fly, in C, S-E-D Dssotoe' randam-dotdsaohtedenod;spays FF pclure SarProbe Rogrm ttudus stele-evolution.
Stoefy, dot by dot m a random fashion.
C ssurceinduded for Anga aX TtopCLC irvoka new CLI window at toe Dress of U$ -OOS. S-ED
• key.
ROT C wson of Corn Frexh1* The ueeutable pegrame Indude: ArgaBasc ROT pogram from Fo*m' file brmetong program Trough toe A-ir-vg Computng. ROT adds pintefdnverte seed pintsfytet and dsp'iys pbygons to creete DskCaf cstaog* Ci ska nantana, sorts, merges tore* di.mensonel ooectx Up to keaotdakfJea 24 frames of a."im*bon can be PsouX* Sunfi a tndusfres1 tarrpied sourc created and dsOayed. ED editor 6 record®' Scat Like tog. Wnd;ws on screen run Tconmaxef- makes icons for most programs ewty from toe mouse, ED Fractal a* Paw* gtedfracal seascapes and mountain DK Decays' toe CLI wretow into dust.
Sea pea in Module 2. S-ED ¦30 Breakout1 30geise*. Create Peekoutn a newPmenswn Drop Shadow?
Adds layered shadows to 'AmgaMontor* displays 1st* of open file*.
Workbench wndowt, E-D mamoryuae.
Task*, devices end port* in use.
AMC.ySJMil ‘Coamorcds' verson of‘*sterods‘for toe Anga.
Thsdskcarnetseueralpogramtfrom AmazirgCorrpuing. The Sixers' r»gh resPuion graphes oem.o wri»n FF pctuteion toe dsk indude toe Arga Wake part T-frtrt logo.
In Moduli 2.
A sjteen-co or h es image of Andy Gnfto, and five Amga L«e!
Tarta: pctLtet from toe Amazrg Stories epsode rut batu-ed toe
• anatbtf expta-ns escape saguences toe CON: Arga device responds
SoVe bnee'oquatonsPver n essemby Fkey' rnCudes tempate b'makrg paper b language, S-ED tt m na tray *t toe top of toe At, ga Gadgets Bryan Cedey's AmgaBasicaJb'*.
Keyboard House nod Bryan Gadfly's AmgaSese Span1 pogram ner1* document from Commodore household inventory pogram, SD Am g a d«cr i bs ways to use fa Am g at mPrte tn ng capaa i tea Wave*orm Jim Steids1 Wavetorn WoArtegafiesc; S-D myot ownpogrem.*. DakLb John Kerrten's At gaBascdsx Amiga Bade program*: ! An an program, SD ‘Grcs‘ draw sound wsvetorms. And hear them payee, Subsapts Ivan Smith's Am gsBasc subsenpt Lighf aversion oftoe Tron Igm-cyCe vceo game.
Exanpie. S-D WgaSol’ a game of soitaxe.
Stnng. Boolean C pograms and execute a es far ¦Stats’ pogram toctecVate betfing averages Harriet Maybeck Toll s toLulion Ware
* try 1o grab ail toe tags of money toil you can,' btonai*, S-ED
AmtC0S15t!ss inctofettwobeduSfrjl Ffpcivres of the enemy
Skinny C Bob Flemersma's exam pie V wakershom ca panel m Star
Wars, anda pcljreoiachoetih, uamsMLtt tugtfer' demo by
EncGteham, a robot ogg « bouncrg hree mrrored t*!is. Wfi eound
e ecto. Twenty-tour frames of HAW anmcon ref pped quiddy
toprottx» this nage You cantrP tne speed of the jugging. The
auhor's documentation tints Siattis program rrvght someday De
ava aae Kscroduc FF plcLiree perodes of re cave's of Amga World
and Amicng Compulng rig tl net C program*: VpuT rdtr' exampe of
makrg an input handier.
FieZapT Pnaryfleedilngpogr&m ¦Sh.owPrnf d spays FF pKiire, and pints (I ¦Gen’ pogram indexes B"d retrwves C tt jctures and variables dedared in the Amiga include i« system.
Eiecutibfe Prognma: FixHunk? Rep»r*«'1«JC«wt,,&epopOT,l«br®*Pa'1 3ed memory ‘msZanus' convert* Mute Studio file* to FF rjndati "SMIJS'format I have heard tie program mght rave a tow bugs, «t»oa y r regsrea to very long tangs, but a worxa m most cases.
Wes e' Amga verson of SneWssile Command* vdec gar a. joynck Showshowtosetuptoegameporldwpe *s ajoysbcA.
Keyboard oem on sr £»s o red car m ai ea- tons wtoi toe keyboato.
Lajer* 9bws use of toe 'ajers i bra.7 nandeibro; FF Mandei br at program mouse hocks up mouse to nght joystick port one.wmdow console wndow demo pnrael Dbtronsbutei access to toe parallefpon pnter opening and usng to,e pn»r. Does a saeen Out p, notworKng printtupport Prnw tupporiroutneA not erarking.
Practest tempe process creelon code, not working region demos sptt drawng regions sampiefion!
Sampie font wto nfo on aeebng your crwn senat Demos the serial port tngePayfieid Creates 320 x 200 pb 9*C speecntoy !e»st verson of cute cvecn demo speecmoemo enptfreo vernon of *OMcmoy, wti D recuers text demo asp eys evelxbe font* tmer oemos tmer.cwioe use frackdiK oerrosTBACdsk drive' Afr!CUSDfik21 Targe* Mo«s eacn mouse cck sound Ike a guishot S-ED Sand Snpegame of *and totofblteMto* mouse pon»r, ED PropGedget Harriet Maybeck Toly's proporfrona!
Gadget axornpfe, S-E EHB Checks to see if you have extra-hell-bright yaprvcs, S-E 0 Piano Snple piano sound program Ce Scripts Makes oel arxmalon scripts for Aegs Ax mat*, in Amiga Base Thad pih»eec«nccatE ogs?or AMKXISdsksl to 20 and Fin d*s 1 a 60. They re vewad wti he DakCet pop am. Indeed here.
AMC'.'SDiiU; Cyoes UghtcycsegaTie. EO Show Prrtl V« s end pn-nts FF pct aa, induong larger her acreen PrtDvGen23 Latest W'son of apnrter pivergenarosr Anir.atons VoeoScape aimabona of pane* and bong ball Garden Mokes fractal gardenteapes BascSarts Exampes of bmary search ax raerton sort m VmgaBa&c Ajjgus&liiiza An AM CDS disk completely defeated to muse on tw Amigt. Thao*k content mo muec p'eyers. Tcngs, mstrumena, and payers to Prg *e tirii o? Payng SoLnd’ on your Amiga Insrjments acoliecSon of Ssmatrx'entstor playing and creatng rrusx The ejector- ranges from Cannon ta Mar.mba UitNSTR
pogr*ntol*tt insT.TertaDMCSwili xt load is wel as lit ms ongna for any haffurwiL Muse aca iecbon of U Classen paces 1flt20wr re The tfimrutecfaaec* teftumcompete wh Canxnl Three Ar ga Muse Payers: SMUSRay MusicCrattSMUS MuaJcSbrCto2$ WU$ AuflBJMJi Sector am ii Apak sector editor tom ny Am ga DOS ie- structuwJdevice, recover fi«§ from a Tflihec hivd duk. By Dcvto Jaxr of Mtaoliosuns Iconize fiec uces tw sae of FF rr oq«, corpePon pogrem. Ftocoior, remsosMe peette cotoft of one pcve to usb Me perettecoers of another. Utng Mese pogram* ate a tool to conved FF Puane* to Workbench ona. Rrase cons
iooklkeminiab ea of repctxes CooeOems ModJl-Zpognl'nco'vertsBSsembtor opect fifes to irt ne COOE ttotemera.
Core* wit a semen scralngexarpe An Bug Workbench hadt m akes toe same fy wak across Te seeen at random intervals.
Oterwsse, compietely hirrrtess.
BWToPs Three «err pes of asaomPy language code from Bryce Nesbr.:
1. Settles.prog to ew-toh intorisce on&off.
Z Why, ropace aDOS ai Why 3 Loedlt. Prog to load a file into memory until a redoot fOrvy the moat esotex hackers will find Loaoit useU) Uoxiace Cupogran resets Preterenoe* to sever®' colors of moroch-ome 6 intedace ewe C Kua sretooed, wurkswiT DsKajPre1. A Cli pogram wrxh d spays tte curom P’tfanrcoa »t)ngs BongMarM ne A ny-Taced amr.ason of a perpetLi1 mmor Bong nakng machine, rndjOe* tie late*; vsxan of toe Move program, whchhastoe abiity to pay sounds along wrti toe anmiloa By Ken Ofter Daisy Example of usng toe bans,1 ator and narrator ewees to make toe Amiga taflt ( i wrfflen in C.
OixkRix Scnpdriven ahmaSor and sJ deshow pog,am Ups Trough FF image* Bmon Sysiem mentor Amgaflasjcpopam; perform inpfa menrpUaton* of memory, Moose Random oaocground pogram, a small wxow opens wito a mso» reaems .ng Bawt'keeey ng wry phraaet uee- definaPe DGCS Deuxe Grocery Constucton Set. S~p-e s»vewa a rube's cube type demo F ted Flih DC t 2fl: IntoiJon-basea prog for asserbing and ned ttsn Fvbiic Domain software sai'-vs moving snaxe GrapHcs oemo AmgaToAan corverts Anga obectcoda to Ator.form prmtng a grocery f;ji Fred F!«h Dish 10: DsxSav program to recover f « from a toasnec TneVrus Crew
O'ractoryhok3 a sera's! Programs n&larang to fnc fish £ ixl; conquest A" mte'stel lar acvenire smulatsn game ArgaDOSdsk.
The sotevare virus that came la the US amgaoeno Grapncai benchmark for conparng dehex co'Tver a hex fi e to 1x117 Hash example of toe Am gaDOSd a hashing from prates m Europe asceta ed n amgas.
Flea ap Path program tor any type of i e. tmctort Amaxng Corrputng V2.12. Bll Koester’s amgaterri Stpe comrurvcasons prcgram wnn fxobj Stro gitoage off Xrodem Hd Hex dump utli alt Computer ful exp'a-.atcn o' re vrus code s Xrodem franste'ted ‘tes.
Language ragozme, AprJ 66
- nduded. Oe program cneoss ‘or to* balls ¦mulebon of the "¦.nenc
thngy* wrti Pals Iff R0L*nes to read and write il to'mat files,
ManceB-ots Mandelbrot contest wrvwa S3*twire urus on a
Workbench os-u re onsteigs id ample directory prog,am MuiTaskng
Tutorial and example* for Exec Wei second program checks tor
the vrus n colorful Snows off use of rwSd-ond-modify node.
Is Mnmai UNIX la. Witoi Umi-styte rr- c task,ng rserro7, wricn caud rtect oner disks.
Dhrystone Ovystor* Pench-mtik program.
M dcarpig, n C Pack stops whites&ace from C source AMCUS Disk 25 dotty Source to tie ‘dotty wndow' demo sq.usq i e so.ee 12 and unsq ueeze PortHander sampte Port-HanqSer pogran toat Nemess G:ax cs demo pans toreogfi space on the Wonvbench dsx.
Tek 73 Star Trek game performs. Shows Bcfl. Enworviient towards the nyto-eai dark tw n of toe sun froedraw A smell ’p*nr type program wti ires.
Yacrt OcegBme.
Random Random number generator in assembly, f win wondertji muse and space graphics.
Boxes, etc. Fred Fish Qtk 11: or Cor assembler.
The KtkRey d-'flCTury ho ids text that describes several gad John D'Bber'sGadget tJtond ptogrim cos oe Sde srowproyam tordisptoyng IFF SeNouse2 seS fr*e mouse port to right or left patches to toe Icckstart oak ForAmga gfxmem Graphvcaf meiT’37 usage display yog images wn miacaflaneout pc-ws SpeechTerm »rrma! Emulator wto speech 1000 hackera who feel confprtatfe haftsrrte denarstrateS ‘Exfra-Haf-Brte* rode.
FrwJF.shDskl2; capaDlces. Xmooem patcmngaeskin hexadecimal, KrcfcP.ay if you have it angs3d Showsarotatng 3j T!ehaonai sold TxEd Dbt. 0 ed tor from M cfosmite'* Chert« otters the chance to autom ttcaily da an heiio smptewndowdemo "At ga sgn*.
Heato ACOMEM for oklexdanBon memoty. As latffip accessing the Motorola Ftit Poftng AgoTerm 1 term.na! Emu-Bttr prcgram, wrraen EniflihDteZl well as the a&fcty to change the pcture of Pont horary from C in as*Tolef Tni5is a copy of Thomas Wei's MandelOrot Set Explorer the’hsertWorvtench"hand. Aprogram paere Sampep'og, a des ncoto' pafetas.
ArrowSd Shows a atsing StSmensarai me d sA Ve7gdxi ;s a'so rduOed for restoring pie correct trackdisx Demonstrates use of hie Sands driver.
Tame arrow.
Frtd fiih amn checksum oftoeKckste'tdsx.
Requesters Jom Draoer’s req ueste' Stonai and Vi directory'SSng program Thisdiacont*,ts two rew 'stains* ofmcroemacsL KeyB'C BASC prog edts keymaps, ad,ust the exsmpfe prog* am.
Fco Exec Lenacs vtersion 3.6 ty Dan el Lawrence. For Workbench moyrraps o' createyour own.
Soeecn Sampe saeecn cemo program.
SetWroow Wro p'og* tor launching oogs from Work- Unx V7. BSD4,a Amga. MS-DOS.
Bcoo-WB Modfios toe Workbench so three txtpianes S?poeo dovm 'speeetay*.
Benc.n, cxesenfly onfywortu under CLI VMS. Uses Am ga function keys, are used, cor scan have eg ht colon.
Speechtoy A-one' sowch cemo program.
SetAtemate Mi-.es an con show ¦ second image status line, execute, st*Lp files, mote.
Instead of foi .egnl-color Icons ara Fred Flih Oik 2; when dcked once Pemacs ByAndyPoggo New features jvciude induded. Putftcdomim program 'zapcen' aid Cbec* module tbraran.
Star Term terminal em ator, with ASCII Xmooem.
CALT ieys as Me to keys, mouse or 'brush 2can' con verts e-ghi-coi or IFF cc UrtxSke froniend to' Lattxa C dutor. More.
SupptrL hgher priority, backup Ses, brushes to icons, to use Deluxe Pant to comae'.
Fred Fish Disk 13: vwd wras, fiurdon keys.
Make icons fer ths new Wo'kbench, doug Macro based C debugs ng o txage.
Aqurcie of Base progrins, inckxing: FredR.h Disk 23 Brush icon Converts brushes to icons (diian docs).
Machine ndeoerxtent.
Jpad teybox ez speak mard'ebro* Dsk of sou me for MoroEmacs. Several versons tor most Eg'flph Graphing prog raads [x.y| va'ues from a fie mane Sutsetof Umx make command.
Xmodem Sdsads ooooook ageora popular operatng systems on micros arte mainframes. For and dspiays toem on toe screen, anvlar to mwe2 Anutoier make subset command.
Ror amgseqt an a-capy band people wno want to port McoEmBcs »tte' favorite the same-named U.-u program.
Mcroenacs Small verson of enacs ed tor. With bounce box trckout canvas machine.
Keep 1.1 Uessage-nanagng prog-am for telecom- macros.no extenson* catel cce cctorc'ces Copy Fnd Fiih Dlik a; rruncasons, lets you save messages from porar Portable 4« arcrw'.
Atpene datedogsta,' Gonques rterrj'er Bdveniure Hmu'aongame an online tansa pt b anode*- li le, xrl DECUS C cross retererceubily.
Dragon draw dynamo angle Cm ucteatetoam« on Dsk 14,wiMuftin undersands ne message format of the Fied Fiih Disk 3; Baa ezterm il'ibuster froctto commanos,named vaiabes suCtetoufrOh.
Nncos retwokss and sera*a types of gobic Goth,c ton! Bamer printer.
Tocspe gorroku cart haku bUletn board sotwa'B. Moves through re roff A Voff type text formatter.
HaiiCCG haltey roumecM hidden Modula-2 A pre-rbeose ve'son of toe srgfe pass transc'ol and saw messages tl A wj fast text form after jom oi mande! Meru Modula-2 compler onginaly developed for Macintosh at KJ fasti r Speed up directory access, t creates a C?Orth A fngNy portabte tori’ frn pem na:ort mimpairt mouse 0*eito patch ETKZ. Ths code was toar m tad to toe AMIGA and is s-mal fro n each d rectory on a dsk 'cn Lata of gaodes pera pinwheei gboaandom-csrdes executed on toe AMIGA usrg a speoal loader. &na7 contains the mbrmiton about toe 1 es.wl xii» Xitp 1 .A, nd!wo'k.ng co'reefy Readme igb
¦gwest Rord only.
Also remove ate me 'tassdir' files from each Fftfl Fhh Dlili-1; sabstoge saleste k diodes shapes Fred Flih Pi Ik 25 drectoy. By Climate's autoors banner Prints horilonta1 banner srutbe Graphic Hac* A graphic verson of toe game on disks The LoceWB program craves between interlace and non- bg-ep A Boyer-Mooregrep-l ke utilty sketofipec 5pacetrt speo-apeacf 7 and 3 This is toe grapHcs-oriented interlace Workbench. Pravsusly, you t son GNU Unix rep seen wt )raoc‘, not spew easy spel sphete Hack game ty John Toeoes. Only toe we'e fo'csd to reboot afrer changing working.
Spiral stoiper supe'pad suprsnr executabe s present Preferences te an intehacec sc*een. Tfis bm A" other B eye*-Mo: re g*eo-ke utly ak terrninat Fred Flih Pitt 3 program ftps between the norm at and grep DECUS grep temitest tom topography targe UnHunk Pocesses toe Amiga ‘hunk* loadfiies.
Extended screen hegnts kef mil smpe portable Kermt wbh no connect whees xenos rnsSrper Celec! Code. Data, and bss hunks togeher. A owe pwuihty A y a-ew are ulliy for ProWrite use's.
Mode (note: some programs ate Abase, mast ate Armgabase, and ndvdual speofcato of code. Data, and bss origins, and changes ma*gn setrgs and tont types.
MyCLI HeplaiwrentCllfor the Anga V. 1.0 some program s are presented in boto languages) generates brwy Ste wito fonma: remhacentof Unx 'a.out* Guru A Oil program, prints out probabe causes mandel A Marddwot set program, by Robert Fred Fiah Dlik 14; format The output file can be eas y processed ty a for Guru rrsedittcxis; C source included.
F'cnci aid RJ Mca!
Am.gaJc update of 12, inctodsi C source to a sepa-ate program to procuc® Motorola 'S-recards* suitable DskVYpe Latest tom SofrwareDsolery, remows Frtd Fleh Ot.k 5 toll hidden Surface removal and 3Dgrapnc$ for downloading to PROM programmer. By Ere Back files from d recter.es or dscdnves. Much cons Cons e de ca demo prog-arr- wh beep Soircs tor a tmcbon that gererates a Caemit Port of toe Kerrr.it file franste* faster than 'delete,* support ng rraao routnes.
Beep sound program and sener.
Snow Am gaBasc makes snowf akedesgrs.
Freemap Qeates a visual diagram, of free memory ocx extoacts text from wfriin C soute fies Ps Dsptey and set p'ccess pr orites Ms!
Mai ng list database, ¦rputdm sample input hander, t fact key or m ouse dimensiors demon states N dmenaona’ gfacncs Amh* Yet erotoe' program for bunding up Softball silts Maintain sofbai stetstcsf team records ewits Hezap upoate of dsk 10. A i e psab utlity text files and mtiirsg orpossng them Dodge Short Modula-2 program moves the joystck Shows now to set up tow gameport gfxmem update of dsk 1, graphc memo7 usage as a snglefieunrt.
WorxPench screen around atoor a period of device as ajoystck, indeatar Fred Flih Dfak 27 time, prowrcs monitor burn-m.
Xeyboa d demonstrates Pred commoncatons 9 converts IFF brush files te Image stud, m Abceros Ar. Ga Base demos; Ceraly Scheponer.
AMCl 8Dli*2G wth tow keyboard Ctext.
NewConwrtFD creates .bmaps from fd files.
Todor Fay's SoundScape module code from his Amazing ayers Shows use of re layers iora7 pdterm ampteANSI VtlCO terminalemiJato.'. B-tPli nes 1ncs addresses of and wr.testo Compying erodes The source to Echo.
Mandelbra: FF Mandebrctprogram in fiC x 25 screen btolanes of toe screen's btrnsa Chord. TX. And MJ is inducted. The mouse nooks up mouse to rght joysMc port sheii smpte Una tsh" stjfe shei!
Apoutfimaps Altor-ai on cxeeicn and use of bmaps.
Latooe and Marx C source code rs here, one.wndow corso'ewncowctemo term cap mostly Una com pat: toe terncap’ LoeclLBM loads and dispays IFF ILBM pea along with the executable modules.
Poratel Demonstrates aaoess to fie paraiei port imciementaion.
LoecACBM loads and d spays ACBM p-cs.
FrnageMakor Interring tool edits Image structorasfor pnrter open mg and usng the prnter, does a Fred Fiah Dlik 15: SaeenPnnt creates a demo screen and dumps it to a C, loads & saves C cods dracty Kteen dump, not working Blabs graphcsdemo. I ke Unx Worms' graphic prnte'.
C'*i2 Update of prog to cenwrt FF images to prrtsjpport P'mtar suppwt routonas, not wohing Gxk bmple dgrtal dock progrom for toe 55e bar Daassom Smpie 68GW5 Psassember, Reads PostScript files for prirrtng on Iflter pmBrs proctest sampe process Cteaton code, not Dazzo An eight-fold aymrretry dozzter program.
Standa"d Amga object fie* and SDBotkup Harddisk backup prog wth Lampe-Zv working Realypreryl ci sassembes toe code sectors. Dos conpresson to reduce the nwessa region demos spirt drawing regons Ft t oou&'e bufterea sequence cycle sections aredL r.pea in hex Tne actual number of d®«.
Sampeforrt sample font wte nto on creetng your owi animtcon of a fish dsassemcer rautnes are set loto be TCB Prints mformattr about asks and sera Demos tie serial port Mon op: y A reaSy n ce monoptoy gsrev iben in caiabe from a user prog so instoucons processesin me system; assembler smglePayfdd Creates 323 x 203 ptoyf c AbasC.
In mem 07 can be disassembled sou rce is mduded.
Speecntay to test verson ofcute soeech oemo OvoataDump Okidati ML92 dr ve' and Wo'kBench dynomcaSy. By Bll Rogers Fun But Lets a 1 report key octl ke a rapd seres of soeech.demo simp,fed version of speechtoy, win 10 sc'ee-vdump program, DvorakKeymap Example of a keymsp struct;te tor toe left mouse buttonewnts.
Teouests Polydr aw A drawing program wtten in AbasiC.
Dvora* keyboard layout Untested but DC A handy program for peap e who use an textoemo dsolaysavaiabetonts Payfracta's A fractal p'og'em wrrten n Aoas.C rduded because nsssmby exampes are Amiga !G23 5 Ml inch drve as an tner domos trner device use FredFl|hDI»h16: tew and far between. By Rsbert Burn* AmgnDOS *opoy. A Workbench prog*am frac-d,sJ» demos tiktetk dnver A compete copy of tee latest dewto per Ffdsk Hypocydwds sprog'aph. Tom Feb, 34 Byte, that seres a DukCnange sgnai to the ErttfFJihOfikC: Fred Fiah Dak 17: LinesOamo Example of preportonal gadgets to operacng system: instead of typing
compress Ike Unix comp-ess. A ite Mueezer The NewTeh Dg -Vew vceo d tzer HAM demo d a scroll a SuoerBHap ,dijkchargeof2:,ow' and owr aga n, just dodc analog dock inpersorator Fred Fiih Disk 18: MemExpariion Schemata and arecta.ns farbuiidna dick on the con. C source induded.
Mcroemacs upgraded verson of mcroemacs from Am-gaDspiay dumb terminal program with bell, your owl homebrew 1 Mb memory System config File mokes screen 60 column s wde of text disk 2 seectaba fonts expansion, by Mbiaei Fe.inger. in the Scrtobei word processor.
Mult removes multiple ocanng ires xt lies Asr Prerelease C Shel-iAe shell program.
SofeMa oc Program to debug frnaiiocO" cats Dtk2Ram 2 programs to move the Scribde1 spe ng scales demos usng sound and outfo functors Nito7. Loops, etc. SoenceOemos Conwt Jjian b solar and s-de'ea?
Dkdjor'ory to and from the RAM 0w.
$ etparal!«l A'iows changing poral'ei port parameters 0rwser wanders e f le tree, dsplays hies, a!
»rr.e. stelar position* and racal Lenicsi Ana'yies a text fie and gves die Gunning- setsena’ Aicws ctoiangng serai port parameter, wtn the mouse vetoed epocn cadutaions and Goilean Fog, Floser, and Kincaid mdces iidi sortc quicksort onsed son p'oyam. In C MC6601Q docs on upgrading your Avnga to use a satelite p otter By David Eagle moosuro readabiity.
Sthpc Stops comnens ano extra Mc&aoia Fred Fiih Piik 21 HexDump Modia-2 progrun to display mem07 wmtesoacefrorn Csjurce Muftdrm rotate an N a men 9 on a1 cube wth a jsysbek A scgames Dy Davd Addison: Backgammon ,&ibbage.
Locatons r hexadeomaL frta£lih£iiill PgLobrt SAY command that talks m Lain Miestcne, and Othello Tata- Amiga Base; cesgn Tartan piads.
This d sk contains the executables of the game Hack V 1.0,1. Sairhper Sceer mage prnter Cop DECUS tpp* C preprocessor, & a modified Dr Master DsX catalog program.
FrrdFI«hI akS: Xspl.6 source. &ocs. And execut for a L;so nterpret ‘cc'toatknows about toe ’cpp', for Manx C. BMP paysSSVX sarrped sounds n the Thisd Sx contansthie C soj*cb » Hack on dsk 7.
Fred Fiih Dsk 19: Shar Unix com pa! Be shell archiver, for backgro-und wh le something else is Eajfumm; Blackjack text-oriented blackjack game pacxng fi efi for trawl.
Nappervngin the Am ga.es your Amiga 15 more Daws moire patterns n baon and white JayMnerSides Sides by Jay Miner, Amiga g'aph-cs chip S perBtMap Example of usmg a SaoHayer, syncrg bootng. Tor ex rpe MVP-FOflTH Mountsn Mew Press Forth, version des-gner, snowng fiowcrert 0! Tote Am-g® SuperBtMaps tor pnntng, and crafting ShowPt CLI program changes you ponterto a
1. GQ.03A A s awwarB version of internal in 640 x 400.
Dummy Ras orts.
Given pointer.
FORTH from Fantasa Systems.
KeymabTest test prog'am to test toe key mapping routines Frtd Hah Kak 29 AMICUS 26 a so has a coliecton of mouse pointers, & pro*f a mote powerful text formanig program LockMon Find undosed file locks, for programs Aeg sDaw Demo Demo program witooutsave end no docs.
Workbench program to d splay them set: ace P'og to toggle interlace mode on and off teat don’t dean up.
Anmator Demo Payer tor fr e Aeg s Annater files Cc Urtx-fka fwtend fa- Mara C SendPKM* Gewa Pltwae mbroutne to aenfl Bbr Oemo copy of BES T B-usrveti Fred Fs.h Exk 52 Enough Ttr» l r tLttntit el tytOtn SpneUaw Ar gaDos » n Maragemen; £ys*m.
Ass.gr fiaoiaMmem *cr A-gaDOS ’assgn’
• wab’OBV. 1 ex arc oevcw Sprte Mtor. Ca- save «v. As C data
BacLr A '¦sto' Ar ga ELIein Baa’d Sysasms cdmmandiziC ft-sk
An~ate Rubik's ooe pnjgrir c,c_r Sn&'ewe** by Ray Larson Cc C
compie* 'rorfands for Man and Latce C F-sca Msies 'ardom Hsca
temt-s Sto ngLfa Tracw Comwts ary fl w rto Sev far Cocw
AnaxJwfecopoerstc ssssem&er Pary.HAUPoy Work!)erc--y» demos far
makng WOO VT*tC0 tar-'-r*1 emulator wto Karp* t m
wec?y*jCbanrr.iton Rewvec HrFF Corvera tor,nrs or-o lounea to
FF pofygens r fares and HAM X-ooem pcscbl art* f* ttuctore
Sfarawwa by aa-aed sounds Mi Gods Example a1 nutuKexCuson
gadgets £ui£Ut.ftliL39 &«j Wilaon.
PopCo'oui Adust RGB co ors o! I.ry acreer wto Gacge’.Text £efl’»rm»B07rl The tatoort '«Xet!a Tr Cops 3-D cpeaa nvaion gama, farm*ny SpmaCock S-pw cock sc i&ayefl on a sor b TtkASTQ Tfcsrtx 40’ 0 *rmrtil arru aar donaton rf y*y fro ?»* prtymr uaertJ. Efffcr err* commaraai. Now pLt daman From a&ove ti acreens VT aw Versons l l&ard 1.1 i of aDeuxa mot tobon.
Geodeuc Puboabona ST EmJaior Non-aenous A n ST em Jafar P*rvi«* drawrc ooo am BBS an kr ga Base BBS by Ewan Grantoam Ta» Pr-rrt tota eie of aJ Sea n W&i*i Let* Workbencn program a ae run from
F. UE!lLC!*ja FinaArt Amiga art utt’tmrei real Axmaiors Dana an
mors wtopeyer program for Fonf ditor edt tarts, by Tim
fiobrtton Unide' C processor o "amove gwn W»d Two Um r*i sye w
d ca-a missing Aegrs Arimator MetiEdfaf Cmrt menu* ssve tote
as C source.
Wrt iectc-i o' a fie, esvrg re rouOnei ARCre CreeBS rflr ame scrpts far les wto long by David Pen'ton rest a one By Dave Yost Fred Reh Baku names, sc toey can be «s y ,ix*d «x StarT«r3 0 Very nee twecom byJ Nargana Vnest VT-1C0 emu Ifbon |?c program tor* Unlaneou* tn* fadsd.
(Fwd Ftfi D**3C i»1ret if red ue Had when a'oewd wto at Reou *e» a Un* systam NewFF New FF matarwl iom C0M for ARP Rreim nay Ar gaDOS repfacemTts far fa« fi tnrwsctoe' d*x*tror- toe co'ecion.)
Frtd FlKl Dilk 31 Utped voce end mjKfWt breai’. ‘cd’. ‘ttomod’, fac.hs‘, *Sleno»' and ’ Eudfltfiftikll Aep Urii-iAe tp'copy p'og ram RiyTracePci The famous ray tracrg pctret, makedrf* Ufa Ufa game, uset tifter to do 19 B Qac* Upda*d verwn o'cfack on dpi 15 5om Fffofl, nowconv*rfafl to FF HAM Camp»er Not Wy porfad to toe Amga ton is a 6BC33 C generators a second Cab Manx Ton*A ha ai bnry, va* attes. Er farm at far ’mudi' fasfar vewng.
Compfar. It mI proOuoe smpfa assemby Med a trot Va'sonltJ of Robert French'* program.
DetAc Det paming ad organ jet rcoes.
VewLBM Dto ays norm ai end HAM LBM let anguage ouDu* but neecs a fa: of work.
Ux ix ample Mutual tic json gadget exampa.
Calories Fred Fleh Dak 45 Sareedaneet Uocsse wto source of toe Vc1 flam.Speed Ueas ft relatve RAM toeed. Cop and fit Ecno improved tKto'commanowiricbor.
Cue Cue board game spreacsreet on dsk 36 Sot Reo'acer nt br toe Man* 'set* gjk ’ aodmts ng Mwe AroTer 'mske'.iwth more faetrei TeScHt Port o' program a spirt Urn sr'axnves command far envfonmentYira&ee,wito RiKrk Fii program t to let Fern run In Regret M a» areous pcumt Ultetoda Ifrtt et to encode and encode bray' es for improvement* Wfarnei memory Upda* UpdaBt an bd«r d Kx wto newer 1 et Fom ASCII kanamtsaaon. Eiflarxkng toem by 35% Tpm Oaws a recur*** ree, green faa*y type, Fm Mape be aecu's a *fa uses on re d»A anotoerdsk Fnd F.ih D.r Jt not ilea KcaBencfi Doa. Progra.m a make a enge as*
V emls SeetTiec adsx'orleso'gvenrame Hr’o SdvfleTcwesofH a Probem nrt*
T. fo Capped oer-o wson of UoDn r.'i rat works l t a Kcutart and
Woribencfi Frad Fih Du 4$ aw Woripercn wnflow &y A Qzor
taieator, T*Ed, Lei Co-txws Fog. Fieeoi, end Kneed Asm S-eewre
6A510 macro asae-bie'. ROM tSoe'i Port of a Itox screen rente,
i-fa'soe Vdaw FJ:4eair*COri«rog p og'te by "•ecab ty o' Bit
*ies KemK Manual campatbe spe ng cneoar, (Eoarson. RAM
Sbpren VameJea TunneiVicn Da nfl Add ®* Abasc 3D maze ChecxMooem xecufa- *ie program &bcs PsceW *s»n Xcr kvokesCllscrrtsf'orn con pa'Sjectv* game.
Pretence of rooen F?
A Screen o' fab o' taxeng !-e Tcsi-i Dspays is it S s Ho-m an can VC V sac Ue vncsneet ca cue tor Eged Gadget adtor Ham toe pragra** mers ¦rndows by Leo Be* Ewmac’ Sirwto Frtd Fiah fljfcjg progr- Netao'k Lav 0s *y5 rv-bor of to® s m rjn ?y«ue.
To f»a Exteoecaocettboo*, AmgaBASC woo Vreon 2 2 s‘ Dive Wee**'1* »**com a** Tarrfgmiafetom Engltoto Jve averaged ovw last 1.5. ®d '5 pm.i Ci rtr Caendrfa ary program. A-gsBA5 C YiBorvg progrm My lb A bn ary arty copy ofUifi afaris par ad a t?y Wliim Rucxf e DoiPusf Frrtvbjr yCLI 3**-*d oe e ooe Qrg c egameprsgrar few r-nsme Lorary A toor. Mas Quon Mcrrooa Fyog'im to payAecofa Trough to* DoiPlut2 2nd vij-w s' CA! :•*** ! Dev*ooar dm aj B col crtcts Fyo iaco* Subaet Beni *y "-s’ and Vie* metros far Udl if. ByF*d Cass'* ExtcutitMa on y fred fl»! Dltk37
• prat lAo’eAows Fyog'im to mne toe Won Bench Sc w UvVn Vews
MecPart pcs n Arga law or hgh ThadsMii
portofTimofyB K'sLSeS-atx syve-.
Vs See*» T'arsfomis a fe tom E-gy:Bi b Va’ey a-er toan rwrmS. By N* Karn a.nd
• m, no wm xvm, by Seal Evrdr oonapyBn Knreraey atWar ngsr State
Un way Speek.
Am Macx-12 PuJM Sn Jean o' pLZ2i sen movrtg jc.ati Fred Rto Diak 31 Fred Frah Ptk A7 Tr.
ogramfa mate yxr Amgalooklka SntwHAU Veer HAM pclufH from Cl I Cspui’ed SepSfi Sc A-ercan. Ci-oe Sajared 30-Arm Sm laton of a rebate a m, wwy goad C iWn pess rbralon tetng.
So art A3asCga-iet o' Ca-toWd and egorBr graphics. Bacmng tag., n udng Csauxe.
By Leo ’ Bos Ewhac’ Smeea (Confl ia.fror. Dave Aoc son FiiOq Sb sa garbage o** Xmooem rmstaed Augger Ere Graram* stum ng HAM i mason of a Frad Rah Dm 55 Sc rtJ Grapncs orr.o o' H rrrg cubes.
Object fes robotjugger C® V205Mat Di or’s cun .ks me: ;MocJec do» be-burred sump* Hanfllr AmgaDOS narxfer 'o*w») ota-pfa VT-'OO Veaon 24 o' Dave Wecv5''i farm„nil far Mam C) byMa-D or.
Wd Swyd of Fa er Angei tat advenlrt Itom C-A emulator. W r Xmodem mo Kermitfiie Mod fed by Stove Dew game wi*fan in Argi Base hs-ioc Mmcs a HP-1CC cacuator. Wrren in yansfar protacps NewS an, ps NewCStartoomodAes: Trill leaves s?»J beftnomouie,nUoOUa-2 Modua-2 Fffd F}|h Oik 4| Astartupas- wHi 1.2 fxes and benar q,ots handing.
EtJlOiLE bU FFEncofle Saves re semen u an FF ie &u Apha verson of a hard dsA fie a'crtver TWStartLfuasn opens t sto.o wndow, uing user sxu by Sdsarc 3d tmrson ot tie1tars' program below Mxmp Dumps rfo about an FF So Comm Verson 1.30oil terminalem- at)- Com mad ore.
Bgmap low-level g'tpi cs example ml s Jtrt BOS C- ke CLIrei wtn pfione drectonea ocstad t BIX by Caroy-i Scfaeoper bnapwtoSeroiVPoa NewS'Jl STATUS liia progrem. Shows Cto Vex.cm 2.04 ol Mar D-lion* Dpi 'cahMiia Palette Charge anotoer program’s screen colors Oblige* 0 jbe-b„*wed in rut on txampla priority, processes ai repiaooment, indufl ng ty Carolyn Scheoper tor 000s and Vscrtes.
Revera Game of Revert, veoion 6.1 laSce and Manx C aoi ce PoeOmroe A ows toe store ard output of one prace ts ta DiAUppw Dsbays sector a ocacon of loppy da*J IAJcocxp TranalaB brary Ales to ton. Uni- D pe-f D* benchmark program, fa* Una and Amiga be fad to toe rtondird input of ar otoer.
MerrVtt Vew mtmary in real It*, move Mti like prog'tms Du Computed Sntorageofa5ieor drecfary by Matt Oil on joyrtck.
Vflrtw Oawng program, verson 1.14 Urv-WatJi Rogram to with tor programs toa! Tain law ScreerSave Save a normal o’ HAM rode sew ax Ong Bourcrg b«l»d«mo VoeaFiler DX MCIaynrestt' vk*f«r mem ory. H atfampts to raps- toe dam ago.
Sr FF He. By Ceroyn Screppe' Spring Org. **? Stand e*eca.
Program and puts ub a recuenr to inform you of toe &"anghaDemo Dens of ne Aevsicn game Sh®ghai, ScrteOump Djr ps hgnat acreen or w nfl a b T* Window Exampe of creatng a D OS ex* on a damage Frar toe SoNtar* Dtt ery SourcEiarrp A daute OLAete sou rto extompie far prrtar.
OiROm kwi Pra*ier A rHbmeexecutor prarter tar Manx Manx C by Am Goaflrcw Sdt Sn pie database program from a Ff*dF1ihDfik3t Cpro7*ms fac'ude* Caouxe Vspntes A working vspnte example, by Enc Cotton DECUS tape AnaEtfio lacisV ’saxfi', liS*. Tta’erraen n asse-&er Frad RahDfakil VriOC V26 of Dive’s VtlOO ter nil er- j jtor wto Stti Stir fed den a, lu Stiu’T-w Qtoiy Dtp ays HAM imagastrom arty- CyciOi Updafa of awcHoTC sprogriph torn dtk 27 karr.t and r-aflen bj Dm Wecxer TrTRut TermnaJ program art*, capbre, tncng progr*r, wr curtpte pcijbi o*ini Enhanced verse n of Olfti tom d pi 36 Fnd Rah Dlak
56 library, incton iwys. Xmodem, t v*r Eu-m devce drver aojxe. Acs fcUtDai Scans a set o' object modules and Itxt'es CipBoard Opboirddtonce -lorfaa routnea to provde CS-0 protOCP* Lie RAM dH searcing far m-rtpy Oefred Symbols a stmfl rtrta by Andy Free Vtl» Verson £C of Deve Weoier* VT-f CO X* Xj® 1.7. eiecutaae omry UyUodlfa 0» upoa» uSMy ¦rto optans far CorPaaets 0am.» toe u» of DOS Psaets, am. Jarr. Wt** scr pa 1 Lroon FrKlFif.Ciilit tr pong can.ments kom C neader He*, and ConUr-t, et ty C*tofyn Scxc-flto- EasLBtf! E J 34 Anosi Temre emiAator W-, X oCem, Kermut 'teactfflve'crsr
oftoeupoatng process GeOscs P'og'rr u 1nc al era t-e dsk cerce Ktrt Support Se* for Q-pr* Ynf cyntu cbecker and CIS B protocaH t«aon keyt, scr as, RLE graphct fcnfl coHerrxe moot Rot Compute btJ dip ays 3 dmen*anK fanctys m rt’es names and toe- ® anexecLstby Rto'pLndsey ftrfa PO 'air*' co-pa t»e 1 naer.lasiBr.betiBr AmgaMonrtor Dynam. aly diptyi re r achme stale.
Polygon Mpretypeprfamgenrator wtocbor cydng GetVaL-e P-og’sm b getvbume nrre of toe &i«w UpflawJ to fF 18 Vowser". N Uam, srti m i arv bug f **t such as open *«, actve emi, resouxes, devca stalH. IrwupbL, Cxarea. Ports, m Qmousa Quer«wnerer amoieetuttanis p'«seG Th* can gve a wMm code toat can win* tor e gven f«-eso« on.
By Oucx McMi’xt Bbie bfrea data Urjcljre exmpec kc Popular He comprewon Syuam, re CUItomjB a rom-o »ec,enoe sued on b®2C Reoes an con *e and wte out a Bbi*2 Anotwr wBon of tree' stand rfl for taneOngftea arnetoe* a mou® DuCOn was cresseo tagmen; of C cooe wto toe on on Ciimdif Appa tT»ntcB,enda, wti alarm.
Area Code P1 ogrim rat decooas area ooes Touch Exsmp* of ae£ng the dale tamp on a file.
StojCfa«* by Carcyn Scneppe* Lbis Fie weww. Sea-tmg. Postm by into atatoandiocaity.
U»ng s Bcrngje'fom Comrroflore-Anga Ue'geMon Prog ¦am d merge ne MemLs enr« of percent, InenL r.wr. B in* 'alnk'repiiceimert r**r, verson 65 Trees More eifenave verun ai toe tees ssduentaiycbrlgjed RAM boa-ds NmnFofifc Set of 29 new Amiga fan* from Co era An ’as** od*cone program on Dsk 31 by Ca'dyi Scfteper Bil Rstyier Og210 Data General D-210 Tenr.mai emifator mCAD An object oreneo orawng prognm, Pr Background pnnt utiity, rye DrUti Windowed DOS mBHaoa program, V 1.4 Asm Version 11 of * thamwann 66000 macro
VI. 1 byTm Mooney opbona w dear da.
DOSHopw Wndowed AmgaDOS Cll help program assembler, compatiSe witi 1e Metacomco Fred Rah Pik57 Request* Deuxe Pant-type fie fKwesfcr.
Page Pi nt Prmts »xt Vieswr neadws. Page aa sen bier Th.s ndudes an eiample startup RepJacod by FF&7 Due fa Copyright prodems wffi sample.
Trews Inenumberi modiie itod more Motorola mneumonca EroiFJb £Udi3tiLD!»U3 pc pat Starts a new ai wti a arg* BreakOut A bra breakout game, uses 3-Oglitsses ASDG-rrd Extremelyunai shartwve AS.mdPa&v» C example of making asynchronous LO Xeyibwe, Lom any prog-am, Wr a DoZap Version 1.1 of a program, fa edt disks reco«rabe ram dsk. By Perry Kvolowtz calls to a DOS farcer, wrtten by C-A sceen-saver feature. Veneoo'Sewti and bnary flea BgVew Dsplays any IFF p-eture, independen CoiaoltWndw C example o' gating toe Ink ft on Spnie€d Sprds Edtar ec S Vro jprfles at a tme FirstSlcon A marl Cll
replacement wti lull ofthephyscaldspiaySiJB, usng porner a CON: or RAW: wndow. Far x-sp l Spelling cTecw alow* edts to Flats edlng and recall of prev.outcommands hardware scrol by John Hodgson 12, by C-A FfedFlMiDMk.il Unde A U cue Comntno -type gime. Wti Egraph Reeds pars ofx and yviue from a list DrtJs: Walk t» d rectory Tm, doCll AmgaVantw Create your own tat arftvnlre sound, m assembler of ffas and draws a tarmsSBd graph.
Operators tom menus programs in AmgaBasc FvfactSounfl Sounded far far alowdoit so Lnd dgtjr byLtteece Turner DHJfiS Anoner wart of DrutL Can Verson 2.03 of Difan'a C sWke ahel Suers G apNcs oem.es Hyper Ejase Sit'ware data management syston. V1,5 FltReqjtSJir lartx* C Ise requester module, «mfi Executable only UniAc Ve* of ’arc" for Ihx System V maebne m C UemCear Wits tor ougn townee memory I sti, zero ng demo driver, from Oar:* Heeti Obug Macro based C Oetnggrg rarxk.m, FF *2 Womar Verfasn 3 01 of Dave WsrkerY Yee rrvro'y long toe way.
U*:V*w Vevrt MacPant p rj«s m Amga low OuaPayfe ttamatefryn C6M. Uoda» fa htubon
* rminaJ mditar by John Hodgson orhgfires.wti samp»e pcV«, by
mtrvai Fred F'uhPiakSl New2AP A toird-generaion mull ¦pu'pose
ffa Scot Evendrx Gefie Hear* f« requester, wT source B»n GMJ
far 1 n x ’yocc'. Working ipcato to FF4 sector ec Ing utfcy.
V3.0 by John Hodgesoo Roo Sen pie FF reader yog'tm LatXref
Cross rafa*ence of Lattce3 13 header f-es Com prats Updafa fa
toe fie «npr*«en RanBaw A Ueu’Suder-Styfa rurrtxiwgenersro'
PopCU Sc onye program irvokw a new Lines Lne craning d*mo
program program on Dtk6 by John Hobson CU wrtfi aufamabc ecee'1
SeFont Changes font uaed m CU wndi* Cos hAAtei of Foffarte'-Ype game m A-gaBasc SMUSPayers Tw SMUS pays to play SMJS FF Qua Copy DeverpoTdncopers duocafaco f WOO Verson 2.3 ol toe VT-100 terning program Ossed lira-ike bif and *aed far Indng toe rnuoc farmabad rtes by protetBdeaia pffarenoei between two lea and John Hodgson ScrSPf Dual piayfeideiampie, kom CA, The dtk cortans an Amga weon cf lAcroGNUEmaca toer reoeatng re or*r,g-i*n one Vew A tny LBM vevw" by John Hodgson t-owsAC0x3C0x2btpfc"e fred FlMiDiilL.43 1e, and tot let old fe’exea Wbdump JX-60 optrr zed wort bench pnrBf pjyieid on a
320 x 23012 fiaie deep Rescfioing AmgaBasc prograndemos page f.©png of £q. U*3 Pa taDie versons of toe CP W toe ooes rq; u» DumpRPon by pjytelfl.
A 3D cube aquteze and unsqueeze John Hodgson FadFihDrt 59 Frid FlrfiDaifil Dr op Sreoow Wbdroa«“aflowi,v20UpC*»FF5S EO Ed Sim 60tar, s- ar ta Itax W. baed Brow**1 Updafeta broweer program w S »s ’B A*-66x Macro astar aer.vl .D.lE-0 Fnda AmgaBASiC prog backs m uroa! Or itacXiO on tv edtaf ut Sofanare T«ii and 3*. SE B lap a r&r exploring prog*m. R C. S-E-0 Lest Text wewng program, Ike Urn* Gro tyWarj Game of panes, apa and Keck botet, Brswse'2 AnorvrQ'fe'e'-t browser program, E Caiman Rapaaemantcoraoedevcarender adcs hnor**, *1.1, update tad* 34. S-E-0
* 1.Ci, update tadsk 70.
Dock Codt pragma nan farm, eotor*. E ad.ing and hutaryta any appctiai Tat Mikemaxe Scars C source ftos and con mete a HurkPad Aocs legs' paoPng a execu'tebtec ter D™e O’ on text adit* V1.22 V programrners.EO uses CON . VO 9. E-0 VWHi ¦rr akefi'e’ in t* Current Ctneeory.
Xmodem trann it* oa [ opG3tn Pja pattern on Warxbencn beckd-opED Com *e Hap ecemen! Conaola rautnai. In C, S O S-E-D PpeHander An AmgaDOS ppe dsvroe wbch supports DropShadow P-ts radowa on Workbench wnoows,EO O Decay* T* mean Pt by bt, updab to mCAO Qbjed orented drawng prog. *1,2.4, nsmed pipes and taps. VI,2 FxWB Sn ar to DropCota. Out doeanl work yet dta 66, n Modula-2. S-E -D uodate P FF SB Shareware, EO PopCU V3.0 of a hoi-key ta invoke a CLI widow.
S-0 Frag* Dapryt memory tagmentaiby l atng Rendon Smptemdom nxibergen r«or.nC S -0 wrf sewn pi r.ker, update tad »A 43, mCAD ObacVo rented Crawrg program. V*r»an re a® & tee memory Pocu.in C, S-E-0 Tdwug Mon tort devces by intercept ig Exec Racjessar Update FF3A. 1te recuesvr arito* to 12 2 Much improved over flak 56 tonTypa Otf'ga tie rypa of an con, p C. S-E-D SanuDQ ancDoDQ vecae, mC.al.O, OpkfTL Roooraf Demg ef limited pantert on Workbench.
Um ’make’m Manx C. S-E-D S-E-0 ScolOwta V33.1 of a Yrounfaae Hero Forgo SCSI SE-0 UcnPoc Uontor* prootssai *or paour actvty, in Unts Corwerts reasurameiS r. different lints, atv*4.
Supermort Genrtl eompoundinsfimorliEon ban
C. S-ED nduoes ' hart" opton. N C. S-E-D Vacorn AnqTv' Schwab
hack, rakesTV-ik cacL'ator E-D MouseOoot Mouse »rtr into ¦
dgrt* docAr CSED Xcopy Repacamanttar ArgaOOS 'copy', doent swe
on screen.Parody EndFlftDiikH So Bowtti lyisn ttiOt* tom
cr.anga frw date, uses Unxwldcaroc E D Fred Rah Oak »5 Vinous
nwi and freeware programs Transactor magune, v1 0. NC, S -0
F. 'tti Fiih D(ik73 Cih V2C6ofOrony t*h'-4k« tovfi BrtX Memory
reeoait fro vwrer Vary fait E-D Sp*w Ge-e’awa Xatonal
Enqurar'-Typa Baiier Play wti Bozer curvea poinfe and FieReq
Source ta widcard fie reguester BtrFona Mausttext output
4asr»r. E-0 haad-rei tom roles fie. Ti C S-E-D graniJaity,
S-E-D Hda Hoesexpansjcn memoryfrom programa HandShake Terminal
emJatorwifi VT527VT10Q Spool Three programs to demonstrato
Bsdne* Ray van b-spmea as above. S-E-D frrageTotos Shareware
too* to manipulator! FF VT102mpport E D nulttasKng and
spooling .n a pnroor Comm C soiree ter Comm fermrul program
*1,34 mages W«5 Mouse-driven text edcorvetsoi 2.1. E-D
ipotXar, lnC,v1.2S-E-D SE-D LnvMem SerwSnared Ibrory to aid m
lew memyy PrtDrvGen Generates prriter drivers, version 1.1.S
Wc Co-jnti m rds alt Una be", but fBSter, «n Copy Rep aeament
’copy' command vl.B, preiervet ¦tatlons avaiabe from author.
C. S-ED date, InC, S-E-D P o£ A star plot ng program with touroe.
Show Sideihow-Sk* FF viewer, V2.1. E-0 Fred Rah DliH70 Dff Smpto «iff m C. S-E-D RowlO Etampto ef seting raw mode on staid I'd Dm: Customizable text editor V2.0. E-0 Th* it a disk of mamwero programs.
DuM2 AnoTer Drltel n ModJa-2, *1.5, S-E-0 input Deb too Example liedl setupmacrot S-E-D Arr gaMontor Exprore* state ofne lynem, vi 13 Eleu Fast '(* progrsm rt C, S-EO Rocke!
Luary Lander ter Workbench, wTi souice.
FtrifUlDiikli Arc Standard f to asmpreitor and ibronan.
Fd Fatter Mti’ n C, S-EO Vuore
* moreNr«e textwwing utnty,*i C S€ ATPitn Patches Tran (former to
wore under1 vfl23. A port ol MS-DOS vSfl E-0 HerdCooy Senda a
traraenpt of a CU aettoon to a 1*. In Vnmw* Smpte Urix news
reette' AngaDOSI.2. S-E-0 BackBodk pianebookprogrm.
C S-E-D fniRih Dirts IS
F. 0* Writes zeroes to ‘rae backs on a DoTi Infijton-drven fie
mar pjat* program,v2_B.
MouaeOrt Update FF73. Tarns off mouse pontef. SE-0 A-tsPon'Auta sweets wroow -jider Tv mouse po nw.
D« for seemly, SE-0 GrtvtyWv* Game ofpanats, sr ps and aHcahd«,v1.C3. Stofort frsnqtt Tie tent r a Workbench acreer.
Vrta scroensaivf.
Lpssn Paw hf program* rat abort Jobe Awra y*ar i-sartaoa to CU and Wffi. V2.1,
* 20. SE-D CacxToFrom Douoe-cexs ii sendow bnnga rt b Farr.
When bating under Am.gaOOS 12 S-E-0 Lfr* Mag* In area vouifi -x* SpeedD' ArbTte'fait W, r aise-b*', SE-0
* 11, SE-0 UcroE-acs Ccnroy McsEmacs VI3d. Newer shows it m a
nendow. Vl.fl. ftti Fifth P.ih TikTt Cmd viOofatoP ta rod red
pnnteroubulte* toantfi*22 SEO Lb-it 30 v« on of He oa*K otruar-
The* re dm 1 and 2 sf Ons Gray'* Oeco danulon tar He.
RnhFcrs Lk* T oo u. Out roxoeo edges
• utameion gar a. vt2.
TeArgi Oaco aacorpied.iTuctred anguage Fie BG Damo Dero o' Sotawooc Re Ifeg. Adttaba» Temar Gene'ite* fracta scenery S-E-0 Logo Logo ir ag* -larpra*' V" naamt of bota C and Rtaca. A Li i,-»rf*oa s A-.gaOOS marager wr sound and gropidt Vsprrte* Waves 23 Vspr.fes. ‘•cnSfeCacov SaKey Damo kaymap *c tr, vl.O and tab ton n tupo «c Be auro ta gat bom oax 76 and T?
Fnaf:l.h.0R 17 En& m PipK 63 vpg Maxes c xpay* tar ligring voao mormon, FfadFlth IxakTI AcvSys A3«"tare system from Byte May 1987.
Th* it i pan of?* Lta* gam W*«‘, by tv 53rtwiro
* 1.0. Cyces Cyoeganelxe’Tron*, *1 0. E-D
* 1.2 E-D Drttory, verson VflJO.
EOMS Eipeiti Only Uercen Smuktor game, E-D AutsbonOpei Fools Workoencn ta o pei dtk dona, VV2 FrM Flrt) Silk S3 AfFo t Uaias arlois usng re Jo. Owu MandfrlVroomi Mantes teat generator mTi enhanced pa ette update to disc 73, SE-D Ths it t port of toe Ukai gin* Lam', by toe Software Ttnsformaion. P C. S-E-D controlt, fxedfloatng po presetA Cjai Converts FF fifes to PosSaipL V2.0, S£D Dittery, verson 12.00 ArgiBisc Usoelanaoui proyemj incLdng 3D plot
* 1.50, m Man C. SEO Commodi tesMadu'ii's Cammodrtes Exchange, an
Frttl Fltfi Dlik H arograr.ikkedoic&pe, C-A lego drawing
FiadFlahDitkTI exec library to manage input hand tor. VC. 4 Th*
ii ar ofcal FF tpsaficabon d&k from Commodore, $ r program
flecompariaon utii »rg March AamToois CLI took
tntsMr-btorietfio, loedt, mounted, Drt Update to d w 75 ol
Urix-lika 'dif, S E -D update to dak 16 program, S-E-0
¦‘ace.why.SET) Dm VI.27 of Diibn'iteftedrtor, updateFF74.E-D
FredFlrtiBlikSS Socks A van at on of lines', but *f.
AangrDev Gw oevces m ufppi names, r C, S-E-D DropShaOBw V20 of program tias put* shadows on B**A On x text procetso', Ue 't«‘. Doesn't rar ase coo'b ocX* EO AuxHanaer Example of ados hander TtetAiowt use of a Warioenffi. SE-D work, but source i tnduded. S-E-0.
Comm Cvmi wmnai program, vi 34, E-0 CU wi Tv senai part tacbdes source.
Elb Sharod libray exampe n Uaix C MWB EaarTTpfeafrarouwg Workbench window DkX tAitytaraxpiarng ito iystam.E-0 Author Stew Draw D-Handtor Ar AmgaDOS dwee hand e' gererates open calc to anoTe* custom scree” Fpc Smpie rfrag prooetsng program tat Crrd Fted’ects pr.n*r outaui to a file, r C, S-E-0 urxqu* denrfers, VI.0, SE-D Ve'son 1.01, S-E-0 operates on FF pK jres, wbi several tab ArgaDOS Vio’ replacement, inC and tatttel Ateriate Am.gtoXJS Ytttir progr*rr.!S£D CsseWB Eaim pe for oosng a custin liters, merg.ng mag«, E-0 aaaembtor. S-EO MemWatt Was ter few memory freshing, V20, SED Workbench
tcraen S-E-D tonMi UaXeticons tar tea, v1 2a, E-0 Kl Remove* a task and its resourosi r C.S-E-0 MovePoiter Moves »r*r to gvei tociton, S-E-D Cooke Generates on kna fortur» ooke tons Now icons U2Enor Dspiiys errors from Tdf ModiJa-2 comp ee, MoveWncow Move widow to gveniocaton, SE-D aphor*-na. S-E-0 Newfont* Two new tanta. IhUtlfl'. An trcwicorjil S-E-0 MunchngSq Murctmg Scyuves hen. SE-D JT-m Bu id-yo%r-«vi mouse port code.
Eemani tent, end 16rr5', a PC+ke tarn MonPhoc Update b process packet program tom dak PtoTeat Examofe fei wrs test to see if tin i« i PAL Uenjfijda' &aat« C soiree ties br manua.
Pa CLI An At gnQASlC CLI Shell program.
69. M C, S-E-0 macftne. SE-D bated on |ntdescriptors S-E-D.
F¥rt5emo Demo of Pw commerce product Mounted Program tar *crg if a drve is preaanf, r a Sc Generates raioom soenery, S-E-D NewFtacketo CBM t tonal on new pecketi and PoworWnddws.vl.2, f?»d*cre*ionof ¦crpttaC, SE-0 T*069S T w4£95 pr :iter drw iruct es rn AmgsDos 1.2 custam wndowA menus, and gadgets, Nro Ai3thef Voff-atyf* text formatter, m C, SE-0 WBOutoPF Eampfe o? Dual-a'ayfitod screea update PascelToC Pascal to C trardstar, not so g*eat S-E-D gv.ng C or aisemUy tource E-D ParTasX Fndi parent taik. In C. SE-0 FF41, S-E-0 Rep Tlfor’-like FORTRAN preprocessor. S-E-D Rat Oaates and ammsits 3-D
object! VO.5. E.D Query Any For acriptx, asXs aquesbor, acxepte Y N, WarpText Fast text tendering routnes, SE-D RjiBeek Starts program11rom CLL ttawng CLI Time Sat Set* bmafrom Worxbencn, E D gve* return code ta esaembter, S-EO Y*ff rEximpie FF roarer, S-E-D wndowtodoM. E-0 Fnd.nUimiAB Son Suer Rente pref aetlng* ter screen pro, n C.SED Zoo A f« arohver lk* ‘re*. VlA2A. EO SunMCut* Thia program lutoriaacaJydic&i in The-iiflikfiffT ptsuret Shared Lb Ex amp e, teiarad lb, m C S esaembfr, S-E O Frod Fish Drtt || (seeFredFras) wndaws when f» mou» nmoved Fred Rah DiakTl Tl» Srrpe CrMteTitel) eamd*
m C, SEO FFDtxBB ras been romovBd due ta capyghtproblems OvartfwrT! Varaonl.O.EO Add Cu*t3""jes ax erg prog-ar rerouiem Uw Liu W-cows centvl.0, in C. SE-0 Frtt Fllh DffeL II (•epaces Fred Fan 80) Fred f.iCDin 55 Aigt-kejr inorcua. A*o ind-jda* LroF, Vfhi Lite teas an vadjr aril wah queuaa.
DrUrw- 0* cate ague program, V1.0a E-D hr,Sen Prasirmry plans fcr a SCSI o k Mf T wate -ntl a gvan wtM s created.
Rt C.SE-0 FjncKey Su'ew&.te bncsar nay actor, Vi .Cl. EO AsnfiSk corjae* board Shareware, m C, S-E-D.
(tee Free Fn 32) UFF-Oemo Demo o* Me:Feme Fier database prog Macro issem a«r. Veroion I.B. 1. E-0 Aupfco-Qoen Fooi W ato twtarg rrouli -as Fad FtetWhajbaanartnd'tenfluetacopyrgrtproteemi Soeen$ hr*t Acius: sc-sen ocstsr v Preferences, SED Assgned Eiar pi* tar tredng DOS raert- couote da*d ecu h C. S-E-0 FftetriihDLikll Snake Bouncng ac-eggy rvsde-'o. SE-D ds» fec jOsOb'. By aca-nng tva sJ Da Gto'wnc Exec cavea rtertea ccoa tar Aar&t
VI. 1.0 o' a macro isjwo* AjtaEngurar sever, conbiptoi roqjester
rncvowerert (V of 'a&gnhd names S-E-0 open ibro’et, gartng
"Utpte K) A oFacc Shnnks T * FACC wnoow and maw* it tt SEO
Preenditoeat My alCU cnamei a*yitfironsusopari1ort.ec. ti Tie
back OemjLton DsoayHack SE-0 wndaw S€-D C, S-E-0 Brumes 53
custom FF brusnta of *vcTtm lyrbbl Ff»dFllh Dak 10 IropiKtei
Fed Rih 80) Ftp RipsMhota screen at ijoxa. S-E-D 0 stove
SldWy displays FF Sea, aft Nov66 Dr. OaoiFF Checo sructaro of
an FF ta CtodVI.4 Ar Gazer Mgnt sky v ewer of 1573 star! Aat
Foogb Foogb crosacomp1*? Ganarites Dobb't program ta C, S-E-0 upoite FF7* of a simpe CU ime.doy. E-0 Free VAX liteT.bycode S-E-0 Dtarm Fietbto, reprogrammable temnaf Corm in Re paces console hander to add edit rg aid Cvcfte AmgaBiBGcard file stody ed. E-D Pnntl amount ol Fee space on all doves.
Program vl.10. E-D hrSttY to many programs Can nan Console ha.-tJler tepiaaemenlg.vea line MalocTest S-E-D Expoae Re-arranges wndows so fiat at toast one Fonts Miscellaneous bits edtng and hstory to most prog! VO M.ED m all octree memory »r program.
Pial of menu bar gadget* are expoaad. Ta ban V6.0 of tae bon programming language ImandtoVroom Sght update tadsk 78 Mendfebrol S-E-D
C. S-E -0 KeyLocA Freeze* the keyt»a d and mome unsl put program,
E-0 Moll Prelrnds ta melt tie screen S€-D Lit Scant a text
fie, convert! To C-atyte ward entered NewOwiBS Replacement*
ter lirva and born demo* Nart Graphic lying itmg demo S-E-D
print*We iTngs C.vZO. S-E-0 Sceifi splay hack created from
‘tag* tait feke toss CPU »m*. E -0 Pury Easy way to set yew
atnbuws Lmv long Move*, program vews seres of FF Smutot
Smutowa en FF fie.
Otvfo Game of Osw ta, EO from Workbench £-0 pets n puck RidcasEon. Upto tB fpi Target Each mouw d.kc becomes a gunshot PnnTtit Dipfeys teitfivswrth gadget*, speech.
RayTrtoer &mpiefaytracngprogram. E-0 Shvewwe, E-0 Fred Fish Oik tt FF d spiay.vlZE ) SendPsdiBb Updated C0M anarrpei of paoet UauiaOrt Mousepwite'disappearsa*»r*n sects tover &se Port of Tv cessc CrowTvr a-ri Woods game PrlYvGer Autamasc prite* drv. Gereritr,v22a,ED SraoSirt roulnes and sk JS S-E-0 of non-use. H C. S-E-0 ArmcTarm VO 50 ol a tefeea*rrrur»ct5ons prognr, wrn RtnBenoi Cjcescoo.’iff'WB backdrop or text ED Me-oryrasoeTt sceen dump. E-0 Pa 0.1 Examples of oonTofl-ng perele! Port wtfi scripts, rodti. Seepi enhaxea fe recjeew ShorCut Manes sngto-koy thortJts ter entering TagBBS vawara
BBS system, w*on 1.C2. leiourcea rated of Te PAR: ces-ce ta DSDOw-o Derna vertoi of Dsk-2-Osk from CeiTi eammonJy Typed CU command!icuitom Ftm EjiDiiifiz
C. S-E-0 Cose Safware macros E-0 ArCrt Shreware dm
cataog gprogram RnPe'Foni Oite-fketant DX-Sym Voce 5tor
prog'im for Yamaha DX teres ShtowPrinl Dvstays and ptvrfe fel
ti*t of FF ptootunti AmgaSpel Sra-ewi-e htion gje. Ng
T nBawGround S ml*rto RinBeck on as*. $ 6. Rjn* lynTwaiWA
update ta dtk M icon.ro spr roa* a-tpLt ry**, *2.0 E-D
Bo-rice' crechr,V20. E-0 program, from Tw &] afowng tae CLI
DteMart V1.0 of anotvr DvUbi program Saitori Oraches demos,
*1.7.0, E-0 3-Dbouncng b*i wttn in Mj cForti. S60 wnoowtadose
ta C.S-E-0 tors M sew arao'ut new icont Tvnar Smal Workbencn
Sm*r coxt* tm and t Comm Terminal program v**.ir 1.33. E
SnapShot Scraa-vJ -p utifyupdste FF 66.E-D Part Unvarsal
Moprth panto. *1.2
m. rvrfe.E-0 DuxS Atofer veroior o! DrUlL S-E-D TypeAidTefi
Example mnlii a devce hand tor betare Rocket Anorvr Workbench
hack, pfeys Lun*1 Larde* Tool taovfrarcs tabsi a memory
HexCac Hex. Octal, 6 dec mil cicJatar. E-0 tataton, end speaics each key is rt is Srrd Gare of sanos telswing your pouter memory dsasaembte'. ASCII chart and fcon* Vanous Pg ard a trot n age eons.
Tressed ta C and assembler, S-E-0 FrM Fllh. Diik t3 caiciBtor. E Manda'a Ma.ndafag'icrtcsandtojid. E Xptor Pints mb about system Lia, ft Tns os* cont*ns a demo veaor of TeX from N SauMd.
FndEfthHrti 21 PersMa.1 Demo marm* peoonal fie narager.
Txtember.S-E-D 1 ii limited ta am ail Net, and rv tye evw' Aftentife Delnlan Language (ADL) a tup*set of an ob* RSLCoa MeuUv dxx ve*,on 11 E-D EudJlACiikH can any dtpliy ten pages ar ton, and any languega carted DDL by Mcheto Urtvn, £ «« Kostaroc.
RT Cubes Griphcidamo of Jocybet E D Ced Ed »ard rectois CLI comrrrd*, *1,3, EO
• «m*i ftjmber of temi aw pr&wdad.
Mcneto Stei. Broae Advr, and Waien Usj ADL Y rw Vi we- o orrre’-tjpa gare AmgaBASIC Coit-oi taterews grapr*o prrrar oump ci i and
f. 'rtfllf.Pxkh erhMoementa by Ro» C rn'f. Frcuded rucm a re
FrMFULlMH extents co or map, wCT.and screen Aud oToc sPtogrma
from Rob fte'i AyAg.it A-.;i A£X corrper. V »7f* and oebumar.
Brartoa Trva tt wasn MG tb at re licnGNL&naa. Source and
rtaaf-ton. C.S-E-0 World artide camtonedbyRoiawitaLltaeelCS
Cuenvorrmentoi-fy executibe irortduoed, U wel as *a. o* tef
on*' Dm SmptoWYSWYG tested tor tar Blab Bi'aar exaefiTtontcan
pfagram, VI .2. 00-11* 101 it ivaiibe Yam Tv computed net on i
r* A-ga_ programmers,vV2S Uodite o' FF 53.E-0 update b FF63
£fBL£ii LMJ2 A65C2 pcrtetxe 6502 asserber.C sour®, by J, Van
Onum, Am 50 por by Jot* Swa" Bawt Texipo®ssy update from
FFG5lrspred by UNIX awfc. Sea.'C.'te* f '« tor patterns,
perform* acions based on partem*. ByBobB'odt Amga pod by Johan
Wdro HunkPad update o1 FF&4 voraon. By J. Hamiltoi.peds an
ob ct to ta a multple ol 128 bytes to' twitof imodam
transfer. S E U'ss Lke Unix 'more*, better, verson 1.2 update
0' PF74, Scrolls Bat* and f crward. S E by Mark Nudelmoi,
A,mg* port by Bob Lennan.
Njr Library tat implements Ihe 48SO-jtx dr access rouirw* by M leMey '. S Piw Recurwe descent exp ss on f»T», compass.
And turns extressoi*. Include* fr*n*®ndentai hrvson upovt c Soji'co nCuded. By J OS*n Siv Two prolan *» p«x artfirpadi sto1 *rcr »es inc'uOe* C tour® by Fibtxto G Dutoe Sra'lib 8 tm*s sma' er Amiga lb replacement, brary only. ByayceNesot; U Jaxooe Eneoaa ceccoe biro y lies ‘or e rrsi or texvcr y merada Uodate at FF53. Includes cfwdtsum teerrque.cqmpttb wh bd* wrvons. Pu» tnnspofantto Oder vers3”* spoons* By Mark Horton, madled by Aan Roseoal and Bryce Nea&B.
Fred Fish Diik83 Ore Verson 1.27 WYSIWYG programmer edtor. Not a word processor Includes key mappjrg, last scrolling, ble-ine Katstcs, mutpie «mtow$ , ab aty to con,'fy windows. Update o!FF87, incudes source code, by Map D ion McroEmacs Version la. Uodau b FF61 indudes sou'oe Og by Daw Conroy mutlpie mod fcatons by Dane I Lewonce FutfFlthDlikM kt& oToo.s Demo program* tom ftob Peck'a July August issue ot ArigaWo-VJ or access rg he aud o osvrce. V2.updJ»otFFB4 S byFtobfto* CxAUpFron: Sm:ar in toncaon a CloJoFrant ptg FF86).
Bring M'tiows taVantbycocrg on any part of hem. V *.0. by Davde Cervone SE HeiosMouse AutorraxayacTvaaeawndcws-py r rrwng re rouse pen*'iru rew-cow V 1.0, Jncuoes sou'ce. By Davoe Ceorone FF2Ps Convert * iy Ffto u posacriptter pnntng ar vewog an a postscrp: compatbed«r£B Verscn 1.2. by Whim Mason and Sam PaoJuco E MooJaTools Van 01* Mao J a 2 program Ting rout.nes. by Jerry Mack TerrainSd Pseudorandom 3d re-iet scenery generator, update of 'sc', FFB7. By Chrt* Gray, 3o by Howard HJI F ed F(»hDIik95 Cmd redirectsthe wai device or paraiie dewce outputtoafiie. Capture prnijoba, debug or
'offline* printing .Vi By C Sthepprer SE CyynusEdDemc tfcr.oofCygnusSoff* CygonEd editor, 1 mufcptefte, muhpie laru* editor.IncudesiJenio
3. C of ManoFXP. By CygnusSoT Sotware E Gorrf ‘Get Outa Wy Face*
makes he Guru go sway to a ow cean-uo & rundown morecew.iy. V
1.0, byCrrttan Jonnun E Jojrna' records Seq-erce of m Ou SB &
leyboa.’d went*.
So-edm a ftetortetere payback Good to' oemos w doamienorg bugs E,t?yO, Cervcne IrergeMer, ciampts mer ng of MemLs; enres o‘ sequentially confcgurid ram boards When 5uacesstii, slows a'iocatng ¦ seeton of memory which spars boh wards V 2. Uoca* of FF55 by Carolyn Scheppner SE FrnterStealer temito to ‘Cmd*. A'tows diversion of output destned for printer to a fie. Brary only. Source ava. From Buhora by A LivshtsS J M Forgeas Fecord-flepiBy emitarto ’Journal', records and plays back mouse end keyboard events. B only, soi cu aval, tom authora A'e* Uvshitt S J M Forgeas Fred Flan Disk 96 ArnP.ayer
Ammaton roader andmpiBiteroyhecombned efforts o‘ Vdeoscape. SaJpOD. Stwr. Fcrms- h-Rigkt, and Anmator App'ebcety M HashetaJ C ess Usenet posted Amga po't nan*Am ga mts ace. Hgh playabtity. V1.0, S. by J, Startek At ga pod by a Lev an Hatkaencn provoejsojT»fy WB-Lxeprog, fx openmantaton b va os ton ot new menace ideas Nat a Wbreofacerren'. By&h Knnersiey lasei Pf.rt :«ws wtn n ?ay to*. V U, Soutb ava'a6e*fom auhc1. M Ha-sen LneDrawr Rodj«S ined'awngs based ond'iwng commands stereo in a text 4e hd jdes oemo 7tetdra»w an out ne map ot re USA and Ea» borders. V1.0, S£. ByJohnOsen IhpUpMenu
Exampiecooeinpiemertrgpop-uprrenua reescnetty compatbla wih htjtan menus SE.
By Dere* Zahn "eW635 TrKtonii 4G9W696 printer driwr. SE. By P StoiA) 'imeRam, Fast and Chip ram tot prog,E tyBTwahasn WarpText Fast tot renderng toutnes, to be linked with app cston p'ogsText d splay ‘as faster fester man 'blitz". V2.0 update ot FF87, S by Bll Kdly Fred Fioh D bK 97 Heo!aces FF57‘or Copyw.te probier-.s Ou'AndPasas Impamertaioni of Urn cut and wse comitianCs. By John Weed jraphft Prog'an to plot n m pi* luncboto in 2 or 3 dmens.’O"*. by Pynn Fahm in .luggsr VI.2of rebotjugger anmcon. Uses HAM mode aiJ ray tracng by Ere Grarar AauseReader Shareware p'og'am a ¦ead text H*s & vew
IFF files using ony he mouse, by Wliam Ben Sckmes Progtoderranst’atBairwftlngiren- oerr iecrniCjea by Heere|Le«)Tft'an Shm Snpe gropn * demo. Aopro*‘mei*-y smulateshemcton o* tera i *teractng pendufumj, hduces SovcebyChrsEdrss BMBitLflAa Axess iGcoor term nal program beoed on Comm VI, 34. Includes Mocnj wndcw.custem gadgets, colorized menut, et V. Beta 0 IB by Ke r Yo jng .comm by DJ James E. Backup WntoAmgaDos daks «the beckupdestn- alon. Recow' lies from the backup dak.
Requires maruaJ de&sdns on diax stucve.
DyAanKerr.SE DCQemo CksrCflt Z3. A disk cataiog proyam, dem 0 iimiiad to cataloging tOD fiea at a line, by Ec A fl, Mcr oAce Sahwa* HcO-wr WD-1002 05 hard du conbo'ter crnef. Card cacao e of r antanng 3 "arc 04 3 and A foo ea, heCmrer s capo&e of orty one hard dak. By AanKem SED Oqosa O-ck'Base, a *14119130 Lunagement ul ity*. De ne and martan • raxirum Of 2CC reco-cs per ty Kevn Hy-se E Tha Tha; a-g.age quiz program, S»n or type ergls'-.Tha: serterres ham suppied fie. By AtanKertSE Fred Fttfi PitK A-Reter Vers on 3 a Ray- Traong Conibuclon Set for he AmigtCornputer by Brian Reed ED
flBdflBh.D.Fk.tW Berserk Mutt see anmaWaty Leo Scrwab Ccnr.an Con»ie handier repJacemen; provdes I ne etftng ana command lire ftfiones bansporenlta app calon prog uses CON; widows. Shareware VI 0 oyWHaeea E. WBLanoe' Workbench c » ay neck gore, uograoe of 'RockK1 on FFB5, now wih iflund efocts By Fte»r da Sjvi E FfBdFlahHdlPl OrRane Crcjar planeger abr for VceoScapeJO Gerereto a c'oonrse oral* polygon »r re spec led r roer of w bea VI.0 by Trad Fioyen SE terAsser-o-'er C-3ng« Wykaencr. Leans wr FF-w.sr f«s by Stelan LrtaWE Mc-osoe Stancaar* soel ng cneoiar acant tat f« ana reports e*rort 1CC0
common wo-d he.
A3.CC0 word rra n dclonary wth mUSple uaerd sona7support Interfaceawith M cjoEM ACS 3.9 wti an v- act maao to stap hmugn the source file, stoppng at suspect words and allowrng the uee* to opbdn, V1.0 by Danel Uvrence. SED M-di mid' 3 brary and utility set tndudes Mdi monitor, routing utlity, rtetua utility, and mofe by Bji Barton SED Psht'p Postecnpt Herpmler fend* and p vews f es on screen by Greg Lee S *ssy)E Startups Three Cpjrtup lie repocemens fo' star can Astartupob; anc Lsa'.p ob Opcois incOdt [1) Boh Startup .ooj, 1or he WorkBench programs or CLI prog'BTs win or wnout command
ireparametos (2} WBStarteip.ooj, tor WykBencn programs or CLI programs hit reou re no command line perir etos (3) Cl Ete'lo otx for CLI proyams r«! *eoure command i*ne ;aa”wr» but do not need to be Wo'kBench nmnatte by Bryce Nesan SE Djug Machine roepenoentmacro be»dCde- bugging Uses* FF41. F Fitfi profiling suppod by Bneyak Bane ee SE Mat",-Stuff Heavy duty lext pabem matching stuff ndudes gmpie rrao i tat rep«enerl capao iff By Pete Goooo Sectarama Recover lost or damaged data from foooy or hard disks or repoir a dorr aged volume, by Davd Joiner E SiliCon Smart rpul hne ntBfpretorwth wndow
fof fUleo ing. Upg'aoe FFSOby Pgoodeve , E Xcan Uae icons to cail up scripts contanng CLI commanos. VZ3 upgrade of FF3VbyPete GoooeveE fnflfjrilfifciaa AvT-ees Ltxary and »K prog mpement rou*n« for ceatng and usng tee* held n memc .S. Cue AprogrsmmiaeRPHcaiaj'rjy.
Oe1 A C c*oti re* p*og S DosKwf A pa* o* progs, wf.cn a owsyoj to ta e 1es
* 0 0 ne or m ore'opoe* ter oudk i oaBng.
DoesnT sa* Ctos format IrtaDos A prog, to improve control and hand'rg of 3ne mataal on all disks in 'CLI crea'.
MFF-Upda* A text nport i &.for UooFicheFl r(dema on FF 89) and updmte same Podsk library Oatateoses Pack t Taxe* ail file*irefet ana ort. OnaditkJ pocks hem mb as n e fie ter modem.
Soi Am a version of aditwre.
Fft j Ftih Anaytcac Is a large and powerful ro'eadsheet prog.
FndFlih.EiMgS Asm Progs Mst assemoy toot* Incudes some S. BascProgs LeasrSquare sofveiteflK acua'e probe i g'apr,* resJts S Bson Arebecementfor urn *yaa:* comm and & Dnouse Anoher prog r heraflion of dabay hacks*. S. Porn Key Alows *ey» d *nd mouse nputsto be loOkeduntil passwortjiiemteted.
Grav tyWi's G are o' a anms.smos anc biack ho-es, v2 S upca* te FF8x Ipo2C Autf bwteiCuiirgoefn.lontomimche fllitlon pontoS Pere-et-F' Ex. O' Cteatrg A usng reenant prooesses. S RewnJ Replay Similar a 'Journal*vZO uodr»a FF95 Funckey Sha-ewa* tertrton key ediW', vl.lupdatea FFB3.
Souxe avaJ. Tom iuhor|Anson Man) Worn AT A am a I sfreewn ol some Amiga artwork.
OuickRrx An FF slideshow and cel animation prog,vd.13. RslNolla A Fmn*h game. Aw called Go-Moku.v1.0 FredFah Piek 107 Can VZ07 of Mar Diion’acm Ua shei.S. Dff Ai S,*miliar to other common hbiff* programs.S. ProSute Sate provcesex. Code o'laa tea such as FelO Rec-uessr, Xtec, Da Request, b tutor i or how b program he Amiga Book 1.01 .S SVTobs Some usefj tw«, S Fred Fah PtetlM Alie Dv ietrvg pxg based on IDS png S D-Mastr Dskcataloger v1 Do. JpdrttoFFBa S Dots Pe'teC Pr.nta Over an Ep«n MX® pr,n*r wih jpg'aoeirt msMed.S Mo-DCMP Letsyounonite'hel-vMejsageshr pass rrougnan DCWPwnoow Pr..ms he
-essage dssAmouse roordnates.tjja!ifer vnues Great for deouggmg. S, PnmPop A uti t send common control actings to the FAT: dev-oe S. Sectarama US tes to recover tost or darngod data from fopoes & hvd daks, v1,1, an update toFFl 01 Tek VrIOO amufator for aTekoorvx 4010 4014. (V2.6) update to FF6Z S. Zoo Fie ®ehiver, ike 'arc*. V1.24B. update to FFB7 FrcdFahDiakm Machine AnewariTason, SmCFW AcfVMfim,sxmuia»sfi080 a'ongwithhl® emuiaSon. S. Uupc Hook up your Amga as a usenet nooe. S FfPd F*h DU 11Q A£8k A G80CO assember wrtte" in C S. Rjc An op tm Bing C com per for he 68303 processor jpdote to
FF53. But no*, based on he cooe o* that duA.
Fred Rah Dak 111 AmyLoad A g'atyxcaimor.itorofcau. tetter. A memory use.
Hcudes Wj comporenS. Pbd.devce.mprte** system par arete's, & a-yead. Whch % he user nta'aoe A d sp ay program, (7 Jeff Ketey SE Assg-Oev Ass.gr* muxpe name* to a gven ces'ce modi fed verwn oihe oftjnol reeosed or disk numbe' 79.
By Riilip Lindsay, mad byOef SwbertSE Gauge Coninuousy dspiaysmemijy usage n a verwa py grapn B nary only. By Peter da Siva He: osMpj9e Anorter 'sunmouse'prog Automatca ly actvates a window by mouse pointer V 1.1, update to d’« JJ. By Davde Cervone SE Labels A habebc A numeric ordered cross retere ce lists 0! Defined system constants. Recommended for debugging purposes only, use the symbolic «teea i progs1 ByOaf Seben Mandei Anahw manda'Oro', gorBrntv program, »wh tvts A p aces of code from C Heath A R J U cal By Oaf Sebert S PopLte A PopCLI type ret Peys 'rteaio1*'your scree",.
Lets of brts A paces from Tomas Rok.cki‘s b tab A John Toebes’ PppCLl By Off Se-bert S EalBMLOMLlli Beachfltes BeacrscyeporTtyedtAfsortoAsajyJSIZK machine. ByJeiroid Tumwi Bonfy, Buiy Pushes*: open screens t-ound (hut herame
* buly*). Show more ha~ one demo a! Atm* By Utet Meyer S
OopSh.adow Dropsntcow V2.0, us* e? Bryce Nestnths Wa«berch
demo. B only. ByJm Macdoz KagenDemos *RG8‘ A "Focus* RGB
requires one meg. B only.
ByJoei Hagen Vacpm Latest wsion of vaeon for usemconjuctan wuh Wa«Bencn demo. Bcmy. 9y Leo Schwab A Bryce Nesbitt Wa«Bench A n«t screen hack, Arunson6l3(machn« For more laugh a yy m co jncBon wth Vacom or Ds (Dopshadow) hduoesS By Bryce Nesor.
FrtdFitiiDitk!13 AmCron Snple Urtx *oon’ type program,a backg'ound task uses a bisk-resoen tabe » aurtomalcaliy run ce an tasks on a *eg Jar bits, 1: soeafc mw V 2-3. ;ndudes S By Steve Sampson, Amiga port by Rex ScraeV Dre V 1.281 o MaTs text ed »'. A snpeWYSfWYG edtoroesgnedfarprogrammert ft* not a WYSfWYG word p'ocessc' Festunss ncude itiTa *ey msopng. *«! Scat ng. Tb lne rjtr.es m Jtpe wndows. A eb y t conify wrdews Uacateta FF33. Mcuoes S. ByMc Dtion Do sDw Exam pie DOS wvceOnwrir Minx C. Vvso" f .10. ind ud« S. ByMan Dfon M2Amga Demo of he ina I product M2 Am ga, A last *ng!e pass
Modula-2 compter wn editor. Inker, a smafl set of interface A standard 1 irares, Compiles only smal demo programs by limitngcodes;a A imports*. FurhordmreiopmentofbieETHZ compler on Disk 24. B ony Demos wh Sowce By;ft Degen. C N eden, M Schaub. J Sbaube (AMSonj NolconPos Clears posnoniifo of any conA slows Wa'kBencn to p k a new pace for he on. Uaalif for disk A drawer cons were Snapshot revr.te* he con A rewndow "'omnion. Modula-Z anoher demo for M2Arga By Markus. Schsub EtriBatLBMQH Coed Engish taC (and vce verst) transiator for C cecarato"A a muss for anyone eicrot pcssby the most hardcore
C guru By Graham Rosa. S Vttoo V27of Vt130 temrai eTjatorwrh k«rm.tfi xmooem fle Tar ter. Hcludwatewbug
* xbs posted to Usenet S*or?y rriter me port"gofv2.7 Upoo* to
FF55. Induces & ByDaveWecker WBLande* a soecal vers«n ofhe
ViBLanderprog*aT from FF100. ErkJng « unque. Eftectve use ol
sound, hcud« S. By Fteter da S-Vn A Karl Lebenpiuo' ffpsl.Flih
D!rik115 Klter Mastertjl V 3eo commern* o'he Amga Beabesmutec,
requi'et one meg o'nenory »run. Brary orVy. Byflober, Wilt
Marker aid Anchor oevioua sprite o,*nted demo wtb lots of *m*
jokes, 512K requi-ed, includes S, ByLeoSchwao FrrtiiKiDiitna
Manes Aram atrrabon system «»h treedHeren!
Ewrp* an m a »n*; Kar naneas. Rocner, A F-15l Kshrankaa A RpckBrrjnorta512K Am ga A show oft ovr tern HAM mode, heudet t ann a:on p ijer prag'am (mowe).
Anmaiors Du cer program* jdilbm, pibm). A a text g* roves ospiy program (wlom).
ByE'ktGrranAKenC f Fred FnhDiiA 117 AMUCDeno Area'yneslhonzontal acre ling opt 0 that s a 2430 x 20C pxei 32 color FF dcvo composed of eg view snapshot* of nem bers of the Amga Users 0! Gi gary. Superimposed on a very wee pcture ot he Cagary Skylna.
B orvy. ByiStephen Vormeulen A Stephen Jeans ExP_De mo Demo verson of Exprec Pant 1.1., used to create he scroilng demo pete re n he AMUC Demo dmw on fiv Psk. B orVy.
By:S*&neri Vermeuten BUBMUMllI Em-pte Trxs is 1 compete reviarte. From he ground up. R Daco. Of Pec Langston's Emp*e game AmJ; iyergameofexpornon.
EconoTvcs. War. Ec, can last nannsP.ayed Ttfter by local kayboard or Jrough modem VI 0. Threwvt, A mcUoes Scooe.
ByiOms Gtey. Or9na! Game by Ftete Langssn HAMmrm DsPays 1 neswmo»enc ponts arebauncng ora id he semen, wrwr s 1 doube buflafed HAM screen The Y poet on* a! He pont* aw catrteousiy coped mb an audio wowrVm miai i* played on al four cnsm*A A hepmofajuttintartedchordisder ved from he avs'age X position of heee pons.
Jforpi Source ByBil Burk Sta's Based cn ohgnal codo by Leo Schwab, has
c. tedits longer han re actual demo. Runs 512K Amgt B only.
ByHobe On*
W. reOemo Demon«a»* the AmgaA line drawng speed Runs on a 512K
Amiga, Indudes S. By Man OI on tn Conclusion To he best of 0 j
urowedge. He materials m b«* Ibi'y are toy 0 sbhutato. Th*
mean* hey wens ether pupicy posted and placed in re Pubc Domer
ty rer AuTKr. Or rey have resyfcqonsouatenedinrer fiesta wnxh
we ruve adhered. If you become aware of any vioisbon of he
a-hor's w shes. Peese contact us by mat.
IMPOFTTANT NOT1CE1 This list Is ccmpied and published as a service to the Commodore Amiga community lor informational purposes only. Its use is restricted to noncommercial groups only! Any duplication loc commerdai purposes is strictly forbidden. As a part ol Amazing Ccmputhg™, tiis list is inherenBy copyrighted. Any infringement on this proprietery copyright without expressed written permission of the publishers wil inajr the tul force ol legal actions.
Any non-commeraal Amiga user group wishing to duplicate ths fisl should contact Pi M Publrcaf ons,
P. O.Box 869, Fall River, MA 02722. PM Publications is extremely
interested n helping any non-commercial support for the Amiga,
• AC- To Order Public Domain Software, please use the form on
page 111.
Amaze Me Please use this order form when subscribing to Amazing Computing™, ordering Back issues, or ordering Amiga™ Public Domain Software Name __ Street___ City_St._Zip_ Amount Enclosed_ Please circle the appropriate item: New Subscription Renewal Please start my subscription to Amazing Computing™ with the next available issue or renew my current subscription. I have enclosed $ 24.00 for 12 issues in the U.S. ($ 30.00 Canada and Mexico, $ 35.00 overseas), All funds must be in U.S. Currency on a U.S. Bank Back Issues: $ 4.00 each (foreign orders add $ 1.00 each for Postage and Handling) Please
circle your Back issue choices below: Voll.l Voll.2 Voll.3 Volt .4 Voll.5 Voll.6 Voll.7 Voll.8 Voll.9 Vol2.1 Vol2,2 Vol2.3 Vol2.4 Vol2.5 Vol2.6 Vol2.7 Vol2.8 Vol2.9 Vol2.l0 Vol2.ll Vol2.12 Vol3.1 Public Domain Software: $ 6.00 each for subscribers (yes, even the new ones!)
$ 7.00 each for non subscribers Please circle your Public Domain Software choices below: Amicus: Al A2 A3 A4 A5 A6 A7 AS A9 A10 All All A12 A13 A14 A15 A16 A17 A18 A19 A20 A21 A22 A23 A24 A25 A26 Fred Fish: FF1 FF2 FF3 FF4 FF5 FF6 FF7 FF8 FF9 FF10 FF11 FF12 FF13 FF14 FF15 FF16 FF17 FF18 FF19 FF20 FF21 FF22 FF23 FF24 FF25 FF26 FF27 FF28 FF29 FF30 FF31 FF32 FF33 FF34 FF35 FF36 FF37 FF38 FF39 FF40 FF41 FF42 FF43 FF44 FF45 FF46 FF47 FF48 FF49 FF50 FF51 FF52 FF53 FF54 FF55 FF56 FENA FF58 FF59 FF60 FF61 FF62 FF63 FF64 FF65 FF66 FF67 FF68 FF69 FF70 FF71 FF72 FF73 FF74 FF75 FF76 FF77 FF78 FF79 FflSft.
FF81 FF82 FF83 FF84 FF85 FF86 FF87 FFNA FF89 FF90 FF91 FF92 FF93 FF94 FF95 FF96 FF97 FF98 FF99 FF100 FF101 FF102 FF103 FF104 FF105 FF106 FF107 FF108 FF109 FF110 FF111 FF112 FF113 FF114 FF115 FF116 FF117 FF118 (NA denotes disks removed from the collection) Please complete this form and mail with check or money order to: PiM Publications, Inc.
P. O.Box 869 Fall River, MA 02722 Please allow 4 to 6 weeks for
delivery saving utilities for EVERY Amiga owner!
Create multiple preference settings.
Quickly and easily restore them as needed.
Edit, Sort, Delete and Undelete any of them.
Fast, Fun and Easy to use, from WorkBench or CLI.
Runs on ALL Amigas . . . 500, 1000 and 2000 (V1.2 required).
Not copy protected.
Plus ... 3 other time saving utilities are included.
Available NOW!!!
Just send $ 29.95 plus $ 2.00 S&H to: SOFTLINK inc. P.O. Box 304, Coventry, Rl 02816 Dealer inquiries invited.
Amiga is a registered trademark of Commodore-Amiga, Inc. Looking For More “Byte” For Your Dollar?
Index of Advertisers Asquared Microillusions cm Distributions Inc. 15 MicroSmiths, Inc. 87 Aegis Development 24,25 Newwave Software 30 Central Coast Software 21 NewTek CIV CompU-Save 80 Palomar Peripherals 112 Computer Mart 54 Peacock Systems, Inc. 22 Creative Solutions 67 Pioneer Computing 26 Datamax Research Corp, 33 Prolific Inc. 3 Fuller Computer Systems 32 Right Answers Group 35 Haitex Resources 17 Rittinghouse Software Hilton Android 63 Development Co.
28 HyperTek Sedona Software 49 Silicon Springs 64 Software Integration Irovatronics, Inc. 29 Solutions 59 Kent Engineering Software Terminal CII &c Design 62 SOFT* LINK inc. 112 KlineTronics 95 Speech Systems 71 Littice, Inc. 7 Spencer Organization, Inc. 66 Lightning Publishing 37 The Memory Location 89 Mcgatronics, Inc. 1 The Other Guys 13 Meridian Software 70 TRU-IMAGE 3 MicroUotics, Inc. 11 Westcom Industries 93 Here is the answer, the model PPI-1000 Expansion Unit for your Amiga 1000 by Plalomar Peripherals.
? Full auto configuration ? Meets Zorro specifications ? Amiga buss pass-thru ? Built in power supply ? Power on off controlled by Amiga ? Real time clock with battery backup ? Fast RAM
- 2,4,6 or 8 megabytes
- No wait states ? Disk drives
- Supports up to 2 drives
- 20 or 40 megabyte hard drive(s)
- 3’A” or 5'4” floppy drive
- Fast DMA interface With 20 meg hard drive and 2 meg RAM price
is $ 1395 plus shipping and handling (Calif. Res. Add 6% sales
tax). Requires Amiga DOS 1.2.For further information call (619)
748-1202 or write to Palomar Peripherals.
N. AK sC,, Fi,e " *K AcA!t.oKnO ftgSS* eve°?Bis Kj0 v TALe
atK3 : FA oC" wre9arn6 fc kf L ak&& _ ONLY digum) CAN DO
• 4096 colors on screen simultaneously
• NewTek’s exclusive enhanced HAM mode
• Dithered HAM gradient fill
• Full screen effects including double, half size, mirror reverse
and more
• Full IFF and Digi-View compatibility
• Use 320x200 or HAM hi-res 320x400 resolutions
• Fat bits Magnify mode
• Rectangle, oval, line and other drawing tools
• 12 different paint modes including blending, tinting and smopth
• Full lasso cut and paste with automatic edge blending
• Programmed completely in assembly language for fast, smooth
response Get the maximum graphics power from your Amiga. Create
stunning, lifelike computer artwork with Digi-Paint, the first
full-featured 4096 color (Hold and Modify) paint program. Break
the “32 color barrier’’ and finally realize the potential of
your Amiga with Digi-Paint's advanced features: Find out why
Byte Magazine called Digi-Paint “Remarkable". Available now at
your local Amiga dealer or icall: 1-800-843-8934. I !
ONLY $ 59.95 wT=k Computer of the Year lilPficKoiw Omo Occpi’CcIw 0flS3 :i=rr ¦ noasa iPSli mrrr 1
* * These variables and this library *** + ** statement are used
in **•
* *' conjunction with the 'Text' **¦

Click image to download PDF

Merci pour votre aide à l'agrandissement d'Amigaland.com !

Thanks for you help to extend Amigaland.com !




Today: 34
Yesterday: 104
This Week: 337
Last Week: 762
This Month: 2893
Last Month: 2931
Total: 63961

Information cookies

Cookies are short reports that are sent and stored on the hard drive of the user's computer through your browser when it connects to a web. Cookies can be used to collect and store user data while connected to provide you the requested services and sometimes tend not to keep. Cookies can be themselves or others.

There are several types of cookies:

  • Technical cookies that facilitate user navigation and use of the various options or services offered by the web as identify the session, allow access to certain areas, facilitate orders, purchases, filling out forms, registration, security, facilitating functionalities (videos, social networks, etc..).
  • Customization cookies that allow users to access services according to their preferences (language, browser, configuration, etc..).
  • Analytical cookies which allow anonymous analysis of the behavior of web users and allow to measure user activity and develop navigation profiles in order to improve the websites.

So when you access our website, in compliance with Article 22 of Law 34/2002 of the Information Society Services, in the analytical cookies treatment, we have requested your consent to their use. All of this is to improve our services. We use Google Analytics to collect anonymous statistical information such as the number of visitors to our site. Cookies added by Google Analytics are governed by the privacy policies of Google Analytics. If you want you can disable cookies from Google Analytics.

However, please note that you can enable or disable cookies by following the instructions of your browser.


Visite depuis
Visite depuis