Sponsors

FacebookTwitterGoogle Bookmarks

the Amiga! DISK2-DISK programs the Amiga model 1020 external 5.25' disk drive to read and write 1541/4040and 1570/1571 disk formats including 1541 'tlippies". "'Converts Commodore/PET ASCII toAmigaDOSstandard ASCII and vice versa II' Transfers word processing text files {such as PaperClip. SpeedScript and Pocket Writer) to and from the Amiga !or use with popular Amiga word processors ti' Includes 3 public domain programs forconve rting C64 Koala, PrlnlShop and Doodle Illes to IFF format II' Finds and flags dialect differences between Commodore Basic and Amiga Basic files ,,t Provides VALIDATE BAM and CHECK DISK utilities (VALIDATE BAM verities the directory structure of the 1541/1571 diskette: CHECK DISK reads every block of a 1541/1571 diskette to detect diskette errors). DISK2DISK requires the Amiga model 1020 s.2sdisk drive. DOS-2-DOS version 3.0 permits access to any MS-OOS volume available via AmigaDOS.

Click image to download PDF

Document sans nom Your Original AMIGA* Monthly Resource Vol. 3 No. 11 November 1988
U. S. $ 3.95 CAN $ 4.95 More Linked Lists in C 1 Aegis Modeler: 3D
Versatility g Understanding Structures in C Adding 3D to
your Desktop Vide AMIGA 2000 Hard Drive Battle The AIR DRIVE
Dual-Sided, 880K Color-coordinated chassis and faceplate
Smaller and lighter than the Amiga drive External drive
pass-through Extra long 30" interface cable Spring-loaded dust
door Compatible with all Amiga systems One year warranty
Internal drive also available CALL FOR DEALER NEAREST YOU.
Av itex 1200E 7Q Small and powerful f v The Avatex 1200E.
Avatex MODEMS $ 105 ....1200P
699. ...1200HC INSIDE UTAH: (SOI) 752-2642 FAX;
(SOI) 752-8752 CALL FOR A FREE CATALOG.
CREDIT CARDS VERIFIED FOR YOUR PROTECTION.
Ask about our LOWEST PRICE GUARANTEE MEGATRONICS, INC. BOX 3660. LOGAN. UT 84321 FREE WITH EACH MODEM Amiga communication software & CompuServe access time.
The time is the distant future, in a remote corner of the universe. A hostile horde of creatures from the planet Egron is back to capture your home planet, Novenia. You climb into the cockpit to destroy once and for all this alien race. Are you ready for the ultimate space fight?
Starglider II, the eagerly awaited sequel to Starglider, streaks onto the screen with more astonishing graphics than ever imagined! With a 3D instrument panel and fast, furious, futuristic weapon system.. .it's the most extraordinary cross between flight simulator and shoot 'em up arcade game created!
HOW TO ORDER: Visit your software dealer, or call (BOO) 227-6900 from U.S. or Canada for Visa, Aimi MasterCard, or C.O.D, To order by mail, send check money order: Rainbird, P.O. Box 8133, San Francisco, CA 94138. CA add 6% sales tax and TX add 7%%. Shipping handling it $ 4.50. 3-3 weeks for dclivcrv.
LANDMARK TECHNOLOGY-ONE STEP FURTHER! Superfast solid 3D graphics give you an incredibly realistic feeling of flight.
SPECTACULAR SOUND EFFECTS add to the game’s startling effects.
MULTIPLE CONTROLS, FAST-PACED ACTION with an amazing array of flying creatures and crafts all aimed at you!
LONG AWAITED SEQUEL to the highly acclaimed Starglider.
Now, Starglider II brings you even more technological breakthroughs.
P. O. Box 3327, Menlo Park, lull CA 94026, 415 332-0900 C3 A I M
R 1 R n AVAILABLE ON: IBM 356K, CGA EGA 16 Color $ 39.95.
Commodore Amiga and Atari ST S12K $ 44.95. Rainbird and
Rainbird logo are trademarks of British Telecommunications
pic. IBM, Commodore and Atari are registered trademarks of
International Business Machines Corp., Commodore Electronics
Ltd., and Atari Corp., respectively.
Hot on the Shelves COMPUTING™ AMAZING COLUMNS ¦ AMAZING REVIEWS by Michael T. Cabral Victory over viruses, momentary music, alien annihilation, microfiche mastery, and more!
PD Serendipity by C. W. Flatte Hot spots from Fred Fish disks 149-152.
Bug Bytes by John Steiner All the latest from the world of bugs and upgrades.
Roomers by The Bandito Golden RAM, 16-bit videogames, CD-I, another HAM skirmish ... what could possibly be NeXT?
Your Original AMIGA Monthly Resource The Developing Amiga by Steven Pietrowicz A look at mysteries and successes behind efficient beta testing.
Meet Modeler 3D by David Hopkins A peek inside a new, open-ended 3D package.
AproDraw Graphics Tablet by Keith Conforti Artists! Meet the future of Amiga graphics StarGlider n by Jeffery Scott Hall Those irritating Ergons are back for another laser-lashing.
Wshell by Lawrence Lichtman A CLI substitute to spice up your command entiy options.
Desktop Publishing with ProPage
• TABLE OF CONTENTS• Volume 3, Number 11 November 1988 AMAZING
FEATURES by Barney Schwartz A no-nonsense tutorial in document
creation, plus some jazzy enhancements.
Game Pizzazz!
By Jeffery Scott Hall A grab bag of gaming hints, tips, and high-score crashing secrets.
Structures in C by Paul Castonguay The backbone of C programming in an understandable nutshell.
On The Crafting of Programs by David Hankins End the “search” for ways to speed up your programs.
Desktop Video VI: Adding the Third Dimension by Larry White Unraveling the complexity of 3D for your video creations.
A2000 Hard Drive Round Up by Sheldon Leemon In the market for an A2000 hard drive?
Here’s all the information you need.
Keyclick by Mike M. Duppong Program a typewriter click into your Amiga keyboard.
More Linked Lists in C: Techniques and Applications by Forest W. Arnold Procedures for managing lists, storing diverse data types in the same list, and putting lists to work in your programs.
BASIC Linker by Brian Zupke Combine routines from your program library to create an executable program.
AMAZING DEPARTMENTS Amazing Mail Index of Advertisers Reader Service Card Public Domain Software Catalog In this competitive world there is only one winner.
Publisher: Assistant Publisher: Circulation Manager: Asst. Circulation: Joyce Hicks Robert J. Hicks Doris Gamble Traci Desmarais Donna Viveiros Virginia Terry Hicks Robert Gamble Marie A, Raymond Asst. Circulation: Corporate Trainer: Traffic Manager: International Coordinator: EDITORIAL Managing Editor: Co-Editor: Don Hicks Ernes! P.Viveiros Jr.
Michael T. Cabral Ernes; P. Viveiros Sr.
Richard Rae Michael Creeden Co-Editor: Hardware Editor: Music & Sound Editor: Copy Editor: PRODUCTION Art Director: Keith Conforti Illustrator: Brian Fox Production Manager: Rico Conforti Associate Prod. Mgr: Mark Thibault miCANE Ronin
P. O. Box 1093, Alameda, CA 94501 U.5.A Telephone (415) 769-932S
Fax (415) 865-9852 Twx 9102502720 Ronin UD Amiga is a
trademark of Commodore-Amiga, Inc. 68020, 68030, 68881, 68882
are trademarks of Motorola.
Hurricane is a trademark of Ronin Research & Development Inc. VAX is a trademark of Digital Equipment Inc. The results are in and Hurricane has won. According to the August AmigaWorld: "Currently, the Hurricane board is the best way to increase the performance of your Amiga,'1 Now Ronin has designed a whole family of Hurricane products that will make your Amiga 1000 or 2000 run up to 20 times faster. You'll save hours on ray tracing, desktop video, animation, and other math intensive applications.
The Hurricane family is fully modular, so you can start for as little as $ 600 and upgrade in stages. Start racing with the 68020. You can then add a 68881. Later move up to our 68030 and maybe the 68882. Add up to 4 megabytes of 32-bit memory and your Amiga will sprint faster than a VAX minicomputer.
Why waste time and money on less performance. Run on in to your favorite dealer and get a Hurricane, or call us for more information. But whatever you do, don't be left at the starting line while everyone else passes you by.
S £ gr% IJ0V M Iip TM Dealer inquiries invited SPECIAL THANKS TO: Buddy Terrel! & Byrd Press Betsy Piper at Tech Pius Bob at Riverside Art, Ltd.
Swansea One Hour Photo Boston Jewelry & Loan of Fall River Amazing Computing™ (ISSN 0886-9480) is published monthly by PfM Publications, Inc., Currant Road, P.O. Box 869, Fall River. MA 02722-0869.
Subscriptions in the U.S., 12 issues for $ 24.00; in Canada a Mexico surface, $ 36.00; foreign surface for $ 44.00. Application to Mail at Second-Class Postage Rates pending at Fall River, MA and additional mailing offices.
POSTMASTER; Send address changes lo PiM Publications inc., P.O. Box 869, Fall River, MA 02722-0869. Printed in the U.S.A. CopyrightOOct 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 requested returns must be received with a Self Addressed Stamped Mailer.
Se nd article submissions i n bolh manuscript and disk lormat to the Co-Editor. Requests lor Author's Guides should be directed lo the address listed above.
ADVERTISING SALES Advertising Manager: John D. Fastino Marketing Assistant: Melissa J. Bernier 1-508-678-4200 FAX 1-508-675-6002 Protecting your valuable hard disk files is easier and faster than ever before!
The FASTEST Hard Disk Backup Utility!
Backup to or restore tram: ? Floppy Disks ? Streaming tape (AmigaDOS-compatibie) ? Cltd's Konica 10.7MB high-density floppy drive ? Inner-Connection's Bernoulli drive ? ANY AmigaDOS-compatibie devise ? Fast backup - 20MB in 30 minutes or less ? Uses two floppy drives (it available) for backup restore with automatic switching ? Builds, sorts and displays catalog ot files and subdirectories ? Provides FULUSubdirectory lndividual file backup restore ? Includes or excludes fites by name with wild cards), file date, or archive bit ? Calculates the number of floppies you II need before you start ?
Handles files ol unlimited length, unlimited subdirectories and unlimited fifes per subdirectory ?Automatically formats diskettes with no delayas it writes ? Sequentially numbers and date time stamps backup diskettes ? Checks the sequence number and date time stamp of each diskette before restoring files from it ? Restores original date time stamp, file notes, and protection bits on both files and subdirectories ? Runs with Workbench or CL! ? Produces backup restore report to disk or printer ? Beeps for floppy change ? Accepts CLI parameters and batch command files ? Detects bad disks during
backup orrestore ?Convenient user friendly error recovery ?Multitasking ?Runs in 512K ? No copy protection ? Works with all AmigaDOS compatible hard disk drives Only $ 69.95 Pius $ 3.00 shipping and handling. CA residents ass 6% sales tax.
11 III nil nf.
III fii I III llllli smith mm” O pi Convert C64 C128 Files to the Amiga!
DISK-2-DISK' makes it easy and convenient to transfer C64 C128 files to and from the Amiga! DISK-2-DISK programs the Amiga model 1020 externat 5.25' disk drive to read and write 1541 4040and 1570 1571 disk formats including 1541 "flippies".
? Converts Commodore PET ASCII to AmigaDOS standard ASCII and vice versa ? Transfers word processing text files such as Paperclip.
SpeedScnpt and Pocket Writer) to and from the Amiga for use with popular Amiga word processors ?Includes 3 public domain programs for converting C64 Koala, PriniShop and Doodle files to IFF format ? Finds and flags dialect differences between Commodore Basic and Amiga Basic files ? Provides VALIDATE BAM and CHECK DISK utilities (VALIDATE BAM verifies the directory structure of the 1541 1571 diskette; CHECK DISK reads every block of a 1541 1571 diskette to detect diskette errors).
DISK’2-DiSK requires the Amiga modei 1020 5.25' disk drive.
Only S49.95 Plus S3.00 shipping and handling CA residents add 6% sales tax.
D0S-2-D0S transfers MS-DOS and Atari ST files to and from AmigaDOS!
00S-2-D0S version 3.0 permits access to any MS-DOS volume available via AmigaDOS. Including MS-DOS partitions on hard disks and MS-DOS volumes on LANS or SCSI networks.
? Supports single and double sided 5.25-inch as welt as 3,5-inch 720KB MS-DOS diskettes ? Reads,'Writes 3.5-inch Atari ST diskettes (GEM format) ? Reads a variety of 5.25-inch MS-DOS floppy formats via the CLTD Konica high-densily floppy drive ? Converts ASCII file line-ending characters and provides Wordstar compatibility ? Supports lull directory path names, with wild cards in the file names ?Allows selection of MS-DOS and AmigaDOS subdirectory and displays sorted directory listing ? Formats 3.5-inch and 5 25-inch MS-DOS diskettes and Atari ST diskettes ? Provides duplicate file name
detection with query replace options ? Provides TYPE and DELETE commands ? Permits renaming of files where file name restrictions occur ? Remains resident to permit AmigaDOS disk swapping.
Only $ 55.00 Plus S3 00 shipping and handling CA residents add 6% sales tax Central Coast Software 268 Bowie Drive. Los Osos, CA 93402 • Telephone: 805 528-4906 • FAX: 805 528-3138 DE4i.fR INQUIRES WELCOME Color Graphics.
Multiple Fonts.
Spelling Checker.
Mailmerge.
Multiple Windows.
Resizable Graphics.
Fast Printing.
New Horizons First in Personal Productivity and Creativity
P. O. Box 43167 Austin, Texas 78745 (512) 328-6650 ProVTnic.
ProFonts and ProScript arc trademarks of New Horizons
Software. Ip' Amiga k* a registered trademark of
CaxruTKxJore-Amiga, Inc. PostScript 6 a registered trademark
of Adobe S* No Other Word Processor For Amiga® Stacks Up To
Pro Write™ 2.0. Word is out. ProWrite 2.0 allows you to expand
your Amiga word processing to new horizons. Use it to generate
proposals with impressive bar charts.
Create letters and reports with snappy graphics.
Generate television storyboards. Even dash out newsletters with spot illustrations.
And of course, ProWrite
2. 0 has till the other features you expect: a spelling checker
with 95,000 word dictionary. IMailmerge. And fast grapltics
printing. Best of all, it works with our font packages, Pro
Fonts I and 11, giving you a broad range of professional and
decorative fonts.
All this, plus Pro Write’s powerful editing capabilities and east--of-use combine to make ProWrite the best word processor for the Amiga computer.
ProScript: Perfection In Print For The Amiga.
ProScript is the new PostScript utility from New Horizons Soft- wrare that gives you the professional look of typeset copy.
ProScript reads ProWrite files and prints them on any PostScript equipped printer, giving you the same multiple font and picture capabilities you expect from ProWrite, but with die typeset quality of PostScript printing.
ProWrite 2.0 and ProScript. A powerful new team diat puts a new world of word processing and printing at your fingertips.
A Z I N G M A M AIL BASIC Bmap Update Dear Amazing Computing, Thank you for printing my Basic Bmap suggestion in your September issue.
Unfortunately some glitches seem to have crept into the listing. The following lines need fixing before anything will run: Line 3 should read in part- Q$ =CHRS(34) [not QS+CHRS (34)1 Line 5 should read in part- DestfileS [not DestfilesS] Line *8 should read in part- Flength&;“:READ XS etc. ["", not Incidentally, the more adventurous programmers are probably aware that not all of the Bmap file is needed if only a few library functions are being accessed. You take the file apart and keep only the register information that pertains to the specific functions used.
Regards, Frank Turner California Thanks for the follow-up to your own tip.
Experience has taught its that this sort of tenacity is the norm for Amiga users. If perfection continues to be the goal of users, the A miga com munity will go a long way.
Track Hack Dear Editor, Like all good hacks, the “Trackball” (August 1988) can be improved. After buying the trackball (the hardest part), I realized that I wished to use it as a mouse and a joystick. Instead of making the cuts on the pc board, I pulled the ic A5 (4019) from its socket. Pins 1, 3, 5 and 7 of the 4019 were bent out, and the tc was inserted back into its socket. (Pins 1, 3, 5 and 7 do not stick into the socket.) The 4019 is CMOS, so one has to take the standard precautions. Pin 1 was then connected to Point C (Fig. 1) using wire-wrap wire and a low-heat soldering iron.
Similarly, pin 3 was connected to Point D, pin 5 to Point A, and pin 7 to Point B. Replacing the cable went according to the instructions in the article except the colors of the wires differed. Now the Atari trackball can be used as an Amiga mouse or joystick at the flip on the built-in switch. I wonder what Jack T. thinks of this?
Yours sincerely, Wesley Ebisuzaki Connecticut Track Hack II Dear AX.
I am writing in reference to the TrackMouse hardware article that appeared in the V3.8 copy of Amazing Computing. There was an error in the wiring instructions on page 36. Mr. Joyce indicated that the right trackball button be connected to the yellow wire of the joystick cable. He also mentioned that the gray wire was not needed, but that it could be connected to the right trackball without ill effect.
In actuality, the gray wire needs to be connected to the right trackball button, and the yellow wire is not needed. The confusion might have arisen from the fact that in the Amiga 1000 User Guide, Commodore lists Mouse Button *2 as pin out 5 (yellow wire) and Mouse Button 3 as pin out 9 (gray wire). The right button on the Amiga mouse is Mouse Button 3!
Aside from this problem, the modification went fine. I would like to tell Mr. Joyce that I (being somewhat of a novice) decided to solder the “trace” connections to the chip socket pins (chip A5), as I could not solder to the traces on the board. I did have to use a meter to determine which socket pins to do the soldering to.
Lastly, I would like to thank you for continuing to run the hardware projects.
This is the second one I have completed for my Amiga, and I look forward to more (perhaps a fix that will allow 1000 owners to use the new graphics chip set?). Keep up the good work.
George Houghton Indiana Thanks to all for living up to the tradition of true hacking.
Dear Amazing Computing, I'm just writing to tell you guys what a great job you are doing with your magazine. It is truly one of the best AMIGA magazines along with INFO magazine. In the August issue of your magazine, Graham Kinsey asked anyone who knows the backdoor to ARKANOID to write him. Weil, here it is.
1. Pause the game with the space bar.
2. Type “dsimagic” (not the quotes) and press return.
3. Unpause the game by hitting the space bar.
4. If you did everything correctly, a capsule with the letters DS
on it will fall from the top of the screen, catch it.
5. Now, you can call up any capsule by hitting its initial.
Ex, L for Laser, C for catch, B for break etc... You can also skip screens by hitting the enter key.
You can go to the final screen by hitting F.
6. In this mode, you can have normally incompatible capsules
working.
Ex. You can disrupt the ball and use lasers too.
By the way, I read about this back door from INFO magazine issue 19- Steve Kee Canada For all youfrustratred Arkanoid freaks out there, brick-breaking success is only a backdoor away.
Speedy Startup Dear Amazing Computing, Over the past few months, I have been looking for ways to speed up my stanup- sequence. Here are some time-saving tips I have been using that others might find useful:
- Use the full path name of commands and files rather than
searching (set by the PATH command) through the directories for
them. For example, instead of: COPY FORMAT TO RAM Use:
SYS:C COPY SYSSYSTEM FORMAT TO RAM: A new release from Lattice
who brought you the better C OBJECT ORIENTED. A FIRST FOR YOUR
OBJECT ORIENTED AMIGA!
LIFE SPRINGS FROM YOUR SCREEN WITH THIS HIGHER LEVEL OF PROGRAMMING!
PRODUCE MORE RELIABLE PROGRAMS WITH FEWER KEYSTROKES & LESS EFFORT!
HIDE YOUR DATA TO PROTECT IT!
BUILD ONE TYPE ON ANOTHER TYPE!
DEFINE A GENERIC THEN REDESIGN SPECIFICS WITHOUT MAKING THE PROGRAM FAIL!
TRUE DATA ABSTRACTION TO AID IN PORTABILITY AND PROGRAM SIMPLICITY!
OVERLOAD OPERATORS AND FUNCTIONS!
COMPLEX ARITHMETIC LOOKS LIKE PART OF THE LANGUAGE!
Now at a software supplier near you!
Lattice isa registered trademark of Lattice. Incorporated.
Am iga is a trademark of Commodore-Am iga. Inc. _ Lattice. Incorporated 2500 S. 1 lighlttnd Avenue Ixjmbard, SL 60148 Phone; 800 533-3577 ¦Subsidiary of SAS institute Inc. in Illinois: 312 916-1600 Lattice M. An end to the high price of ink-jet ink editorial corner. Is AC too technical, not technical enough, or somewhere in between? Please let us know what you think. Remember, as readers, you make the editorial decisions.
- When printing multiple lines on the screen, instead of using
ECHO, just TYPE an ASCII file, which contains what the ECHO
command would have printed out. (i.e. SYS:C TYPE
SYS:S MESSAGES).
Inky dink gives you the most vibrant colors, the reddest reds, the bluest blues and the blackest blacks.
Inky dink is velvety rich and smooth satisfying the most discriminating palette.
Inky dink comes in three sizes and four colors inky dink has been machine and consumer tested for over a year
- If a directory, such as SYSTEM, exists on your disk, do not
bother to search for it. Just add that directory to die
existing path.
- If you have enough memory, use the ADDBUFFERS command. I find
that adding 25 buffers to dfO: speeds things up considerably.
- If you wish to execute files from your startup-sequence, make
your current directory RAM: before executing the file.
This makes the T Command work file be created in RAM:.
Here is a sample Startup-Sequence: SYS: C ADDBUFFERS DFO: 25 ;adds 25 buffers to dfO:, uses approx, I2.5K SYS;C MAKEDIR RAM:C SYS:C PATH ADD RAM:C ;Searches RAM:C for commands first.
SYS:C CD RAM: ; This next line executes a file that copies : commands to RAM: SYS:C EXECUT(VE SYS: S RAMCOM M AN DS RAM:C PATH SYS;SYSTEM ADD RAM:C TYPE SYS:S MESSAGES ; Prints out the ASCII file MESSAGES.
I hope these tips make booting up your Amiga a little more speedy.
Sincerely, Mark E. DelCogliano New York
P. S. I think Amazing Computing is great.
I especially like your columns THE COMMAND LINE and C NOTES FROM THE C GROUP, and the technical nature of you magazine. Keep up the good work.
Your speedy startup alterations are appreciated. In your “P.S., "you bring up a point that is always buzzing in the AC Galileo Gaffe Dear AC, In the introduction to the Amiga Product Guide, Education Edition, you asked for notice of any omissions. Well, I found one glaring omission which I felt I must point out.
Under the science section on page 62, my program, Galileo 2 was not mentioned. Considering Galileo has consistently received glowing reviews, and won title as "most Innovative Educational Program" at the Chicago CES, I was surprised that it was not included. Instead the Microillusions program, Planetarium, was listed, even though it has been advertised for a year now, and never shipped. Galileo has been out for nearly 1 1 2 years.
Inky dink HALF THE PRICE OF THE MANUFACTURERS INK sensational products from 1441 so. Robertson Blvd.
Los Angeles, Ca 90035
(213) 277-8272 XETOXANOOtAeiOASEPEGlSTEREDTAAOE MARKS OF XEROX
CORP I hope that Amazing Computing will be able to correct
this error.
Thank-you for a terrific magazine.
Our apologies to the developers of Galileo and all star-gazing Galileo users. The program is truly a fine indication of how far the Amiga can go in the classroom.
You can be sure Galileo will be listed in our Amazing Product Guide: Winter '89.
Thank you for pointing out our gaffe.
Roomers Rambles Dear Mr, Hicks: After reading about Aegis Development, Inc. in your October 1988 “ROOMERS” column, I feel I must write and strongly object to your magazine's continuing improper and potentially libelous editorial policies.
Contrary to your column’s remarks, I am principal founder, Chairman, President and Chief Executive Officer of Aegis Development, Inc., and have always been easily located by dialing the correct telephone number (213-392-9972, 9:00- 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 SESThigh speed spell checker.
(Even better than Zingf Spel!) $ 49.99 KEEP-Trak GL-general ledger for home or business AMI ¦ amortization program MATCH-IT -teaches shapes & colors (preschool) MATH-A-MAGIC1AN - add, subtract, multiply & divide $ 49.99 $ 39.99 $ 39.99 $ 39.99 Call or write for more information.
SYNTHIA High Performance Digital Synthesizer A state of ihc art music tool which will: Create tiigiia! IFF Instrument*; for use with nearly all music programs!
.Modifying existing IFF Instruments. Use SYNT III A on digitized samples to add reverb, wow, and other enhancements, SOMETHING l-OR EVERYONE: Additive Synthesis - a traditional mclhod which can create almost any type of instrument. O V* I’lucked String Synthesis . Simulates plucked strings . , , right down to the pluck". V Inlerjtolative Synthesis - a method which iulruduccs the natural imperfections found in instruments. A-f (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, waveshaping, amplitude modulation, real reverb, and . . .
IFF Music Player - powerful and compact. Now you can enjoy those songs that needed a memory expansion before! Up to 32 tracks and 32 11*7 Instalments! Supports chords, lies, etc. is ir i.ivi: ... ok is rr 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? Aqq qq Requires AMIGA 512K 7*17 » 7 Copynght©1987, TIIK OTIIUR GUYS Software • AMIGA is a registered trademark of Commodore Amiga THE OTHER GUYS 55 North Main Street ¦ ¦ Suite 3CD1-D PO Box H Loqan Utah 84321
(801) 753-7620 (BDD) 942-9402 5:00 PST). Further, Aegis
co-founder Michelle Mehterian is the Corporate Secretary
and Vice President of Creative Services. We comprise the
original Aegis team and are very much “intact". The
original shareholders and executives have, on the other
hand, moved on for various reasons. Your other comments
regarding the buy out of the company and marketing staff
are false and misleading.
Aegis has changed dramatically this year, but for the better. Over the past three months, we have released three new products, Lights! Camera! Action!, Modeler 3D, and Aegis Draw 2000.
During the next three months we will release five additional Amiga products (as well as a new product line for the Macintosh II). That will bring our catalog of Amiga products to 20.- I have learned that I am not alone in reading misinformation published by your magazine. I hereby demand an immediate retraction of all false and misleading statements to be published in your next issue.
Sincerely, David Barrett President, CEO Aegis Development, Inc. As always, if readers have problems or corrections in regard to oar editorial content, they need only write us and we will publish their responses. In this vain, we have printed your response in full. To the best of my knowledge no “false or misleading statement” which has been brought to our attention in writing has ever gone unanswered. We continuously publish corrections in the largest format possible because we take our position at AC very seriously. We are a resource that the Amiga community can depend on.
As you are aware, there is a great deal of controversy from the Amiga community on the value of “ROOMERS." From the initial response to our letters column in the October issue of Amazing Computing (including many phone calls), the readers are for it, and the developers are against it. (Although this letter is the only written dissension we have received from a developer.) Our current position on “ROOMERS" remains firm; we will print the column with a disclaimer, and publish conflicting reports and responses as quickly and thouroughly as we are able.
Let me say that the mention of Aegis was small, and that it did end favorably.
There was balance to the piece, and a positive statement as to Aegis's position.
No attempt was made to discredit your efforts to increase your company's profitability. We are on your side.
Everyone at AC is extremely supportive of any developer who wishes to create products for the Amiga. However, our support must continuously be weighed with the longer view of protecting the Amiga user.
Roomers Rambles Dear Amazing Computing: I have been an avid reader of your publication for well over a year. I have always looked forward to reading about new software and hardware being developed for the Amiga. In addition, I have enjoyed reading about new technologies and new markets being opened because of the Amiga. However, the Vol. 3 No. 9 issue seemed to be two- faced.
In one section, I read about an exciting recent AmiExpo show where many new products were shown and announced.
Commodore’s presence seemed very reassuring. And the large turnout seemed to reflect die increased enthusiasm for the machine. And while I was reading this, I kept thinking to myself, “ Terrific!
Way to go!"
But a few pages later, I find myself reading a “Roomers” column that seemed intent on chilling the hearts and minds of each and every Amiga owner. Does this Bandito fellow actually believe that Apple has enough clout to, in one swift stroke, halt all of the momentum the Amiga has been gaining over the past three years? No way! If Apple plans on giving the Amiga some serious competition, I say “Fine!” It just may give Commodore more incentive to come out with their new computers and enhancements. Despite this scary column, I see no reason to believe that Commodore will not continue to beat them
with their new hardware boasting superior technology at less cost as diey have always done.
I can’t believe the Bandito really believes the 65816 chip is superior to the 68000.
(Gee, maybe if I turbocharge my Commodore 64's 6510 CPU, I can outperform a Mac li...) My point is to just worry about what is going to happen with the Amiga and forget about looking over our shoulders at Apple. After all. It's what the competition has been doing to Commodore for years now, isn’t it?
Sincerely, Robert E. Wilson California Roomers Rambles Dear AC: I just read the Roomers column in Vol.3 No. 9 issue.
It looks like Bandito is trying to push a square peg in a round hole. Does he really believe anyone but died in the woo! Apple H loyalists will put down $ 2500 for an 8-bit machine?
The 6502 was a good microprocessor in it’s time, but even pushing it to 7 Mhz, it’s not the wonder chip he makes it out to be.
He fluffs off multi-tasking because of the high costs of memory chips. I think even Commodore doesn’t know the convenience and ease of use you get with multi-tasking. I would never buy another computer without it.
For less than the $ 2500 system price he quotes for the Apple II GS Plus, I have an Amiga 1000 with 1 3 4 meg of RAM.
Two 880k floppies and two meg 3 1 2" miniscribe hard drives, RGB monitor and MULTI-TASKING.
Don Morgan New Jersey As always, reader feedback about the “Roomers” column is most valuable to us.
Since day one, we’ve been faced with tough questions about “Roomeis.” Is the column of real value to our readers? Is the column fair to developers? Should we even run it? Again, keep letting us know so we can provide the type of “Roomers” that are fair to everyone.
• No more painful waiting for icons to come up or large programs
to load.
• Supports many 8 and 16 bit controllers, 68000 family CPUs and
works with virtually all ST506 412 compatible drives.
HeBUILD it yourself HARD DISK SYSTEM
• Once constructed, drive configuration is very quick and very
easy with the use of a simple ASCII text file and utilities
provided.
* Typical cost for a 16 Megabyte hard disk system around $ 400.00.
(Based on let used Hard Disk of $ 100) Features
1. Customer support (by phone) during construction, installation
and operation.
2. Configurable for 1 or 2 controllers with 1 or2
drives controller.
3. Supports hundreds of megabytes drive and multiple partitions.
4. Flexible construction configuration: can attach to and pass
the 8ft pin expansion bus for A500 A1000, or configured for
A2000 ZORRO II or ZORRO I 100 pin bus.
5. Text file is used for hard disk configuration parameters ;
6. Supports SMS OMTI, Adaptec, Western Digital and other
controllers.
7. System access rates with
VI. 3 FastFileSystem and 40ms drives are typically: read rate
write rate (bvtes sec) byies sec) 1ft bit RLL 8 bit MFM 8
bit RLL 524k 374 k 201 k Previous hardware and circuit
construction experience is recommended. Minimum circuitry
required (3-4ICs) and can be constructed in a reasonable
amount of time if all instructions are followed carefully. -
MAX -1'1 is compatible with many types of i processors and
other internal and iexterna! Expansion products.
'Package includes:
1. Construction installation | operation manual with illustra
tions, layouts and schematics, list of vendors where parts can
be purchased, (as no parts are supplied).
2. Device drivers, example configuration and Mountlist files.
3. Sophisticated hard disk exerciser debugger with fast
formatter verifier, I data manipulation and bad track mapping
routines.
4. Utility program that includes filecheck, diskcheck and archive
bit manipulation functions.
5. Electronic Horizons' comprehensive full and incremental backup
and restore utility.
- MAX-'V is a trademark of PALOMAX. Inc. To Order V3.0 available
from PALOMAX, Inc for $ 169.00. Send Cashiers Check or Money
Order to speed processing.
COD also available.
PA residents add 6% sales tax.
J Outside USA: Money Order payable in US funds onlv, + 510.00 S&H.
Credit cards not accepted.
Business hours from 10 am to 9pm EST Mon-Sat. For tech, inquiries or assistance, please call between 6pm & 9pm EST Mon -Fri; 10 am & 5 pm Sat. PALOMAX, he 424 Moreboro Road Hatboro, PA 19040 215-672-6815 THE ULTIMATE STRATEGY BATTLE SIMULATIONS TeleWar, the Ultimate Strategy War Game, allows you to play against the Ultimate Opponent. Playing against an unpredictable human opponent assures you that victory is only sweet until the next game and that each TeleWar match is an exciting clash of intellect and intuition.
TeleEpic is the Medieval Version of the Ultimate Srategy War Game. Instead of commanding tanks and artillery, you lead a band of heroes waging war against your mortal foe. Test your skills wielding a mighty axe or sword. Throw a dagger or check your accuracy as an archer.
TeleWar II is the Ultimate Strategy War Game Revisited with new terrains and enhanced game play features. Experience the ecstasy of blasting your best friend to rubble or disintegrating someone you don’t even know. Watch out! You may be the next casualty peering out of a twisted pile of smoldering steel.
TeleGames , like all our 'Tele'1 products, provides the enjoyment of competition without the problem of where to play. Competition is enhanced with smooth 3D perspective graphic animation and digitized sound effects. Players may compete on one computer or ’TeleConnect’ via modem.
Software Terminal ilM The Intruder Alert Monitor allows your computer to become a monitoring, logging, or security system for your home or business. The system comes complete with everything you need for remote sensing including detector switches and wire. Intruder Alert Monitor software allows for digitized audio alarms, speech synthesis, modem interaction, date and time stamping of events, external program launching, and utility support for BSR X-10 controlling. Like all Software Terminal products, direct support from the author and designer is available though our BBS service or via BIX
vendor support area ’TeleGames’.
Software Terminal 3014 Alta Mere Fort Worth Texas 76116 Phone: (817)-244-4150 BBS: (817)-244-4151 Hot on the Shelves _ .... tv:, .....tv by Michael T. Cabral Invading Invaders’ Space Quality lasts. Even in the fickle, short attention-spanned world of video games, the cliche holds true. A Few years back, the coin-op classic Space Invaders blasted its way into bars and bowling alleys everywhere. Zapping rows of wiggling aliens became a quarter-gulping addiction and spawned a phenomenon called video gaming. Today's video arcades show how fast that phenomenon has grown up, but Space
Invaders clones keep popping up and luring new addicts.
The latest Space Invaders spin-off for the Amiga is the bluntly tided Better Dead Than Alien, developed by England's Electra Software and distributed in the U.S. by Discovery Software. Incidentally, Electra is tied to Oxford Digital, crafters of Hunt for Red October and Trivial Pursuit (remember that one?).
The premise, gun down waves of aliens, is familiar, but Better Dead scraps the similarities after that. You step into the moon boots of Brad Zoom, a James Bond-a-like determined to zap all enemies. At risk here is not only the universe, but according to Electra, your lunch as well.
The mutant aliens, “tire most revolting forms ever to pollute the universe," are a far cry from the friendly bop-a-longs of the original Space Invaders. In all their grotesqueness, these guys make the unsavory characters of other spin-offs (such as Galaga and Galaxian) look like lady bugs. Bleeeach! And for you wiseacres out there, the floating heads in the photo of die tide screen aren't the revolting aliens; they're the notably-better-looking designers of the game!
Along with varying degrees of ugliness, the mutants also possess different levels of toughness. Some mutants drop after a single hit, while others remain dangerous under fire. If you can bear to take aim on uglies widi glowing green eyes, extra combat power, freedom of movement, and other goodies are in it for you. Lively sound, multi- level action, and a Brad Zoom comic add to the battle. And if you can't stomach it alone, a simultaneous two-player mode is available.
Better Dead Than Alien $ 34.95 Discovery Software 163 Conduit Street Annapolis, MD 21401 800342-6442 An Amiga Antibody Better Dead Than Alien lets you expunge unwanted, but thankfully fictitious, visitors. V.I.P, another great “Discovery," helps you foil and frustrate the real demons of the computing world: viruses!
If you've been lucky enough to miss the irreparable vandalism of viruses, you may not know just how damaging these things can be. Viruses are invisible programs that latch onto a disk’s boot block and wipe out all the crucial information contained in SOFTWARE VIRUS INFECTION DISCOVER that block. Worse yet, viruses are more catchy than the common cold. Transfer of the virus from disk to disk is definite and undetectable. A single infected disk can corrupt every bit of information it comes in contact with. Last year’s SCA virus told us, “Your Amiga Is Alive!,” but this harmless-looking screen
message mercilessly translated to “Your Data Is Dead.” With V.I.P., short for Virus Infection Protection, Discovery Software has robbed a favorite credo from the Surgeon General: Prevention is the best medicine. Rather than simply sniffing out viruses, V.I.P. puts your boot block data away for safe keeping long before viruses come slinking along. V.I.P. grabs boots blocks from the files you indicate and packs that information away in a virus-free database. So if a virus slips into your files, all you need to do is get rid of the the virus-damaged files and replace them with your pristine
V.I.P, backups.
Like any good doctor, V.I.P also keeps an eye out for viruses that try to sneak in and attack. The Examine command acts as a standard virus checker, So if you suspect you’ve contracted a bug, V.I.P. can check the suspect block against the safely data- based block.
A deficiency inherent to vims checkers, though, is that they can only recognize viruses they've been programmed to nab. What about new viruses those being diabolically developed right now even as you innocently type in your valuable bits of data? No problem for V.I.P. If you come across a vims the program does not recognize, you can "teach" V.I.P. to pick out that vims. Just add the vims to
V. I.P.'s library, and the next time that vims shows up, V.I.P
recognizes it as a varmint. V.I.P. currently cuffs the six
most-unwanted viruses: SCA, Byte Bandit, Byte Warrior,
Obelisk, North Star, and Revenge.
Discovery Software, themselves players in the international market, also realize that viruses unlike huge trade deficits, “Freddy" movies, and boring Presidential campaigns are not exclusively American problems. V.I.P. tosses nationalistic pomp aside and operates in English, German, French, Spanish and Italian.
Viruses, fun bits of prankish programming for some, mean disaster for the rest of us. The problem is big, and getting bigger (even big enough to snag a Time magazine cover story in September). Protect yourself now.
V. I.P. Virus Infection Protection $ 49.95 Discovery Software 163
Conduit St. Annapolis, MD 21401 800-342-6442 Comic Relief
Enough serious stuff. Anybody know the most direct route back
to some plain ole' fun? How about a comic book?
Everybody reads comics in the Sunday paper, on the editorial page just to broad jump over the mental potholes of a day in the real world.
Gold Disk's Comic Setter lets you create your own professional quality comics whenever you need a personal chuckle. Comic Setter goes way beyond personal use, too. Rainbowed, comic-set newsletters, advertisements, and other documents are bound to bash boredom, raise eyebrows, and roust results.
The program joins advanced graphic layout tools and standard comic book dements to come up with an easy- to-use fun factory. You can plop any number of any-sized panels on standardsized pages, along with speech "balloons,” cartoonish characters, and comic- style backgrounds. The panels you slap down are automatically masked together and clipped to fit. Multiple magnification settings let work with the full page or just a detailed scrap, and an adjustable grid eases layout pain.
According to Gold Disk, even if you “can’t draw,” you can create your own characters and backgrounds. If you, like me, are convinced that stick figures are artistic as you'll ever get, you can pick from a packed file of ready-made goons, good guys, and original scenes.
You can also import bitmapped IFF files from other programs.
If you dare to create, you’ve got 16 colors in interlaced hi-res or square- pixel, medium res in your art bag. Your tools include an airbrush with adjustable “spray distance” and “ink flow,’’ a plentiful mix of line weights and colors, and horizontal and vertical flipping.
Rectangles, ellipses, polygons, and Bezier curves are also supported.
To go along with Comic Setter, Gold Disk has also released the first modules in the Comic Art data disk series. Dual-disk sets of Funny Figures, Super Heroes, and Sci-Fi stuff are now available to add some zap, bam, and kaboom to your comics, Comic Setter - $ 99 Gold Disk
P. O. Box 789, Streetsville Mississauga, Ontario CANADA L5M 2C2
416-828-7754 Musical (“Post-it") Notes Creativity always
strikes at the ¦weirdest times. As a writer, I’ve been yanked
from sleep, dinner, meetings, and countless other situations
by ideas that “just couldn’t wait.’’ Diernar Development is
out to solve this dilemma for musicians with MidiVU. A
multi-tasking musical scratch pad for the Amiga.
MidiVU is a desk accesory that records any single track from a MIDI instrument in real time and allows tracks to be saved to disk. The program steals little memory, so it can be tucked away in all your programs for moments of inspiration. If a symphony pops into your head while you are creating an masterpiece in a drawing program or composing a novel with a word processor, MidiVU is at your melodious disposal. Record, Stop, Play, and Loop are the only commands you need.
MidiVU includes a pop-up MIDI Monitor that lets you keep an eye on all messages zipping through the MIDI port.
With this option, you can leam the ins and outs of MIDI and catch connection and data problems. The MIDI 1.0 message definitions are 3lso attached to accompanying help screens, and a menu option affords MIDI message filtering, MidiVU - $ 29 Diemar Development 12814 landale St. Studio City, CA 91604-1351 818-762-0804 A 3D Bridge With the release of Modeler 3D, Aegis Development has added some "depth’’ to the Amiga's trip into the third dimension. This new 3D object generation program lets you create everything from simple spheres and boxes all the way up through pinpoint, CAD-like designs.
Modeler, though, does not live by creation alone.
Modeler's biggest plus is its friendly dealings with so many existing software packages. Data from Aegis Draw, Draw Plus, and Draw 2000 can be imported and graduated to 3D with a click of the Exude function. The transformed object, just like any Modeler- created object, is then open to addition of points, polygons, colors, and shading.
Sculpt 3D and VideoScape 3D creations can also be imported and deftly edited.
To be fair, the manipulative Modeler is also manipulable. Exports spring to life through Aegis’s animation package, VideoScape 3D, and can then be molded as parts of animation sequences. Drawing an on-screen path and setting the number of ‘’tweens” of movement even allows Modeler to take its own camera and object motion files along to Videoscape. With enough memory (1 meg, that is), you can eliminate the in-between step by ainning VideoScape and Modeler simultaneously.
You can also save Modeler objects in Draw Plus or Draw 2000 format for CAD- style plotting in those partner programs.
As a creation tool, Modeler 3D provides top, front, and side view Projection windows for “true to the eye” accuracy. You can also check out objects in solid form for an overall view as you make changes. Multiple layers eight, in all let you isolate chunks of complex objects for individual work, and you can zoom in and our for close-up creation.
Accuracy is taken even further, to another “dimension” you might say, by a numeric coordinate display and grid snap that allow precise point placement. An on-screen toolbox lets you grab any of these tools anytime.
Menu options simplify tedious operations to mouse clicks. Functions such as Mirror and Array erase useless object duplication steps. Cylinders, planes, boxes, spheres and other 3D primitives are created automatically with menu options. You can shave set-up time by mapping out screen preferences and saving them for later use. Steps necessary' for reshaping and assembling primitives into complex objects are neatly taken care of by handy Modify commands. With commands like these, Modeler makes sure you've got plenty of time for the real fun behind 3D!
Modeler 3D S 99-95 Aegis Development 2115 Pico Blvd.
Santa Monica, CA 90405 800-345-9871; in CA 213-392-9972 ALSO NEW & NOTABLE Two for The 2000 if Commodore’s two newest additions to the Amiga 2000 add-on family are any indication, the A2000 is headed out of the living room and into the professional world for good. Aimed at scientific and high-end graphics and animation settings are the A2090A Hard Disk Controller and the A2058 Memory Expansion Card.
The A2090A controller, updated to include 1.3 autoboot capability, is tagged as the mass storage device you need for full-blown graphic design, animation, and CAD CAM projects. Both SCSI and ST-506 interfaces are on-board, so you can up to seven SCSI and two ST-506 devices simultaneously for max memory add-on capability. The A2090A also provides buffered direct memory' access with high speed burst data transfer.
On the RAM expansion front, a fully-configured A2058 card can pump the A2000 up to SMB of RAM on a single slot. Two megs are stacked on the standard card with an open door for a whopping six additional megs of RAM in the form of one megabit DRAM chips.
The exLra RAM goes hand-in-hand with enhanced multi-tasking and a stronger workstation for professional 3D animation and graphic design environments.
Both the A2090A controller and the A2058 RAVI expansion card are available from authorized Amiga dealers.
A2090A Hard Disk Controller $ 399 A2058 Memory Expansion Card S799 Commodore Business Machines 1200 Wilson Drive West Chester, PA 19380 215-431-9100 Dpaint Prom A Pro The VCR boom has brought with it the phenomenon of TV tutorials. Jane Fonda teaches us how to exercise, Omar Sharif teaches us how to play bridge, Dorf (a la Tim Conway) teaches us golf, and Dr. Ruth teaches us...well, you know. Now with the Video Guide To DeluxePalnt n from Electronic Arts, a professional artist teaches us the finer points of the popular paint program.
A 30-minute, narrated VHS tape lets you use your Amiga to follow the on-screen artist’s every move. As he executes a command and creates particular effect, you can see exactly what you need to do to create the same screen image. The visual dimension shows off Dpaint Ips capabilities and suggests how you can adapt these talents to your graphics needs.
Covered are the creation of a 256 color palette using only 16 basic colors, “greeked" text for preliminary layouts, embossed text and enhanced text effects such as drop shadows and outline. You also learn how to use gradient fills to create landscapes, how to use the Grid tool to craft cityscapes and architectural designs, and how to add depth with the Perspective tool.
Video Guide To DeluxePaint II $ 19.95 Electronic Arts 1820 Gateway Drive San Mateo, CA 94404 800-245-4525 Microfiche Filer: Tlje Sequel Software Visions Inc., makers of the Amiga’s friendliest database, have decided not to rest on the hefty laurels bestowed on them by satisfied users and a wowwed press corps. The recently- released Microfiche Filer Plus combines all the features of the original program with a hearty batch of new usefuls.
A full AREXX interface, courtesy William Hawes, is the most notable addition. Record selection, form selection, record editing and printing are all macro programmable. The interface also clears the way for complete access to AREXX-compatible word processors, spreadsheets, and paint programs. Now you can do almost anything from within the database import entire documents into your database, play stored music, run a slide sho-w or animation, telecommunicate, and more.
The brilliantly crafted microfiche metaphor that made the original Filer so easy-to-use is carried through with sophisticated picture handling that includes four squeezing strategies, five automatic color mapping strategies, and pictures in FAST RAM. All IFF, formats even HAM, brushes, and overscan are covered. Also new are full field calculation capabilities, including automatic number formatting and field calculation as you type.
If you own the original program, all Microfiche Files files are upwardly compatible. Along the upgrade path, all copies registered by September 30, 1988 can be beefed up for $ 39, plus shipping and handling. Post-September 30, 1988 registrations require $ 69, plus p & h. For economy's sake, the old favorite, standard Microfiche Filer will remain available for $ 99- Microfiche Filer Plus - S179 Softivare Visions Inc.
P. O. Box 3319 Framingham, MA 01701 617-875-1238
• AC* The internal sound capabilities of the Amiga are better
than that of any other personal computer. These capabilities
mean nothing though, without quality digital sounds, which up
tifl now have been scarce. Sound Oasis gives Amiga owners
access to a large library of studio-tested digital samples, by
using the Amiga’s built in disk drive to read disks made for
the Mirage Digital Sampling Keyboard. Sounds can then be played
from a MIDI keyboard, the computer keyboard, or saved as an IFF
standard file. Mirage is a trademark of Ensoniq Inc Transform
your Amiga into a professional-quality drum machine with this
software package. Easier to use than hardware-based drum
machines because everything is displayed graphically on screen.
Enter drum patterns quickly and easily in real time with visual
feedback and editing. Create realistic drum tracks with any of
the 100 drum and percussion samples that are included or use
your own unique IFF one- shot samples. Dynamic Drums also has
full MIDI implementation and even becomes velocity sensitive
when triggered from a MIDI keyboard.
A powerful MIDI sequencer that takes full advantage of the Amiga's sound, graphics, and sophisticated user-interface.
Dynamic Studio is perfect for professional applications due to its sophisticated editing capabilities and SMPTE support.
It is also ideal for home studios, because in addition to sequencing MIDI instruments, Dynamic Studio has a built-in drum machine, and the ability to playback instruments translated with Sound Oasis.
I imtrnm i SOFTWARE
P. O. Bo* 438 SI. Clair Shores, Ml 40080 (313) 771-4465 AMAZING
REVIEWS Meet Modeler by Da vid Hopkins I remember my first
look at VideoScape. The program was impressive, to say the
least. A 3-D rendering animation package that was easy to
operate and produced some incredible animations. It only had
one major flaw objects had to be laboriously mapped out on
graph paper and then typed into a text file. I don’t know
about you, but math isn’t one of my better subjects. The last
thing I want to do is spend hours over a hot piece of graph
paper! And then I heard about... ...Modeler 3-D, the little
beauty that would allow anybody to sit down at the Amiga and
draw out an object. No more typing in endless streams of
coordinates. Modeler would do all of that. It would also
generate spheres, cones, and all the things Vide- oScape's EGG
and OCT utilities could do. Modeler, though, would add a real
user interface and an undo! Wow!!
Aegis no doubt grew weary of my constant questioning. Where is it7 Where is it? Finally, they gave in. I visited Aegis for a showing of VideoScape 2.0, but they broke down and shotved Modeler to me.
My whole life flashed before my eyes. It was wonderful! I watched as the Aegis rep loaded the F15 jet object from VideoScape, grabbed a wing, and flipped it around.
“When?” I asked. "Soon," he answered.
It's shipping!
My hopes dropped when, a couple of weeks later, the same rep said that Modeler had been placed on temporary hold for some major changes. Would Aegis earn a spot in the list of Vaporware Software Announcers?
Well, guess what? Modeler is now reality, shipping as you read this. And I suppose you want to know about it, right?
Oh, alright, you talked me into it!
A New Vieiv Modeler 3D centers around the standard three view setup. The main screen, the “Projection Window," has these three views with a gadget beween them. Dragging that gadget around allows you to rearrange the views so they are as big or small as needed.
A bunch of other gadgets surround these views, so let's take a closer look.
Modeler 3D centers around the standard three view setup.
Lots of Gadgets Along the right side of the Projection Window is a whole string of gadgets. PNT displays the number of points selected at any one time. Immediately below PNT is the POL gadget, which divulges that same information about polygons. An edit box allows you to select a piece of an object for further editing (which comes later).
The next gadget, Scissors, cuts things out Cyou may have guessed). A little “Ghostbuster” symbol below is a sort of “master delete.” It deletes anything you select with the edit box; if you do not select anything, it clears the entire page. The next gadget is a curve tool (it looks more like jagged lines) that allows you to draw out connected polygons.
The triangle-shaped tool below uses points you specify to create a polygon. Below that tool is a gadget with two dots and an arrow. After selecting a point or points with the edit gadget, clicking this gadget allows you to point to another place in the 3D view and relocate the point(s) to that place. This provides one way to re-shape an object.
A set of arrows on the next gadget allows you to scroll around in each view.
Yes, there is an undo...or maybe I should say, an incredible undo gadget. How many programs let you switch between function screens and still undo a mistake on the first screea5 The lower left comer of the Projection Window contains a box that shows a scale. Clicking this brings up XYZ coordinates for more accurate placing. Also in the lower left comer is a small padlock, the Lock Plane gadget. A point is created by clicking in two different views. Selecting the same points independently later gets difficult. Locking a plane, for example, lets you say that points from a certain point on are
all on the X=0 axis. Simply clicking on the point in one of the other windows selects it. Sounds like a waste, but it comes in very handy.
Down in the lower right comer is one of the most useful gadgets a simple set of the numbers 1 through 8. Each number is a seperate page to work on.
Clicking on a number takes you to that page.
Wbat a Selection!
Modeler's menus begin with the usual Project menu containing the Load and Save options. Aegis was kind enough to provide the ability to load not only VideoScape 3D objects, but also Sculpt 3D scenes and drawings created with Aegis Draw Plus. Save allows objects to be saved in standard text mode, new binary mode, or as a motion fife. That’s right, a camera or object motion can be created by simply drawing it!
The Edit menu has the expected Cut and Paste commands, but it also contains a couple of other handy features. Once an edit box has been placed around an object, the Select option highlights the points or polygons it’s your choice. You can set the polygon color with the Set Color option, a point-and-dick chart of colors and attributes (such as matte, glossy, transparent). Polygons can also be flipped or sub-divided here.
The Display menu contains zoom features, as well as a screen selector.
Available screens include the already- mentioned Projection window, a 2D screen called a Template, and regular and color previews. The preview modes allow an object to be viewed with it's polygons filled, rather than wire-framed.
Rotation around the object is done by clicking around it with the mouse.
Modeler can also operate in any of three resolutions: standard interlace screen, a non-interlace screen, or the memory- conserving Workbench screen.
Modeler’s Generate menu is basically a reworked version of the old EGG, Easy Geometry Generator. Spheres, planes, boxes, tubes, etc., can be created on any layer. Lathe and Extrude are also available here. The Lathe option tosses you into the Template screen, where the curve tool is used to define a 2D shape.
Selecting Do Lathe causes Modeler to ask for the number of rotations and which axis to rotate the object around. Voila! A smooth, rounded custom shape is generated!
The Modify menu allows you to rotate, scale, mirror, relocate, etc. and object. Also found here is Remap, which allows an object to be twisted around any axis. Strange effects often result from that one! Finally, an Array option allows duplicate copies of an object to be made on other layers, each offset a specified amount.
Dag 'nabbW The only real problems I find with Modeler center around personal preference. One quirk is the way polygons are selected. An edit box can be placed around the polygon, or a venex of the polygon as selected in POL mode.
Unfortunately, this also selects a few surrounding polygons with it. Sure, they can be de-selected (kind of a hassle), but it would be much nicer to be able to click on the center of a polygon to select just that polygon. A solution might be holding down shift and clicking on other polygons that need the same change or color.
Next, while most of the abilities of EGG and OCT (Object Composition Tool) have been incorporated into Modeler, some important things have been left out. Fractal patches and stars are no longer options; both were handy to have around.
Is it ivorth it?
Perhaps the best way to illustrate the difference Modeler can make is the following situation. Aegis is preparing another demonstration videotape and some animations to be released on disk, and i was asked to contribute a few.
Within two weeks, I created seven animations that you should be seeing soon. This task would have taken much longer if hand-mapping were required.
In fact, Allen Hastings, author of VideoScape, tells me that he has switched entirely to using Modeler. This switch from a man who mapped over 500 points for a Lotus automobile by hand!
Over all... Modeler makes VideoScape an even better package. True, they aren’t packaged together, but they are defi- nately a perfect couple. Modeler sells for 599-95 and is an excellent investment for anyone interested in simplifying Vide- oScape's object creation process.
Modeler 3D $ 99.95 Aegis Development 2115 Pico Boulevard Santa Monica, CA 90405
(800) 345-9871
(213) 392-9972 (in CA) David Hopkins is now employed in the
Creative Services division of Aegis Development
Corporation. However; when this article was written, David
Hopkins was in no way associated with Aqgis or its
products.-FM
* AC- AMAZING R E V I AproDraw Graphics Tablet Will it be the
Amiga graphics tablet of the future?
By Keith Conforti AC Art Director The Amiga & The Artist The Amiga is a fantastic graphics machine, so powerful that it could tempt artists to drop pad and palette and pick up pixels and points. The major obstacle preventing the Amiga from becoming the standard in design and graphics are its input devices, all of which have been less than perfect simulations of natural freehand drawing. The devices’s main weakness is controlling color and pixel placement. The relative movements of the mouse and the tablet’s insensitivity and inaccuracy have discouraged many would-be Amiga artists.
The Amiga & The Artists’ Hardware Software and hardware developers realize the problems in this area and have concentrated much effort into producing better and better input devices for Amiga graphics.
One of the latest introductions is a series of graphics tablets developed by SummaGraphics Corporation of Stamford, Connecticut and distributed by R&DL Productions of Long Island City, New York. R&DL currently has two tablets available for the Amiga AProCAD and AproDraw, the subject of this review.
The AproDraw package includes the tablet, stylus, software tablet driver, a power supply, an optional four- button cursor or puck (for $ 50), and all the cables you need to get the tablet up and running, it hooks up to your Amiga via the serial port. If you use the tablet on a 1000, you’ll need a gender changer. In hooking it up to a 2000,1 noticed a slight disturbance the developers overlooked. The connector for the tablet is rather large, and covers one of the audio plugs. This problem is easy to avoid by using only one audio channel. But if you are particular about sound quality, this may
annoy you.
The AproDraw tablet is available in two different sizes, 9" x 6" and 16” x 16" (You’ll need plenty of desk space for tiiat one!). Each tablet has two application possibilities. It may be used straight, as a versatile graphics tablet on your A500, A1000, or A2000; or if you own a 2000, you can use it as a powerful CAD tablet.
The tablet driver diskette, produced by R&DL Productions, skirts the mouse signals, allowing your stylus or four-button cursor to control the screen cursor. It's very easy to install and is configured for your Amiga, so there is virtually nothing to do ... Except draw!
Wljat's the Difference Between Left & Right?
AproDraw’s most unique feature doesn't even include the tablet. It's the stylus. Quite a few graphics tablets are available for the Amiga, but none address a basic problem : the Amiga's mouse. How do you emulate the right mouse button? The tip of the stylus has always served as the left mouse button on any tablet, but the hardware developers have traditionally forgotten the right button. Well, AproDraw has come to the rescue by putting a “right” mouse button on the barrel of the stylus.
It may not be the most necessary feature of a graphics tablet, but it's nice to see a developer remember that artists use the right button, too!
If you are accustomed to De- luxePaint II, the right mouse button is an important tool for selecting and applying a second color, customizing the palette, sizing the airbrush, and using many of the valuable and time saving shortcuts programmed into the software by that most benevolent of Amiga artist benefactors, Dan Silva.
If you use the four-button puck rather than the stylus, you’ll find its precision suitable for CAD work. Why four buttons, you ask? Two function as our familiar mouse buttons. The ocher two have no function at all on the Amiga. Obviously, this cursor was designed for use with more than one computer configuration. One benefit of using the cursor is that by laying a photograph or another drawing over the tablet, you can digitize right into your CAD program!
Does It Work Well?
AproDraw is a quality graphics tablet. It is versatile and relatively bug- free. Right now it looks like the forerunner in the medium priced graphics tablet market.
The choice of two tablet sizes is a great convenience for artists who are either limited in desk space, or have an abundance of blank drawing table at their disposal.
The AproDraw is extremely accurate and sensitive (so much so that it can emulate your signature almost flawlessly). Tire only foreseeable problem concerns software. R&DL recommends using the newest versions of most graphics programs. So, if you own DeluxePaint II, you should know that the tablet works best with versions
2. 1 or later.
I tested the tablet with Dpaint II
2. 1 and had no problems whatsoever.
R&DL notified me of a bug in a previous version of the tablet driver software. If you press the F10 key while the cursor is positioned over the toolbox on the right side, the program freezes and must be rebooted. The source of this bug was never made clear, but it seemed to be a combination of things concerning their software, the tablet, and Dpaint (probably a version older than 2.1). At any rate, R&DL claims everything is now bug free.
I tried other programs with AproDraw.
Photon Paint, Express Paint, and Digi Paint all worked well and seemed to be compatible with the tablet and software.
Take a Tablet, and Call Me in the Morning I can rant and rave for ten pages about a graphics tablet and you still may not be impressed with one after you try it. There are three things to consider when you evaluate a tablet.
First, choose a tablet that addresses your artistic needs. You may prefer a tablet with freehand sensitivity and accuracy. You may need a tablet featuring many function “keys": or you may be looking for something that w-orks well with a CAD package.
Second, choose a tablet that is most compatible with the software you are using. It’s not worth buying a tablet that is going to give you some kind of guru every time you use it or one that forces you to go out and spend $ 500 on new software just to use it.
Third, and most importantly, choose a tablet that fits your price range.
You can find a tablet that does everything, but you're going to pay for it. If you choose a tablet that covers your basic needs, functions well with your software, and makes your wallet smile, you’ve found a tablet that is worth its weight in silicon.
• AC* AproDraw 9" x 6" tablet $ 449 16" x 16" tablet S549 Four
button cursor $ 50 distributed by R&DL Productions 11-24 46th
Avenue 2A Long Island City, NY 11101
(718) 392-4090 I'm back, this month I'il finish the latest
releases from Fred Fish... 150-154. So Let's go!
PO Serendipity Insigt into the World of Freely Redistributable Software for the Amiga™ by CW. Flatte Fred Fish 150 AirFoil (Update to Fred Fisb 71) Aerodynamics anyone? AirFoil enerates airfoil models as well as their corresponding streamline and pressure distributions. Includes source. AirFoil is by Russell Leighton, with an addendum by David Foster DC10 Hi! My name is amy.,.fly me! DC10 is an AmigaBasic DC-10 instrument flight simulator. Appears to be quite in-depth with flight-planning and take-off options along with an extensive documentation file. Note: DC10 requires rebuilding on a
separate disk and has been successfully done so by following the author's instructions in the ReadMe_First file. An excellent program by Jan Arkesteijn.
ExecLib Need a custom library? ExecLib is a nicely working example of how to build and use user-defined disk-resident libraries. Of special interest to developers working with Lattice C. ExecLib is by Alex Livshits Iconizer Iconizer is a utility program that saves your current mouse pointer to a small icon. You can restore the pointer just by double-clicking on its icon. Allows for building a whole library of pointers and to use them whenever you want. Binary only. Iconizer is by Alex Livshits Pilot Pilot is an implementation of the PILOT language for the Amiga, including a demo done for the
National Park Service.
PILOT is a limited use language for use in educational and computer based instruction programs. Includes the binary only with Beta test kit available from authors. By Terry LaGrone StealMetnBoot NOFASTRAM? StealMemBoot is a small utility designed to be a direct replacement for NoFastMem kind of programs.
It modifies the boot block of a disk, so when you boot with it, all memory allocations will return only CHIP memory. By Alex Livshits Fred Fisb 151 GlobeDemo Here's one that's outta this world! A graphics demo which displays very smooth transitions of the rotating earth.
Features a pop-up menu. Includes source, by Bob Corwin.
Icons More Icon! Here’s yet another potpourri of interesting icons to choose from if you need one for your own program. By Dave Turnock Pcopy Make a copy..-BACK IT UP! Pcopy is a small intuition-based disk copier simiiiar to the resident “DiskCopy" except with write-verify and other user-selectable options. Useful for making multiple copies with reliable data. Requires two disk drives. Includes source. Pcopy is by Dirk Reisig.
SCI' SCT is a CLI-based utility (SetColorTabie) for displaying and or setting a screen's colors. You can save the colors of a screen to be restored later, or copy one screen’s colors to another. Includes the source. By aklevin.
StideSboiv Put away that old projection.. SlideShow is a very nicely done slide-show program written in assembly language. Features forward backward presentation and creative screen wipes. Currently works only with IFF lo-res pictures. Executable only along with some new IFF pictures to have come my way. By Mike McKittrick and Sheldon Templeton.
Surveyor Where's the pointer? Surveyor is a little utility that opens a window on the current screen and displays information about the pointer. Allows for absolute or relative measurement between two points on the screen. Surveyor is very handy for precise positioning of icons and such. Includes the source. By Dirk Reisig Fred Fish 152 Blk Do you have a recursive programming problem? Blk is a requester making tool employing various recursive algorithms including a recursive parser. It takes input text files and converts them to C- source for including as requester declarations. Includes
source. By Stuart Ferguson RunBack RamBack is a variant of Rob Peck's Run- BackGround program from disk number
73. Allows you to start a new CL1 program and run it in the
background, then closes the new CD. This version
automatically searches the command- search-path to find the
program.
Includes source. RamBack is by Daniel Barrett UUCP It's here! Finally a version of uucp (Unix to Unix Copy Program) for the Amiga, along with some miscellaneous support utilities like cron, mail, and compress.
Includes the source.
Amiga Video and Publishing Complete line of Amiga hardware and software with over 1.200 published titles.
Fred Fisbl53 Dme More DME! Here’s version 1.30 of Matt’s text editor. Dme is a simple WYSIWYG editor designed for programmers. It is not a WYSIWYG word processor in the traditional sense. Features include arbitrary key mapping, fast scrolling, title-line statistics multiple windows, and ability to iconiiy windows. Update to version on disk number 134, includes source. By Matt Dillon Slide Production System Sales
- Desktop Publishing
- 2D 3D Video Production
- CAD Design Engineering 24-hour Bulletin Board Authorized
Amiga Service Center Linotronic 300 PostscriptTypesetting
COMHOOori HP 11 Can I borrow your calculator? HP 11 Emulates an
HF11C calculator including the program mode. Features an ON OFF
button that turns the calculator into an icon that will sit and
wait until you need it again. Documentation on the features is
scarce, perhaps some industrious HP owner could write a small
tutorial for the benefit of those that don’t own an HP
calculator, HP11 is by David Gay METROPOLITAN Computer Products
, 800 F.. Arapaho Rd. *110 Will ship to all at) states! N. , ,
TV n, . R . . . Kichnrdson, TX 7508!
J4- iour turnaround on mstock items' oi i ioF7 rk 1 1 r* MasterCard Visa AmEx phone orders! ( Z 1 4 ) 407-9119 HPMam A program to manipulate settings and fonts on HI5 LaserJet* printers and compatibles. Includes an Intuition interface and some sample picture files.
Version 1,0, binary only, shareware. By Steve Robb Syntbemania Freak)’...an interesting, very small (and very persistent!) Musical piece. If you plan on stopping it without using three fingers, you better read the document file first! By Holger Lubitz Fred Fish 154 Ada Programming in Ada? Ada Syntax checker for the amiga. Includes lex and yacc source. By Herman Fischer and William Loftus.
Assembly Demos An interesting group of assembly language demos for your visual and aural pleasure. By Foster Hall DiskLib Two utilities for those people who like to split up PD disks into disks of different categories. Includes the source. By Wilson Snyder Guardian More medicine for sick machines.
Another virus diagnosing and vaccination program. Recognizes any non-standard bootblock. Includes a small utility program to permanently place the program on a copy of your kickstart disk in place of the seldom (if ever!) Used DebugO function. By Leonardo Fei PrintSpool Spool it with this Print Spooling program.
Very useful for printing files in the background. Includes many command-line options. Version L.0.0, Includes the source. By Frangois Gagnon Utilities Lots-O-Utilities! This group of four little utility programs, Cal, Undelete Dclock and Wherels. By Dan Schein VirusX An update to die virus-detecting program of the same name on disk number 137.
This version also checks for the Byte- Bandit strain. Version 1.21, Includes source. By Steve Tibbett Virus Alert!
Yet another anti-virus program with a twist. Once installed a message is displayed just after a warm or cold boot notifying the user that the disk and memory' are virus-free, and forcing a mouse-button press before continuing.
Anything written to the bootblock thereafter will destroy the message and a nonnal virus-infected boot (???) Will take- place. Versions 1,01 and 2.01, By Foster Hall.
Wicon Iconize that window with this "Window Iconifier". Wicon allows you to turn your windows into small icons which can be later recalled. Currently installed with MacWin to give your windows a "rubber-banding" effect. Version 1.14, and includes source. By Steven Sweeting Gotta go! Until next time... Gotcha!!!
C.W. Flatte If you have any PD Questions, Submissions, old cigars, etc... Please send them to: Amazing Computing c o C.W. Flatte
P. O. Box 869 Fall River, MA 02720
• AC* You thought Microfiche Filer was just for WIMPS*?
Now it’s for PROGRAMMERS, too!
The easiest-to-use dalabase has just become the most powerful wilh the introduction of Microfiche Filer Pius™.
Microfiche Filer Plus™ includes a full programmer interface using Arexx. Its 33 powerful new commands allow database access from any Arexx macro.
In addition to Microfiche Filer’s lightning sort and search facilities. Microfiche Filer Plus™ adds: ? Automatic Field Calculations ? HAM Picture Storage ? Database Programming ? Direct Control of Other Applications ? Dynamic Data Import and Export with Other Arexx Compatible Applications ‘Window, Icon, and Mouse Personsl jor Use Microfiche Filer Plus™ to: ? Control your terminal program and store your downloads ? Index your disks and execute programs directly ? Cut and paste data to such programs as TxEd or TeX ? Store and execute Arexx macros in the database Only a REAL PROGRAMMER can
appreciate the full power of Microfiche Filer Pius™!
MiCROFIGHE PLU J Only M79. LARexx sold separately) WyOFTUJflRE Vl ion Inc.
J P.O. Box 3319, Framingham, MA 01701 For your nearest dealer call 1-800-527-7014.
In MA call (508) 875-1238.
Hints and tips to move you closer to gaming greatness!
By Jeffery Scott Hall Thanks to great reader support.
I'm back with another article on the hottest, coolest game hints and tips!
Game Pizzazz is divided into two sections: Questions and Answers and Reader’s Gaming Secrets. Also in this month's article, I have included a special section, Arkanoid Mania. So, dust off your games, get out that joystick, and blast'em!
Questions & Answers Q- I am having trouble with the gameF A-18 Interceptor. It seems that I can ’ get game to say I’ve qualified. After landing on the deck of the carrier at least six times, I still can’t obtain qualification for missions. I come to a complete stop on the deck, and I just sit there. Nothing happens! What am I doing wrong?
Stuart & Donna Wilensky Wurtsboro, NY
A. A number of things may be going wrong. Instead of guessing, I
will give you exact instructions on how to qualify for
missions. After taking off from the flight deck, you encounter
three enemy fighters directly north. -All three fighters must
be destroyed before you return. Once this is accomplished, you
must land on the ship properly.
Fly past the ship at about 40% thrust and make a U-turn, so you land from the south instead of from the north.
The ship is always located at 345 degrees and 145 feet above sea level. As you begin to land, lower the arrestor hook and continue the descent slowly. Just before you land, cut your thrust to 10%.
Once on the deck, you see the cables that catch the arrestor hook. Here your plane stops and immediate qualification is given to the pilot.
Q. When is the proper time to drop the rescue pod in Interceptor
?
Anonymous San Diego area
A. If you are playing the Search and Rescue mission, drop the
rescue pod just in front of tire floating pilot. Just lower
your altitude and cut your thrust until you are skimming the
water at a very low speed, Header's Gaining Secrets Faery Tale
Adventure
1. An important tip: At the beginning of the game, spend some
time in the graveyard south of town. If you are patient, this
is also a good spot to get rid of a bone.
2. There are a few places that can be entered, but without
sufficient keys, you can be trapped inside forever.
3- As evening approaches, and you are caught out in the open, have one final battle and don't move until dawn. You will be safe where you are standing.
Ultima III
1. In combat with evil monsters, the best way to protect a
valuable weapon is to use it.
2. Don’t let fear of whirlpools keep you from roaming the high
seas.
3. Unless you can stop time, don’t wreak havoc in the castle of
lord British.
He has a mean temper.
4. Logical positioning of characters is the best defense
against invisible monsters.
5. When you reach the machine, recall the words of the Time Lord.
Jim and Maria Marusek Bloomfield, IN Arkanoid Mania Here are several useful game tips that apply to all ".Arkanoid Imposters."
There are also some hints and tips below that are game-specific and are labeled accordingly.
In die higher levels of the “Arkanoid Imposters," certain space walls are indestructible. When this type of wall surrounds all other walls, it is almost impossible to break through. However, this wall does have an Achilles heel. You should notice one brick missing from one of die four sides of that indestructible wall, file trick: get the energy ball through the “hole” in the wall. It’s a tight fit, but it goes through if done right, When too much speed builds up on the energy ball, collect a “slow” power capsule. This takes some of the heat off and returns things to normal.
When playing higher levels, work on the brick walls tactically. Punch a hole through the wall and let the energy ball do all the work, while you collect power capsules and rack up points. For example, knock out the first three or so bricks on the right side of a wall. Now, get the energy ball through that hole you've created. The energy ball has a field day bouncing around inside the Gase Pause Husie Sound lutflOH § Ip J Zap your game letters to: Jeffery S. Hall c o Amazing Computing
P. O. Box 869 Fall River, MA 02722-0869 walls, and all you have
to do is sit back and collect those points and power capsules.
But watch out for the return of that energy ball- when the
ball escapes the trap, the return is a doozy!
Arkanoid Only!
Want to become invincible, score over one million points, and collect power capsules at will? When you are asked which level you would like to play (or during game play), type DSIMAGfC with no spaces. This opens a “back door” to the game and allows you to command the power capsules to appear at will. Just type “p” for an extra paddle, “b" to break into the next level, etc. If you are at the requester that asks for the start level, you can scroll through levels 1 to 33- To scroll through levels 34 to 66, re-type the password and press F3- Now, you can get even for all those times that you
scored a mere 30,000 and got kicked from one end of the galaxy to the other!
Blockbuster Only!
If you want to see the different levels from 1 to 40, enter the following passwords at the title screen's prompt: Gold, Fish. There are two more passwords that reveal levels 50 to 80, but those are for you to figure out.
That’s a wrap. Remember game Julisvn looked ground biiT discovered POThinc.
Lifian u« hit M*d killed!
8rv! 35 IckJ 15 Knd! 15 Vit* 1 l$ rh! 20 Tips on Faery Tale Adventure should help you avoid being "stabbed in the back"!
- •Vv.'.v- Vs-.?: I :¦ - ¦ h WV t'-V " ' W. ' Wf •••'• CvfG -t
. .
Ci V a’
- ¦ N -s '3 i •* fanatics, this is your forum! Let’s hear your
game questions, hints, tips, and other information you wish to
contribute to the mystical, magical world of computer games.
So, until next time, keep those letters coming, ffappy gaming!
• AO TO WIN THE AMIGA HARD DISK CONTROLLER GAME... o' YOU'D
BETTER HAVE m mmrCAnmw A* THE A CE OF HARD DISK
CONTROLLERS...
• SCSI INTERFACE SUPPORTS UP TO 7 DRIVES CHAINED TOGETHER
• AUTO BOOT ROM SOCKET IS READY TO GO WITH RELEASE OF 1.3
• SHORT A2000 CARD - TAKES UP ONLY 1 2 SLOT
• EXCLUSIVE IVS CHECKLIST SOFTWARE MAKES CONFIGURATION A BREEZE
• EXCLUSIVE IVS HYPERDISK PORT CONNECTS TO IVS WARPSPEED DMA
CONTROLLER CARD TO SPEED DISK I O UP TO 8X1
• SIMPLE. USER CUSTOMIZABLE DRIVER INCLUDES SUPPORT OF OVER 15
SCSI DRIVES
• COMPREHENSIVE DISK UTILITIES INCLUDING DISK PARTITIONING
LISTPRICE:$ 189.95 !
ASK YOUR DEALER TO CUT YOU IN ON THE BEST DEAL AROUND mmmwAm ~ NURAUlVf VIKO SYSTEMS 15201 SANTA GERTRUDES AVE. STE YI02; LA MIRADA, CA. 90638 PHONE: (714) 994-4443 Star glider II AMAZING REVIEWS by Jeffery Scott Hall Starglider II, from Rainbird Software, puts you in the cockpit of a futuristic fighter jet. Before the game starts, you must enter a password from the manual. Once the proper word is entered, the title screen is displayed and a Stereo sound track plays.
The Pilot’s Mission It is your job to protect the planet of Novenia from invading Ergon forces. Not only is this planet at stake, but many others just like it are in danger. You must search out and destroy a vast space station that is being constructed. And that is not going to be an easy task. So strap yourself into the pilot's seat, energize those phasers, and prepare for some non-slop combat in outer space.
Examining the Starglider You are seated inside the Icarus, otherwise known as the Starglider, looking at the view screen, just below the view screen is a row of instruments and indicators in full 3IY These change and fluctuate with your ship for a visual confirmation of current status. In the center of the view screen is the heads-up display, used for targeting weapons and locking in objects for either identification or tractor beaming.
The Icarus has heavy offensive weaponry, including the plasma lasers, time- warp cuboids, fire and flee missiles, bouncing bombs, and neutron bombs. It’s defenses include a super strong energy shield surrounding all sides of the ship, and an audio analysis of any sounds occurring around you. To keep you up to dale on the status of the planet and your ship, at any lime you can request a status report, which will be displayed at the bottom of the control panel. Now, it is time to see how the Icarus holds up in battle.
Going into Battle You have just received word from the Novenian Council that the Ergon army has planned a full-scale invasion. After putting on your space suit, you board and launch the Icarus. Sitting in your ship, you start to wonder what freedom for your planet would be like; you are the only hope for this accomplishment.
Almost caught up in your dream, you notice the radar showing a massive fleet of Ergon forces closing in. Moving closer, you call up the target identification computer for more details about die enemy fleet. You quickly learn that most of the enemy forces are fighter jets, so you kick in the stardrive for a quick fly and take out as many targets possible. You cycle through your weapons trying to decide which one is best for this fleet. Aw, the plasma lasers ought to do the job.
As the two targets get closer, you grip the control stick tenaciously. Now, when you finally have them within range, you lock-on with the lasers to bring them both crashing to the surface.
Suddenly, you hear a sharp whine coming from somewhere nearby. You turn on the audio analysis and discover that the sounds are coming from a homing missile launched from a Ergon ground walker. Unfortunately, it is too late to take any evasive maneuvers. The missile hits your left wing, dropping you from stardrive to normal speed.
Finding the ground walker before it has another chance to fire is your only chance for survival. As you lower your altitude, you select a fire and flee missile.
This is your only option since damage has already been done to your ship. You finally locate the ground walker just ahead, and quickly increase your speed to maximum thmst and fire the missile.
As you glance back, a bright light encircles the area where the ground walker once stood. "Whew, that was a close call! You must now find a repair center. You know your mission has just begun, and the lives of billions are resting in your hands!
Summary Starglider [I combines some nice extra features that allow you to view the Icarus from any angle, whether you are in flight or on the ground. Two other important features are the abilities to pause and save the game to disk. Before now, I found it difficult to get engrossed in a flight simulator-type game. However, Starglider II combines great arcade action, strategy, graphics, sound effects, and music to keep you coming back for yet another daring flight into deep outer space!
Hints and Tips Whenever you encounter an enemy fleet, kick in the stardrive and activate the plasma lasers. As you fly past them, take out as many space ships as possible. After doing so, deactivate the stardrive and lower your altitude to minimum level, so you are skimming the planet's surface. Now, as you fly past them again, take out as many ground forces as possible. Repeat this process until you have taken out most of the Ergon fleet. In some cases, this strategy may not work; before you attempt it, use either the audio analysis or target identification. If more than ten targets are on
radar, do not engage the stardrive.
Use your own tactics for survival.
When using the tractor beam, make sure the object mass is not too great for the Icarus to handle. If it is, a message tells you so, and the tractor beam must be immediately disengaged.
Trying to use the tractor beam on an object too large destroys the Icarus and ends your mission!
Make sure you check the status report frequently, so you are aware of the planet’s condition and any other information vital to your mission.
• AC* Starglider II Price: $ 44.95 Rainbird Software
P. O. Box 2227 Menlo Park, CA 94026 HARD DRIVES FOR AMIGA
External Floppy
3. 5" with Metal case, extra length cable, full pass-thru, low
power consumption. Fully Compatible with all Amiga Computers.
Single $ 159.95 Dual $ 329.95 Internal Floppy A2000 only $ 139.95 Complete Hard Drive Units for the A2000 and A1000IA500 A1000 IA500 units come complete with SCSI Host Contoller, case wlpower supply and Hard Disk A2000 units come complete with DMA SCSI Contoller, cable and Hard Disk A2000 AJ000 1500 20 Meg $ 539.00 20 Meg $ 639.00 40 Meg $ 749.00 40 Meg $ 799.00 65 Meg $ 799.00 65 Meg $ 879.00 COMPUTER MART YOUR TEXAS SOURCE FOR AMIGA SOFTWARE AND HARDWARE IMMEDIATE ACCESS TO OVER 500 PRODUCTS CALL TOLL FREE INFORMATION 800-443-8236 409-560-2826 COMPUTER MART 105 LYNN ST. NACOGDOCHES, TEXAS 75961
AMAZING PROGRAMMING STRUCTURES by Paul Castonguay If you have taken more than a passing glance at C program listings for the Amiga, you have seen lines like these: struct Window ’wind; struct NewWindow wnd; wind = (struct Window *)OpenWindow(&wnd); rp = wind- RPort; Are you having trouble understanding what these lines mean? Have you been scared away from programming your Amiga in C because of them?
These lines deal with a concept called structures, and understanding them is essential if you want to do even simple things like opening windows and drawing graphics. In this article, I will explain structures to users already familiar with BASIC. To enhance the discussion, I will mention variables and arrays, but you should already understand them from your work in BASIC.
Most programming textbooks start this discussion by stating that structures are a data type.
Data is information. Programs either use or generate data. A program that calculates your bank balance uses numbers as data. Your word processor uses letters and words as data. Because of the way computers work, data is stored differently depending upon whether it is numeric or alphabetic.
.Also, if it is numeric, it depends upon whether the numbers are integers or decimals. The C language takes care of these details by providing you with variables of different data types. To store a letter, use a character type variable. Here "junk” is declared as a character variable and the letter Z is stored in it.
Char junk; junk= 7'; Here the number 23 is stored in the integer variable called "bunk.” int bunk; bunk = 23; .And here my annual salary is stored in the Roaring point variable "stunk.” float stunk; stunk = 18.42; C has short integer variables which let the computer run faster, and long integer variables to store larger numbers. Unsigned integer variables store only positive numbers. There are also single and double precision floating point variables: float answer; double e_base; e_base = 2.7182818284590453; answer = 2*3.1416*2.2E-06; in C A BASIC user’s guide to programming C structures.
So... a data type is that attribute of a variable which determines the kind of data it can store. The data types mentioned so far are called fundamental, or elementary, data types.
They represent the smallest units of each kind of data that can be stored. Each type is unique, and variables of each type will store exactly one piece of data.
BASIC also has data types: STUFF? Is used to store words JUNK is used to store floating point numbers You must have a good understanding of C’s fundamental data types. I recommend C Primer Plus, by M. Waitz. Now I must press on or I will never get to structures.
Derived Data Types These are data types which are made up of other data types. The simplest example is the array. An array can store a whole bunch of data of similar data types under one common name. Each unit (called an element) is individually identified by a special number called a subscript. Let me declare an array which can store ten integer values.
Int scored 0); In it I will store my ten best bowling scores, one in each element of the array “score.” ScorefO) = 86; scored) = 92; score[9) = 103; They form a group as they all have the common name "score.” I can use that to my advantage if I print them, for (i=0; ic 10; i++) printf(‘My score in game %d was %d n i+1, score(i)); } In C, the first element of the array is score[0], making the tenth element score[9J. Arrays can be any size or type you want, but most importantly, each element of a particular array must be of the same data type. In my example each element must be an integer. I
cannot use the array “score" to store the name of my granddaughter’s pet lizard. For that job I need a character type array: char !izard(25); strcpyflizard, '“Marmaduque"); Here I can store any lizard’s name of 24 letters or less. C requires one extra element in the array to mark the end of the character string. Notice the use of C’s string copy function, called strcpyO, to put a string into an array. You will have to study up on character strings in C if this appears difficult.
If I want to store many lizard names, I need a two dimensional array like this: char lizard(5)(25); Here I can store five lizard names.
Strcpy(lizard[0), 'blinkin'); strcpy(lizard[l), ‘Stinkin'); sfrcpy(lizard[2), ‘Frog'); etc... And you can print them out: for(i=0; i 5; i++) printfClizard %d is called %s', i+1, lizard(i)); In listing 1 you'll find an example that you can try out.
Compare C’s arrays to BASIC’s DIM AS(25) DIM X(100) AS(3) = "My aunt Rose’ X(42) = 3.1416 If you don’t understand arrays in C or BASIC, you’re not ready for structures yet.
Structures Structures are like arrays in that they are a derived data type, and that they allow many pieces of data to be stored under a common name. They are, however, more powerful than arrays in that they allow storing different data types. A single structure can store integers, characters, and floating point numbers, all under a single variable name. A structure can even store other derived data types like arrays and other structures.
The Amiga’s operating system often uses structures.
Each piece of data stored in a structure is called a member of that structure, and each member is referred to by a member name. This differs from arrays, which use subscript Nothing but the best.
Now even better with twice the showroom space!
Still at... 396 Washington Street Wellesley, MA 02181
(617) 237-6846 Authorized Commodore Amiga Dealer and Commodore
Service Center numbers to identify each element. Let me
define a structure which can store information about any of
my girlfriends.
Struct girlfriend !
Charfirst_name(25): char iasLname(50): int age: char street_address(50); chartown(25); int zip, float annualjncome; long integer boyfriends, ); The above code is called a template for the girlfriend structure. Tire girlfriend structure is now a new data type which can store someone's first and last name, age, address, annual income, and number of boyfriends. The girlfriend structure is unique in that it will store only the kind of data that I designed it to store. If you were looking for a place to store your monthly bank statement, you couldn't use a girlfriend structure. Only one member of a
girlfriend structure can store a floating point number. That’s not enough for your bank statement.
One point of confusion in the above code may be the exact meaning of the word girlfriend. Girlfriend is not a variable name, it is a data type. I will not store data about any of my girlfriends in a variable called girlfriend, instead, i will declare a variable to be of type girlfriend and then store data in that variable. Let me do this for three variables: struct girlfriend best; struct girlfriend worst; struct girlfriend average; Here I have declared three variables: best, worst, and average. They are each a separate variable, and each one can store all the information I want about a
particular girlfriend.
Each one is a girlfriend structure and has eight members with member names as defined in the template above. For example, best, average, and worst each have a member called first_name.
We say that “best is a girlfriend structure." Similarly, “worst" and “average” are girlfriend structures. A girlfriend structure is a data type just like char, int, float, or any of the others. To use it, 1 have to declare a variable to be of that type, as I did above.
Referring back to my template for the girlfriend structure, notice that I, not the computer, decided exactly what kind of data a girlfriend structure would hold. To do that, I was required to make up names for each member of my stmcture and declare the appropriate data type of each. The member annualjncome, for example, had to be a float type member because I wanted it to store a number with a decimal point, hr each case I chose a descriptive member name, just as I would for any simple variable.
OK... so how do 1 go about actually storing data into a structure? I must refer to both the structure name (best, worst, or average) and the member name. There is a special notation which allows me to do that. First I write the name of the structure, the member operator, a period, and finally, the name of the member I am interested in. Let me store some data about my favorite girlfriend in the structure I declared as “best."
Strcpy(best.first_name, “Gwendolyn*): strcpy(best.last_name, 'Bonk'); best.annuaijncome = 145932.75; best.age =31; best.boyfriends = 185; The period is formally called the “structure member operator." I like to call this notation the “dot notation.” I can store the data in any order I want. Each piece of data is individually assigned to its respective member and each assignment has no effect on other members of the stmcture. I can assign data to the equivalent member of different structures like this: strcpyf worst. Last_nome, "Kazaokenberger”); strcpy(average.last_name, "Zonk'); Great! Now
how do I access the data in these structures once I have put it there? I use the same structure member operator, the dot notation. Here a print statement shows what is stored in two members of the girlfriend structure called “best”: printfCMy favorite girl is %s n', best.firsf.name); printfCShe is %d years o!d n', best.age); Individual members of a structure can be used exactly like any simple elementary variable of the same data type. Here is a line from a program I wrote to update my girlfriends' salaries: worst.annual_solary = worst.annual_salary - .06; best.annuaLsalary =
besf.annual_salary + 17532.23; Here; floating point calculations are done to members of different structures just as if they were ordinary floating point variables.
One Last Time A structure can store a bunch of data containing different data types under a common variable name, with each piece identified by its own special member name. The dot notation can refer to any member of the staicture. BASIC doesn't offer staictures as a data type.
One of the most powerful uses for structures is passing large amounts of data between functions. The Amiga people realized this when they designed the OpenWindowO I unction in Intuition. They knew programmers are fussy people who want almost every kind of window imaginable, different sized windows, with different locations on the screen, different gadgets, different colors, and so on.
How does die OpenWindowO function deal with all these requirements? Do we have to pass a multitude of arguments to the OpenWindowO function? No. Instead, we store all our window characteristics in a structure called NewWindow.
The template for this structure has been conveniently placed in the header file Intuition Intuition.h . Thank you, Amiga!
It's a smart idea to get a hard copy of this file and refer to it as you program your Amiga. In version 4.0 of Lattice C, this file is on disk -3- The file is long. 1 printed it using my word processor so I could add page numbers. The NewWindow template starts near the end of the file on page 17.
Notice the member names. LeftEdge, TopEdge, Width, and Height are so descriptive you could probably use them without any special instruction. But others, like IDCMPFlags and
• FirstGadget, look rather intimidating. How do you use them?
Don’t worry about that just yet. At this point it is only important to know that a structure called NewWindow has been defined for you, that it has descriptive member names, and that you will be storing some data in those members using the dot member operator notation.
First we declare a variable to be of type NewWindow.
Remember that NewWindow is not a variable name; it is a data type. To use it, we have to declare a variable of that type. Look in program listing “2 at the end of this article. At the top of the mainO function is the line: struct NewWindow my_window_request; I have defined “my_window_request” as a NewWindow structure. Since this structure stores all the details about the kind of window I want to open, I gave it an appropriately descriptive name. You can call it anything you like. After all, it's your variable.
Now we assign each member the properties we want our window to have. Look further down in the listing. You'll see things like: my„window_request.LeftEdge=50: my_window_request.TopEdge=25; This is the now familiar dot member notation we saw- earlier. You can probably guess that these lines have something to do with where on the screen the window will appear. Other assignment statements like: jr THE HonEST AMIGA STORE IN THE COUNTRY.
Hardware, accessories and books.
All at red-hot prices. So remember. When you’re hot, you’re hot. And when you’re not, you’re not shopping Amazing Computer Systems.
Amazing Computer Systems is hot. Our sizzling selection of Amiga products has become the talk of the town. From more than 1000 software titles in stock to the hottest selections of Amazing Computer Systems, Inc. frankford Village Shopping Center 3030 If. Josey Lane !44 (2 doon South ol Skaggs) Carrollton, !e»as 75007 (2I4) 394-8383 Open Hon.-iii. I0im-6pm Thun. LOiw-Spm Atiing CcrOvtti Systems IS ¦’Ot jftklW » fry way wfti P M PutkcHioeS, Inc 51 Amarwig ComOvfsng my_window„request.Flags = SIMPL£_REFR£SH I ACTIVATE; will leave you with that empty confused feeling. Be patient.
Before w-e can learn the exact meaning of every member of each structure in the Amiga operating system, we must make absolutely sure that we understand what structures are and how to use them. For now, just accept that I have stored some data into the various members of the NewWindow structure which I called "my_window_request." Don't worry if you don’t yet understand what the data means. Trust me, all the data is legitimate.
Notice, however, that some members, like my_window_request. Width, store numeric data, while others, like my_window_request.Title, store alphabetic data. The power behind structures is the ability to store different data types under one name, my„window_request.
Sometimes you will see a NewWindow structure in a program listing, initialized using a shorter notation which does not explicitly mention the member names. Do not use that notation. It is used by insecure software writers who believe their only chance for success in life is to write code so badly that no one, including themselves, will ever understand it. Use the member names for the same reason you use descriptive names for any variable; so your source code is more understandable for yourself and others.
OK, here’s the part you’ve been waiting for. How do I pass all that data to the OpenWindowO function? Surprise! I do it with only one argument. 1 pass OpenWindowO die address of die NewWindow structure, which I called “my_window_request.” You see, the OpenWindowO function is very smart and already knows about NewWindow structures. All it needs to read and use all the data stored in any NewWindow structure is the structure’s memory location. Effectively, all that data gets passed to the OpenWlndowO function in one swoop.
Here is the required notation: OpenWindow(&my_window_request) The & is the address operator in C. Prefixing any variable with the & operator passes the address of that variable, not the actual data it contains. Here, the address of the structure "my_window_request" was just passed to the function OpenWindowO. Knowing that address, the OpenWindowO function is able to read and use all the data contained in each of its members. The system responds by displaying a window with all the characteristics I asked for.
Two points worth repeating Rather than pass all that data to the OpenWindowO function one member at a time, I simply told the OpenWindowO function where to find a structure which contained all the data. And I couldn't have done it without a structure, because only structures can store different data types under one name.
Pointer notation Just when you thought you understood everything about structures, I mined everything by introducing a new concept. Is this really necessary?
C uses pointers a lot. It’s easier to pass data by referring to its address than by referring to the data itself. This was obvious when we called the OpenWindowO function and passed to it the address of our NewWindow structure "my_window_request.” We did that by using the & operator. So why do we need pointers? The & operator works only with structures which have a variable name, and many times we need to refer to the address of a structure which has no variable name to refer to. This happens when the operating system passes information back to us in the form of an address to a structure.
When we executed the OpenWindow(&my_window_request) function, it went off and created a window according to the specifications we stored in the NewWindow structure "my_window_request." But suppose that now, after the window has been created, you wish to refer to some property of that window. Maybe you are writing a scaling routine and want to know’ the exact size of the window.
You could refer to the original Width and Height members of the NewWindow structure used to call the OpenWindowO function in the first place.
But that may not work! Suppose the user resized your window after it was opened. He she could certainly do that if you provided a re-sizing gadget. My example program at the end of this article does not allow that, but it could easily be changed. The Height and Width members of my_window_request represent the window s size when opened, not necessarily its size at some later time. To make my point even clearer, suppose you needed to refer to some other property of the window that is not even described by a member of the NewWindow structure. You will have to do that if you want to draw’ simple
graphics in your window, Iloti’ are these things done on the Amiga?
In addition to making a w’indow on the screen, the OpenWindowO function, creates a Window type structure. Look in intuition intuition.h , on page 14, and you will see that a Window structure has many more members titan the NewWindow’ structure you used earlier. You'll see members describing every’ possible attribute a window could have its size, position on the screen, default colors, and so on. In addition to knowing all the member names for the NewWindow structure mentioned earlier, the OpenWindowO function is smart enough to know them all for the Window’ structure as well.
The OpenWindowO function also stores, in each one, information about the window it has just opened, Most importantly, the data stored in the Window* structure is constantly updated by the operating system whenever the characteristics of your window are changed, either by the user or by your program. It is from this structure that you get the latest information on window size, window location, and many other features, Where is this Window structure?
When you use the OpenWindowO function, it returns a number which is the address of the Window’ structure it created for you. It passes you the same kind of information you passed to it when you used the address operator.
But now, how do you use it? Up until now you have referred to data stored in a structure only by specifying the name of the structure, the structure member operator, and the member name you wanted. Unfortunately, the OpenWindowO function doesn’t pass the name of the Window structure it created for you. (Remember, the w’ord Window is not a variable name, it is a data type!) In fact, the Window’ structure the OpenWindowO function created doesn't even have a name! It has only an address. Hmm... You can't use the dot member operator notation, can you?
Sounds like a job for a pointer!
A pointer to a structure does two things. First, ii stores the structure’s address, Second, and more important to you now’, it knows all the member names of the structure it points to and allows you to refer to them by using a special notation.
Let’s talk about first things first. Look in my listing at the end of this article. At the top you will see the declaration: struct Window ‘my_window_received; I have declared a pointer to a Window structure. The * symbol is the pointer operator. This variable, my_window_received, will store the address of the Window structure w’hich will be created when the OpenWindowO function is called. Here is how’ this is done; my_window_received = OpenWindow(&my_window„request); This line not only creates your window, and a Window structure containing all the properties of the window just opened; it also
stores the address of the Window structure in the pointer called “my_window_received.” This is really no different than any assignment statement of a value returned from any function. Here are some more familiar examples: x = sqrt(25.0); char = getcharO; my_wlndow_received = OpenWindow(&my_window.jequesi); In each case, the value each function returns is assigned to the variable. The value returned by the OpenWindowO function, which happens to be the address of the Window structure, is assigned to the pointer variable '‘my_window_received.’' Now, second things second! Each pointer variable
knows all about the member names of the structure it was declared to point to. Pointers receive that knowledge when you declare them. You see, “my_window_received” was declared to point to not just any structure, but to a Window structure.
In addition to this, pointers use a special notation which allows you to refer to any member of a structure by name. 1 like to call this notation “little arrows." Let’s use it to refer to something simple, like the size of a window, Look at your printout of Intuition lntuition.h and notice the member names Width and Height in the Window template. Suppose I wanted to know what is stored in those members at any time. Here is the required notation: my_window_received- Width my_wlndow_received- Height The arrow is fonned by typing a hyphen, followed immediately by the “greater than" symbol.
When you use this notation, you are telling your Amiga to “look in the structure pointed to by 'my_window_received' and tell me what is stored in the member called ‘Width’." This notation can be used in assignment statements, just like the other dot notation you learned earlier.
Window = my_window_received- Width; wind_h = my_window_received- Height; Also, these members can be used just like any variable of similar type. Suppose you wanted to calculate the midpoint of your window for scaling purposes. Note that intuition intuition.h declares both Width and Height to be of type SHORT. You might do something like this: SHORf mid_x, mid_y; mid_x = my_window_received- WIdth 2; mid_y = my_window_received- Height 2, Now you may use the values stored in mid_x and mid_y to plot a point at the exact center of your window.
Try not to feel overwhelmed by the long list of members in the NewWindow and Window structures. 1 know it all looks very complicated at first, but you don’t need to understand the purpose of every member. Many members represent features of the operating system that you may never use; give these a simple default value like NULL.
Still, I know you are anxious to find out about them, so very soon 1 will talk about the meaning of one, the RastPort member of the Window structure. But right now it is important that you understand what a structure is and how to refer to data stored in it. Only when you feel comfortable with that can you begin to learn the exact meaning of any member of the many structures defined in the Amiga operating system.
Another NEW Product To Make The FASTEST Development Environment Even EASIER!
The F-BASIC Source Level DeBugger(SLDB) The Only DeBugger Quick Enough For The FBASIC System Finally, a full featured DeBugger that doesn't require a working knowledge of assembly code. Use the SLDB to quickly debug your F-Basic programs without all those PRINT statements. Check these features of SLDB:
• Debug F-Sasic programs at Ihe SOURCE level.
• Fully windowed Intuition interface windows for Source Code
68000 Registers, Memory Dumps, Program Variables, etc.
• Set break points and single step trace by either source line or
by Assembly Code Line.
• Display all variables, arrays, or RECORDS by name.
• Full reverse-assembier included,
• A comprehensive User s Manual with full documentation of all
SLDB supported features and windows.
The F-BASIC Language System An Enhanced Compiled BASIC Language You’ve READ About It-Now EXPERIENCE It!
? Beginning AMIGA™ programmers choose F-Basic due to its simplicity and ease of use. !f you know BASIC, you can use F-Basic immediately.
? Programmers of all levels choose F-Basic because its hundreds of buiit-in features provide an AMIGA language environment that coincides with your experience. F-Basic can’t be outgrown, due to features like: ¦ Extensive Conlrol Structures ¦ Recursive SUBROUTINES &
• LOCAL & GLOBAL FUNCTIONS Variables • 32,16, and 8 Bit INTEGERS
¦ Ullra Fast Roating Point • Powerful String Facilities
• RECORD Structures & Pointers • Direct ROM Kernel Access
• INCLUDE 8 APPEND Separate Fites • Bitwise Operations
• PATTERN Matching Support * Access to 68000 Registers
• Easy high level access to AMIGA Screens, Windows, Menus, Sound,
Speech, Graphics and Events.
? The F-Basic M Language System includes:
• Comprehensive User's Manual Fuli Documentation of Ail Supported
Features Of The F-Basic System
• Sample Programs Disk "Hands On” Tutorial
• FastCom™ single pass compiler, which quickly compiles F-Basic
programs into assembly code. FastCom is written in F-Basic...
That's your guarantee of the speed and efficiency of F-Basic.
The F-BASIC1 Language System Only $ 79.95 F-BASIC'1'' System and Complete SLDB Only $ 129.95 SENDCHECKOR MONEY ORDERTO: DELPHI NOETIC SYSTEMS,INC.
Post Office Box 7722 Rapid City, South Dakota 57709-7722 _Credit Card or C.O.D. Call (605) 348-0791 F-BASIC and FasCcm a'e regsfered trademarks erf DNS Inc AMIGA is a regsJered trademark d CommoOor&AM IGA Inc. t TxEd PLUS ' 1 The Text Editor for the Amiga,' Plus a whole lot more.
R l if yTTl cac e- sPeeds up floppy and J-Ill LziJ_7l0iY hard disk reads up to 2000%.
FastFonts Speeds up text display.
F unKeys Hotkey window manipulator.
A TD "T) Latest versions of the Amiga DOS™
- ii-J- Vl Replacement Programs.
Demo version of the AREXX, the macro processor used by TxEd Plus, that is changing the way people think about computing.
AREXX Complete package $ 79.95 Microsmiths, Inc PO Box 561, Cambridge MA 02140 (6171354-1224 BIX; cheath CIS; 74216,2117 Amiga and AmigaDOS are trademarks of Commodore-Amiga. Inc Recapitulation Two notations are used to refer to the members of structures. The dot notation uses a structure's name, the dot operator, and the member name. The pointer notation uses the name of a pointer to the structure, a little arrow, and the member name. Use the dot notation when you know the name of the structure. These are usually structures that you declare yourself in your program, like the NewWindow
structure you called “my_window_request.” Use the pointer notation when you know the name of the structure's pointer. These are usually structures the operating system has declared for you, like the Window structure, whose address is stored in the pointer '‘my_window_received," The Rastport The first structure member you should learn on the Amiga is the RastPort pointer. The RastPort pointer is a member of every Window structure. It points to another structure which, incidentally, is also created when tire system opens a new window for you. (A fine machine, that Amiga!)
Remember how I stated much earlier that structures could store any data type, even other structures? Here you have a Window structure which contains, as one of its members, a pointer to a structure called RastPort. Don’t be concerned about this added complexity. The only thing you need to know about the RasrPort structure is how to get its address as required by the graphic functions you want to use. You will do this with tire pointer notation, the "little arrows." Suppose your program opens a window whose pointer is called “my_window_received." You probably used the OpenWindowO function like
this; struct Window *iTiy_window_recetved; struct NewWindov my_window_request; Then, after loading my_windo v_request with data.
My_window_received = OpenWindow(&my_wincow_request); The pointer “my_window_received” points to the Window structure the system created for you. To use the MoveO and DrawO graphic functions in that window, specify the RastPort of the window in which you want to draw. You see the Amiga can easily draw graphics in many different windows which may be open on the screen at the same time, It makes sense, then, that you, the programmer, must tell the system which window you want the graphics to be sent to by passing a RastPort address to each graphics function used.
By specifying a RastPort address, you are telling the operating system which window you want tire graphics to go to. The RastPort address for any window is stored for you by the operating system in the RastPort pointer, which is a member of every Window structure and has the name Rport. Here’s how you send graphics to the window pointed to by ';my_window_received": Move(my_windowjeceived- RPort, 25, 10); Draw(my„window_received- RPort, 300, 90); This will draw a line in your window. Many programmers find it easier to use a shorter variable name instead of "my_window_received- RPort”; struct
RostPort ‘rp: * declare a pointer * rp = draw-window- RPort; ” store RastPort address 7 Then you can use the more convenient notation; Movefrp, 25, 10); Drawfrp, 300, 90); Let's go over this because it’s important. Look again in intuition intuition,h and find the declaration of the RasrPort pointer. It's at the top of page 15 in my printout. It says: Struct RastPort 'RPort; The name of tire pointer is Rport and it points to a structure of type RastPort. Rport is the name of the pointer, RastPort is the data type that it points to. The expression: my_window_received- RPort tells your Amiga
to look in the Window structure my_window_received and see what is stored in Rport. That member lias been defined by Lhe template in cintuition intuition.h to be a pointer to a RastPort structure, and thanks to the designers of the Amiga, the number stored there is the address of the RastPort structure for your window, It is used as an argument for any graphics functions you want to use. It tells those functions in which window to draw their graphics.
Incidentally, every staicture must have a template, and Lhe RastPoit is no exception. You can find the RastPort template in the header file graphics rastport.h . It is automatically added to your program when you include cintuition intuition.h . As you develop your skills on the Amiga, you will want to look at the RastPort template.
One last point. You may have noticed that I have been careful to use upper case letters when required in the names of the NewWindow, Window, and RastPort structures. Remember that the C language is case sensitive, and these structures will not work if you do not write them correctly. Rastport is incorrect; it's RastPort.
Example Program Listing *2 is a short program which opens a window on the Workbench screen and draws a triangle in it. Notice how the data for the window is first stored into a NewWindow structure by using the dot notation, member by member. Notice the MoveO and DrawO function calls. They use a variable called rp to refer to the RastPort pointer. This tells the system which window' you want the triangle drawn in. If you had opened two windows, and you are certainly free to do so, you could draw first in one window, and then in the other, by specifying the RastPort pointer for each window in
turn.
Finally, look at the call to ilie OpenWindowO function.
What’s that (struct Window ’) doing in the line which calls the OpenWindowO function?
The ( struct Window *) is called a cast statement, and is there only because your compiler prefers to see it there. You see, the value the OpenWindowO function returns is an address just a long integer. In your assignment statement, you store that number in a pointer to a Window structure. Your compiler sees this and wronders if you know what you are doing. It looks on the left side of the equation and sees a pointer to a Window structure, it looks on the right side of the equation and sees a long integer number. It recognizes that these data types don’t match and sends a warning. Version 4.0
of Lattice reports, “Pointers do not point to the same object.’’ There is no problem, however, because you do know what you are doing and it is perfectly legal to store the address returned by the OpenWindowO function in the pointer “my_window„received.” Actually, it’s nice that your compiler recognizes the above data type mismatch because many times when you write programs, you will indeed not know what you are doing, and such a warning will alert you to a possible bug which would otherwise be difficult to find.
The cast statement (struct Window *) tells the compiler to treat the number returned by the OpenWindowO function, not as a simple long integer number, but as rtn address of a Window structure. Tire compiler says okay, assumes now that you know what you are doing, and continues without issuing any warning.
The cast statement (struct Window *) is not really necessary. You may write your program without it if you choose. I must admit, the line is easier to understand without the cast statement. If you leave it out, your compiler will issue a warning for that line of the program. Simply ignore the warning. If you put the cast statement in, you will not get the warning message.
Conclusion I have discussed structures in the C language with an example of how they are used on the Amiga. I have explained how to store data into a NewWindow structure and how to read Time 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 VI.2 required).
• Multi-tasking.
• Not copy protected.
• Plus ... 3 other time saving utilities are included.
Available NOW!!!
Just send $ 29.95 plus S2.00 S&H to SOFTLINKinc P.O. Box 304, Coventry, Rl 02816 Dealer inquiries invited.
Amiga is a registered trademark of Commodore-Amiga, Inc Design your own menus and use them with your favorite Amiga software!
• Each menu is like having thousands of user definable,
descriptively labeled, function keys
• Quickly and easily create all the menus you like
• Modify any of your menus, as often as needed
• Each menu can restore other Stuff-lt menus
• Also included are a few menus we’ve created to get you started
(CLI-Menus, ED-Menus, etc.)
• Runs on ALL Amigas...From WorkBench or CLI (V1.2 or higher
required)
• No hardware requirements • NOT copy protected Stuff-it is a
MUST for ALL Amiga owners, beginner to expert!
Just send $ 39.95 plus $ 2.00 shipping & handling to: SOFT* LINK me,
P. O. Box 304 Coventry. Rl 02816 Amiga is a registered trademark
of Commodore-Amiga, Inc. data from a Window structure. What I
have not done was explain, one by one, the exact meaning of
each member of these structures. Throughout the article, I
have asked you to not worry about this, emphasizing the more
important goal of learning about structures. That done, now
you probably want to know more about the meaning of each
member of these and many of the other structures designed into
the Amiga's operating system. However, I am not going to
explain those to you.
Feel cheated? Don’t. If you didn’t understand structures when you started reading this article, and if you were able to follow everything I have presented, you have made a giant step in your understanding of the Amiga. You have conquered what I believe is the most difficult obstacle to programming the Amiga in C. You have learned what structures are. So, now what do you do? I know that opening simple windows will not hold your interest very long. Armed with an understanding of structures, member operator notation, and pointer notation, open your AMIGA Intuition Reference Manual by Addison-
Wesley and see if you now understand what it is talking about.
Take the NewWindow structure, for instance. An explanation of each member starts on page 65. The first four are pretty easy. Specifying different values there will open windows of different sizes. Specifying illegal values will crash your machine! Fun, huh? DetailPen and BlockPen can be a pen number or a minus one. That’s easy enough. But look at all that stuff for Flags! How are you going to understand all that? You won’t, at least not right away.
What you must learn, however, is that ail those names, WINDOWSIZING, WINDQWCLOSE, SIMPLE_REFRESH, and so on, are actually definitions in the header file cintuition intuition.h . Each capitalized argument is a macro which has been conveniently defined for you and which you are free to use by specifying it by name. (Thank you again, Amiga! )lf you want to use more than one, and you usually will, separate each with the OR symbol, which in C is the character “ I ”. (The I key is just left of the backspace key.) Use my program as a model to do the same in your own programs.
If you get stuck trying to understand any of these members, or find the explanation in the Intuition manual incomplete, try another reference. I suggest Inside the Amiga by John Berry, Inside Amiga Graphics by Sheldon Leeman, Programmer’s Guide to the Amiga, by Robert Peck, and Amiga Programmer's Handbook by Eugene iMortimore.
LISTING 1: ARRAY EXAMPLE void mainO int i; static turtle[25]; static char lizard[5][25]; strcpy(turtle, "Zakarious"); strcpy(lizard[1],"Blinkin"); strcpy(lizard[2],"Frog"); strcpy(lizard[3],"Clementine"); strcpy(lizard[4],"Matilda"); strcpy(lizard[0],"Stinkin"); for(i=C t i 5; i++) printf("Lizard %d is called %s n", i+1, lizard[i]); printf(" nMy turtle's name is %s n", turtle); LISTING 2: OPEN A WINDOW ON THE WORKBENCH include cintuition intuit ion.h struct IntuitionBase *IntuitionBase; struct GfxBase *GfxBase; VOID main ) struct Window *my_window_received; struct NewWindow
my_window_request; struct RastPort *rp; int i; VOID open_libraries(); open_libraries 0; my_window_request.LeftEdge=50; my_window_request.TopEdge-25; my_window_request.Width=4 5 0; my _window_request. Height=l25; my_window_reque s t.Det a ilPen=-1; my_window_request,BlockPen=-l; my_window_request.Title="THIS IS MY WINDOW"; iay_window__request. Flags=SIMPLE_REFRE5H I ACTIVATE ; my_window_request.IDCKPFlags=NULL; iay_window_reques t.Type=WBENCHSCREEN; my_window_reque st.FirstGadget=NULL; my_window_reque st.CheckMark=NULL; my_window_request.Screen=NULL; my_window_request.BitMap=NULL;
my_window_received = (struct Window *) OpenWindow(&my_window_request); if (my_window_received == NULL) printfpl can't open window exit(FALSE)?
} * use variable rp so store the address of the RastPort * rp = my_window receivea- R?ort; * Draw a black orange triangle * SetAPen(rp, 2); Move(rp, 25, 25); Draw(rp, 350, 45); Draw(rp, 155, 95); Draw(rp, 25,25); * Display an orange message * SetAPen rp,3); Move(rp, 50,110); Text(rp,"Please wait... I'll be gone scon",32); for (1=0; KIOOGOOO; i++) ; CloseWindow(my_window_received); CioseLibrary(GfxBase); CloseLibrary(IntuitionBase); ) VOID open_libraries() IntuitionBase = (struct IntuitionBase *) OpenLibrary("intuition.library",LIBRARY_VERSION); if(Intuition3ase==KULL) printf("I can't
cpen intuition library !! n"); exit(FALSE); How fast is fast? HardFrame 2000 transfers data at Amiga bus speeds! It's actually faster than the hard disk mechanism itself! And even more important in the Amiga's multitasking environment, HardFrnme 2000 has extremely efficient DMA circuitry to get on and off the bus in almost no time at all: 280ns to get on; 200ns to get off. HardFrame 2000 autoboots under AmigaDOS™ 1.3 and is fully compatible with the new Fast File System. The core of any DMA SCSI interface is its SCSI protocol chip and DMA chip. MicroBotics has chosen the new, high
performance Adaptec AIC-6250 SCSI chip, capable of up to 5 megabytes per second raw transfer speed, and the Signetics 68430 DMA chip running at 12.5 megahertz. Then we added additional FIFO buffering and enabled 16-bit wide data transfers for maximum throughput. The sophisticated design of HardFrame 2000 provides for automatic SCSI arbitration, selection and reselection, The hardware supports either synchronous or asynchronous data transfer. HardFrame 2000 can function as either the SCSI bus initiator or the target and can reside in a multiple master environment. Physically, HardFrame
2000 is optimally flexible: the compact, half-size card comes attached to a full length, plated aluminum frame. The frame has mounting holes positioned to accept standard, 3.5" SCSI hard disk units such as those manufactured by MiniScribe, Seagate, Rodime, and others (hard disk mechanisms must be supplied by the user or his dealer as a separate purchase item). Alternatively, you can cable-connect to a SCSI drive mounted in your Amiga's disk bay or in an external chassis. As many as seven hard disks may be connected to a single HardFrame. There is no size limit on each disk. HardFrame 2000
includes a 50-pin SCSI cable and header connectors for either 50-pin or 25-pin cable connection.
Also included is a current tap to power frame-mounted drives directly from the slot itself. HardFrame 2000 comes complete with driver, installation, and diagnostic software. Available September 1988.
Suggested list price, S329 (hard disk not included).
HardFrame 2000 8-UP! The Eight Megabyte The Super-speed, DMA, SCSI Hard Memory Card with Amiga-specific Disk Interface with 1.3 Autobootmg DRAM Controller Logic All the memory space you and your Amiga 2000 need -in a modern, highly integrated FastRAM expansion board. In 8-UP!, MicroBotics went all the way to provide you with a truly Amiga-specific memory design to meet tire special demands of the Amiga's high speed multitasking environment: The heart of any memory expansion is its DRAM controller circuitry. Rather than compromising with off-the-shelf parts, MicroBotics developed its own,
custom controller design and built it into high-speed. Programmable Macro Logic chips (Signetics PLHS501), These new, super chips (each 8-UP! Uses two Pml.'s) permit MicroBotics to employ sparse refresh technology to assure that your 8-UP! Is a truly zero wait-state minimal-refresh- collision memory design. If you're putting eight megabytes in only one slot, that means that you probably have plans for your other A2Q00 slots. 8-UP! Gives you new freedom to do that planning since, unlike other ram peripherals, it is an extremely low- power memory card- a single, fully-loaded, 8-megabyte
8-UP!
Draws an astoundingly efficient 800 milliamps! That's less than two-fifths of the power "budget" for a single slot! Low power draw also means that the card is cool-running for reliability and long life (not to mention a cooler Amiga!). 8-UP! Offers you maximum flexibility in memory configuration: it is organized into two separate PIC's (Amiga-speak for autoconfiguring peripherals). Each 8-UP! PIC consists of four SIMM module sockets; these sockets accept either 256k-byte or 1 megabyte SIMM's (Single Inline Memory Modules). You can also purchase optional PopSIMM boards from MicroBotics; fill
them with conventional RAM ; then use PopSIMM's to fill your 8-UP! The card can run with as little as 512k of memory or as much as eight megs -with many intermediate configurations possible (particularly the six megabyte configuration, most desirable for use with a BridgeCard™). 8-UP!
Is speedy, efficient, custom memory technology for your Amiga 2000 -and it S available now! 8-UP! Suggested list price is $ 199 (0k installed) Optional PopSIMM's are $ 49.95 per pair.
The memory location The HardFrame 2000 photo shows the product with a MiniScribe 20 megabyte hard disk installed. Hard disks are not included in the purchase price of HardFrame. Note that if placed in the first slot, HardFrame uses only one slot.
The 8-UP I photo shows the card half populated with conventional SIMM modules and half with MicroBotics PopSIMM's. PopSIMM's (without DRAM installed) are available as separate purchase items.
MicroBotics, Inc. Great Products Since the Amiga Was Born!
811 Alpha Drive, Suite 335, Richardson, Texas 75081 (214)437-5330 SOLD ONL Y THROUGH YOUR AMIGA DEALER Tell your dealer he can quickcrder from MicroBotics directly - no minimum quantity -show him this ad!
Amiga is a registered trademark of Commodore.Amiga. 'HardFramer2000’, '8-UP!", “PopSirrm", are trade names of MicroBalics CONQUER A n i g a D C S WTH MASIII IM - CLI ¦c° MASTERING-CLI is THE interactive DOS tutorial you’ve teen waiting for, The test way to learn the CLI is to use it Our software is designed to actively instruct as well as provide online help while you master the Amiga’s Command Line Interface, A 2-in-l package includes a full lutorial of AmigaDOS and a memory resident assistant, ready to help you with the most commonly used commands. Also covered are directories, hatch files
and much much more. Overcome the DOS barrier, ask wur retailer for , MASTERING - CLI A fist for every ney Aniga user Or order direct, send rii If) fir check or money order for: p J Postpaid in the Continental U.S. Id: GRAPHIC EXPRESSIONS P.O.BollOflZ! Nuiey Nj'flmo i ftnijaisareijis-ereti tademart cf Ccmmcticre-Amip Inc M residents add applicatrle safes lax void main () t VOID oper._libraries () ; open_Iibraries(); my_window__request .Le ftEdge=5 0; my_window_request. TopSdge=2 5; my_window_request.Width=450; my_windcw_request.Height=125; my_windcw_reque s c.D eta11F cn=-1;
my_window_request.BIock?en=-1; my_window_request.Title="THI3 IS MY WINDOW"; my_window_requeat.Flags-SIMFLE_REFRESH I ACTIVATE ; my_w i ndow_request.IDCMPFlags=NULL; my_window_request. Type-WBENCHS CREEK; my_window_request .FirstGadget=NULL; my_window_request .Checkr-:urk=Nl!LL; my_windcw_request.Screen=NUi:,; my_windcw__request. 3itKap=NULL; my_window_received = (struct window *) CpenWindow(Smy_wi ndow_request); if (my_window_received NULL) printf ("I can't open window !l n"),- exit (FALSE) ; } * use variable tp so store the address of the BastPort * rp = my_wi ndow_rece ived- RPort; * Draw
a black orange triangle * SetAPen(rp,2]; Move(rp, 25, 25); Drawirp, 150, 45); Draw(rp, 155, 95); Draw(rp, 25,25); * lisolay an orange message * SetAPen(rp,3); Move(rp,50,110); Text (rp,"Please wait.,, I'll be gone scon",32); int i; static turtle[25]; static char lizard 5][25]; strcpy(turtle, "Zakarious") ; strcpyflizard[1 ], "Blinkin'1) ; strcpy(1izard[2],"Frog") ; strcoy(lizardI3),"Clementine"!; strcpy(lizard]4],"Matilda"); strcpy(lizard[0],"Stinkin"); for(i=0; i 5; i++) printf("Lizard 4%d is called %s n", i+1, lizard[i]); printf(" nKy turtle's name is %s n", turtle!,- for (i=0f i :300000;
i + = ); CioseWindow(my_window_received); CloseLibrary(GfxBase); CloseLibrary(IntuitlonBase); VOID ocen_libraries () !
Intuitior.Base = (struct IntuitionBase •) OpenLibrary("intuition. Library", LIBRAR¥_yERSION) ; if|IntuitionBase==NULL) I printf ("I can't open intuition library 1 1 n") exit(FALSE); : include exec types,h =it. Elude intuition intuition.h struct IntuitionEase *Intuition3ase; struct Gfx3ase ’GfxBase; GfxBase = (struct GfxBase *) OpenLibrary("graphics.library", LIBRARYJ ERSION): if (GfxBase = NULL) 1 printf ("I car t open graphics library MW); exit(FALSE) ; VOID main (I 1
• AC struct Window *ny window-received; struct NewWindow
my__window_request; struct RastEort *rp; int i; Desktop
Publishing with Professional Page by Barney Schwartz This month
I will create a document using Gold Disk’s Professional Page.
Professional Page version 1.1 hit die streets in May of this year. As usual, Gold Disk has released two improvements to version 1.1 since May. First they offered a new metric file utility which greatly expands the postscript library in 1.1, allowing a much larger varity of fonts for PostScript users. Now they have introduced a new toolkit for dot-matrix users. This toolkit will build a metric file from any Amiga screen font file, giving you satisfactory output from Professional Page to your favorite dot-matrix printer. These new utilities and the 1.3 printer drivers which ship on version 1.1
help make Professional Page a desktop publisher for all users.
The new printer drivers increase graphics printing speed by 200 to 600 percent. They also allow multiple density printing and color correction, which lets you create good quality newsletters with your trusty nine-pin dot-matrix printer, or excellent quality flyers and articles from a laser output device.
Your readers will appreciate your efforts and you will no longer have to spend a great deal of money on printing services. You may, however, spend a lot of time waiting for your copies to roll off the printer. Even though 1.3 greatly enhances print speed, the time it takes you to get to a final product depends on your skill and knowledge of the publishing art. To this end, let us begin.
Look at figure 1. Those of you who have grown up with the Amiga will recognize it as TUT. It was done in Low-Res mode on Electronic Arts Deluxe Paint. For every piece of art which must be "pasted” into your article, two things must be considered:
1. Size of original versus allowable space.
2. Colors in original versus colors in final copy.
Those of you who are familiar with TUT realize that what you see here is not the same size or color as the original version. The screen colors don’t match the output of an Epson JX-80 printer, and the original 5"x7" size was unacceptable for this column. As with almost every graphic, this piece required some manipulation prior to incorporation in the article.
Next, you must decide on your page layout.
Will you have headlines? How many columns will you use? Will you require graphics? In which typeface and size will you set the body text? The Professional Page manual contains a wealth of information on all of til.
These subjects. I find the discussion on column width particularly interesting.
“The easiest reading body copy (text of an article) should be set in at least ten point type in columns no smaller than one alphabet wide (a to z). An optimum length is one and a half alphabets. The alphabet is used to measure because it has balanced character widths. As a general rule, a column should not be wider than two alphabets.
Figure Two: Structured graphic from AegisDraw Figure Three: Comparison of IFF Images As they appear on (Top B&W Bottom Color) the Another rule of thumb is that the line length in picas should not exceed twice the point size. If you are using ten point type, then columns should be no more than twenty picas long. A line should average nine or ten words."
Bitmapped Graphics We now return to the task at hand, dealing with graphics. The first thing to. Do with a piece of art is to print it. (I usually just install Grabbit and print to the line printer what ever is on the screen.) This immediately shows what must be done to get the colors correct.
Once you know what adjustments are necessary, enter an art program and make the necessary changes before installing the graphic in Professional Page. This is necessary because Professional Page, like most other desktop publishing packages, doesn't display color graphics. As a matier of fact, with Professional Page you don’t display your graphic until it is time to go to press.
This will save you valuable time during composition. Of course, if you choose not to display your pictures, you must remember which picture is where.
Once you adjust the colors to fit your printer, you should place your graphic- file on an “issue" disk. Your “issue" disk should contain all of the graphics and text files required for the article you plan to publish. As a matter of habit, I usually format a disk, name it the article’s name, make two separate directories ( one for graphics another for text files ) and begin planning. An “issue" disk is not required, but I have found it helps me stay organized, and saves disks swaps when I am finally ready to go to press.
Notice that I have said nothing about adjusting the size of the graphic.
You may choose to pat the graphic on the onboard or directly into your document. I prefer to put a blank box of the allocated size in the document and place the graphic on the artboard. This allows me to cut, crop, or resize the graphic to fit the allotted space. Once the graphic is cut or cropped, it will be sized to its proper dimensions. When you are satisfied the graphic is correct, transfer the finished piece to the document.
Graphic sizing can be accomplished from within Professional Page.
Instructions for scaling a graphic are rather cryptic and obtaining the desired size may seem like a chore. But things are not that complicated. With the graphic box ACTIVE open the active box requester. Within this box you will see:
1. All margins inside the box. 2. The position of the box on your
page. 3- Scaling factor in the X and Y directions (planes).
Use the scaling factor, which will be set to one initially. Adjust the factor until you have the correct size for your document. For example, suppose you start out with a graphic seven inches wide and five inches high. In your document, you want the graphic to be three and one half inches by two and one half inches. Set the X scale and the Y scale to point five. This will yield a graphic one- half the original size.
Structured Graphics What are structured graphics?
Look at figure 2. This is a structured graphic from Aegis Draw, It is not output as IFF bit-map, but as a series of vector lines. Professional Page inputs and scales these drawings much easier than IFF bitmapped graphics. (This may be because the internal drawing utility is a structured graphics form.) There is usually no need to adjust colors for proper printer output, since the only colors are prime (i.e., RED, CYAN, MAGENTA etc.). The only draw-back to using this type of graphic is that your desktop publisher will not be able to read the stroke-font for lettering and measurements within
the graphic. If this text is important, you may overlay boxes within the graphic. At any rate, you will probably appreciate the fine detail available from structured graphics.
Hold and Modify Graphics Hold and modify (HAM) graphics are to me the most impressive type of graphic in the Amiga's large inventory of svelte tools. And they are so easy to use.
You just open a box in the artboard, import IFF graphics (this time it's a digitized photo from Digi-Paint), size it to fit, crop and insert the graphic. If you feel color would be more effective for your graphic, and your graphic is black- and-white, you can shade it with one of tire many image processors available.
But that will be the subject of a future column. For now let me say that any of the following image processors would be well woith the investment:
1. Butcher, Eagle Tree Software.
2. Digi-Paint, NewTek.
3- Photon Paint, Microlllusions.
4. PlxMate, Progressive Peripherals For an example of what you
can do using digitized color graphics, see figure 3. This
should convince you of the utility' of color on a dot-matrix
printer. If there is one thing a laser cannot do, it is color.
True, lasers can sometimes do better text (but the
best typesetters do the best job). Lasers are also faster than
most dot-matrix printers (once you gel them printing). But
they don't do color and they do cost big money.
Professional Page will accept any IFF graphic,including HAM. It will take color, black-and-white, or any image processed graphic. The only requirement is that the piece be IFF. There is one thing to consider when you work with such high resolution graphics: reducing size reduces detail. The more reduction the greater the loss of detail, the more detail you lose. This is not something to worry about, just don’t expect a reduction to show every little detail.
Text & Word Processing Text makes up most of any published document. Desktop publishing provides a means of incorporating text and graphics into a final page. But the desktop publishing package is usually not designed to perform word processing. This is not to say that you cannot word process with a desktop publishing package; you certainly can. However, you may find it much more convenient to write on a familiar word processor.
After you've written y'our article, compose the pages in the desktop publishing package.
All true desktop publishers allow importation of text from many word processors. But some word processors are easier to transport than others.
Perhaps the easiest text files to incorporate into formatted pages are pure ASCII files, files consisting of ASCII text characters only. Most word processors imbed format codes within their files.
These imbedded codes facilitate proper output to printers from the particular wordprocessor. But these same imbedded codes wreak havoc on the composition artist.
It is possible to import formatted text from such popular wordprocessors as WordPerfect, Scribble!, and TextCraft, but even the best translation routines will not strip all of the format codes. This task is left largely to to desktop publisher. Tit is is why I choose straight ASCII files to be imported into desktop publishing programs. When I say straight, I mean pure text strings: no paragraphs, no indents, no soft line ends, For the “Well Adjusted” Amiga... The Analyst integrates and burlds upon the power of WSExtras (Workbench Extras} to provide a full complement oi System Maintenance and
Performance Optimization Utilities ali from the Workbench. Over 100 Windows monitor every aspect of system operation, all with the ability to Record, Print, and thus Compare Performance Attributes. In addition, The Analyst provides...
• Easy assignment of Function Key Sets for quick access to any
program with a single Key-Stroke
• Convenient DOS Path and Device Manipulation including Device
DisMount essential for Hard Disk Systems using Workbench 1.3.
This feature allows you to “Boot-Up” with the "New” Fast Filing
System, Console, and AUX Handlers available as defaults
• Simple activation of any Screen, Menu, or Interactive display
developed from your favorite Pain! Program.
• Useful assignment of Password Protection lor Any Amiga Program
• Enhanced Workbench Appearance with up to 16 Colors and
Selectable Fonts
• Simple Control of Systems Lists and Task Priority lor added
performance
• Easy Recovery of Discarded Fites Including ihe Icon
• Complete Disk Verification including File Integrity Validation
• Time-saving execution of System Maintenance Function such as
Disk-Verify and others while in "Sleep Mode" with lime-defined
Screen Blanking Now Shipping $ 89.95 (Workbench Extras) A
Complete enhancement lo the Workbench!
At Luna C Software, we are dedicated to building Power Tools which allow ‘‘Your Creativity to become a Reality!"
LUNA C SOFTWARE
P. O. Box 1388 Canon City, CO 81212
(719) 275-5858 'Amiga and Workbench are Trademarks of
Commodore-Amiga Inc. 68000 DISASSEMBLY Iq qI announcing...
DSM VERSION l.Od DSM is a full-featured disassembler for
the Amiga. Check out these features and you'll see why
programmers agree, "DSM is the best disassembler currently
available for the Amiga, bar none."
• DSM disassembles any Amiga program that does not use
overlays.
• DSM produces assembler-ready output that is 100% compatible
with the Amiga assembler, assem. Excellent results can also be
obtained using the
C. A.P.E. assembler from Inovatronics.
• DSM features true text detection,
• Improved disassembly is supported using the built-in expert
system mode.
If your local Amiga dealer doesn’t carry DSM, send check or money order to: OTG Software 200 West 7th Street Suite 618 Fort Worth, TX 76102 TX residents add 7.25% sales tax. Price $ 67,50 no page breaks, no center codes, no justification codes. Just plain letters and numbers. The best way to accomplish this is to use your word processor's “save as text only’’ feature. Or you can use a text editor such as:
1. TextEd Plus, MicroSmiths.
2. Mglb, Fred Fish disks
3. MicroEMACS, Workbench 1.2
4. Lattice Screen Editor, Lattice.
5. Ed, Workbench text editor.
6. CygnusEd Professional, ASDG.
I use WordPerfect most of the time. This is because I’m used to it, not because it is better chan the others, There are a multitude of really good word processors for the Amiga. (Each word processor is particularly well suited for a specific task: some are full desktop publishing, some straight word processs- ing, etc.) Anyway, after I write an article, and before I import to the desktop publisher, I strip all codes. Lately, though, I’ve been using TextEd Plus to do most of my work. A text editor eliminates the requirement to strip codes, saving valuable time.
TextEd Plus from MicroSmiths or CygnusEd Professional from ASDG, used with AREXX from William Hawes are two of the greatest text processing engines I’ve come across to date, i hope to discuss the capabilities of these programs in depth in a separate article. A bit of advice: if you haven’t tried TextEd Plus or CygnusEd Professional, do so now.
They are the only totally user configurable text engines. They can be whatever you want them to be. You can customize all aspects of their operation through the .AREXX macro interface.
AREXX is another program that deserves a more attention. AREXX allows modular software to interact in a true multi-tasking environment. This allows for a module of one program to access modules inside another program, thus using available memory and time their capacity. As more modular software becomes available, and the industry expands to meet the challenge, the entire Amiga community will benifit.
Types tyles What is type? What are the differences? What are the choices of output methods? What's so special about Gold Disk's Professional Page?
According to Webster, type is a rectangular piece of metal or wood with a raised letter in reverse on its upper end, which when inked and pressed against paper or other material leaves an impression of its face. So, "typeface" is the design of a particular letter in a particular font. It is safe to say that there are hundreds of thousands of typefaces.
But there are only three basic typestyles: Serif, Sans Serif, and Ornate.
Serifed type is the typestyle most publishers will agree is the easiest to read. Therefore it is usually reserved for body copy, text which makes up the bulk of printed matter. Fine examples of serifed typefaces include Garamond, Baskerville, and Palatino. Serifed type has small "tails" or hairlines at the end of each vertical stroke in the letter. Theoretically, these serifs visually connect each letter, which provides for smoother, more comfortable reading.
Sans serif type does not have these hairlines on the vertical strokes.
Each letter has the same line weight on all strokes. This gives each Letter a blocky appearance which is less suitable for body copy but is ideal for attention grabbing headlines. Examples of popular sans serif typefaces are Helvetica and Avant Garde. The sans serif typeface doesn't form nice kern-pairs and is therefore hard to read .
Ornate type is any other typeface.
Gothic, Old English and script are just a few ornate typefaces. The main function of these typefaces today is decorative only, and are sometimes used as oversized drop-letters to begin a paragraph.
They are also used in place of italic or bold typefaces. When used in this manner they emphasize a word, meaning, or phrase.
Gold Disk's Professional Page with its new metric utility and screen font conversion tool lets you use any typeface in your library. These typefaces can be output to all standard dot-matrix printers and any postscript device. If your dot-matrix printer is not supported by preferences it will probably emu Lite one of the standards (Epson for instance). One word of caution on building a document based on an Amiga screen font: the document will not print correctly to a postscript device. But there is hope. If you are real clever, you will rename your font, its .font (dot.font) file and its
metric file to a standard Professional Page font name. This will allow you to fool your system into thinking it can translate the file into postscript characters. For more information on this translation read the instructions whichac- company the added metric files utility or call Gold Disk’s tech support people.
With Gold Disk’s continued dedication to product improvement I'm sure it is only a matter of time before we see virtual page compatability, rotated letters, true scalable fonts and other facilities. Professional Page is the closest thing in the Amiga's current arsenal to the current desktop publishing industry leaders. It’s only a year old and growing fast. With continued attention, it is sure to become a system to be reckoned with.
For more information on desktop publishing programs or answers to specific questions in the desktop publishing field write to: Barney Schwartz do Amazing Computing
P. O. BOX869 Fall River, MA 02722-0869
• AC- AMAZING REVIEWS On the Crafting of Programs By David J.
Hankins Welcome back!
In last month’s column, we began a discussion on optimizing programs for speed. The most logical starting point in optimizing is to determine what part of a program is responsible for its overall speed. We found this could be done using a software tool called a profiler. We ended last month's column by using a Manx C profiler (pi and p2) to profile a simple C program.
This month we will apply the profiler to a real-world example profiling the DSM disassembler Version 1.0c. The profile will help us as we attempt to increase DSM’s speed. We’ll also learn about two different types of searches, sequential and binary.
And along the way wre’ll make an unexpected discovery about what mom tells us to do.
We'll begin by profiling DSM Version 1.0c. For those of you who are interested, the profiles discussed in this column were created by profiling the disassembly of the AmigaDOS program “diskcopy.” Following the instmctions from last month’s column, I produced the profile shown in Figure 1. Note, since the source code to DSM is not available to the general public (DSM is a commercial program), you won't be able to create this profile yourself. As shown in Figure I, DSM spends
46. 25% of its time in the function “check_reloc32”. This
function checks if 32 bit relocation was performed on a given
address (the Amiga loader performs this relocation whenever a
program is run).
Check_reloc32 checks to see if the address passed to it has been relocated by searching the array "relocates" (DSM stores the address of every longword which has been relocated in the array “relocates"). If the address is in relocates, relocation has occurred and check_reloc32 returns an index to the array. If the address is not in relocates, check_reloc32 returns -1 to signal that relocation did not occur at the given address.
Figure 2 shows the function check_reloc32. As you can see, this function searches the array relocates sequentially the search begins at the first element in the array, and continues forward one element at a time until the address is found or until all elements have been checked.
I like to think of the sequential search as the “messy room search". If you have a messy room, you can’t be certain that wrhat you’re looking for isn’t in the room until you've searched everywhere. If you’re lucky enough to find the object before you’ve looked everywhere, you can stop - you've found what you're looking for. So it is with the sequential search.
Fortunately for us, other kinds of searches exist. One of these searches is called the binary search. Binary searches are ordinarily much faster than sequential searches. To use a binary search on an array, the array must first be sorted. To illustrate the use of a binary search let’s take, for example, the following array of numbers: tfnsorted Array of Numbers Number Element 0 1 2 3 4 5 6 7 8 9 10 15 7 12 99 16 11 3 5 19 21 80 Further, suppose we’re searching the array for the number 21. If we were to use a sequential search on this array, it would take us 10 tries (0 though 9) before we
found 21.
Before we perform our binary search, we sort the array from lowest to highest value. Doing so we get Sorted Array of Number Element Number 0 3 1 5 2 7 3 11 4 12 5 15 6 16 7 19 e 21 9 80 10 99 The binary search algorithm uses three indices: the "low index", the “index”, and the "high index.” The binary search begins in the middle of the array; (0 + 109 2 = 5, and so we set index to 5. Next, the low index is set to the first element in the array, 0, and the high index is set to the last element in the array, 10. To recap, we made the following initializations: low index * 0 (the first element in
the array) index = 5 (the middle element in the array) high index - 10 (the last element in the array) With me so far? Good.
We now compare the value of the array at the location stored in index with the value (in this case 21) we're searching for. The value of the array at index = 5 is 15- Since the value of the array at index is less than the desired value, 21, we know the desired value must lie at some location greater than 5. How do we know this? This must be true because, as you recall, we sorted the array from low'est to highest.
Having determined that the desired value lies at some location greater than 5, we now change our low index value to 5 - the low index marks tine lowest possible element at which we might find the value 21. We then choose a value for index which lies midway between the low and high indices. Thus index = (low index + high index) 2 = (5 + 10) 2. Rounding the value of index up results in index = 8. Let’s review the changes we've made to index and low index: low index set equal to previous value of index * 5 index set equal to (low index + high index) 2 =8 high index was not changed and remains *
10 Again we check tire value in the array at index. The value of the array at 8 is 19, still less than the desired value 21.
Making the same changes to low index and index that we made before, we get: low index set equal to previous value of index ¦ 8 index set equal to (low index + high index) 2 = 9 high index was not changed and remains =10 Once again we check the value of the array at index. We find that the value equals 21. We’re done with our search!
Note that the binary search took us only 3 tries (we guessed elements 5, 8, and 9) to find our value, whereas it took us 10 tries (we guessed 0 through 9) with the sequential search.
To continue with the previous analogy, I like to think of the binary search as tire “clean room search.” In a clean room everything is stored in its proper spot. If you’re looking for something, you can walk right up to the proper spot and find it.
So it is with tire binary search. We cleaned up tire array by sorting it, and quickly found what we were look for.
Well, enough of this digression. Back to optimizing the DSM program.
In Figure 3, check_reloc32 has been rewritten to perform a binary search. As we discussed above, using a binary' search instead of a sequential search should greatly improve the performance of check_reloc32. Note that before we can use the new binary' search algorithm we must make sure that the array relocates is sorted. I made this change in a different part of the code, and used the qsort function from the Manx library to perform the sort.
How well did we do? Figure 4 show's tire profile made of DSM after the sequential search was replaced by the binary' search. As you can see, the check_reloc32 function went from taking 46.25% of DSM’s execution time (see Figure 1) to only
2. 58% (see Figure 4) of the execution time. Additionally, the
non-optimized version of DSM took a total of 531,212.28 milli
seconds to run (see the function _main in Figure 1) whereas
the optimized version took only 304,059-91 milliseconds (see
the function _rnain in Figure 4). This represents a 75%
increase in program speed. Not bad for a day’s work.
I guess all this talk about optimization has a moral to it when you really think about it. And the moral is this: Remember when your mom used to tell you to clean your room? She was right! Next time she tells yfou to do something, pay attention it may make you a better programmer.
That’s all for this month. Next month I hope to take up the controversial topic of C-program format. Until then void main() printff "Goodbye world. n" ) ; }
• AC* About the Author: Mr. Hankins is the President of OTC
Software, a small firm based in Fort Worth, Texas. It is
rumored that Mr, Hankins can be found on-line on CompuServe
(76515,1650), BIX (dhankins) or PeopleLink (OCS378) - that is
he can be found on-line on those rare occasions when be is not
otherwise engaged in making improvements to the DSM
disassembler.
LISTING ONE t Calls Self ms call %time Self + Chi!
Ms call Idren % t i me name 2912
84. 37
46. 25
84. 37
46. 25 check_reloc32 23014
2. 10
9. 10
5. 82
25. 22 format 206108 0,21
8. 10
0. 40
15. 60 aputc 206108
0. 13
5. 08
0. 14
5. 42 putc 12651
1. 69
4. 02 1,69 4,02 lookup_vaiue INTELLIGENCE IS A GIFT 3650 4,52
3. 10
4. 52
3. 10 1315 12,14
3. 00
12. 31
3. 05 68441
0. 20
2. 62
0. 37
4. 71 87046
0. 14
2. 22
0. 16
2. 59 8307
1. 24
1. 94
4. 25
6. 65 902
10. 40
1. 78
12. 50
2. 12 587
13. 96
1. 54
14. 12 1,56 address. If so an index to the array relocates, is
returned, otherwise -1 is r rag_seg_index write agetc getc
fgets label_operands lseek check_reloc32I address ) unsigned
long address ; (portion of profile omitted) int high_index,
index, low_index, princfl) ; * upper bounds of se * index
to array ¦ lower bounds of se * C function printf larch
4,30 0.00 531212.28 100.00 main arch (portion of profile
omitted)
0. 00 0.00 abort
0. 00 0.00
0. 00 0.00
0. 00 0.00
0. 00 0.00 dsm_err
0. 00 0.00 exit Figure 1: Profile of DSM Version 1.0c Before
Optimization * 1.0 initialise indices * iow_index = 0 ;
high index - num_relocates - 1 ; index * ( high index +
low_index ) 2 ; function : check_reioc32 arguments : address
- address at which relocation was done return : index to array
relocates[]I] discussion : check_reloc32 checks tc see if
relocation has been performed on the longword residing at
address. If so an index to the array relocates, is returned,
otherwise -1 is returned.
* 2.0 search for value * while( address !- relocates! Index ] ( 2 ] ( if( relocates! Index J [ 2 J address ) high_index ¦ index ; else low_ir.dex » index j index = ( high index + low index ) t 2 ; if( index low_index ) !
If( relocates! High_index ] [ 2 ] address ) index ¦ high_index ; else if( relocates! Low_index ) [ 2 ] !- address ) return( -1 ) ; ) 1 return! Index ) ; • * ) Figure 3: Binary Search Algorithm check_reloc32 ( address ) unsigned long address ; Self Self + Children I Calls ms call %time ms call %time name int i, * counter
- - - - • 23014
2. 12
16. 08 6.10
46. 17 format reloc32 ; * index to array relocates I] ] 206108
0. 21
14. 16 0.43
29. 19 aputc * 206108
0. 13
6. 92 0.14
9. 55 putc 1315
17. 51
7. 57 17.70
7. 65 write reloc32 » -1 ; 12651
1. 72
7. 17 1.72
7. 17 lookup_value for( i - 0 ; relocates! I ] [ 2 ] ? I++ ) 3650
4. 49
5. 39 4.49
5. 39 get_frag_seg_index I 68441
0. 20
4. 58 0.36 8,20 agetc if( address ¦¦ relocates! I ] ( 2 J ) 07046
0. 13
3. 85 0.16
4. 47 getc return( i ) ; 8307
1. 23
3. 37 4.23
11. 56 fgets ) 902 10, 3B
3. 08 12.49
3. 70 label_operands return! Reloc32 ) ; 567
13. 75
2. 65 13.92
2. 69 lseek 2912 2,70
2. 58 2.70
2. 58 check_reloc32 ) 3 2532,20
2. 50 4802.31
4. 74 qsort Figure 2: Sequential Search Algorithm (portion of
profile omitted)
3. 84 0.00 304059.91 100.00 main (portion of profile omitted)
0. 00 0.00
0. 00 0.00
0. 00 0.00
0. 00 0.00 _&bort
0. 00 0.00 dsm_err
0. 00 0.00 exit Figure 4: Profile cf DSM Verion 1.0c After
Optiir.ization
• AC- function : check_reloc32 arguments : address = address at
which relocation was done return : index to array relocates[][)
discussion : check_reloc32 checks to see if relocation has been
performed on the longword residing at Desktop Video PotrG WD
Adding the Third Dimension by Larry White We've looked at many
of the animation programs currently available, and so far, they
alt have one thing in common: two-dimensional movement.
We can move an object up, down, or across the screen, but, except for a few special polyfonts in Deluxe Video and Aegis Tider, we can’t rotate into the screen. Even though we’ve simulated a 3D effect by adding drop shadows and shading, the actual movement has been limited. Before we can enter the third dimension, we have to think in 3D.
Three Dimensional Thinking What’s so special about that third dimension? The complexity it adds to your animations may appear mind boggling at first. We can rotate an object along any axis, position (he viewer at any point, and look at the scene from any direction. This means we must define what each side of our object(s) look like, where our ’lighting’ is coming from, and even the object’s surface (dull, shiny, etc.) so the computer can calculate the proper shading for each frame. The object itself may consist of many individually moving parts, such as head, body, arms, and legs; and we can
move different objects in different directions.
We can even move our viewer and zoom in and out while the objects are in motion! The calculations can get so complex that one meg of RAM may not do, and even the Amiga’s 68000 microprocessor can often use help. If you plan to do a lot of 3D animation you'll want to pay special attention to the hardware enhancement box on page 53.)
Try the Real Thing Since the phosphors in a picture tube lay on a single plane (although it may actually be slightly curved), the picture on a video or computer monitor can only really have two dimensions, height and width. Shading, perspective and other graphic techniques can create an illusion of depth in a drawing or a still graphic image. Yet, when we start moving the objects within that image, the shading and perspective must adjust with each frame or the realism will be quickly lost. This becomes even more obvious when multiple objects move, changing the spatial relationships between
them.
To better understand the 3D world, let’s briefly step away from our Amigas, and turn on our video cameras.
(A still camera with through the lens viewing and a zoom lens will also work.)
Place a model car in front of a plain background and place a lamp to the front side. Set the camera to a close- up so the model fills about 2 3 of the screen. Start the tape, pick up the car and rotate it in various ways. (Tty to keep your hand from blocking the lens.)
Playback the tape and examine how die parts closest to the lens seem elongated and emphasized. At some angles, the car’s hood may seem distorted, and the parts closest to you will appear enlarged. Note how the shadows move as the car rotates, and how much detail there is on each side of the model.
Now place the model a long distance in front of a recognizable background. I placed mine on a railing and arranged the camera angle so that I could see a house about 1,000 feet away.
Set the focus on manual and focus on the model. Now, zoom in and out on the car and notice how the background stays in the same proportions, although you will see less of it as you zoom in and more as you zoom out. (This is because as you zoom you change the angle of view, but not the perspective of the scene.)
Now switch to autofocus and zoom to a wide or middle setting. Keep the model centered in the viewfinder and Chaim the position of tie object foe this htgfNM.
X mm the object left or right.
T woes the object up or dm.
Z mm the object war or far.
ZOON wrks the saw as Z. hat is TTTTVr ii-B'-ri:’ r ima mwh jepth NONE OFF 25 V t - 38 i X f i 2 ' 2' 01 bSAU ntftNI PRIORI!! LOGO DEPTH tCOLORS 10 0 1 TUMBLES “ ?
84. 28 IASI NOTION V • 1 f(V TURNS f TWINE CHECK
83. 21 SPINS i V Video Effects 3D a very convenient interface,
but works only with overscanned Hi-Res IFF screens in 2,4, or
8 colors.
(Bottom: Snapshot of an animation sequence created with Video Effects 3D) walk toward the car. (Unless you use a tripod on a wheels, your image might appear a bit shaky, but if you concentrate on holding the camera steady, the results should be sufficient for this exercise.) Notice how the background changes this time. Now back away from your model and watch again as the perspective changes. The closer the background is to the subject, the more these changes will be apparent. In film and video making this type of camera movement is called a dolly shot.
Now think of what would happen if the car were moving. To keep the car a constant size on the screen, the camera would need to follow the car at the same zoom position and distance. It would have to move parallel to the car, in the same direction and at the same speed.
Film and video techies call this camera movement trucking.
As the subject moves, its relationship to the lighting changes, moving shadows and highlights, and complicating matters further. As if all this weren’t enough, if you intend to place the animation over live video via genlock, you'll want to make sure that you match tire lighting to avoid having objects with shadows on opposite sides. As we enter the world of 3D animation we’ll need to keep these in mind to add realism to our computer generated videos.
The next time yrou watch television, pay special attention to the relationship between objects (people, cars, props, etc.) and the background during various scenes, Notice how they move relative to their background. Pay attention to camera motion and the sharpness (or lack thereof).
Entering the Third Dimension Let's start by moving a 2-dimensional object around in a 3-dimensional world. This technique is extremely useful for producing effective titles.
You can create a title screen using almost any paint or titling program that saves your art as an IFF file. Before you start, check which resolutions and screen sizes your animation package supports.
Also check for any special limitations on palette size or selection.
Two 3-D animation programs are Video Effects 3-D (InnoVision Technology) and AnimatiomEffects (Hash Enterprises). AnimatiomEffects can use any resolution IFF picture including overscan. You can even use HAM in low or medium resolution modes (although you can't mix resolutions at the same time). Personally, while I found this program very effective, I was not impressed by the user interface.
However, I expect an updated version soon, which claims a vastly7 improved user interface. Video Effects 3D has a very’ convenient interface, but works only with overscanned Hi-Res IFF screens in 2,4, or 8 colors. Both programs can create dramatic animation effects, but the actual processing time for your final image can be rather long, overnight is recommended.
I needed a short title sequence for a videotape of a roundtable discussion sponsored by Popular Photography Magazine. I wanted to use the actual magazine logo and a special logo for the “roundtable series” and have the title sequence blend with the live video at the end. I decided to try Video Effects 3D.
BeGinners Have you ever seen a GURU MEDITATION ALERT or a TASK HELD REQUESTER telling you that a program has crashed?
If you had GOMF in your system, you would have been able to remove the program that caused the error, and you may not have had to reset your computer!
"GOMF performs flawlessly...[it] is not a luxury, it's a necessity.....perhaps the most useful utility yet introduced for the AMIGA." -Amiga World Hypertek Silicon Springs 205-2571 Shaughnessy Street Port Coquitlam, B.C. CANADA V3C 3G3 Dealers: call for special prices!
Let’s Make Some Titles You can create the titles using any titling program (such as TV'Text, or Aegis VideoTitler) or using any paint program that can save the title screen as an IFF file. I chose to start with a high contrast, black & white copy of each logo, digitized them using DigiView. Just as I was getting started, a package arrived containing DigiView 3-0. In addition to supporting overscanned HAM images, DigiView has a special mode for digitizing just this type of “line an".
The program operates like version
2. 0; but specifying this mode forces all colors either black or
white; producing a very sharp Hi-res copy of the artwork.
When using this mode with overscan, I had some difficulty, so I decided to keep to standard screen. I could change it to overscanned later by loading the logo as a brush on an overscanned paint screen.
To prepare the digitized artwork for animation, you can use an image processing program such as Pixmate or Butcher, and or a paint program such as DigiPaint or Detuxe Paint II. Make sure to set the proper resolution and screen size for your animation program. Deluxe NEW VERSION !!!
It's amazing! Now, you can actually save data AFTER a program has crashed! (Even after a total lockup) We call it the GOMF BUTTON.
GOMF BUTTON $ 74.95 GOMF SOFTWARE $ 39.95 order toll-Free!
1-800-663-8526 Technical Support 604 524-1125 Paint II requires a 704 X 452 page size.
This is not the standard Dpaint overscan, but can be entered on the “page size" menu by specifying width and height.
For multiple graphics to appear simultaneously, make sure to use the same palette. If you don't, objects on the screen will suddenly change color as new objects are introduced in the animation sequence. Although you must define the entire screen for Video Effects 3D, during the animation, you can crop into the graphic screen and treat any part of the screen as if it were an IFF brush. If you plan to genlock over live video you'll need to watch where you place color 0, since this area will be replaced by the live video.
3D Effects Video Effects 3D requires at least 1 megabyte of PAM but 1.5 Meg is recommended. Depending on which Amiga model you have and the type and amount of expansion ram, you may need to change the stack and execute a SloMemLast command in your startup- sequence. The manual is very specific and easy to follow.
Experts
* Restores your memory and system resources after a crash.
* Remove tasks, processes and devices
* Use from WB or CLI.
* Includes pages of technical reference to assist you with your
programming.
"Anything that can stop this terrible [GURU] syndrom e deserves around of applause"
- Commodore Magazine ATTENTION PROGRAMMERS!
Do you have a great idea for a product for the AMIGA? Give us a call for more info!
Other Offerings: Deluxe MIDI Interface. Simply the best you can buy! Only $ 95 TTL monitor interface $ 99 Before you run the program, format 2 disks. Label one “Script Disk" and the other “Play File Disk". One minor drawback of this program is that you can't format with the program running. Also, if the program needs the disks it will not prompt you. Since the processing can take hours, it might be some time before you discover your error and have to start over, a very frustrating situation.
The basic principle of this type of animation is simple. You define the first and last frame of your sequence, and a few specific frames in between. You then specify what happens to your object between these “keyframes"; and specify how long the sequence should run. Your Amiga will then calculate each frame of the sequence and record the frames as an IFF Anim file for playback.
When you mn Video Effects 3D you'll get a slightly different type of Amiga-user interface. A screen of requester-type boxes and a round yellow mouse pointer will appear. There are no pull-down menus or Amiga Hotkeys, but if you position the pointer over one of the requesters a block of text will change to explain the current requester no clicking required. Click on the requester and the program goes into action.
First, define a script (or specify an existing one to edit). Then select various IFF pictures as your objects. Each object will form a separate track which will contain the motion of that specific object.
Several tracks can be running simultaneously allowing you to manipulate many objects in the same scene.
The 3D Universe Before we can even begin to animate we need to take the subject and place it in a 3D universe. A standard monitor screen can be thought of as a two dimensional grid. Conventionally we call the screen width the X axis, and the height the Y axis. In many of our 2D animations we used X-Y coordinates to specify the screen location of our objects.
We can specify the movement perpendicular to the screen as the Z axis.
We can specify the location of the object on the screen using only the X and Y coordinates. Changing the Z coordinate will move the object towards or away from the viewer.
Now we can turn the object in 3D space. If we specify ‘tumble’ the object moves in much the same way as a log rolling down a hill. You can see that the object is rotating on an imaginary pin placed along the X axis. If the pin were along the Y axis, the object would ‘Turn’ like the page of a book. Placing the ‘Spin’ is equivalent to turning a page upside down then rightside up. (Our imaginary pin would be pointing directly out of the screen). You can specify any number of tumbles, turns, or spins, and even have an object perform more than one at a time. For example, making an object tumble and
spin as it approaches the viewer can be a very dramatic way to introduce a tide.
By specifying the center of rotation for your object, you can get various effects of tumbles, turns, and spins. If you moved the center of rotation to the left edge of a block of text a turn effect would make the title move like a hinged door.
It’s often difficult to picture exactly what an effect will look like. I often reach for a small block of wood and turn and tumble it before instructing tire program to proceed. You can use a 1 4 screen wire-frame mode to preview an action between keyframes.
When you’ve programmed all your objects (tracks) you can place your playftle disk in the proper drive and begin rendering. Your Amiga will be tied up for quite some time, so be patient and prepare to do something else. When rendering is finished you can use the player program to view your work.
The resulting animation is usually amazing. Don’t be surprised if the result is not exactly as you predicted. Even the most expensive animation systems can produce unexpected results (although usually with much faster turnaround time), and sometimes these results are even more spectacular than you expected.
Video Effects 3D has a few more tricks we haven’t discussed which can enhance the 3D effect, like adding drop shadows to your animation. You can even use the program to extrude a two- dimensional logo into a three-dimensional one (as if it were carved from a block of wood) then use the 3D logo in your animation!
This brings us to the topic of the next installment 3-dimensional objects and the methods for creating them in your computer (including ray-tracing programs such as Stiver and Sculpt-3D).
• AC* Suppliers: Aegis Development 2210 Wiishire Blvd., 277
Santa Monica, CA. 90403 VldeoTitler, VideoScape 3D Electronic
Arts 1820 Gateway Drive San Mateo, CA 94404 Deluxe Video,
Deluxe Paini II Mimetics Corp 16360 Stevens Canyon Cupertino,
CA 95014 Frame-Grab Board Brown-Wagh Publishing 16795 Lark
Ave., Suite 210 Los Gatos. CA. 95030 Newtek 115 West Crane St,
Topeka, KS 66603 Hash Enterprises 2800 East Evergreen
Vancouver, WA 98661 DigiView 3.0, DiglPaint, Video Toaster
Anlmailon;Effect$ TV’Text, Express Paint Commodore Business
Machines 1200 Wilson Drive West Chester, PA. 19380 Expansion
Memory for Amiga Pacific Peripherals
P. O. 8ox 14575 Fremont, CA 94539 InnoVision Technology
P. O. Box 743 Hayward, CA. 94543 Video Effects 3D Subsystem,
Amiga Expansion Products Impulse Inc. 6860 Shingle Creek Pkwy.
110 Minneapolis, MN 55430 Eagle Tree Software
P. O. Box 164 Hopewell, VA 23860 Butcher Silver, Turbo Silver
Progressive Peripheral & Software, Inc. 464 Kalamath Street
Denver, CO 80204 Pixmate, Frame Grabber COMING SOON!
Look for the Amazing Product Guide: Winter ’89 on dealer shelves in December!
VIDEO SIDEBfIR Special Hardware?
The number of calculations in a 3D animation or ray trace can be astounding- On my A500 with 1 meg, a fairly simple object can take over 24 hours to be rendered at the highest resolution with anti-aliasing activated. I’ve added an expansion chassis from Pacific Peripherals which can accommodate 2 A2000 boards.
In one slot I’ve put Commodore's new 8 megabyte board (populated with 2 meg of fast RAM) which has helped speed things up a bit (I've already reserved the other slot for a video frame grab board - such as NewTek's Video Toaster or Mimetics’ board (both expected soon)).
I've been told that the new 86020 and 86030 chips plus math coprocessors can cut the calculation time dramatically, often to just a few' hours.
Not all software can utilize the coprocessing; if you choose this route make sure that the program versions you intend to use support the processor and coprocessors.
- Larry White A Complete Resource of Anything & Everything for
the Amiga!
The Amazing Product Guide: Winter '89 will be a complete descriptive listing of all products available for the Amiga. If you have appreciated the theme-specific product guide installments in past issues of AC, just imagine bigger and better chunks of information. The Amazing Product Guide: Winter '8.9 will feature longer, more detailed descriptions and even more products!
For only $ 4.95, you can have concise listings of the entire Amiga market at your fingertips! Just reach back to your bookcase, and you have all the information you need.
No fluff, no extras. Just the facts necessary to make the smartest purchase for your needs.
Where? Wljen? Hou ?
The Guide will be available on newsstands in December for $ 4.95. All our dealers, from Europe to Australia, from Canada to the depths of the darkest forests, will receive limited supplies of the Amazing Product Guide: Winter Sbalong with their December shipment of AC. From there, it's up to you.
Don’t Delay!
The Amazing Product Guide: Winter '89 will be a must for all Amiga users (fire- breathing or not), but your Amazing Dealer will sellout quickly! Amazing Computing readers digging for the most useful information in the Amiga market will make sure the shelves are cleared in no time.
So please don't delay this resource of anything & everything for the Amiga is a tool that no Amiga user should be without.
THE BUGS & UPGRADES COLUMN BUG BYTES by John Steiner This month’s list of bugs and upgrades begins with a mystery. A friend and i have the Amiga 2090 hard drive controller card, and we have had some trouble with overscan mode and hard disk access. We have also noticed a thread on People Link, regarding others having similar problems.
If you are a regular reader of Bug Bytes, you may recall that there have been a couple of upgrades to the software that comes with the 2090. The latest of these upgrades solves the problems my friend and I have been having. Problems occur in overscan mode, and they typically manifest themselves as irregular read write errors on the hard disk. It seems that information on the drive can be damaged, as 1 have been forced to reformat the disk on more than one occasion when the problem occurred.
While reading the People Link message base the other day, I noticed several messages from people still having trouble with hard drive errors in overscan mode. In fact, several even had problems with high resolution 640x400 mode in some software packages. The commonality in the problem relates to SCSI based hard drive systems, and there still seems to be a problem with drive access for those using SCSI drives. The drives used by my friend and I are ST- 506, the IBM-type hard disk.
1 hope not too many 2090 owners are unable to use the Amiga in hi-res and or overscan mode. If you have a 2090 and a SCSI drive, ! Am interested in whether or not you are having problems in high resolution or overscan modes.
Comments left on People Link usually say the problem occurs due to the behavior of the Amiga bus when the display is in hi-res, four bitplane mode.
In this mode, chip memory’ is not available to the CPU or to a DMA device during the unblanked display period. If the CPU or a DMA device tries to access chip memory, it is forced to wait until the horizontal blanking interval the only time chip memory is available. For each scan line of 63 microseconds, horizontal blanking lasts about 13 microseconds.
The 2090 disk controller is a DMA device, and therefore must deal with the above situation. The expansion software that comes with the 2090 evidently has been modified well enough to handle the ST-506 type drives, but from the above reports, it seems there still is a problem with SCSI-type units.
If you have a 2090 card and a SCSI drive in your A2000, please drop me a line via Amazing Computing, or at either of the nets listed below. Let me know whether or not you are having problems in high resolution or overscan modes. Please list the software packages you are having problems with; it seems that not all software works improperly with the SCSI hard drive 2090 combination. Also, several people with memory expansion boards were not having any problems if they used FastMemFirst as the first command in the startup sequence. There could be many other variations to this problem, so
please list all peripherals you are using.
A few weeks ago, I purchased Deluxe Productions from Electronic Arts and immediately had a problem with hard drive access with the program. The program runs in high resolution overscan mode. A call to EA technical support brought some assistance primarily the names of Dproductions’ developers at Associated Computer Services. When problems occurred, I didn’t realize they might be related to the FastMemFirst problem, but now I am convinced of it.
The technical support staff recommended that since I have expansion memory, I should put FastMemFirst in the startup sequence file before BindDrivers. This action cleared up the problem immediately.
On the subject of Deluxe Productions, I also noticed some minor problems in the documentation. One problem dragged me through several Guru visits.
The manual's AppendLx includes an excellent section for Dpaint II users interested in making the most of using Deluxe Paint with Deluxe Productions.
There is one error, however. The manual states that you specify the page size with the Page Size command in the pictures menu. It further comments that you can select Standard (640x400), Full Page (640x480), and Full Video (672x444). Full Video is recommended for pictures created in Deluxe Productions. Actually, Full Video mode in Deluxe Productions is 704x480. A pair of boxes is available where you can type in the exact page size, if it is not listed.
I had not really noticed the difference between what the documentation said about page size, and the size that Deluxe Paint listed; I simply chose Full Video. The results: pictures created for Deluxe Productions only occasionally loaded or were accessible. The machine visited the guru, and other strange or unusual symptoms cropped up. When I discovered the discrepancy in screen size, I edited the pictures to the 672x444 format that Deluxe Productions recommends. The program worked flawlessly.
By the way, the manual also states that Deluxe Productions accepts a picture larger than 672x444, but will not display any larger image. Based upon my own experience, this statement is evidently not true. At least, Deluxe Productions does not reliably accept a Full Video image from Deluxe Paint.
Tire FlickerFixer board from MicroWay is an exceptional product. The board is a high resolution display adapter that provides a 640x400 non-interlaced (flickerless) high resolution mode. The hardware requires a VGA or multi-sync monitor, and provides a beautiful Amiga image in any resolution mode. The latest version of the fliekerFixer is now compatible with the European PAL versions of the Amiga 2000.
Micro Way Box 79 Kingston, MA 02364
(617) 934-2414 Version 1.4 of ACCESS!, a shareware communications
program, has recently been released. A new feature is the
ability to read and use script files.
Occasionally, though, the program cannot find a script file. ACCESS! Seems to have trouble getting the actual drive location from the window that comes up with the on-screen gadget. Using the pull down menu item to get a script shows that die program is looking on the wrong drive. Change the drive location to the one you want, and the gadget finds die proper drive, ACCESS! Is on most public domain bulletin board systems.
GOMF from Hypertek Silicon Springs has been upgraded to version
3. 0. GOMF helps die Amiga recover from system Guru messages. The
latest version of GOMF can be purchased with the GOMF Button,
a hardware attachment installed under the Paula chip. A small
wire with a pushbutton is brought outside the Amiga, so it can
be accessed after a Guru message. When die system locks up,
the button releases the errant task and unlocks the machine.
The GOMF 3.0 Button with software retails for S69.95, and the
GOMF 3.0 software- only is 34.95. Registered owners of
previous versions can upgrade to the hardware version for
$ 30.00, and the software-only upgrade is $ 10.00.
Hypertek Silicon Springs 205-2571 Sbaugnessey St. Port
Coquitlam B.C. Canada VJC 3(73
(604) 942-4577 Lightning Logger from RTS soft-ware has been
upgraded to version
3. 0. The program now has faster, smaller code and can log to
RAM:, RAD:, VDK:, or VD0:. If you are a registered user of the
original, send your old disk and $ 5 for version 3.0 to: RTS
ELECPRON1CS
P. O. Box 9015 Cocoa FI.32922
(407) 631-9286 City Desk is now being upgraded to version 2.0,
The latest version includes text flow around irregular
graphics, auto hyphenation, and PostScript support.
Gray scales up to 16 shades are available on the output, along with four shades on the screen display. Registered City Desk users can upgrade for $ 35.
MicroSearch, Inc. 9896 Southwest Freeway Houston, TX 77074
(713) 988-2818 That’s all for this month. If you have any bugs to
report, or if you know of any upgrades to commercial
software, you may notify' me by w'riting to: John Sterner
c o Amazing Computing
P. O. Box 869 Fall River, MA 02722-0869 ...or leave Email to
Publisher on People Link or 73075,1735 on CompuServe
• AC* Meet a team of the friendliest financial organizers you’ll
ever run across.
Smart Scrolls for speed.
Money Mentor has a truly unique system tailed Smart Scrolls, that handles a diversity of otherwise tedious data entry functions and clips along saving you up to 70% of your typing time, it’s a smart addition to Money Mentor, that's why we call it Smart ScmUs.
When you want to manage your personal finances. Money Mentor goes a step beyond.
Plug Money Mentor into your Amiga and a virtual teamwork effort takes place in watching over every aspect of your personal finances.
The new "C" version of Money Mentor is the friendliest financial organizer obtainable today!
Now you can experience super-speed data entry, dazzling graphic output and an extremely friendly attitude!
SEDONA SOFTWARE SED0NA SOFTWARE 11828 RANCHO BERNARDO RD., SUITE 128-20 SAN DIEGO, CA 92128 CALL (619) 451-0151 Money Mentor Features:
• Net Worth Statement
• 200 Budget Categories
• .SO integrated Accounts such as Checking, Cash, Savings and
Credit Cards
• Elaborate Search Routine allows editing of transactions
according to your specific guidelines
• Automatic Check Printing
• Automatic Account Balancing
• Color Graphic Reports illustrating actual vs. budgeted amounts
• Over 50 Reports to choose from!
What they’re saying about us!
Money Mentor bas to be the nicest took anti feel of any money manager package far home use that bare ever seen," Amiga Sentry "Money Mentor is an excellent product •• Amazing Computing Money Mentor is for everyone!
It does more than just keep your checkbook balanced. Money Mentor helps you manage your personal finances which is important to any family or individual.
With Money Mentor, you can be looking better financially.
Order Money Mentor today.
Money Mentor sells for only $ 95.95!
For the Amiga user who has everything... What do you give the Amiga user who has everything? Well, there is one thing that every Amiga user desperately needs solid, useful, practical information. And you know there’s only one source for that kind of information -your Amiga monthly resource, Amazing Computing.
Each month, Amazing Computing connects creative, ambitious users to the power behind the Amiga. The Amiga has the potential to perform in endless computing arenas. Amazing Computing provides the Insight, detail, and examples you need to make the Amiga fit your needs and your dreams.
An AC Gift Subscription!
Ho, Ho, Ho!
AC goes beyond magazine staples such as product reviews, trade show reports, and interviews to get down to the core of users’ needs. Sure AC publishes unbiased, highly-regarded reviews and tasty industry wrhispers, but we really concentrate on hands-on applications. Step-by-step hardware projects, desktop video applications, down-and dirty-tutorials, and coverage of all levels of programming keep Amiga users reading AC each and every month. And for fun-lovers, AC also provides thorough coverage of those great Amiga games and other entertainment options.
Want to make an Amiga user happy year round? This year, give your Amiga enthusiast a priceless gift: solid, useful Amiga information. That rare commodity, information you can really put to work, can be found in only one source your Amiga monthly resource, Amazing Computing.
AMAZING REVIEWS_____i Amiga 2000 Hard Drive Roundup by Sheldon Leemon Last year's 20 megabyte hard drives cost over 51000, and ran only about 3-5 times as fast as a floppy disk.
This year, you can purchase a 65 megabyte hard drive system for the A2000 which runs from 5 to 10 times faster than last year's models; and sells for under S1000. And soon, you’ll be able to boot your computer directly from the hard drive, instead of from a Workbench disk.
The speed increases have been made possible by the Fast File System, a software change that was one of the main agendas of Workbench 1.3 (which we all fervently hope will be available by the time this is printed). We have already detailed the optimizations used to increase the speeds in our the hard drive roundup of AC V. 2,6. To use the FFS with a hard drive, you must copy the FastFileSystem file to the L: directory of your boot disk, change a few entries in the Devs:Mountlist file, and then reformat the drive.
Not only does the new file system increase speed many times, it also increases capacity slightly, since all 512 bytes of each data block are used for data, instead of the 488 bytes available under the old file system. This means an extra 50K of storage for each 10 megabytes of drive capacity. Although it's technically feasible to use the FFS on floppy disks, it’s still quite cumbersome, and the speed gains are not anywhere as dramatic as those achieved by hard drives. Kickstart 1.4 should overcome both these limitations; and it will include the FFS as the default file system for both
floppies and hard drives.
Kickstart 1.3 also offers autoboot- ing. In fact, the only difference between Kickstart 1,2 and 1.3 is the autoboot code added to 1.3. Autoboot allows the computer to start up from devices such as hard drives, network cards, and even Commodore's new recoverable RAM disk, without having to have a floppy in drive dfO:. This means that only hard drive owners who want to autoboot will benefit from getting the new 1.3 ROMs.
But just getting a new Kickstart ROM will not automatically cause your hard drive to autoboot. The hard drive interface card must include boot code in ROM. None of the controllers currently sold come with these boot ROMS. Some controllers have sockets on the board, just waiting for the new Kickstart ROMs to be distributed. Even some of the interface boards which don’t have these ROM sockets may be retro-fitted to enable auto-booting. Since the FFS must still be read from a disk before a Fast File partition can be mounted, the boot partition must be formatted with the old file system.
Therefore, most autobooting drives will have at least two partitions, a small boot partition and a large Fast File partition.
There are a number of reasons for today's lower prices. The Amiga 2000 made it possible to install a hard drive internally, thus eliminating the expense of an external case and power supply.
The 2000's internal expansion capabilities have also made it easier for manufacturers to enter the Amiga hard drive market, since they need only produce an interface card and driver software.
Increased competition between manufacturers has tended to move prices lower.
Finally, the market prices for hard drives, particularly the SCSI hard drives often used in the Amiga, have decreased while capacities have increased. As a result, Amiga owners wall no longer have to pay twice as much for hard drives as owners of IBM compatible systems do.
Amiga SCSI drive systems cost only about $ 150-5200 more than the IBM ST- 506 drive systems, and mounting one on the Amiga costs about the same as mounting a fast SCSI drive in an IBM.
To DMA or not to DMA The interfaces tested use two general types of data transfer schemes DMA and processor-con!rolled I O. In processor-controlled I O, the 68000 microprocessor is used to read each byte of data from an I O register, and then copy it to a memory' buffer. Direct Memory Access (DMA) transfers, however, don't require the processor to fetch each byte. DMA devices can write directly to a memory buffer within the Amiga, without processor intervention.
Normally, DMA devices and the 68000 alternate their control over the bus, so that neither interferes with the normal- speed operation of the other.
Theoretically, DMA devices can transfer data without slowing down any of the processor’s normal tasks. This approach can lead to significant performance improvements in a multi-tasking machine like the Amiga, where time saved by one task can tie used by another. In fact, it's just this kind of “coprocessor" approach that make Amiga graphics acceptably fast within a multitasking context.
Unfortunately, a number of re?'
World conditions prevent the user from getting DMA data transfers “for free". For one thing, each transfer requires some processor overhead, as the driver tells the DMA chips how much information to move, and where to transfer it. After the data has been moved, the system, must be informed that it has arrived. Therefore, a DMA interface demonstrates its greatest speed when moving large amounts of data. The overhead involved may make it less efficient to use DMA to move small amounts of data than plain old processor-controlled I O.
Another potential problem with DMA is that there are onlv so many bus cycles to go around. Normally, the 68000 processor controls the bus half of the time, and the other half is available for DMA devices. Unfortunately, the hard disk isn't the only device competing for the bus. The display processor, the blitter, the sprites, the audio channels, and the floppy disk drives all use up part of the available system bandwidth, When die normal Workbench screen is displayed, there is usually enough time for each device to do its job without interfering with the odiers. But when the system is
displaying a liigh- resolution screen with 8 or 16 colors, and an overscan width of 700 or more pixels, system resources are stretched a bit thin, even without a DMA hard drive making additional demands. In such situations, DMA hard drive interfaces are likely to slow down significantly, and possibly even develop timing problems.
Two things most people expect from DMA hard drive interfaces are speed and concurrency. But just because an interface uses DMA transfers doesn't mean that it is faster, or better integrated into die system than one that doesn’t. A lot depends on the driver software.
For example, in our first hard drive review, we stated that non-DMA drives tended to affect multi-tasking, as seen by the jerky mouse while the drive was being accessed, and only one program at a time being able to access the drive (one DIR command would have to wait until the other had completely finished before starting its listing).
However, neither of the two non- DMA drives tested here exhibited those symptoms, while some mouse jerkiness was evident with the Pacific Peripherals DMA controller (though the company claims it is remedied in the latest version of the software). It is best, therefore, to be guided by a hard drive system’s performance, rather than by buzzwords. It makes no more sense to base your hard drive buying decision on the letters DMA than it would to base your computer buying decision on the letters IBM.
About the Tests Each interface was installed in the same Amiga 2000 with the same 63 megabyte hard drive. The drive was formatted each time, and partitioned into three logical drives of 20, 33, and 10 megabytes each. The partitions were partially filled using the LV Backup program to restore several megabytes worth of files. The system was nan with each interface for at least a week, to make sure that no serious problems arose in normal operation.
Several benchmark tests were run using each interface. The first was the ever-popular “Diskperf program that we used in the previous hard drive comparison, Trfis program times various operations, including creating and deleting files, scanning directories for file entries, moving the read head (seeking), and reading a olock of data. It also measures the speed at which the drive reads and writes data blocks of varying size (from .5 Kilobytes to 32 Kilobytes). It also measured the total time it took for the Diskperf program to run; to provide an overall indication of how quickly the drive
performed the tasks. The results of the Diskperf test are shown in Table 1.
Running Diskperf by itself doesn't indicate how a drive interface will perform in a multi-tasking environment.
Therefore, other tests were devised. The first measures the drive performance under “he avy DMA” conditions.
Fot this test, two programs were run in the background while Diskperf was run. The first program displayed a 704 x 464 overscan picture with 16 colors. The second program, Sonix Play, played a 4-voice music score. Although this is not a typical example of how most people use their Amiga, it isn’t really flickerFixer eliminates your Amiga 2000’s interlace flicker and visible scan lines. The result; superior quality color or monochrome graphics and text for a full range of demanding applications, including CAD, desktop publishing, graphics, animation, and video.
FlickerFixer fits into the Amiga video slot, is fully compatible with all user software, and does not modify the standard Amiga video signals. The board also upgrades the AMIGA 2000 with a flicker free 4096 color palette, has an overscan mode that features a screen size of 704 x 470 pixels and drives most of the popular PC Mjltiscan and VGA monitors, including the NEC Multisync and Mitsubishi XC1429C.
Reviews are impressive: AMIGA GURU 6 88: "The display is fantastic ... It is the best displcy we have ever seen on any computer system." AmlGAWORLD 5 88: "Our writers loved it .. . Compare the difference between night and day!"
MdkBirFixer™_____ Advanced Graphics Adapter For The AMIGA® 2000 flickerFixer is priced at $ 595. It is made in the USA by Microway, Inc. For more information or to order, call Microway Sales at (508) 746-7341 or your Amiga Dealer.
¦¦ gm m P.O. Box 79 32 High St., NOW FCC W CrOVI clKingston , MA 02364 USA Kings-Upon-Thames, U K. CLASS B APPROVED
(508) 746-7341 01-541-5466 extreme. Some of the flashier video
presentation programs combine large overscan displays with
music; and the presentations created with these programs
often require a large amount of data to be read in almost
continuously off of the disk. The results given by the
Diskperf program when run with sound and graphics in the
background are shown in Table 2, A third Diskperf test was
designed to show how processor-intensive tasks affected
disk performance, and vice- versa. For this test, a variant
of Perry Kivolowitz's RAMspeed program was run continuously
in the background while Diskperf executed. This program
tests the speed of expansion RAM versus Chip RAM by timing
a large number of processor memory move instructions.
Since this program continuously uses the processor (without waiting for user input), it shows how the drive interface handles competition for processor time.
And since it times a fixed number of operations, it also can be used to see how the drive activity affects a concurrently running application program. The results of the Diskperf tests, and the Ramspeed timings, are shown in Table 3- Since benchmark programs like Diskperf tend to test artificial situations, we also performed a series of tests designed to correspond more closely to the operations real users routinely perform. The first test measured the time it took to copy an entire disk full of files to and from the hard drives. The disk in question was the Omega 6 version of Workbench 1.3,
with 178 files in 21 directories, some 714 Kbytes in total.
The next test measured the loading time for loading an 84626-byte high-res overscan picture into Deluxe Paint II. This test was something of a ringer, as it was designed to demonstrate an interesting quirk of the Commodore 2090A driver. Since Dpaint has no timing facilities, this timing was done with a stopwatch (the other timings were done with the same "Time" program used in the previous review). The final test measured the time it took to load and execute a 100,000 byte dummy program (100K of data and an RTS instruction).
All tests were run using the Fast File System from a pre-release version Omega 6 of Workbench 1.3. Although Fast File was not quite released at test time, it is so much faster than the old file system that it seems unlikely many hard drive owners will stick with the original system once the new one becomes available. Under these circumstances, we felt that testing the interfaces with the old file system wrould render this comparison obsolete as soon as it was printed.
Since the original round of hard drive comparisons included other devices such as the dfO: floppy drive and the RAM: device, we decided to include the newest virtual drive, RAD:, the recoverable RAM disk from Workbench 1.3. Note that the times shown were for a RAD: drive formatted using the Fast File System. That’s right, to use FFS on RAD:, you must first format the RAM drive.
The speed difference is fairly dramatic.
Using the old file system, RAD: is slower than most of the hard drives tested here.
Using the FFS, it’s quite a bit quicker.
Anomalies, Inconsistencies, and Mysterious Occurrences Considering the preliminary nature of the FFS, and the relative newness of 2000 hard drive systems, surprisingly few problems were encountered. A couple of boards seemed to function inconsistently when used with the Micron 2 meg expansion board, but only when the FastMemFirst program was run before the drive was mounted.
Great Valley and Supra are both making minor hardware changes to eliminate this problem. We also ran into trouble trying to run the JDK Images’s Pro Video Plus program from the hard drive. None of the interfaces could successfully load the program more than 50% of the time. No problems were encountered with loading and running any other programs.
Test Summary As expected, the DMA controllers (Commodore 2090, Pacific Peripherals Overdrive, and Supra A2000 interface) showed somewhat faster results from the Diskperf program than the programmed I O controllers (Great Valley Products Impact card, and C Ltd.), particularly in the large buffer reads. A look at the overall time Diskperf took to execute in each case show's that the differences are not all that great. The Supra and Commodore 2090A interfaces turned in the best times, but the processor-controlled C Ltd.
And GVP boards took only 18-23% longer to complete the task. Pacific Peripherals' Overdrive board took the longest, probably due to its rather slow writes.
When it came to multi-tasking, however, the results were much different. With graphics and sound running de Magazines Bienveuue au monde stupefiant de Amazing Computing™ - un des magazines les plus iinportants pour les utilisateurs du Commodore Amiga aux Etats-Unis. Amazing Computing™ fut le premier magazine a documeuter CLI, le premier magazine ayant developpe le projet d’extension memoire 1 Mega pour Amiga , et le premier magazine a offrir line assistance serieuse de programmation.
Ne refusez pas a cette large partie de votre clientele anglophone, ce magazine qui Ieur fournira la plus complete information eur l’Amiga. Venez et devcnez membre de notre monde stupefiant comme tnarchnnd ou annonceur.
Pour dcvcnir un Amazing Dealer ou un Amazing Advertiser, nous vous prions de vous mettre en contact avee: Marie A. Raymond Coordinatrice Internationale PiM Publications
P. O. Box 869 Fall River, MA 02722
(508) 678-4200
(800) 345-3360 FAX: (508)675-6002 Amazing JL JL computing’C7 Your
Original AMIGA Monthly Resource 55 Practical Applications
for Your Spreadsheet!
Available for Analyze!, Logistik, MaxiPlan, and VIP Professional.
* Try it for 30 days on our no-risk money-back guarantee.
• Increase control of your finances.
• Very easy to use.
¦Ready-made templates save time.
• Adapted for your program.
• Flexible and affordable.
Over 50 worksheets for personal finance, home office, small business, real estate decisions, etc. in one package. Specify which spreadsheet program and disk drive you have.
Only $ 24.95 (before Jan. 1, 1989) To order, send check money order to: The Sterling Connection Box 4519 Berkeley, CA 94704 Or order by phone:
(415) 655-2355 Mastercard and Visa accepted, California res. Add
$ 1.75 sales tax.
Concurrently, the Commodore 2090A drive became much slower than any of the others. Although the two other DMA cards, the Overdrive and Supra interfaces, didn't slow down anywhere near as much, both caused the music player program to play the song slower than normal. Also, the Supra unit caused the overscan display to "tear momentarily, several times during the course of the test. No processor-controlled C Ltd. Or GVP board exhibited these problems.
The Great Valley Impact card clearly came out the best in this test: it took twice as long to complete die Diskperf program as in the previous test. The others took anywhere from 2 1 2 to 7 times as long.
The results of the processorintensive test also fall into line with our observations about DMA and processor- controlled interfaces. The DMA boards were hit hardest during short reads. In the I 2K buffer test, both the 2090A and Supra cards went from 60 Kbyte second reads to about 8 Kbytes second. In the larger buffer tests, however, the DMA cards slowed down much less, and slowed the RAMspeed task down much less as well. The processor-controlled GVP interface was much less affected during short reads, but slowed the other task down more, particularly during the large reads and writes.
The miscellaneous tests in Table 4 put these other tests into perspective. As the other tests show, there is a maximum 20% speed difference between the various controllers for tasks like copying files. Thus, while tire fastest controllers loaded a 100,000 byte file in a bit over 71 10s of a second, the slowest took a shade over 1 second. Not exactly what you'd call a monumental gap, particularly when you consider that the fastest of these boards are nearly half as quick as the RAM drive.
Note that the results given here are by no means cast in stone. All of the hard drive interfaces tested here are fairly new, and changes to the driver software are as inevitable as death and taxes. Such changes can cause big variations in the test results. An early version of the Supra software read a maximum of 50 Kbytes per second; the latest version's top speed is almost 6 times faster.
Conclusion The good news is that all hard drive systems tested performed much better than those in our first test. Not only were they much faster (thanks to the new file system), but they performed more reliably as well. Not once in over 2 months of testing did I get the dreaded “Drive dhO: has a read write error" or “Not a DOS disk in unit 1” requesters.
The previous generation of drives were much more fragile, and prone to failure in the course of normal operation. The improved reliability of the drives and the availability of good backup programs like LV Backup means that the prudent Amiga owner need no longer fear catastrophic data loss should he switch to a hard drive.
Picking any one of these products, however, is a complex task. Even if you take the rather simplistic approach of picking the fastest drive interface, the question becomes, fastest under what conditions? Though the Diskperf results in Table 1 suggest that the Commodore 2090A is the fastest controller, the results in Table 2 shows that under certain conditions, it's the slowest.
And speed is by no means the only factor on which to base your decision. Price, features, and manufacturer support must be considered.
Compatibility is another very important issue. Though most manufacturers test as many configurations as they can think of, there are bound to be some combinations of memory boards, processor accelerators and emulator boards that they haven't tested. This makes it important to buy your hard drive system from a dealer who will make sure it works properly with your equipment, or exchange it for one that will.
Despite the difficulty, if pressed to make a decision, I’d probably pick either the Supra or Great Valley Products Impact board. The Supra interface is one of the fastest tested, and was among the least affected by the DMA and processor tests. Its price is among the lowest.
The installation software supplied with the board makes the drive easier to set up than any of the others (though most of the companies are in the process of enhancing their installation software).
The board has sockets for autoboot ROMs, so t should be easy to upgrade once 1.3 Kickstart ROMs become available. The most significant negative factor was the minor quirk mentioned in the discussion of the graphics and sound test. Considering the newness of the product, it seems likely that such problems will be ironed out when the software undergoes fine tuning.
The Great Valley SCSI interface was by no means the fastest one tested, but it was he most consistent. Because its performance figures changed so little during the graphics and sound tests, this board would be a good choice for those who do a lot of presentation graphics and video work. Like the Supra card, it includes the ROM sockets needed for autobooting. Great Valley makes this interface available in a number of convenient formats expansion RAM interface combinations, hardcards, and a 500 hard drive expansion RAM combination. Some of the hardcard configurations should be quick, since
they use fast Quantum and Conner drive mechanisms.
In the end, though, you’ll have to make your own decision. There are a number of reasons why your choice might not agree with mine. Some people won’t mind paying for the warm, fuzzy feeling they get from buying a genuine Commodore product for their 2000.
Others will like the convenience of mounting their own 3 1 2" hard drive directly to the Overdrive board to custom-make a hard card. And for those who plan to buy the Dest scanner or laser Xpress printer, the C Lid. Board would be the natural choice for a hard drive interface. Whichever you select, rest assured that you'll be getting your money's worth. With a fast hard drive in your system, you will be constantly reminded of what a powerful personal computer the Amiga really is.
The Commodore 2090A Hard Disk Controller The 2090A is the updated version of the 2090, the original DMA hard drive controller for the Amiga 2000. The only real difference between it and the 2090 is that the 2090A has a couple of sockets for the ROMs needed to autoboot the system from the hard drive (provided, of course, that you have the 1.3 Kickstart ROMs). Though the ‘A’ version of the controller was not yet available when this review was written, it is in production, and should soon become the official Commodore hard drive interface product. Those inclined to purchase a Commodore
controller should note that at present, Commodore has no plans to retro-fit an auto-booting capability onto the earlier 2090 controller. Owners of the 2090 card may be able Lo add autoboot- ing capabilities through third party products, however. Both M.A.S.T and Michigan Software are planning to market static RAM modules that you can boot from, for example.
The 2090A is unique among the controllers tested in that bodt SCSI and ST-506 interfaces come standard on the board. It allows you to connect up to two IBM-style drives and seven SCSI devices up to your Amiga 2000. This much flexibility doesn’t come cheap, however. The 2090A lists for S399, more than any of the other interfaces tested.
For purposes of comparison with the other SCSI controllers, only the SCSI interface was tested.
The 2090A comes on a full-sized A2Q00 card, about 4 1 2" high. The component side of the controller card includes a 50-pin SCSI connector, and two ST-506 drive connectors. The mounting bracket on the edge of the board carries a 25-pin connector for external SCSI devices. Physical installation of the hard drive system requires you to mount the drive in either a 3 1 2" or 5 1 4" drive bay, plug the power cable into the drive, connect the drive to the interface via a 50-pin ribbon cable (not included with the 209QA), and plug the drive into one of the 2000's 100-pin slots.
Software installation is relatively simple. The disk that comes with the controller hardware contains an installation program that can be run from an icon. This program takes you through low-level formatting, and installs the software needed to boot die drive on a copy of your Workbench disk. After the installation program finishes, you must run the AmigaDOS FORMAT command from the Cli before you can store any information on the drive. The entire installation process is well documented in the manual.
Although the installation program that comes with the controller is fairly good, it has a number of significant limitations. The program’s format is more like the old-style PC applications than Amiga applications. It asks you a number of questions, one after the other, and has you type in the answers, rather than the normal Amiga procedure of setting up text gadgets and allowing you to fill each one. This means if you make a mistake, you can’t go back to the previous question. Also, the installation program asks you to choose the drive type from a list which does not contain several of the
more popular SCSI drives. For drives like the Seagate 277N, you must fill in the number of heads, tracks, and sectors per track. While this information usually comes with die drive, it isn’t the kind of thing the average user knows.
Nor does the software help much with partitioning the drive. The installation software sets up a default partition (DH2: for SCSI drives), but if you want to divide the drive into additional partitions, you must edit the DEVS:Mountlist file.
Here, the information on the number of heads and sectors per track is critical if you don’t know it, the drive won’t format. Since DH2: becomes the boot partition when autobooting is enabled, it cannot be formatted with the Fast File System. Therefore, if you use the FFS on the 2090A, you’ll have to learn how to partition the drive.
Although ! Have the 1.3 Kickstart ROMs, the 2090A didn’t actually boot my system from the hard drive automatically, That’s because the 277N drive takes so long to warm up that when the controller looked for the drive, it wasn’t ready yet, and the "Workbench 1.3” prompt screen appeared. A warm reset (CTRL-AMIGA- AMIGA) allowed the boot process to succeed, however, and later versions of the boot ROM will probably may wait longer before timing-out. It should be . COMPUTING" | Your Original AMIGA Monthly Resource All Foreign Computer Stores Magazine Dealers Welcome to the amazing world of
Amazing Computing™ - one of America’s leading magazines for Commodore Amiga users. Amazing Computing™ was the first magazine to document CLI, the first magazine with a 1 Meg Amiga upgrade hardware project, and the first magazine to offer serious programming assistance.
Don’t deny your large English- speaking audience the kind of magazine that will provide them with complete information on the Amiga.
Come and join our Amazing world as either a dealer or an advertiser.
For details 011 becoming an Amazing Dealer or an Amazing Advertiser, please contact: Marie A. Raymond International Coordinator PiM Publications
P. O. Box 869 Fall River, MA 02722
(508) 678-4200
(800) 345-3360 FAX: (508)675-6002 Table One: Results of Diskperf
Program (Operations Second) Fto Create S3 Re Delete 9 Dir
Scan ? Seek Scan 2090A Supra OverOitve GVP C Ltd RAD: (FfS)
Pile Create 12 sec 13 sec 12 sec 13 sec 10 sec 55 sec File
Delete A l sec 22 sec 20 sec 20 sec 17 sec 100 sec Dir Scan
102 sec 100 sec 96 sec 98 sec 104 sec 1100 sec Seek reads
82 sec 87 sec 75 sec 59 sec 86 sec 209 sec Dlskperf Time
(seconds)
lllll.
2050*1 ScpfO OverDftve GVP C Ltd RAD: (FFS) 51! Byte butler Read (Kb sec)
55. 6
62. 4
27. 8
28. 7
58. 2
160. 0 Write (Kb sec)
27. 5
26. 9
26. 7
27. 5
41. 3
150. 6 4K butter Redd (Kb sec)
106. 7
142. 2
142. 2
159. 6
116. 4
640. 0 Write (Kb sec)
134. 7 1279
58. 1
88. 2
69. 2
426. 7 8k butter Read (Kb sec)
162. 3
213. 3
213. 3
159. 6
142. 2
853. 3 Write (Kb sec)
150. 6
160. 0
56. 8
111. 3
64. 0
512. 0 32k butter Read (kb sec)
320. 0
284. 4
256. 0
170. 6
170. 6
1280. 0 Wrtte (Kb sec)
232. 7
196. 9
60. 9 1219 71,1
640. 0 Dlskperf Time (seconds) 107,3
107. 2
152. 2
133. 8
129. 1 349 Results of Dlskperf program with 4-volce Sonix Play
song and 704 x 464 x 4 overscan display running concurrently
Table Two: Results of Dlskperf Program (Operations Second)
2090A Supra" OvetO live’ GVP Cltd RAD: (FFS) File Create
5 sec 7 sec 6 sec 6 sec 6 sec 25 sec File Delete 12 sec
10 sec 6 sec 12 sec 8 sec 40 sec Dir Scan 35 sec 20 sec
13 sec 34 sec 24 sec 28 sec Seek reads 24 sec 23 sec 21 sec
25 sec 25 sec 56 sec 512 byte butter Read (Kb sec)
20. 3 179
12. 3
17. 9
20. 8
44. 1 Write (Kb sec) 149
13. 9
11. 4
16. 6
17. 8
36. 0 4k butter Read (kb sec)
28. 1
62. 4
23. 7
77. 6
39. 4
256. 0 Write (Kb sec)
36. 1
49. 2
20. 6
67. 4
28. 4 1969 8K butter Read (Kb sec)
19. 5
106. 6
27. 2 106,7
44. 1
284. 4 Witte (Kb sec)
27. 2
71. 1
23. 8
75. 3
31. 6 1969 32k buffer Read (kb sec)
4. 1
196. 9
49. 2
134. 7
38. 2
512. 0 Wrtte (Kb sec)
3. 1
106. 6
35. 0
102. 3
22. 1
284. 4 Dlskperf Time (seconds)
761. 9
277. 9
462. 2 2489
358. 3
113. 8 ¦ Sonlx Play song slowed down during disk acivrty " Sonix
Play song slowed down, and momentary screen glitches were
noted during disk actiytly Table Three: Results ot Disk pert
Program (Operations Second) 2090A Supra OverDrive GVP Cltd
RAD: (FFS) File Create 9 sec 5 sec 6 sec 3 sec 5 sec 7 sec
File Delete 32 sec 10 sec 11 sec 19 sec 10 sec 25 sec Dir
Scan 4 sec 4 sec S sec 5 sec 4 sec 4 sec Seek teods 7 sec
7 sec 7 sec 10 sec 6 sec 8 sec 512 byle butter Read (Kb sec)
8. 0
7. 3
8. 2
18. 5
6. 9
8. 0 Write (Kb sec)
17. 5
6. 8
7. 8 18,3
6. 6
8. 8 4K butter Read (Kb sec)
67. 4
54. 5
68. 2
116. 4
60. 2
64. 0 Write (Mo sec)
102. 4
48. 3
36. 0
64. 0
37. 6
77. 6 8K butler Read (Kb sec)
121. 9
91. 4
85. 3
85. 6 77,6
121. 9 Write (Kb sec)
106. 7
82. 6
40. 0
71. 1
45. 7
116. 4 32K butter Read (Kb sec)
284. 4
196. 9
160. 0
134. 7
150. 6
512. 0 Write (Kb sec)
182. 9
160. 0
53. 3
106. 7
65. 6
320. 0 Average Ramspeed time On seconds) (run witti diskperf)
64.2
69. 2
77. 4
77. 4
69. 9 6C.6 (run alone)
59. 1
57. 4
57. 8
57. 8 57,2 57 2 Average Ramspeed Time (in seconds) Table Four:
Miscellaneous Tests 2990A. Supra OverDrive GVP C Ltd RAD;
(FFS) Time to copy 178 files In 21 directories 714K bytes
total (in seconds) dflitodhO: 194.5 195.5 207.3 196.8 201.7
164,8 dhO; to dhl: 76.7 86.3 97.7 92.2 36.9 -- dhO: to ram:
31.4 31.9 36.2 35.8 37.0 19.)
Time to toed a 704 x 466 x4 picture Into Deluxe Paint II (84626 bytes) (In seconds) 53.66 4,5 6.5 6.3 5.6 3.8 Time to toad 10GK program (seconds) 0.63 0.73 0.79 1.03 1.05 0.42 Time to load a' 1 G0K program (in seconds) Time to copy 178 files In 21 diectories 714K bytes total (in seconds) 51 Norwich New London Turnpike Rte 32 Quaker Hill, OT 06375 We take a byte out of the price Not out of your pocket!
Amiga is a registered name of Commodore Amiga, Inc. noted, however, that with the version tested, die boot process took quite a long time. The screen stayed white for almost 30 seconds before I got the Workbench prompt, and for a while, I was afraid that I'd plugged something in the wrong way and fried the computer.
The 2090A performed quite reliably during testing. Prior to this reviewc I had a number of bad experiences installing SCSI drives with the Commodore 2090 controller. The early versions of the driver software were extremely unreliable, particularly when the controller was used with the faster SCSI drives. Read write error messages turned up quite frequently, and the drive absolutely refused to load l6-color high- res pictures from Deluxe Paint U. I was almost ready to give up on it completely, when I received a new version of the driver software, dated May 5- This version completely
eliminated the read failures.
Although the 2090A no longer fails in situations where the timing becomes tricky, it still doesn't perform very well in such cases. Normally, this controller is one of the fastest ones tested. But when a high-res, 16 color screen is displayed, the transfer rate drops to 15% of normal, or less.
While the new version of the driver no longer fails when trying to load a 640x400x4 picture from Deluxe Paint n, it takes an extraordinarily long time to do so. As Table 4 show's, it took the 2090A almost a full minute to load an 80K file, about ten times longer than the other drives. This particular problem seems confined to Dpaint II, however; the 2090A loads the same picture in other paint programs with no trouble.
At this point, there aren't many compelling reasons for the average user to select the 2090A. For those who only want to connect SCSI hard drives, the 2090A is about 40% more expensive than similar SCSI adapters, and offers no real substantial advantage. Users who want to hook up ST-506 drives can buy a Supra SCSI interface with an ST-506 to SCSI adapter for about the same price. Such adapters improve the performance of the ST-506 drives by providing a RAM buffer which increases transfer speeds, and RLL data encoding, which increases the storage capacity by 50%.
For those who don’t mind a bit of extra expense, however, the 2090A is about the fastest controller available, at least in the Workbench environment.
Another attraction is that it's made by Commodore, and is therefore tikely to be compatible with the widest range of Commodore and third-party peripherals.
For those who rest easier knowing that their 2000 contains only genuine Commodore parts, the 2090A is a reasonable choice.
Commodore 2090A Hard Disk Controller Suggested Reta il Price S400 Commodore Business Machines 1200 Wilson Drive West Chester, PA 19380 The Great Valley Products Impact SCSI RAM Controller Although Great Valley Products is a relatively new company, it’s not unfamiliar with the Amiga market. Gerard Bucas, the company's president, was formerly a Vice President of Engineering at Commodore's West Chester offices.
Great Valley’s first product is a unique combination RAM expansion SCSI interface board for the Amiga 2000.
Originally, the board was to have come populated with 1 megabyte of memory in 256K RAM chips. Unfortunately for GVP (and just about everybody else), the introduction of their board coincided with a shortage of 256K RAM chips that forced them to re-think their strategy.
They now offer the controller in two flavors, one that holds up to 2 megabytes of the more cost-efficient megabit chips (256x4), and one that holds up to 1 megabyte using 256x1 chips. Both boards are sold without memory chips, so that you can add the memory yourself, either now, or later, when the price of RAM (hopefully) drops. We tested the 2 megabyte version, with no memory installed.
The Impact board is solidly built and nicely finished (the ends of the edge connector have been beveled for easier insertion, and the 25-pin external SCSI connector is riveted, as well as soldered, to the board). ’Hie sixteen sockets for RAM chips line up against the top edge of the board, and two jumpers are used to set the RAM configuration. The card also has two sockets for autoboot ROMs, though the ROMs were not available for testing at the time of the review, A 50- pin SCSI cable is included for connection to an internal drive.
The board comes with both a printed manual and an installation disk.
The manual is extremely thorough, covering the mechanical installation of the controller and the hard drive, the software in.tialization process, RAM installation, multiple SCSI devices, and setting up various hard disk partitions.
The manual contains a lot of nice extras like a description of the elements of a Mountlist entry, and pin-outs of both the 25 and 50-pin SCSI connectors. It is also is the only one I've seen that warns about shutting down a drive too soon after drive activity. This is a warning well worth heecling, since a delayed xvrite may occur a few seconds after a longer write has finished. If you turn off the power before all write activity has ceased, the results may be as disasterous as pulling out a floppy disk before the red light goes off corruption of the disk, and loss of all the data on it.
Initializing the disk and creating a boot disk are done using script files, activated by icons from the Workbench.
In the current version of the software, however, the Devs:Mountlist file is set up for one or two 20 megabyte partitions only. Any other configuration will require some editing of the Mountlist file. Setup follows the normal AmigaDOS procedure. Do a low-level format (if desired), run the B1NDDRIVERS program, the MOUNT program, and the FORMAT program to prepare the drive for use by AmigaDOS, The Great Valley board is the only other besides Commmodore's own to store the hard disk driver program in the Expansion drawer, and use BINDDRIVERS to load it. In the future, Great Valley plans to
include a comprehensive installation program with an Intuition interface, that allows you to interactively set initialize your drives.
Advertisements for the Impact board refer to it as “DMA SCSI", but that description is somewhat misleading.
Company officials explained that the board “DMAs into the on-board memory cache". In plain English, that means the card has it’s own memory buffer, which is used to store information as it comes off the drive, before being passed to the Amiga via “processor-controlled I O".
While the on-board cache undoubtedly speeds things up, the term “DMA” is more commonly understood to mean that the controller moves information directly into the Amiga’s memory space, not into its own memory buffer.
Although not the fastest controller in all situations, the Impact board’s performance was quite respectable overall.
As explained in the overview section, DMA transfer has costs as well as benefits, and the GVP board was obviously designed to avoid the penalties incurred by DMA controllers when competing for scarce system resources.
While it was about 25% slower than the DMA controllers under normal Workbench conditions, it proved faster, on the whole, than all of the other controllers tested with high-res graphics and sound running in the background. This consistent level of performance makes the board a natural choice for those who use the Amiga to run elaborate graphics and sound presentations. In addition, the single-slot RAM expansion and SCSI controller should appeal to those who wish to leave some room in their 2000 for future expansion.
GVP Impact SCSI RAM Controller Suggested Retail Price: $ 360 (2 meg capacity, OK installed') 325 (1 meg capacity, OK installed) Great Valley Products
P. O. Box391 Malvern, PA 19355
(800) 782-1841 Pacific Peripherals Overdrive Board The OverDrive
board from Pacific Peripherals was the first SCSI-only DMA
alternative to Commodore’s 2090 to appear for the Amiga
2000. Although it occupies a full-size board that's the
same size as tire 2090A, the components are all packed into
the left side of the board.
The bare right side of the board has four holes that can be used to mount a 3 1 2" hard drive directly to the controller card.
A hard drive power cable is also provided on the right side of the board for this purpose. The Overdrive was the only one of the interfaces tested that was designed specifically for use as a hard drive card, keeping both of the extra drive bays free for other drives.
The current version of the OverDrive has no provisions for auto- booting under Kickstart 1.3; there aren't any sockets for boot ROMs on the board.
Pacific Peripherals has indicated, however, that it plans to make a daughtercard available at the time Kickstart 1.3 ROMs are released, that will add autobooting capabilities. The price of the upgrade has not been announced.
All of the manuals for setting up the Overdrive are on disk. The information in the files that comprise the manual is fairly complete, but the files themselves don't have any icons, which means that they can only be read from the CLI. The only printed documentation is a one-page summary card which reviews the software installation procedure. The information on this card, along with the auto-executing Startup-Sequence on the disk, should be sufficient for most users to install the software. Panitioning the drive, or installing the Fast File System, however, will require some work with a
text editor.
Unlike most products tested here, the OverDrive comes with an installation program that uses an Intuition interface.
The ODUtils program uses a series of pull-down menus to allow you to select and format various drives. The drive type selection is performed automatically, by issuing a SCSI command to the drive asking it to identify itself.
The program will also let you manually select the drive type. After you’ve selected the drive, another menu item lets you perform the low-level format procedure. When that’s completed, you may check the drive for bad blocks, and map out any that are found.
A final menu item has the program add Vi Bi&nwnae, Alle auslandische Computergeschafte Zeitschrifthandler Wilkommen in der erstaunlichen Welt von Amazing Computing™ - eine von Amerikas fiihrenden Zeitschriften fur Commodore Amiga Beniitzer. Amazing Computing™ war die erste Zeitsehrift. Die iiber das Cl.I beriehtete, die erste Zeitsehrift mit 1 Meg Amiga Hardware Projekt Verbesserung und die erste Zeitsehrift. Die seriose Programmhilfsassistenz anbot.
Wenn Sie mehr Information iiber die Stelle des Amazing Acrkinifers odcr Amazing Werbefaehsmanns haben mochten, kontaktieren Sie bitte: Marie A. Raymond International Coordinator PiM Publications
P. O. Box 869 Fall River, MA 02722
(508) 678-4200
(800) 345-3360 FAX: (508)675-6002 the proper entry to the
DEVS:Mountlist file. After exiting the program, use the
AmigaDOS FORMAT command to ready tlie drive for data
storage.
The performance of die controller during the tests was generally good, though write speeds were somewhat slower than the other DMA controllers.
This was partially a result of the 2:1 interleave setting which was chosen in order to optimize read speeds. Other interleave settings might provide faster writes. Though the Overdrive was not quite as slow7 as the 2090A in the graphics and sound test, it did slow7 down the Sonix Play score that was playing in the background.
The OverDrive has enjoyed a position as the only krw-price DMA alternative to the Commodore 2090 for a number of months, Now7, however, it faces some serious competition from the Supra controller, which uses DMA transfers, has an autobooting capability built in, and is priced the same as the OverDrive. The only area in which the Overdrive appears to retain an edge is in its hard card design. At least until Microbotics comes out with its Hard Frame controller, die OverDrive remains the only controller board specifically designed for custom-building your own hard disk on a card.
Overdrive Controller List Price S250 Pacific Peripherals
P. O. Box 14575 Fremont, CA 94539
(415) 651-1905 The C Ltd. SCSI Host Controller C Ltd. Was one of
the first companies to release a SCSI adapter for the
Amiga, and today it carries die widest line of SCSI Amiga
products. They sell complete hard drive systems for the
500, 1000, and 2000, ranging in capacity from 20 megabytes
to over 700 megabytes.
They have lots of experience with more exotic storage devices as well, including tape backup systems, 10 megabyte removable floppies, WORM drives, and CD ROMs. They've worked on a networking system based on their SCSI hardware. And soon, the company will expand into die desktop publishing market with Laser Xpress, a SCSI laser printer, and the Dest optical scanner, w7hich connects via a SCSI interface. In addition to its direct marketing effort, C Ltd. Also licenses its controller hardware and software to other drive manufacturers, including Pioneer and Phoenix.
The newest of the company's SCSI interfaces is its A2000 controller card, wrhich is the least expensive SCSI adapter available for the Amiga. Looking at it, it’s easy to see why. While a controller like the Conuncdore 2090A crams almost 50 chips onto a large circuit board, the processor-controlled (non-DAIA) C Ltd.
Interface uses exactly seven chips and a handful of discrete components. It's less than three inches high, and it's small size makes it a bit harder to plug in than the other boards, as well as less mechanically stable. The unit wre received for testing didr.’t even have a mounting bracket to attach it to the frame. In addition to the standard 50-pin internal and 25-pin external SCSI connectors, the board also has a connector for the front panel LED used to indicate drive activity.
There is no provision for boot ROMs, and C Ltd. Aas no plans to add autoboot- ing. They plan to take a ‘Avail and see" approach toward such an upgrade.
The Tshell makes using AmigaDOS fun. It makes the interface between you and the Amiga free of complications, intuitive and easy, while at the same time allowing complete control over the Amiga's operating system.
Although it is a professional tool having capabilities of an interpreted programming language, the Tshell is simple to learn and use Even if you're not a programmer, you can use the Tshell immediately as a high-powered CU replacement.
While closely resembling the popular GMIX command shells, the Tshell is freshly designed and developed for the Amiga. As a result, it is an advanced command Interpreter that is an Improvement upon GNIX. Here are some of the Tshell's features: Commands 40 UNIX-like builTm ccmmonds offer efficiency, speed and features from the Tshell environment: ARP commonos. Extra utilities, full AmigaDOS compataDiiiry. Background and detached processes. AmigaDOS residency, buillin commands con he RAM or disk resident, default cd' command Editing environment line editing and command history: mseri.
Delete, Kill, and put lines, auiolndeni; read write files; edrt re-execute portiol history, deflnahie function keys and dynamic prompt On-Line Help two levels, customizable extensible; quick help for reminder of command usage; full help displays command manual page or manual chapter (ARP command documentation included too) Fi lesfile name expansion wrthstandaid UNIX matchings, directory .'file differentiation and directory free searching, current, parent and previous directory shorthand I O redirection Standard redirections plus write append standard euor stream for builhn commands; pipes here
documents, bockquofed commands Variables stnng irieger shell voriahles. Environment variables. Indireaed vonapfes and vonahle stnng concatenation Operators and Expressions Simple numDers.
Numeric variables and return (exit) values con be used in expressions as 32-bif integers All C language unary and binary operators, including assignment operators, are supported. Statements List processing lorall', and C-like lor', while' and do while’ looping statements; C-like ‘it else’ (incl 'else 10 and switch cose' (with pattern matching) conditional statements.
Procedures Redefine existing commands, write your own Tshell commands and programs, multi-lme alias procedures tor buiitin (RAM resident) execution; shell scripts for execution from disk files; procedures accept pcrametersand return ext values like compiled commands Interprocess Communication Arexx-ccmpohbie wim user-cefmobie message port name send ana receive command messages There's morel Small ad greet product The Tshell is an extensive, flexible and highly configurable system, You'll love it!
Get it right nowl Send a check or money order for $ 49,95 to Metran Technology, Box 890, West Oneonta, NY 13861 NY residents PLEASE SEE YOUR DEALER The Tsreii nos been snipping since February 1988 We snp mmediUery on receipt ot older Shipping handling chcrges are included Send $ 2 00 and SASE for treety-dotnbuloble demo dsk or just ask lor our flyer for rrora descriptive info Phone (607)432*4836 UNIX. Amiga ond Tshell ore irooemafks of AT&T. Commoocre-AMIGAona Meiran Technology, respectively The rear part of the board has space wheie an Omti ST-506 to SCSI adapter can be mounted. Many of the
drive configurations C Ltd. Sells use such an adapter. Pioneer Computing uses the same space for a mounting bracket for a 3 1 2" hard drive, turning the controller into a hard drive card. As sold by C Ltd., however, the board is not really meant to be used as a hard card.
C Ltd. Sells most of its SCSI adapters as part of complete hard drive systems, and ships their hard drives preformatted, with a lot of useful public domain software already on the disk.
The installation software provided w7ith the SCSI controller, therefore, is not very sophisticated. It consists of an AmigaDOS batch file used to run the programs needed to orepare the drive for use. As of this writ ng, installation instructions were all or disk the latest version of a printed manual wras not ready.
For the test, I used a pre-release copy of the: Version 3 software. This software is designed to accommodate a wide range of SCSI devices other than hard drives, as well as networking over the SCSI port. It requires the user to create a te:ri file called Devsetup as well as the Mountlist file. Devsetup is used by a program called Devlnstall that is run before the hard drive is mounted.
Although C Ltd. Hasn't come up with much of a user interface to set up a drive using this software, all of the tools are there, including utilities to do low-level formatting and mapping out bad blocks on ST-506 drives (SCSI drives automatically map out bad blocks).
The company does plan, however, to write a mouse-driven installation program that will write the Devsetup and Mountlist file for the user. Aside from the Devlnstall program, drive installation and mounting follows the standard Amiga procedures. The MOUNT command is used to let DOS know the drive is there, and the FORMAT command is used to prepare it for storage.
Although the driver software was a pre-release version, the drive behaved quite reliably during the test period.
While it was among the slowest tested, there are a number of extenuating circumstances to consider. The C Ltd.
Interface seems particularly sensitive to the drive interleave settings. Different settings gave wildly different results on the Diskperf test.
At lower interleave settings, the reads were faster, but the writes slower.
The 32K buffer Diskperf test showed a maximum of 213 Kbytes per second on reads, and 48 Kbytes per second on writes. At higher interleave settings, reads peaked out at 128 Kbytes per second, while writes increased to 111 Kbytes per second. The 3:1 interleave setting we chose for our tests was a compromise value, but clearly, you can optimize your drive for either reads or writes using this interface. Optimizing for reads should yield somewhat better results than the benchmarks indicate. Another factor to consider is that C Ltd. Sells many of its systems with fast ST-506 drives and an Omti
ST-506 to SCSI adapter. This combination is reported to be significantly quicker than the standard SCSI configuration tested here.
The C Ltd. Controller has a lot going for it. It’s a time-tested design that's backed with a full one year warranty. It’s versatile enough to handle a wide variety of peripherals, from WORM drives to laser printers. But most of all, it's cheap. It's inexpensive design allows companies like Pioneer Computing to offer complete 30 megabyte hard drive systems for as low as $ 600. Though the speed of such systems might not be world-class, they're still quite respectable, and you can’t argue with the price.
SCSI Host Controller Suggested Price: S200 (A2000 version) $ 250 (A500 version) S300 (A1000 version) Cud.
123 East Skinner Wichita, KS 67211
(316) 267-3807 The SupraDrive A2000 Interface Supra Corporation
is another company whose hard drive products for the Amiga
have been around long enough to have been in our first
round of reviews. Supra has offered complete hard drive
systems for the 1000 and 500 for quite a while, but now
they’ve added an A2000 controller to their lineup.
Unlike previous SupraDrives, this new interface card does DMA data transfers.
The board contains three mounting holes which can be used to attach an ST-506 to SCSI adapter (Supra sells some versions of the board with this adapter already attached). Although these holes could be used to mount a 3 1 2" drive directly to the board in order to make a hard card, they weren't intended for this, and Supra doesn't encourage this practice.
PIONEER COMPUTING Does it again!
44 Megabyte Removable Cartridge Winchester Disk Drive KEY FEATURES: The PRD-44 Cartridge Hard Disk is an innovative design that incorporates reliable Winchester Technology in a removable media. You will never out grow this Winchester as the PRD-44 offers you unlimited storage. The PRD-44 has many benefits, including low cost, mass storage, back-up capability, transportable and rugged cartridge media.
At 44 megabytes per cartridge, individuals may maintain large amounts of data tor individual or share system applications. The compact 5'A" cartridge permits data security as users may remove and secure sensitive data.
The drive has an average access time of 25 milliseconds and a 1:1 interleave capability.
Within 20 seconds after cartridge insertion, the PRD-44 has compleled spin-up, self-test diagnostics and is ready to accept commands. Additionally, automatic error detection correction and extensive defect management are transparent to the user.
PRD-44 44 Megabyte Removable Cartridge Disk Drive s999.99 Take advantage of our package deal: Disk Drive & Cartridge $ 7049.99 Disk Drive. Cartridge & SCSI Controller S1279.99 Disk Drive, Cartridge, SCSI Controller & Cose $ 1399.99 PRD-44c 44 Megabyte Cartridge _$ 129.99_ PIONEER COMPUTING 2469 East 7000 South 200 - Salt Lake City, Ut 84121
(801) 942-1174 ORDER DESK 1-800-999-3013 Supra provides the most
complete installation kit of any of the packages tested.
The hardware installation manual is IS pages long, with 30
photographs covering every conceivable aspect of the
process. The 50-page Operator's Manual is the same one
provided with the other Supra Drives; it could use updating
for the new system, but otherwise, provides a lot of
helpful information. There’s even a little bag of hardware
that includes a sr..sl cable, a power cable extension,
wiies for the drive LED, a SupraDrive sticker, and the
standoffs and screws needed for mounting an internal drive.
Tnis makes the Supra system the only one that you can install without a making a trip to the hardware store.
The Supra installation software is also outstanding. The SupraFormat program is the only package tested to allow the user to control every aspect of the initialization process from a single, mouse and menu-driven screen. Like the Overdrive utilities, SupraFormat queries the SCSI controller in order to automatically identify the drive type. If the drive can be identified, the controller and disk type are displayed, as well as the SCSI device number, drive interleave, the number of surfaces (heads), blocks per track, and cylinders. If the drive can't be identified, all of these parameters can
be entered manually in the appropriate string gadgets. There are also spaces for entering landing zone, step rate, and write pre-compensation figures where needed (for non-SCSI drives).
Setting up drive partitions is a snap. You click on the partition name, type in the size in megabytes, and the program automatically calculates and displays the stalling and ending cylinders, and the amount of storage space that remains to be allocated. You may also select the old or new file system for a partition by clicking a gadget.
When you allocate all of the storage space, you can format the drive or just zero the partitions (a quick format), mapping out bad blocks if you so choose. When the format procedure is finished, the partition information is written to the drive, eliminating the need for updating the Mountlist file. Then all you do to boot the drive is use the SupraMount command the AmigaDOS formatting has already been done for you. Although the SupraFormat process is much simpler, Supra still allows you to use the AmigaDOS setup procedures if desired. Simply set all of the partitions to zero, zero them, and
use the AmigaDOS MOUNT and FORMAT commands.
The SupraDrive controller that was tested included a pre-release version of the autoboot ROMs. Running a special Convert program activates a special partition, BD0:, which takes up all of the cylinders below the low' cylinder of DH0: (future versions of SupraFormat will include lhe option to perform this function). This partition, which is automatically formatted with the old file system, becomes the boot drive. As with the 2090A, Supra’s pre-release autoboot ROMs didn't wait long enough for the 277 to come up to speed. Resetting once the drive warmed up allowed die system to boot from the
hard drive, however.
COMPUTER OUTLET, INC.
(800) 544-3665 In CT 872-2667 SOFTWARE • ACCESSORIES Aegis’ PORTS
OF CALL Retail $ 49.95 - You pay $ 35.99 Phoenix 3.5" Ext.
Drive - $ 189.95 Cinemawares’ ROCKET RANGER Retail $ 49.95 -
You pay $ 35.99 Call for prices on Aegis - Mindscape -
Activision Epyx - E.A. - Discovery - all others Amiga - 64
- PC Compatibles - Apple - Mac - Atari Visit our retail
store at 335 Talcottville Road Vernon, CT 06066 Call for
complete price list NEVER ANY FREIGHT CHARGES * No charge
card surcharges The price you see is the price you pay!
Check • M O ¦ M C • Visa - Discover - Shipping U.P.S. Ground ’Orders under S25.00 add S2.00 handling. C.O.D. orders under $ 100.00 add $ 2.20 U.P.S. C.O.D. fees. CT residents add 7.5% safes lax. Manufacturer’s warranties apply. Not responsible for machine compatibility. 30 day exchange policy on defective software. Prices subject to change W O notice. We cannot sell Commodore Amiga brand hardware thru the mail.
Ir. The Diskperf and file copy tests, the Supra controller ran neck-and-neck with the 2090A and o loaded tire Dpaint picture and the dummy program in the shortest time. Although drive transfers didn't slow down anywhere near as much as with the 2090A during the graphics and sound test, the Supra driver did slow' down the Sonix Play scoredurlng the test, and even caused some momentary screen glitches. To be fair, though, the version of the software that was tested could hardly be termed mature, as the tests were performed within a couple of weeks of the board's introduction. These flaws were
the only problems that were noted, and can be eliminated with a little fine tuning.
Of all of the controllers tested, the Supra interface stands out as an exceptional value. It costs only fifty dollars more than the lowest priced controller, but includes top-of-the-line features such as autobooting, DMA transfer speeds, and a SCSI cable and mounting kit. Its instructions are among the clearest, and its installation software the easiest to use.
Moreover, Supra is a solid company that’s been selling a wide variety of peripherals in the Apple, Atari, and Commodore markets for a number of years. In a volatile industry like personal computers, that's a pretty good indication that they must be doing something right.
SupraDrive Controller Suggested Retail Price S249 Supra Corporation 1133 Commercial Way Albany, OR 97321
(503) 967-9075
• AC* by L. S. Lichtmann _AMAZING REVIEWS The Wshell Long ago I
became convinced that one of the things Commodore did right was
provide the parallel user interfaces of the Workbench and the
CLI. Icon- based interfaces are wonderful for casual use and
for novices, and command line interfaces remain unsurpassed for
power and flexibility. Unfortunately, the deficiencies of the
standard CLI environment and AmigaDOS are legion and too
notorious to elaborate here. These problems are slowly being
rectified by Commodore and by the vision of Amiga users and
developers.
One of the most popular shareware enhancements for the CLI interface is ConMan, by William S. Hawes.
ConMan adds command line editing and command history to the CLI. Anyone who has ever tried to get a listing for a directory four levels down can attest to the vaiue of these additions. Now Mr. Hawes is back with Wshell, a complete replacement for the CLI.
What the Wshell Is Not The computer term "shell” has two slightly different connotations. In its original use, a shell is a piece of system software responsible for mediating between the user and operating system, particularly in interpreting user input and loading and executing programs. However, especially in the MS-DOS world, shell has come to mean an applications program which simplifies the user's interaction with the computer. By presenting a graphic interface, a shell trades power for ease. Some shells (in this latter sense) and shell-like CLI enhancements are already available.
Wshell, however, is a shell in the older sense. It provides the full power of a command line user interface by substituting for the standard Cli and providing complete access to programs in the “C:” directory with many more options for command entry.
The Wshell Unlike Mr. Hawes’s previous program, Wshell is a standard commercial product rather than shareware.
Registered users of ConMan were offered an advance copy of Wshell's release version at a discount. (Those of you who may have been using ConMan without having sent the author a payment, your sins have come home to roost!)
Wshell runs on any Amiga, although it requires Version 1.2 of the system software. The program comes on a single half-full disk. The distribution disk has three major components: ConMan, the Wshell files proper, and ARP (each of which I will discuss). The distribution disk is not a boot disk, and a number of files must be copied to your system disk to use the Wshell. Mr. Hawes has thoughtfully provided batch files to perform the necessary copy operations. As you might expect from an author who lias produced shareware programs, there is no copy protection on the distribution disk or in any of
its programs.
Wshell’s documentation consists of a sixty-page typeset manual, spiral- bound so it lies fiat on a desk. The organization is excellent, and the descriptions and explanations are uniformly clear. Novices should be warned, though, that familiarity with AmigaDOS and the CLI is assumed. The manual includes a good index, and Wshell lists for $ 49-95- ConMan ConMan performs the same functions for Wshell that it does when used with the standard CLI, primarily giving Wshell line editing and command history capabilities. If you’re not familiar with ConMan, it consists of four files: "conhandler" and
’’conhandler.library” (which must live in the “L:" and ’’LIBS:” directories of your system disk respectively), and “conman" and "setcman" (normally placed in your “C:” directory) After ConMan and ail desired options (typically in your startup- sequence) are activated by the “conman" command, all CLI or Wshell windows subsequently activated are provided with ConMan's services. The "setcman” command allows modification of ConMan options once the program is running.
In addition to supporting basic editing functions such as backing up over the command line to ailow overwriting incorrect characters or inserting new ones ConMan supports a full set of special editing characters. For instance, the Shift-Left Arrow and Shift-Right Arrow combinations back up or advance one word in the line. The Control-Y combination deletes to the end of the line. The FI and F2 keys control window size: FI toggles the active window between its current size and an “iconi- fied" (minimum size) version: F2 toggles the active window between its current size and a full screen
version.
Command history is accessible through the Up Arrow and Down Arrow keys. Previously entered commands are individually recalled from a buffer (most recent first) by successive pushes of the Up Arrow. Successive pushes of the Down Arrow move one command in the other direction through commands already recalled with Up Arrow, The new version of ConMan
(VI. 1) which is on the Wshell disk has added command history
search functions. Typing a line of text and pressing die
F5 key searches the history buffer for the last command that
has the entered text as its start. Searches in the other
direction (toward more recent commands) are performed with
F6 key.
Version 1.1 also has a utility command "history" that can be used to display the entire command history, save the command history to a file, or to load a new command history from disk. This feature allows you to pre-load sets of frequently-used commands.
Wshell Activation Wshell needs ConMan to function.
Along with the ConMan files, an additional file, “wshell.library,” must be moved to the "LIBS:" directory. The distribution disk contains an icon analogous to the CLI icon supplied on the Workbench disk to activate the Wshell. Wshell can also be activated from a command line using the “NewWSH" command which functions like AmigaDOS’s “NewCLI” command.
The NewWSH command, however, allows you to specify either an initial command for immediate execution by the new Wshell or a sequence of commands found in a specified disk file.
This arrangement forms the basis of my new startup-sequence file: con men -c . Octrvafe ConMan : Startup a wSnss wnn rne specifea console winaow ; and execute the commands h the file Boot-WShel NeWWX con: 30 frS0 1 ?Q Boor_w en c from j Boot-wSnea endci nit ; new close the sfcrtup CU The commands I formerly had in my startup-sequence file now reside in '‘Boot-WShell”."This way they are executed from a Wshell and have complete access to Wshell facilities. New Wshell-specific commands can be executed at boot-up time. A sample of this sort of "split startup” procedure is supplied on the Wshell
disk, The Wshell has an additional startup feature: if neither an initial command nor a specified file is supplied, the new Wshell looks in the "S:” directory for a file named “Startup-WShell.” If it exists, Wshell executes the commands in the file before issuing its first prompt.
Built-in & Resident Commands A standard complaint about AmigaDOS is that it is entirely disk- based. Unlike MS-DOS, AmigaDOS has no ‘‘intemal” commands. The case for having an "external”, disk-based system can be and has been argued persuasively. Nevertheless, I have frequently found myself wishing that a number of commands had been made intemal. The Wshell attempts to improve on AmigaDOS in this matter in two ways: "built-in” commands and “resident" commands.
Bu.lt-in commands are crucial to Wshell, but you can delete the corresponding command files in the “C:” directory 10 save disk space. The built-in commands are mostly batch file commands (such as “if' and “echo”) that perform elementary functions. Users are unlikely to replace these with their own versions. “Endcli” is also a built-in command, but you should retain the “endcli" command on disk for terminating any non-WShell command line interfaces you generate.
Help You Can Rely On!!!
The AmigaDOS CLI Reference Book ISBN 0-9621268-0-2 0 8 Pages Long 0 CLI Command Usage Guide ° Lists Standard Devices and Assignments 0 Lists All ED Editor Commands 0 The First In a Series Of Amiga Reference Cards 0 GREAT LOW PRICE! ($ 3.95 US) Send your order to: The Computer Club Company 4131 Meadow Hill Lane Fairfax, VA 22033-3113 (Checks or Money Orders Accepted) For Large Quantity Purchase Information Call: (703) 968-7588 Amiga, AmigaDOS, and The Computer Club arc trademarks of their companies.
“CD" and “prompt” are also built- ins. Prompt is particularly interesting because it recognizes an extended set of special characters. As well as permitting insertion of “%N" (current task number) into a prompt string, the Wshell’s prompt command also allows insertion of the current directory, time-of-day, error return cooes, or any of about ten other special strings into the prompt. As well as a “standard” CD command, the Wshell has an “implicit” CD command you can type a recognizable path and director)' name without any command name, and the Wshell assumes you want to do a CD to this
director)' and perform the change.
Some built-in commands do not correspond to any AmigaDOS commands. For instance, the “pushed,” “poped," and “swaped" commands allow you to maintain a stack of frequently used directories, facilitating quick moves around a disk's directory structure.
Alternatively, you can define your own set of intemal commands with the “resi" (resdent) command. For instance, typing resi dir loads the ‘dir" command into memory from disk and adds its name to Wshell’s list of resident commands. Subsequent “dir” commands can be executed without reading the command from disk. Wshell keeps statistics on the use of the commands in the resident list.
Giving the "resi" command with command line options lets you view the Zorro II Prototyping Board
* Over 44G0 Plated 1 Toles on a 0.1" Grid.
* Gold Plated Edge Connector.
* "D"-typc I O Connector Pattern.
* Accepts 64 Pin Dll’s and 14x14 PGAs.
* Low Inductance Power and Ground Pattern for High-Speed Designs.
* Designed for Maximum Flexibility.
* Includes Mounting Bracket.
To order, send: check or money order for $ 49.95 + local sales tax (California only) + shipping & handling (I'S: $ 3.00. Foreign: S6.00) in US dollars to: Celestial Systems Department M 2175 Agate Court Simi Valley, CA 93065-1839
(805) 582-0729 list of resident commands, reorder the list based
on frequency used to minimize search rimes, or remove
resident commands from the list. Wshell's resident commands
capability is preferable to storing commands in a RAM
disk because resident commands take less memory, less time
to execute, and do not require a special search path to
find commands on disk and in a RAM disk.
Resident commands are not restricted to tilings like “dir” and “assign.” Programs normally thought of as application software text editors, for instance can be made resident commands if they are written properly, Wshell searches the list of resident commands before searching the list of built-in commands. So if there is some command you must use instead of a Wshell built-in, you can do it. By- prefacing the command name with the left square bracket character CD, you can also force Wshell to bypass the search for resident and built-in commands and go straight to the usual search path.
ARP There is one restriction on using resident commands, and it sets me up for a digression on the third major element of Wshell. Resident commands must be “pure” code. The command must not modify its own code as it executes any “scratchpad” memory must be external to the command. (The other term used for such code is “re-entrant.”) Pure code is desirable for multi-tasking systems because it allows several Independent tasks to share one loaded copy of a program, making memory use efficient.
Unfortunately, most programs are not pure code; not even all the AmigaDOS “C:" directory7 commands are pure code. The Wshell distribution disk comes to the rescue in the latter case, however.
Wshell comes with the latest version of the ARP (AmigaDOS Replacement Project) commands, public domain replacements for Commodore’s “C:" directory AmigaDOS commands.
The ARP commands are faster than their AmigaDOS counterparts, much smaller (freeing a great deal of space on your Workbench disks), and have a more consistent set of command line parameters. Many have extra capabilities not found in the corresponding AmigaDOS commands, and a few new commands not present in AmigaDOS at all are included. Equally important for the Wshell, all the ARP commands are pure code. (In fact, ARP has a “resident” command which serves the same function as Wshell’s “resi,” although I prefer “resi” because it has more capabilities.)
Aliases Wshell also provides “aliases” as another way of customizing the Amiga's command set. Aliases define multiple names or abbreviations for commands. If you are more comfortable with a certain trademarked operating system directory command (“Is”, for instance), but still want to give the Amiga’s “dir" command, give the Wshell the command alias ls=dir Thereafter, typing “Is” executes “dir.” The “dir” command file is not renamed, so it is still accessible by entering “dir,” The “alias” command also supports multi-word replacement.
Entering alias print='type prt:' activates the command “print file!” and sends the contents of filel to tile printer.
Alias can also cause Wshell to recognize particular strings as abbreviations for standard commands. The case of the characters in the alias string specify characters that must always be typed for the command. Thus alias Mkdir=makedir causes “ink," “mkd,” “mkdt," and “mkdir" to be recognized as “makedir." Other options allow7 you to list aliases currently in effect, or to delete particular aliases.
Pipes Pipes chain together commands so the output of one command serves as the input to the next without speed and space penalties associated with setting up an intermediate file. You can set up pipes by inserting the character “ I ’’ between commands you want to chain.
For example, a program called “Tee” takes any input given to it and copies that input to both the screen 2nd the "standard output” (which is also die screen unless otherwise specified). The command line then dir l Tee dirfiie 35mm SLIDES FROM VOUR ARTWORK!
1 AMIGA I
- -- s 1 ipcv.a.iira 1 TRLJ- imfiGE || If
• ¦ lid L J Professional Bsmm Slides O Nov: you can have
reproduction and presentation quality slides of your work i
Distortion free tilts in raster lines crisp bright colors,
converts all IFF files Wow --------_ . Custon graphic
art and illustration.
510 each fervour* 1st to 3th slides.
5 to 9 slides 50,50 Oven 1 CL si ides - 5 Q.00 Add 52.QD for* shipping.
New York residents add sales tax.
Call (212) 777-7609 FOR DETAILS Ask for llene or write TRU-1MAGE
P. O. Box GOO, Cooper Station New York. N.Y. 10276 kmqi t t memin
el causes a directory listing to be sent to the program “Tee.”
The redirection causes the output to be temporarily redefined
as a disk file named “dirflle.” Thus, this command line
produces a directory- listing on the screen which is also
saved to a file a function long on my wish list!
To use pipes, you must mount a “pipe handler.” The mounting operation may be unfamiliar to many users. You must have a file named “moundist” in the “DEVS:" directory of your system disk containing information needed by the operating system. An appropriate "moundist” file for the pipe handler is provided on the Wshell disk. You must also issue the command Even Up The Score!
Let your Amiga give you the Advantage in making better investment decisions!
Color graphics of Individual Sucks and General Marker Trends help you make more profit in this volatile market.
High Low Close, Moving Averages, Centered Moving Averages, Volume, Relative Strength, Stochastics, Wilder's RSI, Cycles, Trend lines and Momen.um. Powerful reports such as the Relative Strength Rqxm help you pick the best performers. Use the Market Barometers to help you lime your market entries. Update Stocks, Mutual Funds and Commodities manually or automatically. Easy to use communications included.
Only $ 99.95 See your local Dealer or Call: Software Advantage Consulting Corporation 37346 Charter Oaks Blvd Mi. Clemens, MI 48043 (313) 463-4995 Amiga and the Investor's Advantage are trademarks of their respective companies.
Mount PIP: before you can use pipes (usually in your startup-sequence). The Wshell manual includes clear instructions for this procedure, although it would have been nice if the Wshell installation batch file had set up an appropriate moundist file.
The Wshell Environment Wshell provides itself one form of “environment variables, "global values that set certain modes of behavior. To set up the Wshell environment, you create a special directory (on a permanently mounted device, such as the RAM disk) and assign the device ENV: to this directory. The environment variables are the files in this directory', and the values of the variables are the text contents of the files. For example, die Wshell looks for an environment variable named “titlebar.” If you have a file in the “ENV:” directory named “titlebar,” and it contains a valid Wshell
prompt string (die arguments of a Wshell “prompt” command), Wshell writes the specified prompt string into the title bar of the Wshell’s window. Thus, if the contents of the file “titlebar” are %C Wshell writes the current directory' into die tidebar and updates the bar everj- time a “cd” is executed.
In addition to “titlebar," the current version of Wshell uses other environment variables. “Path” sets a global search used by all Wshell windows as a “last resort” when hunting a command.
"Echo" controls display of alias translations. “Shellwindow" controls the default size, etc., of new Wshell windows.
The .LRexx Connection One of Mr. Hawes avowed purposes in developing the Wshell was to integrate his Arexx language (available as a separate product) into a command-line environment. Arexx is an Amiga implementation of the REXX language that originated on IBM mainframes. Arexx really deserves a review of its own, but I can summarize by saying diat it is an interpreted language (like BASIC) that runs on a memory- resident interpreter loaded at boot time.
The language's features make it useful as a powerful alternative to the usual Amiga DOS EXECUTE batch files, and as a medium for writing additional high-level commands. The “Tee” program mentioned above is an .ARexx demonstration program included on the Wshell disk.
Arexx also defines a standard interface that makes it possible for application programs to easily add macro facilities and for different application programs to talk to one another. (Some commercial programs, such as Microsmith's TxEd Plus, already have .ARexx interfaces.)
Wshell provides transparent support for Arexx. To run an Arexx program once the interpreter is mnning, simply type the name of the program. No special command, such as the AmigaDOS “EXECUTE," is necessary. Wshell also recognizes in-line .-ARexx programs if the appropriate Arexx statements are entered between double quotes.
Final Item arks Taste in software is a notorious idiosynciasy (particularly' in user interfaces), and recommendations should be filtered through your own likes and dislikes. I really like Wshell. I tried to think of criticisms, ways in which I fell it was deficient, and came up blank. The software performs very useful functions and -works as advertised. Tire documentation is excellent, and the package is an outstanding value even at full list price.
All in all, 1 think the Wshell is a shining example of what commercial software should and can be. I can’t imagine how I got along before I had it.
• AC- Ithe statements and projections presented in "Roomers" are
minors in the purest sense. The bits of information are
gathered by a third party source from whispers inside the
industry.
At press time, they remain unconfirmed and are printed for entertainment value only. Accordingly, the staff and associates of Amazing Computing cantwi be held responsible for the reports made in this column.] by the Bandito Hardware news: While the RAM shortage is far from over, things are getting better. Prices are dropping, though they are still far above what they used to be. Availability is also improving.
Once some of the new chip factories “RAMp” up, perhaps RAM costs will drop the way they did in the good old days.
The RAM shortage has already had an impact on the hardware market, though, with some product prices increasing and others kept front the market entirely. For instance, Progressive’s FraineGrabber went up from $ 499 to $ 599 because of the high cost of RAM chips. As die Bandito speculated, NewTek's Video Toaster will be delayed because of the RAM shortage. Now they’re saying Christmas, but they promise the product will be better for the delay. Let's hope they can stick to their original price the way RAM chips have gone up, that would Ire some trick. The Bandito expects a higher price tag and
a later ship date.
In tlr is fast-paced industry, it seems that companies are always changing the roster. This time it’s Progressive Peripherals, who have ended their cross-marketing relationship with Precision Software from Tngland. Two employees left Progressive to join Precision, which will now market its products directly in tire U.S. Also at Progressive, Dan Browning and Eric Stein departed, and Pixmate programmer Justin McCormick is now in charge of marketing. (The Bandito thinks more programmers should be involved with marketing. Too many marketing beings barely know how to turn on a computer.)
Microlllusions has lost one of its hot programmers. Reichart, author of FirePower and other titles, is forming his own development group. He claims to have an unbelievably large number of programmers working with him. Currently in development is a BBS-based role playing game for the Amiga with some hot graphics. Reichart has also designed an Amiga animation program to help professional animators.
More Micro-I news: Jim Steinert, head of Microlllusions, is trying to sell KJ Computers, the store where he started the company. It seems that trying to run a retail store and produce software at the same time is just too much of a hassle.
Our friend Ami is starting to get bigger movie roles AlOOO's appeared in Disney’s recent Sunday Movie Not Quite Human. Some Amiga graphics svere even shown. Wire-frame animation was shown; ray-traced Amiga graphics would have looked too good to be convincing! Both the good guys and the bad guys had Amigas, which just shows that Amigas are not inherently good or evil.
(Remember, Amigas don’t kill people people kill people) If graphics are outlawed, only outlaws will use graphics.
What does Commodore have against Ami-Expo? Well, Deep C (the Bandito’s Commodore connection) states that Commodore was upset when Ami- Expo tried to get the right to put on the Amiga Developer’s Conference. Of course, that may not have anything to do with the fact that Commodore is trying to get developer support for the World of Commcxlore show, instead of for Ami- Expo. Developers will probably support both, but with less enthusiasm for World of Commodore since it’s not Amiga- specific, Who wants to hang around with a bunch of C64’s, anyway? The future is Amiga. This is the last Christmas
for the C64...but then again the Bandito has heard that line for the last three years.
In other Ami-Expo news, the LA Amiga Users considered boycotting Ami- Expo because of its high price. At press time, Ami-Expo had not yet happened, so the Bandito doesn't know if they’ll go through with tire ihreat. It costs 525 to get in, plus $ 15 for hotel parking, which adds up to a pretty penny. That’s the price of a good piece of software hfflmm, maybe they should give a program away at the door. Any corporate volunteers out there?
Game news: Starglider II is shipping, and it has the fastest frame rate of any real-time 3D game.(The Bandito knows there’s a whole audience out there who just cares about frame rate to heck with the game!) Rocket Ranger is shipping, and sales are red-hot. Players say that Cinemaware has more game in there along with the graphics and sound.
News you won't hear anywhere else: Though Apple and Commodore are deadly rivals in the marketplace, that doesn’t prevent them from doing business together. The Bandito has learned that the Apple IlGS's 15-voice music chip is made by none other than MOS Technologies which is owned by Commodore. Makes you wonder if the next Amiga might not have a few more voices on the sound chip, eh?
Commodore expects to sell 300,000 Amigas this Christmas. Developers are crossing their fingers and clutching their prayer beads. If Commodore is right, low-priced, hot-selling items could be the big winners; they make perfect Christmas gifts. This scenario could help out a number of Now On Videocassette!
How To Use The AmigA For Video Productions How To Get Started!
How to Hook Up Youi r System!
How To use Genlock!
Plus Video Software Info.
« | rrnfca Only *39.95
- -For VHS Send Check or Money Order To: 1 TV One Productions
1027 Sussex Ave.
Deptford, NJ 08096 Call
(609) 848-5698 Include $ 2.00 For S & H Canada Add $ 4.00 For S & H
smaller developers. Or it could line the pockets of big
developers who can afford to charge less. The Bandito
expects $ 15 games to be hot items, Are they really selling
100,000 Ainigas a month right now? The Bandito hopes so,
but thaL seems like an awfully high number, HAM Paint Wars:
the latest dispatch from the front is that Deluxe PhotoLab
is doing okay, especially among power users, but isn't
flying off the shelves like they thought it would.
With no advertising, what do they expect? Dpaint III should be coming soon perhaps by Christmas though it won’t add HAM capabilities. It does have some animation tools, and every Dpaint owner will want to upgrade.
What happened to Digi-Paint II and Photon Paint II? Both were supposed to be out in the spring, and it’s beginning to look like fall around here.
Whispers are that both are adding features and squashing insects. The Bandito thinks both will try hard for a Christmas ship date whether or not they’ll make it is debatable.
Just to set the record straight for the less informed gossip columnists, Steve Jobs already owns Pixar. By the way, Pixar & developing rendering software and a “Pixar-on-a-card” for the Mac II. That would be a nice Amiga product, but don’t hold your breath.
More Steve Jobs news: The NeXT computer will finally appear October 12.
It’s taking some pages from Amiga’s book great stereo sound, a graphics coprocessor for fast animation, zillions of colors, and high resolution. However, it’s going to be very expensive RAM prices have hit here, too. The operating system is a UNIX variant, and they've licensed Display Postscript from Adobe for the screen.
The NeXT computer is supposedly just for the higher education market, but don't believe it. Jobs wants the whole enchilada he’s after the Macintosh and the PS 2 market share, as well as the Sun workstation market. This guy thinks big.
In fact, he’s just inked an agreement with his old arch-rival IBM, giving IBM the right to use NeXT's display technology (interface). This deal gives Jobs more money and a great deal of prestige in the business world.
Interestingly, Apple has reviewed the NeXT computer and signed off on it, saying that it does not infringe on any proprietary Apple technology (as per Jobs’ agreement that he signed when he left Apple).
Atari is suing the former owners of the Federated Group, claiming that Federated misrepresented the company’s value when they sold to Atari. Since Atari is still losing gobs of money at Federated, this is one way to tiy to make up for that. At the same time, Atari has let it slip that they wouldn't mind selling Federated, but no interested buyers have yet appeared. In other news. Atari raided a number of New York dealers and seized $ 100,000 worth of counterfeit Atari 2600 machines and cartridges. Gee, wonder why the Taiwanese pirates haven't bothered to counterfeit Atari ST's?
What is Epyx really doing? The I- VCR thing the Bandito described previously was apparently misinformation from an Epyx apparatchik. Now the Bandito hears that it may be a 16-bit videogame. After all, Amiga originally made a joystick, just like Epyx does now, and then produced a computer you may be familiar with.
There are also quite a few Amiga alumni at Epyx these days. They can’t be daring enough to take on the expensive fight-to-the-death videogame market, can they? They sure are. Darker rumors hint that the machine is based on a 68000, and that they’ve licensed Lhe Amiga chip set for graphics and sound. (Many people are interested in getting rights to the Amiga’s technology, from what the Bandito hears.) They're obviously trying to capitalize on the availability of 68000 programs and programmers to rapidly create a large base of available software.
What we may have here is an Amiga truly configured as the ultimate home videogame with a target price around $ 250. The A500 may already have that market, though, even with its higher price. It seems to the Bandito that other publishers might be wary of producing software for a machine owned by a competitor. That would give Epyx the money they need to improve its position in the software market.
Ep w’s machine isn't the only 16- bit videogame threatening to appear.
Nintendo .s developing its 16-bit game machine. They released it in Japan and plan to br ng it over here next year. Also, NEC has its PC Engine on the way that uses an oddball 16-bit processor and some cool 256 color graphics as a high- end game machine. They plan to offer it for about $ 200 with an optional CD-ROM drive for another $ 300 to $ 400.
Adding a CD-ROM player begins to make the PC Engine sound like a CD-I player, though at a lower price. And what is happening with Compact Disc - Interactive? As the Bandito reported earlier, it :.s running “way late." Now they’re talking Xmas 1989 for the introduction of the first players. Prototype players should arrive at developers in a few weeks.
Developers are still spending incredible amounts of effort to develop for CD-I. One major publisher has already spent over a million dollars on CD-I development, Why so much interest in CD-I, even though it's so late to market? Well, publishers and developers talk about the TV quality graphics and CD quality sound, the animation, the amount cf storage, and the real mass- market potential. But a lot of sexy technologies before have failed to attract to much attention. (The Amiga still doesn't get the respect it deserves from software developers.)
The Bandito thinks the reason for all the de veloper enthusiasm is metre fundamental than graphics, sound, storage, or mass market. The basic fact is that CD-I products can't be copied. Publishers and developers both salivate at the drought of eliminating piracy. Of course, somebody will get around this limitation (and DAT or THOR-CD might be just the ticket), but until then, it's profit city. After all, publishers are convinced that for every legitimate copy someone actually pays for, anywhere from rwo to ten freebies are out there. If they could get all that lost revenue, they’d be rich
(or so they think).
Speaking of Tandy's read write optical disc, Tandy is staffing up with engineers to tty and make THOR-CD a reality. It’s likely that they won’t have a commercial product for another two years or more, but they may mess up the marketplace until then as everyone waits for it. It’s the old Jack Tramiel strategy announce some vaporware and see how many orders you get, while the competition runs around chasing its tail trying to figure out if you really mean it.
One way to remedy CD-I’s lack of writeable storage is to add an A D converter and a little circuitry (about $ 6 in parts) so die CD-I players can record on your VCR. That would make plenty of storage, and it would enable some more common program types to use CD-I.
(What good is a paint program unless you can save images)? Of course, DAT or THOR-CD could make this a moot point.
Great news for Commodore: Apple has just raised prices on most of its computers. The Mac II went up nearly 30%! And the IIGS went up nearly 10%, while extra memory for it went up 77%.
This makes the distinction between the Mac II and the A2000 sharper than ever.
Why did they do it? Well, Apple’s DRAM contract expired. To meet demand, they must buy chips on the spot market, which eats into their (aptly named) gross profit margins. So they raised prices, figuring customers would flinch, but buy the stuff anyway. This means prices will stay up if demand does. Apple is happy to make the extra profit.
This also means the IIGS Plus will be more expensive. The Bandito hears that the IIGS Plus release is being delayed, partly because of the price increase. Apple will probably keep the decision up in the air until the last minute, but look for them to ship either in time for the late spring or late fall education market buying times.
Apple just introduced the lie Plus, which has a 3.5 inch drive and a faster processor. List price is SI099 for a one- drive, color system. (It’s amazing how fast those horse-drawn carriages can go, isn’t it?) Apple also introduced the Mac Iix, with a 68030 instead of a 68020. For some reason, the press reports the speed is only about 15% faster must be a slow 68030 chip.
The important news is the new
1. 4 megabyte disk drive that can automatically read IBM 3.5
inch disks and provide software to help with some file
conversions. Why can’t Amiga do this?
It’s the only kind of compatibility most people need. Get some conversion software and build that drive into the next A2000. EA’s DeluxePaint on the PC uses IFF files, so graphics shouldn’t be a problem. Why fool around with bridgeboards...and the extra expense?
Most people just want to read in word processing or spreadsheet files, anyway.
While we're on the subject of Other People’s Computers, IBM’s PS 2 line is under fire. While IBM claims great success for the PS 2’s, most of the PS 2 computers they sell still have the old bus architecture. (Their MicroChannel has not been exciting) Most buyers look at it and think,”Gee, I can’t use any of those expensive cards I bought for my old PC, and this new Micro Channel doesn't have any cards." So all tire oilier MS-DOS clone makers have created a new bus standard that will use all the old cards, as well as new cards that offer faster performance. It will be interesting to see which
side wins in the "bus battle.” And we thought we had problems switching to the Zorro standard.
But that’s not the only IBM news.
As you may recall, they tried to get into the home and education markets with the ill-fated Pcjr (with the infamous chicklet keys). They were laughed out of the market, nursing their wounds. They tried again with the PS 2 Model 25, but that got nowhere in home or education.
Lack of sound was a major reason.
Well, IBM doesn't give up easily.
Some developers have already been shown a new IBM model (or parts of it IBM is very tricky when it comes to new stuff). The minors whisper several things, but the version the Bandito likes is an 80286-based machine with VGA graphics and an ADPCM sound chip that has CD quality digitized sound, a blitter chip for fast animation. All for about $ 1500. Sounds like they want to knock off an Amiga, doesn’t it? Look for something like this at Spring Comdex, and tell’em tire Bandito told you.
• AC* HIGHER PERFORMANCE..AND CHEAPER TO BOOT!
. lex .E Da $ LEXIBLE Fdata-10 Single3.5“ External Drive ... $ 149.95 Fdata-20 Dual 3.5" External Drive w Power Supply $ 299.95
* Fully 1010 Compatible * Ultra Low Power • High Performance
* Ultra Compact Design Consumption • No Annoying "Clicking" Noise
¦ Acoustaly Quiet * Daisy Cbainable • Diskette "Dust
Protection" Door
* Amiga1 Color Coordinated * Extra Long Drive Cable * Super Low
Price ¦¦1 DISK PERFORMANCE SOFTWARE BHH ASDG FAC
II ......S29 Central Coast Software
Quarterback.... S55 Microsmiths, Inc. TxEd+ S55
Central Coast Software DOS-2-D0S.... S39 Fuller Computer
Project "D" .....S39 Discovery Software Marauder II S27
Progressive Peripherals Directory Master. S39 Sony 3.5" DS DD
(Box ol 10) ....$ 19 POLICY: Shipping and handling extra.
Personal checks require 3 weeks lo clear. For faster service
use credit card, cashier’s check or bank money order. Credit
cards are not charged until we ship. All prices are U.S.A.
pricesand are subject to change, and all items are subject to
availability. These prices relfect a 5% cash discount. Fcr all
credit card purchases there will be an additional 5% charge.
Defective software willbe replaced with same item only. All
sales are final and returned shipments are subject to a
restocking fee.
214-669-3999 A I A FAX: 214-669-0021 Systems, inc. 10503 FOREST LN. • SUITE 148 • DALLAS, TX 75243 Amiga* is a registered trademark ol Commodore-Amiga, Ire.
K E Y C L I C Program a typewriter click into your Amiga keys.
K by Mike M. Duppong Delphi: MOCKO Genie: MMD One thing I always missed on the Amiga was an audio click when keys were pressed. While the Amiga keyboard has the best feel of any I've typed on, it doesn’t have tire audio feedback that aids touch-typing. Thanks to the multitasking operating system, adding this feature is relatively painless for both user and programmer.
?include devices audio,h ? Include £unctior.s.h ? Define HANDLER_PRIORITY 51 * Priority of input handler ?define AUDIO_?RIORITY 127 • Priority of click sound * ?define TASK_PRIORITY 40L * Priority of the task itself 7 * ? Of bytes in square-wave • Waveform period * Number of waveform cycles * * Close-up flags for cleanup () * * Audio device 9 i * Remove handler *7 When you run the program you see a window- that contains a slider to adjust the click volume. Each time you press a key or a mouse button, an audio click sounds. Simply close the -window to end the program. That’s
about all users have to know.
For you programmers out there, the center of activity revolves around a custom input handler. The handler simply signals the waiting task when a key or mouse button event arrives in the input stream. Once the task is awakened, it sends a command to the audio device to initiate the click and goes back to sleep. Therefore, this program only uses a significant amount of processor time when a key or mouse button is actually pressed.
* NextGadget - none * LeftEdge, TopEdge * * Width, Height *7 * Flags " RELVERIFY, • Activation * * GadcetType * * GadcetRender- set below *7 * SelectRender *J * GadcetText * * MutvalExclude * * Speciallnfo * - Gadget ID ’ UserData x The program details are in the source code, so here I will comment only on its peculiarities. The program initially ran at priority zero or, if you ran from CLI, the current CLI priority.
This sometimes made the program sluggish, so, for better response, I let the program set its own priority to fort)'. You can change priority by assigning a different value to TASKJPRIOBITY, defined at the beginning of tire program.
In a busy system, I managed to confuse the audio device on several occasions by pressing keys as fast as I could. I could use some feedback on how' to prevent this, but it shouldn't be a problem when you’re typing normally it takes some real keyboard-bashing to cause the error. The problem seems to be that the audio device clams up and won't talk to tire program.
Air error message pops up on the screen's title bar when the Keyclick window' is selected. To get around the problem, just close tire current Keyclick window and nin the program again.
= (1, 9, 2, 4}; * Channel allocation * * Pointer to waveform RAM * LISTING ONE * Keyclick VI,0 by Mike M, Duppong [3 29 88] * * Last modified: 6 7 88 * * Written in Aztec C V3.6A * * Compile: cc keyclick.c * * Link: In -o keyclick,o keyclick * * you may contact me through Delphi (MOCKO) * * or Genie (MMD) • ?include cexec types.h ?include exec memory,h ?include exec ports,h ?include exec errors,h ?include exec devices,h ?include exec execbase.h ?include intuition intuition,h ?include devices input,h ?include devices inputevent.h ?define WAVELENGTH 2L ?define
PERIOD 600L • ?define CYCLES 20L * ?define CLUP_IN?DEV 1 ?define CLUP_AUDDEV 2 ?define CLUP handler 4 struct lOStdReq -iostdreq; struct lOAudio -ioaudio; struct Interrupt interrupt; MsgPort ’inputjport, *audio_port; IntuitionBase ‘IntuitionBase; Window "window; Proplnfc prop; Image * image; struct struct struct struct struct Gadget volgadget = 1 • NULL, 26, 12, 128, 8, GADGKCOMP, GADGIKMEDIATE PROPGADGET, NULL, NULL, NULL, NULL, (APTR)fiprop, NULL, * NULL struct NewWindow windowdef » I 0, 13, 178, 22, • X, Y, width, height • 0, 1, * Det.ii 1 block pen * CLOSEWINDOW | GADGETUP, * IDCMP
f ags *7 NOCAREREFRESH I SMARTER-FRESH I ACTIVATE I WINDOWDRAG I WINDGWDEPTH I WIMDOWCLOSE, * Flags * First gadget * Check mark *!
- Screen * Bitnap * Min £ Max Width £ Workbench window
£volgadget, * NULL, * (U3YTE *)"Keyclick", * Title NULL, *
NULL, I* Height * 7 0, 0, 0, 0, !* WBENCHSCREEN * }; UBYTE
allocation[] BYTE -waveform; struct infostruct ( struct Task
-taskp; ULONG key_signal; } ih_info; int clup; int volume = 63;
" Click volume void handler_interface0; main()
init gadget(); open_window(); init_souna ); init_info O ;
open_input_device (); add handler(); watch(); C*64 123 k.
peripheral* Ablga 1UUU ’ pita uj file a tu o Authorized
Cofivnodore Service Center Commodore PC-10 init_sound () (
if((ioaudio = AllocMem((long)sizeof(struct lOAudio), MEMFPUBLIC
1 MEMFCLEAR)) ¦¦ NULL) error("Can't allocate RAM for IOAudio
structure. n"); if((audio_port = CreatePort(“keyclick.audio",
NULL)) ¦¦ NULL) cleanup("Canrt create audio message port,");
ioaudio- ioa_Request.ic_Message.mn_Node.ln_Pri =
AUDT0_PRI0RITY; ioaudiO“ ioa_Request,io_Message.mn_ReplyPort =
audio_port; ioaudio- ioa_Data = allocation; ioaudio- ioa_Length
= (long)sizeof(allocation); if((OpenDevice("audio.device",
NULL, ioaudio, NULL)) !« NULL) error("Audio device failed to
open,"); clup |«» CLU?_AUDDEV; if( (waveform = AllocMem
(WAVELENGTH, KEMF CHIP) ) NULL) error("Can't allocate memory
for waveform."); waveform[OJ = 127; waveform!1] » -127; *
Square wave • ) open_window() ( short exists;
if((IntuitionBase = OpenLibrary("intuition.1ifcrary", ID) ¦*
NULL) error ("Can't open Intuition library."); * Look for an
already existing message port named "keyclick.audio." If it
exists, another key-clicker is active in the system and this
program will abort. ¦ if((ULCNG)FindPort("keyclick.audio") !»
NULL) * Move window over a tad to avoid obscuring the
original (should it remain unmoved) * windowdef.LeftEdge ** 5;
windowdef-TopEdge ¦*= 5; exists = TRUE; ) else exists = FALSE;
if((window = OpenWintiow((A?TR)twindowdef)) == NULL) error
("Car 1 open a window."); if (exists ~= TRUE) error("A
key-clicker is already active!"); init_gadget(} * Allocate
RAM for gadget's image * if((image * (struct Image *)
AlloeKen((long)sizeof(struct Image), KEMF_CHI? I MEMr_CLEAR))
== NULL) error (“Car 1 allocate RAM for gadget image.“I; *
Initialize pointer to image RAM • volgadget.GadgetRender *
(AP7R)image; I* Set slider to horizontally-moving auto-knob *
prop.Flags - AUTOKNOB I FREEH0R1Z; prop.HorizPot = GxFFFF; *
Pegged to begin with * prop.HorizBody = OxFFFF I 32; 19 Crosby
Drive Bedford, MA 01730-0523 (617 ) 275-8892 Tired of the high
cost of computer repairs?
- ? FLAT Labor charges
- »FREE Estimates
- 4 Warranty work Also: 1764 to 512K: *61 128 64K vdc RAM: *40®
NEW: C=1902 conversion to RGB :140® struct IntuiMessage -msg,
*dqrr.sg; ULCNG mclass, sig; while((cqmsg - (struct
IntuiMessage •) GetMsg(window- UserPort))) ReplyMsa(dqmsg);
SetWindowTitles(window, -XL, "Keyclick VI.0 by Mike M.
Duppong"); while(1) sig « Wait (UL0NGH1L «
ih_info.key_signal) I (ULONG) (1L
(ULONG)window- UserPort- mp_SigBit)) ; if(sig & (ULONG)(1L
lh_info.key_signal)) click (); else msg - (struct IntuiMessage
*) GetMsg(window- User?ort); mclass ¦ msg- Class;
ReplyMsg(msg); • Reply to sender • switch(mclass) 1 case
CLQSEWINDQW: cleanupO; break; case GADGETUP: adjust volume ();
break; interrupt.is_Data = (AP7R)&ift_info; interrupt. Is_Node.
Ln_?ri = HAND LE R_? R1 OR IT Y ; iostdreq- io Command ° IND
ADDHANDLER; iostdreq- io_Data » (AP7R)t interrupt;
DoIO(iostdreq); clup |» CLUP HANDLER; watch() ¦ Watches input
device port for messages • init_info() * Initializes the
info structure • ( ih_info.taskp = FindTask(NULL); * Pointer
to TCB V SetTaskPri(ih_info.taskp, TASK_PRI0RX7Y);
ih_info,key_signal = AllocSignal(-1L); if(ih info.key_signal
= *= -1) error("Can't allocate a signal");
open_input_device() if((input_port =
CreatePort("keyclick,input", NULL)) == NULL) error ("Can't
create an input device message port."); if((iostdreq =
CreateStdIO(input_port)) -« NULL) error ("Can't create an
IOStdReq structure."); if((OpenDevice("input.device", NULL,
iostdreq, NULL)) !« NULL) error("Cannot open input device.");
clup |= CLUP_INPDEV; add_handler() I interrupt.is_Code *
handler_interface; adjust_volume() volume = ((long)
(prop.HorizPot) * 64L) » 16; click () (
ioaudio- ioa_Request.io_Command » CMD_WRITE;
ioaudio- ica_Request.lo_Flags * ADIOF_PERVOL; ioaudio- ica_Data
= (UBYTE ¦)waveform; ioaudio- ica_Length =* WAVELENGTH;
ioaudio- ica_?eriod * PERIOD; ioaudio- ioa_Volume =
(ULONG)volume; ioaudio- ioa_Cycles » CYCLES; BeginlO (ioaudio);
* Send off audio command * if(ChecklO(ioaudio)) errorf'Can't
communicate with audio device."); remove_handler ()
iostdreq- io_Conmand - INDREMHANDLER; iostdreq- icM)ata ¦
(APTR)4Interrupt; DoIO (iostdreq); 1 Would you use your Amiga
like this?
Struct InputEvent *input_handler(event, lnfo_str) register struct InputEvent "event,' register struct infostruct "info str; if((event- ie_Class = = IECLASS_RAWKE¥ !(event- ie_Code fi IECODE_UP_PREFIX)) || event- ie_Class IECLASS_RAWy.OUSE && (event- ie_Code == IEC0DE_LBUTTON I I event- ie_Code IEC0DE_RBU7T0N || event- ie_Code == IECODEJ-SUTTON) )} Signal (in£o_str“ taskp, (ULONG) CL « ir.fo_str- key_signal)) ; return(event); error(message) char "message; struct IntuiMessage “rr.sg; ULONG nclass NULL; * If the window opened okay, place the error message in the Workbench screen's title
bar and wait for the window to close. Otherwise, attempt to output the message to a CLI window with puts(). • if(window !» NULL) ¦ If opened successfully... * SetwindowTitles(window, -1L, message); while(mciass !» CLOSEWINDQW) WaitPort(window- User?ort); * Wait for a message V msg = (struct IntuiMessage *) GetMsg(window- User?ort); mciass ¦ msg-* Class; * Grab message class * ReplyMsg(msg); • Reply to message * } 1 else puts(message); * Try to output to CLI. * cleanup (); * Do the standard cleanup from here. ' Without ENCORE you might as well be!
Encore allows you to build macros by recording mouse movements and keystrokes. You can assign each macro to a key combination so that with a touch of the finger any macro can instantly be played back.
Macros can have spoken narration.
Macros can have scrolling text at the bottom of the monitor.
Macros can loop back for repeated playback.
Macros can be either relative or absolute.
Macros can be appended.
Macros can be user interactive.
Macros can be time or file compressed.
Macros can be of unlimited size.
Automatic mouse and keyboard lockout.
Works with any Amiga program.
Speech preferences program with phonemized word database.
No matter what you are using your Amiga for, Encore is a must for your software library.
See your focal dealer for details.
ENCORE is NOT COPY PROTECTED Suggested retail S69.95 Dealer inquiries invited.
Ri I nOVO PO Box 16757 (206)938-0825 bLIrOTO Seattle, Wa 98116 FAX (206)932-9520 cleanup () i struct Message "dqrasg; if(clup & CLUP_HANDLER) remove_handler(); if(Ih_info,key_signal != -1) FreeSignal((ULONG)(1L ih_info,key_signal)); if(clup & CLUP_INPDEV) CloseDevice(iostdrec); if(iostdreq) DeleteStdIO(iostdreq); if (Clup & CLUT_AUDDEV) CloseDevice(ioaudio); if(waveform != NULL) FreeMem(waveform, WAVELENGTH); if (ioaudio != NULL) FreeMem(ioaudio, (long)siteof(struct lOAudio)); if(input_port) DeletePcrt(input_port); if(audio_port) DeletePort(audio_port); if(window NULL) I" Make sure all
messages are answered * while ((dqmsg ~ GetMsg(window- UserPort))) RepIyMsg(dqmsg); CloseWindow(window); 1 if(image != NULL) FreeMem(image, (long)siteof(struct Image)); if(IntuitionBase 1= NULL) CloseLibrary (Intuitior.Base); exit(NULL); f asm cseg xref _input_handler xdef _handler_interface _handler_interface: move. 1 a4, - (a7) movem.l a0-al,-(a7) jsr geta4 jsr _input_handler addq.1 8, a7 move.I (a7)+,a4 rts fendasm
• AC* A A4 A Z J AT G .PRQG.RAMMJArG MOKE ABOUT LINKED LISTS INC
Techniques and Applications by Forest W. Arnold In AC V3.7,
William Gammill detailed linked lists and their usefulness for
managing dynamic memory. This article presents two clever
macros for dealing with doubly-linked lists.
In this article, I discuss singly-linked lists and list algorithms, develop procedures for managing the lists, show how different data types can be stored in the same list, and finally, present a simple graphics program to demonstrate how lists can be used.
Why Use Lists?
The first time I used a programming language with facilities for building linked lists, I couldn’t see how anything which looked so complicated could be worth the effort. At the simplest level a list storing only one kind of data the only advantage I could see for using lists (instead of arrays or matrices) was that I didn’t need to know in advance how much memory tire data needed. This dynamic aspect of lists is clearly an advantage over matrices, but I still didn't realize how powerful linked lists were. That is, until I learned how to store different data in the same list and how to build
tree structures.
When combined with C structures, function pointers, and recursion, linked lists can implement very complex program and data structures with surprisingly simple and concise techniques.
One example is the Amiga operating system and the Intuition software built on top of the system software. All Amiga and Intuition structures, tasks, files, and devices are created, managed, and destroyed using lists and queues. Lists and queues are implemented and manipulated with a only a few procedures. Much of the Amiga’s power, flexibility, and elegance can be attributed to the dynamic nature and generality of lists and queues.
Another example of the power of linked lists is provided by LISP, which combines both code and data into lists, lists of lists, lists of lists of lists, ad nauseam. It accomplishes this magic through these list structures and a single recursive “eval” routine (which “evaluates” the lists).
At first glance, structures and programs built from lists and trees appear complex, but the techniques and algorithms to construct and manage complex trees of program structures and data structures are the same as those used for a single linked list. Once you understand how to work with one linked list, you understand them all, no matter how elaborate. The following section describes two variations of the simplest type of list the singly-linked list. Doubly-linked lists are also briefly described.
Basic Linked List Structure If you have read some popular C programming books or the linked Lists article in AC V3.7, you probably already have some idea what a linked list is. If you are just starting with fists, though, this section should help you better understand the basic structure of finked lists.
A linked list is a sequence of objects (nodes) connected by pointers. Each list has a start node (the list head or top) and an end node (the list tail). Each node in the list has the same structure, and contains a link which specifies how to access (at a minimum) the next element in the list. A simple node for a singly-linked list can be defined in C as follows: typedef struct node struct node ‘next; * pointer to next node 7 unsigned chor ‘data; * pointer to the data 7 ) NODE_T; The pointer to the next node in the list (“next”) is called the link, since it strings the nodes together. Using
type “unsigned char •” to point to the node’s data lets you see the node structure as a “hook.” The "hook” points to any type of data structure you need and maintains a consistent set of procedures for manipulating the list structure, no matter how complex things get.
When the data pointer is placed in the node, the type is cast to “unsigned char when the data is accessed, the type is re-cast to the correct type. The cast operator ensures that the compiler correctly generates offsets into the poinred-to structure, and prevents die compiler from generating a lot of messy warning messages.
A doubly-linked list can be created by adding another pointer to the above structure. The doubly-linked list node is defined as follows: typedef struct node 1 struct node 'prev; ' pointer to previous node * struct node 'next; * pointer to next node 7 unsigned char 'data; * pointer to node's data 7 ) DNODEJ; A singly-linked list can only be traversed from a given stan node in the list to the end node. The start node can be any node in the list that can be accessed. A doulily-linked list can be (continued) If different types of data are stored in the same list, the 'dType’ field is stored in
the node structure instead of in the list header (since each node can carry around different data). The demonstration program in Listing 1 uses this technique to store both “point" structures and “line" structures in one singly-linked list. Another variation of the node structure for storing different data in the same list uses C's union construct to hold the actual data or a pointer to the data (rather than an untyped pointer to the data). The disadvantage of stormg the data using a union is that space is wasted if the data types are different lengths.
Figure 1 depicts a singly-linked list and a doubly-linked list. When drawing linked lists, the nodes are usually shown as rectangular boxes and the links (pointers) are shown as arrows pointing to the “next" (and “previous”) node. An “X” in a “next" box indicates the NULL pointer.
Singly-linked lists are either first-in, first-out (FIFO) lists, or last-in, first-out root [ J traversed from any node in the list either back to the beginning or forward to the end. Exec's lists are doubly-linked lists, while Intuition’s menu structures are singly-linked lists.
Memory For both the list nodes and the pointed-to data structures is usually dynAMIGAlly allocated as needed, and freed when no longer needed. This way the data structures can grow as large as memory permits, while using only the memory actually required. Dynamic memory allocation and deallocation are major benefits of linked lists. Statically allocated structures, such as arrays, always seem bigger than anyone ever needs.
(Except the first real user.)
To "anchor" the list to a place in memory where it can be easily accessed, a Figure One Singly-Linked List HEADER COUNT I D HI HI Doubly-Linked List HEADER COUNT IXT NEXT MODE | PSP | nexT I' first node in the list 7 • last node in the list 7 ' data type for the nodes 7 * number of nodes 7 Stack with 6 entries R NODE 1 NEXT NODE 2 NEXT NODE 3 NEXT NODE 4 NEXT NODES | NEXT | f H l~ 1 list header structure is generally used (but not strictly necessary). The header is another C structure which contains at least a pointer to the first node in the list. It may also contain a pointer to the
last node in the list, particularly if the list is doubly-linked or implements a queue. Other information frequently stored in the header includes a tally of nodes, a name for the list, and information identifying the type of data the nodes point to if all data in the list are the same type. A typical list header could be defined in C as follows: The list header structure Exec uses is almost identical to this example.
Figure Two Queue with 6 entries | RFO I 6 I TCP-1 I LAST=6 NODE 6 | NEXT | r ' | NODES | NEXT | t 1 | NODE 4 | NEXT | f 1 | NODE 3 | NEXT | r 1 | NODE 2 | NEXT | f-1
- | NODE 1 XI typedef struct llstHeader 1 struct node *top;
struct node ’tail; int dType; int count; ] HEADERJ: Queues and
Stacks (UFO) lists. In FIFO lists! Nodes are always removed
from the "top" of the list, and the First node placed in the
list is the first node removed from the list.
In LIFO lists, the last node placed in the list is the first node removed. When queues and stacks are implemented as lists, FIFO lists are used for queues and LIFO lists are used for stacks because of the insertion-removal relationship. Figure 2 shows list representations of both queues and stacks; the demonstration program creates both types of lists and prints them to files.
The basic data structures for all linked lists have now been presented, and all that is left to describe are the actual operations needed to manage lists.
List Operations A nice thing about linked lists is that there are only a few basic operations for lists; there are many variations in implementation, but the fundamental algorithms are the same. The basic operations are: (1) create a list; (2) create a node and its data; (3) insert a node in the list; (4) search a list for a node; (5) remove a node from the list; (6) delete a node and its data; and
(7) delete a list.
Once mastered, these operations can be applied to any linked list. In fact, if data type dependencies are kept out of the implementation, the exact same code can be used for any list.
(This was the purpose of the macros described in AC V3.7). This portability suggests packaging the node structure definitions and list operations into a single file as an abstract data type, usable without modification by any application. The code in the demonstration program does contain data dependencies. In my next article, I'll discuss how function pointers can be used to eliminate type dependencies.
In the following paragraphs, the basic operations for singly-linked lists are described as sequences of steps. Each description is followed by a description of the actual procedure in the demonstration program that implements the operation. The operations are meant for lists that can store pointers to different data types in each node. Aside from removing nodes from a list, all the operations are very simple and can be implemented with only a few lines of code.
List creation:
1. Allocate space for the list header.
2. Set the list “top" and “tail" pointers to NULL; set the
optional “count" field to zero.
In the demo program, the list headers are declared as actual structure instances (instead of being dynAMIGAlly allocated) because only two are used. The header structure is “typedefed” as HEADER_T. The header is an “empty" list into which nodes can be inserted.
Node-data creation:
1. Allocate space for the node.
2. Allocate space for the pointed-to data.
3. Initialize the variables defining the data to the appropriate
values.
4. Set the node data-type field to the code that corresponds to
the data structure.
5. Set the node “data” pointer to the address of the initialized
data structure, type-cast as ‘unsigned char *’
6. Set the node “next" field to NULL.
The demo program uses two data types: a POINT_TYPE and a LINE_TYPE. These correspond to the POINT_T data structure and the IINE_T data structure and are -define’d as integer values. The procedures createPointO and createLineO are implementations of node-data creation and initialization.
Both procedures return pointers to the newly-created and initialized NODE_T data structure.
Next, the node must be inserted into the node list. The method used depends on whether the list is a FIFO list or a LIFO list. For FIFO lists, new nodes are always added to the end of the list. For LIFO lists, new nodes are always added to the beginning of the list.
LIFO list node insertion:
1. Set the new node's “next” pointer equal to the “top" pointer
in the list header.
2. Set the "top" pointer in the list header equal to the address
of the newly-added node.
3. If the node is the first added to the list, set the “tail”
pointer in the list header equal to the address of the new
node.
4. (Optional) Increment the list node counter variable.
FIFO list node insertion:
1. If the new node is the first node added to the list:
a. Set the “top" pointer in the list header equal to the address
of the new node.
B. Set the “last” pointer in the list header equal to the address
of the new node.
2. Otherwise, set the “next” pointer of the last node in the list
equal to the address of the new node.
3. Set the “tail” pointer in the list header equal to the new
node’s address .
4. (Optional) Increment the list node counter variable.
The procedures insertlnStackO and insertlnQueueO in the demo program are implementations of list node insertion.
Both procedures take a list header's address and the address of Figure Three UFO 11 BEFORE node 4 inserted | htASCP j 3 | flgtiJ [ Ug«1 |
- K N006J [ Npfl f -H N°C*2 1 I H *** 1 IX] UFO Hit AFTIR nods 4
Inwrlea [ Kaixa ] i j acsi«« | ug.r~| _ f NCCti | HDQ )-»|
HOPES j NeirT | HCCtJ NSC | H ' CXU FIFO list BEFORE nod© 4
Inserted I KAOCF I 3 I Hrfl.l | IA5vi~| ~ _ ' } _ taxi | rcn
] * nope; rot | wooes j n=xt | | IJXJ FIFO II AFTER rode 4
Inserted [ AOtP~| i | fKSI.j [ ' ~ ¦»] NQP6I | ser.
J~ Hptxi | Next | Noaj | netr | | Kra* Linked List Node
insertion a node to add to the list as input arguments and then
add the node to the list. Figure 3 shows "before" and “after”
pictures of list node insertion.
To search a list for a node:
1. Set the current node equal to the “top” node in the list
header.
2. If the current node is NULL, the end of the list has been
found. Return NULL.
3- Otherwise, compare the node or the node's data to the search criteria.
4. If a match is found, return the pointer to the node.
5. Otherwise, set the current node equal to the address of the
node stored in the current node's “next” pointer.
6. Go to step 2.
Searching a singly-linked list follows the chain of link (“next”) pointers. The process is often called “pointer chasing."
The actual search criteria used depends upon the application. In the demo program, the search criteria are (x,y) coordinates generated by a mouse select button event. SearchLiscO implements the coordinate search and returns either a pointer to the found node or a NULL pointer.
Figure Four UFO list BEFORE node 3 inserted | HtADtB | * | FfgT.j | LA5T-I | ~ 'I ¦»] nope* | rerr } »| Nooes | wrxi | hoce3 | sgarr j H I XTI FIFO It AFTER node 3 inserted | KA1XD | 3 | FCSi.4 | LAST.l f i , 4 riOCC* | NfXl |- 1 KOC6 2 | NEXT j | MOOS 1 | X | I "“‘IXI Linked List Node Removal _ (continued) The operation to remove a node from a list is more complicated than the other list operations. To preserve the list’s integrity when a node is removed, the “next" pointer that precedes the “to-be-removed” node must be set to point to the node after the node to be removed. If the node
being removed is the first node in the list it obviously has no predecessor, and if it is the last node in the list, it has no successor. This quirk makes implementation of the algorithm more involved.
7b remove a node from a singly-linked list:
1. If the node to be removed from the list is the top node in the
list:
a. Set the “top" pointer in the list header equal to the "next”
pointer of the node to be removed.
B. If the node to be removed is also the last node in the list,
set die “tail" pointer in the list header to “NULL."
C. (Optional) Decrement the list node counter.
TL Return “success.”
2. Otherwise, set the previous node equal to top node.
3. Set the current node equal to the previous node’s “next”
pointer.
4. If the current node is “NULL," return “failure."
5- If the node is equal to the node to be removed:
a. Set the previous node’s “next" pointer equal to the current
node’s “next" pointer.
B. If the current node is also the last node in the list, set the
“tail” pointer in the list header to point to the previous
node.
C. (Optional) Decrement the list node counter.
D. Return "success."
6. Otherwise, set the previous node equal to the current node. Go
to step 3.
If the list is a LIFO list, the “tail" pointer in the list header is not needed, and node removal can be simplified by eliminating the steps that check for removal of the last node. The procedure removeNodeO in the demo program implements the algorithm shown above. Figure 4 is a diagram of a list before and after removal of a node.
To delete a node-data couple:
1. If the node pointer is NULL, return “failure.”
2. Otherwise, if the node data pointer is not NULL, free() the
“pointed-to" data structure.
3. Free( ) tire node structure. Return “success.” The demo
procedure deleteNode() takes a node pointer as input,
determines the type of the pointed-to data, and calls
deletePointO or deleteLineO to perform the actual node-data
deletion.
The final singly-linked list operation is deletion of the entire linked list. This is done by iterating through the list, and deleting each node-data couple when encountered.
To delete an entire singly-linked list:
1. Set the current node equal to the list “top" node.
2. If the current node is NU1X:
a. set the “last” node pointer in the list header to NULL.
B. return “success."
3. Otherwise, set the list “top" node pointer equal to the
current node's “next” pointer.
4. Delete the current node.
5. (Optional) Decrement the list node counter.
6. Go to step 1.
We’ve now seen all the basic list operations. Before we move on to another topic, I’ll make a few comments. First, unless adding the node-data couples to the end of a list is necessary (for a queue, for example), the tail pointer to the last node in the list is unnecessary. Second, in many cases, the list header itself can be eliminated. Umess information that applies to the list as a whole is needed, the list can be accessed by a statically-allocated node as the first node in die list.
Finally, in cases that require many small memory allocations and deallocations, using "malloc” (or “calloc”) and "free" can be time-consuming. If speed is a primary consideration, implement an internal memory management scheme, allocate a large chunk of memory at start-up time, and use custom w'ritten procedures to allocate and deallocate small segments of memory.
Disadvantages of Using Lists Aside from memory allocation speed, the only drawback I find with linked lists is that to access any given node, the list must be searched sequentially. This is true for both doubly- and singly-linked lists. Even when data is inserted to the list in sorted order, the list must still be sequentially searched. Several techniques (beyond the scope of this article) can overcome the search drawback. Such techniques allow' a node to be found in the time it takes to perform a binaiy search of an array.
Putting Lists to Work Seeing uses for linked lists :s much more informative than reading a description of how they work. So, in addition to the procedures that implement the basic list operations, the demonstration program also contains the following procedures to manipulate lists:
1. Procedure reportListO prints the node structure and the
pointed-to data structure to a file.
2. Procedure displayListO graphically displays the pointed-to
data (points t.nd lines) in an Intuition window.
3- Procedure displayNodelnfoO highlights a picked point or line and displays the point or line data in a text message window. This procedure calls display PointlnfoO or dispIayLirelnfoO to highlight and display the data.
LISTDEMO.C The Demonstration Program The demo program in Listing 1 is contained in a single file and can be compiled and linked in one step. The Lattice compile and link command is Tc -L listDemo.c'. The program is run from a CL1 wandow.
The program creates both a FIFO list and a LIFO list, each containing five point data rypes and five line data types.
The program prints each list to a separate files in the current directory, so you can see the difference between the lists. The FIFO list output file is “queue.out,” and the LIFO list output file is “stack.out”. The FIFO list is then deleted since it is not used for tire remainder of the program. The program also deletes the first and last entries in the LIFO list, and again prints the list after each node-data couple is deleted.
Then the program gets a little more interesting. Intuition is set up, a window is opened, and the LIFO list data is graphically displayed. The program calls handlelnputf ), an input handling procedure that monitors the IDCMP until the mouse select button is pressed and released. The mouse cursor coordinates are sent to the procedure searchListO, which looks for a node at the selected coordinates.
If the selected coordinates are within four pixels of a point (displayed as an “x”) or line segment, searchList() returns a pointer to the node that points to the point or line. The input handler then halts monitoring the IDCMP and calls displayNodelnfoC) with a pointer to the found node. The point or line is “highlighted,” and gpDisplayMsg() displays the data for both the node and the picked point or line in a “message” window. Closing the message window with the close gadget returns control to handlelnputO, which then resumes monitoring input events. Closing the graphical display window
with the close gadget stops the program.
I mentioned earlier that some list procedures contain data type dependencies. These procedures are reportListC ), search- ListC), displayList( ), displayNodelnfoC ), and deleteNode().
Each procedure makes specific comparisons of the dataType variable stored in the node to determine if the “pointed-to" data defines a point or a line. The procedure then calls the appropriate point or line procedure.
Embedding type dependencies in a procedure guarantees that the procedure can be used only for the specific types coded into the procedure. In my next article, I'll discuss a technique that uses function pointers and function pointer tables to remove type dependencies from the code. I'll use this same demonstration program (with modifications) to demonstrate the function pointers.
Conclusion Lists containing only primitive node-data couples are handy and provide a consistent mechanism for manipulating varied types of data. The real power of lists, though, is not evident until they are used in tree structures. Since a node in a list can point to anything (including procedures), the node can also point to another list. By constructing lists whose elements are also lists, very complex, hierarchical data structures can be easily implemented and managed with only the simple methods discussed above. In fact, if properly constructed and combined with die proper control
mechanisms, an entire database can be managed by simply managing the single record that contains the top-level header or node.
Once you understand pointers and master the algorithms presented in this article, you should be able to begin exploiting the full power of linked lists in C. Further Reading Two of the best, most understandable books covering linked lists I have found are: Advanced C: Techniques & Applications, Gerald E. Sobelman and David E. Krekelberg, Que Corporation.
Data Structures and Cprograms, Christopher J. Van Wyk, Addison-Wesley.
Advanced C: Techniques & Applications, is available in paperback and is relatively inexpensive. If you are interested in applying lists to graphics programs, I highly recommend it. Data Structures and C Programs is more theoretical and covers a wide range of advanced topics (applied theory with many good examples in C). I recommend it for anyone who has passed tire intermediate C programming stage.
Until next time - keep programming!
Listing One S' Listing 1. Linked List Demo Program Source Code ¦ listDemo.c - program to demonstrate generic linked
• lists with different data types
* c) Copyright 193B by Forest W. Arnold *t .=================
========SS=====S„S55* ?include exec types.h ?include
intuition intuition.h ?include stdio.h ?define
INTU:TION_REV 33 ?define GRAPHICS_REV 33 struct IntuitionBase
*IntuitionBase; struct GfxBase *GfxBase; * ’make life easy'
stuff * ?define BOOLEAN int lifndef FALSE ?define FALSE 0
?endif lifndef TRUE ?define TRUE 1 ?endif lifndef NOT ?define
NOT ; ?endif ?define NEW (x) ( (x *)malloc( sizeof(x) ?define
FREE (x) ( free (char ") x ) ) ?define ABS(X) ( x) 0 1-
(x) :
(x) ) ?define MIN(x,Y) x)
(y) i x) : (y) ?define MAX x,y) (
(x) ly) l
(x) : (y!
*
* define some data types to put into the list
* We'll use a simple pixel point and define a line
* using two instances of a point.
* typedef struct point short x; short y; ) POINT_T; ?define
POINT_TYPE 1 typedef struct line short xl,yl; short x2,y2; }
LINEJT;
• define LINE TYPE 1
* define a node for the linked list. Note that we use
* a pointer to 'unsigned char' to point to the actual
* data so we can point to anything.
Typedef struct node * the list 'link' pointer * * code for type of data * * pointer to the actual data * struct node 'next; short dataType; unsigned char 'data; } NODE T; i; i 5; i + + if ( sNode = createPoint x,y ) ) for ( (void) insertlnStack( 4stackHead,sNode ); if ( qNode = createPoint! X,y ) ) (void) insertlnQueue( &queueHead,qNode ); if ( sNode = createLine( xl,yl,xl+xlnc,yl-ylnc ) ) (void) insertInStack( SstackHead,sNode ); if ( qNode = createLlnet xl,yl,xl+xlnc,yl+ylnc ) ) (void) insertInQueue( 4queueHead,qNode ); x += 60; y +=* 20; xl *= 60; yl += 20; temp = xlnc; xlnc
= ylnc; ylnc = temp; define a generic list header. For 'stacks', only the topNode ptr is needed. For ’queues', both node pointers are needed. The count variable is optional typedef struct header NODEJT 'topNode; NODE JT 'iastNode; int count; ) HEADER_T; ' define the procedures for manipulating the data types ' * output both lists to a file if ( NOT (stackFile * fopen("stack.out","w")) II NOT (queueFiie - fopen("queue.out","w")) ) printf(“Can*t open output files."); (void) deleteList ( 4queueHead ) ,- (void) deleteList! 4stackHead ); exit (1); 1 fprintf(stackFile,"Initial stack: n n");
fprintf(queueFiie,"Initial queue: n n"); (void) reportList( stackFile,istackHead ); (void) reportList ( queueFiie, kqueue.Head ); * * return line 4 node * 'push' * append * remove ' delete * delete ' display * display * output * search insertlnStack (); insertInQueue(); removeNode ); deleteNode(); deleteList ); displayList(); displayListlnfoO , reportList();
• searchList(); BOOLEAN BOOLEAN BOOLEAN BOOLEAN BOOLEAN BOOLEAN
BOOLEAN BOOLEAN NODE 7 struct Window H£ADER__7 NODEJT FILE-
unsigned long unsigned short iFlags; short i,x,y,xl,yl; short
xlnc,ylnc,temp; wFiags =
WINDOWCLOSSIWINDOWDRAGISMART_REFR£SH[ACTIVATE; iFlags »
CLOSEWINDOW|M0USE3U770NS; N0DE_7 'createPoint (); BOOLEAN
searchPoint 0; BOOLEAN deletePoint0; BOOLEAN displayPoint 0;
BOOLEAN displayPointlnfo ); BOOLEAN reportPoint }; NODEJT
'createLine }; BOOLEAN searchLine 0; BOOLEAN deleteLine(};
BOOLEAN displayLine0; BOOLEAN di3playLine!nfo(); BOOLEAN
reportLine(}; ' intuition interface routines BOOLEAN
openLibs(); void closeLibsd; void cleanup (); struct Window
'allocWindow0; void gpDispiayMsg(); void handlelnput ); node
onto node list node to end of list node from list a node 4 data
entire list entire list info about a node info about list list
for a datatype
• window; stackHead,queueHead;
• sNode,'qNode;
• stackFile,'queueFiie; wFlags; return point 4 node * main 0
if sNode (void) removeNode(4stackHead,'Node); (void)
deleteNode(sNode); fprintf(stackFile," n nStack efter deleting
*); fprintf(stackFile,"last node:vn n"); (void) reportList!
StackFile,SstackHead ); } fflush(stackFile); fclose(stackf
ile); * initialize intuition stuff 4 display the data * if
NOT openLibs () ) cleanup(4stackHead,NULL); exit (1); ) if (
NOT (window“allocWindow(NULI., NULL, 40, 20, 560, 150, “LIST
DEMO",vFlags,iFlags,-1,-1)) ) cleanup £4stackHead,NULL); exit
(1 ; ) SetAPen(window- RPort,1); Move twindow- RPort,180, 140);
Text(window- RPort,"Pick entity to show data.",25);
(void)displayList( window,4stackHead ); * process input until
window close gadget picked * (void) deleteList( squeueHead );
fflush(queueFiie); fclose(queueFiie); * search for 4 remove
first 4 last node if ( sNode » searchListUstackHead,375,100) )
( (void) removeNode(istackHead,sNode); (void)
deleteNode(sNode); fprintf(stackFile," n nStack after deleting
”); fprintf(stackFile,"top node: r n"); (void) reportList(
stackFile,SstackHead ); har.dielnput (window, 4stackHead);
cleanUp( 4stackHead,window ); exit (0); free the queue since
we111 nc longer use it searchList(4stackHecd,120,30) } : •
initialize the list headers. Make sure pointers start out as
'NULL'. This will be the signal that the end of the list has
been reached stackHead. TopNode 2 stackHead. LastNcde * NULL;
queueHead.topNode = queueHead.lastNode = NULL; stackHead.count
= queueHead.count =0; void cleanUp(hdr,window) HEADER JT *hdr;
struct Window ‘window; if ( hdr ) deleteList hdr ); if (
window ) CloseWindow( window ); closeLibs () ; )
insertlnStack() - insert a node into a stack by 'pushing' it
onto top of list for a 'stack', we simply make the node's
'next' ptr point to the top node in the list, then make the
node the top of the list BOOLEAN insertlnStack(hdr,node)
H£ADER_T "hdr; NODE_T "node; !
• check for valid hdr & node pointers • if (NOT hdr || NOT node ) return! FALSE ); node- next = hdr- topNode; f3 link it * hdr- topNode = node; • make node the new 'top' • update ptr to last node if this is first node in the list, then update node count if (NOT hdr- lastNode ) hdr- lastNode = node; hdr- count++; return( TRUE ); fprlntftoutFile,"Linked list output: n“); fprintf(outFile,"topNode = %x, lastNode = %x n", hdr- topNode,hdr- lastNode); fprlntf(outFile,"Number of nodes n %d n",hdr- count); node - hdr- topNode; while ( node ) " stop when pointer is NULL fprintf (outFile,
" nnode 4 %x, next = %x n", node,node- next); fprintf(outFile,"datatype = %d, data ptr = %x n", node- dataType,node- data)j * get type and call appropriate report routine if ( node- dataType POINT_TYPE I (void) reportPoint( outFile,node ); else if ( node- dataType « LINE_TYP£ ) (void) reportLine( outFile,node ); node =* node- next; * get ptr to next in list } return! TRUE ); ) -
* searchList!) - look for a node at inout coordinates
lnsertlnQueue(J - insert a node into a queue by appending it to
bottom of list.
For a "queue", we simply make the last node in the list point to the new node, make the new node point to NULL, and update the headers ’last node' pointer.
• BOOLEAN insertlnQueue(hdr,node) HEADERJf "hdr; nodejt *node; ( * check for valid hdr & node pointers if NOT hdr )| NOT node } return! FALSE }; node- next = NULL; NODE_T "searchList! Hdr,x,y ) HEADER_T "hdr; short x,y; N0DS_T "node; • the current search node if ( NOT hdr ) return( FALSE ); node = hdr- topNode; • start at top while! Node ) * stop when node is NULL found it if ( hdr- lastNode ) * is list empty?
* I " Not empty " hdr- lastNode- next = node; * Append node
V hdr- lastNode = node; I * update header " 1 else j * list
is empty * hdr- topNode * node; * update both top "
hdr- lastNode = node; " and last pointers • hdr- count- --!-;
return! TRUE ); if ( node- dataType POINT_TYPE ) [ if
searchPoint(node,x,y) ) return! Node ); * 1 if (
node- dataType if ! SearchLlne(node,x,y) ) return( node ); LINE
TYPE ) ( i
* BOOLEAN deleteList!) - delete an entire linked list
* follow list pointers from top to bottom, freeing the
* data, then the node. Update top pointer as we go.
Node = node- next; " get next node in the list * * =* =* I return( NULL ); * didn't find one at the x,y dlsplayList() - graphically display entire list displayNodelnfo!) - text display of data for a node BOOLEAN deleteList! Hdr ) HEADER_T "hdr; I NODE_T "node; * the current node to delete ' if ( NOT hdr ) return ( FALSE }; while ( node * hdr- topNcde ) * stop when 'NULL' * !
Hdr- topNode = node- next; ¦ update list top ptr * void) deleteNode( node ); * delete it * hdr- count ; ) hdr~ lastNode = NULL; • update hdr 'last' ptr* return! TRUE ); BOOLEAN dlsplayList( window,hdr ) struct Window "window; HEADER_T "hdr; ( N0DE_T "node; * the current node if ( NOT hdr I I NOT window ) return! FALSE ); node “ hdr- topNode; * start at top while! Node ) if ( node- dataType -- POINTJTYPE ) (void) displayPoint( window,node ); else if ( node- dataType =* LINE_TYPE ) (void) displayLinel window,node ); node = node- next; * get next node in the list ) return( TRUE ); * stop
when node is NULL BOOLEAN reportList! OutFiie,hdr ) FILE “outFile; HEADER T "hdr; !
"node; " the current node NODE T BOOLEAN displayNodelnfo window,node ) struct Window "window; NODE T "node; if ! NOT node M NOT window ) return! FALSE ); if ( node- dataType POINTJTYPE ) (void) displayFointlnfo( window,node ); else if ( node- dataType == LINEJTYPE ) (void) displayLinelnfo( window,node ); return! TRUE );
* removeNode() - remove a node from a list. This is ¦ the
trickiest one
- =* BOOLEAN removeNode(hdr,node) H£AD£R_T *hdr; N0DE__7 -node;
t NODE T Bprev,-curr; * previous,current nodes if ( NOT hdr II
NOT node ) return( FALSE ); * check the top node first if
NOT (prev » hdr- topNode) ) return! FALSE ); * list is empty
if ( NOT (point=NEW(FOINT_T)} ) * allocate the point ¦ *
didn't get it * FREE( node ); * release node memory* return
( NULL ); } point- x - x; point- y - y; • init the point • -
initialize the node. Coerce point to unsigned char -
node- next = NULL; node- dataType = PQINT_TYPE; node- data =
(unsigned char*)point, return! Node ); ) - * BOOLEAN
deletePoint! Node ) NODEJT -node; !
POINT_T -point; make sure we have a valid node pointer, correct data type, and valid pointer to free * is it the top node ?
If ( prev == node ) hdr- topNode = prev- next; * re-link nodes • is it also last ?
If ( prev hdr- lastNode ) hdr~ lastNode = NULL; hdr- count-; return( TRUE ) ; * it wasn't the first one - have to search the list - while! Curr » prev- next if ( node == curr ) • is this it ?
prev- next - node- next; * re-link nodes if(node == hdr- lastNode) * is it also last hdr- lastNode * prev; hdr- count-; return! TRUE ); - reset previous * not in list prev = curr; return ( FALSE ); } *» * deleteNode!) - delete a single node & its data BOOLEAN deleteNode! Node ) N0D£_7 -node; if ( NOT node ) return! FALSE ); if ( node- dataType ” P0INT_7YPE } return! DeletePoint! Node ) ); else if node- dataType LINE_TYPE ) return! DeleteLine( node ) ); else return! FALSE ); Procedures for points: createPoint 0 - create and initialize a point s. Its list node deletePoint!) - delete
an instance of a point reportPoint(} - output info about a point instance searchPoint() - see if a point is at input coordinate displayPoint() - graphically display a point displayPointlnfo!) - display data in message window if ( NOT node I I node- dataType !* POINT_TYPE ) return( false ); if ( NOT (point = (POINT_T*)node- data) ) return! FALSE ); FREE! Point ); FREE! Node ) ; return! TRUE ); ) * BOOLEAN reportPoint! OutFile,node ) FILE -outFile; NODE T -node; POINTJT -point; * make sure pointer is valid & type is correct if ( NOT node II node- dataType !- POINTJTYPE ) return( FALSE );
if ( NOT (point = (POINT_T*)node- clata) ) return! FALSE ); fprintf(outFile, " point - %x, x point,point- x,point- y); return! TRUE ); ) - - BOOLEAN searchPoint! Node,x,y ) NODE_T -node; short x,y; I P0INT_T -point; short xDistryDist; short eps = 4; if ( NOT node || NOT (point return! FALSE ); (POINT T-)node- data) ) xDist - ABS( x - point- x ); yDist » ABS! Y - point- y ); if ( xDist *= eps && yDist ¦ eps ) return ( TRUE ); return! FALSE }; I *-V BOOLEAN displayPoint! Window,node ) struct Window -window; NODE T -node; 1 POINTJT -point; short x,y; • make sure we have valid data, tie
display it • if ( NOT window II NOT node ) return! FALSE ); if ( NOT (point = (POINT_T *)node-;data)) return(FALSE); - x ¦ point- x; y » point- y; Move(window- RPort,x-2,y-2) Draw window- RPort,x+2,y+2) Move(window- RPort,x-2,y+2) Draw!window- RPort, x+2,y-2) return( TRUE ); N0DE_T 'createPoint! X,y ) short xfy; NODE_T 'node; * the list node to carry the point P0INT_T ‘point; " the point structure if ( NOT node*NEW(NODE T)) ) - allocate the node * BOOLEAN displayPointlnfo( window,node ) struct Window "window; NODE T "node; t POINT T "point; char strl(€1],str2[61],str3[ 61) ; * make
sure we have valid data, then display it * if ( NOT window || NOT node I return( FALSE ); if ( NOT (point=(POINT_T *)node- data)) return IFALSEI; SetAPen(window- RPort,3); * highlight it * (void) displayPoint( window,node ); 1* put data into strings & display message window * sprintf(strl,"Node ¦ %x, next - %x, data - %x", node,node- next,node- data); sprintf(str2, "Picked entity type is POINT_JTYPE") ; sprintf(str3,"x = %d, y * %d",point- x,point- y); gpDlsplayMsg(strl,str2,str3); " display the data " SetAPen(window- R?ort,1); * unhighlight it * (void) displayPoint( window,node );
return( TRUE ); ) *
* Procedures for Lines:
* createLineO - create and initialize a line & its
* list node
* deleteLineO - delete an instance of a line
* reportLineO - output info about a line instance
* searchLineO - see if a line is at input coordinates "
displayLine0 - graphically display a line segment
* displayLinelnfo() - textually display line info " N0DE_T
"createLine( xl,yl,x2,y2 short xl,yl; ) short x2,y2; node to
carry the line * structure * * allocate the node * *
allocate the line * * didn't get it * * release node memory
*7 ; * init the line * NODE_T "node; " the list LINE_T
"line; * the line if (NOT (node=NEW(NODE_?)) ) return( NULL );
If ( NOT (llne NEW(LINE_T)) ) ( FREE( node ); return( NULL ); )
line- xl = xl; Iine- yl = yl line- x2 ¦ x2; line- y2 = y2 ¦
initialize the node. Coerce line to unsigned char " node- next
= NULL; node- dataType = LINE_TYPE; node- data = (unsigned
char*)line; return( node ); } • * BOOLEAN deleteLine( node )
NODE_T "node; LINE_T "line; "
* make sure we have a valid node pointer & correct
* data type • if ( NOT node || node- dataType !- LINE_TYPE )
return £ FALSE ); if ( NOT (line = (L1NE_T*)node- data) )
return ( FALSE ); FREE( line ); free( node ) ; return( TRUE );
1 " • BOOLEAN reportLine outFile,node ) FILE "outFile;
NODE_T "node; !
Line_t "line; ¦
* make sure pointer is valid i type is correct * if ( NOT node
I| node- dataType !- LINE TYPE } return( FALSE ; if (NOT (line
» (LIN£_T*)node- data) ) return( false ); fprintf(outFile,"
line - %x, xl - %d, yl - %d", line,line- xl,line- yl);
fprintf(outFile,* x2 - %d, y2 - %d n", llne- x2,line- y2);
return( TRUE }; ) • * BOOLEAN searchLine( node,x,y ) N0DE_T
"node; short x,y; LINE_T "line; short minX,minY,maxXrmaxY;
short eps “ 4; if ( NOT node I I NOT (line -
(LINE_T")node- data) ) return( FALSE ); "
• NOTE: this method or determining if point is on
• line only works for horiz i vert line segments " * build an
"epsilon' box around line segment * minX =
MIN(line- xl,line- x2) - eps; minY - MIN(line- yl,line- y2) -
eps; maxX - MAX(line- xl,line- x2) + eps; maxY -
MAX(line- yl,line- y2) + eps; if ( minX - x 44 x “ maxX minY
= y 44 y - raaxY ) return( TRUE ); return( FALSE ); J * •
BOOLEAN displayLine( window,node ) struct window "window; NODE
T "node; LINE_T "line; " make sure we have valid data, then
display it * if ( NOT window II NOT node ) return( FALSE ); if
| NOT (line - (LINEJT *)node- data)) return(FALSE);
Move(window- RPort,line- xl,line- yl);
Draw(window- RPort,line- x2,line- y2); return! TRUE ); } • *
BOOLEAN displayLinelnfo! Window,node ) struct Window "window;
S0DE_T "node; ( LINE_T "line; char strl[61],str2161],str3[61];
* make sure we have valid data, then display it * if [NOT
Window It NOT node ) return! FALSE ); if ( NOT (line - (LINE_T
* node- data)) return (FALSE); SetAPen(window- RPort,3); "
highlight line * (void) displayLine! Window,node ); * put
data into strings fi display message window *
sprintf(strl,"Node - %x, next - %x, data - %x",
node,nodc- next,node- data); sprintf(str2, "Picked entity type
is LINE_TYPE"); sprintf(str3,"xl - %d, yl - %d, x2 - %d, y2 -
%d", line- xl,line- yl,line- x2,line- y2);
gpDisplayMsg(strl,str2,str3); * display the data *
SetAPen(window- RPort,1); * unhighlight line * (void)
displayLine( window,node ); return! TRUE ); }
*«...... ..... - ...... •
* Intuition Utility Procedures:
* openLibsO - open libraries closeLibs!) - close intuition
libraries allocWindowO - allocate,lnititalize 6 open window
gpDlsplayMsg ) - display a message to a graphical message
window handlelnput - intuition input handler 300LEAN cpenLibs 0
IntuitionBase « (struct IntuitionBase *) OpenLibrary
(‘“intuition.library", INTUITION_R£V) ; if ( NOT IntuitionBase
return( FALSE ); GfxBase - (struct GfxBase *}
OpenLibrary("graphics.library",GRAPHICS_REV); if ( NOT GfxBase
) return ( FALSE ) ; return ( TRUE I; ) * * void closeLibsO i
if ( IntuitionBase ) CloseLibrary(IntuitionBase) ; if ( GfxBase
) CloseLibrary(GfxBase); ) *1 struct Window ’allocWindow(
screen,gadget,x,y,w,h,name, wFlags,iFlags,cO,cl ) struct Screen
‘screen; struct Gadget ‘gadget; SHORT x,y,w,h; char ‘name;
ULONG wFlags; USHORT iFlags; SHORT cO,Cl; struct NewWindow
NewWindow; struct Window ‘window; NewWindow.LeftEdge * x;
NewWindow,TopEdge = y; NewWindow.Width = w; NewWindow.Height -
h; NewWindow,DetailPen = cO; NewWindow.BlockPen ¦ cl;
NewWindow.Title ¦ name; NewWindow.Flags = wFlags;
NewWindow.IDCMPFlags = iFlags; NewWindow.Type - WBENCHSCREEN;
NewWindow.FirstGadget = gadget; NewWindow.CheckMark *» NULL;
NewWindow.Screen = screen; NewWindow.BitHap - NULL;
NewWindow.MinWidth = 20; NewWindow.MinHeight -20;
NewWindow,Maxwidth - 640; NewWindow,MaxHeight » 400; window «
(struct Window *)OpenWindow( iNewWindow ); return( window ); 1
--V void gpDisplayMsg(strl, str2,str3) char *strl,*str2,*str3;
I struct IntuiMessage *msg; struct Window ‘msgWindow; unsigned
long wFlags,class; unsigned short
iFlags=CLOSEWINDOWIINACTIVEWINDOW; if ( ’strl « ' 0' 44 'str2
== ‘ 0' 55 *str3 « * Q* return; • allocate the message
window ¦ wFlags « WINDQWCLOSE|WINOOWDRAGjACTIVATE; if ( NOT
(msgWindow * allocWindow(NULL,NULL,50,20,550, 70,"= MESSAGE
»*,wFlags,iFlags,-1,-1») J return; if ( strlen (strl) 60 ) *
clip txt len to 60 chars *
* (strl+60) - ' 0'; if ( strlen (str2) 60 )
* (str2+60) - ' Q'; if ( strlen (str3) 60 )
* (str3+60 = ' 0'; SetAPen(msgWindow- RFort,1); * display
messages * Move(msgWindcw- R?ort,10, 20) ;
TextlmsgWindow- RPort,strl,strlen(strl));
Move(msgWindow- R?ort, 10, 30); Text(msgWindow- RPort,str2,
strlen(str2)); Move (msgWir.dow- RPort, 10,40);
Text(msgWindow- RPort,str3,strlen(str3 ); fort;;) Wait( 1 «
msgWindow- User?ort- mp_SigBit ); while ( msg = (struct
IntuiMessage1') GetKsg(msgWindow- UserPort) ) class -
msg- Class; ReplyMsgt msg ); if ( class == CLOSEWINDOW || class
=» INACTIVEWINDOW ) ( while( msg - (struct IntuiMessage*)
GetMsg(msgWindow- UserPort) ) ReplyMsg( msg ); CloseWindowl
msgWindow ); return; ) J* end if * } * end while * ) * end
for * ) •-V void handlelnput( window,hdr ) struct Window
‘window; HEADER_T ‘hdr; ( struct IntuiMessage ‘message; ngde_t
-node; unsigned short snCode; unsigned long mClass,iFlags;
short nX,nY; Iflags = window- IDCMPFlags; * save ID CM? Flags
" * wait for a message to arrive * for (;;) Wait( 1 «
window- UserPort- mp SigBit ); • process messages until there
are none * while( (message « (struct IntuiMessage *) GetMsg
(w:.ndow- User?ort) ) ) • get message info we'll need and
process it " mClass - message- Class; mCode = nessage- Code;
rnX - message- MouseX; mf - nessage- MouseY; ReplyMsg( message
); * see if this is an event we're interested in * if (
mClass =» CLOSEWINDOW ) * shutdown 4 stop* while ( (message
- (struct IntuiMessage *} GetMsg(window- User?ort) ) )
ReplyMsgt message ); ModifylDCMP(window,NULL); I* halt input *
return; } if ( mClass »“ MOUSESUTTONS i4 mCode -= SELECTOR )
I* search for entity 4 sh)w entity info ¦ if ( node -
searchList(hdr,mX,mY) } ModifylDCMP(window,NULL); * block
input * (void) displayNodelnfo(window,node);
ModifylDCMP(window, iFlags); * resume input’ ) J ) ¦ end
while " 1 ¦ end for *
• AC- POWER HUNGRY Whether you own an Amiga 500, 1000 or 2000
you'll want to feed it right. Fortunately we re here to help.
At Expansion Technologies we provide high quality expansion
products that are guaranteed to keep your Amiga growing happy
and strong, just check out our menu : If your Amiga has a
really voracious appetite, but your pocket book is on a diet,
try our Escort 30Mb SCSI hard drive at a 20Mb price.
Controllers, with a bus return are available for both the A500
as well as the A1000, Each accepts our 3.5 or 5.25 inch drive
chassis (available in sizes Lip to 80Mb) with fan and power
supply and is fully compatible with WorkBench 1.3. If you
prefer buffet, buy the kit and supply your own drive.
However you do it you'll enjoy lots of storage space at a great price.
Now thats serious fast food!
Escort Hard Drive kits A500 30Mb ......$ 699 A500 Kit 3-5 inches $ 339 A1000 30Mb ....$ 759 A1000 Kit 3-5 inches .$ 379 Call for other sizes.
For the discriminating pallet of the expansion hungry Amiga 1000 we have the ever popular Escort 2. It's 2 megabytes of no wait-state memory chat meets all the known standards and then some. It's also a uniquely designed vertical 2-slot card cage that offers incredible flexibility, Like the ability to upgrade to a scrumptious 4 megabytes of memory, or you can add a hard disk controller that uses IBM type hard drives, or an external power supply for the bus return or...well, you get the idea.
Truly a meal fit for a king!
Escort 2 (0k mem) .$ 339 2 megabyte upgrade card (OK mem) .$ 279 ST-506 hard drive controller card and power supply $ 399 Simply the best engineered 3 5 inch external floppy drive available for your Amiga, and it's 100% 1010 compatible.
The precision drive mechanism is ultra quiet and has the highest MTBF specifications. A low power CMOS design and pass through allows for easy daisy chaining too. Its low profile (1x4x8 in.)
Allows A500 disks to eject over the top, and it fits right under an A1000. Includes an extra long cable, heavy steel chassis and faceplate with dust cover. Why buy less than this Made In The U.S.A drive.
Notv you're cooking with gas!
Escort 3.5 in. Floppy $ 179 Feed your power hungry Amiga right- give it peripherals from Expansion Technologies.
* Toothpicks not included VISA and MasterCard accepted. Dealer
Inquiries invited Lunch for lawyers: Arnica Ls a trademark of
Comniodurc-Antiga, Inc. IBM is a trademark of International
Business Machines Corporation. Seagate is a trademark of
Seagate, Inc. Escort is a trademark of Expansion Technologies
Inc. EXPANSION 46127 Landing Pkwy, Fremont, CA 94538
415-656-2890 Amazing JL JL COMPUTING £ Hit** Irnift *ini* *n
Cl 1' ' I in fJiior,R . nttSG- %4 ?7 ?Z7 ?£ Z A computing £7
VOLUME 3 4 Rmazing Computing Xurci Th lurt«fwnl ¦ • Ji1 Ci
u V-M N-- ?T ' VOLUME 1.2 Your Resource to the Commodore Amiga
Expanding reference is not just an empty promise. The pages of
Amazing Computing™ are filled with articles on technical
operations and procedures, basic use, and just-plain-fun. The
growing library of Amazing Computing's Back Issues contains
articles ranging 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, in depth reviews and hands on articles for their
machines.
From the Beginning Since February 1986, Amazing Computing™ has been providing users with complete information for their Amigas. This store house of programs and information is still available through our back issues. From the Premiere issue to the present, there are insights into the Amiga any user will find useful. AC was the first magazine to document CLI, tell its readers how to connect a 5 1 4 IBM drive, describe a 1 meg upgrade hardware project for the A1000, and many more. Please read the list of topics AC has covered below to find the information you have been missing.
Back Issues are $ 5.00 US, $ 6.00 Canada and Mexico, $ 7.00 Foreign Surface All payments must be made by check or money order in U.S. funds drawn on a U.S. Bank.
Limited Supply Unfortunately, nothing lasts forever, and the availability of some of our Back Issues is definitely limited. Complete your Amazing Computing™ library today, while these issues are still available, by completing the order form in the back of this issue.
Volume 1 Number 1 Premiere 1986 Super Spheres ByKefly Kauffman An Abasc Graphics prog Dito Virus By J Foust A disease may attack your Amiga1 EZ-Term by Kelly Kauffman An Abasc Terminal program M ga Mania by P. Kwolowitz Programming fixes 4 mouse care Inside CU by G. Musser a gudod insight into the Amiga Dos™ CU Summary by G, Musser Jr. A 1st ol CLI commands AmlgaFofitm by B. Lubkin Visit CompuServe's Amiga SIG Commodore Amiga Development Program by D. Hicks Amiga Products A listing ol present and expected products Volume 1 Number 2 March 1986 Electronic Arts Comes Through A review ol software
Irom EA InsWfl CU; pan two G. Musser Investigates CLI 4 ED A Summary ol ED Commands Live! By Rch Miner A review ol the Beta version ol Live!
Online and the CTS Fabite 2424 ADH Modem by J. Foust Superterm V 1,0 By K. Kauffman A term. Prog, in Amiga Basic A Workbench '‘More" Program by RickWirch Amiga BBS numbers Volume 1 Number 3 April 1986 Analyze! A review by Ernest Viverios Reviews ol Racier, Barataccas and Mindshadow Forth! The first ol Our on-going tutorial Deluxe Drawl! By R. Wirch An Amiga Basic ad program Amiga Basic, A beginners tutorial Inside CU; part 3 by George Musser George gives us PIPE Volume 1 Number 4 May 1986 Sky Fox and Article* Reviewed Build your own 51 4 Drive Connector By Ernest Viveiros Amiga Basic Tips by
Rich Wirch Scrimper Pari One by P. Krvotowitz prog to pnnt Amiga screen Microsoft CD ROM Coherence by Jim Okeane Amiga BBS Numbers Volume 1 Number 5 1986 The Hsi to RGB Conversion Tool by S. PoffOwict Coor manipulation in BASIC AmgaNoies by Rick Rao The Irst ol the Amiga music ccftxnns Sidecar A First Look by John Foust A first 'under the hood* John Foust Talks with R. J. Mica! At COMDEX™ How does Sidecar affect the Transformer an interview with Douglas Wyman of Smite The Commodore Layoffs by J. Foust A look Commodore*a ts* Scrimper Part Two by Perry Kjvotowtz Marauder reviewed by R«k Wirch
Building Tools by Dane! Kary Volume 1 Number 6 1986 Temple of Apshai Triology revewd by Stephen Ptetrowcz The Haltey Project: A Mission in our Solar System renewed by Stephen Pielrowicz Row. Reviewed by Erv Bobo Textcraft Plus a First Look by Joe Lowery How to start your own Amiga User Group by Wiliam Simpson Amiga User Groups Mailing List by Keily Kauffman a basic mai fist program Pointer Image Editor by Stephen Pielrowicz Scrimper; part three by Perry Kivcfowitz Fun With the Amiga Disk Controller by Thom Sterixig Optimize Your AmigaBasic Programs for Speed by Piebowicz Volume 1 Number 71986
Aegis Draw: CAD comes to the Amiga by Kelly Adams Try 3D by Jim Meadows an introduction la 3D graphics Aegis images Animator: a review by Erv Bobo Deluxe Video Construction Set reviewed by Joe Lowery Window requesters in Amiga Basic by Steve Mchei ROT by Cofin French a 3D graphics editor 1C What I Think’ Ron Peterson with a tew C graphic progs Your Menu Sir! By Bcatiey program Amiga Basic menues IFF Brush to AmigaBasic 'BOB' Base editor by M Swinger Linking C Programs wilh Assembler Routines on the Amiga by GeraW Hull Volume 1 Number 81986 The University Amiga ByGGamble Amiga's inroads al
Washington Stale University MicroEd a lock at a one man army for the Amiga MicroEd, The Lewis and Clark Expedition reviewed Frizeite Scribble Version 10 a review Compulers in the Classroom by Robert FrizeUe Two for Study by FrizeUe Discovery & TheTalking Coloring Book True Basic reviewed by Brad Grier Using your printer with the Amiga Marble Madness reviewed by Stephen Psetrowicz Using Fonts from AmigaBasic by Tim Jones Screen SaVer by P. Krvotowitz A monitor protection pug. In C Lattice MAKE Utility reviewed by Seoa P. Evemden A Tale of Three EMACS by Steve Poling .bmap file Reader in Amiga
Basic by T Jones Volume 1 Number 91986 Instant Music Reviewed by Steve Pietrawicz Mindwalker Reviewed by Rchard Knepper The Alegra Memory Board Reviewed by Rich Wrch TxEd Reviewed by Jan and Cliff Kent Amazing Directory A guide to the sources and resources Amiga Developers A istmg c! Suppliers and Developers Public Domain Catalog A listing erf Amicus and Fred Fish PDS Dos 2 Dos review R Knepper Transfer files Iron PC MS-DOS and Amiga Base Maxi Ran review by Richard Knepper Tha Am iga Spreadsheet G izmoz by reviewed by Peter Wayner Am iga extras!
The Loan Information Program by Brian CaSey basic prog, to for ycur financial options Starting Your Own Amiga Related Business by W. Sir.pson Keep Track at Your Business Usage tor Taxes by J. Kummer The Absoft Amiga Fortran Compiler reviewed by R A Reale Using Fonts from Amiga Basic, Part Two by Tim Jcr.es 68000 Macros on the Amiga by G. Hu! Advance your abity.
TDI Modla-2 Amiga Compiler review by S Faiwisze Volume 2 Number 11987 What Dig I-View ls~ Or, What Genlock Should Be! By J. Foust AmigaBasic Default Colors by Bryan Cadey AmigaBasic Titles by Bryan CaSey A Public Domain Modula-2 System reviewed by Warren Stock One Drive Compile by Douglas Lovell Using Lattice C wfth a single drive system A Megabyte Without Megabucks by Chris Irving An Internal Megabyte upgrade Digl-View revewed by Ed Jakober Defender of trie Crown revewed by Keith Contort Leader Board reviewed by Chuck Raudons Roundhill Computer System's PANEL reviewed by Ray Lance
Digl-Paint by New Tek previewed by Jchn Foust Deluxe Paint II ....from Electronic Arts previewed by J. Foust Volume 2 Number 21987 The Modem by Josph L Fothman efforts of a BBS Sysop MacroModem reviewod by Stephen R. Petrovncz GEMINI or *11 lakes two to Tango" by Jim Meadows Gaming between machines BBS-PC! Reviewed by Stephen R. Pietrowicz The Trouble with Xmodem by Joseph L Rahman The ACO Project Graphic Teleconferencing on the Amiga by S. ft. Pietrowicz Flight Simulator 1L.A Cras Country Tutorial by John Rafferty A Disk Librarian in AmigaBASIC by John Kennan Creating and Using Amiga
Workbench Icons by C. Hansel AmigaDQS version 1.2 by Clifford Kent The Amazing MIDf Interface build your own by Rchard Rao AmigaDQS Operating System Calls and Disk File Management byD. Hayrve Working with the Workbench by Louis A Mamakos Prog in C Volume 2 Number 3 The Amiga 2000™ by J Foust A Ftrsl look al the new, high end Amiga™ The Amiga 500™ by John Foust A lock at the new, low priced Amiga An Analysis ol the New Amiga Pcs by J. Foust Speculation on the New Amigas Gemini Part II by Jim Meadows The concluding ariide on two-player games Subscripts and Superscripts in AmigaBASIC by Ivan C.
Smith The Winter Consumer Electronics Show by John Foust AmigaTrix by W. Block An iga™ shortcuts Intuition Gadgets by Harriet Maybcck Tolly A pumey through gadget-land, u&ng C Shanghai reviewed by Keith M. Conloni Chessmaster2000 4 Chessmate reviewedby Edwin V. Apei. Jr.
Zing! From Meridian Soltware reviewed by Ed Bercoviz Forth! By Jon Bryan Get stereo sound irtjo your Forth programs, Assembly Language on the Amiga™ by Chns Martn Roomers by theBandlo Genlocks are finally shipping. 4 MORE!!!
AmigaNotes by R. Rae Hum Busters- *No stereo? Y not?... The AMICUS Network by J. Foust CES. User group issues and Amiga Expo’ Volume 2 Number 4 1987 Amazing Interviews Jim Sachs by S. Hal Aiuga Area The Mouse That Got Restored by Jerry HJ and Bob Rhode Stuething Public Domain Disks with CU by John Foust Highlights: the San Francisco Commodore Show by S Hul Speaker Sessions: San Francisco Commodore Show H To6y Household Inventory System in AmigaBASIC™ by B CaSey Secrets ol Screen Dumps by Natkun Osmn Using Function Keys with WcroEmacs by Greg Douglas Amigatiix II by Warren Block More An iga
shortcuts Basic Gadgets by Brian Cadey Create gadget functions Gridiron reviewed by K.Conforti Real football for tho Amiga Star Fleet! Version2.1 reviewed by J. Tracy Amigam Space The TIC reviewed by J. Fcust Battery powered Clock CalerxJar Metascope review by H.Toly An easy-to-use debugger Volume 2 Numbers 1987 The Perfect Sound Digitizer revtew by R Battle The Future Sound Digitizer by W. Block Appied Vision's SD Forth! By J. Bryancomparng Jforth and Muto-Forth.
Basic Input by B. Cetley AmgaBASiC input routine tor use in all your programs.
Writing a SoundScape Module in C by T. Fay PrograT.ming with MIDI, Amiga and SoundScape by SoundScape author.
Volume 2 Number 5 1987 continued Programming in 46000 Assembly Language by C. Martin Ccotnmng with Counters 4 Addrassmg Modes.
Using Future5ound with AmigaBASICby J Meadows AmigaBASlC Programming utility with real, digitized STEREO AmlgaNotes Rich Rae reviews SoundScape Sound Sampler.
More AmigaNctes by R. Rae A furihertook at Perlect Sound.
Waveform Workshop in AmigaBASlC by J. Shields edit 6 save waveform lor use in other AmigaBAS 1C programs.
The Mimetics Pro MIDI Studio by Sullivan. Jeffery A review of Mimetics' music editor player.
Inluilion Gadgets Pari II by H. MaybeckTclly Boolean gadgets provide tho user wih an crv'off user interface, Volume 2 Number 6 1987 Forth! By J. Bryan Access resources in the ROM Kemal.
The Amazing Computing Hard Disk Review by J. Foust 4 S. Leemon In-depth looks at the C Ltd. Hard Drive, Microbotics’ MAS-Drive20, Byte by Byte's PAL Jr.. Supra's 4x4 Hard Drive and Xebec's 9720H Hard Drive. Also, a look ai disk driver software currently under devlopment.
Modular AmlgaDOS™ Utilities by S. Farwiszewsk A Calls to AmigaDOS and the ROM kernal.
Amiga Expansion Peripheral by J. Fcusl Explanation of Amiga expansion peripherals, Amiga Technical Support by J, Fcust How and where to get Amga tech support Goodbye Los Gatos by J Fousi Closing Los Gatos.
The Amicus Network by J. FouSI West Coasl Computer Faire, Metacomco Shell and Toolkit by J. Fousi A review The Magic Sac by J. Foust Run Mas programs on your Amga What You Should Know Belore Choosing an Amiga 1000 Expansion Device by S. Grant 7 Assemblers ler the Amiga by G. FW Choose your assembler Shakeup Replaces Top Management at Commodore by S. Hii!
Peter J. Baoor'by S. Hull Manager at CBM gives an inside lock Logistix A review by Richard Knepper Organize! By A review Richard Knepper database.
66000 Assembly Language Programming on the Amiga by Chns Martm Superbase Personal Relational Database by Ray McCabe AmlgaNoles by Rae, Rchard A took al Future Sound Commodore Shows Ihe Amiga 2000 and 500 al the Boston Computer Society by H Maybetit Tolly Volume 2, Number 7 1987 New Breed of Video Products by John Fousi.. Very Vivid! By Tin Grantham... Video and Your Amiga by Oran Sands til Amigas 4 Weather Forecasting by Brenden Larsen A-Squared and the Live! Video Digitizer by John Foust.
Aegis Animator Scripts and Cel Animation by Jchn Fousi Quality Video Irom a Quality Computer by Oran Sands III.
Is IFF Really a Standard? By John Foust.. Amazing Stories and the Amiga™ by John Fcust All about Printer Drivers by Rchard Bielak Intuition Gadgets by Harriet Maybeck Tortey.
Deluxe Video 1.2 by Bob Eeer Pro Video Cgt by Oran Sands 111.
Digi-Vlcw 10 Digitizer,Soltware by Jennifer M. Jarik Prism HAM Editor Irom Impulse by Jennifer M. Jarak Easyl drawing tablet by John Foust.. CSA’s Turbo-Amiga Tower by Alfred Aburio 68000 Assembly Language by Chris Mania Volume 2, Number 8 1987 Ths morn Amazing Computing™ focuses on entertainment packages lor the Amiga. Amazing game reviews... SOI, Eari Weaver BaseoaJ. Fatal. The Surgeon. Little Computer People, Sinbad, StarGbder, King's Cues: 1,11 and III, Faery Tale Ad' venture, Ultima III, Facets of Adventure. Vtoeo Vegas and Eare'sTate.
Plus Amazing monthly columns.- Amiga Motes. Roomers, MaMa-
2. 63000 Assembly Language arid The Amcus Network.
Disk-2-Disk by Matthew Leeds The Color Fonts Standard by uohn Foust Skinny C Programs Of Robert Riemersma. Jr.
Hidden Messages In Yew Am ga™ by John Foust The Consumer Electronics Snow and ComdeiDy J Feus Volume 2 Number 9 1987 Analyze 2.0 reviewee by Kim Schaffer Impact B usiness Graphics rer-e* by Chuck Raudoms Microfiche Filer review by Harv Laser Pagesetterrevrew by R»ck Wzch Gtzmoz Producuvity Sel 2.0 review by Bob Eder Kkkwork review by Harv Laser Diga Telecommunications Package review by Steve Hua Mouse Time and Timesaver review by John Foust Insider Memory Expansion review by James O Keane Microbe tics Starboard-2 review by S. Fawszewski learner Goddesss of Phobos rev**?* by Hamel
Mayfreck-Tclly Lattice C Compiler Version 3.10 reviewed by Gary Sadi Minx 3.4a Update reviewed by John Foust AC-BASIC rev«wed by Sheldon Leemon AC-BASIC Compiiier an aCemativecomparison by B Catey Modula-2 Programming Sfawiszewski Raw Console Device Events Directory Listings Under Am gaDOS by Dave Haynie AmigaBASlC Patterns by Brian Catley Programming with Soundscape Todor Fay manipulate s samples Bi I Volk, Vice-President Aegis Development, interviewed by Steve HuiJ Jim Goodnow, Devekopet cl Man* ‘C interview by Harriet M Tdly Pius a great collection ol monthly columns.. Volume 2 Number 10
1987 Mix Headroom and the Amiga by John Fcxrst Taking the Pertecl Screen Shot by Keith Conlorti Amiga Artist; Brian Williams by John Foust Amiga Forum on CompuServe™... Software Publishing Conference Transcnptby Richard Haa All About Online Conlerencing by Richard Rae dBMAN reviewed by Clifford Kent Amiga Pascal reviewed by Michael McNeil AC-BASIC Compiler reviewed by Bryan Galley 66000 Assembly Language by Chris Martin Amiga Programming: Amiga BASIC Structures by Steve Michel Quick and Diny Bobs by Michael Swinger Directory Listings Under Amiga-DOS, Pari II by Dave Haynie Fast File 10 with
Modula-2 by Steve Faiwiszewski Window [ O by Read Predmore Plus a great collection ol monthly columns... Volume 2 Number 11 1987 Word Processors Rundown by Gecff Gamble Pro Write, Scribble!, and WordPerieci compared LPD Writer Review by Manor, Deland VizaWrite Review by Harv laser Aedit Review by Warren Block WordPerfect Preview by Harv Laser Jez San Interview by Ed Bercovitz-StarGtider author speaks' D o-i t-your sell Improvements to the Amiga Genlock Dlgf-Palnt Review by Harv Laser Scutpt 3D Review by Steve Pietrowia Shadowgaie Review by Linda Kaplan TeleGames Review by M-Chael T. Cabraf
Reason Preview: an intense grammar examination appicatton As I Sec II by Eddie ChurchiJ PeekngatWadPerfec!.
Gizmoz V2.0 and Zing1 Keys AmgaNoles try R Rae 4 electrons muse books Modula-2 Programming by Steve Faiw.szewski devices, 10, and me serial port 68000 Assembly Language by Chns Martin Ghns waiks through the display routines The AMICUS network by John Fcusf-iDesktop Publishing. Seyboid C Animation Pari II by M*e Swinger Animation Objects BASIC Text by Brian Cattey Pixel perfect text postering Soundscape Pari III by Todcr Fay VU Meter and more Fun with Amiga Numbers by Alan Barnett File Browser by Bryan Cattey-Full Featue BASIC File Browsing Plus a great collection of monthly columns- Volume 2
Number 12 1987 The Ultimate Video Accessory by Larcy White The Sony Connection by Stewart Cobb 15- Puzzle in Amiga BASIC by ZoltanSzepsi Life, Parti: The Beginning by Gerald Hull The ultra complex nine bid solution to the ‘Game ol Lie.'
Amiga Virus! By John Foust A new Arrnga wus has surfaced Please check your system CU Arguments in C by Paul Castonguay MDJ Interlace Adapter by Barry Masson!
Amga 1000 siyke MIDI interfaces can lit A200Qs or 500s Modula-2 by Steve Faiwiszewski first in a series, a command Ire calculator in Modula-2.
AmigaNotesby Richard Rae The audo changes made in the Arrnga 5DD and 2000.
Animation lor C Rookies: Pari III by M. Swinger tackling doubte buffering.
The Big Picture by Warren Ring Amiga™ Assembly language programming for the brave!
Karate Kid Rev lew by Stephen R. Pielrlowicz GO! 64 review by John Fousl, James O'Keane, and Rick Wirth Three C-64 experts investigate a new Amiga 64 emulator.
A-Talk-Plus Review by Brendan Larson ‘Fiji-Hedged terminal program' £ Tektrcmcs capacities Calligrapher Review by John Foust Animator: Apprentice Review by John Foust Playing Dynamic Drums on the Amiga by David M. Blank WordPerfect Review by Steve Hul insider.Kwikstan Review by Ernest P. Viveiros Sr RAM & ROM expansion: Comments end installation tips, Bug Bytes by John Steiner Forth! By Jon Bryan OumpRPort utility for you? Multi-Forth tootex.
As I See It by Eddie Churchill An offbeat lock on O Paim, PonaJ, and Vdeoscape 3D.
The Amicus Network by John Foust The Commodore Show and AmiExpo: New York!
Volume 3 Number 11988 ArrigaNotes by Richard Rae Digital muse generation on tha Amiga.
C Animation Part IV by Michael Swinger Just when you thought it was safe lo go back in the C waters... Forth by John Bryan Sotting 1X1 Chip and FAST memory on the Amiga The Big Picture by Warren F.rvg Dan-g assemSer language programming; CU system cats and m amputating dsk files.
Bug Bytes by JohnSieher Roomers by The Banato Amiga Dost j7 80JSc-based BridgeBoardfor if* A200Q7 More' As I See it by Eddie Churchil Opncns. Obsevations, A die birth of a new software gereralon.
66000 Asssembly Langueage Programming by Chns Mann ‘Create a mUt-COtor screen without using intuition routines" Modula-2 Programming by Steve Farwtszewsk) A new contender bursts on to the modufa-2 scene1 Amicus Network Special Report: Fall COMDEX by J. Foust Commodore at COMDEX and new products The ultimate Video Accessory: Pari II by Larry While Life: Pari II by Gerald Hut ‘A detailed lock 31 efficient use of the Amiga bitter.’ FormatMaster: Professional Disk Formatting Engine byC Mann Pul Batch language to work on the dredger ot disk larmatwtg.
Bspread by Brian Caiiey A fjl featured Arr.gaBASlC spreadsheet you can program!
AmigaForum Transcript ed. By Richard Rae Zoom m on Commodore Arnica's Dave Haynie.
Hacalc Review by Chuck Raudonis ‘A straightforward, easy to use, functional spreadsheet" VIP Professional Review by Suzanne Mitchell Easy stock porfofio management on the Amiga, Money Menlor Review by Stephen Kemp A personal finance system beyond your checkbook.
Investor's Advantage Review by Richard Kr.epper plus ‘Poor Man's Gude to the Stock Market.’ Volume 3 Number 21988 Laser Light Shows with the Amiga by Patrick Murphy Lasers and the Amiga: A Dazzling Tandem The Ultimate Video Accessory: Partlll by Larry While Take the final stepstoward desgmng your own videos.
Our first Oesklop Video by Larry White Step-by -step guide to organizing 4 presenting your Amiga video.
Hooked on the Amiga with. Fred fish by Ed Berkcvrtz !nsde views from the man behind ail those ’Fish' risks.
PhotoQuality Reproduction with the Amiga and DigFView by Stephen Letans Balancing your Checkbook with WordPerfect Macros by S.Hm’l Hand your checkbook worries over to the Amiga.
More Basic Text by Bryan Cattey easier text on an Amiga screen Life; Part ill by Gerald Hull Snes mods up with lamed nine-bAt calculation 4 source to LIFER.
So utions to Linear Algebra through Matrix Computations by Roptterf Elis Simplify matrix s£ebra with base operations & routines.
Roomers by Bandto Amiga 3000, Virus news ,4 Laser Toaster Bug Bytes by John Steiner Modula-2 Programming by Steve Faiwiszewski Cashing up wrth Cato-a source follow up.
56000 Assembler Language Prograiraning by Chris Martin Graphics- Par* II cl Assengram.
Arazok’sTomb by Kenneth E, Schaefer ‘A terrfytg adventure into the wedd of the ccaiti’ AiRT by Ste e Faiwiszewski An innovative con-besede programming language.
Forms In Right by Steve Piebowicz Render and Animate ctfects in 30!
Silicon Dreams and the Jewel ol Darkness by K E. Schaefer Leisure suit Lany by Kenneth E. Schaerer Two New Entries From Microbiotics by John Foust M5Qi Expansion 4 Starboard n uutiFgnctionboard Mmdlight 7 and People Meier by John Foust Phantasie Ken £. Schaefer with the Amazing Rtortasre Character Eilcr.
Volume 3 Number 31988 Take Five! By Steve H-J Bias: your f lustrations in these five Amiga games Desktop Video.Part IV oy Urry White Put all trie paces together-the desktop video corranereaL Trie Hidden Fewer of CU Batch file processing by J. Rothman Make your At ga easier to use with CU Belch ties.
A Conference with Eric Graham edted by John Foust The mastermind behnd Sculpt 3D and Animate 3D.
Perry Kivoiowitz Interviewed by Ed Bercovitz At iga insights from a maya developer and personality.
Jean "Moebiiis" Giraud Interviewed by Edward L Fadigan Avant-garde art co-res to the Anga-m dazzfrvg lorm.
PAL Help by Perry Kivofcwitz A1 ihe help yyj need for a AiOOO expansion reiabflriy.
Boolean Function Minimization by Stevon M. Han A uselU digital design 100I in AmigaBASiC.
Amiga Serial Port and Midi Compatibility for Your A2000!
By Lynn Ritter and Gary Rentz Add an A1000-styte sena port » your A20001 Etectrlc Network Solutions the Matrix Way by Robert Elks Engineers! PractrcJe routnes for usng matnx a'gebra.
The A.M.U.G. BBS Ustccapiled by Joe Rothman. Chet Solace, a-nd Dorodty Dean '00 514 BBS phone rtmbers in the U.S. and Canada.
FACCII renewed by Graham Kinsey Put a firecracker under you floppy drives.
Uninvited rev-wed by Kenneth E. Schaefer When was the last tme a game scared you tio death’ Flow renewed by Pamtfa Rothman Turn your brainstorms into mental works of art.
Benchmark Modula-2 Compiler reviewed by R-chie Be lax Program development rat beats Pascal 10 the punch.
Modula-2 Programming fry Steve Faiwiszewski The gameport device and ample sprites in ar. Cn.
AmigaNotes by Richard Rae A1000! Create a software swWtebe output liter.
Roomers by The Banco !nsK» AmiEipo - KxAstan 1.4 „ Commodores R' Us?
The Big Picture by Warren R ng-Unwiediy arguments to system caEs’ Discover the Unfiec field Theory!!
Plus a great collection of monthly columns- Volume 3 Number 41988 Highlights Irons AmaExpc, Los Angeles by Steve HUI The Amga shows oft its best in the West.
Writing a SoundScape Patch Librarian a TodcfFay Get you hands d*rty working within the System Exdu$ iv& Upgrade Your AIOOO lo A5002000 Audio Power-fc, Hbassen Modificatons» help your AlO-OO make sweet muse, too!
Amiga Audio Guide Descnpfrve fisting ol a3 Amga aud o products.
Geis in Multi-Forth by JcfnBushakra rush Gels to the limit with these programming tools.
Macrobatics byPatndtJ.Horgan Ease the trauma of assambly language programming Amiga Audio Sources The Idks behmdaii those audo products.
Take Five! By Sieve HuJ Four lighting paced tries to slash boredom.
Amiga Noles byRokRae Confounded by sound1 Take a basic lour of Amgaauco.
The Ultimate Video Accesory, Part V by Larry White Let's add some Hash to our video, Bug Bytes by John Steiner The Big Picture by Warren Ring Part II cf the eye-opening Uhled F.efd Theory.
Roomers byTheBandiia Hardware hijmx... Toasted video ...the dream Amiga ...and more!
In Ihe Public Domain byC.W. Flatte
C. W. has hooked Ihe latest fish disks-here s an inside look.
Time Bandit review by Keith Confom A whole video arcade wrapped up in ooe game!
AudioMaster review by Brendan Larson Friendly digitizing software that samples in real-time.
Music Mouse review by J Henry Lowengard Making music without lilting a linger Iron the mouse.
Amiga-Tat Canadian Version review by Ed Bercovitz A Canadian income tax planning, preparation, 4 analysis package.
SAM BASIC review by Bryan Catley A new BASIC whch exploits even more unique Amiga features.
Volume 3 Number 519B8 Interactive Startup Sequence by Udo Pemis; The Command Line parti by Rich Falccr.burg AmigaTrix 111 by Warren Bock 'Tips and tidbis 10 ease Amga life Amiga Product Guide: Hardware Edition Proletariat Programming by P Quaid Pubic domain compters The Companion by Paul Gossdm Tho Amiga's Event Handling capability.
MindUght7 reviewed by David N. Blank Psychedelic ted cl the 70's updated lor the Amiga.
VideoScape 3-D 20 reviewed by Davd Hopkins Extend reviewed by Bryan D. Catley An Amiga3ASIC extension AssemPro reviewed by Stephen Kemp Opening a door to assemby language programm ng, APL63000 ro ewed by Roger Nelson Book Reviews by Roha-'d Graco Three •C* progra-Trrng texts.
CBTREE reviewed by Uchael Ustman A tdy co«ecticn cf luictons to axJ the C programmer.
The Big Picture by Wamen Rng The three-part Unfed field Theory wnds up Modula-2 by Steve Fgiwiszewskj T erminajon modules tor Benchmark and TDI can p ’era 66000 Assembly Language by Chns Martin Pee£ng away tho compricaiion of dispiay teutines.
Plus a great collection of monthly columns.. Volume 3 Numbers 1988 Bear Time Reviewed by Steve Carter What makes nis inexperswe At COO battery-backed dock tick7 Acquisition Reviewed by David N. Blank A took inside the latest release of a powerful relational catebase.
Butcher 20 Reviewed by Gerald Hud A tidy colkKten cf diverse mage processing utwties.
Reassigning Workbench Disks by John Kerytan Endless disk swapping cones to a merplul end, ProductGuide: Software Tods Edition A listing of a9 the products you need to put your Amiga *0 work.
An IFF Reader in MuilFForth by Warren Block Create an easy to use IFF reader m Muri-Foah.
Basic Directory Service Program by Bryan Catley A programming alternative to the GimmeeZeroZero windows C Notes from the C Group by Stephen Kemp A beginner's guide to the power d C programming An Amiga Forum Conference with Jim Mackrai The Amiga market as seer by trie ‘Sieptetfter 0! Intuition.* Son of Seven Assemblers Reviewed by Gerald Hull A comparative batlto between seven native-code assemblers.
The 1986 Commodore Amiga Developers Conference A took inside the conferences held in Washington. D.C Amiga Working Groups by Perry Kivoiowitz and Eric Lavitsky no out fine of the innovative Amiga Working Groups concept.
"he Command Line by Rich Fatocrfcu'g Exploring the muftHatented LIST com ir and I’lus a great collection ol monthly columns... Volume 3 Number 71988 Look, Up On the Screen, It s an Ami. It s a Pro... It s SuperGen reviewed by Larry While -Genlockcomparisons An interview with "Anlm Man," Gary Bonham by B Urscn animated ccrversatcn with Ihe man behind the formal.
¦ he Amiga at Spring COMDEX in Atlanta by Ed Bercovitz "he Amiga and its third party partners wow ne Soudv Amiga Product Guide: Video Graphics Edition "h'rteen pages devoted to the Amiga's dam mg strong suit.
"he Developing Amiga by Steve Pterawicz Developers' notes: PD vs. shareware vs. iraeiyxSsSributableeto.
Ilofl Those Presses! By Barney Schwartz tVetone to re dandy, demanding word cf desidcp publishing!
I inked Lilts in C toy Vwkam E. Gamma I’ut dyra-Tid memory to work with inked bsts.
I riineGribber Preview by Cran Sar.cs Capturing an mage can now be as test as punchrg a s rgfe key!
A Ftrit Look at Intercharge reviewed by David Hopkins Undge pne gap between those recmpabbfe animation peerages.
Perfect Vision reviewed by 5-yan Cattey Uaplue, dgtize and save ptCures from any video source.
ProWrlte 20 Review reviewed by Pamela Ftothman
o graphic wad processa speoatong n efferent exiting.
Doug’s Mith Aquarium: The Art of Mathematics by Reftie aeiak Delving equations was nevrer ths much fun1 Hear Products Meg a Rex II Expansion RAW by Steve Carte inexpensive way to pump your Amiga up to 2MB, ' he Command Line by Rtoh Fa'cor.bug Amiga Notes by Rick Rae ' he Other Guys’ Synthia: Adgta! Syntheaier features wont stop, t; Notes from the C Group by Stephen Kemp Weathering the unknown ‘0* of base oo.iect and data types.
Plus a great collection ol monthly columns.. Volume 3 Number 81988 ¦ he Command Line by Rch Falcor.tx g ' he journey ir.10 the CLJ continues, ¦ he Developing Amiga by Stephen R Pieircwcz a gaggle cf great programming tods.
Modula-2 Programming by Slave Faiwiszewski Iibraries and the FFP arxJ IEE Math Routines,
I) Notes from the C Group by Stephen Kemp Arrays and pointers
unmasked.
Dark Castle reviewed by Keith Contort.1 The Black Knight lurks Ports ol Call reviewed by Julie Landry
I. ealherneck reviewed by Michael Creeden-Rambo’s not so tough!
Capone reviewed by Joyce and RoPby Hicks- Ugh: Guns blaze Casino Fever reviewed by Michael T. Cabrai-Vegas on Amiga Ferrari reviewed by Jeffery Scott Hall Start your engine Atkanoid reviewed by Graham Kinsey ‘blockbuster’ libonslar by Keith Conforti tx'ack hole treking.
Deluxe ProductionswoAod by Harv Laser Video wizardry (tame Pizazz by Jatfery Scclt Kali Register your questions here.
"rackMouseby Darryl Joyce Convert a standard Atari trackball into a peppy Am.ga TrackMouse.
Amiga Interface lor Blind Users reviewed by Cad W, Mann s ingenious interlace that opens the Amiga :o even more users!
"ideo in the Sunshine Stale reviewec by Stephen R. Pepowcz RGB Video Creations hosts a video unveiling!
Amiga ProductGuide: Games Edition "umblin’ Tots by David Ashley assempty language game you can program.
Plus a great collection ol monthly columns... Volume 3 Number 91988 ' he Kideo Tapes by John Oandurand a Georgia elementary school puts desktop video to work.
Speeding Up Your System by Tcny Preston Fuel m.ectyoir system with fioppy dsk caching Amiga Product Guide: Education Edition Everything you reed » sere your Amiga to the head of the class.
Computer Aided Instruction by Pauf Castonguay Altering system inAmgaBASlC.
Geis in Muiti-Forth, Part II: Screenplay by John Bushakra Make the FF converter Iron Pan I easy to use-gadgets, menus .etc, AmiExpo Midwest 68 by Mkte&T. Cabral fisr tak 13 The coasts by slom.she Aniga wows Chcago hlellitype ty Harv Laser Learning to type made easy..and fyn?
Shakespeare by Barney Schwartz Desktop pufcfisfvng r. Fjl cefcr.
IlSpecs 3D fry Steve HuS A new C mer&cn in Amiga graphics.
AmigaNores by Rrehard Rae How IFF sound samples are srexec?
"ake five! By Stew H-J-Eeattheback-lo-school b'ues!
"he Command Line b y Rch Fatonburg continuing tour of CU.
Ilot on the Shelves by Michael T. Cabral 4 Michael Creecen 'Yhat do you get when you combine intense war strategy until a nonochroue men tor and desktop presentation? Check it out.
Ilug Bytes by John Steiner C Notes Irom the C Group by Stephen Kemp Operators expressions, and statements in C uncovered.
Roomers by The Bandto Can an Afpie llgs Plus a day keep trie Amga away?
Obecontirxjed _ To Order Back Issues, please use the order form on page 112 The Developing by Stephen R. Pietrowicz Beta Testing “Oh, that product is still in beta testing. It won't be available for another two weeks." How many times have you heard that before? Two weeks seems to be the amount of time everyone gives for of a product's release date. Well, what exactly is "beta testing" .anyway?
Beta testing is a period in the product development cycle when the product is sent out to independent testers. The testers report bugs to the developer and offer suggestions about the product. The developer fixes the bugs, and sometimes incorporates the tester’s suggestions. At the end of testing, the testers are either paid, or given a release copy of the new software.
It's important that developers have independent beta testers look at the product, because a developer may not try everything an ordinary user tries. Ask any software developer that has gotten bug reports from customers. People always come up with ways to use programs that the developer hadn’t even thought of.
Since independent testers haven’t followed the product through the development cycle, they have no preconceived notions of how the product should work. The developer can gain substanially from this arrangement by improving the product before it ships.
Some companies admit they do testing in-house. I think they’re really missing an opportunity to develop better products.
How should you, the developer, pick beta testers? That's a really tricky question. After all, you don't want to give it to someone who is going to pirate the program, or to someone who just wants the program and isn't going to be much help in testing.
The best thing is to distribute the product to trustworthy friends, and only to people with a genuine interest in your product. Make discreet inquiries to people you think may be willing to help.
It’s disheartening to send a product to a beta tester, and then to hear little or no response. Be careful who you pick.
Other developers may suggest reliable testers and testers you should avoid.
Once you’ve chosen the testers, send each a beta test contract. The contract outlines what is expected of testers, and also helps protect yourself.
The testers should have a clear understanding of what is expected: how to report bugs, how testers will be paid, the terms for breaking the agreement, etc. Once you’ve set up a relationship with testers, you might want to set up a BBS system to keep in close contact with them. A BBS can serve as a focal point where bug reports are submitted, new beta software is downloaded, and discussions about the current beta can take place. Services such as People Link can also be used this way. (In fact, that’s how I keep contact with developers when I beta test products.) You may want to give your
phone number to your testers, so they can call with questions.
Some problems are explained more easily over the phone.
Listen to your testers! If one or more of them is having a problem understanding how something works, chances are that future customers will have problems, too. Weigh each suggestion carefully. Is the suggestion something that should be added to the product now, or should you wait to add it to a future release?
The length of the beta testing period is up to the developer. It should be at least a month or longer. You're going to spend quite a bit of money for diskette duplication and documentation, so it’s in your best interest to test that software throughly. After all, you don’t want to spend more money duplicating disks for an update to fix a serious bug testers could have found.
Taking that extra “two weeks” for beta testing saves more than time and money; it also helps you deliver a better product to your customers. It takes a long time to establish a good reputation for your company and your products. It takes only one product to do damage to the reputation you work so hard to maintain.
USENET Software Update In my last column, f promised to let you know when UUCP and USENET news became available for the Amiga.
Dan Schein of Sneakers Computing posted a notice to the USENET, and I’d like to paraphrase it for you: The AmigaUUCP software ported from the GNU project UUCP by William Loftus, and the Amiga news software, was ported by Dan Schein. They are now making this software available. To obtain a copy of UUCP UseNet, send 2 blank,
3. 5" disks, along with a prepaid, and self addressed return disk
mailer to: Sneakers Computing 2455McKinley Ave.
West Lawn, PA 19609 Or if you prefer, send S10 and your name address to the above address to cover disks and shipping costs.
One disk contains the binaries for AmigaUUCP and the news software; the other disk contains the Lattice source.
If you haven’t used UUCP before, get advice from someone who has.
Documentation on how to set up UUCP is not included with the software.
Two books are recommended to help you learn about UUCP: Managing UUCP and Usenet Tim O'Reilly and Grace Todino O’Reilly & Associates, Inc. 1-800-338-NUTS (Cost is about 517.00) UNIX Communications The Waite Group Howard W. Sams & Company.
(Cost is about 526.95) If you have questions, you can contact Dan Schein through Berk's BBS:
(215) 678-7691, 3 12 2400 Baud, 24 hrs. New Products Commodore
recently announced the availability of the following
products to dealers. Thanks to .Andre Freeh for this
information: A2058 8MB RAM Expansion for the A2000. Comes
populated with 2M and sockets for the other 6.M, expanding
the A2000 to full RAM capacity. These are being substituted
for the A2052 2M RAM card which is no longer in stock.
Price is around $ 800.00. A2090A A2000 Hard Disk Controller with Autoboot (Just appeared on our ordering computers today... I think.) Same as the A2090, except for 1.3 autoboot capability and some rough areas that have been fixed.
Price is about $ 399.95. 1084S Universal RGB monitor with Stereo. Same as the 1084, except it has two speakers and mo input jacks.
Approximate price is 5420.00. Wrap Up What type of information would you like to see in this column? If you have any news, suggestions, questions, or programming hints, please feel free to send them to: 77;e Developing Amiga c o Amazing Computing PO Box 869 Fall River, MA 02722-0869 I can also be reached through People Link. Send E-mail to CBM'STEVE.
Stephen ?. Pietrowicz is an assistant chairman of People'Link’s Amiga Zone, a freelance writer, author ofACO the sound and graphics conferencing program, and a member of The C Group.
• AC* Index of Advertisers Advertiser Page Reader Service Number
Amazing Computer Systems 33 133 Celestial Systems 73 173
Central Coast Software 5 105 Computer Mart 29 129 Computer
Outlet 70 170 D-Five Associates 79 179 Delphi Noetic Systems 35
135 Elipsys 80 180 Erich Stein & Associates, Inc. 103 203
Expansion Technologies 91 191 EZ-Soft 99 199 Fisher’s Computers
& Software 73 273 Flexible Data Systems 77 177 Graphic
Expressions 40 140 HyperTek Silicon Springs 51 151 Interactive
Video Systems 27 127 Lattice 9 109 Lynn's Luna C 43 143
Megatronics CII 271 Metran Technology 68 168 Metropolitan
Computer Products 24 124 Micro Way 60 160 Micro-Systems
Software 47 147 MicroBotics, Inc. 39 139 Microsmiths, Inc. 36
136 New Horizons Software 7 107 New Tek CIV 275 New Wave
Software 18 118 One Byte 66 166 OTG Software 44 144 Paiomax 13
113 Peacock Systems, Inc. 53 153 Pioneer Computing 69 169
Practical Solutions 101 201 Rainbird 1 102 Ronin Research &
Development Inc. 4 104 Sedona Software 55 155 Soft-Link 37 137
Software Advantage Consulting Corp. 74 174 Software Sensations
10 110 Software Terminal 14 114 Software Visions 25 125 The
Computer Club 72 172 The Memory Location 32 132 The Other Guys
11 111 Tire Sterling Connection 62 162 Tru-Image 73 274 TV One
Production 76 176 To use the Reader Service Card, simply locate
all the Amazing Advertisers you wish to contact, find tire
corresponding AC Reader service Card Numbers, and mark them on
the card to the right. Fill in the address and mail the card.
AMAZING PROGRAMMING BASIC Linker by Brian Zupke It was 4:27 a.m. My eyes were bloodshot from staring at the unforgiving computer screen. After the 13th major modification to my latest BASIC program, it still wouldn't work.
I was running out of line numbers. It took forever to trace all the GOTO’s. 1 wondered if I had used a variable name in one of the new subroutines that already existed in the program. The pages of my reference manual were worn from verifying the memory locations I was POKEing around in. This is how I spent every night. I lost my job and my wife, and even my dog left me. My life was a complete mess. That is, until I found AB.
My friends (the few 1 had left) banded together and introduced me to the Amiga and AmigaBASIC. I picked up the AmigaBASIC manual, flipped through it, and saw the light. Line numbers weren't necessary, GOTO's were rarely needed, subprograms had their own local variables, and the language was so powerful that there was no need for me to POKE around. I was saved! No longer did I have to stay up all night debugging programs. I got a new job, my wife returned, and even my dog came back, (He ate my old computer though!) My life was renewed.
I thought I was okay. There 1 was, creating structured programs, creating subprograms, not using GOTO’s. I thought I had it all. Not so. I discovered other languages created executable files from programs and subroutines automatically. I was spending lots of time MERGEing the latest versions of my subprograms and cursing myself when I got the UNDEFINED SUBPROGRAM error because I'd forgotten to MERGE one of them.
I also found out that there are four fundamental program structures, of which AmigaBASIC has only two: the IF THEN ELSE block and the WHILE loop. Missing is the SWITCH CASE or, dare I say, computed GOTO (aaaacck!!) Structure and the REPEAT UNTIL loop. The REPEAT UNTIL loop is similar to the WHILE loop except that a REPEAT UNTIL will be executed at least once and a WHILE loop may not be executed at all. I feared I would lose control again, but I came to my senses: 1 had AB to save the day.
I decided not to live without these missing features, so I wrote a BASIC Linker program called BUNK. This program combines the individual routines from my program library to create an executable program. At the same time, it performs REPEAT UNTIL and SWITCH CASE macro expansions. That is, it converts those structures into statements AmigaBASIC can understand. I was in control again.
For those of you who are interested in adding these capabilities to your AmigaBASIC, read on.
In order to use BLINK properly, the rules and naming conventions below must be followed. They are necessary to guarantee that your programs will be linked and macros expanded correcdy.
Subprogram Calls:
1) All routines (programs and subprograms) must be stored in
ASCII format. This is necessary for BLINK to be able to read
and combine routines correctly. Although more disk space is
used to store each routine, you can use any text editor that
will save files in ASCII format. If you use the AmigaBASIC
editor, save your files with a comma and die letter A O',A”)
following dieir names so diey will be saved in ASCII format.
2) All routines must be located on the same disk or directory.
This collection of routines is referred to as the program or
source library'. The program library is used as the input for
BUNK.
3) All calls to subprograms must use the CALL statement.
Although AmigaBASIC allows a subprogram to be called by
specifying only its name, BLINK uses the CALL statement to
distinguish between a call statement and a statement label.
4) All subprogram names must end with “.MSB". This simplifies
BLINK’S task of identifying which CALL statements are
subprogram calls and which are runtime library or assembly
language calls. Note that the main program does not need this
extension since no routine will CALL it,
5) The subprogram name and its file name must be idendcal. If
they aren’t, BLINK will not be able to find the subprogram.
6) Only one subprogram call per line is permitted. If there is
more than one CALL on a line, BLINK will see only the first
one.
REPEAT UNTIL usage: The sequence: REPEAT
- Valid statements UNTIL(condition) is expanded by BLINK to: RU
(x) - -1 WHILE RU(x) IF (condition) THEN RU fx) = 0 WEND where:
x -nested level of die REPEAT UNTIL loop. This will actually be
a number from 0 to 9- No variable x will be used.
1) The REPEAT and UNTIL statements must appear on lines by
themselves.
2) The condition portion of the UNTIL statement must be a valid
BASIC expression that will yield a TRUE FALSE result when
evaluated. This expression must be enclosed by parenthesis,
and spaces are not permitted between “UNTIL” and "(”.
SWITCH CASE usage: The sequence: SWITCH(expression) CASE valuei CASE value2 CASE value-n DEFAULT SWEND is expanded by BLINK to: IF expression = valuel THEN ELSEIF expression = value2 THEN ELSEIF expression = value-n THEN ELSE END IF
1) All SWITCH, CASE, DEFAULT, and SWEND statements must appear
on separate lines.
2) For each SWITCH statement there must be at least one CASE
statement and only one SWEND statement. The DEFAULT statement
is optional. If no DEFAULT statement is used, then the last
ELSE block will not appear.
3) The expression portion of the SWITCH statement must be a valid
AmigaBASIC expression enclosed in parenthesis.
Spaces are not permitted between “SWITCH” and “(”.
4) There is no limit to the number of CASE statements that can be
in a SWITCH structure.
5) The value portion of the CASE statement must be a valid
AmigaBASIC expression ending with a colon It must be
compatible with the expression in the SWITCH statement.
6) SWITCH CASE structures may be nested in up to nine levels.
TRUE FALSE conversion: When this function is enabled in BUNK, all occurrences of upper-case only “TRUE” and “FALSE” will be converted to -1 and 0, respectively. If you link BLINK with this conversion active, the main program's statements: TRUE = -1 FALSE = 0 will be converted to:
- l = -1 0 = 0 which will cause a syntax error. Therefore, do not
link BUNK with this conversion active. The TRUE FALSE macro
conversion serves more as an example of what kind of
conversions are possible. I prefer to have the variables TRUE
and FALSE DLMensioned as SHARED in the main program as they are
in BUNK.
Entering the program: Since you can’t link BASIC programs until you've created BUNK (a small Catch-22), enter all of BUNK's subprograms as a single source. Use the test programs to verify that it is working properly (see instructions below on using BUNK).
Once the program is -working, save each subprogram under its proper name in your program library. BUNK should be able to link itself now.
Using the program: When you want to link a program, run BUNK from AmigaBASIC and enter the infonration requested by die program. You will be asked for the following items: Program name: the name of the program to be linked.
Library pathname: the disk or directory containing all of your AmigaBASIC programs and subprograms.
Program pathname: the disk or directory in which BUNK will place the linked program. The linked program will be saved under the same name, with “.EXE” added to the end of it indicating that it is executable.
Compress (Y or N): all comment iines will be removed from the linked program if requested. Only iines that have or “rem” or “REM” in the first column will be removed. This feature is useful for cutting down on the size and increasing die speed of a finished program. When BLINK itself is linked with no comments, its speed is approximately doubled.
TRUE FALSE Conversion (Y or N): all occurrences of upper case "TRUE” and “FALSE” will be replaced with “ -1 " and “ 0 ” respectively.
Once this information is entered, the program begins reading the specified program from the source library and storing it under its new name. During this transfer, BLINK searches each line of code for AmigaBASIC calls and adds the names of any it finds to a list of routines that will also lie transferred. After the main program has been processed, BLINK will begin transferring the next subprogram on the list. BUNK will also work on a program that has no subprogram calls.
BLINK prints the name of the source it is currendy scanning and linking. Once all the routines are transferred, die name of the new file is printed. If BLINK cannot find a subprogram in the library, it -will report the error and stop executing.
Debugging your program: When you're testing your newly created programs, be sure to make the final correction:; to the routines in your library rather than in the linked version.
Enhancing modifying BLINK: If you wish to add other macro-expansion conversion routines to BLINK, add them to the routine ScanModule.MSB. There are two sections of macro expansion calls in this routine.
The first consists of macro conversion routines that modify only part of a BASIC line (such as TRUE FALSE). A single BASIC source line can contain more than one conversion macro call.
(Note that the line may be altered by more than one conversion routine.) The other section contains macro expansion routines whose expansions take up more than one line. Only one of these can exist per line of original BASIC code. To add a macro expansion here, simply follow the “Future Macro” skeleton.
Conclusion: I kept the routines in BLINK as simple as possible, so they may not handle every possible condition. Since the code is somewhat simple, it should be easy to customize. Enjoy!
LISTING ONE SUB GetLinkerlnro.MSB (PrograaNa.me$ , LibPathS, FrgparhS) STATIC Copyright 1988 by Brian Zupke Gets the program name to be linked, library and executable program pathnames, compress and TRUE FALSE conversion commands.
SHARED Cempress,TFConvert Make sure program name is valid ProgramNameS = "" WHILE ProgramNameS = INPUT "Name of program, to be linked"jProgramNameS WEND ' Get library pathname INPUT "Pathname of program library";LibPathS IF LEN(LibPathS) 0 AND RIGHTS(LibPathS,1) " " AND RIGHTS(LibPathS,1) THEN LibPathS = LibPathS + " " % ' Get destination pathname INPUT "Pathname (destination) of linked program";PrgPathS IF LEN(PrgPath$ ) 0 AND RIGHT$ (PrgPath$ 1) " " AND RIGHTS(PrgPathS, 1) THEN PrgPathS = PrgPathS + * * ' Set Compression flag % INPUT "Compress program (Y or N)",’AnswerS IF
UCASES(Answer?) » "Y" THEN Compress = TRUE ELSE Compress = FALSE END IF V 1 Set TRUE FALSE conversion flag i INPUT "TRUE FALSE Conversion (Y or N)";AnswerS IF UCASES (Answer?) = VVY" THEN TFConvert ** TRUE ELSE TFConvert = FALSE END IF END SUB SUB LinkModules.MSB (PrograrnName$ ,ModulesUsed$ (1) ,Used,BuildComplete) STATIC 3 © UJ 100% better than any other hard drive back-up program EZ-Backup is a genuine breakthrough ~ .¦ *- * EZ-Backup actually manages ; ' ’ . The space on your backup disks- Before EZ-Backup the only way to get rid of the piles of incremental back-up disks that littered
your desk was to do another full back up. This method is inconvenient and requires a whole new set of unformatted floppy disks With EZ Backup you use the same set of disks for every incremental back-up, Oniy one full back-up required-Ever! Space on the disks is managed by deleting obsolete archive files and allowing you to save from 0-255 versions of each file. Your files are saved-even if you have completely deleted them from the hard drive!
EZ-Backup comes with an optional warning screen- We all tend to put off doing backups. EZ Backup s warning screen reminds you.
If you would rather no: be remtnded--you have the option to shut the warning screen off.
EZ-Backup prevents you from damaging valuable data- By checking the volume label. EZ-Backup keeps you from writing over important files.
EZ-Backup uses Standard Amiga format- Files are archived in standard Amiga format and work with all standard utilities.
EZ-Backup provides easy recovery of individual files A ample to use mouse-oriented program allows you to recover individual files.
Works with all Amiga-DOS compatible hard drives.
(Amiga-DOS version 1.2 or higher)
* Provides archive-bil utilities * Not copy protected
* Multi-tasking * Complete manual with examples
* Upgrades provided Ires for the first six months after program
purchase!
* Free telephone support!
Not more expensive just the best - $ 49.95 - from: EZ-SOFT or an Amiga Dealer near you.
21125 Chatsworth Street Chatsworth, CA 91311
(818) 341-8681 Dealer Inquires Welcome Copyright 1988 by Brian
Zupke Links all modules used in the main prog to create
executable.
If all modules are found, then BuildComplete is flagged TRUE.
' Allow up to 100 different Subprograms.
% DIM ModulesCalledS(100) ' Initialize BuildComplete = FALSE Used = 1 Scanned " 0 ModulesUsedS(Used) = PtogramNameS I ' Build List RepeatUntil = TRUE WHILE RepeatUntil ' Get name of next module to be scanned, ModuleNameS = ModulesUsedS(Scanned + 1) ' Scan next module CALL ScanKodule.MSB(ModuleNameS,ModulesCalledS 0,Called,ModuleScanned) ' Compare any calls found with modules used list i IF Called 0 THEN FOR x = 1 TO Called IsNotln = TRUE FOR y = 1 TO Used IF UCASES(ModulesCalledS(x)) = UCASES(ModulesUsedS(y)) THEN IsNotln = FALSE NEXT y ' Add name to list if it is not already there
IF IsNotln THEN Used = Used + 1 ModulesUsedS(Used) = ModulesCalledS(x) END IF NEXT x END IF Scanned = Scanned + 1 IF (Used = Scanned) OR (NOT ModuleScanned) THEN RepeatUntil = FALSE WEND ' Build is complete if last module scanned successfully BuildComplete s ModuleScanned END SUB SUB ScanModule.MSB (ModuleNameS, ModulesCalledS (1), Called,ModuleScanned) STATIC i ' Copyright 1988 by Brian Zupke ' Scans module using LibraryPachnameS for calls to subprograms ' in the user library (those having the '.MSB' extension).
Names ' of subprograms found are placed in ModulesCalledS list. If ' the module scan fails, then ModuleScanned Is returned FALSE.
' Each line read is also place in destination file to create ' the executeable program. Macro expansions and conversionsare ' also performed as lines are transferred to destination file.
V SHARED LibraryPathnameS,Compress,TFConvert Called = 0 PRINT "Scanning & Linking: ModuleNameS OPEN LibraryPathnameS+ModuleNamsS FOR INPUT AS 1 LEN = 4096 1 Read each line of the current module from library.
* IF NoError THEN WHILE NoError AND (NOT E0F(1 ) LINE
INPUTI1,SourceLineS ' line is to be output and no expansion
occurred for now OutputLine = TRUE Expanded = FALSE ' Check if
current line is comment CALL
CommentCheck.MSB(SourceLineS,LinelsComment) IF LinelsComment
THEN IF Compress THEN OutpuCLine = FALSE ELSE v Check if
current line has subprogram call CALL
FindCall.MSB(SourceLineS,ModuleCallS) IF ModuleCallS "" THEN
Called = Called + 1 ModulesCalledS(Called) = ModuleCallS END IF
Macro conversions that change only part of the line go here:
Expand TRUE FALSE macro calls if requested IF TFConvert THEN
CALI, TrueFalseMacro.MSB(SourceLineS) Macro expansions that
change enrire line go here: ' Expand REPEAT UNTIL macro calls
IF (NOT Expanded) THEN CALL
RepeatUntilMacro.MSB(SourceLineS,Expanded) END IF ' Expand
SWITCH macro IF (NOT Expanded) THEN CALL
SwitchMacro.MSEs(SourceLineS,Expanded) END IF ' Future macro '
IF (NOT Expanded) THEN ' CALL would go here ' END IF ' No need
to output to destination file if entire line changed IF
(Expanded) THEN OutputLine = FALSE END IF ' Place current
line in output file as required % IF OutputLine THEN PRINT
2,SourceLineS END IF WEND END IF ' Report results * IF NoError
THEN MOUSE MASTER Now For The Amiga!
T Practical Solution , ModuleCallS = "" SL$ = " " + SourceLineS ' Locate ' CALL ' C = INSTR UCASES SLS}," CALL ") IF C 0 THEN ' Isolate subprogram name S Character = C + 6 WHILE MIDS(SLS,Character,1) = " " Character = Character + 1 WEND C - Character ' Check for ".MSB" extension - if there, then module call found C = INSTR(C,UCASES(SLS), ".MSB") IF C 0 THEN Length - (C + 4) “ Character ModuleCallS = MIDS(SLS,Character,Length) END IF END IF END SUB SUB TrueFalseMacro.MSB(SourceLineS) STATIC
* Copyright 1988 by Brian Zupke * * ' Scans source line in the
form of a character string ' and checks if line is a comment. A
comment line will be ' blank or the first characters will be or
"rem".
LinelsComraent = FALSE SLS = UCASES(SourceLineS) IF LEN (SLS) = 0 OR LEFTS SLS,1) = OR LEFTS(SLS,3) = "REM" THEN LinelsCanment » TRUE END IF END SUB SUB FindCall.MSB(SourceLineS,ModuleCallS) STATIC ModuleScanned = TRUE ELSE ModuleScanned = FALSE END IF CLOSE ii END SUE SUB CommentCheck.MSB(SourceLineS,LineIsComment) STATIC Copyright 1988 by Brian Zupke Scans SourceLineS for the occurance of "TRUE" or "FALSE" and replaces them with " -1 " or " 0 Copyright 1988 by Brian 2upke Scans source line for 'CALL X.MSB' where X is a module name. If found, then the module name is returned in ModuleCallS.
Initialize if first time in routine.
IF NOT Initialized THEN Labels(1) = "TRUE" Labels(21 = "FALSE" Values (1) « " -1 " Values (2) = " 0 " Initialized = TRUE END IF ' Search for both TRUE and FALSE FOR x = 1 TO 2 C « 1 WHILE C 0 AND C LEN(SourceLineSI C = INSTR(C, SourceLineS,Labels (x)) IF C 0 THEN MIDS(SourceLineS,C,3+x) = Value?(xl C = C + 4 + x END IF WEND NEXT x END SUB SUB Repeatl'ntilMacro.MSB(SourceLineS,Expanded) STATIC Copyright 1988 by Brian Zupke Checks string SourceLineS for "REPEAT" or "UNTIL(".
If found, writes the expansion to the output file 2 and sets the Expanded flag to TRUE.
The structure: REPEAT UNTIL (conditlonl expands to: RU(X) = -1 WHILE RU[x) Are you tired of fumbling under or behind your computer to swap your mouse and joystick cables? Are your cable and computer connectors worn out from all the plugging and unplugging? Then Mouse Master is a must for you!
?Retail price does not 602 '884 "9612 include shipping & Handling. _ IF (condition) THEN RU(x) = 0 WEND
* 39-95* HU 1930 E, Grant Rd.. Tucron. AZ 85719 ' where: ' x -
nested level of the REPEAT UNTIL loop (0-9) ' -1 - logical TRUE
0 - logical FALSE ' condition - expression that is TRUE (-1) or
FALSE (0) ' when evaluated 1 . - one or more Amiga BASIC
statements % SLS = " " + UCASES (SourceLir.eS) + * * ' Chech
line for "REPEAT * C - INSTR(SLS,"REPEAT ”) ' Make sure "REPEAT
" is the first thing on line.
IF C 0 THEN CALL CheckForBlanks. MSB ISLS,C,Good) ' Expand "REPEAT " to output file t2 H IF Good THEN PRINT S2,SPC(C-2); "RU C; RepLvl;") = -1" PRINT 2,SPC(C-2);"WHILE RU(*;RepLvl;")" RepLvl = RepLvl + 1 Expanded = TRUE END IF ' Check line for "UNTIL I" ELSE C = INSTRfSLS,"UNTIL("1 ' Make sure "UNTIL(....)" is first thing on line IF C 0 THEN CALL CheckForBlanks.MSB(SLS,C,Good) t ' Expand "UNTIL(....)" to output file 2 IF Good THEN RepLvl = RepLvl - 1 PRINT 2,SPC(C-2)f-IF ";MIDS(SLS,C+5) THEN RU *;RepLvl;") - 0" PRINT f 2, SPC(C-2);"WENE" Expanded - TRUE END IF END IF END IF END SUB
SUB SwitchMacro.MSB(SourceLine$ ,Expanded) STATIC 1 Copyright 1968 by Brian Zupke i 1 Checks string SourceLineS lor "SWITCH", "CASE", "DEFAULT", or ’ "SWEND". If found, writes the exp to the output file 2 and ' sets the Expanded flag to TRUE.
The structure: SWITCH(condition) CASE value!: CASE value2: CASE vaiueN: DEFAULT SWEND expands to: IF condition = valuel THEN ELSE IF condition = vaiue2 THEN ELSE IF condition = valueK THEN ' where: ' condition - a valid 3ASIC expression ' valueX - a valid BASIC expression of same type as condition ' . - one or mere Amiga BASIC statements (SWITCH is permitted) V ' DEFAULT condition is optional SLS = * ~ + UCASES (SourceLir.eS) + * “ ' Check line for “SWITCH" C - INSTR(SLS,"SWITCHO * ' Make sure "SWITCH!" Is first thing on line.
IF C 0 THEN CALL CheckForBlanks.MSB(SL$ ,C,Good) ' Extract condition expression IF C-OOd THEN Index ¦ C + 7 Nparen = 1 WHILE Nparen 0 AND Index = LEN(SLS) IF MIDS(SLS,Index,1) - "(" THEN Nparen = Nparen + 1 IF MIDS (SLS, Index, 1) = ")" THEN Nparen = Nparen - 1 Index ** Index + 1 WEND SwitchLevel = SwitchLevel + 1 CaseSxpandedlSwitchLevel » FALSE Conditions (SwitchLevel) ¦» MIDS (SLS,C+6, Index-(C+61) ' ' No output on "SWITCH" expansion Expanded = TRUE END IF ' Check for "CASE", "DEFAULT", and “SWEND" only after “SWITCH" found ELSEIF SwitchLevel 0 THEN ' Check line for "CASE “ C =
INSTR SL$ ,"CASE “} V ' Make sure “CASE “ is first thing on line, IF C 0 THEN CALL CheckForBlanks.MSB(SL$ ,C,Good) ' Extract value IF Good THEN LastCase = C Index = C + 5 WHILE MIDS(SLS,Index,1) o *:" AND Index = LSN(SLS) Index = Index + 1 WEND IF CaseExpanded(SwitchLevel) THEN PRINT t2,SPC(C-2); "ELSEIF Conditions(SwitchLevel) MIDS(SLS,C+5,Index-(C+5))THEN" PRINT 2,SPC(C-2);"IF Conditions(SwitchLevel);" = MIDS(SLS,C+5,Index-(C+5));" THEN" END IF CaseExpanded(SwitchLevel) - TRUE Expanded = TRUE END IF END IF ' Check for "DEFAULT * * IF NOT Expanded THEN C - INSTR(SIS,"DEFAULT * * '
Make sure " DEFAULT " is first thing on line.
IF C 0 THEN CALL CheckForBlanks.MSB(SLS,C,Good) ' Output "ELSE" to device 2 IT Good THEN PRINT 2,SPC(C-2);"ELSE" Expanded = TRUE END IF END IF END IF ' Check for "SWEND * IF NOT Expanded THEN C = INSTR(SIS,"SWEND ") ' Make sure "SWEND " is first thing on line.
IF C 0 THEN CALL CheckForBlanks.MSB SL$ ,C,Good) ' Output "END IF" to device »2 IF Good THEN SwitchLevel = SwitchLevel - 1 PRINT 2,SPC(LastCase-2);"END IF" Expanded = TRUE END IF END IF END IF END IF END SUB SUB CheckForBlanks.MSB SL5,C, Good) STATIC Copyright 1988 by Brian Zupke Checks string SL? For blanks up to but not including C'th char. Good is returned TRUE if no other characters are found.
Good = TRUE FOR X = 1 TO C-l IF MID?(SLS,x,1) w " THEN Good = FALSE NEXT x END SUB Test. LISTING ' Inventory DIM SHARED FS,D$ ,Q?,RS,?5 OPEN"RAM:INVEN.DAT" AS 1 LEN=39 FIELD 1,1 AS F5, 30 AS D$ , 2 AS QS, 2 AS R$ , 4 AS P$ % Done “ FALSE REPEAT CLS:PRINT'Tunctions:":PRINT PRINT "1. Initialize file" PRINT "2. Create a new entry" PRINT "3. Display inventory for one part" PRINT "4, Add to stock" PRINT "5. Subtract from stock" PRINT "6. Display all items below reorder level" Erich Public Relations Consultants Stein & Associates, Inc. Because the quality of your reputation is just as important as
the quality of your product.
PO Box 635 Denver, Colorado 80201 TEL [303] 733-3707 PRINT “7. Done with this program" PRINT:PRINT:INPUT "Function",-FUNCT SWITCH(FUNCT) CASE 1: CALL InitFile.MSB CASE 2: CALL CreateEntry.MSB CASE 3: CALL ShowEntry.MSB CASE 4: CALL AddToStock.MSB CASE 5: CALL SubFromStock.MSB CASE 6: CALL ShowReorder.MSB CASE 7: Done - TRUE SWEND UNTIL(Done) CLOSE 1 END SUB InitFile.MSB STATIC ' Initialize inventory file INPUT'Are you sure",-confirmS IF UCASES (confirmS) = "If" THEN LSET F$ = CHRS(255) FOR I = 1 TO 100 PUT 1,1 NEXT I END IF END SUB SUB CreateEntry.MSB STATIC ' Create new entry in inventory
file CALL GetPart.MSB[part%I GoAhead = TRUE IF ASC(FS) 255 THEN INPUT "Overwrite";conforms IF UCASES(confirm?I o "Y" THEN GoAhead - FALSE END IF IF GoAhead THEN LSET FS = CHRS(0) INPUT "Description " description?
LSET D? = description?
INPUT "Quantity in stock";quantity% LSET Q? « MKI?(quantityiI INPUT "Reorder level";reorder% LSET R? = MKI? (reorder1!)
INPUT "Unit price";prit:e LSET P? = MKS?(price) PUT l,part% INPUT "Press return to r:ontinue";DUM?
END IF END SUB SUB ShOwEntry .MSB STATIC ' Display inventory for one part % CALL GetPart.MSB(part%) IF ASC(FS) = 255 THEN CALL NullEntry.MSB ELSE PRINT USING "Part Number f«";parc% PRINT DS PRINT USING "Quantity on hand f ";CVT(QS) PRINT USING "Reorder level t";CVI RS PRINT USING "Unit Price SS . ";CVS(PS INPUT "Press RETURN to continue",’DUM?
END IF END SUB SUB AddToS tock. MSB STATIC * ' add to stock 1 CALL GetPart-MSB|part%) IF ASC(FS) = 255 THEN CALL NullEntry.MSB ELSE PRINT D?
PRINT "Current quantity: ";CVI(QS) INPUT "Quantity to add";additional% Q% = CVI(QS) + additional* LSET QS - MKI?(Q%) PUT 1,parti END IF END SUB SUB SubFromStcck.MSB STATIC * ' Subtract from stock CALL GetPart.MSB(part*) IF ASC(FS) THEN CALL NullEntry.MSB ELSE PRINT D?
REPEAT INPUT "Quantity to subtract";less* Q% - CVT(QS) IF Q%-less%) 0 THIN PRINT "Only ";Q%;" in stock" UNTIL((C%-less%) = 0) Q% = Q* - less* IF Q% CVI(R?) THEN PRINT "Quantity now ";Q% LSET QS - MKI?(Q%) PUT l,part% INPUT "Press RETURN to continue";DUMS END IF END SUB SUB ShowReorder .MSB STATIC ' display all items below reorder number reorder = FALSE FOR I = 1 TO 100 GET 1,1 IF ASCIF?) 255 THEN IF CVI (QS) CVI(RS) THEN PRINT DS;” Quantity ";CVI(QS);TAB(30) PRINT "Reorder level ";CVI(R?| reorder = TRUE END IF END IF NEXT I IF reorder = FALSE THEN PRINT "All items well-stocked."
INPUT "Press RETURN to continue";DUM$ END SUB SUB GetPart.MSB(part*) STATIC * ' get a valid part number REPEAT INPUT "Part number";part% IF (part% !) OR (part% 100) THEN PRINT "Bad part number" UNTIL((part% =! AND (part* =100)) GET l,part% END SUB SUB NullEntry.MSB STATIC 1 report null entry PRINT "Null Entry."
Input "Please press RETURN";DUMS END SUB ' ETEST1 REPEAT INPUT"Znter a number";Number SWITCH (Number) CASE 2: PRINT"The number is 2 CASE 3: ?RINT"The number is 3 CASE 4: ?RINT"The number is 4 and..." CALL GetLetter.MSB CASE 9: PRINT "The number Is 9" DEFAULT PRINT "The number Is not 2, 3, 4, or 9" SWEND UNTIL (Number = 0) SUB GetLetter.MSB STATIC ’ BLINK test program GetOut = FALSE REPEAT INPUT"Enter a letter";Letter?
Letter? - UCASES(LEFTS(Letters, 1)) SWITCH(Letter?)
CASE "A": PRINT "The letter is CASE "B": PRINT "The letter is E" CASE "C": PRINT "The letter is C" DEFAULT PRINT "The letter is rot A, B, or C" input "Enter Q to get out of GetLetter.MSB",-CS IF UCASES (LEFTS (CS, IK = "Q" THEN GetOut •* TRUE ELSE CALL PrintMessage.MSB (C?)
END IF SWEND UNTIL(GetOut) END SUB SUB PrintMessage.MSB(Letter?) STATIC ' BLINK test program REPEAT PRINT "You entered: " Letters PRINT "You'll need to enter Q to get out" INPUT "Understand";YesS UNTIL(UCASES (LEFT$ (YesS, IK - "Y") END SUB a 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 description line below may include something like 'S-O-E-D', which stands lor 'source* object file, executable and documentation'. Any combination ot these letters indicates what forms of the program are present. Basic programs are presented entirely in source code format.
AMCUSJM1 AMICUS Olsk 2 sertiestc tests serial port commands Amiga Basic Programs: A Basic programs: Graphics C programs: sertsampx example ol serial port use (Note: Many of these programs are present on AmlCl® 3DSqkJs 3d »Eds mcdakng prog, w sample ali ArmgaDOS object library manager. S-E porrntr.c sarr.pto pftnter interface code Disk 1. Several ol these were convened to A-niga Basic, data hies ar text file arehrve program. S-£ prtbase h printer device definitions and are included here.)
E'kxxs cfraws Nocks llxobi amo-coopt e wntthU lies regntes x regon test program AddreuBock a simple address boc* database Cubes draw? Cubes shell simple CLI shed, S-E seaaax source to maria® orvoff program Safi drews a Ban Curer draws pc&m n toe stye o! Cxrer sq. usq file compression programs. S-E Mparmu setTteaTAjtsscftneparaWport CtoaC program to convert CompuServe hex Fscape drm fraea landscapes YacttC a familiar game. S-E SetSeraic sefJteatmaes (party, caaartiijjart tne files to Drary. S-D Hdden 30 drawing program, w' hidden late Make a smpie ‘ma**’ proonrmng utity. S-E smgptay c sm e
ptayfieid example Ckxe negaroe, ItitonOww removal Emacs an early version of he Anga tail edsr. S-E-D speechtoyb scuta to naratv and pncmScsdemo Color Art an drawing program J3ad smpie parrt prcgr&n Assembler programs: tneoery.c ample txner demo Oetoxe aw toe drawing program n me 3*3 AC, S-D OpecaJ oraw sevea optical illusions bsearoiusm binary search cooe ttmer e exec si pori trrer kxxSons £ia conversabonal computer psychologist ParaBei srrpw pain program Qtonasm Una compattie qsorl(J Simon, source inraix more exec support fsmer fimons Oftefio toe game, as known as 'go' Shjfle draws re Stale m
3d wrefrar* and C test program V Khfortc loads and dspiays al available sysem lorts BatMa® 30 ras-a® game Space*!
Graprscsdeno selfnpasm sotynpo code for Lathee 3.02 process i and prtbasej assmebler include fies: ROR bogging grapha demo Speaker speech uMty SvprintJ Una system V compaitte autorqsfr.W wanmgs ol deadlocks wth aytorequesters Shjttw draws 3D pctures of no spa® ihurre Sphere draws spheres trees c Unct compatdo tree( | function, OG console 0 t*l copy ol the RKM console 10 chapter Speimg simple spefing program Spral draws ookx spirals (Thsdiskfomerlyhad IFF spedficabonfiesand examples. Si-xe disMorttxt waning ol c£sk lont toadng twg YOYO wierd zerograwiy yo-yo demo, racks TfmDee 3d luncbon plots
this spec is constantly updated, die FF spec files haw been Ullunc.txl L-st el Pdefnes, macros, functions yo-yo to the mouse Topogram aithcaJ topography moved lo their own 6 sk in me AMICUS colecton,} inpukiev.txt pretimlnaiy copy of the input dev® chapter Executable programs; Wiee draw? Crcte graphics John Draper Amiga Tutorials: License information on Workbench distnbuton ficensa 3Dcube Modula-2 demo of a roiabng cube Xenos draw? Fraca. Plane! Landscapes Animate describes aremason algonthm s pr.nar pre-relaase copy of the chapter on printer driver*, from Alton sets a second icon image,
dspiayed AboJc programs: Tods Gadgets Mortal on gadgets RKM 1.1 vt1kJ.txt tiff of .Id file changes from verson 1.0 lo 1.1 when the toon is cicked AddrossBook s-rrpo iaLabase program tor addresses Menus learn about In&jton menus v23vi.dfl ‘dtr of include file changes Iron version 2a to tP AmigaSpd a stow but simple spel checker, E -0 CardFie ample card fie database program AWCllS Disk 3 AMICUS Disk 5 Files from the Arnica Link 1 are toe ARC fite compression progra Demo mUowndow demo C programs: Amgj Information Network musHow lor Biecom, E-D KayCodes shows keycedes tor a key you press Xref
aCcrossreie encegen.,S-£ Note mat seme cl meie fiJes are old, and refer to older versons ol BennrC grepticsdemo Meru run many Abasc program* tan a menu 6btcokx extrahaif brtght cr»p gh deno. S-E rooperasng system The® files are kom Amiga Lr*. Forattn*.
Dsksafvago prog, lo rescue trashed tisks. E-D MoreCoiors way to get more odea on me sawn Chop JuncaB(chop| files dewne sae, S-E Commodore supported Amiga Link, aka AN. For crine devetoper KwikCcpy a quck but nasty dtsk copy al once, usmg alxasjng Cleanup remcves strange chararden hxn Sxt fies techncal support. It was only up and nmng for several weeks.
Program: ignores errors. EG shapes simple color shape designer Speatot CR2SJ ccmercs carnage returns w Ene leeds in These Ses Qo not carry a warranty, and are lor educational pxA- LibCkr Lsa fxrks in an otject fie E-D speech and narcator demo Amiga fies, S-E poses only. 0 course, nars not to say Jieydom work.
SaveiLBM saves any screen as tFpicE-O??
AbasJc programs: Games Error addscompieenwstoaC Be, S A demo of intuition menus wiled 'menudemo', In C source SownOump shareware screen ck np prog, E orty BriekCut dassc computer bnck wail game He»o wnctowex. From the RKM.S whereisx find a lie soa-chng al subdirectories Star Term verson 2.0, term program, Xmodem E -D Otoedo also known as go' Kerrs generic Kemvl mpementaton. Rakey, bobteslc 900 programming example Tam: Saucer smple shooi-eci'Up game no term.r-.ai mode. S-E sweep c sound synthesis example U3® Mato tps on fixing _nain.c in Utt® Spring simple taking spelrq game Scales sand demo
ptays scales, S-E Assembler files: GdiskDrve n e your own 51M drive ToyBcx selectable graphics demo SkewB Rubk cube ooto in ix-res colors, S-E myaevasm sample ®,® driver GiauMed expians toe Gltu numbers A Basic programs: Sounds Amiga Bast cProgsf dir) myibAsm sarrpte library exampe La3D2bugs bugiistofUfi3®CVERSION 303 Entertainer ptays mal tune Automata celUar automata srr.uatxxi myfej MforgeRev user’s vtew of the McroForga HD HALSOOO pretends it's a real computer CrazyE hts card game mydevi PnmSpooter EXECUTE-based print spool prog.
Posce simple ponce siren sound Graph furlon graphng program s asmjuppj ,BMAP files: Sugarftin plays 'The Dance of the Sugarpkm WithingHcux a game macros j assem bier include Hies These are the necessary inks between Amiga Basic and toe Fanes' AbasJC programs: Texts: system libraries. To take advantage cf fie Amiga's capattertiM c programs: Casinc games cf poker, blackjack, dee, and craps amgarneks bps on CU commands in Basic, you need these files. BMAPs are inducted tor dter.
Alenn simple termnaj program, S-E Gomoku also known as ’otheiio' exkSsk external tSsk specficalton 'ecmsote1. ‘tfekfoctf. ‘exec*, ficon', VitiSon'. Layen', maihflp', ce ad lo ccmptfng with Laa® C Sabotage sod of an adventure game gameport game port spec nathoeedoubas’. 'rraheeesmgCas', matfwans', ‘poigj‘.
Decvnt opposite of CONVERT lor cross Executable programs: paraW peraW port spec
* mw' irti Tarsia tort dewtopars Cksassem a 68COO disassembler,
E-D senai serial port spec AUCUS IMA Do 3y source code to tie
'dotty wndow demo DpS*3e shows a given set cf IFF peti es, E-D
vf.i update bstolnewfeaxresinvereioo 1.1 Amiga Sasic Programs;
echcx urn style Sename expansion, partial S.O-D Arrange a te«
lormating program, E-D vf.lh.trt 'diff ol indude
Slechangestfirtxrbon FlgbtSim sample isght simulator program
fasterfp explains use of tast-Bcalng pant math Assembler
programs: Fies tor bating you own prweer ffws, inciting
rfospeoalo, HuePatete explains fixe, Saturation, & intensity Fa
Date fixes Ltxe exes on aa files on a Ssk, S-E A'poterm tarmM
program wtdi speech and Xmodem, epsondata-C, nLasm, pnmef .c,
printer ink. Primertag asm.
Requester ex. Of requesters from Amiga Base freeoraw Simple Workbench Oravmng prog.,S-E 5-E renderx.andwaitajjn. Thsdsk does certain a amber ol fies ScrofiDtno demonstrates scroSng capabiws G *3i Mem g-aphe memory usage nieator. S-E AMCUSDSM Fla from me original Amiga deserting the IFF speci'ioaboh. These are not fie latest and Syntfiesi»r sand program Grep searches fora gw stong n a fite wun Technical BBS greatest Wes. But reman here for hstoocai purposes. They WorldMap drawsamapottneworid docs.
Han shows off ne hod-and-modify Mob that some of these lies are old. And refer to older versons of hefctie text files and C source examples, The lass IFF spec is Executable programs: method o! Colar generation He operetngsystem. These files came from fieStxi system nat efsetfiere in m Itiary.
Bong1 latest BohgJ demo,win setestabte speed E l5W2*rjga fast parate' cable transfer? Between served as Araga techrical support HQ for nosi ol 1985. These AUCUS Disk 6 IFF Ptotures BreshJC converts an IFF trosh to C data an IBM and an Amiga lies do not cany a warranty, and are ter edxasonal purposes Ths ask nciudes me DPSfide program, wrech can view a given mstojetons, nwfeabon cate, E Mandel Mandelbrot set program. S-E only. Qf couse. Liars not la say may dom work series ol IFF pctures,artolhe,jhowpic,program.»tichcanview Erttih2icon converts IFF brush to an con, E metre patterned graprtc
demo, S-E each file al the dickof an con. The pctues indude a screen from Dazite graph® deno, tracks to mouse, E objfix makes Lattca C object He symbols Compieie and hearty up-to-date C sc jco to image ecf. An earty ArtcFox, a Degas dancer, the guys at Electronic Arts, a goriia.
CeoGEL assem bler program tor stopping visile lo Wac*. S-E version ol me Icon Editor. This isa Idle flaky, but compiles and horses, King Tut, a lighthouse, a screen from Marble Madness, the 68010 errors, S-E-D quick qiic* sort stmgs routine nn$ .
Bugs Ekmy Martian, a sea from an old movie, the Due Starts Wock menu-bar dock and dato dsplay. E raw oiampie sample window VO moving company, a icreen from Pnbali Contncton Set. A TV ire the game ot file, E sella® turns on interlace mode. S-E An fntmson demo, tn fUl C source, inckjdbng files: demomonux, noweaster, the PartCan. A world map. A Porsche, a shuttle TlmeSel totuJon-based way to wi toa Sme A date sparks qix-type graphs demo, S-E demomenu2x. Demoreqx, geasotx, idemo.c, toemoguide, mission patch, a tyramosauus rex. A planet view, a VISA card, EMEmacs anotoer Emacs, more oriented to
uuierexecuiawe programs: idemomake, ktomoaLh. Nodosx, and txwntec and a ten speed word processing, S-E-D ooeecmoy speech demonstration addmemx add external memory to die system AMICUS DtSk 7 DlglView HAM demo pictin diti MyClJ a CU shed, works wdout toe VihcnFod dspiay? All araiabte fonts bcttesLc example of BOB use Ths dsk has pteaxes from the DgiVew hokj-aricj-maSfy video Workbench, S-EG Ttits: cohsoleOx console 0 example tSgHtzer. It incudes the laaeswdipends and bfrypops. Fie yang Texts: 60C2O descrfte? 53320 speedLO board bom CSA craaporic create and delete pons gel, f« txfdorer. Re horse
and buggy, e Byte cover, fie FncfriKeys read hnten keys from Amiga Base Aiases erpiars uses of toe ASSIGN command creastii c create standard 10 recasts ijcftorwy page, ne robot and ftcfoett Ths includes a program to HackerStn expiarshaw towr re game ’hacker 9jgs known tug 1« m Las® C 3.02 creataskc creatng ask exam pies wew eacn prtm separatefy. And as loge iher as separote, sidabte hlGeOlO gode to mstehng a 68010 in your Amga Terence cam ra Angauu UU (ksko.c example of nek read and wrte screens. The s etir' program, to turn any screen na an IFF Ejongl latest Boing'deroo.wito
setectabtespoed. E ( Command* gjde to using the CU dottyx souta la tne dony wndaw aemo ptetore.
Brusre?C converts an Ff brush to C daa wmmanos snoner guoe to AT-gaDOS dua'piay.c dual play eti example AMICUS Disk a msfrucbons. Nfeakzaiton cate, E CLI commands Rood: Hood 111 example C programs: Bresnsicon converts Ffbrosn to ancsr.E towjmmanGS guoe to the tu eonor freemap.c old version ol freemap' Browse wew BrtSesonatSsk. Usmg menus S-E-D Dazzle graphics demo, tracks to mouse, E r renames Atugaujs itename wnocaro geiloolsx tools tor Vspntes and BQBs Crcocn removes comments and white spa® DeoGEL assem bier program tor sxoppxng conventions gfxmem.c graphic memory usage indcator from C
files, S-E 66010 errors, S-EG Half Bright expiaxts rare graphics chips that can do hello.c wndow example from RKM fcofiExec EXECUTE a series ol commands Ktock meoj-bar dock and date dsptay, E more colors inpuWev.c adding an input handler to the input stream from Workbench S-E ire toe game of He. E Modem Pins nuij.i. description ol the senaf pert pinout joystikx reacfingthejoysbck PCScreen Dunpcfomps Rastport ol hghesf sawn a printer TmeSet rtuDon-based way lo set toe tmo daio, rvvnOiSKS bps on sotfing up your RAM: desk torybdx dirod kayboarfl reading SelAJterruto sets a second mage tor an
icon.
EMEmacs another Emacs. More onented to RQMWaCk bps on using ROMWack layertesx layers examples when do.ed once S E word processing, S-E-D Sands eiplanabonol Insrunent demo sound nousportc test mouse port SetWndow makes wnoow? Tor a CLI program Myai a CU shell, works mihout toe He lormat owrtitic, to nr inder Workbench S-E Workbench, 5GG opeeo fenjaxfi or Amgas CPU and custom cnp speed owrtlbasm example of mating own Brary win Lascs SrraOCtock a smacl tSgtal etoefcn a wvtiow menu Bar sp&griusng rtiCX parateslc tesb parafiet pert commands Scnmper m- screen pnr» in x» louli AC S-E il expans how &
read fuxticn keys documentaSor and C and assemMev souceV wntng you own htr.inw, and a ovtaong C lo assonMef in tpranej. Vfth exampia Thts disk also contans several files of scenarios lor Anvga Flight PropGocijei Hare! Maybeck Thys prcportonal gadget example, 5-E Checks to see if you have extra-half-bright graphcs. S-E-0 Simple piano so id program Makes cef anrnation scripts tor Aegis Anroator. N ArugaEasic HackerSJn Irom Amiga Basic explans how b wr me game Tsadwf sound.
Simulator It. By putsrg one ol tose seven files on a Hank dsk.
And inserting it h to drve after pedomwig a special command in EHB 1368010 glide to instating a 68010 in your Amiga Ex£ uteMe programs Fts game, a number of interesting locations are prase! Into the Piano PriMefnp scoring escape sequences io you printer gravity SO Amer Jan 86 grav abcr graphic Fight Stm’JaBr program, for example, one sceranc places your CetSchpts StartjpTip to on setting up you startup-seqjence So smjascn. S-E-0 piara on Acatraz, wflae anotor puts you n Certral Part XfrmrReview 6stol Transtoroier programs ftal work Tern AMCUS Disk 17 Primtf Drhws: MiDl make you own MCI nscment
rscrtace wd Tefccmmncationj 4w whxh contans si termraf programs.
ThsrJskhasetecTtxKcaaiogslor AwiCUStJsksi to 20 and Fun dsks ito 80 They are viewed w h to DttkCa program, Touted here.
AMCliSJHsk 1 i-w, c n PrinwtthOT tof toCanonPJ-tWQA. ToC ttohProwrttef.ir doanentason and a hnts sctomabc pcire.
* Ccmm* V133 tern prog, wifi Xmodem, Wxmoden.
Improved Epson Jw nai efcumln si’ta.aig. to Epson AMCUS DU 11 Term* V72 term prog routes Super Xermt LG-000, re Gofisn Star-10, the NEC 0025A, re Otodaa ML- Se veral programs from Amazing Confuting issues: ¦vT-tome D re Wer*erii VT-iOO emulator with 92, to Panasonic KX-Plta tanly, ana re Sncn-Corona Tool* Xmodeffl.Kermt. and senptng DDOO.wh a document riexn&ng re nsfflfebon process.
DanKary's C strutua rbex program, S-E-0
• Arjga Kermir V4OtC60) port of to Urn C-Kaml Stow Prrtll Vtews
and prints IFF pietixes, ncudng larger than screen Latest
vasren of a printer driver generator VkteoScape anroations cl
planes and bang bait Makes fractal gardenscapes Examples of
binary search and insertion t Ul A ZjriiniRsCn* AHCUS Dtak. 10
Injtnrrwt sound iJwnca Amiga Base programs:
* YTek‘ V23.1 Teccoi graphics terminal emulator This is an
icotvdriven demo, oufcted to many dealers- 1 incudes re sounds
ol an acoustic gutar, an alarm,a banjo, a BMAP Reader
IFFBrush2BOB by Tn Jones by lAkeSwnggf based on to VT*too prog
V2J and contans latest ‘arc fte compression PrtDrvGen2J
Awnations bass gurtar. A boink. A calope, a car horn, Saves,
water drip.
AutcRequoste example
• AragaHosT VO.9 lor Compuservo. Includes RLE electric guitar, a
(tele, a harp ajreglo, a kld'drum, a marimba DOSHelpor Wndowed
help system fry CLI graphics aWities i CtS-B file transfer
protocol.
Garden a organ minor chord, people taking, pigs, a pipe organ, a commands. S-E-D Tixfrtnk* expansion memory necessity Bast Sorts Rhodes piano, a saxophone, a atar, a snare drum, a stee PETrarn translates PET ASCtl lies to ASCII TixObj' removes garbage characters from drum, be*s, a vibraphone, a violin, a walng gUtar. A horse fries. S-E-0 modem received kies AMICUS Disk 23 An AMICUS dsk completely dedicated to music on to Amina Ths rtek mntaT« h*o mi ieir whimy, end a whistle.
AHQUIQWlU Csquarod Grapracs program from Scientific American. Sept 86. S-E-D TxT liters text files from other systems to be read by to Amiga E C. C programs crtf adds or removes carnage returns from ties.
'addmern* eiecuteaHe version tor use wifi mem players, sor s, instruments, and players to brmg thethrJ of playing ‘Big Souid* on your Amiga a colection ol 25 instruments tor praying dru’ti Irtj tier-based, CU replacement manager SET) expansion article n AC y2J dpdecode decrypC Deluxe Part, reno ¦arc' fte documentation and a um tutona!
On snow? And ad.usts pnerdy cl CLI vescopy protecson, E-0 on in‘arcVig fries hsfrjmena PS processes, S-E shows into on CU processes. S-E queryWB asks Yes or Mo from to user returns ert code. S-E
• arcre' tor makeng *arc‘ fies E C. AAKUSJZtSUg and creating
music. The cofection ranges from Cannon to Manmba program to
fist to insrjments DMCS wfl not load as well as 1st the ongins
lor any instrjmenL a cotectfon ol 14 Ctsssical pieces The 16
mlrwte dasstoai feati e complete iMtti ra.-wnl vtitex dsplays
CompuServe RLE pcs, S-E VC VisiCaJe type spreadsheeL no mouse
consol.
Logo Amiga version of to popUacomputer bit INSTR Aragaaas*: programs E-0 language, wifi example programs. E-D pontered pointer and sprite edtor program view views text Ides with window and Tvlext Der» roraon of to TVText optimize optimizatcn ex ample from AC article doer gadgel E-D character generator Muse calendar large, ancnaBd calendar. Riary and date book program Dog. Sproing, Bcmg1 stylfl yaBoing. Zoing are sproe-btsed demos. S-E-D PageSeser Freefy dtstnbutaHe versions ol to updated PagePrvu and PagelFF programs fix the 18120v«rture amortize loan amortzatons CL (Clock, sOock. WCtodt are
wirdow border docks, S-E-D PageSetser desktop pubishng package.
Three Anga Music Ptayere: ftlfliqAaw trushtoBOB carvers anal FT crushes a AxigaBasic Texts FiJWindow Resizes any Oil wntorer usrq orty 900 OBJECTS An artxbe on leng-persBtance phcspor non bra. Bps on mafcng CLI commands. E-D MuscCraft2SWUS grids draw and pay wave tones brushes of ode shapes n Delae Par*, arid recommenaations on 3D verson oi Conwa s LFE M*fT draws Wtoefl cum con raertaces from Commodore-Aroga.
Program- E’O ma*o maAaft mad Lb story generator satfcng maing test program AMCUS DMA 15 The C program* include: Defrlsk GU uMty to re a$ $ gn anew Vtafrhench dsk. S-E-0 Sector lnva A dsk sector «Jtor tor any An aDOS f*e- strxt ed xrce, recover 6tes from a trashed hard disk. By David Jomer of btcroUxsions Redxesto size of FF tfnages, companion program. Recotor, remaps to palette colors ol one picture to use to palette colors of another. Using tose programs and a too! Lo convert IFF brushes to Workbench icons, make icon* look Ike miniatures of to pcfixes m«actows30 30graphra program, from A
Charade V a foe pnrttng uJty. Whch can print fies n to Caiendar.WKS Lctus-compatibtevrerksheetfia: makes mcusetabc mouse tradcng example r hires mode backgroutt, and wsh Ire ruribers and coraol calendars Slot dot machine game character Bering, Setxey Demo oi keyboard key re- tCrtie tatactoe switch word the game pachrto-lka game makes strange souids tm "Ask* dlspiays a chart of to becks allocated onadsk.
QuesJxins an 'execute' file, reruns an VPG programmer, wd IFF picture to make function key labels, E-0 Wtoo pattern generator tor Executable programs error code to control to execution in aligning monBora, E-D cp ds unix-lke copy command, E screen dear, S-E ¦Star tot batch file an enhanced version of AmgaDOS HP-tX SotPrefs Hewtou-Packard-Ure otoiialor, ED Change to Preieronces seltngs if urxxlke stream editor uses (Mf output to faltes Dissolw‘ 'status' command- random -dot ifcsofw demo d sptays IFF ptaxe StarProbe on to fly, in C, S-E-D Program studtes steiar evotution.
CodeDemo Modiia-2 program converts assembler ctject files to rfine CODE statements.
Comes witii a screen scrotfing example Workbench hack makes the Same fty wik across screen at raidcrn intervals pm.
Chart recorder performances ndcaar slowly, dot by dot, in a random fashion.
C source included tor Amiga and Assembler programs ds screen dear and CU arguments example PcpCU?
Invoke new CLI wrxJow a! To press of a key.
ROT MS-DOS, SE-D C verson ofCofin French's AmiBug Mcxwa-Z The executable programs Include: AmgaBas*: ROT program from Otorwisa, ccmpleisfy harmtess Thrte exampes ol assembly language code from Bryce NesHft:
1. SetLacej og to swlcri interlace onion
2. Why, replate AmgaDOS CU Why
3. LoadlJ, prog to load a file into memory until a reboot (Only
the most esoteric hackers wit find LoarS! Useful) CL1 program
resets PreterenteS to several Irajs movng-vrom graphics demo
Term' to lormattng program through to Amazing Computing. ROT
edfs BUTPols ca«conven converts Madia-2 keywords to uppercase
printer mr io select pmt styles and dsplays polygons to
create Forth Breshehan drde algorithm example OskCar catalogs
disks, mantans, sorts .merges free drwruvoruJ otvwca Up to
Analyze 12 templates ‘or the spreadsheet Analyze lists ol dsk
files 24 frames of animation can be There are tour programs
here nal read Commodore 64 ¦RSountf SuoRiie hdusmes' sampled
sound created and displayed. E D pCujre files. They can
translate Koala Pad, Doodle. Pml editor A recorder Scat Like
ing, windows on screen run Shop and News Fbom graphics lo IFF
tormai Georg the 'feonmaker* makes icons for most programs
away from the mouse, E-D Hes from your C-64 to your Antiga is
the hard pari fractals' draws great fractal seascapes and
mouitam DK Decays* to CLI window mo dust.
More: ace AMCUS Dtek 12 3D Breakout scapes.
N McxkAa 2. S-E-D Colors ot monochrome 4 totertace screens.
Exeatabla programs 3D glasses, create breakcut ci a new dimension DropShadow?
Aids layered snadows to C soiree is inckjded works win Hr* 'at-*- compatible Unwr, but taster, E D An a Mentor' dsptays Isis of open fies.
Wortbench windows, E-D DspiayPref, a CLI program when 2sprays dean spsistotfskfot risxrieaners. E-0 munory we.
Tasks. DevcesaraJ ports nuse.
AMCUS Disk 19 to curort Preference* settings A ray-traced an nation cl a perpetual motor Ec*T nafcxx- rjcfrv, rcfi tei to atest verpon of to Movie program.
Ecsonset sends Epson seangs is PAR from men E-0 ¦Ccsmvoronjs verson of'asterods1 fry to Anga.
Thts dsk canes several programs from Aroazrg Computng The BongMachne srowtjg new rwes pcs n bw-ressuperocmja. £-0 Sozlea' MgnresotAon grapftcs oero wrnen IFF pcaxes orns cks* mduue to Atiga Wake pan Tsnrt lego.
SpMttroe les to me. ED toMoOMl a sarieerKaior hires inage of Andy GrtJBh. And frve Arsga live!
T ttetete uxteieEs a Sc. E-0 Tear pctres from to Arazng Sfcnes epsode tot teafued to when has to abiCy to play sounds aicng cnvapldhra converts Apple'[ lew. Medus and ‘ars-btr expIans escape sequences to CON: Ataga.
Wtfitoanmabon. Sy KanOSer high res »m to IFF. E-D Otoce responds to.
Serve Linear equation sofver in assembly Daisy Example of usmg to translaior and menjed neai edtor produces C code tor ¦FKe ncludes template tor matang peper to language, S-E-0 narrator bewtes lo make the Amiga taik. It menus. E-D st r to fray at the top of the Amiga Gadgets Bryan Cate s AmgaBasicBiflxyl.
I$ written in C. && qixk tfsk-to-risfc rabble coper, E-0 keyboard.
Household Bryan Catey* Amg*Ba* Ouckfloi Scnpt-driven arematicn and slideshow quckEA copies Electronic Art* risk*. Remom ¦Spawn' programmer's dxuneot from Commodore household mvenkxy program, SO program fiips through IFF images.
Protection, E-0 Amiga,descrtos ways to use the Amiga's mUiteskmg capatxkties Wavotonn Jim Shrews' Wavelomi Wo Wp3®c, S D Quon System rancor Amiga Basra program ; txedU demo of text eriior bpm Mcrosmns.E-0 In you own programs.
Cksklib Johr Keman's AmgaBasc disk periorm »mple manipUation* ol memory.
C programs spin3 roaing Mocks grapracs demo, S-E-D AmlgaBasic programs: ¦Grids' draw souxl waveforms, and hear them played.
Subscripts tibralan program. SD hran Smith's AmgaBasic subsenpt Moose Random background program, a smal window opens with a noose resemHenj pCpCfr start a new OJ at ne press of a
- jjri a version ol to Iron igrt-cytie video game.
Example. S-0 BufiwriMesaying urt y phrases user button, Ike Sde&fc, S-E-D Vaga&or a game ol sottaire.
Sring. 3ooiea.i C programs and exeoiaHes tor definable.
Vrsprtia Vspnte example code from ¦Stair program to caloJate bating averages Harret Uaybeck Toflyi tntxtion CGCS DeLns Grocery Consfuction Set. Simple Commodore, S-E-0 ¦Money try to grab alto bags ol money that you can.'
Usult, S-E-0 fritution-based prog for assembkng and Arega3BS Amsga Ba« We in board prog. S-0 AMCUS I5af»indudes twobetofdFFptoJues.ol the enemy Skinny C Bob Rremersma's example lor trifttfia a rrccerv Ijsl Assembler programs walker j from the planet in Star Wars, and a p tue of a cheetah.
Makng smafi C programs, S-E-D The Virus Check diredorr holds several txoarams retatrea stario makes star teds ike Star Trek AaiCU&Dttaa COMALh Make C took tike COMAL ra Ocr frto.
To to software virus that came to to US intro,S-E-D jggtef demo by Eric Graham, a robot juggler boundng EmacsKey Makes Emacs function key from pirates n Europe as (fetalec In Psdune* three minorod bais. With sound effects. Twenty lou frames of definitions by Greg Douglas, S-D Amazing Computing V2.12. Bii Koesteris Mount Mandelbrot 3D wew ol Mandelbrot set MAM animation are flipped quckfy to produce this image. You Amont.l Snoop on system resource use. E-D fufl explanation of to virus code is Star Destroyer hi-res Star Wars starship central tno speed ol the juggling. The suitor's documentabon
BTE Bard's Tale character oditor. E-D included. Ore program checks tor the Robot robot arm grabbing a cyfrnder hnts that the program might someday be available as a product Size CLI program shows to sze of a software virus on a Workbench tfcsk;the Tens IFF pictures given set of Me*. E-D second program checks for to vrus in vendors Amiga venders, na,mes. Addresses parodies ol to covers of Amiga World and Amazing Computing WnSaB CLI window utility resizes orient memory, whch codd infect otor risks canfco Sxes to earty Cardca memory boato magazto*.
Window, S-E-0 AMICUS Dtsk25 cncWe cross-reference to C rdude 1Ues C programs AMCUS D1SL2S Neman Graphcs demo pans rrougn spate rr.ndwaker dues to piayng fie gaT« woi Trputonder eiamde ol making an rput (wider.
Compactor. Decoder Steve Uchei Amga3a»C tods. 50 towards to myrtca! Dart twin of to slti sideshow make you own sideshows from me TfcZapr bmary to edtrg proyam BooEd BOB and spree e frtor wraen ei C.S-E-D win wonder music and fcace oraortcs Ka)e*dcscope desk ¦StowPnrr dsptays FF pebjrs are prm L SpnteMasieriJ Sproe extoor and aremater by Brad Kiefer. E-D The fGckP'di drectory toWs ten tot describes several MflCUSDtt.13 ¦Gen1 program ndeies and retoves C Ei-ao Bltier cr«p et cation C program pathes to to Kacksart dsto For Ar.qa A-raga Base programs struAxes and vanaMes tedared n by Ipmas
Roiocla, S-E-0 1000 hackers who feef csr.torfetfe Rouires from Carotyn Scheppner of CBM Tech Support, to to AzTaga nCuae fie system.
Fpc frnage process g program by Bob Bush toads patohng a dsk in hexatfecroai, KickRay read and rispiay IFF ptoLres from Amiga Basic. WsiOocu- Executable Programs: and sares FF images, changes tom wrth otters to chance » automraticaly do an roentafron. Also inducted a a program to do screen pnna n
• FotHuik?
Repart an e tecuuMe program to for o ipanded several technques, ED ACOMEM fcr old expanaon memory, as Amiga Base, and the newest BMAP Me*. With a corrected Ccn- memory Bankn Conptete home banking program.
Wet as to ab4ity to change to pdure of vertFD program. Wth examde dctures, and the Save HEM ¦msZsmus' converts LfrfiiC Studd fiteSte IFF sandard balance you checkbook' E-0 to Insert Wcrtberwh* hand. A program screen capture program.
¦$ M US'form aL I have heard tffrs program rmght AMCUS Disk 2!
I* also snckxfed tor restoring to correct have a lew bugs, especaiy in regards to very Target Makes each mouse e*cfc sexto are a checksum H to Kjckstartdrax Routines to bad and play Flsxq Sound and IFF sard lies long songs, but it works r roost cases.
Sand gunshot. S-E-D KeyBrd BASIC prog edto keymaps, a usi to Iron Amca Basic, by John Foust tor Appoed Visions. W-th Mssie‘ Anvga verson of the lAssle Command Sirpie game of sand that todows to Workbench keymaps or create: your own vnJeogame.
Mouse potfitef, ED SunMouse Ths program automatical dicks in wircfows AutolconOpen Focis WB into thinking mouse has ScatDispiay hack created from’tog* Adtf. Srd Warren Usu. ADL enhancements by Ross Ci nifL when ihe mouse is moved over them. Vt J. E-Q double-cickad com to C.S-E-D Smush Smushes an IFF He.
Included are sources to toe ADL compiler, interpreter, and Fred Flsfi Disk 66 Do Generic Exec device interlace code tor opertng Target Each mouse dike becomes a gunsfot debugger, Bhanes combined by Ross win Lattice 353. CLI AmScS Freirr.inary plans lor a SCSI cSsk libraries, getting multiple 10 channels, asynchronous Fred FishPiJkK errvjommen* only. Documentation ts avATARIe from toe authors.
Controller board.
Operations, efc. To C.S-E-D. Adventire Port of toe cfassc Crawther and Woods game Fred fish Blsli 62 Asm63k Macroassembler, version 1JQ.1. £-0 Dissolve Slowly Ssplays IFF files, ate Nov 56 Dr. AmcTerm VO50 cl a tetecommunfoaSons program, wlh AS6302 portable 6502 assembler, C source, byJ. Van Omum, Assigned Example lor avoiding DOS insert- Dobb’s program. In C. S-E-D scripts, redial, beeps, enhanced fite requester Amiga port by Joel Swank disk requestor, by scanning tho list Dterm Flexible, reprogrammable terminal program vl.10, E-0 D2D-Demo Demo version ol Dsk-2-Disk by Central Coast Software
6awk Text processor update from FF6S Inspired by UNIX ol'assign ed names. S-E-0 Expose Re arranges windows so that at least one DX-Synth Voice ft er program lor Yamaha DX series awk. Searches files tor patterns, performs actions Dfc Pretends to eat away at CLI window. S-E-D pixel ol menu bar gadgets are exposed. InC, S-E-D.
Synthesizers, update to disk 33 based on patterns. By Bob Brodt; Amiga port by Ftp Pips whole screen as a joke. S-E-0 Lit Scans a text file, converts c C-styfe DiskMan V1.0ol another DirtJtil program Johan Widen Foogol Foogci cross-compder generates printable saings.C.v2 Q, S-E-D Icons Msceltaneoos new icons HunkPad update of FF64 verscn. By J. HamJfanpads an object VAX assembly code. S-E-0 Lmv Tong Movie*, program views series of IFF pets to Pari Universal MiDf patch panel, v1.2 file to a muitpie ol 128 bytes lor besar xmodern Free Prints amocrt cl free space on al drives-S-E-0 quick
succession, upta 19 ips. Shareware, E-D Rocket Anotoer Workbench hack, ptays Lunar Lander less tiranster. $ 6 MaSocTes mdoGfae memory lest program. S-E-0 MouseOft Mouse pointer tSsappears after ten seconds Sand Game cl sands (slowing your pointer.
Like Una *more*. Beler, version 11 ifodate ol FF74, Melt Pretends to men the screen. S-E-0 ol non-use. In C.S-E-D Fred Rsh Disk B3 Serais Back and 1 award. S E by Marie Mudeirrran, Kart Graphic Ify-ng string demo. S-E-0 Pa'Out Examples ol controllng parallel port with This dsk contains a demo verson of TeX Irom N Sqiared.
Nd j Amiga port by Bob Leiviaa Purty Easy way to sat printer amtxr.es resources Instead ol the PAR: dewce.ln C.S-E-D It is imrtod to small Res. And toe previewer Library toal implements the 4BSD urtx dr access from Workbench. E-0 PenPalFont ChJd-tikfl tonL can ony dspiay ten pages or less, and only routines by Mike Meyer. S RayTlacer Simple ray bacmg program. E-0 RunBackGround Similar to RunBack on dsk 66, runs program from a small number of lonts are provided.
Parse Recursive descent expression parcer, computes, and SerxJPackets Updated CBU examples ol packet Ihe CLI allowing the CLI window to dew. In C,S-E-D Fred Rsh Disk 34 prints expressions, includes iranscendenta) foncton routnes on rSsk 35. S-E-0 SnapShot Soeendump utility,update FF 66.E-D AuJo Tools Program s from Rob Peck's July August Amiga World arttofe support, c Source included, by J Qsen SnapSKot Memory resident screen dump. E-0 TypeAntfTol Example installs a device handier before BlitLab Blitter experimentation program, vt.2, update to FF69 Shar Two programs a pack and unpack she!
Archives TaaBBS Shareware BBS system, version i ,02.
Inaitton, and speaks each key as il is Ed Sim pie editor, similar to Unix 'erf. Based includes C source, by Fabbian G. Exiloe Fred Rsfi Disk 67 pressed. In C and assembler. S-E-D on the editor in Software Tods, Sm iUb B times smaller AmEgaib replacement binary 0rtf. By AmCai Shareware disk cataloging pr j&m.
Xptor Prins do about system las, in assembler.S-E-D GraviryWars Game of planets, srtps and black holes.
Bryce NestxE AmigaSpeS Shareware totufon speilng checker. V2.0. E-0 Fred Rsh Disk 74 vl .04, updaie to ask 70, Uuencode EncodeOecode brary files tore mail ortexl-onty Bouncer 3-D bouncing bat wnCen in MutiForto, SED Oed Erits and recalls CU commands, vl2, E-D HinkPad Adds legal padtfing to executables lor methods. Update of FF53, focfodes checksum.
Comm Terminal program version 133.E ConToi Intercepts graphic printer drop caCs and accesses Xmodem transmission.
Technque, compatbe wito older versions, plus DuxS Another verson ol DrtJtil. S-E-D color map. Wtdtti.and saeen resolution. C.S-E-D PipeHancpei An AmigaDOS ppe device which siopcrts transparent to Older versions options. By Mark Hcrton, HexCalc Her, octel, 4 decimal calculator, E-D Dme Simple WYSIWYG text ednor tor named pipes and taps, vt modified by Alan Rosenthal & Bryce Nesbil Icons Various big and alternate image cons.
Programmers.vt.25. Update Ol FF 59.E-D PopCll V3 0 of a hoi-key 10 rvoke a CLI window, Fred Fish t?|sK33 Mandate Mandaia graphics and sound. E DropShabow Wbdropshadows.v2.0,UpdaieFF59. E-D with screen blanker, update to desk 40.
Dme Versiom.27VVYSlvrYG programmereditx No! A PersMait Demo shareware personal fie manager.
Finds AmigaBASIC prog tracks mutual or stocks-D Requester Update FF34, fSe requester simeiar lo Dpairrt.
Word processor. Incudes key mapping, fast scro-llng.
RSLCtock Menu bar dock version 15. E-0 Less Text viewing program. Eke Unix 5co" Device V33.1 cl a 'mourt'able MicroForge SCSI driver.
Titie-ine statistics, multiple windows, ability to iconify RTCubes Graphics demo ol 3D cubes. E-0
• more*, vi.1, update lo disk 34. S-E-D Viacom Anotoer Schwab
hack, makes TV-tka windows. Update of FFB7. SE. By Malt fflton
Wheel 'Wheel of Fcrtwe'-tvw came .Am ia BAS 1C Makemake Scans
C source files and constructs a static on screen, Parody Micro
Em acs Verswn 3-8. Update to f-rei mcfodes source, ung by Fred
Rah Disk 63 vania ’makefile’ in me currem rectory. S-E-0 Frtd
Ran Dlak 35 Dave Conroy modifications by Darrel Lawrence Ths is
version MG lb of toe MicroGNUEmacs. Soiree and mCAO
Object-oriented drawng prog. V1.2.*. Csh V2 06 d Diton's
-csh'Jike shel FredRsh DISK94 executable areinduded, as wei as
sovkce lor other computers update to FF 59.Shareware. E-D
FieReq Source to wildcard fife requester AudoTools Demo
programs from Rob Pecks Jtfy AugusS issue ol besides the Amiga.
Random Sri pie random number generator to C. S-E-D Hide Hxties eipans«fi memory irom programs at.:gaworld on accessing the auao device.
FredRlh Disk 69 Tdebug Monitors devices by toiercepfing Exec imageToots Shareware tools to manpulabon IFF images V2ujpdaieolFFB4. 5. By Rob Peck Asm6£k Macro assembler. Vl.OJ. E-0 SendCK) andDolOQ vectors, in C, vl.O. LowMem ServerShared library to aid in low memory situations ClckUpFront Sundar m function 10 CfckToFrort prog (FF85), bring BsiaD Bjcerexptomg program, in C, S-E-0 S-E-D Plots A star petting program with source.
Wtoctows tofront by picking on any pan ol them. V15.
Conman Replacement console device handier adds Units Converts measurements in different units.
RawiO Example ol setting raw mode on standard input by Davide Cervone SE editing and history to any application that Includes 'chart* option, to C, S-E-D Rcckei Lunary Lander for Workbench, with source.
HefissMouse Automatcaly activate a window s*n ply by uses CON: vO.9, E-D Xcopy Replacement for Amiga DOS 'copy*, doesn't Vmore 'more*-tike text viewing utiity, v15 SE moving the mouse porter nto the wndow. V t.O. Console Replacement console routines, in C, S-E-0 change ihe date, uses Urtx wildcards. E-D Vnews Simple Unix news reader.
Includes source. By Davide Cervone Cst Decays ihe screen hi by bit. Update to FrrtfiilllMZS FrfitI Ran Disk. K IFF2PS Convert any IFF file 10 postscript lor printing or viewing disk 66. In Modula-2. S-E-D Bflzter Play wito Bezier curves ports and AutoPointAuSo-seloca wndow under Tie mouse pointer.
On a postscript compatible device, version 1.2, by Frags Displays memory fragmenattonby fisting grarxiarity, S-E-D with screensaver.
Wiliam Mason and Sam Paduco £ Tie Size of tree memory blocks, in C. S-E-0 Bspines Play wm b-spines, as above. S-E-D CkkToFront Doubte-cicks r window trings it to Font, v1.1, S-E-D McdJaTocls Various Modua 2 prog, routines- by Jerry Mack KonType Change the type ol an icon, m C. S-E-0 Comm C source for Comm terminal program vt.34. S-E-D Cmd V3 Oof a toot b redrec printer output toa file.
TerrarOd Pseudo-random 3d ret el scenery generator, update ol Make 'make'in Manx C, S-E-0 Copy Re piaaem ert toopY camnsrto vl.O. preserves FaeiiSG-Demo Demo cf Softwood File llsg, a da abase ‘sc*. FF87. By Chris Gray, 3d by Howard til MonProc Monitors processes tor packet activity, in dale, in C, S-E-0 manager with sound and graphics.
FrN FisltBisKH
C. S-ED Dtfl Stoiple ‘diff to C, S-E-0 EiemaaJM 37 Cmd redirects
the serial device or paratef, device output to MouseClock
Mouse pointer into a tfgital efockjn C.SEO DuM2 Anotoer DirUH
in Modula-2, vl 5, S-E-D AdvSys Adventure system from Byte May
1937, vi,2 E-0 a file. Capture print jobs, debug or ‘offine’
printing.Vk SO Browses system structures, irom Eless Fast ’6t
prt ram In C. S-E-D AutolconOpen Fools Workbench to open disk
icons, V1.2 By C Scheppner SE Transactor magazine, vt .0. In
C, S-E-D Fd Faster'eless'in C.S-E-D update to disk 73, S-E-D
CygnusEdDemo Demo ol CygnusSoffs CygnusEd editor, a Spew
Generates ’National Enquired-type HardCopy Sends a transcript
ol a CLI session to a file, In Claz Converts IFF files lo
PostScript, V2.C, SED multiptefile, multiple feature
editonlndudes demo 3.0 headlines Irom rules tie. In C.S-E-D C,
S-E-D Commas tiesMaouaz’s Commodities Exchange, an ol MandFXP.
By CygnusSotl Software E Spool Three programs to demonstrate
multitasking MouseOfl Update FP3, turns of! Mouse pointer,
S-E-0 exec library to manage input handler, vG.4 Gcrrf 'Get
Outa My Face* makes Ihe Gum 90 away to allow A spooling in a
prmter spooler. In C,v1.2, S-E-0 Setfont Changes the font In a
Workbench screen, DrfT Update to fisk 75 ol Unix-lie ‘diff,
S-E ) dean-up 4 shutdown more Cearty. V 1.0, by Christian Wc
Counts words ala Urtx •wc’. But faster, in C.S-EO v2.Q, S-E-0
Dme Vii7 cl Dbon's text eiStor. Update FF74.E-D JohnsenE Fred
Raft Disk 70 SpeedQr Another last If, in assembler. S-E-D
DropShadcw V2.0 ol orog. Toa! Puts shadows on Workbench, S-E-0
Journal records sequence ol mouse 4 keyboard events, This is a
disk of shareware programs.
FrMFl3h03O6.A77 Esb Shared itxary example in Mara C. stored in a fife lor future playback, Good for demcs or AmgaMonitor Explores state ol the system, vl. 13 These are disks 1 and 2 ol Chris Gray's Draco distnbuton tor the lD-HartSer An AmigaDOS device hantfer generates dccumtentng bugs, t by D. Cervone Ax Standard r*e compressor arxS librarian.
Amiga. Draco is a compiled, stradured language remriscenf ol both unique dentifiers, Vl5, S-E-D MergeMem attempts mergng ol Mem List entries of seq’jentiaty vO.23, a port ol MS-DOS v5.0. E-0 C and Pascal. A Ml interlace to AmigaDOSand totution ts suppled.
Tnstafl Alternate AmigaDOS 'mstair programs,SED corfigured ram boards. Alows allocating a section ol Bock Book Phone book program.
Be sure to gel both dsk 76and 77.
Mem Watch Warts tor low memory trashing, V2.D, SED memory which spans both boards. V 2. Update of DoTi Intuition-driven file manipulator program,v2.0. FrMRaflDUk76 Move Pointer Moves pointer to given location, S-E-0 FF56. By Carolyn Scfwppner SE GravilyWars Game ol planets, ships and black holes,v1.03. Cycles Cyde game Ike *Tron’, vl .0, E-0 Move Wndow Move wndow to given location. S-E-D PrintarSlealer Aslmilar lo 'Cmd*, allows diversion ol output Jobs Atemale user interface to CLI and WB, v2.l. EQ.MS Experts Only Mercenary Simulator game, E-D Munching Sq Munching Squares hack, S-E-D destined
for printer to a file. Binary only, Source aval.
Lens Magnifies area around mouse, MandelVroom Mandelbrot generator with enhanced patena PalTest Test to «e if this is a PAL machine, S-E-D from authors, by A. Livshils 4 J-M Forgeas shows il in a window. Vl.O. centrals, f.xedfbsting point presets, Sc Generates random scenery, S-E-0 Rscord-Replay similar to * Journal*, records and plays back mouse Lfe-3d 30 version ol the classic cetiular- vt50, in Manx C. S-E-0 Tek4€95 Tek4S95 printer driver and keyboard evens. Bcrty. Source avail, from automaton game. VU.
Fred Rsh Disk 79 V BDuaiPF Example ol dual-piayfield screen, update authors, Alex Livshits & J-M Forgeas Logo Logo language interpreter Ast,Tools CLI tools in assembler echo, loait. Mounted.
FF41, S-E-D FfMRKlBJSKM SetKey Demo keymap editor. Vl.O setiaoe. Why; S-E-0 WarpText Fast text rendering routines. S-E-D AnrePlayor Animation reader and displays.' By the combined Vpg Makes dspla 3 for abgnng vfoeo monitors.
AssignOev Give devices routopie names, c C, S-E-0 Yato rExampie IFF reader. S-E-D efforts of Wdeoscape, ScuipUD, Sjver, Fcrms- to-
vl. O. Aux Handle Example of a dos hander thai allows use ol a
Zoo A lie arcrtver like 'arc', vt.42A. E-D Fight, and
AnimatorlApprabceby M Hashetal.
Fred flah Disk 71 CU via toe serial port Incudes sourca.
Fred Rsh. Dfrk 53 (see Fred Fish 69) Chess Arrvga port, non'Amiga inierlace. High ptayatnliy. V ArFod Makes airfoils using the Joutowsfci Author Steve Drew FF Disk 63 has been removed due to copyright problems 15, S, by J. Stanback, Amiga port by B. Leivian transformation, in C. S-E-0 Cmd Redirects printer output to a He, to C, S-E-D Fred Fish BISK 69. (replaces Fred Fish 80) Backbench provides source lor WB-Like prog, lor experimentation Amiga Basic Miscellaneous programs including 3D plot Info AmigaDOS 'info' replacement, in C and DvMaster Disk catalogue program, Vi ,0a. E-D 4 valKdatSon of
new interface ideas. Not a WB program, a kaleidoscope, C-A logo drawing assembler. S-E-D FuncKey Shareware function key edtor, V1.01, E-D replacement, by Bill Kinnersley program file comparison utility string search Kfl Removes a task and its resources, in C.S-E-D MFF-Demo Demo of MicroFiche Filer database prog Label Print labels with artxtray text V15, Source available program. S-E-0 M2 Error Displays errors fram TDI Modula-2 com pries. S-E-D ScreenShrd Adjust screen position ie Preferences,SED from author, M. Hansen Bbcks A variation ol lines', but with MonProc Update to process packet prog
Irom FF69 1 C.S.E.D Snake Bouncing squiggly knes demo, S-E-D LineDrawer Produces ine drawings based on drawng commands variable color blocks, E-D Mounted Program lor testing rl a dnve a presert, n a AutoEngurer screen contraption requester improvement S-E-D stored in a text life Includes demo that draws an Comm Great terminal program. Vt.34, E-0 script to C, S-E-0 DemoLiMn Display Hack S-E-D ouflme map cl the USA and stale borders. Vi.0. SE.
DskX Utityforexpfonng f,tesys«m£-D Nra Anctoer ‘raff-style text formatter. In C. S-E-D Fred Rsh Disk 90 frertaces Fred Fah BO) by John Cxsen Fpic Simple image processing program nat Pa Task Finds parent task, in C, S-E-D AmGazer Mgftt sky viewer ol 1573 stars, set date, PoplpMenu Example code n-ipiemensnc pcw,p menus, reason- operates on L-F ptoc es, with several Query Any for senpts, asks a question, accepts Y N.
Erne, day. E-D ab'y compatible with totuKin menus.SE. by Derek filters, merging images. £-0 gives rehro code. In assembler, S-E-D CardFie AmgaBasc card file study aid. E-D Zahn IconMk Makes icons tor files, vl .2a. E-D ScnSizer Resets prel settings for screen size, in C,SED Conman Console handler replacement gives line Tek4895 Tektronix 4695 4696 printer driver. SE. By P Staub Icons New icons Shared Lib Example, shared lib. In C 4 assembler, S-E-D editng and history to most progs, v0.98,ED TmeRam Fast and Chip ram test prog,E by B Takahashi NewFonis Two new lonts; ’shaltiO1. An electronic
cirul Task Simple CreateTask() example in C, S-E-D lUandelVroom Slight update to disk 78 Mandelbrot program, E-D WarpText Fast text rendering routines, to be linked with PetCLI element tont, and 'tom5'. A PC-like font Uw Unix Windows dient vt ,0, to C, S-E-D NewDemos Replacements for lines and boxes demos application progs.Text display 'as last of faster than An AmigaBASIC CLI shell program.
Who Lists tasks on ready and wa t queues, n C, S-E-D thal take less CPU time, E-0 blitz'*. V2.Q update 0! FF37. S byBU Kelly PWDemo Demo cl the commercial product Fred Rsh Disk 60 (see Fred Fish 90) Othelfo Game of Othello, E-0 F;fidHsflD[Slt97 PowerWindows.vi2. R aids creabon ol Fred Rsh 30 has been withdrawn due to copyright problems.
PrinTexi Displays text fiSes with gadgels, speech.
Replaces FF57 for Ccpywrlto protfems custom windows, menus, and gadgets.
Fred FWUZtfili tFF display, vl 2, E-D CutAndPaste tmplementajons of Lnx cut and paste commands.
Rot 0 mg C or assembly source. E-0 Asm68k Vi .1.0 ol a macro assemble' PnDrvGen Automatic printer driv. Generator,v2ib.EO by John Weald Creates and animates 3-0 objects, vQ5, ED AutcFacc Shrinks the FACC wtodow and moves it to toe bat* Rain3ench Cycles colors 0lW3 backdrop or text ED Graph!: Progran to pict simpie Junctions in 2 or 3 dimensions.
TneSel Sets lime tom Workbench, E-D Broshes 53 custom IFF brashes ol electron* symbols ShortCut Makes single-key shortcuts for entering by Rynn Fishman Fred Fish Disk 72 Check IFF Checks structure ol an IFF fie CtedVI .* commonly typed CU commands.Scustom macros. E-D Juggler Vi 2 of robot |uggler aftmabon. Uses HAM mode and Ths is a dsk ol IFF pctires.
Update FF74 or a simple CU Showfrinl Displays and prints all sizes of IFF pictures ray taong. By Enc Graham FmHTa?lDlsK73 Conman Replaces console handler to add editing and 4 controls printer output styles. V2.0 E-D Mouse Reader Shareware program to read text lies 4 view IFF Add Customizes existing program menus with history to many programs Sizzlers Graphics demos, vl .7.0, E-D fifes using only the mouse, by William Betz Amiga-key shortcuts, Also includes 'gntr.
Fonts Miscellaneous lonts Truer Small Workbench timer counts time and $ minute, E-D Splines Prog to demonstrate cave fitting £ ren-dering which waits until a Qlven window is created.
Icon V6.G ol the Icon programmi ng language Ered-flah Disk 91 techniques, by Helene (Lee) Taran Shareware, in C.S-E-D. Keylock Freezes toe keyboard and mouse unbl pass word entered.
Adventure DeliniScn Language (ADL) a superset of an older language called DDL by Michael Urban. Chris Kostanick, Michael Stem, Brace Shm Graphics demo, approximately simulates toe mown ol two n’eracfing pendutoms. Lndudes S by Chris Edss FrttiFMlDISKM Access ificotor terminal program based on Cotm V1.,34. tocfoOes Macro window, custom gadgets, colorized menus, etc. V. Beta 0.13 by K*to Young omn by
D. J.James. E. Backup Wntes ArcigaDos disks as the backup
destin-ation.
Recover ties tom the backup disk. Requires manual decisions on disk structure, by Alan Kent SE DCDemo DishCat 23. A disk calatog program, demo lurified to catalog ng t00 foes at a time, by Ed Alford. McroAce Software HdDrver WD-10G2-Q5 ha d dsk cortroitef driver Card capable ;!
Maintanng 3 hard asks and A floppies. The driver «s capable of only one hard risk. By Alan Kent SED Qbasa Quick-Base, a ‘UaJBase Management milty*. Define and maintain a maximum of 200 records per rite, by Kevn HamseE Thai Thai language quiz program. Speak or type englsn Pal sentences Irom suppfed file, by Alan Kent SE frcdFlahDMM A Render Version ,3 a Ray- Tracing Construction Set for the Amiga Computer by Bnan Reed ED Berserk Must see ammaton. By Leo Schwab Conran Console harder replacement provides ine eCftmg and command line histories transparent to apo'caxn pro?
Uses &N: windows. Shareware Vi .O by W Hawes WBLander Workbench dsptay hack game, upgrade of ‘Rocket’ cn FFB5, now with sound effects.
By Peter da Silva. E Fred Fish Disk 101 CirRane Circular plane generator lor VdeoScape3D Generates a clockwise circular polygon with tne specified number c I venbies. Vi.O by T Floryan SE tooAssambier Change Workbench icons wth iFF-trush fies oy Stefan Lindahl E Wccspei Standalone speCing checker scans text files ad repot ts errors 1000 comm on word 1st 43,000 word main dictionary with mutpe user cfictonary support Interlaces with WicroEMACS 3.9 wito an emacs tracni to step through the source file, stopping at suspecl word i and allows the user to option. Vi .0 by Daniel Lawrence. SED Mid midi
library and utiityseL Includes Midi morad, route g ubitry, status utility, and more, by Bit Baton SED Pstt p Postscript Interpreter reads and previews files on scrten.
By Greg Lee SjassyjE Startups Three C startup file replacement ter standard Astartup ot) and Lstarup.obj. Optons include (1) BcmStartup oo|, lor ne WoikBench programs or CLI programs wth or without comm and hne parameters ?)
WBStanup.ob). for WwkBench programs or CLI progr ams that require no command line parameters. |3) CliSlartmp.obJ lorCLi programs that require command fine pa'ameters but co not need to be Woik&ench runnable, by Bryce Nesbitt SE Fred Ran Disk 102 Doug Machine ¦xJepende T macro based C de-tvggog package. Update FF41. By F Fish proft-'mg supped ty 3nayax Baneqee SE Match-stufl Heavy duty tert pattern maKhngstufl includes Pmp;e match text replacement capacity. 9y Pets Goodeve Sectorama Recover lost or dam aged data from floppy or hard di i «s or repair a damaged volume, by David JO er E SiliCon
Smart input line interpreter with window for lull edtrnc.
Upgrade FF50 by Pgoodeve.,E Xjcoi Use icons to eal up scripts containing CLI command?.
V2.0 upgrade ol FF3l.by Pete Goodeve E Fred Fish Disk 103 AvfTrees Library and test prog implement routines for creating and usmg trees he'd in rremory S. Calc A programmable RPN ca’cuiaar.
Cref AC crass ref. Prog S. DosKwik A pair cl progs, aitows you to save foes to ore cr more floppies for quick loading. Doesn't store Dos format intuiDos A prog, to improve control and handling cf the maten ii on ail asks in 'CLt-area'.
MFF Update A text imped Uti for MferoFiche Flier (demo on FF 89) and updates to some PD dsklibrary dalatbases.
Pac* .1 Takes all fies the Lies and ctrs. On a disk & packs tin-m into a sngte foe. Lor modem.
Sot Amiga version ol sot tare.
Fred Raft Disk 1M Analyticale !s a large and pcwdtf spreadsheet prog.
Fnvl Fish Clsk 1C-5 AsraProgs Nfise. Assembly tools, includes same S. BascProgs LeastSquare solves feast square probs .graphs resets,S Bison A replacement for iit ‘yacc’ command. S. Dmotse Another prog in tne tradition of display hacks'. S. Flam Key Allows keyboard and mouse inputs to be locked unti a password is enterec.
GrawfyWars Game of ptanets.sh.ps 4bfeck holes, v2.0 ,FF8J upr ate.
TPo2C Auti. To wTite a C-fang definition to mimic fteintjiaon pomter.S Pereret-Fi! Ex. O! Creat g 4 usng reersrsnt processes S. Record Replay Simiiar to ’Journal* v2D update to FF95.
Fred Fish Disk 1« Funckfiy Shareware function key editor. Vl,1 update to FFB9.
Source aval. Irom autoor(Anson Mah).
MoreArt A small selection of soma Amiga artwork.
GuckRix An IFF slideshow and cel animation prog.v0.l3. RistiNciia A Finnish game. Also called Go-Moku. Vi 0 Fred Fish Disk 107 Csh V2.07 of Matt Dfiton'scsh Bte sheS.S. Dcff Aukl.,sim;liariootoercom.mon,dfrprograms.S. PrcSute Provides e*. Code of facims such as FiielO Re;ue -ter.
Xteri, DcRequesl 4 tutonaf on how to program ne Amiga. Sock 1.01. S ! SVTcots Some useful tods, S. Fred Rsh Disk 1QB Alst Dir listing prog, based on LD4 prg S DirMaster D sk cataioger, vl.Cb, update to FF09. S. Dots-Periect Pnnter Dnver for an Epson MX30 printer wit!i upgrade tot insta'fed. S. Mon DCM? Lets you the intkMessa s Pat pass Wougri an sOCMP wndcw. Pnns ne message dass.mouse coordinates.quairfier values. Great tor debugging. S, Primpop A uti. To send comm on control settngs to PRT: S. SecQ'ama Uafibes to recover tost ex damaged data from floppies & hard disks, v I, l, an update loF?
102.
Tek VtlOQ emulator lor a Tektronix 4010 40 H. (V2.6) update to FF52. S. Zoo File archiver. L*e *a c‘ vt .248. update to FF87 Bmfla&jaamB Macnne A new arvnaton.
SmiCPM A CRM sn.urnliates &0&3 along wito h19 emutationS.
Uupc Hook up ycur Am a as a usenet node. S. Fred Rsh Disk 11Q A£8k A 66000 assembler wntten in C. S. Ptte An opwnizing C compiler for the 66COO processor.
Update to FF53 but not based on that code, Fred FlsaDisK.iu AmyLoad A graptkcal monitor ol cpu, bfoter. 4 memory use.
Includes two components: toad.davice.monitors system parametors. 4 amytoad, which is the user interlace 4 tisptay program, by Jafl Ketey SE AssrgnDev A$ s*jns multiple names to a gven device, modified ¦verson cf me oogmal released on disk number 79, By Ptfip Lindsay, mod by Oaf Sefcert 55 Gauge Coranuously displays memory usage m a verbcaJ bar graph Binary only. ByPeler da Siva HeiiosMouss Another’surerouse’prog. Ausamatcatly activates a window by mouse pointer V 1.1, update to FF94. By.Oavtie Cervong SE Labels Aphabetic 4 nurr.enc ordered cross reference lists ol defined system constants.
Recommended for debuggng purposes only, use the symbolic values in progs! BySla! Seibert Mancet MantUbro: generator program, win bits 4 ptece 5 c I code iron c. Hean 4 Rj" UicaJ. By af Seben S PopL’e A FcpCLl type mat plays file as ever your screen.
Lots c! Bts 4 p*eces from Tomas Rckcto s bi'tlab 4 John Toebes' FtopCLI By.Olal Seibert S Fred flammm BeachBirds Beach scene portraytxl by sprites 4 sound 512K machine, ByJerroid Tunnell B only.
B Jy Pushes all open screens amund (thus the name ¦buly*). Show more than one damo at a fime By:Mike Meyer S DropShadow Drcpshadow V2.0. use wth Bryce Nes&trs Wavebench demo a onfy. ByJm Mackrat HagenDemos *PG8' 4 ’Focus’. RGB requres one meg. B onfy, ByUoel Hagen Viacom Latest vorsw ol Viacom ter use n oonjucton with Wave Bench demo. B only. Byieo Schwab 4 Bryce Nesmt WaveBerth A neat screen hack, 4 runs on 5i 2K machines. For more laughs, try in conjunction wilh Viacom or Ds (DropshadowJ. Indudes S. ByA-yce Nesbitt EtSlBi5LDJ.Sil.UJ ArmCron Simple Urn 'cron' type programs background task
uses a dsk-residem table to au&mattoai’y run cenan tasks on a regular bads, at spec fie times. V 2.3, S. By5!ev® Sampson, Amiga port by RvC* Schae“er One V1 281 ol MatfsHz! Editor. A sample WYSIWYG edor ter programmers. Not a WYSIWYG word processor Feahjres: a-Diirary key mapping, last scrolling, Ltie-lme stafistcs multiple windows, icorvty wmdcws.etc. Update to FF93, S, By:Matt DiBon DosDev Example DOS device driver in Manx C. Version 1.10, includes S. By Mati Dillon M2Amga Demo of MZAmga. A fast single pass Modula-2 compier wth editor, tinker, a sma'J set ol interlace 4 standard ibranes.
Ccmpies only small demo proyaims by limibng code we 4 m peris, Furiher aeve’opment of me ETHZ car.pter on FF2«. 3 cnly.
Demos with Souce. By:R. Degen, C, NiCder, M. Schaub. J. Shaube (AMSoft) NoScxPcs Clears positicn info of any toons, allows WcrkSench to pick a new place (or the icon. Useful for disk 4 drawer tons where Snapshot rewrites the con 4 ihe window informalm Modula-2, anollier demo lor M2Am ga By Markus. Schaub freti Fish DI5K114 Cded English to C (and wee versa) translator lor C dedaraions, a must lor anyone excepi possbly Fw most hardcore C guru By:Graham Ross. S VtlOO V2-7of rilOO terminal emUalcr with kenmt 4 xmodem file tra_sfer. Includes a lew bug fixes posted to Usenet snorty after the posting
cf v2.7. Update to FF55. Includes S. By Dave W«ker WBLander a special version of the WBUncSer program from FftOO. Ending is unique Effective used sound, Includes S By:Peler da Siva 4 Karl Lehenbauec Fred Fish Disk .115 Killer Masterful Video commercial ol toe Amiga, BeaEes musto, requires one meg ol memory to run. Binary onfy.Byil.Wft Marketrcid Arener oevtous sprie oriented demo with tots ol 'to* jckss. 512K requred, includes S. 3yieo SchA-ab Fre-JFisR DisL115 Movies A ram arnnaton system wth three different exampie arvmawns: Kahnankas. Rocke", 4 FH5. Kahnankas 4 Rocker run on a 512K Amiga 4
show cfl overscan HAM mode. Includes a animation player program (movie), animator; bulder programs (dubm, p»lbm), 4 a terigraprtics display program (vibm). Byf ric Graham 4 Ken Offer FrriPsh PS5fc11?
AM jC_Demo A reafy neat horiiortal s oSng demo that is a 2400 1 200 puet 32 color IFF pcxre composed ol &grview snapshots Ol members ol the Amga Users of Calgary, superposed or. A very wide ptoture ot tne Calgary Skyfne. B only, By.Steprten VermeUen 4 Stephen Jeans ExP_Demo Demo version ol Express Paint 1.1., used to create scroitng demo picture in the AMUC_Demo drawer ontni disk. B only, ByiStephen Vermeulen taanabmm Empire Complete rewrite, In Draco, of Peter Langston's Emp*e A multiplayer game ol exptoratton. Economics, war. Etc. can last months, U» local keyboard or modem,Vi,0. Shareware,
4 5. BytChrs Gray, original game by Peter Langston KAMmrr.m Displays lines whose end points are bouncing around the screen, which is a double Buttered HAM screen, The Y positions of the points are concnuousiy copied into an audio waveform and played on alt lour channeis, 4 the pitch ol a just toloned chord is derived tom the average X position ol these pants, Jforih. Source By .Phi Burk Sara Based on oognai code by Leo Schwab, credte tenge' dun acru2l demo. Runs ca5l2K Amiga. B onfy. By:Hotxe Oms WireOemo Demonsrates the Amiga's fine drawing speed. Rire on a SltKAnga. Indjdes S. ByiMafi Diion
FrcflFisftDiania MaoEMACS V3.&e cf Daniel Lawrence's variant of Dave Conroy's mtoroemacs. Update to FF93. Also included, ter the first time, is extensive documentation in machne readable form SE. Author: Dave Conroy, Enhanced by Danial Lawrence Fred Rsh Disk 120 Amoeoa Clone ol Space Irvaflers. One ol toe PDS games lor toe Amiga. 3 onfy 8Y: laleNghi Developments BackGa.TmonGr£fftcal Backgammon (an ixxfergraduate AJ. Course project). Version 1.0, S. By: Robert Poster Bankn A complete checkbook system offered by the author as shareware. Version 1.3, Binary only. By: HaJ Carter EgypBanRun head
race - hazards' type game. Verson 1.1, B oriy, shareware, source available from author. By: Chris Hames toon image Replace an old icon mage with a new image, without affecting ioontype, drawer data. Etc. SE By: Dems Green Fred Fisa ElsK.121 BastoStnp Amiga BASIC prog helps to convert programs wntien in other loroisolSaste to AmgaBASlC. By: Gec eTrepal DatePict Shareware. frigaBASe. plotting program. Asa tecfudes a least squares or re ft program. By: Date Hot Plot Shareware 3-D AMIGABASIC graphing prog. 4 sampie outxil ptets. Source available via author .By: George Trepat Stairs AmigaBASlC
proj. Demos a musical iluston based upon perceptual brculanty ol widely spaced tones whose vctumes arc defined as a sinusoidal rela&onship to their frequency By: Gary Cuba Uedit V2.3 ol toss nice shareware editor. With learn mode.
Command language, menu customization, arte other user confgurabirty and cusiomirabiifiy features. Bmaiyonfy, shareware, update toFF60. By: Rick Sites W3Ccbfs Prog to change V orkbench eaters for progs that expect to be booted oft toe dstobuton cSsk but are axi bom a hard cJsk. SE. Autnor: SKEan Urteart FfM FlSfl DisK.122 Astenods Asteroid game, The mages and scirtes are repfeceaWe by toe end user. Anythtog goes' By: Rjco Manari Hf2Pcs fimeractive puzife prog takes any IFF fife with up to 15 colors, and breaks il up into squares to make a puzzle which the user can then piece together. Vt.Q,S.
By; AjiOzer Names A shareware program to create and manage nailng lists, Binary on y. By: Ernie Nelson Pr UtiSty to pnnt fistnjs in different formats. Smfer to toe Unx
* pr' program. Ixkxfes soiree By: Samuel Paobca PuShOver Board
strategy game, AmigaBASlC. Push yojr peces onto toe board untl
yfve r a row in any rsrecton S. 8y; R.Yosi PuzzJePro Create a
puzzle tom an IFF pcture, which toe user can then piece back
together agan. AmigaBASlC. VI .0, B onfy, shareware, source
avara&fe from author. By: SyO Bolton Ff&d Rsh Disk 123 Arp ARP
stands for 'AmigaDOS Replacement Prcjecf. Arp is an effort fed
by Charbe Heath of Mcrosmiths ric., to replace toe current DOS
-n a compatible fashion, so (bat curent programs will continue
1o work. Arp also makes whatever Improvements are possCfe. So
toat curren: ard future programs wiT work better. Various
auinors oontriwtad work Car One of Ajen's ertnes lo toe Badge
Kifier Demo Contest, n apparenty is an rcstee -eke relating to
a well known Amigan's expenertee with a certain highend
graprtcs harctware manufacturer. Author: Alien Hastings Fred
Fish D3s! ia Icons Seme sampte arimated icons. By; L Pfost
Tarot AmigaBASlC Nice graphic of tarot cards. Author. LPIost
fredFUmisima EIGato Animabon entry to toe BK D Contest.
Background m us arrangement, requires Sonix to use, By Kerin
Sullivans Fred Rsh Disk 126 Cotour Manipulate toe cctos of
specific named screens, saving current cotor sets to data ties,
Icadog new color ses from data fifes, or nteractrvely changing
ccfofS- S. By J. Russel Dance Two programs, ’dancmg polygons',
are entoes to toe BKD Contest. They aresimilar. But demonstrate
the rarge ol colors available on toe Amiga. S. By: John Olsen
H&Hiil Ammabon entry to toe BDK Contest. First known animabon
using toe 'Extra Hall Brite* mode. By: Kevin Sullivan tconly
Subroutine creates an icon on the Amiga screen toat can be
subsequently dragged around, and doubfe-clcked on. You can use
tors to have your programs ¦iconify’ themselves to tanporariy
get out of toa user's way. Wto Source 4 demo program. By Leo
Schwab QrtyAmiga ArKnabon entry so BDK Contest Three bals beng
ju ed by pyramids relating on toer tops. By Iqbal Stfigh Hans
Suptb Support Ibrary needed to retwld vanous programs cl Watts
from source, including DME. DTERM, etc. S By Matt Dilon Vcheck
Vl-2 ol virus detection prog. Irom Commodcre Amiga Technical
Support.. Will lest for the presence c! A virus m memory, or on
specific disks. B only. By: Bit Koester, Fred FlshPlsk 127
Bounce Entry lor BOK Contest Creates fitCe dots that bounce
around ana mutiny. S 9y: Steve Hansel and Tom Hansel Nemess
Entry to BDK Contest, it s qme small for what n does, and won
tftt place n toe contesl Bonfy ByMakRJey Ripples Entres to SDK
Contest Unlike most other arvmattens, 1 snows a fixed oosect
Irom a moving point of new, instead ol wee versa. By: Alan
Hastes FfedFl5tlDlSkI2a Dis 63000(Ssassenbter, written In
assembfer. Sby Greg Lee DropCbth Place a pattern, a 2 biplane
IFF image or acombnafion ol a pattern and image, into the
WorkBench backdrop.
_Version 2.2. Shareware. B By: Eric LaVtskv_ LedCtock An extremely ample ctock program, br interlaced screens only. Sby. AiCzer MR Backup Hard ask backup utiity, ctoes a file Dy file copy on AmigaDOS floppy c&Sks. Wito an mtuiton interface 41 fe compression. Vi .3. Source. By: Ma kRinfret Pam: Ssnpfe screen panbng program, written in web.
Requires web pteprocessng program to rebuild Irom source. Indudes source h web Author: Greg Lee PriDriver A printer dnver for the Toshiba '3 ri one’ pmter in its Qume (best) mode incfodes source in C and assembler. By: flco Ma ani SDBackLp a hard disk backup utAty. CLI interface onfy. Does foe compressor VI.I.bhryorty.By Steve Drew Sed A done c! Toe Unix sed (Stream Ediar) program.
Indudes source. By; Enc Ray r.ondw Keys A 'hcl-keys' program binds keyboard fijnction keys to window manipulation functions (window actvascn, front a back, moving screens, etc). S By: Davide Cervone FMFIsHJJiSLS2a DosKwik A pair of programs which allow you to save fifes, or a group Ol files, to one or mote floppies for quick loading, does rot store Ires r DOS formal, for speed. V2.0, updaa to FF103. B, Shareware. By: Gary Kemper MR Backup A hard flsk backup utfity. Does a fife by foe copy to standard AmgaDOS Poppy disks tocfuoes ntubon interlace S fife carr.pressfon. V2.0 (with sources) and
2. 1 (binary onfy, source araHatfe from autoot). Update of FF128.
By Mark Rmlrel PamtJet HP PantJet pnnter drrrer from HP
sources.
Paten Two independent pons of Unix utility *paicn when apples context difls to text life lo automatically update them. Patch V13 was ported to toe Amiga by Rck Coupta-nd and patchV2 0 was poned by Johan Widen. S By: Larry Wan Fred Fish Disk 130 DirMaster Shareware ask caSoger, Vt.i. update cf nriCc. New features and enhancements. B oriy. By Greg Peters Evo Human evolution toyrtutora! Wto soirce.By S. Bomer Hp RPN caJotetor prog, supports catenations wto binary, octal, decimal, hex. Fioal. And complex numbers.
Includes 32 registers for sionng data 4 transcendental functions. Vt.O, S By: Steve Bonner Mach 'mouse accelerator* prog wto hotkeys, features ol sun mouse, dtekiolront, and popdi, a litfe bar dock win a bos online charge accumulator. Etc.Vi ,6a, S By; Briar, Moats Pat&S: A pattern edtor lor aeaoig patterns to Input to toe Amiga SetA'Pt macro can Can sets toe area fl paaem for toe area ‘E ng graprrcs (RectFJl, Are a Draw, etc), indudes source. By Don Hyde Qman Mandeioroi gervjrator wtten pareafiy m assam lor speed. Includes source. By Steve Bonner Ffihl PlSh Dish 131 Die Copies disks like
Mauraoer, but nufritasks. Replaces dskcopy ana format (smaller than either), intuition interlace. Sby: TomasRotocki Hype-Ease Shareware database management system. Vt .6. Binary only, source avaiabfe Irom authors. FFS3 update. By: hbchaei MacKenze, Marc Mengei. 4 Crag Norbc g Ufe A new version cl Tomas's inoent lute game, with a new macro lar uage ter wring up parteros, good exam pies.
S By: Temas Rctocki Macke A Popcii replacement that draws pretty lines on toe screen in WarJuig mode includes soiree. Autoor: Sofrware Distllery; enhancements by Tomas Rokicki Ntgib A version o! Mg 1 b with an Ahexx port and other Improvements by Tomas Rokicki. Define macros 4 bnd then to function keys in steriupffie. Inctudes source.
Autoor: Vanous: enhancements by Rokick Wfrags Anoiner version of Frags, Pops up a fine window mat updates occasionaJy. Good for developers to mom tor what progs are flang to memory. S By: Tcmas Rotefio FfftlBfl Disk 132 Berserk Armaton. A 'must see' for every Amiga user, and ranks with ’Juggler’ as a prem-er demo for the Amiga. The ofference between this distribution, and FF100, this ore incfodes 'sourceuse n as an example for creating animations. Fred Fish lett it was appropriate to have at feast one animation that was available at toe 'source code* level. Author: Leo Schwab EieflEiLDiSLLa
Conman Shareware replacement for me standard ccmsofe handler, provides ine eating and command ire histories ccmpfetety transparent to any appscabon program rat uses CON: windows. VI.I.brnaryooly.updateoFFlOO. New features indude additional edfong keys, las! Search keys, urtso key, dear history command, and me.
Autoor: William Hawes Crc Two programs useful lor generating 16-bil CRC listings of the contents ol disks, and verifying toa! A given desk's files still compute to the same CRC's as listed, Vi.O. binary onfy. By: Don Kindred CrcLists Complete CRC check fifes lor Ffi-126 using toe Crc program included on bus dsk. These were mads tSreafy from Fred's rarer d «ks. Aura: Fred Fsfl Overscan Patches the totuson uray sc tost srcaofe windows wto Max Height ol 200 (400 n interlace) and screens wto Hecn: cf 200 (400 in interlace) wS take advantage d toe PAL overscan capacity Ol Intuition Vi .2, Useful
only (or European users who wish lo run software wrtlen for the US market, without modifying toe applications, bul stai using ne additional space. S By Ari Freund Fred F sh Disk t34 BorngThrows 50 frame HAM amma&on done wito Scufof-SO. End DigsPaint. The ammatori took about 325 hours of runtime to generate. By Marvin Lands Browser V kbench tool, usmg feit-ofy wmcfows. Rnaires ai fifes in the system accessible for executng, ccpyng. Mowng.
Rerammg, defetng. Efo Billed as a ’programmers workbench*. VI2. Binary only. BY Peter da Siva Dme Vi.29 of Matrs 10*1 editor. Smpie WYSIWYG eator designed for programmers. Arbitrary key mapping, last scrolling, litle-iine statistics multipfe wridows, 4 abfity to iccmly windows. FF113 update,S. By Mat! Dilion find Unify searches tor files rai satisfy a given boolean expression ol attributes, starting from a roc: pathname and searching recursively down through the hierarchy of the file system. Lata the Unix find program. VI .0. includes source. By Rodney Lewis Library Demo version ol a shareware
program that stores textual information without regard to stricture or content, and alows com pleased searching lor specific patterns. , Q only By: BilBrownson Smart icon Shareware intuition objects craifier. Vi .0 is tailed to iconfying windows, adds a new Icortfy gadget* to each window, when clicked, iconiffes Vie window into an icon in the ram :dsk. B orfy, sauce available from author. By: Gautofer GraJt EniBajzttua TeXF A seiecbon of TBTeXlonts, with a conversion program b convert item to Amiga fonts. 22 efferent fonts at vanous sizes, ranging from 15 pixels hign to more than 150 pools.
Conversion program can afiso be used with the fonts dstobuted wifi AmgaTeX, yielding an additional 1000* toms tor use wl mother Amiga programs. V2.5, binary only, By: Ali Ozer fretFi paiLias AsmTodBox Assembler tootoox' created to make interfacing between assembler programs and AmigaDQS easy. Wtth source. By Warren Ring Bison A replacement tor unix'yacc* command. From toe GNU (GNU is Not Unix) eltort Port ol toe latest GNU version, by Wiliam Lortus, with too goal ol preserving all ol bison's current features. Includes source & lest pro. *caJc‘. By: Bob Corbett and Rchi Stallman lH2Pcs
Interactive puzzJe progr. Takas any IF fie containing up to 16 colors, and breaks ft into squares to mate a puzzle the user can toen piece back together again.
Vl.l, update of FF122, ©dudes source. By A£Orer Pass Version of the Unix paste utiisy. Pasta concatenates ctyresponcSng lines ol toe specified fies info a single output line (horizontal or parallel merging) or corcaterates them nto alternate Iras (vertical a serial merging). S. By: Dawl Ihnat YaBwngil Game prog, deroonstrafrng hardware sprite usage.
Inducing collision detection. Update ol FF36. S. By.
At Ozer, based on ongral by Leo Schwab Zoo Fie archiver, like ‘arc* In corcept, but (fferent in implementation and user interface details. Indudes features that ‘arc* lacks (such as lie path names up to 255 characters in length). V1.71, update of FF103. B. By: Rahul Dres, Amiga port by Brian Waters FrcflHthlMrtifl Ct Program to ttsplay images from a CT scanner, along with several ©terestng sample images ol scans of real people, induing a dad. Bran, heart and spine.
Each image is 256 by 256 pads in 2WS gray scale.
The dsplay software, though it has a primltore user interface, is quite powertj. Including firatons file comolubons. Averaging, laptactans, unsharp masking, edge detected, gradients, etc. Binary crty.
Author: Jonathan Hamun Jeanslcons Miscellaneous cute cons created for AMUC's monthly newsletter disk. Submitted by Stephen Vemietien. Author: Steve Jeans Mucha A cute Ltte program wfoch pays a digitized sound sample when you insert or remove a dsk from your drive. 11 you don't like toe sounds, you can replace them with your own. Binary only. By Andrew Werth Sit Update to toe Set Icon Type prog, on FF107. V1.1Q, includes soiree. Author: Stephen Vermeden Vgad A new gadget editor that takes two pictures of toe window and its gadgets, one being me normal gadget sate and toe other being toe Mfy
selected stale, then merges toe data and converts lo C souce code.
Vi 0, binary onfy. Author. Stephen VermeiJen VrusX A bool sector v*us check program that runs in the background and automatical checks an inserted disks lor a nonstandard boot sector. Such dsfcs can opSonaJfy have (her toot sector rewritten to remove toe vires. Indudes source. Author: Steve Tibben Vlabel Program to pmtlancy custom ized dak labels.
Combines an IFF pfotura and up to 50 lines of text (which may be placed arbitrarily n any tont or pom size) then prim the resdi The IFF picture can be virtualy any size (up to 1008 by 1000). It wil also print labels from a batch lie produced by SuperBase.
V120, binary only. By Stephen Varmeuten EfElLBSh.fiisK.13a Amigalra A series ol various technical notes for Amiga programmers. By Byrce NesBB Dirt Uses toe same aJgorthm as toaUnla fill program and also produces context dills, suitable for use with path, Bray only. By: Unknown (DecusCdtf?)
Foreach A simple but usef-J program rat expands a wild card file specfcabon and then Invokes toe specified command cnee per expanded filename, wifi the expanded Bename as toe command argument, ©ekfoes source. Autoorc Jonas Flygara Macron A convufson tool to convert Mac fonts to Amiga fonts ftnary only. By; John O'Neil and Rco Martani ModulaToois Various useU routras for those using in Module on toe Annga. Update to FFM, S. By: Jerry Mar* WOO Two new versions ol Dave's vtl 00 terminal emulator.
One version, based on vtl00 2.6. has been enhanced by John Barshinger to include an iconify feature, add Ml 132 column support using overscan, and otter features (binary only). The second version is release 26 ol toe main-stream version ol vtlOO, as enhanced and supported by Tony SumraJ. S. By: Dave Wecker Fred fish Disk 131 AmiCron An enhanced and debugged version ol AmiCron 26 from FF113. Inciudes source. By: Sieve Sampson, R n Schaefer, ChnsSan Baizer LisiScanner A nice tide uifity lo dspiay al toe Exec Dss. Smdar to Xpfor util FF73. Hdudes source in assembler.
ByHekoRaih ProCafo Simulates HP-i 1C programmable caiaJaior. Both English & German versons. Shareware, B onfy. By Goa Muter RemLib Removes a specified kbrary (if currenfly uxsed) or displays some into on ail avaJatla libraries. Source in assembler.
By: tfefco Rato TurboBackup A fasi mass floppy (fisk duplicator wifi enforced verify mode to prevent errors. V16, binary only. By: Sielfen Stem pel and Martin Kopp Wamanger Sends a window, aenufied by its name, to toe front or back, without selecting IL UseU wito AmiCron. Works on all screens. Includes source in assembler. By Heko Rath WteefChairSm A wheelchair simulator developed as a project lor toe TechrtcaJ Resource Centre and toe Afcert Chddren's Hospital, fo anow me matching ol a wteekhair joystick to a cftkT$ hanctcap and alow the chk! To practice using toe chair in a safe (staAaled)
environment Bray orty.
Author; Unknown, submitted by Dr, M*e Smifi FfrtFMlDtifcHQ SBProbg Votome 1 ol toe 2 volume Stony 3rodk Profog (S9P) dstobutxMi, V262. TtisvoArae contains toe executables and libraries. Vokme 2, on FF141, contains toe 0 and Prolog Source, By: Logic Programming Group ai SUNY, Story Brook Amiga port by David Roch & Scott Evemden Brtflttimm SBProbg Volune 2 ol toe 2 volume Stony 3rook Prolog (SBP) distribution. Version 26.2, Volume 2 contains the C and Prolog source code. Volume 1, on FF14G. By: Log© Programming Group at SUNY. Stony Brook Amiga port by David Roch and Scott Evemden SmaWC An Amiga
port ol the Smaf-C compiler, written by Ren Cato and published in Dr. Dobb's Journal, in about 1980. Small- C is a rather small subset ol toe Ml C language. Itis capable of camera itself, and otoer small, useful programs. Requres an assembler and linker to complete toe package and produce working executables. Source and binary. By Ron Cain, Amiga port by VWSKusche.
Mmnmn Difl Program uses same algoritom asUrlxdff prog and produces context tffls, suitable for use wito path.Same as FF138, but row inciudes toe mtssng files (rdudng souxe code). Author Unknown (Dears C (iff) FracGen Generates fractal pictures from ‘seeds* you create. Llnlke any ol toe otoer fractal generators*, it can be used la load and display previously created fractal pics, modify existing fractals, or create your own fractals. V1.1,B.By:Doug Houck ScSubr Scfenfific Subroutine Package Irom DEGUS, ported to the Amiga lo ren with Ateofl Fortran. A valuable resource ol mathematical and
statistical source code for those doing Fortran work on the Amiga. Author Unknown; ported to toe Amiga by Glenn Everhart Fred Fhh DUK143 Rim REM 5 (RetabonaJ friformatxxi Manager], a hi retationaJ DBMS suitable lor VERY large databases using B-Tree daa storage, crude (by today's standards) user interface, but U source code is provided. RIM runs on a wide variety of systems, sroafl and large, and produce compatible databases, includes a buiin HELP database and a programmng language. FulForfran source code and docunentauon rafoded. Author; Various. Amiga port by Gfem Everhart ElKtfiafi Disk 144
AnalytrCaJc V22-3D ol Glenn Everhart s large and powerU spreadsheet program, update to FFI04. Extra features to have some pretentions ol acting as an integrated system-.
A virtual memory sysiem supporting up ©18000 columns and 18000 rows, multiple equatons per cel, an outlining system, built-in cell annotation, and datafile access Irom any cefl(s) of toe sheet, plus an array of fircbons not present m most commercial spreadsheets. Source and documentation in arc'd form.
Ered Fish DbK 145 Csh Mo 4Tcal».n of cshlikeshea to provide fie name ccmpieifon and argument execution. Requires ARP 1.1. Bray onfy, but mctodes (ffsfortoe reference 2.07 source base Author Matt Diflon, enhancements by Johan Widen C Mouse Versafle screen Wanker, mouse darker, auto window activator, mouse accelerator, popdi sfyte programmable command key, pop window to front, push wrxfow to back, etc, widget. Very useful program!. VI.06, inciudes source. Author Matt Diton Nel Unk pratoco provides essentially an inlimited rwnber of reliable connections between processes on two machines, where
each can be either an Amiga or a Unix (SSD46) machine, Works on toe Amiga with any EXEC device that looks Ike toe serial device. Works on UNIX with tty and socket devices. Achieves better than 95% average throughput on fife transfers. V120,-indudes sources for both toe Amiga and Unix versions. Author Matt Dfllon Tab Tabteiire writing program, wfihintMTteffis for abaryoand siring gutar. Bray orty. Author Jeff deRferuo Try Prolog VT-PROLOG is a simpfe prolog interpreter provided with UI sctrce code to encourage experimentation with toe PROLOG language and im|Semertation$ , verson 1.1, indudes
source. Author Bfl and Bev Thompson Fred Fish Disk 146 Btanker2 A screen Uanking program toa! Turns toe screen blade after 90 seconds ol keyboard and mouse iractiYify. V12768, indude5 sotxee. Author Joe Hitchens C-Light A demo copy ol a commercial ray racing program, identical to commeroal version but tailed to ten objects per scene.
Binary only. Author; Ronald Peterson CrcUstS Complete CRC check files for FFI29-141 and F143-145 ol the lixary. Using the crc program from FF133. Made directfy from Fred's master tbrajy. FF142 omitted due to a proWem with the crc program. Autoor: Fred Feh DmeMacrosA set ol DME macros wtnch ufriize templates to turn DME into a language-sensitive etftor lor C, Pascal, ModJa-2, and Fortran By Jerry Mack MemoPad A shareware mtution based memo reminder program.
Nicely done. Vi. T, brafy crty, Autoor: Michael Gnebfing Fred RshDtek 1J7 l&roGNUEmacs lAcroGNL'Emacs MG 2b} contejis many addftens and enhancements since the original woks by Dave Ccraoy (credf belongs to ait contributors and Beta testers. Note: Amiga speofic source code fifes and the document fifes have been archived. An executable copy ol toe POSarchrve program 'Zoo’sintheVdroctory FrtflEiaLfilsLlia EFJ “Escape fromJovi* A machinercode game featuring hires scrolling, large playfefo, (Ssk-based Hi -Score list, stereo sound, and millipie levels. Use a joyslck in port 2 to control the
ship. B. shareware ($ 8). By: Oiver Wag- nor Fme Neely done map edlor tor ihe Fire-Power (tm) game.
Feairesrtteriacedhi-reswithintuilionintertace. See (ho “Readme. H* fife for information on making a bOCtaWe dsk. Indudes source. Author Gregory MacKay Handyfcons Adds a merxisfrip to the WorkBench window rat atfows you to on setected Workbench Toots by menu setecfron.
Can be setup to provide custom environments. Current versicn suppwts enfy WorkBench Toots and not Projects.
Binary by: Alan Rubnghi Scrambler A simple program mat wJl ercodedeaxfe a text fife into jiegfcfo gbbensh, when resembies exearabfe code, to evade prying eyes. Version 0.01, Bray enfy. Author Foster Hal Fred Flan PiaK.Ha AnimaJSounds A sample of digitized animal sounds along wto a simple sound player. Authors: The Trumor Company, he. Sound Player by Don hits DX-VokaSorter Written to be used with Jack Deckanfs VoiceFitef program (Osk 82). Hallows lor toe sorting of a number ol voce fifes stored u&ng that program into a new vd- icfefifo of voices matte up from various fifes, inckxfos source.
Author David Boucfeey Keep A nice kde utify program with an hjutwn htertace lor BBS and network junkies who dowmfoad messages m era targe Sfe and then read them oit-ra. Usfog only toe mouse, you can cfere througfi such Res a Tiessage at a tme. Examine each at you leisure and tag those you wtsh to keep. Version 12, binary onfy. But source avariabto wito donation lo autoor. Autoor; Rm Grantham Less Like Uru “more’, orty be tier, with I onward and backward scrolng, searching and portioning by percenl ol fie and Ira number, etc. Now lets you also pnnt the current fife.
Very irsefiil The is Amiga verson 16. An update to toe version on disk number 92. Includes source. Author: Mark Nudelman, Amiga port by Bob Leivian Schema “Scheme is a saticaJy scoped and properly tail-recursive dated ol Ihe Lisp programming language invented by Guy Lewis Steele Jr. And Gerald Jay Sussman,* Binary only. Amiga port by Ed Puckett EadflmmiM AirFo4 An update lo the Airtod generator on dsk |71, Generates airtotl modefs as wea as toefr corresponding streamlne and pressure qstobubons. Hdudes source. Authors: Russei Leighton Apjendun by David Foster DCI0 An AngaBasc DC-10 instrunent
(5ght sirriiater. Appears to be qute Lnfoepto w6h S it-ptanning and take-off options aloog wito an extensive docureraaton fife. Re- qufres rebuidng on a separate dtefc and was successhity done so by foiermng toe author's instructors m toe RoadMe_First fie. Autoor Jan Arkesttfn ExecUb A working example of how to build and use user-defined ijskvesdeni ttranes. Of special interest ta devefopere working wito Latfice C. Author Alex Livshits fcortzer A utiity program that saves you current mouse pointer lo a small icon. You can restore the pointer just by dcubte- dekng on its icon. Alows for
bukJing a whole fibrary of pointers and fo use them whenever you want. Binary only. Author Afex Livshits Pilot An implementation of the PILOT language for the Amiga, indutfnga demo done for toe National Part Servca.
PILOT is a limited use language tor use in educational and computer based instrucbon programs. Binary only wito Beta test feiavaJable Irom authors, Auhor Terry LaGrora SiealMemBoct A sma! Ufrfcy designed to be a dfrect replacement tor NorasfMem lend of programs. 5 modfes the bool block ol a dfek, so when you boot with it al memory aflocatxjns wi return orty CHIP memory. Author: Afex Livsrtts EasUMfilaKl51 GfobeDemoA graphics demo whch displays very smooth fransittons ol toe rotating earth. Features a popup menu. Includes source. Author Bob Corwin Icons Yet another potpourri of interestng icons
fo choose Irom il you heed ore for your own program. Autoor Dave Tumock Pcopy A smal intiition-based dsk copier similia; totoe resitfoni ‘DiskCopy* except wito write-verify and otoer user selectable optfens. Useful lor making mmsple copies wito reliable data. Requres two dsk drives. Indudes sotrce.
Author; OirkRti&g SCT A CLFOased uify (SetCoiorTabfe) fry cfspfeying anrt'or «ttnga5creen scolors. You can save the colors ol a screen to be restored tater. Or ccpy one screen s colors ta another, indices sours. Autoor aJdevin SideShow Very ncefy Oone s’efe-shew program written in assemtfy language. Feaires forwarcl'backwarc preserriafron and cream screen wipes, Curency works onfy with IFF tores ptOues. Executable onfy afong with some new IFF protores to have come my way. Shareware ($ 16). Aurora: M*e MdGffltck and Shefooc Tempefon Surveyor Aiitfleui&fyratopensawirxtowonthacurrenisaeen and
displays information about toe pointer. Allows tor absolute or relative measurement between two points on Ihe screen. Very handy lor precise posi boning of icons and such. Includes source. Author. Dirk Reisig Eratflsfi Disk 152 Bk A requester mafong tool employing various recusrire algorithms inducing a recursive parser. T takes input text ties and converts toem to C-souce for inducing as re- qiasier declarations, includes source. Author Smart Ferguson RinBack A vartant oi Rob Peck's RmEackGround program Irom dskrwr,ber73, Alows you to start a new CU program and run it in the background,
then doses toe new CLL Ths version automascaly searches toe command- searoh-pato lo find toe program, includes source. By Daniel Barren UUCP Ths is a version oluucpf Unix to Unix Copy Program) lor the Amiga, along with some miscellaneous support utilities like cron, ma£, and compress, ©eludes source. Author: Various, submitted by Wiliam Lolfrus FmifiaHDiaKiia Dme Version 1.30 ol Man's teii edtor. Dme Is a simpfe WYSIWYG editor designed tor programmers. Bis not a WYSIWYG word processor in the traditional sense.
Features indude arbitrary key mapping, last scrdlng.
Ttfo-Ene statistics mdtipte wndows, and ability to comfy windows. Update to version on ifisk rtxnber 134, includes source. Amhor Matt Mon Hpi 1 EnJates an HpiiC cetaiafor including toe program mode. Features an ONOFF button that turns the cal- cMator nto anicon toal wta srt and wait untl you neec it a gam. Docunerttabon on toe features is scarce, perhaps some rdustnous HP owner couid write a smal tutoria] for toe beraft of those rat don't own an HP cafouaior. Binary onfy. Autoor: David Gay HPMam A program to mampuate settings and fonts on HP LaserJet - printers and compatibles. Includes an
©tuition interface and some sample picture fifes.
Version 1.0, binary only, shareware. Author; Sieve Robb Syntoemarta An interesting, very small (and very persistent.1) musical piece. If you plan on stopping it without using three fingers, you better read the document fife first' Bray only. Author: Holger Lutxtz EttdfbhJllatQtt Ada An Ada Syntax checker for toe ar-ga. ©eludes fex and yacc sa ce. Autoor Herman Fischer updates by Woarn Loftus AssembyOemos A interesting group of assembly language demos for yw visual and aural Measure, Bray only.
Author Foster Hail DiskLib Two utiities tor these people wfwtke to split up PD cksks into desks ol dfierem categories ©dudes source. Author: W.tson Snyder Guardian Anotoer vires dagnosmg and vaccination program.
Recognizes any non-standard bootbkrck, includes a small uli.ty program lo permanently place the program on a copy ol your fockstart dsk in place ol Ihe seldom (il ever!) Used Debug!) Function. Binary only. Author Leonardo Fei PrintSpool A print-spooling program Very useful tor printing files © the background. Many command lra options. Version 1,0.0, ©dudes source. Author Frango« Gagnon Usllies A group of four fittfe utiify programs: Undelete ¦ Undelete a Be from floppy (DF0:) lo any device you request, checks lor a dsk r toe drive and al tows you o abort deanfy with a CTRL C. Wheels
-LookstoraEeandorSrecorydetadStofie curert device CAL ¦ Cicre ol toe Unix CAL command, dates from toe year I to 9999.
Dctock Simpfe trite bar docfotnemory gauge wto pop la front VxusX An updala to the vims-detecing program ol toe same name on dsk number 137. This version also checks tor ffe Byfe-BancSt strain Version 1.21, includes source. Author: Steve TibbeQ Virus_Atertf Yel anotoer anti-vims program with a twist. Once n- stased a message is displayed just after a warm or cold boot notifying the toe user trial the disk and memory are virus-free, and forcing a mouse-toufton press before contiming. Anything writing lo iho boot- dock thereafter wa destray the message and a normal virus-rtfected brail*??)
Wiitalre-place. Ver- srcns t.0l and 26i, Binary onfy. Author: Foster Han Wcon A Imndow tonifier*. Alfews you to fun your wndows info smafi cons wfxh can be later recalled. Currently ©sailed with MacW© lo give jw wndows a 'nJQbe bandng, effect. Version 1.14, hdudes source. Autoor: Steven Sweesrxj ©rodxirg toe Amiga ToBeCwtrued...... lnCQQCljSifiQ To too best of our knowledge, toe materials t tois library are freely dtstobutebfe. This means they were either pubffefy posted and placed m toe pubficdoma© by Iheir authors, or they have restrictions published © their files to which we have
adhered, if you become aware ol any wofelfon ol toe authors' wishes, please crated us by mail.
IMPORTANT NOTICE!
This fisl Is emptied and published as a service Is the Commodore Amiga community for informational purposes only. Is use is restricted to non-commercial groups only! Any dupldaSon for commercial purposes is stricBy tortxiden. As a part ol Amazing Computing1", this list is inherently copyrighted. Any infringement on this proprietary copyright without eiprossed wntten permission ol the publishers will incur the full force ol legal actors.
Any noncommercial Amiga use- group wishing Id duplicate this list should contact: PiV PubticaSons, Inc.
P. O.Box 869 Fall River. MA 02722 PIM Publications inc. is
extremely interested in helping any Amga user groups in
norhcommercia] support lor the Amiga. *AC' Amaze Me Please use
this order form when subscribing to Amazing Computing™,
ordering Back issues, cr ordering Amiga™ Public Domain
Software N ame__ 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 S24.00 for 12 issues in the U.S. (S36.00 Canada and Mexico, S44.00 foreign surface).
All funds must be in U.S. Currency on a U.S. Bank Back Issues: $ 5.00 each US, $ 6.00 each Canada and Mexico, $ 7.00 each Foreign Surface.
Please circle your Back issue choices below: Voll.l Voll.2 Voll.3 Voll.4 Voll.5 Voll.6 Voll.7 Voll.8 Voll.9 Vol2.1 Vol2.2 Vol2.3 Vol2.4 Vol3.6 Vol2.5 Vol3.7 Vo!2.6 Vol2.7 Vol2.8 Vol2.9 Vol2.10 Vol2.ll Vol2.12 Vol3.1 Vol3.2 Vol3.3 Vol3.4 Vol3.5 Vol3.8 Vol3.9 Vol3.10 Public Domain Software: $ 6.00 each far subscribers (yes, even the new ones!)
$ 7.00 each for non subscribers (three disk minimum on all foreign orders) A13 A26 FF13 FF26 FF39 FF52 FF65 FF78 FF91 FF104 FF117 FF130 FF143 Please circle your Pul lie Domain Software choices below: Amazing on Disk: A l. .
.Source & Listings V3.
9 Amicus: Al A2 A3 A4 A5 A6 A7 A8 A9 A10 All A12 A14 A15 A16 A17 A18 A19 A20 A21 A22 A23 A24 A25 Fred Fish: FF1 FF2 FF3 FF4 FF5 FF6 FF7 FF8 FF9 FF10 Ffll FF12 FF14 FF15 Ffll FF17 FF18 FF19 FF20 FF21 FF22 FF23 FF24 FF25 FF27 FF28 FF29 FF30 FF31 FF32 FF33 FF34 FF35 FF36 FF37 FF38 FF40 FF41 FF42 FF43 FF44 FF45 FF46 FF47 FF48 FF49 FF50 FF51 FF53 FF54 FF53 FF56 FFNA FF58 FF59 FF60 FF61 FF62 FF63 FF64 FF66 FF67 FF63 FF69 FF70 FF71 FF72 FF73 FF74 FF75 FF76 FF77 FF79 FFNA FF8L FF82 FF83 FF84 FF85 FF86 FF87 FFJlfA FF89 FF90 FF92 FF93 FF94 FF95 FF96 FF91 FF98 FF99 FF100 FF101 FF102 FF103 FF105 FF106
FF107 FF108 FF109 FF110 FF111 FF112 FF113 FF114 FF115 Ffll 6 FF118 Ffll 9 FF120 FF121 FF122 FF123 FF124 FF125 FF126 FF127 FF128 FF129 FF131 FF132 FF133 FF134 FF135 FF136 FF137 FF138 FF139 FF14Q FF141 FT142 FF144 FF145 FF136 FF147 FF148 FF149 FF150 FF151 FF152 FF153 FF154 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 3ColwWB Modifies Da Workbench so three MparteS are
Ered flan Dish 2; Fred flsn Disk iai Fred Rsh Disk 23 used,
Icons can have eight colors, instead ol alib Object module
itoranan.
A Bundte of Basic programs. MdutSng: Disk ol source for MeroEmass. Several versions for most tour, eght-color Icons are included. Pubfc cc Una-kka trontend lor lattice C Jpad toybox ezspeak mandetro popular operating systems on micros and mamframes. For domain program *zapicon' or trushScon' com pier.
Xmodem Sdso'ids addbook algebra people who want to port Micro Emacs to their favorite converts etfit-color IFF brushes to icons, to dbug Macro based C debugging package.
Ror amgseql amiga-copy band macrene.
Use Deluxe Paint to make cons lor this new Machine independent.
Bounce bo* brickout canvas Fred Rsh Disk 24: Workbench.
Make Subset of Unto; make command.
Cardfi drde colordrdes Copy Ccnques inlerstalter adventure simufation game Brush kron Converts brushes to icons (bizarr docs}.
Make2 Another make subset command.
00051 arpasta datedogstar Csh update to shell on Disk 14, with built in Egraph Graphing prog reads [x,y| values Irom a file microemacs Small version of emacs editor, with dragon draw dynamlcblangle commands,named variables substitution.
And displays them on the screen, smlar to the macros, no extensions Eliza ezterm fiJLbu&ier fiacsal Modula-2 A pre-release version of the single pass same-named Unix program.
Porta; Portable file archiver.
Tscape gomoku dart haiku Modula-2 compiler originally developed tor Macintosh at Keepi.t Message-managing program tor telecommui- xd DECLtS C cross reference utility.
Hal9000 ha ley hauntecM hidden ETHZ. This code was transmitted to the AMIGA and «s caDons, lets you save messages from an Fred RshDlakd: join loz mandel menu executed on me AMIGA with a special loader. Binary onfiy.
Orine transcript to anoTier file, understands gone GoJic font banner printer.
Minpant mcuse OrtoeSo patch Fred Rsh Disk 25 the message format ol the national networks rcff A "rofT type text formatter.
Pena prwreef gboxandom-ciraes Graphic Hack A graphic rerscn of the game on asks and several types ol bulletin board software.
Ft A very fast text formatter Readme rgb rgfctest Rord 7 end 8 Ths is toe graphcs-cnented Hack Moves through the transcript and save cdorffi A higtty portable forth implementatori.
Sabotage saiestarx shades shapes game by Jcfn Toebes. Only the messages Lots of goodres.
Shutoe BxeajBae is present.
Kil.iasttr Speed up drectory access, it creates a smafl totsp Xisp 1.4, no! Working correefy.
Sketchpad spaceart speakspeach Fren Flan Disk2S file in each drectory on a disk which certains mmmk speecheasy spell sphere UnHjnk Processes toe Amiga nxnk toadies the information about tne files, mil also remove banner Pnns horizontal banner spiral Stnper superpad suprshr CoJect awe, data, and bss hu*s together, alows irxSvicual all the Tastdrr* files Irom each directory, by tgrep A Boyer-Moore grepMke utilily tak terminal spoof cato of code, data, and bss origns, and generates Climate's authors toson CNU Unix replacement yacc", no!
Termiest ton topography triangle binary file wiih format reminiscent of Unix ‘a.our1 format. The The laceWB program cnanges between interface and non- working.
Wheels xencs xmostrlper output file can be easiy processed by a separate program to interlace Workbench. Previously, you were bm Another Boyer-Moore grep-liXe utility (note: soma programs are Abasic. Most are Amigabasic. And produce Motorola 'S-records' suitable for downloading to forced to reboot after changing Prefererces to grep DECUSgrep some programs are presented to both languages PROM programmer. By Eric Black.
An interlaced screen. This program flips karmit simple portable Kermitwitfi no connect Frcd Flail Jjfek.14; C-kermit Port of toe Kermit He transfer between me normal and extended screen mode.
Amlga3d update ol 12, todudes C source to a program and server.
Heights.
MyCLI Replacement CLI for the Amiga. V. 1.0 full hidden surface removal and 30 graphics Ps Dispfey and set process pnonties PWJJliity A shareware utility tor ProWnte users, changes mandel A Mandelbrot set program, by Robert beep Source tor a lunction that generates a Archx Yet another program tor bundling up margn settings and lent types.
French and RJ Meal beep sound text files and mailing or posting them Guru A Cll program, prnts out prooaMe causes lor Fred Fish Disk 5 dex extracts text from within C source fifes as a single fife umL Guru metfations; C source ncfoded.
Cons Console device demo program with dmensaons demonstrates N dmensionaS graphics Fred Fish DISKZ7 DiskWpa Latest from Software Disifery, removes lies supporting macro routna s. fitezap update of dsk 10, a fife path irtky Abdemos Arnica Ease demos; Carcly Scheppner.
Fccm drectorfes or (Ssk drives, much faster free map Creates a wsuaJdragram of free memory gtxroom update ol dsk 1, graphic memory usage NewConvertFD creates.traps from fo ibs.
Man 'delete.'
Input dev sample nput tendter, t raps'key or mouse indcator BiPtanes fines addresses of ana writes to Snow AmigaBasic makes snowflake designs.
Events 9 converts IFF brush fies to Image struct, in Ptptanes of toe screen's trtmap Wat Mailing fist database.
JoysSck Snows how to set up ne gameport Ciexi AbouIBMaps A tutorial on creation and use of tmaps.
Sotoaistats Mamtarn sotbal statistcs team recatJs.
Device as a joystick.
Pdterm Simple ANSI VT100 fermraJ emOator.
Load IBM loads and ostfays IFF JIBM pcs.
Dcdgo Shod Modua-2 program moves the keyboard demonstrates drecl commurtcaitons in 80 x 25 screen LoadACBM toads and ospays ACBM pics.
Workbench screen around aher a period ol with the keyboard.
Shell simple Unix 'csh' style shel ScreenPnni creates ademo screen and dumps it loa Erne, prevents monitor bum-1 n. layers Shows use of the layers Ibrary lermcap mostly Unix compaaofe tBrmcap' graphic pmter.
AMICUS- PJSk2$ rrAhdelbroi IFF Mandelbrot program implementation.
Disassem Simple 68000 disassembler. Reads Todor Fays SoundScape module code Irom his Amazing mouse hooks up mouse to right joysbek port Fred Rsh Disk 15: standard Amiga object fifes and Computing articfes. The source to Echo, one.wmdow console window demo Blobs graphics demo, lire Unix ‘worms' disassembles the code sections. Data Chord, TX. And VU is induded. The Lattice parallel Demonstrates access to the parallel port.
Clock simple digital dock program for the title bar sections are dumped in hex. The actual and Manx C source code is here, along with printer opening and using the printer, does a Dazzle An eight-fold symmetry dazzier program.
Disassember routines are set up to be the executable modules.
Screen dump, not working Real y pretty!
Callable from a user prog so instructions image Maker interesting loot edits Image structures for C, pnntsupport Printer support rouSnes. Not waking.
Fish double buffered sequence cyde in memory can be disassembled loads & saves C code dirediy.
Proctest sample process creation code, not animaton of a fish dynAMIGAlly. By Bill Rogers.
01322 Update of prog to convert iff images to working Monopoly A realy ntoe monopoly game wncen in DvorakKeymap Example ol a kaymap structure for toe PostScript fles for printing on laser printers region demos spin drawing rejons AbasiC.
Dvorak keyboard layout Untested but SDBackup Hard disk backup prog with Lempel-Zv sample Ion!
Sample font with info on erasing your own OkxjaaDuT.p Okidata MLS2 driver and WorkBench irduded because assembly examples are compression to reduce the necessary nunber serial Demos re serial per: screen dxnp progam.
Tew and far between. By Rcbert Buns Of disks.
SngfePlayfietd Creates 320 x 200 piayfted Pofydraw A arawtog program written to AtasrC.
Hypocycioids Spirograph, from Feb. B4 Byte.
TCB Prints Womiafion about tasks and processes speechtoy latest version of cute speech demo Pofyfractals A fractal program written n AbasiC.
IjnesDemo Example ol proportional gadgets to in the system; assembler source is induded, speech,deng Simplified version o! Speechtoy. With 10 Fred Rsh Disk 15: scrofi a SuperBitMap.
FunBut Lets a furcton key act tike a raped senes of toft requests A complete copy of tne latest developer IFF disk Mem Expansion Schematics and directions for txidnj mouse button events.
TeiLoemo displays available fonts FrMfunfityaz: your own tametxew 1 Wj memory OC A handy program for people who use an Amiga 6mer demos txner.device use The NewTek Dig!-View woeo oigtozef HAM demo dsk expansion, by Mchaef Fetimger.
1020 5 1 4 inch drive as an ArrtigaDOS floppy.
Uackd.sk demos trakedisk driver Frtd Rsti Exsk 13: Sate Mat oc Program to detx ‘maiocl)' cats A Workbench program that sends a FredHstiDIakfi: ArmgalXspiay dumb terminal program with bell.
SaenceDemos Convert Jutan to sola; and Sidereal DiskChange signal to the operating system: compress ike Unix compress, a Be squeezer selectable fonts time, stellar positions and radial instead of lyping ‘dskchange Jt2:' over end dado analog dock impersonator Ash Prerelease C Shell-Ifee shelf program, velocity epcch calculations and Galiean over again, just dick on the icon. C source mfcroanacs upgraded version of microemacs from disk 2 history, loops, etc. satellite plotter. By David Eagle.
Induded.
Mult removes mulSpie occuring lines in fles Browser wanders a file tree, dsplays files, al Fred Flsn Disk 23 System config Fite makes screen 60 cotumns woe of text in scales demos u&ng sound and audio funcsons with the mouse Abasic games by David Addison: Backgammon, Cnbbage, the Scribble1 word processor.
Seiparaitof Allows Changng parallel port parameters MC680I0 docs cn upgrading your Amiga to use a Milestone, and Qtheflo Did 2Ram 2 programs to move the Scribble! Speimg setserial Allows changing serial port parameters.
MC6MI0 cpp DECUS 'cpo' C preprocessor, J. a modifed dictionary to and from the RAM rfsk.
Sortc qucksort based sort program, in C Multdtm rotate an N dimensional cube vrith a pystck ‘ctf toat knows about the cpp', for Manx C. lencai Analyzes a text fie and grves the Gunning- stripe Strips comments and extra PgLatm SAY command that talks r fig Latin Sfw Um-compalibsa shefi archiver, for Fog. Ftesch, and fiOncad indces wtxch wtxtespace from C source Scnmper Screen mage printer packing fties for travef.
Measure readabiiry.
Fred Rsh Disk 7: Xlsp1.fi source, docs, and exeat for a lisp interpret.
Super Bt'iMap Example cl using a ScroJLayer, synong HexIXjmp Modma-2 program to dsplay memory IccaScns The disk ccntans the executables of tne game Hack V 1.0.1. Fred Fish Disk 19: SuperBftMaps for prtftbng. And creating in hexadeamal.
FfEdFiStl Disk 3; BackJack text-oriented biackjack gams dummy RastPorts.
Tartan Amiga Base; design Tartan ptaxls.
This (tsk artaxis the C source to Hack on dsk 7, JayVnerSWes Ssoes by Jay Miner, Amiga graphics chip
• red Rsh Disk 29 Dir Master D-.sk catalog program.
F-rcdiMDlakS; designer, showing flowchart of toe Amga AegisDraw Oemo Demo procfam wtncut save and no docs EMP prays6SVX sampled sounds in the moire Drawsmoie pacems in tlack and wtrie internals, to wo x 400, Arwnafor Demo Player for toe Ae$ s Axmator fifes background whie something else s happenhg MVP-FORTH Mountain Vew Press Forth, version Keymap_Test test program to test toe key mapping routines Cc Unu-fike Iront-end tor Manx C In the Amiga, as your Amiga is booting, tor
1. 00.03A. A shareware version ol LockMon find undosed fie Socks,
lor programs tnougn Tests for existence of system example.
FORTH from Fantasia Systems.
That doni dean up.
Resources, files, and devices SfwwPt CLI program changes your pointer to a given proff a more powerful text formaffiog program Fred Rsh Disk 2Q; Rubik Animated Rubik's cube program pointer.
Setiace Prog to toggle interlace mode on and off AmigaToAtan converts Amiga object code to Aari torn SbingLib AMICUS 26 also has a collection of mouse pointers, A skewo a rube's cube type demo DiskSaJv program to recover Bes Irom a tashed vtioo VT-lDO terminal emulator with Kermit and Workbench program to display them sparks moving snake Graphics demo AmigaDQS disk.
Xmodem protocols • rrea risn man iu; Hash example cl the AmgaDOS cksk hashing rrw fisncflOH Fred Fish Public Domain Software conquest An interstellar adventure simulation game function Several shareware programs. The authors request a donation dehex convert a hex file to brary Hd Hex dump utility aia Computer if you find their program useful so they can write more Fred Fish DlakT: filezap Patch program lor any type of Fje.
Language magazme. Apri 66 software.
Amigadeno Graphical benchmark lor comparing amigas.
Ixobj Strip garage off Xmodem transferred files.
Mandel Brots fJandelbrct contest winners BBS an Amiga Basic BBS by Ewan Grantham amigaierm Simple Cqmmuncations program with iff Routines to read artownie iff formal fles.
MulETasfcng Tutorial and examples tor Exec level FneAr Amiga an Xmodem Id simple directory program muftitasfong ForeEditor exit fonts, by Tim Robinson balls simulation ol the Tcnebc trxngy* wito baJs Is Minimal UNIX Is, with L'nd-sryle wJdcardng. In C Pack stops wtstespace from C source lAenuEdlcr Create menus, save them as C source.
Onstongs sq.usq file squeeze and unsqueeze PortHancfer sample Port-Hander program that by David Fefrscn cotorfui Shows off use of hofo-and-modJy mode.
Tek73 Star Trek game performs. Shows BCPL environment SterTerrrS.O Very nice teecom by J. Nangano tfr sbne Dhrystone benchmark program.
Yachtc Dee game.
Random Random number generafor n assembly, f or (Fredfi5h Disk 3Gislreeif requested when ordered with at dotty Source to the 'oony window* demo Fred fan Disk 11: Cor assembler.
Least three other disks from toe coSecSon.)
On toe Workbench risk.
Cps.de side show program lor dsplaying IFF SetMouse2 sets the mouse port to nght or lei fre4 flail Dlak 21 treecraw A small ’part* type program with lines.
Images with miscellaneous pictures SpeechTerrn terminal Emulator with speecn uie Lite game, uses bitter to do 19 6 boxes, etc. tied rish Puhi2; capacities. Xmooem generations a second.
Gsd John Drapers Gadget tutorial program amiga3d Shows a rotating 3 (Smensonai solid 'Amiga TxEd Demo editor irom Microsmith s Charlie Heath Mandelbrot Verson 3.0 ol Robert Frencn's program.
Gtitmem Graphical memory usage dsplay prog.
S»gn'.
Flfd Fish Disk 21 Mi Exam ple Mutual exclusion gadget erampio.
HaJftxite demonstrates *Extra-Hail-Bme‘ mode, ArgoTerm a terminal emulator program, written This is a copy ol Thomas Wilcox's Mandelbrot Set Explorer RamSpeed Measure relative RAM speed, chip and fast.
If you have it in assembler disk. Very good!
Set Replacement for the Manx 'set* hello simple window demo anow3d Shows a rotating 3 cmensicnal wire Fred Rsh Disk 22 command lor environment variables,with lamp accessing the Motorola Fast Floating frame arrow.
This disk conrans two new 'strains' ol microemacs.
Improvemerts.
Point Ifcrary from C W* drectory listing program Lemacs version 3.6 by Daniel Lawrence. For Tree Draws a rears-ve tree, green leafy type, paletre Sample prog to design color patettes.
TonExec Unix V7, BSD 4,2. Amiga, MS-DOS, not tiles.
Trackdtsk Demonstrates use ol the trackdtsk driver.
SetWmdow two progs tor launching progs Irom WorkVMS. Uses Amiga fimon keys.
TxEd Crippled deno version ol Mforosnnars rteQuesters John Drapers requester tutorial and bench. Presently enfy works under CLI.
Status tne. Execute, startup fies, more texr editor, TxEd- example program.
SetAJtemate Wakes an con show a secand image Pemacs By Ancy Poggc. New featixes include Vdraw Fui-featered drawng program by speecn Sample speeOi demo program.
When cickec ones ALT keys as Mete keys, mouse Stephen Vermeufen.
Srjped down tepeechtoy*.
Star Term terminal emulator, with ASCII Xmodem, iucpcn, higher priority, backup fJes.
Xxor Invokes CL! Scripts Irom icon speechtoy Another speech demo program.
Daler. More.
Word wrap, tondon keys.
Txxn Digteys tec ftes from an con.
Hp-lOc Mmcs a HP-tOC catoutator, wnaen n ModUa-2 falBHLiMiS VtlOO V2.6 cf Dave's VtlOO tarr.nai erv.i wx wUh Address Eiterwed address book. ArugaBASiC iFFEncode Saves the screen as an IFF fie Cydo«3s Update of deoofK spirograph from tfisk 27 kermt anc xtrodem by Dave W«ker Catendar CaJendartiary program. AmgiBASlC EflXrr.p Cur.ps nto about an FF file Dfrua Enfunced version of DrUtt from dak 35 Fred Ran Dbk 55 DosPtosi Frsi volume of Cll oriented developer tods Jsh BOS C-Ute CU shefl mu i Dei Scans a set of object modules and Ibraries CipBcard ?pboaTO devca insrtace routines, to prowM 2nd
vctime of Cuonenied developer tods.
MewStal STATUS-iSte program, shows prwty. Processes searching tor m Jttpty defined symbols a standard mtertace. By Andy FinWe Executables only: Reverd Game ol Reversl. Verson 6.1 My Update Disk Lpdate u3E y wflh options tor ConPackets Demos she use oi DOS Packets.
MacYlwr Vews MacPaint «s in Amiga tow or hgh uuoeccde Transiate tmary fJes to text Lhx-lkfl programs stepping comments from C header files, and ConUriL ete by Carof Ti Schepper res. No sample pctjrej. By Scott Evemdon.
Vdraw Drawing program, verson 1.U interacts venficaujn of tie updaong process GetCis*j Program a find at avaJatSe dsk Oevce Puzzle Scnfetion of pwaie wsh moving squares VoceFiBr OX MiDi lyntttesizer Wte tie- program Plot Computes and daplays 3 Amenscnai names and retn teem as an exec lot. By SrtJwHAM Yew HAW piO M from CU.
Window Fund* of creabng a D OS wrdow on a fijvteons in news Ptxkp Lindsay Sofia** A3asiC games d Canheid and custom screen Polygon Mc*re type pattern generator wi Ji cctor eyeing GetVoOtte Program to get vekroe name ol tee iConate. From Davti Adctson Gmo.se Queries whefier a mouse button is pressed.
Votune teat a gven He resdes on.
Son!
Graces demo of spmng aces.
Ans€cho echo', ‘touch*. *sf. TU* *rt»r in assembler.
Ths can gve a reum code wi can by crxti MdttlhS doubie-buffered eiampte.
Ospfay Dspiays HAM images from a ray- custom, ze a startti sequence based on toon2C Reacs an icor Se and wrtes cut a Swd SwrtJ of Fallen Azgei text adventure tradng program, vrth example poxes whetter a mouse button was pressed fragmerf of C code with tee ican data game written in Amiga Base Dnv«r Example device drver scuta, acts Bee RAM: disk Touch Example cl setting ihe datestamp on a ft'e.
Strueures. By Carofyn Schepper Trails Leaves a trail behnd mouse, in Modtia-2 Xssp Xup 17. Exflcutabifl onfy using a technique from Commodore-Amiga Merge Mem Program to merge tee Mem List erunes of ffMflsnDtaM £lKLBitLDIalL40 Trees Mora extensive verson oi Tie frees sequentatyconfigured RAM wares.
3d sun 3d vemon ol the 'stars* program below.
Ahost Terminal emulalor wifi Xmodem. Kermit program on Disk 31 by Carolyn Schepper Bigmap Low-level graphcsojampte scrolls und CISB protocols, function keys, scripts, Fred Rsh Disk M mCAD An object created draw,ng program.
Bitmap with ScrollVPort, RLE graphics a,nd conlerenca mode.
Asm Version 1 ,l of a shareware 6&000 macro
VI. 1 by Trni Mooney Dbufgeis Double-buffered animation example
AmigaMohtor Dynamoaly tispiays me machine state.
Assembler, compatible wih the Metacomco EltflJUTLDJfi1 57 torBOBsandVSpntes.
Such as open files, active tasks, resources.
Assembler. Ths includes an example startup Replaced by FF97 Due to Copyright problems DrtkMappe* Displays sector allocation ol Soppy disks.
Device states. Interrupts, Ibraries. Ports, etc. modufl and more Motoroia mneumoncs, Fred Flih .Wskifl MerrVew Yen memory in reaJ brne. Move wte joystick.
Arc Popular fie compresston systen, tee BreakOut A brick breakout game, uses 3-D passes AEDG-md Extremely useM shareware 0*5 Bouncing BaTa Oemo sindard lor tran&ang fiies DiskZap Version 11 of a program to eat asks recoverabte ram Ssk by Perry Kfvolowitz Spmnj Ong, wC sound effects AreaCcde Program tea: decodes area codes and bhary ties BgView Dismays any FF picire. Independent ScreenDinp Dumps h&es screen or window to tee pmr into stare and locality.
FrstSificon A smart CLI replacement wifi fij| of tee phytticS 6sp ay sae. Usmg Sdb Sirpie database program tom a DECUS tape 3M ¦awe replacement Inker, version 6i edcng and recall cf previous ccrnancts hardware soot by John Hodgson San Star held demo, Ike Star Trek.
Cosmo An’astenods’done Misiiie A Mssiw Command type game, wfi Egrapn Reads pars of x and y vakte from a 1st TemiRus Temunal program with capture.
Og210 Data General D-21D Terminal emiiator sound, m assembler of files and draws a tormattod graph lirary. Ercfion keys, Xmodem, C1S-B protocols OrUti Windowed DOS riertace program, V 1.4 PerlectSound Sard easr lor a low-cosi iccfto dptuer by Laurenece Ti ner ViiOO Verson 2.0 ol Dave Weckers VT-i 00 OOSHeipor Windowed AmigaDOS CLI help program Siziters Graphics demos HyperBase Shareware data management system. Vi .5 emiAator, with senpts & iwtoon PagePnnt Pnnts text lies wte headers, page UrixAro Ver of ‘arf tor yrtx System V machnesAi C Mem Clear Walks through tee free memory lists, zeroing
FfldfiliiDltiM breaks. Ine numbers Womtsal Version 3 01 of Dave Warker’s Fee memory atong tee way.
Aim Support Res for GimpeTs Inr syntax checker PopCU Stars anew Cli wan a savg terminal emulator by John Hodgson Bin* PD ‘aar** compare Imtef .faster .better keystroke, irom any program., Wfi a Fred Rm Disk 51 NfwZAP A terd-generation rr.jiti-purpose He Brower Updated to FF16 ’browser'. In screen sawr toattxe. YerstonZ. Wacuce.
Bson GNU tor Uru 'yacc', wortmg upda:e to FF4 Sktw edtrg uSSty. V3 0 by John Hodgeson Mara, wifi scrot bars, bug Stei.
SproeEd Sprite E&oredtstwo spnes a: a tne Cor,press Update to fie file compression RarBow A Mainuoer-Sryfe rarcow generator B m tKree data Enjtt a examples xspet Spetng checker atows erkts tofies program on Dwk 6 by John Hodgscn BS«2 Anoteer verson of Wee’ Ebtimcnui Ccs
• Wheel of Fom«'-fype game c AnhgaSaic SMUSPUyes Two SMUS plays,
to pUy 5MUS tFF Catenda; Appwtnefi! Caendar wit alarm.
A-mgjVeftUte g i I D-fSsed Una4ka Qf and ssed’lor tndng fie muse brratted files, by less Fie viewer, searcfing. Pcs'jon by programs o AmgaBasc (jlerences befween mo and Jonr, Hoogsor.
Percent Ire number Csh Verson 203 ol Olon s C sMke smeiL fien recreatng fie ctner, prren ere View A try fLBM newer ty John HoOgson Newforts Set of 23 new Amiga toots from B.I Fischer Exeaabteonfy fie, and fie hsi of tfifferertoes Wcusp JX-80 cpdmized wonoencn printer Pr Background port uSity, styte opbons, wticaTii Dbug Macro based C debuggng packagtopdate to FF 2 Sq.lls?
Portable versons ol tee CP.M teat does not use XnpfiPcrt by J, Hodgson Requester Detoxe Paint-type He requester, wite sample.
DuaiPtayfeld example from CBM, update tc IntuDon manual squeeze and unsqueeze MfiiUJJtoSa Fred Fish Dfsfc35 GetFiie Heate s He requester, wte scute FrrdFUADBl S2 Browser Update to browser program on disks 18 AsendPacfcet C example of making asynchronous LO LalXrei Cross reference of lathee 3.10 header files Assign Replacement tor Am.gaOOS assign’ and 34 S-E eaJs to a DOS handler, written by C-A Unes Uno drawing demo program command In C Brow»r2 Anoteer different browser program. E CorsoteWindow C example 0 getting te* intuton SetFort Changes lont used in a CLI wrxtow Fractal Makes random
fractal terrains Clock Clock prcgran wim tents, cdors. E pointer a CON: or RAW: window, for vn 00 Version 2.3 of Ihe VT-100 terminal program.
Poly, HAMPoly Workbench-typo demos for making ?me Dion text editor V1.22 for programmers.ED 12, by C-A FredFisnDUt42 polygons m lores and HAM DropCtofi Puts pattern cn Workbench backdrop.ED DirUS Walkthedreeorysree.doCU This disk contafis an Amiga wrwxt of MtoroGNUEmacs.
KtxGads Example ol mutual expuson gadgets DropShadow Puts shadows on Workbench windows,E-D operations from menus ElKLfiltLClaiU wifi GadgelToxt FixW3 Simiar to DrcqCdtn, but doesnl wort yeL OrUi2 Another variant of DrutiL Ba&cBtkng Amiga Base program demos page tipping ol Tek40l0 Tetororh 4010 terminal emulator S-0 Fiefiequester Lattice C Be requester moduie. Wifi a 30 cube Voraw Versions 1.46 and 1.19 ol a Deluxe mCAD Object-or.erted drawing program, version demo driver, from Chart* Heath.
Bbm Demo copy of B.E.S.T. Busress Part-Mie drewng program 122, Much improved over dsk 56.
Mac View Views MacPamt pictures in Amiga tow Management System FrtdRsnPUKM Robolrarf Demo of anrnaled poerten on Workbench or high res. Wifi sample pctixes. By BbsbS!
A fast ol Arriba Butefin Board Systems Anmaaons Demo arwna&ons wifi payer program tor S-E-0 Scott Evemden Cc C com pifer frontends tor Manx and La tree C AejsAnmator Supermort General conpoundingurcrtizatcn dan Plop Simple IFF reader program Coppe- A hardwire copper list disassembler ARCre Creates rename scripts lor Me s wifi long calcuiasor. E-D PcpCll SidekM-sr e program Invokes a new toSUFF Converts instruments demo sounds to FF names, so they can bo easily a;CM and fxedJEMLjttUa CU, with automatic screen blanking.
Sampled sounds ufTaroed, Vanous shareware and freeware programs QukkCopy Devertport ask copters duplicate copyPopColours Adjust RGB Cotors of any screen ARP Preiimnary AmigaDOS replacements lor Bitz Memory resoen! File viewer. Very fasL E-D protected disks.
SpntaCtock Simple dock s displayed on a sprie aixrre al screens ‘breax', ’cd*. ‘chmorf. ‘echo’. ‘Slencte’and ’ Bit: Fonts Makes text output faster, E-D ScroiPf Dual ptayfMJ example, from C-A ST Emulator Hon-servws Atari ST emiiator makedr* HandShake Temria! Emulator wifi V7S2VT100 shows 400 x 300 x £ bit plane playfcti on a Wbror Lets Workbench programs be run from tee Cll Comprier Not 1% porteo to the Amga. Tres u a 68000 C Vtl02suppai E-D 320 * 200 x 2 pane deep ptayteld ww Two Uhn Shell styto wild care natohing roubhes compier. Fr ws produce sample assembly Med Mouse-driven tert edtor
verson 21 E-D Serd?«*e!
Generai purpose sjbrout ne to send Fr*dFWiDhk« language ouput but needs a tot cf wort.
PrtErvGen Generates pr.reer flmrers, version 11,5 AmigaOcs paaats toons Mscenaheous ojos Spreadsheet Update wfi sosree of fie Ytr avaiaae from auDor. E-D Spnae Maker Spnte edtor, can save wort as C date NmrfFF Hew FF material from CBM br spreadsheet on dsk 36 ShCw Sideshow-Ute FF V2.1. E-D sbLCttJB, Shareware by Ray Larson.
Sampled voce and muse TarSptt Port of program e spot Urn TartaTfimes user; Customizable text edtofV2.Q. E-D Tracker Comers any dsx into ties, for aecrcoc RayTracePcs The famous ray-traorg pttures. From FFI39, now Uuencode Ultres to encode and deoxte tanary lies fix ueixbo Exarpe Uedl seio fiacres S-E-D transmtssjon. Preserves etore H* stnci s ccnvffted to FF HAM tannai for 'mucfi' taster ASCII transnisteon, erpantirw ter, by 35 Fred Raft DJ3K 51 Shareware by Erad WiScr.
Wowing.
EI5 R5CD ATPatch Pa the s Trarsfomar to wort under TnOoflS 3-0 space invasion game, formerly VewLBM Displays normal and HAM lt5U fiies Hand Sofves Towers cf Hanoi Problem n its AmgaDOS‘2. S-E-D commerp .now pubic domain. From Fred Rsh Dtsk « own Workbench window, by Al Ozer FBOUk Wnfes zeroes lo free btocks on a Geodesic Pubfcattons.
Cue Cbe board game tSpol Port of a Unix screen ohenfed, inbocfrve disk for seoxity. S-E-D Tsiza Print total size ol all files in subdirectories.
Make Another 'make’, with more features spellng checker. (Expansion RAM required) Lpabfi Patch lor programs that aOort Unfttef C preprocessor to remove given Pctere* Miscellaneous ptoft e» by Pace Wltlrtjon when loading under AmigaDOS 1,2. S-E-D UbeTd sections of a file, leaving the Update Jpdaios older dsk wite newer files fromanother dsk tog Asaeenoftots ot bouncng Idle McroEmacs Conroy MiacErracs V38b. Newer restaicne. By Dave Yost Where is Searches a tSsk tor files ol gwen name windows by Leo Sols Ewrac’ Schwab tean d sk 22. S-E-D vaest VT-iOO emulator) test program.
FrtUFUftDiatt Lav Displays number ol tasks in nxi queue.
PearFont Uke Topaz, but rounded eoges.
Requires a Unix system.
Asm Shareware 63010 macro assembter, ROM averaged over last 1.5. and iSmiorte Terrain Generatos fractal scenery. S-E-D Frtd Rsti Dbk M Keroai Manual ccmpaibte pen«B. By Wllam Rucklidge ' Spnses Makes 28 Vspri&s, from P&Et ck Acp Unix-ike’cp' copy program CheckModem execute’ file program detects presence ol modem MlDfToolS Program* to pMy record through re Ftrt flsfl DISK 52 COCk Updated vers n of ctock on disk 15.
Egad Gadget editor from the Programmers Network MID: IF. By Fred Gassier Tfw i$ a port of tee Lrvx game ’Hack', by the Software Csh Manx 'csh’-ika CU, hstory, variables, ec.
J we Transforms a file from Englsh to Jive.
MoreRcws Program to make the Work Bench Screen Ddtfery. VERSION 4.0.30. De-AO Diet planhng in organizes recpes, caloriii MyJ© A brwy only copy of Ma its alternate larger ran normal by Neil Kann and EojLEutimfia Edo Improved 'echo' command with color, runfime ibrery. Author: Mac Diton Jim Mackraz Try is a port of the Unix game Um1, by fie Sottware cuw addressng ProllMaaos Subset Berkeley Tns’ and TmtT macros lor profT Tdl Program to make your Amiga kxx like OstHery, version 12.0B. FocHunk Fbs programs to let them run In VatSpeak Transforms a Me from Engfish io Valley Speak.
11 tSonl pass vitrelon testing, Fred Fish Dbk 64 external memory.
Fred Fish Disk 47 by Leo ’ Bols Ewhac' Schwab This is an oFcal IFF specf-caton dsk from Commodore, an Fm Maps the sectors a Be uses on the disk.
3D-Arm Sroulalcn ol a robotic a rm, very good Fred Fish Disk 55 uocate to c£sk 16.
KckBench Docs, program to make a smgte tksk graphcs. Teacfing tod, inditing C source, Csh V2 C5 Of wati [wion's csh U«J shell (Modified Fred Flan Disk ft dal works ffce a Kickstal and Workbench Juggler Eric Graham's stunning HAM animation of a ler Manx C). By Matt Daon.
Bawk Urex text processor, like’awk'. Doesni L*i Computes Fog, Flesdi and KjncaC robot juggler Modified by Sieve Drew wort, tut source is included. S-E-D.
Readabiiiiyof lextaies.
VT-tOO Version 24 ol Dave WeckefS termnai emjalor. Wite NewStarups Ne* C SaTup mockAes: MWB Example a' rerouting Workbench window TumefYison Daito Adckson Abasc 30 maze perepedvg Xmodem and Kerrmt file transfer proacats Astartitoasm wtfi 1.2 fixes and better quote handing open cals to artoteer custom screen game.
TWStartupasm opens a side window, usmg use* specs, by Verson 1.01, S-E-0 Vc Vscato-Ute spreadsheet c cuator program Bru Alpha vwwioia hare dsk fie areftver CorernoOore.
ClcsoWB Example la doing a custom V1100 Versron 22 of Dave Weckens telecom program Comm Vewi 130 d a termta! Emulator posted to BtX by Carolyn Schepper Workbench ssreeTi. S-E-D Ya3cing Org1 sTjte game program shows wan phone drecones Palette Change another program's screen Cotors.
Coowe Generales one4me torture oo«e sprite coKsion deteas Csh Version 2 04 ol Maa Wtorrs Um csh'-fte by Carolyn Schepper aphorsms. S-c-D .Fftfl RSHD&H37 CLI replacement, inciting _aSce i Manx C source PqeCevree Astiws fis standard oufiut done process to Jtime Bufd-yor-cwn mcuse port deck.
Ths ask ts a port of T nctey Buffs Loe SnaMak system, donj Distoert [ sk benchma program, tor Unx and Ar.iga be fed a fie standard input of another MeruBulder Creates C source Hes tor menus.
By &U Klrrorsley ai Washington Sub Urmrvry.
Du Computes 6ft stooge of a Se or drectory byMattDiion based on sen desoipccns S-E-D Fftd flSflKiSiJa Mem Watch Program to watch tor programs teat trash to* ScreenSave Save a normal or HAM mode screen as Nen°ackets C BM tutorial on new paoets and Csquazed Sep 86 Sd American. Octo Squared aJgonthn memory, l| attempts to repair tho damage.
An IFF He by Carofyn Schepper structures in AmgaDcs 12.
FoOCi Sips garoage off Xmodem translered and puts up a requester to inform you cl the Shar haiDemo Demo of tee Acbvrs»on game Shanghai.
PascaiToC Pascal to C translator, not so great S-E-0 | object files damage, From the Software Ossfiery, ScundExampto A dcutte buffered sound example lor Prep ’ratfor'-Lk© FORTRAN preprocessor. S-E-D HmJer AtjgaDOS handier (device) example ProHar A rerjr-e eiecubon proper tor Mam Marx C. by Jm Goodnow flur*3ack Starts programs from CLI. Aiming CU from C-A C programs rcxties C scuroe.
Vspnies A wortung vsprte example. By Enc Cotton wndcwtodcse.E-D HO! HO! HO!
Subscribe TODAY and save over 49% on Amazing Computing!
Amazing Computing is available to United Stales subscribers at }2l90for 12 issues. That's a savings of $ 2$ .40 ojj the newsstand price. Canada and Mexico, ftf.OO. Foreign Surface to all other countries, f44.60. (Air mail andfirst class rate available upon request.)
Enter my 12 issue subscription today!
Name __ Street _ City_St,_Zip __ Amount Enclosed _ Sorry, wc crnnot accept cicAt cuds or requests for billing it this time All fundi must be in II S. Currency d jwrn on i U S Bank, Platt allow four to ii* weeks (or processing Please Mail to:
P. O. Box 869 Fall River, MA 02722169 Place this order form in an
envelope with your Check or Money Order, The Perfect Gift!
I will subscribe TODAY and save over 49%on Amazing Computing, plus receive my Amazing Product Guide: Winter '89.
I can ‘I pass up an offer like this.1 Enclosed is my check for 124 for a one-year suInscription lo t mazing Computing, Canada and 00. Foreign Surface to all other countries, J44M (Air mail andfirst class rales available upon rec uest.)
Enter my 12 issue subscription today!
Ni me Street__ City_St. Zip_ Amount Enclosed Sorry, k owiot CfC fQr 11 mCi All fundi muil be in U S, Currency drawn on i U.S. Bink.
Pbw allow four id lit weeks (or processing Wc ire not responsible [or liic cntcici, Please Mail to: kim JL A COMPUTING'S
P. O. Box 869 Fall River, MA 02722-0869 Place this order form in
an envelope with your Check or Money Order.
STAND UP AND BE COUNTED!
Which AMIGA Products Do You Think Are Award- Winners?
Cast your Amiga Ballot now by filling in your choice for the following questions.
Name __ Address.
City_ State_
- Zip VOTE SOFTWARE Choose your preferred: Your Civic AMIGA Duty
Calls!
Wbat are the best software packages for the Amiga?
Don’t ask us, It’s all up to you.
At AmiExpo New York in March, YOU will present awards to the Amiga's top software developers. Sure, we could pick out our favorites, but no one is more qualified than you, the users. You use Amiga software everyday to solve problems, explore creativity, and just have fun. A mazing ‘s job is just to report what you arc doing with the Amiga!
And the best part is you don't have to break through crowds of handshaking poll hawkers. You don't even have to be at AmiExpo! Just complete the ballot at the bottom of this page and mail it to Amazing by February 15, 1989. Amazing Computing will tally up your choices and hand out awards directly from your votes.
At AmiExpo Los Angeles last October, Amazing Computing announced awards to individuals who have dedicated their hard work and creative power to the Amiga community. Now we leave it up to you, active members of that same Amiga community, to choose die award-winning products. Amazing recognizes individuals, but only you can recognize the most useful products.
What are those priceless programs that bring the powrer of your Amiga to life and make life in general a whole lot easier? Now rave about your favorites. Stand up and be counted. Cast your Amiga ballot.
WORD PROCESSOR:- DATABASE:_-.
SPREADSHEET:™_ DESKTOP PUBLISHING package: GRAPHiCS PAINT package:_ CAD DRAW package:- ACCOUNTING package:_ TELECOMMUNICATIONS software: PROGRAMMING LANGUAGE: PROGRAMMING UTILITY:_ FILE UTILITY:__________ ANIMATION VIDEO software:.
GAME- _____ AUDIO MUSIC software: EDUCATIONAL software: BUSINESS software:_ HARDWARE Choose your preferred: MASS STORAGE device:.
ACCELERATOR:__ DIGITIZER FRAME GRABBER:.
PRINTER:_ MONITOR: INPUT device:.
MODEM:_ Overall, the MOST USEFUL Amiga product in my library is:_ Please return to: Reader Bailors Amazing Computing I P.O. Box 869 • Fall River, MA 02722 ?ICI VIEW
3. Simply the Best.
The all new Digi-View Gold is the best video digitizer for the Amiga. Period. Nothing else even comes close. Why?
The secret is that Digi-View Gold captures 2.1 million colors in memory, giving you an incredible 100.000 apparent colors on screen simultaneously.
And it’s easy to use. Just fccus your video camera on any object or picture, and in seconds Digi-View Gold turns it into Amiga graphics that glow with vibrant color and clarity. Whether you are creating graphics for desktop publishing, presentations, video, or just for fun, Digi-View Gold gives you dazzling images with amazing simplicity, Digi-View Gold is designed specifically for the Amiga 500 and 2000, and plugs directly into the parallel port.
Digi-View Gold's powerful image capture and manipulation software (version 3.0) now has complete control of color and sharpness, full overscan, extra halfbrite, and a special line art mode for desktop publishing.
‘Requires standard gender changer for use with Amiga 1000. Video camera required: not included. NewTek sells a video camera, copy stand, and the Digi-Droid automated filter wheel for Digi-View Gold. If your local retailer doesn't cairy these products, call us at 913-354-1146.
Digi-View Gold is a trademark of NewTek, Inc Am ga is a trademark of Commodore-Amiga. Inc. Be seeing you!!
Only Digi-View Gold:
• Can digitize in all Amiga resolution modes from 320x200 up to
768x480 (full hi-res overscan)
• Uses 2 to 4096 colors (including extra halfbrite)
• Uses exclusive Enhanced HAM for super fine detail
• Is 100% IFF compatible and works with any graphics software
• Can digitize 21 bits per pixel (2.1 million colors) for the
highest quality images possible
• Has advanced dithering routines that give an apparent 100,000
colors on screen simultaneously
• Has powerful Image processing controls for complete IFF picture
manipulation If you want the highest quality graphics for your
Amiga, as easy as 1, 2, 3; then you need the new version of the
best selling video digitizer of all lime: Digi-View Gold.
Only $ 199.95 |J=wT=u Digi-View Gold is available now H ¦¦ H 55 al your local Amiga dealer.
Or call 1-800-843-8934 INCORPORATED 1 create the lists, alternating between points ana lines.
2 • x - 120; y - 30; xl ® 135; yl n 20; xlnc - 40; ylnc = 0; 3 reportList!) - print out entire list to a file * 4
* traverse list from top to bottom, calling appropriate
* output routine for the data type

Click image to download PDF

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


Thanks for you help to extend Amigaland.com !
frdanlenfideelhuitjanoplptroruessvtr

Connexion

Pub+

67.6% 
7.6% 
2.4% 
2.4% 
1.4% 
1.4% 
1.2% 
1.1% 
1.1% 
0.7% 

Today: 8
Yesterday: 195
This Week: 8
Last Week: 1045
This Month: 1435
Last Month: 4209
Total: 91776

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.

Visitors

Visite depuis
03-10-2004
Visite depuis
23-02-2014